/****
* 必要に応じて子テーマに追加
***/


/****
* 文字関係
***/

.fs-12 {
  font-size: 1.2rem;
}

.lh-12 {
  line-height: 1.2;
}

/****
* ボタンデザイン
***/

/* 黒 */
.button-black,
a.button-black {
  display: inline-block;
  border: 1px solid rgba(0,0,0,1); /* 黒 */
  background-color: rgba(0,0,0,1); /* 黒 */
  color: rgba(255,255,255,0.92); /* 白 */
  padding: 0.5em 2em;
}
.button-black:hover {
  animation: anime-black 1s ease-in-out;
}
@keyframes anime-black {
  0%{ background-color: rgba(0,0,0,0.75); /* 黒 */ }
  100%{ background-color: rgba(0,0,0,1); /* 黒 */ }
}

/* 白 */
.button-white,
a.button-white {
  display: inline-block;
  border: 1px solid rgba(255,255,255,1); /* 白 */
  background-color: rgba(255,255,255,1); /* 黒 */
  color: rgba(0,0,0,0.92); /* 黒 */
  padding: 0.5em 2em;
}
.button-white:hover {
  animation: anime-white 1s ease-in-out;
}
@keyframes anime-white {
  0%{ background-color: rgba(255,255,255,0.75); /* 黒 */ }
  100%{ background-color: rgba(255,255,255,1); /* 黒 */ }
}


/****
* 水平線デザイン
***/

hr.hr-gradation { /* グラデーション 細い線 */
  border: 0;
  height: 1px;
  background-image: -webkit-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
  background-image: -o-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0); 
  margin: 1em 0;
}

hr.hr-gradation2 { /* グラデーション 細い線 反転 */
  border: 0; 
  height: 1px;
  background-image: -webkit-linear-gradient(left, #222, #f0f0f0, #222);
  background-image: -o-linear-gradient(left, #222, #f0f0f0, #222);
  margin: 1em 0;
}


/****
* 商品枠線flex
***/

.itemwaku-content-area {
  width: 1200px;
  max-width: 90%;
  margin: 0 auto;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .itemwaku-content-area {
    width: 100%;
    max-width: 100%;
  }
}

.itemwaku-padding  {
  padding: 1.4em;
}
@media screen and (max-width: 767px){
    .itemwaku-padding  {
  padding: 1.3em 0 1.3em 0;
}
}

/* 商品枠線flex 下の商品名 */
.itemwaku-text {
    position: relative;
    padding-left: 18px;
    margin-top: 1em
}

.itemwaku-left {
    position: absolute;
    left: 0;
    bottom: 50%;
    line-height: 20px;
    margin-bottom: -10px;
    z-index: 2;
    padding-right: 4px;
    background: #fff; /* 白 */
    line-height: 20px;
}

.itemwaku-right {
    position: relative;
    text-align: right;
    line-height: 20px;
}

.itemwaku-right:before {
    content: "";
    width: 100%;
    height: 1px;
    background: rgba(0,0,0,.12);
    z-index: 0;
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: 1px;
}

.itemwaku-right span {
    position: relative;
    background: #fff;
    z-index: 1;
    padding-left: 8px;
    padding-right: 16px;
    display: inline-block;
}

.itemwaku-right:after {
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    right: -4px;
    top: 50%;
    margin-top: -9px;
    z-index: 3;
}


/****
* flex内 col 横並び2個で、左の写真の上に右の文章コンテンツBOXが重なる colの後にdiv追加で入れる
***/

.flex-overlap-cover {
  position: relative;
}

.flex-overlap {
  position: relative;
  width: 130%;
  left: -100px;
  background-color: white;
  box-shadow: 6px 6px 6px rgba(0,0,0,0.3);
  padding: 30px;
}

@media screen and (max-width: 767px) {
  .flex-overlap-cover {
    position: static;
  }

  .flex-overlap {
    position: static;
    width: 100%;
    left: 0;
    background-color: white;
    box-shadow: none;
    padding: 0;
  }
}

/****
* コンテンツの上にbox ページTOP,fotter
***/
.img-contents-cover,
.img-contents-cover-footer {
    position: relative;
}

.img-contents-cover-footer:before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5);
  z-index: 2;
}

