@charset "UTF-8";
/*
 Theme Name: BusinessPress Child
 Template: businesspress
*/
@media screen and (min-width: 540px){

}
@media screen and (min-width: 640px){

}
@media screen and (min-width: 782px){

}
@media screen and (min-width: 980px){

}
/* font-size
   body 13px min-width: 640px
   body 14px min-width: 782px
   body 15px min-width: 980px
------------------------------------------------------------ */
h1, .site-title, .main-header-clone .site-title,
.jumbotron-title, .entry-title, .page-title, .error-404 .page-title{
  font-size: 1.7rem;
}
h2{
  font-size: 1.6rem;
}
h3{
  font-size: 1.5rem;
}
h4{
  font-size: 1.4rem;
}
h5, h6{
  font-size: 1.3rem;
}
.slider-home .swiper-text{
  font-size: 130%;
}
.section-title01 p, .flex-planlarge h5, .flex-plansmall h5{
  font-size: 120%;
}
.post-grid .entry-title, .section-mm .aspect-text{
  font-size: 110%;
}
.flex-topscene h3, .flex-seijin0401 h4, .flex-graduation0601 h4, .flex-family01 h4{
  font-size: 100%;
}
.hidden-box label, .course-description{
  font-size: 95%;
}
.top-section-info ul .post-category, .flex-seijin0202 .flex-item:last-child p:last-child,
.flex-graduation0601 p, .hidden-box .hidden-show, .flex-info p{
  font-size: 90%;
}
.flex-planlarge ul li, .flex-plansmall ul li{
  font-size: 85%;
}
.plan-contentbasic .flex-planlarge .flex-item:last-of-type p{
  font-size: 80%;
}
@media screen and (min-width: 540px){
  .slider-home .swiper-text{
    font-size: 140%;
  }
}
@media screen and (min-width: 640px){
  h4{
    font-size: 1.5rem;
  }
  h5, h6{
    font-size: 1.4rem;
  }
  .slider-home .swiper-text{
    font-size: 150%;
  }
}
@media screen and (min-width: 782px){
  h1, .site-title, .main-header-clone .site-title,
  .jumbotron-title, .entry-title, .page-title, .error-404 .page-title{
    font-size: 1.8rem;
  }
  h2{
    font-size: 1.7rem;
  }
  h3, h4{
    font-size: 1.6rem;
  }
  h5, h6{
    font-size: 1.5rem;
  }
  .slider-home .swiper-text{
    font-size: 160%;
  }
}
@media screen and (min-width: 980px){
  h1, .site-title, .main-header-clone .site-title,
  .jumbotron-title, .entry-title, .page-title, .error-404 .page-title{
    font-size: 1.9rem;
  }
  h2{
    font-size: 1.8rem;
  }
  h3, h4{
    font-size: 1.7rem;
  }
  .slider-home .swiper-text{
    font-size: 180%;
  }
}

/* Base
------------------------------------------------------------ */
.content-area{
  margin-bottom: 0;
}

/* Jumbotron */
.jumbotron-content{
	padding-bottom: 4.0rem;
	padding-top: 4.0rem;
}
.jumbotron-title{
  text-shadow: none;
}
.subheader{
  font-weight: normal;
}
@media screen and (min-width: 782px){
  .jumbotron-content{
  	padding-bottom: 5.6rem;
  	padding-top: 5.6rem;
  }
}
@media screen and (min-width: 980px){
  .jumbotron-content{
    padding-bottom: 8.0rem;
  	padding-top: 8.0rem;
  }
}


/* Header
------------------------------------------------------------ */
/* main-header */
.main-header{
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
  border-bottom: solid 1px rgba(238, 238, 238, 1); /* #EEEEEE */
}
.home .main-header{
  border-bottom: none;
}
@media screen and (min-width: 980px){
  .main-header{
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
  }
}

/* .main-header-clone */
.main-header-clone{
  border-bottom: none;
}

/* site-branding */
@media screen and (min-width: 782px){
  .site-branding{
    padding-right: 24px;
  }
}

/* site-logo img */
.site-logo img{
  width: 250px;
}
@media screen and (min-width: 782px){
  .site-logo img{
    width: 150px;
  }
}

/* 固定ページ
------------------------------------------------------------ */
.section{
  padding: 4.8rem 0;
}
.section-first{
  padding-top: 2.4rem;
}
.section-pagelink{
  padding: 2.4rem 0 0;
}
@media screen and (min-width: 640px){
  .section{
    padding: 6.4rem 0;
  }
  .section-first{
    padding-top: 3.2rem;
  }
  .section-pagelink{
    padding: 3.2rem 0 0;
  }
}
@media screen and (min-width: 782px){
  .section{
    padding: 8.0rem 0;
  }
  .section-first{
    padding-top: 4.0rem;
  }
  .section-pagelink{
    padding: 4.0rem 0 0;
  }
}


/* section-title */
.section-title{
  margin-bottom: 4.8rem;
}

/* section-title01 */
.section-title01 h2{
  margin-bottom: 0.8rem;
  padding: 0 56px;
  position: relative;
  display: inline-block;
  letter-spacing: 2px;
  text-indent: 2px;
}
.section-title01 h2:before,
.section-title01 h2:after{
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 40px;
  height: 1px;
}
.section-title01 h2:before{
  left: 0;
}
.section-title01 h2:after{
  right: 0;
}
.section-title01 p{
  margin-bottom: 0;
}

/* section-title02 */
.section-title02 h2, .section-title02 h3{
  margin-bottom: 0;
  padding-bottom: 0.8rem;
  display: inline-block;
  letter-spacing: 2px;
  text-indent: 2px;
  border-bottom: solid 1px rgba(148, 97, 142, 1); /* #94618E */
}

/* section-title03 */
.section-title03 h3{
  margin-bottom: 0;
}

/* section-title04 */
.section-title04 h3{
  margin-bottom: 0;
  padding: 0.8rem 1.6rem;
  position: relative;
  display: inline-block;
}
.section-title04 h3:before, .section-title04 h3:after{
  position: absolute;
  top: 0;
  content:'';
  width: 8px;
  height: 100%;
  display: inline-block;
}
.section-title04 h3:before{
  border-left: solid 1px rgba(73, 39, 74, 1); /* #49274A */
  border-top: solid 1px rgba(73, 39, 74, 1); /* #49274A */
  border-bottom: solid 1px rgba(73, 39, 74, 1); /* #49274A */
  left: 0;
}
.section-title04 h3:after{
  border-top: solid 1px rgba(73, 39, 74, 1); /* #49274A */
  border-right: solid 1px rgba(73, 39, 74, 1); /* #49274A */
  border-bottom: solid 1px rgba(73, 39, 74, 1); /* #49274A */
  right: 0;
}

