/*******************************************************
 * for COMMON PAGE
 *******************************************************/

/*------------------------------------------------------
  Gallery (visual portfolio)
-------------------------------------------------------*/
.galleryblock { padding-bottom: clamp(2rem, -0.182rem + 10.91vw, 8rem); }
.galleryblock .wp-block-visual-portfolio.alignwide { 
 margin: 2rem 0;
 width: 100% !important;
}
.entry-content h2.gallerytitle { padding-top: clamp(0.5rem, 3vw, 5rem); }

@media screen and (max-width: 787px) {
.galleryblock .vp-portfolio__item-wrap,
.mobile2 .vp-portfolio__item-wrap { width: 50% !important; }
}

.galleryblock .vp-portfolio__items-wrap { margin-bottom: 30px; }
.galleryblock .vp-pagination .vp-pagination__item a {
 display: block;
 padding: 1rem 2rem;
 width: fit-content;
 background-color: #92d030;
 border: none;
 border-radius: 50px;
 color: #fff;
 text-align: center;
 text-decoration: none;
 cursor: pointer;
 outline: none;
 opacity: 1;
 text-transform: uppercase;
 transition: opacity 0.15s linear;
}
.galleryblock .vp-pagination .vp-pagination__item a span {
 font-family: 'Noto Sans JP', sans-serif;
 font-size: clamp(0.813rem, 0.744rem + 0.34vw, 1rem);
 font-weight: 700;
 letter-spacing: 0.05em;
 line-height: 1;
}
.galleryblock .vp-pagination .vp-pagination__item::after {
  display: block;
  margin-top: -0.8rem;
  color: #92d030;
  font-size: clamp(2.813rem, 2.585rem + 1.14vw, 3.438rem);
  line-height: 1;
  font-family: "Material Symbols Outlined";
  content: "\e5c5";
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}
.galleryblock .vp-pagination .vp-pagination__item:hover::after { color: #e8e8e8; }


[data-vp-layout=slider][data-vp-slider-bullets=true] .vp-portfolio__items-wrap {
  padding-bottom: 2.2rem;
}

/*------------------------------------------------------
  Instagram Feeds (Smash Balloon)
-------------------------------------------------------*/
#sb_instagram { margin-bottom: 4rem; }
#sb_instagram h3 { border-left: 0; }
.entry-content h2.insta-head { text-align: center; }
.entry-content h2.insta-head span {
 display: flex;
 justify-content: center;
 align-items: center;
 margin: 0 auto;
 font-weight: 400;
}
.entry-content h2.insta-head span::before {
 display: block;
 content: "";
 margin-right: clamp(1.2rem,4vw,1.8rem);
 width: 1.3em;
 height: 1.3em;
 background-image: url("/wp/wp-content/themes/twentytwenty-child/img/common/icon_instagram.png");
 background-repeat: no-repeat;
 background-size: contain;
}
.entry-content h2.insta-head a { color: #404040; }

/*------------------------------------------------------
  Accordion box (Feature box)
-------------------------------------------------------*/
.js-accd dt {
 position: relative;
 cursor: pointer;
}
.js-accd dd, .js-accd > .accd_detail {
 margin:0;
 padding: 0;
 height: 0;
 overflow: hidden;
 transition: .5s;  
}
.js-accd dd p {
 margin: 0;
 padding: 1.2rem 0.4rem 0.5rem;
}
.js-accd dd p + * {
 margin: 0 0.4rem 0.5rem;
 padding: 0;
}


/* Feature box -------------------------------------*/
.feature-box dl > div {
 margin: 0 0 1rem;
 padding: 14px;
 background-color: #fff;
 border-radius: 10px;
} 
.feature-box dt {
 display: flex;
 align-items: center;
 position: relative;
 cursor: pointer;
 font-weight: 500;
}
.feature-box dt:hover{ opacity: 0.8; }
.feature-box dt picture { width: 37%; }
.feature-box dt div {
 padding: 0 0 0 20px;
 width: 63%;
}
.feature-box dt div {
 padding-bottom: 1em;
 font-size: clamp(0.875rem, 0.693rem + 0.91vw, 1.375rem);
 line-height: 1.5;
}
.feature-box dt div span {
 padding-bottom: 2px;
 border-bottom: 1px solid #404040;
 font-size: 70%;
 font-family: "Montserrat", sans-serif;
 letter-spacing: 0.06em;
}
.feature-box dt div span::after { 
 content: "\A";
 white-space: pre;
 display: block;
 height: 0.5rem;
}
.feature-box dt::after,
.feature-box .active dt[aria-expanded="false"]::after{
 position: absolute;
 right: 0;
 bottom: 8px;
 width: 24px;
 height: 24px;
 transition: .5s;
 font-size: clamp(1.6rem, 1.455rem + 0.73vw, 2rem);
 color: #555;
 font-family: "Material Symbols Outlined";
 content: "\e147";
 font-variation-settings:
  'FILL' 1,
  'wght' 300,
  'GRAD' 200,
  'opsz' 24
}
.feature-box .active dt[aria-expanded="true"]::after {
 color: #888;
 font-family: "Material Symbols Outlined";
 content: "\e15d";
 font-variation-settings:
  'FILL' 0,
  'wght' 300,
  'GRAD' 0,
  'opsz' 24
}

.feature-box dd {
 margin:0;
 padding: 0;
 height: 0;
 overflow: hidden;
 transition: .5s;
}

@media screen and (min-width: 601px) and (max-width: 768px){
.feature-box dl > div {
 margin-bottom: 1.5rem;
 padding: 20px;
}
.feature-box dt div { padding-left: 2rem; }
.js-accd .active dt[aria-expanded="false"]::after{
 width: 28px;
 height: 28px;
}
}

@media screen and (min-width: 768px){
.js-accd dt {	pointer-events: none; }
.feature-box dt div span { font-size: 60%; }
.js-accd-wrap dd,
.js-accd > .accd_detail { height: auto;}

.feature-box dl > div {
 margin: 0 0 25px;
 padding: 30px;
 min-height: 320px;
 position: relative;
}
.feature-box dt {
 cursor: default;
 padding-left: 360px;
} 
.feature-box dt::after,
.feature-box .active dt[aria-expanded="false"]::after,
.feature-box .active dt[aria-expanded="true"]::after {
 position: initial;
 content: "";
}
.feature-box dt:hover { opacity: 1; }
.feature-box dt picture {
 width: 340px;
 height: 264px;
 position: absolute;
 left: 0;
 top: 0;
}
.feature-box dt div {
 padding-bottom: 0;
 width: 100%;
 font-size: clamp(0.875rem, 0.693rem + 0.91vw, 1.375rem);
}
.feature-box dt div span::after { height: 0.8rem; }
.feature-box dd { padding-left: 380px; }
.feature-box dd p { padding-top: 1rem; } 

}

@media screen and (min-width: 920px){
.business .feature-box dt div { padding-top: 2rem; }
}


/*------------------------------------------------------
  PRICE: Profile Plan
-------------------------------------------------------*/
.pr-plan dl {
 margin: 1rem auto;
 padding: 0;
 max-width: 660px;
}
.pr-plan.dark-pink dt { background-color: #c27070; }
.pr-plan.dark-pink dt li { color: #c27070; }
.pr-plan.dark-pink dd { background-color: #f7ecec; }
.pr-plan.dark-blue dt { background-color: #6686a7; }
.pr-plan.dark-blue dt li { color: #6686a7; }
.pr-plan.dark-blue dd { background-color: #ebeff4; }
.pr-plan.brown dt { background-color: #bd956e; }
.pr-plan.brown dt li { color: #bd956e; }
.pr-plan.brown dd { background-color: #f6f1ec; }

.pr-plan dt {
 display: flex;
 justify-content: space-between;
 align-items: center;
 padding: 1rem;
 border-radius: 6px 6px 0 0;
 color: #fff;
}
.pr-plan dt div ul {
 margin: 0 0 0.3rem;
 padding: 0;
 display: flex;
}
.pr-plan dt div li {
 margin: 0 8px 0 0;
 padding: 2px 7px;
 background-color: #fff;
 font-size: 90%;
 list-style: none;
}
.pr-plan dt p {
 margin: 0;
 font-size: clamp(1.375rem, 1.239rem + 0.68vw, 1.75rem);
 font-weight: 400;
 line-height: 1.3;
}
.pr-plan dt p + p { margin-top: 0.8rem; }
.pr-plan dt p span { font-size: 55%; }
.pr-plan dt p span.freetx { display: block; }
.pr-plan dt p strong {
 font-size: 200%;
 font-family: "Roboto", sans-serif;
 line-height: 1;
}
.pr-plan > p {
 margin: 0 auto 2rem;
 max-width: 660px;
}
.pr-plan dt picture {
 width: 45%;
 max-width: 120px;
}
.pr-plan dd {
 margin: 0;
 padding: 1.2rem;
 border-radius: 0 0 6px 6px;
}
.pr-plan dd picture,
.pr-plan dd figure { margin: 0 auto; }
.pr-plan dd picture + p,
.pr-plan dd figure + p,
.pr-plan dd p + p {
 margin-top: 1rem;
 margin-bottom: 0;
}
.pr-plan dd figcaption {
 margin: 0.5rem auto 2rem;
 color: #403f34;
 font-family: 'Noto Sans JP', sans-serif;
 font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
 text-align: center;
}
.pr-plan dd h5 {
 margin: 1rem 0 0.6rem;
 padding: 0.5rem 1rem;
 color: #fff;
 font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
 font-weight: bold;
}
.pr-plan.dark-pink dd h5 { background-color: #c27070; }
.pr-plan.dark-blue dd h5 { background-color: #ebeff4; }
.pr-plan.brown dd h5 { background-color: #bd956e; }

@media screen and (max-width: 500px){
.pr-plan dt p strong { font-size: 140%; }
}
@media screen and (min-width: 768px){
.pr-plan dt p span.freetx { display: initial; }
.pr-plan dd figure.w410 { max-width: 410px; }

}



/*------------------------------------------------------
  PRICE: Memorial Main Price box
-------------------------------------------------------*/
.entry-content .icon-plus + h4.photoprice { margin-top: 0; }
.pricefont {
 font-family: "Roboto", sans-serif;
 font-weight: 400;
 font-style: normal;
 line-height: 1;
 letter-spacing: normal;
}
.taxin {
 color: #403f34;
 font-size: 0.813rem;
 font-weight: normal;
}
.mprice_l div .taxin {
	margin-left: -0.5rem;
	font-size: 0.72rem;
}
.taxin span { font-size: 85%; }
.mprice_l div { margin: 0.5rem 0 1rem; }

.mainprice {
 margin: 0 0 1.5rem;
 padding: 20px 30px;
 background-color: #fff;
 border-radius: 10px;
 box-shadow: 0 0 20px rgba(82, 103, 13, 0.1);
}
.mainprice .mprice_l { font-size: clamp(0.875rem, 0.852rem + 0.11vw, 0.938rem); }
.mainprice .mprice_l .pricefont { font-size: clamp(1.563rem, 1.545rem + 1.27vw, 2.5rem); }
.mainprice .mprice_l p:first-of-type { margin-bottom: 0.5rem; }
.mainprice .mprice_l strong.pricefont {
 font-size: clamp(3.2rem, 2.659rem + 2.71vw, 4.688rem);
 white-space: nowrap;
}
.mainprice .mprice_l strong.pricefont .stx { font-size: 60%; }
.mainprice .mprice_l strong.pricefont .sstx {
 display: block;
 margin: 0.3rem 0;
 font-size: 40%;
 font-weight: 700;
}
.mprice_l div .pricefont { margin-left: 10px; }
.mainprice .mprice_r p {
 margin: 0;
 font-size: clamp(0.875rem, 0.868rem + 0.51vw, 1.25rem);
 font-weight: normal;
}
.mainprice .mprice_r ul {
 margin: 0;
 padding: 0;
 font-size: clamp(0.813rem, 0.79rem + 0.11vw, 0.875rem);
}
.mainprice .mprice_r li {
 margin: 0.2rem 0 0 1rem;
 font-size: 90%;
}
.mainprice.icons .mprice_r ul {
 display: flex;
 margin: 1rem 0 0.3rem;
}
.mainprice.icons .mprice_r li {
 margin: 5px 10px 5px 0;
 padding: 10px;
 width: 107px;
 height: 107px;
 background-color: #f8f8f8;
 border-radius: 20px;
 font-size: clamp(0.563rem, 0.494rem + 0.34vw, 0.75rem);
 font-weight: bold;
 text-align: center;
 line-height: 1.3;
 list-style: none;
 display: flex;
 justify-content: center;
 align-items: center;
}
.mainprice.icons .mprice_r figure { margin-bottom: 5px; }
.mainprice.icons .mprice_r ul + p {
 margin: 0;
 font-size: 85%;
}


@media screen and (min-width: 550px){
.mainprice {
 display: flex;
 align-items: center;
}
.mprice_r {
 margin: 0 auto 0 40px;
 white-space: nowrap;
}
.mainprice .mprice_rp { margin-bottom: 0.5rem; }
.mainprice .mprice_r li {
 margin-top: 0.3rem;
 font-size: inherit;
}
.mprice_l p {
 margin: 0.5rem 0 0;
 padding: 0.3rem 0 0;
 width: 100%;
 } 
.mprice_l p + p { margin-top: 0; }

}
@media screen and (min-width: 550px) and (max-width: 660px){
.mprice_l .taxin { display: block; text-align: right; }
.mprice_l strong .taxin { margin: -3px 0 0.5rem; }
.mprice_l div .taxin { margin-top: 2px; margin-left: 0; }

}

@media screen and (min-width: 768px){
.mprice_l {
 padding-right: 40px;
 width: 70%;
 border-right: 1px dotted #d0d0d0;
 display: flex;
 flex-wrap: wrap;
 align-items: center;
}
.mprice_l strong { margin-right: 20px; }
.mainprice.icons .mprice_l { padding-right: 10px; }
.mainprice.icons .mprice_l { width: initial; }

}

@media screen and (min-width: 800px){
.mprice_l .taxin { display: block; text-align: right; }
.mprice_l .kimonoin .taxin { display: initial; text-align: left; }
.mprice_l strong .taxin { margin-top: -5px; }
.mprice_l div .taxin { margin-top: 2px; }
}
@media screen and (min-width: 940px){
}

/*------------------------------------------------------
  PRICE: Set price list
-------------------------------------------------------*/
.price-detail { margin-bottom: clamp(4rem, 10vw, 8rem); }
.price-detail .scrollarea + .icon-plus { margin-top: 2rem !important; }

.entry-content div.icon-plus {
 margin: 0 auto 1rem!important;
 padding-top: 34px;
 width: 34px!important;
 background-color: #666;
 border-radius: 100px;
 position: relative;
}
.entry-content div.icon-plus::before,
.entry-content div.icon-plus::after {
 content: "";
 display: block;
 background-color: #fff;
 width: 20px;
 height: 3px;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
}
.entry-content div.icon-plus::after {
 -webkit-transform: translate(-50%, -50%) rotate(90deg);
 transform: translate(-50%, -50%) rotate(90deg);
}
.price-detail .products_set {
 display: flex;
 margin-bottom: 1rem;
 width: 850px;
 background-color: #fff;
 border-radius: 10px;
 vertical-align: middle;
}
.price-detail .products_set > dl {
 margin: 0;
 padding: 20px 15px;
 width: 24%;
 min-width: 180px;
 background-color: #92d030;
 border-radius: 10px 0 0 10px;
 color: #fff;
 box-shadow: 0 0 20px rgba(82, 103, 13, 0.1);
 position: relative;
}
.price-detail .products_set > dl dt {
 font-size: clamp(1.25rem, 1.248rem + 0.17vw, 1.375rem);
 white-space: nowrap;
}
.price-detail .products_set dd {
 margin: 0;
 padding: 0;
 font-size: clamp(0.75rem, 0.748rem + 0.17vw, 0.875rem);
 line-height: 1.7;
}
.price-detail .products_set dd .taxin { color: #fff; }
.price-detail .products_set dd span:not(.taxin) {
 display: inline-block;
 margin: 4px 0 6px;
 padding: 4px;
 border: 1px solid #fff;
 line-height: 1;
}
.price-detail .products_set dd strong {
 font-size: clamp(1.875rem, 1.845rem + 0.87vw, 2.5rem);
 font-family: "Roboto", sans-serif;
 font-weight: 400;
 font-style: normal;
 line-height: 1.2;
 letter-spacing: normal;
 white-space: nowrap;
}
.price-detail .products_set dd strong .taxin {
 display: block;
}
.price-detail .products_set .pd-box {
 display: flex;
 padding: 20px 10px 20px 20px;
 width: 76%;
 border-radius: 0 10px 10px 0;
 box-shadow: 0 0 20px rgba(82, 103, 13, 0.1);
}
.price-detail .products_set .pd-box .cut-box {
 margin: auto 15px auto 0;
 width: 30%;
 max-width: 150px;
 vertical-align: middle;
 text-align: center;
 line-height: 1.4;
}
.price-detail .products_set .pd-box .cut-box strong {
 display: block;
 margin: 0 auto 0.5rem;
 width: 7.5em;
 font-size: clamp(0.938rem, 0.915rem + 0.11vw, 1rem);
 text-align: center;
}
.price-detail .products_set .pd-box dl {
 margin: 0 10px;
 width: 35%;
}
.price-detail .products_set .pd-box dt { margin-bottom: 0.2rem; }
.price-detail .products_set .pd-box dd {
 
}
.price-detail .products_set .pd-box dd p {
 margin: 0.5rem 0 0;
 font-size: 90%;
 line-height: 1.4;
}

/* オススメ Marker ************/
.price-detail .products_set.recommend > dl::after,
.price-detail .products_set.reco-nenga > dl::after {
 content: "オススメ";
 background-color: #fff96c;
 border-radius: 50%;
 width: 49px;
 height: 49px;
 color: #403f34;
 font-size: 10px;
 font-weight: 900;
 line-height: 1;
 letter-spacing: 0;
 display: flex;
 justify-content: center;
 align-items: center;
 position: absolute;
 right: -20px;
 top: 10px;
 box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.2);
}
.price-detail .products_set.reco-nenga > dl::after {
 content: "年賀状にオススメ";
 text-align: center;
 line-height: 1.2;
}

@media screen and (min-width: 840px){
.scrollarea.scroll-hint { overflow: initial!important; }
.price-detail .products_set {
 width: 100%;
 max-width: 1040px;
}
.price-detail .products_set > dl { padding: 20px; }
.price-detail .products_set dd strong { font-size: 2.8rem; }

}


/*------------------------------------------------------
  PRICE SET: Modal (Item details)
-------------------------------------------------------*/
.price-detail .modal p { font-size: clamp(0.75rem, 0.727rem + 0.11vw, 0.813rem); }
.price-detail .modal ul {
 margin: 0;
 display: flex;
 flex-wrap: wrap;
}
.price-detail .modal li {
 margin: 0;
 padding: 10px 10px 20px;
 width: 50%;
 list-style: none;
}
.price-detail .modal li picture {
 display: block;
 margin-bottom: 0.4rem;
}
.price-detail .modal li p { margin: 0; }
.price-detail .modal li p span {
 display: block;
 font-size: 90%;
}
.price-detail .modal .modal_container > p {
 margin: 0.3rem 0 0;
 line-height: 1.5;
 text-indent: -1em;
 padding-left: 1em;
}

.price-detail #simple-set ul,
.price-detail #two-choice1 ul,
.price-detail #two-choice2 ul,
.price-detail #data-set ul,
.price-detail #album-set1 ul,
.price-detail #album-set2 ul,
.price-detail #premium1 ul,
.price-detail #premium2 ul { justify-content: center; }

@media screen and (min-width: 680px){
.price-detail .modal li { width: calc(100% / 3);}

}
@media screen and (min-width: 840px){
.price-detail .modal li { padding: 20px; }
 
}


/*------------------------------------------------------
  PRICE: Option Box
-------------------------------------------------------*/
.inc-option {
 margin-bottom: 1.5rem;
 padding: 1rem;
 background-color: #fff;
 border: 3px solid #efefef;
 border-radius: 10px;
}
.inc-option + h2 { margin-top: 3rem !important; }
.inc-option dt {
 font-size: clamp(1.25rem, 1.205rem + 0.23vw, 1.375rem);
 font-weight: normal;
 position: relative;
}
.inc-option .btn_pd-detail span {
 color: #7fa6c3;
 font-size: clamp(0.813rem, 0.767rem + 0.23vw, 0.938rem);
 font-weight: bold;
}
.inc-option .btn_pd-detail { margin-bottom: 0; }
.inc-option .btn_pd-detail span {
 display: flex;
 align-items: center;
}
.inc-option .btn_pd-detail span::after {
 margin-left: 3px;
 color: #7fa6c3;
 font-size: 150%;
 font-family: "Material Symbols Outlined";
 content: "\e147";
 font-variation-settings:
  'FILL' 1,
  'wght' 300,
  'GRAD' 200,
  'opsz' 24;
 transition: .3s;
}
.inc-option .active .btn_pd-detail span::after,
.inc-option .btn_pd-detail.open::after {
 color: #7fa6c3;
 font-family: "Material Symbols Outlined";
 content: "\e15d";
 font-variation-settings:
  'FILL' 0,
  'wght' 300,
  'GRAD' 0,
  'opsz' 24
}

.op-price {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}
.op-price + .op-price { margin-top: 1rem; }
.op-price dl { margin: 0; }
.op-price dt { display: flex; align-items: center; }
.op-price dt picture { width: 37%; }
.op-price dt picture img { margin: 0 auto; }
.op-price dt div {
 padding: 0 0 0 15px;
 width: 63%;
 font-size: clamp(0.875rem, 0.693rem + 0.91vw, 1.375rem);
 line-height: 1.5;
}
.op-price dd { font-size: 1rem; }
.op-price dd > p {
 margin: 1rem 0 0;
 padding: 0 0.2rem;
 font-size: 90%;
 font-weight: 500;
 line-height: 1.4;
}
.op-price dd ul { margin: 1rem 0 1.5rem; }
.op-price dd > p + ul { margin-top: 0; }
.op-price dd li {
 padding: 0;
 border-bottom: 1px dotted #ddd;
 font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
}
.op-price dd li div span { letter-spacing: 0.05em; }
.op-price dd li p {
 padding: 0.3rem 0;
 font-size: clamp(0.625rem, 0.602rem + 0.11vw, 0.688rem);
 line-height: 1.4;
}
.inc-option dd li .pricefont,
.oplist li .pricefont {
 display: block;
 margin: 0.2rem 0 0.3rem;
 font-size: clamp(1.563rem, 1.472rem + 0.45vw, 1.813rem);
 letter-spacing: normal;
 white-space: nowrap;
}
.op-price dd li .taxin,
.oplist li .taxin { font-size: 37%; }

.inc-option .option-notes {
 margin: -0.5rem 0 1rem;
 padding: 1rem;
 background-color: #f8f8f8;
}
.inc-option .option-notes p {
 margin: 0 0 0.5rem;
 padding-left: 1rem;
 text-indent: -1rem;
 color: #878a8d;
 line-height: 1.6;
}
.inc-option .op-price a.btn {
 margin: 1.5rem auto 0;
 padding: 0.8rem 1.5rem;
 width: 100%;
 max-width: 20em;
 background: #d6cdc7;
 border: none;
 border-radius: 50px;
 color: #404040;
 font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
 font-weight: 600;
 letter-spacing: 0.0333em;
 line-height: 1.25;
 text-align: center;
 text-decoration: none;
 cursor: pointer;
 opacity: 1;
 text-transform: uppercase;
 transition: opacity 0.15s linear;
 position: relative;
 display: flex;
 align-items: center;
 justify-content: center;
 }
.inc-option .op-price a.btn::after {
 position: absolute;
 right: 1rem;
 font-size: 140%;
 font-family: "Material Symbols Outlined";
 content: "\e941";
 font-variation-settings:
 'FILL' 0,
 'wght' 400,
 'GRAD' 0,
 'opsz' 24 
}
.entry-content a.btn { border-bottom: 0; }
.entry-content a.btn:hover { opacity: 0.8; }

@media screen and (min-width: 500px){
.op-price dt div { padding-left: 20px; }
.op-price dd li { border-bottom: 0; }
.op-price dd li > div,
.oplist li > div {
 display: flex;
 align-items: center;
 justify-content: space-between;
 position: relative;
}
.op-price dd li > div::after,
.oplist li > div::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	z-index: 1;
	width: 100%;
	border-bottom: 2px dotted #aaa;
}
.op-price dd li > div span,
.oplist li > div span {
 background-color: #fff;
 z-index: 2;  
}
.inc-option dd li .pricefont,
.oplist li .pricefont {
 margin: 0;
 padding-left: 0.25rem;
 font-size: 1.75rem;
 letter-spacing: -0.02em;
 white-space: nowrap;
}
.op-price dd li p { padding: 0.2rem 0; }
.op-price dd li .taxin,
.oplist li .taxin {
 margin: 0.2rem -4px 0 0;
 text-align: right;
 display: block;
}

}

@media screen and (min-width: 768px){
.inc-option { padding: clamp(20px, 6vw, 40px); }
.inc-option + .inc-option { margin-top: 3rem!important; }
.inc-option + h2 { margin-top: 5rem !important; }

.op-price { display: initial; }
.op-price + .op-price dl { margin-top: 1rem; }
.op-price dt {
 pointer-events: none;
 cursor: default;
 padding-left: 42%;
}
.op-price dt picture {
 display: block;
 width: 37%;
 height: calc(37% * 0.79518);
 position: absolute;
 left: 0;
 top: 0;
}
.op-price dt picture::after {
 display: block;
 content: "";
 height: 20px;
}

.op-price dt div {
 margin-bottom: 0.5rem;
 padding: 0;
 width: 100%;
 }
.op-price .btn_pd-detail { display: none; }
.op-price dd { 
 padding-left: 42%;
 font-weight: bold;
 min-height: 18vw;
}
.op-price dd > p {
 margin: 1rem 0 0;
 font-weight: 500;
 line-height: 1;
}
.op-price dd ul,
.oplist ul { margin-bottom: 1.5rem; font-weight: normal; }
.op-price dd ul:not(:last-of-type) {
 border-bottom: 1px solid #efefef;
 padding-bottom: 1rem;
}
.op-price dd li::before { display: none; }
.op-price dd li,
.oplist li { margin: 0.4rem 0 0 1.3rem; }
.op-price dd li:first-child,
.oplist li:first-child { margin: 0 0 0 1.3rem; }
.op-price dd li div span,
 .oplist li div span { letter-spacing: normal; }

.inc-option .option-notes { margin: 1rem 0 0; padding: 2rem; }
.inc-option .option-notes p {
 margin: 0 0 0.2rem;
 line-height: 1.7;
}
 
}

@media screen and (min-width: 1000px){
.op-price dd li .taxin,
.oplist li .taxin { display: initial; }
}


/*------------------------------------------------------
  PRICE: Option Box / Irregular type
-------------------------------------------------------*/
.entry-content .white-box h4.opname,
.entry-content .border-box h4.opname {
 font-size: clamp(1.25rem, 1.205rem + 0.23vw, 1.375rem);
 font-weight: normal;
}
.entry-content .white-box h4.opname_l,
.entry-content .border-box h4.opname_l {
 font-size: clamp(1.375rem, 1.284rem + 0.45vw, 1.625rem);
 font-weight: normal;
}
.entry-content .border-box h4.opname span {
 display: block;
 font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
 font-family: "Montserrat", sans-serif;
 font-weight: 500;
}
.border-box .btn + .opname {
 margin-top: 1.5rem;
 padding-top: 1.5rem;
 border-top: 1px solid #efefef;
}
.oplist { margin-bottom: 1.5rem; }
.oplist p {
 margin: 0;
 padding: 1.2rem 0.4rem 0.5rem;
}
.oplist > p {
 margin: 1rem 0 0;
 padding: 0 0.2rem;
 font-size: 120%;
 font-weight: 500;
 line-height: 1.4;
}
.oplist > p.stx {
 font-size: 80%;
 font-weight: 400;
 line-height: 1.7;
}
.oplist ul { margin: 0.5rem 0 0; }
.oplist li {
 padding: 0;
 border-bottom: 1px dotted #ddd;
 font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
}
.oplist li p {
 padding: 0.3rem 0;
 font-size: clamp(0.625rem, 0.602rem + 0.11vw, 0.688rem);
 line-height: 1.4;
}
.taxtx {
 color: #403f34;
 font-size: clamp(0.625rem, 0.58rem + 0.23vw, 0.75rem);
 font-weight: normal;
}


@media screen and (min-width: 500px) {
.oplist li { border-bottom: 0; }
.oplist li p { padding: 0.2rem 0; }
}
@media screen and (min-width: 768px){
.oplist > p {
  margin: 0;
  font-weight: 500;
  line-height: 1;
}
.oplist > p.stx { font-size: 72%; }
.oplist ul {
  margin-bottom: 0.5rem;
  font-weight: normal;
}
.oplist li { margin: 0.4rem 0 0 1.3rem; }
.oplist li:first-child { margin: 0 0 0 1.3rem; }

}

/*------------------------------------------------------
  PRICE: Option List: TEXT ver.
-------------------------------------------------------*/
.oplist.op_tx ul { margin: 0 auto 3rem; }
.oplist.op_tx li {
 margin: 0 0 0.5rem;
 padding: 1rem 0.2rem 0.5rem 0.8rem;
 border-bottom: 1px dotted #a6a7a7;
 font-size: clamp(0.813rem, 0.745rem + 0.34vw, 1rem);
 font-weight: 500;
 list-style: none;
}
.oplist.op_tx li:first-child {
 padding-top: 1.5rem;
 border-top: 1px solid #a6a7a7;
}
.oplist.op_tx li:last-child { border-bottom: 1px solid #a6a7a7; }

@media screen and (min-width: 500px) {
.oplist.op_tx li > div::after { border-bottom: 0; }
}
@media screen and (min-width: 768px) {
.oplist.op_tx ul { margin-bottom: 5rem; }
}

/*------------------------------------------------------
  PRICE: Productions Box & list
-------------------------------------------------------*/
.pdbox { position: relative; }
.pdbox .wp-block-columns:not(.alignwide):not(.alignfull),
.pdbox .wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter) {
 margin: 0;
}
.pdbox h3 {
 margin: 0 0 0.5rem;
 padding-left: 0;
 border-left: 0;
 font-size: clamp(1.25rem, 1.205rem + 0.23vw, 1.375rem);
 font-weight: normal;
 letter-spacing: 0.1em;   
}
.pdbox p {
 margin-bottom: 0.5rem;
 line-height: 1.7;
}
.pdbox .products-list {
 margin: 1rem 0 0;
 padding: 1.5rem 0 0;
 border-top: 1px solid #efefef;
}
.pd-items + .pd-items { margin-top: 2rem; }
.pdbox .pd-items h4 {
 margin: 0.8rem 0 1rem;
 font-size: 0.875rem;
 font-weight: normal;
}
.pdbox .pd-items dl {
 margin: 0 0 2.5rem;
 display: flex;
 flex-wrap: wrap;
 align-items: flex-end;
}
.pdbox dl:last-of-type { margin-bottom: 0; }
.pdbox .pd-items dt {
 padding-bottom: 0.4rem;
 width: 65%;
 border-bottom: 1px dashed #bbb;
 font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
 line-height: 1.5;
}
.pdbox .pd-items dt span { display: block;}
.pdbox dd {
 margin: 0;
 padding-bottom: 0.2rem;
 width: 35%;
 border-bottom: 1px dashed #bbb;
 font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
 line-height: 1.4;
}
.pdbox dd:not(:first-of-type) { text-align: right; }
.pdbox .pd-items dd span {
 display: block;
 margin-right: -0.5em;
 font-size: 68%;
}
.pdbox dd + dt { margin-top: 1rem; }
.pdbox dt:first-of-type,
.pdbox dd:first-of-type {
 padding: 0.2rem 0;
 border-bottom: 0;
 background-color: #f5f5f5;
 color: #555;
 text-align: center;
}
.pdbox dd:first-of-type {
 width: calc(35% - 10px);
 border-left: 10px solid #fff;
}
.pdbox .products-list p {
 margin: 0.4rem 0.3rem 1rem;
 width: 100%;
 font-size: 88%;
 text-align: left;
 line-height: 1.5;
}

@media screen and (min-width: 768px){
.pdbox { padding-bottom: 0; }
.pdbox .wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter) {
 margin-bottom: 0;
 max-width: 400px;
}
.pdbox .wp-block-column.pdsp-l20 { padding-left: 20px; }
.pdbox .wp-block-column h3 { padding-top: 0.5rem; }
.pdbox .btn_pd-detail { margin: 0; }
.pdbox p { margin-bottom: 1.5rem; }
.pdbox .products-list {
 margin-top: 3rem;
 padding-top: 3rem;
}
.pd-items {
 display: flex;
 align-items: flex-start;
}
.pd-items + .pd-items { margin-top: 4rem; }
.pd-items > div {
 width: 30%;
 max-width: 265px;
}
.pdbox .pd-items dl {
 margin-left: 40px;
 width: calc(70% - 40px);
}
.pdbox .products-list p { font-size: 80%; }
.pdbox .pd-items dt span,
.pdbox .pd-items dd span { display: initial; }
.pdbox .pd-items dt,
.pdbox .pd-items dd { padding-bottom: 0.5rem; }
.pdbox dd + dt { margin-top: 0.7rem; }
 
.pdbox .btn_pd-detail span {
 display: flex;
 align-items: center;
 justify-content: center;
 margin: 0;
 padding: 0.9rem 3rem;
 max-width: 16em;
 background-color: #d6cdc7;
 border-radius: 50px;
 color: #403f34;
 font-size: 0.875rem;
 text-align: center;
 line-height: 1;
 position: relative;
 }
.pdbox .btn_pd-detail span::after {
 position: absolute;
 right: 15px;
 margin-left: 10px;
 color: #403f34;
 font-size: 120%;
 font-family: "Material Symbols Outlined";
 content: "\e145";
 font-variation-settings:
  'FILL' 1,
  'wght' 400,
  'GRAD' 200,
  'opsz' 24;
 transition: .3s;
}
.pdbox details[open] .btn_pd-detail span::after {
 color: #403f34;
 font-family: "Material Symbols Outlined";
 content: "\e15b";
 font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}
 
}



/*------------------------------------------------------
  Include Option  (Option box / White Box & Border Box)
-------------------------------------------------------*/
.white-box, .border-box {
 margin: 0 0 3rem;
 padding: clamp(20px, 6vw, 40px);
 background-color: #fff;
 border-radius: 10px;
 box-shadow: 0 0 20px rgba(82, 103, 13, 0.1);
 position: relative;
}
.border-box {
 margin: 0 0 1.5rem;
 border: 3px solid #efefef;
 border-radius: 10px;
 box-shadow: 0 0 0;
}
.border-box.thick { border: 6px solid #efefef; }
.white-box.nosp, .border-box.nosp { margin-bottom: 1.5rem; }

.white-box .wp-block-columns:not(.alignwide):not(.alignfull),
.border-box .wp-block-columns:not(.alignwide):not(.alignfull) { margin: 0; }
.white-box .wp-block-columns:not(.alignwide):not(.alignfull) + .wp-block-columns,
.border-box .wp-block-columns:not(.alignwide):not(.alignfull) + .wp-block-columns { margin-top: 3rem; }

.white-box .wp-block-column,
.border-box .wp-block-column { width: 47.5%; }
.white-box .wp-block-heading + .wp-block-columns,
.border-box .wp-block-heading + .wp-block-columns { 
 margin: 0 auto;
 background-color: #fff;
 border-radius: 20px;
}
.entry-content .white-box h4,
.entry-content .border-box h4 {
 margin: 0 0 1rem;
 font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
}
.white-box .wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
.border-box .wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter) { margin: 0 0 1rem; }
.white-box .wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter) + .wp-block-image,
.border-box .wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter) + .wp-block-image { margin-top: 1rem; }

.white-box details,
.border-box details { margin-bottom: 10px; }
.white-box:not(.ct_faq):not(.mamastaff):not(.milkphoto) summary,
.border-box:not(.ct_faq):not(.enquete-rv) summary {
 display: block;
 padding: 12px 30px 12px 22px;
 background-color: #f8f8f8;
 border-radius: 50px;
 font-size: 110%;
 font-weight: bold;
 line-height: 1.2;
 position: relative;
}
.white-box:not(.ct_faq):not(.mamastaff):not(.milkphoto) summary::after,
.border-box:not(.ct_faq) summary::after {
 position: absolute;
 top: 50%;
 right: 18px;
 transform: translateY(-50%);
 margin-left: 10px;
 color: #403f34;
 font-size: 120%;
 font-family: "Material Symbols Outlined";
 content: "\e145";
 font-variation-settings:
  'FILL' 1,
  'wght' 400,
  'GRAD' 200,
  'opsz' 24;
 transition: .3s;
}
.white-box:not(.ct_faq):not(.mamastaff):not(.milkphoto) details[open] summary::after,
.border-box:not(.ct_faq) details[open] summary::after {
 color: #403f34;
 font-family: "Material Symbols Outlined";
 content: "\e15b";
 font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}
.white-box:not(.ct_faq):not(.mamastaff):not(.milkphoto) details ul,
.border-box:not(.ct_faq) details ul { margin: 1rem 0.5rem 1.5rem; }

.white-box.bg-pink,
.white-box.bg-pink .oplist li > div span { background-color: #f2eceb; }

@media screen and (min-width: 700px){
.white-box .wp-block-heading + .wp-block-columns,
.border-box .wp-block-heading + .wp-block-columns { padding: 40px;}
}
@media screen and (min-width: 768px){
.border-box { margin: 0 0 3rem; }
}
@media screen and (min-width: 782px){
.white-box .wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
.border-box .wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter) { margin: 0 40px 0 0; }
.white-box .wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter) + .wp-block-image,
.border-box .wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter) + .wp-block-image { margin-top: 1.5rem; }
}
.white-box .wp-block-image:has(.nosp),
.border-box .wp-block-image:has(.nosp) { margin: 0; }

@media screen and (min-width: 840px){
.white-box { margin: 0 0 5rem; }
.white-box.nosp { margin-top: 0; margin-bottom: 1.5rem; }
}


/*------------------------------------------------------
  JS Accordion (normal type)
-------------------------------------------------------*/
.nl-accordion {
 cursor: pointer;
 position: relative;
}
.nlac-content {
 width: 100%;
 height: 0;
 overflow: hidden;
 transition: all 0.5s;
}


/*------------------------------------------------------
  CSS Accordion
-------------------------------------------------------*/
.accd_sum { position: relative; }
.accd_sum .wp-block-columns:not(.alignwide):not(.alignfull),
.accd_sum .wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter) {
 margin: 0;
}
.accd_sum h3 {
 margin: 0 0 1rem;
 padding-left: 0;
 border-left: 0;
 font-size: clamp(1.25rem, 1.205rem + 0.23vw, 1.375rem);
 font-weight: normal;
 letter-spacing: 0.1em;   
}
.accd_sum p {
 margin-bottom: 1rem;
 line-height: 1.7;
}
.accd_sum .btn_acdetail {
 margin-bottom: 0.5rem;
 padding-bottom: 0.5rem;
}
.accd_sum .acdetail-cont {
 margin: 2rem 0 0;
 padding: 2rem 0 0;
 border-top: 1px solid #efefef;
}
.accd_sum .btn_acdetail .btnopen {
 display: flex;
 align-items: center;
 justify-content: center;
 margin: 0 auto;
 padding: 0.9rem 3rem 0.9rem 2.5rem;
 width: 80%;
 max-width: 20em;
 background-color: #d6cdc7;
 border-radius: 50px;
 color: #403f34;
 font-size: 0.875rem;
 font-weight: bold;
 text-align: center;
 line-height: 1;
 position: relative;
 }
.accd_sum .btn_acdetail .btnopen::after {
 position: absolute;
 right: 15px;
 margin-left: 10px;
 color: #403f34;
 font-size: 120%;
 font-family: "Material Symbols Outlined";
 content: "\e145";
 font-variation-settings:
  'FILL' 1,
  'wght' 400,
  'GRAD' 200,
  'opsz' 24;
 transition: .3s;
}
.accd_sum details[open] .btn_acdetail .btnopen::after {
 color: #403f34;
 font-family: "Material Symbols Outlined";
 content: "\e15b";
 font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}

@media screen and (min-width: 768px){
.accd_sum { padding-bottom: 0; }
.accd_sum .wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter) {
 margin-bottom: 0;
 max-width: 380px;
 }
.accd_sum .wp-block-column { max-width: 450px; }
.accd_sum .wp-block-column h3 { padding-top: 2rem; }
.accd_sum .btn_pd-detail { margin: 0; }
.accd_sum p { margin-bottom: 1.5rem; }
.accd_sum .btn_detail { margin-top: 2rem; }

}
@media (max-width: 781px) {
.accd_sum .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
 flex-basis: initial !important;
 }
}


/*------------------------------------------------------
  SUMMARY BOX: big type
-------------------------------------------------------*/
details.summary-box {
 margin: 2rem auto 10px !important;
 margin-bottom: 10px;
 border: 1px solid #787878;
 width: 97% !important;
}
.summary-box summary {
 display: block;
 padding: 1.7rem 3rem 1.7rem 1.5rem;
 font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
 font-weight: 400;
 line-height: 1.2;
 letter-spacing: 0.05em;
 position: relative;
}
.summary-box summary::after {
 position: absolute;
 top: 50%;
 right: 18px;
 transform: translateY(-50%);
 margin-left: 10px;
 color: #565656;
 font-size: 150%;
 font-family: "Material Symbols Outlined";
 content: "\e147";
 font-variation-settings:
  'FILL' 0,
  'wght' 200,
  'GRAD' 0,
  'opsz' 24;
 transition: .5s;
}
details.summary-box[open] summary::after {
 color: #565656;
 font-family: "Material Symbols Outlined";
 content: "\e644";
 font-variation-settings:
  'FILL' 0,
  'wght' 200,
  'GRAD' 0,
  'opsz' 24
}
.summary-box h4 {
 padding: 0 1.5rem;
 font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
}
.summary-box h6 {
 margin-bottom: 2rem;
 font-family: 'Noto Sans JP', sans-serif;
 font-size: clamp(1.063rem, 0.994rem + 0.34vw, 1.25rem);
 font-weight: 500;
}
.summary-box h6 span { border-bottom: solid 1px #565656; }
.summary-box > p { padding: 0 1.5rem; }
.summary-box p.stx:last-of-type { margin-bottom: 2rem; }
.summary-box ul { margin: 0 1.4rem 2rem 1rem; }
.summary-box li { margin-bottom: 0.5rem; }
.summary-box .wp-block-image { margin-top: 0 !important; }
.summary-box .wp-block-column figure { margin: 0 clamp(0.5rem, 3vw, 1.5rem); }
.summary-box .wp-block-column p { padding: 0 1rem; }

@media screen and (min-width: 840px){
.summary-box summary {
 display: block;
 padding: 2rem 4rem 2rem 2.5rem;
}
.summary-box h4,
.summary-box > p { padding: 0 2.5rem; }
.summary-box ul { margin: 0 2rem 3rem 2.5rem; }
.summary-box .wp-block-column p { padding: 0 2rem 0 0.5rem; }
 
}

.summary-box + .wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter) {
	margin-top: clamp(3rem, 7vw, 6rem); }


/*-----------------------------------------------------------------
 SUMMARY BOX Inner: Data details included in the plans
------------------------------------------------------------------ */
.data-detail {
 margin: 0 auto;
 width: 90%;
}
.data-detail figcaption {
 margin: 0;
 padding: 8px 0;
 color: #777;
 font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
}
.data-detail table {
 margin: 0 0 2rem;
 border: 1px solid #bbb;
 font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
}
.data-detail th,
.data-detail td { padding: 0.7rem !important; }

.question-banner {
 display: block;
 margin: 2rem auto;
 text-align: center;
}

@media screen and (min-width: 768px){
.data-detail table { margin: 0 0 4rem; }
.data-detail th,.data-detail td { padding: 1rem !important; }
.question-banner { margin: 4rem auto 2rem; }

}

 
/*------------------------------------------------------
  Banner Area
-------------------------------------------------------*/
.entry-content > .cpban {
 margin: 0 auto 50px !important;
 padding: 20px 0 30px;
 max-width: 860px !important;
}
.entry-content > .cpban.mbnosp {
	margin-bottom: 0 !important;
	padding-bottom: clamp(10px, 2vw, 25px);
}
.entry-content > .cpban:has(+ .btnarea){ padding-bottom: 0; }
.entry-content > .cpban.blog {
 margin-top: -30px !important;
 padding: 0;
}
.entry-content > .cpban a,
.entry-content > .cpban picture {
 display: block;
 border-bottom: 0;
}
.entry-content > .cpban a + *,
.entry-content > .cpban picture + * { margin-top: 25px; }
.entry-content > .banarea {
 margin: 0 auto 50px !important;
 padding: 0 5% 40px;
 max-width: 800px !important;
}
.entry-content > .banarea.tsp-30 { padding-top: -30px !important; }
.entry-content > .banarea.tsp { padding-top: 3rem !important; }
.entry-content > .cpban img
.entry-content > .banarea img {
 margin-left: auto;
 margin-right: auto;
}
.entry-content > .cpban > .btsp { margin-bottom: 2rem; }

@media (max-width: 500px){
.entry-content > .cpban.nosp { margin-bottom: 0 !important;	}
}
@media (min-width: 768px){
.entry-content > .cpban.tsp { padding-top: 5rem !important; }
.entry-content > .cpban a + * { margin-top: 40px; }
.entry-content > .cpban > .btsp { margin-bottom: 4rem; }
}
@media (min-width: 840px){
.entry-content > .banarea.tsp { padding-top: 5rem !important; }
.entry-content > .cpban.tsp { padding-top: 7rem !important; }
}

.bannertx {
 margin: clamp(3rem,12vw,6rem) auto 0.5rem;
 padding: 0;
 font-size: 120%;
 text-align: center;
}
.bannertx span {
 padding: 0 2em;
 position: relative;
}
.bannertx span::before,
.bannertx span::after {
 display: inline-block;
 content: "";
 width: 1px;
 background: #000;
 position: absolute;
 height: 25px;
 bottom: 0px;
}
.bannertx span::before {
 left: 0;
 transform: rotate(-30deg);
}
.bannertx span::after {
 right: 0;
 transform: rotate(30deg);
}


/*------------------------------------------------------
  FAQ (a part of contents)
-------------------------------------------------------*/
.ct_faq summary {
 display: block;
 font-size: clamp(0.813rem, 0.7rem + 0.57vw, 1.125rem);
 margin: 15px 0 clamp(10px, 2vw, 20px);
 padding: 0 clamp(25px, 4vw, 40px) 10px clamp(30px, 5vw, 50px);
 border-bottom: 2px solid #403f34;
 font-weight: bold;
 position: relative;
 cursor: pointer;
 transition: 0.3s;
}
.ct_faq summary::before {
 position: absolute;
 content: "Q.";
 font-size: 125%;
 font-family: "Montserrat", sans-serif;
 font-weight: bold;
 top: -2px;
 left: 3px;
}
.ct_faq summary::after {
 position: absolute;
 top: 50%;
 right: 0;
 transform: translateY(-50%);
 margin-left: 10px;
 font-size: 150%;
 font-family: "Material Symbols Outlined";
 content: "\e147";
 font-variation-settings:
  'FILL' 1,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24;
 transition: .3s;
}
.ct_faq details[open] summary::after {
 color: #403f34;
 font-family: "Material Symbols Outlined";
 content: "\e644";
 font-variation-settings:
  'FILL' 1,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}
.ct_faq p:not(.btn) {
 margin: 0;
 padding: 1.5rem 0.5rem 1rem;
 color: #505050;
}
.ct_faq p + p { padding-top: 0; }
.ct_faq details + .btn { padding-top: 2px; }

@media (min-width: 768px) {
.ct_faq summary::before { top: -3px; }

}

/*------------------------------------------------------
  ENQUETE REVIEW
-------------------------------------------------------*/
.enquete-miai h1::before,
.enquete-busi h1::before,
.enquete-jyuken h1::before {
 content: "セルフィットで撮影された方からの";
 margin-bottom: 0.2rem;
 font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
 font-weight: 400;
 display: block;
}

.enquete-rv h3 {
 margin: 3rem 0 1rem;
 padding: 0;
 border: 0;
 font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
}
.enquete-rv ul {
 margin: 0 auto 2rem;
 padding: 0;
 max-width: 900px;
}
.enquete-rv li {
 margin: 0;
 padding: 12px 0;
 border-bottom: 1px dashed #ccc;
 display: flex;
 list-style: none;
}
.enquete-rv li figure { width: 50px; }
.enquete-rv li p {
 margin: 0;
 padding: 0 0 0 0.3rem;
 width: calc(100% - 50px);
}

.enquete-rv.widein li { padding: 18px 0; }
.enquete-rv.widein li strong {
 display: block;
 margin-bottom: 0.2rem;
 font-size: clamp(0.938rem, 0.915rem + 0.11vw, 1rem);
 line-height: 1.4;
}

@media (min-width: 768px) {
.enquete-rv ul { margin-bottom: 3rem; }
.enquete-rv li { align-items: center; }
.enquete-rv li figure {
 width: 100px;
 max-width: initial;
}
.enquete-rv li p {
 padding: 0 0 0 0.5rem;
 width: calc(100% - 100px);
}
}


/*------------------------------------------------------
  Youtube
-------------------------------------------------------*/
h4.youtubecap {
 margin-bottom: 12px;
 font-size: clamp(0.938rem, 0.71rem + 1.14vw, 1.563rem);
 color: #3670b0;
 font-weight: bold;
}
.entry-content .youtubebox {
 margin: 0 auto 4rem !important;
 max-width: 660px !important;
}
@media screen and (min-width: 768px){
.entry-content .youtubebox { margin-bottom: 5rem !important; }
}


/*------------------------------------------------------
  Footer: Other website Banners
-------------------------------------------------------*/
.ft-banners ul {
 margin: 0 auto 2rem;
 padding: 0;
 width: 100%;
 max-width: 900px;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
.ft-banners li {
 margin: 0 0 2.5%;
 padding: 0;
 width: 48%;
 list-style: none;
}

@media screen and (min-width: 768px){
.ft-banners li {
 width: calc(92% / 3);
}

}

/*------------------------------------------------------
  Memorial Footer Contact
------------------------------------------------------*/
.entry-content > .fullw.ft_contact { margin-bottom: 0!important; }
.entry-content .ft_contact h2 { margin-bottom: 2.5rem; }
.ft_contact p { 
 margin: 0 0 1rem;
 text-align: center;
 line-height: 1.4;
}
.ft_contact p strong { font-size: 170%; }
.ft_contact p.stx strong { font-size: 110%; }
.ft_contact .btn_bk { line-height: 1; }
.ft_contact .btn_bk a {
 margin: 0 auto;
 max-width: 640px;
 border-radius: 10px;
 padding: clamp(40px,6vw,50px);
 /*background-color: #403f34;*/
 background-color: #ff8400;
 color: #fff;
 font-size: 120%;
 font-weight: bold;
 display: flex;
 align-items: center;
 justify-content: center;
 position: relative;
}
.ft_contact .btn_bk a::before {
 margin-right: 0.3rem;
 font-size: 160%;
 font-family: "Material Symbols Outlined";
 content: "\e158";
 font-variation-settings:
 'FILL' 0,
 'wght' 300,
 'GRAD' 0,
 'opsz' 24
}
.ft_contact .btn_bk a::after {
 position: absolute;
 right: 1rem;
 font-size: 150%;
 font-family: "Material Symbols Outlined";
 content: "\e941";
 font-variation-settings:
 'FILL' 0,
 'wght' 400,
 'GRAD' 0,
 'opsz' 24
}

@media screen and (min-width: 782px){
.entry-content .ft_contact h2 { margin-bottom: 0.5rem; }
}

@media screen and (min-width: 800px){
.ft_contact p:not(.btn_bk) { text-align: left; }
.ft_contact .btn_bk a { font-size: 150%; }

}

/*------------------------------------------------------
  Studio List page
-------------------------------------------------------*/
.studiolist .wp-block-columns { gap: 5.5rem; }
.entry-content .studiolist .wp-block-columns h2 {
 margin: 1rem auto 0.8rem;
 font-size: clamp(1.313rem, 1.244rem + 0.34vw, 1.5rem);
 font-weight: 500;
 font-family: 'Noto Sans JP', sans-serif;
 line-height: 1.5;
 letter-spacing: 0.1em;
}
.entry-content .studiolist .wp-block-columns h2 strong {
 display: block;
 margin-bottom: 5px;
 color: #bd956e;
 font-size: 70%;
 font-weight: 900;
}

.studiolist .btn-gmap a {
 display: inline-block;
 margin: 3px 0 0 0;
 padding: 8px 15px;
 background-color: #bd956e;
 border-bottom: 0 !important;
 border-radius: 3px;
 color: #fff;
 text-align: center;
 line-height: 1;
}
.studiolist .btn-gmap a:hover { opacity: 0.8; }
.studiolist .list-tel {
 margin-bottom: 0;
 font-size: 90%;
}
.studiolist .list-tel strong,
.studiolist .list-tel a {
 color: #bd956e;
 font-size: clamp(2rem, 1.955rem + 0.23vw, 2.125rem);
	font-weight: bold;
 line-height: 1.2;
}
.studiolist .list-tel a {
	text-decoration: none;
	pointer-events:none;
}
.studiolist .btn_sq a {
 margin: 1rem 0;
 padding: 1.7rem 2rem;
 width: 100%;
 max-width: none;
 color: #535353;
 font-size: 130%;
 font-family: "Montserrat", sans-serif;
 letter-spacing: 0.05em;
}

@media screen and (max-width: 781px) {
.studiolist .wp-block-columns {
 margin: 0 !important;
 gap: 0;
}
.studiolist .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
 margin: 3rem auto 0;
 max-width: 568px;
}
}
@media screen and (min-width: 782px) {
.studiolist .wp-block-columns:not(.alignwide):not(.alignfull) + .wp-block-columns { margin-top: 5rem; }
.entry-content .studiolist .wp-block-columns h2 { margin: 2rem auto 1rem; }
}


/*------------------------------------------------------
  Footer: Instagram
-------------------------------------------------------*/
.ft-insta { position: relative; }
.ft-insta .wp-block-visual-portfolio.alignwide { 
 margin-top: 2rem;
 padding: 20px;
 width: 100% !important;
 background-color: #f9f8f7;
}
.ft-insta a.instalink {
 display: flex;
 align-items: center;
 justify-content: center;
 background-color: #fff;
 border-radius: 136px;
 width: clamp(94px,10vw,136px);
 height:  clamp(94px,10vw,136px);
 color: #6dacda;
 box-shadow: 0 0 15px rgba(82, 103, 13, 0.1);
 transition: 0.4s;
 position: absolute;
 bottom: -35px;
 right: 0;
}
.ft-insta a.instalink span {
 margin-top: -5px;
 border-bottom: 1px solid #6dacda;
}
.ft-insta a.instalink:hover { opacity: 0.5; }

@media screen and (max-width: 787px) {
.ft-insta .vp-portfolio__item-wrap { width: 50% !important; }
}
@media screen and (min-width: 788px) and (max-width: 992px) {
.ft-insta .vp-portfolio__item-wrap { width: 25% !important; }
}
@media screen and (min-width: 840px) {
.ft-insta a.instalink {
 font-size: 90%;
 right: -40px;
 bottom: -25px;
}
}


/*------------------------------------------------------
  Footer: Menu Plan list (Illustrations)
-------------------------------------------------------*/
.ft-planlist ul {
 margin: 0 auto 1rem;
 padding: 1.5rem 1rem 1rem;
 border: 10px solid #ededed;
 display: flex;
 flex-wrap: wrap;
}
.ft-planlist li {
 margin: 0 1.6vw 1rem;
 padding: 0;
 width: calc((100% - 16vw) / 5);
 font-size: 70%;
 font-weight: 500;
 text-align: center;
 line-height: 1.3;
 letter-spacing: normal;
 list-style: none;
}
.ft-planlist li figure { margin-bottom: 5px; }
.ft-planlist li a { color: #404040; }
.ft-planlist li a:hover { opacity: .8; }

.ft-planlist ul + p {
	margin-bottom: 2rem;
	font-size: clamp(0.688rem, 0.619rem + 0.34vw, 0.875rem);
}

@media screen and (max-width: 540px){
.ft-planlist ul { padding: 1rem 0.5rem 0; }
.ft-planlist li {
 margin: 0 0.2rem 1rem;
 padding: 0;
 width: calc((100% - 2rem) / 5);
}

}

@media screen and (min-width: 768px){
.ft-planlist ul { padding: 2rem 1rem 1rem; }
.ft-planlist li {
 margin: 0 1.4vw 1rem;
 width: calc((100% - 19.6vw) / 7);
 font-size: 80%;
}
.ft-planlist ul + p { margin-bottom: 4rem }
 
}

/*------------------------------------------------------
  TOP他: Campaign Banners
-------------------------------------------------------*/
.wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter).btsp { margin-bottom: clamp(2.5rem, 8vw, 5rem); }

.cp-area {
 margin: 3rem auto 4rem;
 padding: 0;
 width: 100%;
}
.cp-area + h2 { margin-top: 5rem; }
.cp-area .wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter) {
 margin: 0;
}
.cp-area ul {
 margin: 0.5rem 0.5rem 1.5rem 1.5rem;
 padding: 0;
}
.cp-area li {
 margin: 0;
 padding: 0;
 font-size: 85%;
}

.bnr-inner {
 margin-top: 2rem;
 padding: 0 clamp(0.8rem,5vw,2rem);
}