.img-contents-inner,
.img-contents-inner-footer {
    position: absolute;
    top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
    width: 70%;
    color: rgba(242,240,237,0.78); /* 白 */
    z-index: 3;
}
@media screen and (max-width: 767px){
  .img-contents-inner,
  .img-contents-inner-footer {
    width: 90%;
}
}

.img-contents-inner h2,
.img-contents-inner-footer h2 {
    color: #f2f0ed; /* 白 */
}

.catch-copy {
    font-size: 4rem;
}
@media screen and (max-width: 767px){
.catch-copy {
    font-size: 2.6rem;
    margin-top: 1.8em;
}
}

/****
* 画像の上にbox モバイルで画像の下にbox
***/
.img-contents-cover2 {
    position: relative;
}

.img-contents-inner2 {
    position: absolute;
    top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
    width: 70%;
}
@media screen and (max-width: 767px){
.img-contents-inner2 {
    position: relative;
    left: 0;
    top: 0;
    transform: translate(0,0);
    width: 100%;
    margin: 0 0;
    padding: 1.5em;
}
}

/****
* 横100%画像の上にbox　右側 モバイルで画像の下にbox
***/
/* コンタクトフォーム */
.img-contents-cover-contact {
    position: relative;
}

.img-contents-inner-contact {
    position: absolute;
    top: 55%;
    right: 10%;
    transform: translate(0%, -50%);
    width: 50%;
    background-color: rgba(255,255,255,0.8); /* 白 */
    padding: 1em 2em;
    font-size: 1.4rem;
    line-height: 1.8;
}
.img-contents-inner-contact input,
.img-contents-inner-contact select,
.img-contents-inner-contact textarea {
    border: solid 1px rgba(0,0,0,0.5); /* 黒 */
}
@media screen and (max-width: 1100px){
.img-contents-inner-contact {
    position: relative;
    left: 0;
    top: 0;
    -webkit-transform: translate(0,0);
    -moz-transform: translate(0,0);
    -ms-transform: translate(0,0);
    -o-transform: translate(0,0);
    transform: translate(0,0);
    width: 60%;
    margin: 0 auto;
    padding: 1.5em;
}
.img-contents-inner-contact input,
.img-contents-inner-contact select,
.img-contents-inner-contact textarea {
    border: solid 1px #ddd;
}
}
@media screen and (max-width: 767px){
.img-contents-inner-contact {
    width: 96%;
}
}

/* 左にコンテンツ */
.img-contents-cover-left {
    position: relative;
}

.img-contents-inner-left {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0%, -50%);
    width: 50%;
    background-color: #ffffff;
    border-left: 20px solid #222; /* 黒 */
    padding: 2em 5em;
}
@media screen and (max-width: 900px){
.img-contents-inner-left {
    position: relative;
    left: 0;
    top: 0;
    -webkit-transform: translate(0,0);
    -moz-transform: translate(0,0);
    -ms-transform: translate(0,0);
    -o-transform: translate(0,0);
    transform: translate(0,0);
    width: 86%;
    border-left: 0px solid #222; /* 黒 */
    margin: 0 auto;
    padding: 2em 0em;
}
}

/* 右にコンテンツ */
.img-contents-cover-right {
    position: relative;
}

.img-contents-inner-right {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0%, -50%);
    width: 50%;
    background-color: #ffffff;
    border-right: 20px solid #222; /* 黒 */
    padding: 2em 5em;
}
@media screen and (max-width: 900px){
.img-contents-inner-right {
    position: relative;
    left: 0;
    top: 0;
    -webkit-transform: translate(0,0);
    -moz-transform: translate(0,0);
    -ms-transform: translate(0,0);
    -o-transform: translate(0,0);
    transform: translate(0,0);
    width: 86%;
    border-right: 0px solid #222; /* 黒 */
    margin: 0 auto;
    padding: 2em 0em;
}
}

/****
* 写真のような枠
***/

.photo-frame {
  border: 1px solid #ddd;
  padding: 10px;
  background-color: #fff;
}