/* TOPページ
------------------------------------------------------------ */
/* TOP メインビジュアル スライダー セクション
------------------------------------------------------------ */
.top-section-mainslider{
  padding: 0;
}
.slider-home{
  height: 400px;
}
.slider-home .swiper-slide{
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}
.slider-home .swiper-text{
  margin: 0;
  padding: 0;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  width: 90%;
  font-weight: bold;
  text-align: center;
  letter-spacing: 4px;
  text-indent: 4px;
  z-index: 3;
}
.slider-home .swiper-text br{
  display: none;
}
@media screen and (min-width: 540px){
  .slider-home .swiper-text br{
    display: block;
  }
}
@media screen and (min-width: 782px){
  .slider-home{
    height: 480px;
  }
}
@media screen and (min-width: 980px){
  .slider-home{
    height: 560px;
  }
  .slider-home .swiper-slide01{
    background-position: 50% 55%;
  }
  .slider-home .swiper-slide02{
    background-position: 50% 60%;
  }
  .slider-home .swiper-slide03{
    background-position: 50% 17%;
  }
  .slider-home .swiper-slide04{
    background-position: 50% 20%;
  }
  .slider-home .swiper-slide06{
    background-position: 50% 18%;
  }
}

@media screen and (max-width:767px){
  .slide01{
    background-image: url(/wp-content/uploads/2026/03/slider_image01sp-1.jpg) !important;
  }
  .slide02{
    background-image: url(/wp-content/uploads/2026/03/slider_image02sp-1.jpg) !important;
  }
}


/* TOP  コロナセクション
------------------------------------------------------------ */
.top-section-attention{
  padding: 4.0rem 0 1.6rem;
}

/* TOP  かぞくの森セクション
------------------------------------------------------------ */
.section-intro p{
  line-height: 2.4;
}

.top-section-family .aspect-bgimage,
.top-section-family .overlay{
  border-radius: 16px;
}
.top-section-family .aspect-bgimage{
  padding-top: 56.25%; /* 16:9 */
}
.top-section-family .aspect-text{
  margin: 0;
  padding: 0;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  width: 95%;
  z-index: 3;
}
@media screen and (min-width: 640px){
  .top-section-family .aspect-bgimage{
    padding-top: 33.33%; /* 9:3(青銅比) */
  }
}

/* TOP  ご利用シーンセクション
------------------------------------------------------------ */
.flex-topscene .flex-item,
.flex-topscene .aspect-bgimage,
.flex-topscene .overlay{
  border-radius: 16px;
}
.flex-topscene .flex-item{
  margin-bottom: 2.4rem;
}
.flex-topscene .flex-item:last-child{
  margin-bottom: 0;
}
.flex-topscene .aspect-bgimage{
  padding-top: 33.33%; /* 9:3(青銅比) */
}
.flex-topscene .flex-item:nth-child(1) .aspect-bgimage{
  background-position: 50% 5%;
}
.flex-topscene .flex-item:nth-child(2) .aspect-bgimage{
  background-position: 50% 20%;
}
.flex-topscene h3{
  margin: 0;
  padding: 4px;
  top: 50%;
  left: 0%;
  -ms-transform: translate(-0%,-50%);
  -webkit-transform: translate(-0%,-50%);
  transform: translate(-0%,-50%);
  width: auto;
  letter-spacing: 2px;
  text-indent: 2px;
  z-index: 3;
  width: 96px;
  border-radius: 0 16px 16px 0;
}
.flex-topscene h3:after{
  margin-left: 0.8rem;
  font-family: FontAwesome;
  content: '\f178';
}
@media screen and (min-width: 540px){
  .flex-topscene .aspect-bgimage{
    padding-top: 100%; /* 1:1 */
  }
  .flex-topscene .flex-item:nth-child(1) .aspect-bgimage,
  .flex-topscene .flex-item:nth-child(2) .aspect-bgimage{
    background-position: 50% 50%;
  }
  .flex-topscene h3{
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    border-radius: 16px;
  }
}
@media screen and (min-width: 640px){
  .flex-topscene .flex-item{
    margin-bottom: 0;
  }
}


/* TOP  商品カテゴリセクション
------------------------------------------------------------ */
.flex-topcategory .flex-item{
  margin-bottom: 1.6rem;
  -webkit-flex-basis: 48%;
  flex-basis: 48%;
}
.flex-topcategory .flex-item:last-child, .flex-topcategory .flex-item:nth-last-child(2){
  margin-bottom: 0;
}
.flex-topcategory a{
  padding: 1.2rem;
  position: relative;
  display: block;
  text-decoration: none;
  border: solid 1px rgba(148, 97, 142, 1); /* #94618E */
  border-radius: 8px;
}
.flex-topcategory a:after{
  position: absolute;
  top: 50%;
  right: 5%;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-family: FontAwesome;
  content: '\f178';
}
@media screen and (min-width: 782px){
  .flex-topcategory a{
    padding: 1.6rem;
  }
}


/* TOP  新着情報セクション
------------------------------------------------------------ */
.top-section-info ul{
  margin: 0;
  list-style: none;
}
.top-section-info ul li{
  margin-bottom: 1.2rem;
  border-bottom: solid 1px rgba(238, 238, 238, 1); /* #EEEEEE */
}
.top-section-info ul li:last-child{
  margin-bottom: 0;
}
.top-section-info ul .post-category{
  margin-left: 4px;
  padding: 2px 6px;
}
.top-section-info ul a{
  display: block;
  text-decoration: none;
}


/* TOP  アクセスセクション
------------------------------------------------------------ */
.gmap-access .embed-container{
  padding-bottom: 56.25%; /* 16:9 */
}
.top-section-access h3{
  margin: 2.4rem 0 1.6rem;
}
@media screen and (min-width: 640px){
  .gmap-access .embed-container{
    padding-bottom: 33.33%; /* 9:3(青銅比) */
  }
}


/* TOP  お問合せセクション
------------------------------------------------------------ */
.wpcf7 table th, .wpcf7 table td{
  padding: 0;
  border: none;
}
.wpcf7 table th{
  padding-top: 1.6rem;
}
.wpcf7 table tr:first-child th{
  padding-top: 0;
}
.wpcf7 table td{
  padding: 0.4rem 0 1.2rem;
  border-bottom: solid 1px rgba(238, 238, 238, 1); /* #EEEEEE */
}
.form-p label{
  font-weight: bold;
}
.wpcf7 .form-p br{
  display: none;
}
.wpcf7 input[type="submit"]{
  border: solid 1px rgba(148, 97, 142, 1); /* #94618E */
  border-radius: 24px;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 6px;
}
@media screen and (min-width: 640px){
  .wpcf7 table th, .wpcf7 table td{
    padding: 1.6rem 0 1.2rem;
    border-bottom: solid 1px rgba(238, 238, 238, 1); /* #EEEEEE */
  }
  .wpcf7 table tr:first-child td{
    padding-top: 0;
  }
}


/* 会社概要ページ
------------------------------------------------------------ */
/* 経営理念セクション */
.flex-philosophy{
  margin-top: 4.0rem;
  padding-top: 4.0rem;
  border-top: solid 1px rgba(238, 238, 238, 1); /* #EEEEEE */
}
.flex-philosophy .flex-item{
  margin-bottom: 3.2rem;
  -webkit-flex-basis: 100%;
  flex-basis: 100%;
}
.flex-philosophy .flex-item:last-child{
  margin-bottom: 0;
}
.flex-philosophy h3{
  margin-bottom: 0.8rem;
  display: inline-block;
}
@media screen and (min-width: 640px){
  .flex-philosophy .flex-item{
    margin-bottom: 0;
    -webkit-flex-basis: 48%;
    flex-basis: 48%;
  }
}
@media screen and (min-width: 782px){
  .flex-philosophy{
    margin-top: 5.6rem;
    padding-top: 5.6rem;
  }
}