.photo-frame-effect {
  position: relative;
}
.photo-frame-effect:before,
.photo-frame-effect:after {
  z-index: -1;
  position: absolute;
  content: "";
  bottom: 15px;
  left: 10px;
  width: 50%;
  top: 80%;
  max-width:300px;
  background: #777;
  box-shadow: 0 15px 10px #777;
  -webkit-transform: rotate(-3deg);
  transform: rotate(-3deg);
}
.photo-frame-effect:after {
  -webkit-transform: rotate(3deg);
  transform: rotate(3deg);
  right: 10px;
  left: auto;
}


/****
* ギャラリーのcss
***/

/* 余白あり */
#page_content_wrapper .inner .sidebar_content .gallery-flex ul {
  margin-left: 0;
}

.gallery-flex ul,
.gallery-flex-9 ul,
.gallery-flex-6 ul,
.gallery-flex-4 ul,
.gallery-flex-2 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style-type: none;
  margin: 0;
}

.gallery-flex li {
  flex-basis: 220px;
  flex-grow: 1;
  padding: 2px 5px;
}

.gallery-flex-9 li {
  flex-basis: calc( 100% / 9);
  flex-grow: 1;
  padding: 5px;
}

.gallery-flex-6 li {
  flex-basis: calc( 100% / 6);
  flex-grow: 1;
  padding: 5px;
}
@media screen and (max-width: 580px) {
  .gallery-flex-9 li,
  .gallery-flex-6 li {
    flex-basis: calc( 100% / 3);
  }
}

.gallery-flex-4 li {
  flex-basis: calc( 100% / 4);
  flex-grow: 1;
  padding: 5px;
}
@media screen and (max-width: 580px) {
  .gallery-flex-4 li {
    flex-basis: calc( 100% / 2);
  }
}

.gallery-flex-2 li {
  flex-basis: calc( 100% / 2);
  flex-grow: 1;
  padding: 5px;
}
@media screen and (max-width: 580px) {
  .gallery-flex-2 li {
    flex-basis: calc( 100% / 1);
  }
}

/* 余白なし */

.gallery-flex-fit ul {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  margin: 0;
}

.gallery-flex-9fit li { /* 9列 */
  flex-basis: calc( 100% / 9);
  flex-grow: 1;
}

.gallery-flex-6fit li { /* 6列 */  
  flex-basis: calc( 100% / 6);
  flex-grow: 1;
}

.gallery-flex-4fit li { /* 4列 */  
  flex-basis: calc( 100% / 4);
  flex-grow: 1;
}

.gallery-flex-3fit li { /* 3列 */
  flex-basis: calc( 100% / 3);
  flex-grow: 1;
}

.gallery-flex-2fit li { /* 2列 */
  flex-basis: calc( 100% / 2);
  flex-grow: 1;
}

@media screen and (max-width: 767px) {
  .gallery-flex-9fit li { /* モバイルでは9列が4列になる */
    flex-basis: calc( 100% / 4);
  }
  
  .gallery-flex-9fit li:nth-child(n + 25) { /* 9列が4列になって、25枚目以降の画像を非表示 */
    display: none;
  }
  
  .gallery-flex-6fit li { /* モバイルでは6列が3列になる */
    flex-basis: calc( 100% / 3);
  }
  
  .gallery-flex-6fit li:nth-child(n + 25) { /* 6列が3列になって、25枚目以降の画像を非表示 */
    display: none;
  }
  
  .gallery-flex-3fit li { /* モバイルでは3列が5列になる */
    flex-basis: calc( 100% / 5);
  }
    
  .gallery-flex-2fit li { /* モバイルでは2列が4列になる */
    flex-basis: calc( 100% / 4);
  }
}

/* クリックギャラリー */
.c-gallery li:nth-child(n + 2) {
  display: none;
}

.thumb li:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}


/**
* object-fit-img 画像をコンテンツいっぱいに広げる プラグイン連動 imgのclassに入れる
*/

.object-fit-img-click-gallery {
  height: 600px;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

.object-fit-img-click-gallery-thumb {
  height: 120px;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

.object-fit-img-click-gallery-thumb2 {
  height: 150px;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

@media screen and (max-width: 767px) {
  .object-fit-img-click-gallery {
    height: 300px;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;'
  }

  .object-fit-img-click-gallery-thumb {
    height: 60px;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;'
  }
    
  .object-fit-img-click-gallery-thumb2 {
    height: 80px;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;'
  }
}