/* 社長挨拶セクション */
.flex-aboutmsg{
  padding: 2.4rem 1.6rem;
  border-radius: 16px;
}
.flex-aboutmsg .flex-item{
  margin-bottom: 1.6rem;
  -webkit-flex-basis: 100%;
  flex-basis: 100%;
}
.flex-aboutmsg .flex-item:last-child{
  margin-bottom: 0;
}
.flex-aboutmsg .flex-item:nth-child(1) .aspect-bgimage{
  background-position: 50% 10%;
}
.flex-aboutmsg p{
  margin-bottom: 1.6rem;
}
.flex-aboutmsg p.margin-bottom0{
  margin-bottom: 0;
}
@media screen and (min-width: 782px){
  .flex-aboutmsg{
    padding: 2.4rem;
  }
  .flex-aboutmsg .flex-item{
    margin-bottom: 5.6rem;
  }
  .flex-aboutmsg .flex-item:nth-child(even){
    padding-right: 4%;
    -webkit-flex-basis: 66%;
    flex-basis: 66%;
  }
  .flex-aboutmsg .flex-item:nth-child(odd){
    -webkit-flex-basis: 30%;
    flex-basis: 30%;
  }
  .flex-aboutmsg .flex-item:nth-child(1){
    -webkit-order: 2;
    order: 2:
  }
  .flex-aboutmsg .flex-item:nth-child(2){
    -webkit-order: 1;
    order: 1;
  }
  .flex-aboutmsg .flex-item:nth-child(3){
    -webkit-order: 3;
    order: 3;
  }
  .flex-aboutmsg .flex-item:nth-child(4){
    padding-right: 0%;
    padding-left: 4%;
    -webkit-order: 4;
    order: 4;
  }
  .flex-aboutmsg .flex-item:nth-child(5){
    margin-bottom: 0;
    -webkit-order: 6;
    order: 6;
  }
  .flex-aboutmsg .flex-item:nth-child(6){
    -webkit-order: 5;
    order: 5;
  }
  .flex-aboutmsg .aspect-bgimage{
    padding-top: 100%; /* 1:1 */
  }
  .flex-aboutmsg .flex-item:nth-child(1) .aspect-bgimage{
    background-position: 50% 0%;
  }
}

/* 会社概要セクション */
.page-section-about03 table th, .page-section-about03 table td{
  padding: 0;
  border: none;
}
.page-section-about03 table td{
  margin-bottom: 1.6rem;
  padding-bottom: 0.4rem;
  border-bottom: solid 1px rgba(238, 238, 238, 1); /* #EEEEEE */
}
.page-section-about03 table tr:last-child td{
  margin-bottom: 0;
}
@media screen and (min-width: 640px){
  .page-section-about03 table th, .page-section-about03 table td{
    padding: 1.6rem;
  }
  .page-section-about03 table th{
    border-bottom: solid 1px rgba(238, 238, 238, 1); /* #EEEEEE */
  }
  .page-section-about03 table td{
    margin-bottom: 0;
  }
}

/* アクセスセクション */
.page-section-about04 h3{
  margin: 2.4rem 0 1.6rem;
}
.page-section-about04 ul{
  margin: 0;
  list-style: none;
}


/* 店舗紹介ページ
------------------------------------------------------------ */
.flex-staff{
  margin-bottom: 4.0rem;
  padding-bottom: 4.0rem;
  border-bottom: solid 1px rgba(238, 238, 238, 1); /* #EEEEEE */
}
.flex-staff .flex-item{
  -webkit-flex-basis: 100%;
  flex-basis: 100%;
}
.flex-staff .aspect-group{
  margin: 0 auto;
  max-width: 280px;
}
.flex-staff .aspect-bgimage{
  padding-top: 100%; /* 1:1 */
}
.flex-staff h3{
  margin: 0.8rem 0 1.6rem;
}
.flex-staff ul{
  margin: 0;
  line-height: 1.4;
  list-style: none;
}
.flex-staff ul li{
  margin-bottom: 1.6rem;
}
.flex-staff ul li:last-child{
  margin-bottom: 0;
}
.flex-staff ul li span{
  padding: 0.4rem 0.8rem;
  display: inline-block;
}
@media screen and (min-width: 640px){
  .flex-staff{
    margin-bottom: 5.6rem;
    padding-bottom: 5.6rem;
  }
  .flex-staff .flex-item{
    -webkit-flex-basis: 35%;
    flex-basis: 35%;
  }
  .flex-staff .flex-item:nth-child(2){
    padding-left: 4%;
    -webkit-flex-grow: 1;
    flex-grow: 1;
  }
  .flex-staff .aspect-group{
    max-width: 100%;
  }
}


/* サービス一覧ページ
------------------------------------------------------------ */
.flex-parentpage .flex-item{
  margin-bottom: 4%;
  -webkit-flex-basis: 47%;
  flex-basis: 47%;
  text-decoration: none;
  border-radius: 16px;
}
.flex-service .flex-item:last-child, .flex-service .flex-item:nth-last-child(2){
  margin-bottom: 0;
}
.flex-parentpage .aspect-bgimage, .flex-parentpage .overlay{
  border-radius: 16px 16px 0 0;
}
.flex-parentpage .aspect-bgimage{
  padding-top: 66.66%; /* 3:2 */
}
.flex-parentpage p{
  margin: 0;
  padding: 1.2rem 0;
}
@media screen and (min-width: 782px){
  .flex-parentpage{
    -webkit-justify-content: normal;
    justify-content: normal;
  }
  .flex-parentpage .flex-item{
    margin: 0 1.1% 2.5%;
    -webkit-flex-basis: 31%;
    flex-basis: 31%;
  }
  .flex-service .flex-item:nth-last-child(2){
    margin-bottom: 2.4%;
  }
}
@media screen and (min-width: 980px){
  .flex-parentpage p{
    padding: 1.6rem 0;
  }
}


/* かぞくの森ページ
------------------------------------------------------------ */
/* 0歳〜13歳までの大切な思い出をセクション -------------------------- */
.flex-family01{
  margin: 2.4rem auto 0;
  padding: 1.6rem;
  max-width: calc(960px - 2.4rem);
  border-radius: 16px;
  border: solid 1px rgba(238, 238, 238, 1); /* #EEEEEE */
}
.flex-family01 .flex-item{
  margin-bottom: 2.4rem;
}
.flex-family01 .flex-item:last-of-type{
  margin-bottom: 0;
}
.flex-family01 .aspect-group{
  margin: 0 auto;
  max-width: 160px;
}
.flex-family01 .aspect-bgimage{
  padding-top: 100%; /* 1:1 */
  border-radius: 50%;
  border: solid 1px rgba(238, 238, 238, 1); /* #EEEEEE */
}
.flex-family01 h4{
  margin: 0.8rem 0 1.6rem;
}
.hidden-box{
  margin: 0;
  padding: 0;
  text-align: center;
}
.hidden-box label{
  padding: 0.4rem 1.2rem;
  border-radius: 24px;
  cursor: pointer;
  transition: .5s;
}
.hidden-box label:before{
  padding-right: 0.4rem;
  display: inline-block;
  font-family: 'FontAwesome';
  content: '\f103';
  transition: 0.2s;
}
.hidden-box input:checked + label:before{
  content: '×';
  -ms-transform: rotate(360deg);
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
}
.hidden-box input{
  display: none;
}
.hidden-box .hidden-show{
  padding: 0;
  overflow: hidden;
  height: 0;
  opacity: 0;
  transition: 0.8s;
  text-align: left;
}
.hidden-box input:checked + label + .hidden-show{
  padding: 1.6rem 0 0;
  height: auto;
  opacity: 1;
}
@media screen and (min-width: 540px){
  .flex-family01 .flex-item{
    margin-bottom: 0;
  }
}
@media screen and (min-width: 980px){
  .flex-family01{
    padding: 2.4rem;
    max-width: calc(960px - 4.8rem);
  }
  .flex-family01 .aspect-group{
    max-width: 200px;
  }
}

/* デジタルフォトアルバムの思いセクション --------------------------- */
.section-service-family02 p{
  margin: 0 auto 2.4rem;
  max-width: 800px;
}
.section-service-family02 figure{
  margin: 0 auto;
  max-width: 960px;
}
.section-service-family02 figure img{
  margin-bottom: 0;
}

/* 各種プランセクション ---------------------------------------- */
/* ベース */
div.tab-group{
	display: flex;
	flex-wrap: wrap;
}
div.tab-group::after{
  display: block;
	content: '';
	width: 100%;
	height: 2px;
	order: -1;
}
/* タブ */
div.tab-group .tablabel{
	margin-right: 4px;
  padding: 1.6rem 1.2rem;
  position: relative;
	flex: 1;
	order: -1;
	border-radius: 8px 8px 0 0;
	transition: .5s ;
	cursor: pointer;
  font-weight: bold;
}
div.tab-group .tablabel::after{
  display: block;
	position: absolute;
	content: '';
	width: 100% ;
	height: 2px;
	pointer-events: none;
	transform: translateX(100%);
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s 80ms;
	left: 0;
	bottom: -2px;
	z-index: 10;
	opacity: 0;
}
div.tab-group .tablabel:nth-last-of-type(1){
  margin-right: 0;
}
div.tab-group input{
	display: none;
}
div.tab-group .tab-content{
  overflow: hidden;
	width: 100%;
	height: 0;
	opacity: 0;
}
div.tab-group .tab-content > .tab-contentinner{
	pointer-events: none;
	transform: translateX(30%);
	transition: transform .3s 80ms, opacity .3s 80ms;
}
/* アクティブ設定 */
div.tab-group input:checked ~ .tablabel::after{
	transform: translateX(-100%);
}
div.tab-group input:checked + .tablabel::after{
	opacity: 1;
	transform: translateX(0);
}
/* コンテンツ部分 */
div.tab-group input:checked + .tablabel + .tab-content{
  padding-top: 4.8rem;
	height: auto;
	order: 1;
	opacity: 1;
}
div.tab-group input:checked ~ .tab-content > .tab-contentinner{
	transform: translateX(30%);
}
div.tab-group input:checked + .tablabel + .tab-content > .tab-contentinner{
	pointer-events: auto;
	transform: translateX(0);
}

/* プラン詳細 */
.section-service-family03 .section-title03{
  margin-top: 8.0rem;
}
/* スライダーとプランのイントロ */
.slider-plan{
  margin-bottom: 2.4rem;
}
.plan-intro p{
  margin-bottom: 1.6rem;
}
.plan-intro p:last-of-type{
  margin-bottom: 0;
}
.plan-intro ul{
  margin-top: 1.6rem;
}

/* プラン ご成約特典 */
.plan-benefit ol{
  margin: 0 auto;
  padding: 1.6rem;
  counter-reset: number; /*数字をリセット*/
  list-style-type: none !important; /*数字を一旦消す*/
  max-width: calc(800px - 34px);
  border: solid 1px rgba(148, 97, 142, 1); /* #94618E */
}
.plan-benefit ol li{
  position: relative;
  padding-left: 3.2rem;
  padding-bottom: 0.8rem;
}
.plan-benefit ol li:last-of-type{
  padding-bottom: 0;
}
.plan-benefit ol li:before{
  position: absolute;
  counter-increment: number;
  content: counter(number);
  display: inline-block;
  left: 0;
  top: 3%;
  -webkit-transform: translateY(-3%);
  transform: translateY(-3%);
  width: 24px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  font-weight: bold;
  border-radius: 50%;
}
@media screen and (min-width: 540px){
  .plan-benefit ol{
    padding: 2.4rem;
    max-width: calc(800px - 50px);
  }
}
@media screen and (min-width: 980px){
  .plan-benefit ol{
    padding: 3.2rem;
    max-width: calc(800px - 66px);
  }
}

/* プラン内容・料金 */
.flex-familysummary .flex-item{
  -webkit-flex-basis: 48px;
  flex-basis: 48px;
  position: relative;
}
.flex-familysummary .flex-item:first-of-type,
.flex-familysummary .flex-item:last-of-type{
  -webkit-flex-grow: 1;
  flex-grow: 1;
}
.flex-familysummary .flex-item:nth-last-of-type(2)::after{
  position: absolute;
  content: '+';
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  font-size: 32px;
  line-height: 32px;
  text-align: center;
}
.flex-familysummary .text-group{
  padding: 1.6rem 1.2rem;
}
.flex-familysummary p{
  line-height: 1.5;
}
@media screen and (min-width: 540px){
  .flex-familysummary .text-group{
    padding: 2.4rem 1.6rem;
  }
}
@media screen and (min-width: 980px){
  .flex-familysummary .flex-item{
    -webkit-flex-basis: 56px;
    flex-basis: 56px;
  }
  .flex-familysummary .text-group{
    padding: 3.2rem 2.4rem;
  }
}

/* 基本プラン */
.flex-planlarge{
  padding: 2.4rem 1.6rem;
  -webkit-align-items: center;
  align-items: center;
}
.plan-contentbasic .flex-planlarge{
  margin-bottom: 80px;
  position: relative;
}
/*.plan-contentbasic .flex-planlarge::after{
  position: absolute;
   content: '+'; 
  bottom: -56px;
  left: 50%;
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  font-size: 32px;
  line-height: 32px;
  text-align: center;
} */
.flex-planlarge .flex-item{
  -webkit-flex-basis: 100%;
  flex-basis: 100%;
  position: relative;
}
.flex-planlarge .flex-item:last-of-type{
  margin-top: 1.6rem;
  padding-top: 1.6rem;
}
.flex-planlarge .flex-item:last-of-type::before{
  position: absolute;
  content: '';
  top: 0%;
  left: 50%;
  -ms-transform: translate(-50%,-0%);
  -webkit-transform: translate(-50%,-0%);
  transform: translate(-50%,-0%);
  width: 100%;
  height: 1px;
}
.flex-planlarge ul{
  margin-left: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  list-style: none;
}
.flex-planlarge ul li{
  padding-top: 40px;
  -webkit-flex-basis: 18%;
  flex-basis: 18%;
  position: relative;
  line-height: 1.4;
  text-align: center;
}
.flex-planlarge ul li::before{
  position: absolute;
  display: inline-block;
  content: '';
  top: 0%;
  left: 50%;
  -ms-transform: translate(-50%,-0%);
  -webkit-transform: translate(-50%,-0%);
  transform: translate(-50%,-0%);
  background-repeat: no-repeat;
  background-size: contain;
  width: 40px;
  height: 40px;
}
.tab01 .plan-contentbasic .flex-planlarge ul li:nth-of-type(1)::before,
.tab02 .plan-contentbasic .flex-planlarge ul li:nth-of-type(1)::before,
.tab03 .plan-contentbasic .flex-planlarge ul li:nth-of-type(1)::before{
  background-image: url(https://natty-brand.com/wp-content/uploads/2021/08/icon_kimono.png);
}
.tab01 .plan-contentbasic .flex-planlarge ul li:nth-of-type(3)::before,
.tab03 .plan-contentbasic .flex-planlarge ul li:nth-of-type(2)::before,
.tab03 .plan-contentcourse .flex-planlarge ul li:nth-of-type(2)::before{
  background-image: url(https://natty-brand.com/wp-content/uploads/2021/08/icon_hair.png);
}
/*.tab02 .plan-contentbasic .flex-planlarge ul li:nth-of-type(2)::before{
  background-image: url(https://natty-brand.com/wp-content/uploads/2021/08/icon_brush.png);
}*/
.tab02 .plan-contentbasic .flex-planlarge ul li:nth-of-type(3)::before,
.tab01 .plan-contentbasic .flex-planlarge ul li:nth-of-type(4)::before{
  background-image: url(https://natty-brand.com/wp-content/uploads/2021/08/icon_camera.png);
}
.tab02 .plan-contentbasic .flex-planlarge ul li:nth-of-type(5)::before,
.tab03 .plan-contentbasic .flex-planlarge ul li:nth-of-type(5)::before,
.tab03 .plan-contentcourse .flex-planlarge ul li:nth-of-type(5)::before{
  display: none;
}
@media screen and (min-width: 640px){
  .flex-planlarge .flex-item{
    -webkit-flex-basis: 20%;
    flex-basis: 20%;
  }
  .flex-planlarge .flex-item:last-of-type{
    margin-top: 0;
    margin-left: 2.4rem;
    padding-top: 0;
    padding-left: 2.4rem;
    -webkit-flex-grow: 1;
    flex-grow: 1;
  }
  .flex-planlarge .flex-item:last-of-type::before{
    top: 50%;
    left: 0%;
    -ms-transform: translate(-0%,-50%);
    -webkit-transform: translate(-0%,-50%);
    transform: translate(-0%,-50%);
    width: 1px;
    height: 100%;
  }
  .flex-planlarge ul li{
    padding-top: 48px;
  }
  .flex-planlarge ul li::before{
    width: 48px;
    height: 48px;
  }
}
@media screen and (min-width: 980px){
  .flex-planlarge{
    padding: 3.2rem 2.4rem;
  }
  .plan-contentbasic .flex-planlarge{
    margin-bottom: 112px;
  }
  .plan-contentbasic .flex-planlarge::after{
    bottom: -72px;
  }
}

/* 選べるコース */
/* プライベート */
.plan-contentcourse .flex-planlarge{
  margin-bottom: 1.6rem;
}
.tab01 .plan-contentcourse .flex-planlarge ul li:nth-of-type(1)::before,
.tab02 .plan-contentbasic .flex-planlarge ul li:nth-of-type(2)::before{
  background-image: url(https://natty-brand.com/wp-content/uploads/2021/08/icon_kimono.png);
}
.tab02 .plan-contentcourse .flex-planlarge ul li:nth-of-type(1)::before,
.tab03 .plan-contentcourse .flex-planlarge ul li:nth-of-type(3)::before,
.tab03 .plan-contentbasic .flex-planlarge ul li:nth-of-type(3)::before{
  background-image: url(https://natty-brand.com/wp-content/uploads/2021/08/icon_camera.png);
}
.tab01 .plan-contentcourse .flex-planlarge ul li:nth-of-type(2)::before,
.tab01 .plan-contentbasic .flex-planlarge ul li:nth-of-type(2)::before{
  background-image: url(https://natty-brand.com/wp-content/uploads/2021/08/icon_hakama.png);
}
.tab02 .plan-contentcourse .flex-planlarge ul li:nth-of-type(2)::before,
.tab03 .plan-contentcourse .flex-planlarge ul li:nth-of-type(1)::before{
  background-image: url(https://natty-brand.com/wp-content/uploads/2021/08/icon_kimono.png);
}
.tab01 .plan-contentcourse .flex-planlarge ul li:nth-of-type(3)::before,
.tab01 .plan-contentbasic .flex-planlarge ul li:nth-of-type(5)::before,
.tab02 .plan-contentcourse .flex-planlarge ul li:nth-of-type(3)::before,
.tab02 .plan-contentbasic .flex-planlarge ul li:nth-of-type(4)::before,
.tab03 .plan-contentcourse .flex-planlarge ul li:nth-of-type(4)::before,
.tab03 .plan-contentbasic .flex-planlarge ul li:nth-of-type(4)::before{
  background-image: url(https://natty-brand.com/wp-content/uploads/2021/08/icon_album.png);
}
.tab01 .plan-contentcourse .flex-planlarge ul li:nth-of-type(4)::before,
.tab02 .plan-contentcourse .flex-planlarge ul li:nth-of-type(4)::before{
  background-image: url(https://natty-brand.com/wp-content/uploads/2021/08/icon_brush.png);
}
.tab01 .plan-contentcourse .flex-planlarge ul li:nth-of-type(5)::before,
.tab02 .plan-contentcourse .flex-planlarge ul li:nth-of-type(5)::before{
  background-image: url(https://natty-brand.com/wp-content/uploads/2021/08/icon_digitalalbum.png);
}
.popular{
  margin-top: 0.8rem;
  font-size: 85%;
}
.popular span{
  padding: 1px 8px;
  display: inline-block;
}
.course-description{
  text-align: center;
}
@media screen and (min-width: 640px){
  .plan-contentcourse .flex-planlarge{
    margin-bottom: 2.4rem;
  }
  .flex-planlarge .course-description{
    text-align: left;
  }
  .flex-planlarge .course-description span{
    padding: 2px 8px;
    display: inline-block;
    border: solid 1px rgba(97, 148, 103, 1);/* #619467 */
  }
}
@media screen and (min-width: 980px){
  .plan-contentcourse .flex-planlarge{
    margin-bottom: 3.2rem;
  }
}

/* ライト、スタンダード、プレミアム */
.flex-plansmall .flex-item{
  margin-bottom: 1.6rem;
  -webkit-flex-basis: 48%;
  flex-basis: 48%;
}
.flex-plansmall .flex-item:last-of-type{
  margin-bottom: 0;
}
.flex-plansmall .text-group{
  padding: 2.4rem 1.6rem;
}
@media screen and (min-width: 640px){
  .flex-plansmall .flex-item{
    margin-bottom: 0;
    -webkit-flex-basis: 31%;
    flex-basis: 31%;
  }
}
@media screen and (min-width: 980px){
  .flex-plansmall .text-group{
    padding: 3.2rem 2.4rem;
  }
}

/* オプション */
table.plan-option{
  margin: 0 auto;
  max-width: 800px;
}
table.plan-option tr th, table.plan-option tr td{
  padding: 1.2rem 0.8rem;
  border: none;
}
table.plan-option tr th{
  padding-bottom: 0;
  vertical-align: top;
}
table.plan-option tr:first-child th{
  border-top: 1px solid rgba(238, 238, 238, 1); /* #EEEEEE */
}
table.plan-option tr td{
  padding-top: 0.4rem;
  border-bottom: 1px solid rgba(238, 238, 238, 1); /* #EEEEEE */
}
table.plan-option ol{
  margin: 0;
  margin-left: 1.6rem;
  list-style-type: upper-alpha;
}
table.plan-option ol li{
  margin-bottom: 0.8rem;
}
table.plan-option ol li:last-of-type{
  margin-bottom: 0;
}
@media screen and (min-width: 640px){
  table.plan-option tr th, table.plan-option tr td{
    padding: 1.6rem 0.8rem;
  }
  table.plan-option tr th{
    border-bottom: 1px solid rgba(238, 238, 238, 1); /* #EEEEEE */
  }
  table.plan-option tr:first-child td{
    border-top: 1px solid rgba(238, 238, 238, 1); /* #EEEEEE */
  }
  table.plan-option ol li{
    margin-bottom: 1.6rem;
  }
}

/* 成人式のお客様ページ
------------------------------------------------------------ */
/* Natty 振袖についてセクション --------------------------------- */
.flex-seijin01 .flex-item{
  margin-bottom: 2.4rem;
}
.flex-seijin01 .flex-item:last-child{
  margin-bottom: 0;
}
.flex-seijin01 h3{
  margin: 0.8rem 0 0.4rem;
}
.flex-seijin01 p{
  margin-bottom: 1.6rem;
}
@media screen and (min-width: 540px){
  .flex-seijin01 .flex-item{
    margin-bottom: 0;
  }
}

/* 振袖 レンタルプランセクション -----------------------------------*/
/* 全てプロのスタッフによるご案内 */
.flex-seijin0201 .flex-item{
  margin-bottom: 2.4rem;
}
.flex-seijin0201 .flex-item:last-child{
  margin-bottom: 0;
}
.flex-seijin0201 p{
  margin: 0.8rem 0;
  display: inline-block;
}
@media screen and (min-width: 540px){
  .flex-seijin0201 .flex-item{
    margin-bottom: 0;
  }
}


/* 料金プラン */
.price-table{
  margin-bottom: 0;
}
.price-table thead{
  display: none;
}
.price-table .wsmall{
  font-weight: bold;
}
.price-table th, .price-table td{
  border: none;
  border-left: solid 1px rgba(238, 238, 238, 1); /* #EEEEEE */
  border-right: solid 1px rgba(238, 238, 238, 1); /* #EEEEEE */
}
.price-table tr:last-child td{
  border-bottom: none;;
}
.price-table tbody tr:nth-child(odd) td:first-child,
.price-table tbody tr:nth-child(even) td:first-child{
  border-top: solid 1px rgba(238, 238, 238, 1); /* #EEEEEE */
}
.price-table tbody tr:nth-child(odd) td:last-child,
.price-table tbody tr:nth-child(even) td:last-child{
  margin-bottom: 2.4rem;
  padding-top: 0;
  border-bottom: solid 1px rgba(238, 238, 238, 1); /* #EEEEEE */
}
.price-table tbody tr:last-child td:last-child{
  margin-bottom: 0;
}
@media screen and (min-width: 640px){
  .price-table thead{
    display: table-header-group;
  }
  .price-table .wsmall{
    width: 20%;
  }
  .price-table .wlarge{
    width: 60%;
  }
  .price-table th, .price-table td{
    border: solid 1px rgba(238, 238, 238, 1); /* #EEEEEE */
  }
  .price-table tr:last-child td{
    border-bottom: solid 1px rgba(238, 238, 238, 1); /* #EEEEEE */
  }
  .price-table tbody tr:nth-child(odd) td:last-child,
  .price-table tbody tr:nth-child(even) td:last-child{
    padding-top: 1.6rem;
  }
}

/* オプション */
.flex-seijin0202{
  counter-reset: number 0;
}
.flex-seijin0202 .flex-item{
  margin-bottom: 2.4rem;
  position: relative;
  /* -webkit-flex-basis: 48%;
  flex-basis: 48%;*/
}
.flex-seijin0202 .flex-item:last-child{
  margin-bottom: 0;
}
.flex-seijin0202 .flex-item:before{
  position: absolute;
  margin: 0;
  padding: 0;
  top: 0;
  left: 0;
  width: 32px;
  height: 32px;
  line-height: 32px;
  counter-increment: number 1;
  content: counter(number);
  text-align: center;
  border-radius: 4px;
  z-index: 2;
}
.flex-seijin0202 .text-group{
  padding: 0 0.8rem;
}
.flex-seijin0202 h4{
  margin: 0.8rem 0 1.6rem;
  display: inline-block;
}
.flex-seijin0202 h5{
  margin-bottom: 1.6rem;
}
.flex-seijin0202 .zei{
  margin-left: 0.4rem;
}
.flex-seijin0202 .flex-item:last-child p:last-child{
  margin-top: 1.2rem;
  line-height: 1.5;
}

@media screen and (min-width: 782px){
  .flex-seijin0202 .flex-item{
    margin-bottom: 0;
   /*-webkit-flex-basis: 31%;
    flex-basis: 31%;*/
  }
}

/* 振袖レンタルに含まれるもの */
.flex-seijin0203 .flex-item{
  margin-bottom: 1.6rem;
}
.flex-seijin0203 .flex-item:last-child{
  margin-bottom: 0;
}
.flex-seijin0203 p{
  margin-bottom: 1.6rem;
  display: inline-block;
}
@media screen and (min-width: 640px){
  .flex-seijin0203 .flex-item{
    margin-bottom: 0;
  }
}

/* 振袖 ご購入プランセクション -------------------------------*/
.flex-seijin0301 .flex-item{
  margin-bottom: 1.6rem;
}
.flex-seijin0301 .flex-item:last-child{
  margin-bottom: 0;
}
@media screen and (min-width: 640px){
  .flex-seijin0301 .flex-item{
    margin-bottom: 0;
  }
}

/* 振袖 リメイクプランセクション ------------------------------*/
.flex-seijin0401 .flex-item{
  -webkit-flex-basis: 48%;
  flex-basis: 48%;
}
.flex-seijin0401 h4{
  margin: 0;
  padding: 0.4rem 0.8rem;
  top: 100%;
  left: 0%;
  -ms-transform: translate(-0%,-100%);
  -webkit-transform: translate(-0%,-100%);
  transform: translate(-0%,-100%);
  line-height: 1;
  letter-spacing: 1px;
  text-indent: 1px;
  border-radius: 4px;
}

/* 撮影オプションについてセクション ----------------------*/
.section-service-seijin05 h3.maker{
  margin-bottom: 0.4rem;
  display: inline-block;
}
.section-service-seijin05 .number-circle{
  margin-bottom: 6.4rem;
}

/* 男性用袴についてセクション ----------------------*/
.flex-seijin0701 .flex-item{
  margin-bottom: 1.6rem;
}
.flex-seijin0701 .flex-item:last-child{
  margin-bottom: 0;
}
.flex-seijin0701 .maker{
  margin-bottom: 0.8rem;
  display: inline-block;
}
@media screen and (min-width: 640px){
  .flex-seijin0701 .flex-item{
    margin-bottom: 0;
  }
}


/* 卒業式のお客様ページ
------------------------------------------------------------ */
.section-note{
  margin-bottom: 6.4rem;
  padding: 2.0rem 1.6rem;
}

/* 大学生向け 卒業袴レンタルセクション、小学生向け 卒業袴レンタルセクション */
.flex-graduation0101 .flex-item,
.flex-graduation0201 .flex-item{
  margin-bottom: 1.6rem;
}
.flex-graduation0101 .flex-item:last-child,
.flex-graduation0201 .flex-item:last-child{
  margin-bottom: 0;
}
@media screen and (min-width: 640px){
  .flex-graduation0101 .flex-item,
  .flex-graduation0201 .flex-item{
    margin-bottom: 0;
  }
}

/* 袴7点フルセット内容セクション */
.flex-graduation0301 .flex-item{
  margin-bottom: 1.6rem;
}
.flex-graduation0301 .flex-item:last-child{
  margin-bottom: 0;
}
.flex-graduation0301 .maker{
  display: inline-block;
  margin-bottom: 0.8rem;
}
@media screen and (min-width: 640px){
  .flex-graduation0301 .flex-item{
    margin-bottom: 0;
  }
}

/* スタジオ撮影プランセクション */
.flex-graduation0601{
  margin-top: 5.6rem;
}
.flex-graduation0601 .flex-item{
  margin-bottom: 1.6rem;
}
.flex-graduation0601 .flex-item:nth-last-child(2),
.flex-graduation0601 .flex-item:last-child{
  margin-bottom: 0;
}
.flex-graduation0601 .text-group{
  padding: 0 0.8rem;
}
.flex-graduation0601 h4{
  margin: 0.8rem 0 0.4rem;
  display: inline-block;
}
.flex-graduation0601 p{
  line-height: 1.5;
}
@media screen and (min-width: 782px){
  .flex-graduation0601 .flex-item{
    margin-bottom: 0;
  }
}


/* 結婚式のお客様ページ
------------------------------------------------------------ */
/* 前撮りフォトプランセクション */
.flex-marriage0101 .flex-item{
  margin-bottom: 1.6rem;
}
.flex-marriage0101 .flex-item:last-child{
  margin-bottom: 0;
}
@media screen and (min-width: 640px){
  .flex-marriage0101 .flex-item{
    margin-bottom: 0;
  }
}

/* 特別な日に。大切な人に。セクション */
.flex-marriage0201 .flex-item{
  margin-bottom: 1.6rem;
}
.flex-marriage0201 .flex-item:last-child{
  margin-bottom: 0;
}
@media screen and (min-width: 640px){
  .flex-marriage0201 .flex-item{
    margin-bottom: 0;
  }
}

/* 結婚されるご本人様セクション */
.flex-marriage0301 .flex-item{
  margin-bottom: 1.6rem;
  -webkit-flex-basis: 48%;
  flex-basis: 48%;
}
.flex-marriage0301 .flex-item:last-child,
.flex-marriage0301 .flex-item:nth-last-child(2){
  margin-bottom: 0;
}
@media screen and (min-width: 640px){
  .flex-marriage0301 .flex-item{
    -webkit-flex-basis: 31%;
    flex-basis: 31%;
  }
  .flex-marriage0301 .flex-item:nth-last-child(3){
    margin-bottom: 0;
  }
}

/* ウエディングプランセクション */
.flex-marriage0401 .flex-item, .flex-marriage0402 .flex-item{
  margin-bottom: 1.6rem;
}
.flex-marriage0401 .flex-item:last-child, .flex-marriage0402 .flex-item:last-child{
  margin-bottom: 0;
}
.flex-marriage0401 p.maker, .flex-marriage0402 p.maker{
  margin-bottom: 1.6rem;
  display: inline-block;
}
.flex-marriage0401 ul, .flex-marriage0402 ul{
  margin-bottom: 0.8rem;
}
@media screen and (min-width: 640px){
  .flex-marriage0401 .flex-item, .flex-marriage0402 .flex-item{
    margin-bottom: 0;
  }
}

/* 式にご出席の方セクション */
.flex-marriage0601 .flex-item, .flex-marriage0602 .flex-item{
  margin-bottom: 1.6rem;
}
.flex-marriage0601 .flex-item:last-child, .flex-marriage0602 .flex-item:last-child{
  margin-bottom: 0;
}
.flex-marriage0601 h4 span.price, .flex-marriage0602 h4 span.price{
  padding: 1.2rem;
  display: inline-block;
  border: solid 1px rgba(51, 51 ,51, 1); /* #333333 */
}
.flex-marriage0601 h4 span.zei, .flex-marriage0602 h4 span.zei{
  margin-left: 0.8rem;
}
.flex-marriage0601 p.maker, .flex-marriage0602 p.maker{
  margin-bottom: 0.8rem;
  display: inline-block;
}
@media screen and (min-width: 640px){
  .flex-marriage0601 .flex-item, .flex-marriage0602 .flex-item{
    margin-bottom: 0;
  }
}


/* 商品カテゴリ一覧ページ
------------------------------------------------------------ */
.flex-product .flex-item:last-child{
  margin-bottom: 0;
}


/* 商品カテゴリ childページ
------------------------------------------------------------ */
/* ギャラリー */
.gallery{
  margin-bottom: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.gallery-item{
  margin: 0 1% 2%;
  -webkit-flex-basis: 48%;
  flex-basis: 48%;
}
.section-product-child .section-container h3.mark-left:nth-of-type(1){
  margin-top: 0;
}
@media screen and (min-width: 782px){
  .gallery-item{
    -webkit-flex-basis: 23%;
    flex-basis: 23%;
  }
}


/* 提携先美容室ページ
------------------------------------------------------------ */
/* ページ内リンク */
.flex-link .flex-item{
  margin-bottom: 0.8rem;
  -webkit-flex-basis: 48%;
  flex-basis: 48%;
}
.flex-link a{
  padding: 0.8rem 1.6rem;
  position: relative;
  display: block;
  font-weight: bold;
  text-decoration: none;
  border-radius: 24px;
}
.flex-link a:after{
  position: absolute;
  top: 50%;
  right: 16px;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-family: FontAwesome;
  content: '\f103';
}
@media screen and (min-width: 640px){
  .flex-link .flex-item{
    -webkit-flex-basis: 32%;
    flex-basis: 32%;
  }
}

.page-section-salon h2{
  margin: 4.8rem 0 0;
  padding: 1.2rem 1.6rem;
  border-radius: 8px;
}
.page-section-salon h2#target01{
  margin-top: 0;
}
.flex-salon h3{
  margin-bottom: 0.8rem;
  padding-left: 2.0rem;
  position: relative;
}
.flex-salon h3:before{
  position: absolute;
  top: 50%;
  left: 0;
  transform:translateY(-50%);
  content: '';
  width: 12px;
  height: 12px;
  border-radius: 100%;
}
.flex-salon .flex-iteminner{
  padding: 1.6rem;
}
.flex-salon ul{
  margin-left: 2.0rem;
  margin-bottom: 0;
  line-height: 1.4;
}
.flex-salon ul li{
  margin-bottom: 1.2rem;
  list-style-type: none!important;
}
.flex-salon ul li:last-child{
  margin-bottom: 0;
}


/* プライバシーポリシー、免責事項ページ
------------------------------------------------------------ */
.page-section-policy .section-container h3,
.page-section-disclaimer .section-container h3{
  margin-top: 5.6rem;
  margin-bottom: 0.4rem;
}
.page-section-policy .section-container p,
.page-section-policy .section-container ul,
.page-section-disclaimer .section-container p,
.page-section-disclaimer .section-container ul{
  margin-bottom: 1.6rem
}
.page-section-policy .section-container p.margin-bottom0,
.page-section-policy .section-container ul.margin-bottom0,
.page-section-disclaimer .section-container p.margin-bottom0,
.page-section-disclaimer .section-container ul.margin-bottom0{
  margin-bottom: 0;
}


/* サイトマップページ
------------------------------------------------------------ */
.flex-sitemap .flex-item{
  margin-bottom: 1.6rem;
  -webkit-flex-basis: 100%;
  flex-basis: 100%;
}
.flex-sitemap a{
  padding: 1.2rem 0.8rem;
  display: block;
  text-align: center;
  text-decoration: none;
  border: solid 1px rgba(221, 221, 221, 1); /* #DDDDDD */
}
@media screen and (min-width: 640px){
  .flex-sitemap .flex-item{
    margin-bottom: 2.4rem;
    -webkit-flex-basis: 48%;
    flex-basis: 48%;
  }
  .flex-sitemap a{
    padding: 1.6rem 0.8rem;
  }
}


/* 新型コロナウイルス感染症に関する対応についてページ
------------------------------------------------------------ */
.page-section-covid19 h3{
  margin-bottom: 0.8rem;
}
.page-section-covid19 h3.customer{
  margin-top: 4.0rem;
}
.flex-covid19{
  margin-bottom: 4.0rem;
}
.flex-covid19 .flex-item{
  margin-bottom: 3%;
  border: solid 1px rgba(221, 221, 221, 1); /* #DDDDDD */
}
.flex-covid19 .inner-covid19{
  padding: 1.6rem 0.8rem 0.8rem;
}
.flex-covid19 figure{
  margin: 0 auto 0.8rem;
  max-width: 72px;
}
.flex-covid19 p{
  text-align: center;
}


/* 投稿ページ
------------------------------------------------------------ */
@media screen and (min-width: 540px){
  .single .post-thumbnail{
    margin-left: auto;
    margin-right: auto;
  }
}
#comments{
  display: none;
}


/* アーカイブページ
------------------------------------------------------------ */


/* Footer
------------------------------------------------------------ */
/* widget */
.footer-widget-1 .custom-html-widget a{
  text-decoration: none;
}

/* site-bottom */
.site-bottom .current-menu-item > a{
  text-decoration: underline;
}

/* back-to-top */
.back-to-top{
  right: 0;
  bottom: 0;
  border-radius: 0;
}


/* 全ページ共通 M&M振袖無料体験セクション
------------------------------------------------------------ */
.section-mm{
  padding: 4.8rem 0;
}
.section-mm a{
  display: block;
}
.section-mm .aspect-bgimage{
  padding-top: 33.33%; /* 9:3(青銅比) */
  background-position: 50% 30%;
}
.section-mm .aspect-text{
  margin: 0;
  padding: 0;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  width: 95%;
  z-index: 3;
}
.section-mm .aspect-text p{
  letter-spacing: 2px;
  text-indent: 2px;
}
.section-mm .aspect-text p:after{
  margin-left: 0.8rem;
  font-family: FontAwesome;
  content: '\f178';
}


/* 全ページ共通 お問合せセクション
------------------------------------------------------------ */
.section-info{
  padding: 4.0rem 0;
}
.flex-info .flex-item{
  position: relative;
  -webkit-flex-basis: 100%;
  flex-basis: 100%;
}
.flex-info .flex-item:nth-child(1){
  padding-bottom: 2.4rem;
}
.flex-info .flex-item:nth-child(2){
  padding-top: 2.4rem;
}
.flex-info .flex-item:after{
  position: absolute;
  content: '';
  top: 100%;
  left: 50%;
  -ms-transform: translate(-50%,-100%);
  -webkit-transform: translate(-50%,-100%);
  transform: translate(-50%,-100%);
  width: 100%;
  height: 1px;
}
.flex-info .flex-item:nth-child(2):after{
  top: 0%;
  left: 50%;
  -ms-transform: translate(-50%,-0%);
  -webkit-transform: translate(-50%,-0%);
  transform: translate(-50%,-0%);
}
.flex-info h2:before{
  margin: 0 auto 2.4rem;
  display: block;
  font-family: FontAwesome;
  content: '\f095';
  width: 56px;
  height: 56px;
  line-height: 56px;
  text-align: center;
  border-radius: 50%;
  font-size: 24px;
}
.flex-info .flex-item:nth-child(2) h2:before{
  content: '\f0e0';
}
.flex-info .tel-group{
  margin-bottom: -8px;
}
.flex-info .tel-group a{
  display: inline-block;
  font-size: 320%;
  line-height: 1;
  text-decoration: none;
}
.flex-info .btn{
  margin-top: 0;
}
.flex-info p{
  margin-top: 0.4rem;
}
@media screen and (min-width: 640px){
  .flex-info .flex-item{
    -webkit-flex-basis: 50%;
    flex-basis: 50%;
  }
  .flex-info .flex-item:nth-child(1){
    padding-bottom: 0;
  }
  .flex-info .flex-item:nth-child(2){
    padding-top: 0;
  }
  .flex-info .flex-item:after{
    top: 50%;
    left: 100%;
    -ms-transform: translate(-100%,-50%);
    -webkit-transform: translate(-100%,-50%);
    transform: translate(-100%,-50%);
    width: 1px;
    height: 100%;
  }
  .flex-info .flex-item:nth-child(2):after{
    top: 50%;
    left: 0%;
    -ms-transform: translate(-0%,-50%);
    -webkit-transform: translate(-0%,-50%);
    transform: translate(-0%,-50%);
  }
}


/* 全ページ共通 SNSセクシ ョン
------------------------------------------------------------ */
.section-sns{
  padding: 0;
}
.flex-sns{
  -webkit-justify-content: center;
  justify-content: center;
}
.flex-sns .flex-item{
  padding: 1.6rem 0;
  -webkit-flex-basis: 33.333%;
  flex-basis: 33.333%;
  text-decoration: none;
}
.flex-sns .flex-item p{
  padding-top: 40px;
  position: relative;
}
.flex-sns .flex-item p:before{
  position: absolute;
  display: block;
  top: 0%;
  left: 50%;
  -ms-transform: translate(-50%,-0%);
  -webkit-transform: translate(-50%,-0%);
  transform: translate(-50%,-0%);
  font-family: FontAwesome;
  text-align: center;
  font-size: 24px;
  transition: all .15s ease-in-out;
}
.flex-sns .flex-item:nth-child(1) p:before{
  font-family: "Font Awesome 5 Brands";
  content: '\f3c0';
  font-weight: 900;
}
.flex-sns .flex-item:nth-child(2) p:before{
  content: '\f16d';
}
.flex-sns .flex-item:nth-child(3) p:before{
  content: '\f099';
}
@media screen and (min-width: 640px){
  .flex-sns .flex-item{
    padding: 2.4rem 0;
  }
}
@media screen and (min-width: 782px){
  .flex-sns .flex-item{
    padding: 3.2rem 0;
  }
}