@charset "utf-8";

.pb0 { padding-bottom: 0 !important;}


/* title */
.title_box{ position:relative; padding:8em 0;
  background:url(../img/plan/new_pagetitle2501.jpg) no-repeat center top / cover; }
.pageTitle{ position:relative; display:inline-block; padding-top:0.6em; font-size:1.3em;
  line-height:1.6; color:#000; }
.pageTitle .en{ display:block; font-size:0.6em; }
.pageTitle::before{ position:absolute; content:""; width:2.3em; height:100%; left:50%; top:-0.6em;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  background: url(../img/deco_camera.svg) no-repeat 0 0 / 100%; }
.title_sub { width: 50%; padding-left: 18.2px;}

.sub{ margin-bottom:1.5em; font-size:1.2em; letter-spacing:0.05em; }
.sub > .small{ margin-left:0.5em; }
.sub_line{ margin-bottom:1.2em; padding-bottom:0.8em; font-size:1.1em; text-align:center;
  letter-spacing:0.05em; border-bottom:2px solid #444444; }

.long_title_box {padding: 6em 0 2em; margin-bottom:3em;}
.long_title_box .txt{ position:relative; padding-top:0.6em;}
.long_title_box .sub{ margin-bottom: 0; }

.planttl_img { width: 30%; height: 100%; object-fit: contain;}
.planttl_img_hf { display: block; margin: 10px auto 30px; width: 50%;}

.t_sand{ margin-bottom:1.2em; padding:0.8em 0; text-align:center; font-size:1.1em; color:#60372c;
  border-top:2px solid #75564b; border-bottom:2px solid #75564b; }
.t_sand.bg{  background:#f2eee9;}
.t_sand .col_tx{ font-size:1.1em; }

.t_loud{ margin-bottom:0.7em; text-align:center; font-size:1.2em; }
.t_loud .con{ position:relative;}
.t_loud .con::before{ position:absolute; content:""; width:20px; height:40px; left:-1em; top:0;
  background:url(../img/deco_loud.svg) no-repeat 0 0 / 100%; }

.col_tx { color:#e62444; }
.daily{ display:inline-block; min-width: 6em; height: fit-content; margin:0 1em 0 0; padding:0.5em; text-align:center; color:#FFF; background:#777777; }
.point_tx{ margin-top:0; padding:0.5em 1em; background:#f2cac6; }
.point_tx.orange{ background:#f9e4ce; }
.detail .txt .point_tx{ text-align:center; color:#e62444; font-size:1.1em; }
.detail .txt .point_tx.orange{ color:#e64924; }

.tojitsu .sub_line {border-bottom: dashed 2px #f0657c;}
.tojitsu .sub_line>span {color: #f0657c; font-size: 1.2em;}

/* list */
.kome_list{ margin:1em 1em; font-size:0.9em; }
.kome_list li{ position:relative; margin-bottom:0.2em; padding-left:1.2em; }
.kome_list li::before{ position:absolute; content:"※"; left:0; top:0; }

.c_list li .kome{ position: relative; font-size:0.9em; padding-left:1.2em; }
.c_list li .kome::before{ position:absolute; content:"※"; left:0; top:0; }

.count_list{ list-style-type:none; margin:0; padding:0; }
.count_list > li{ position:relative; width: 100%; padding:1em 0 1em 3em;
  border-bottom:2px dashed #9c8079; }
.count_list > li.no{ border:0; }
.count_list > li::before{ position:absolute; content:""; width:30px; height:30px;
  text-align:center; line-height:25px;
  font-family: 'Rufina', serif; font-size:1.2em; left:0; top:0.6em;
  color:#FFF; background:#464646; border-radius:50%; }
.count_list > li.c0{ padding-left:0; }
.count_list > li.c0::before{ content:none; }
.count_list > li.c1::before{ content:"1"; }
.count_list > li.c2::before{ content:"2"; }
.count_list > li.c3::before{ content:"3"; }
.count_list > li.c4::before{ content:"4"; }
.count_list > li.c5::before{ content:"5"; }
.count_list > li.c6::before{ content:"6"; }
.count_list > li.c7::before{ content:"7"; }
.count_list > li.c8::before{ content:"8"; }
.count_list > li.c9::before{ content:"9"; }

.count_list2{ list-style-type:none; margin:0; padding:0; }
.count_list2 > li{ position:relative; width: 100%; padding:1em; }
.count_list2 > li.no{ border:0; }
/*.count_list2 > li::before{ position:absolute; content:""; width:30px; height:30px;
  text-align:center; line-height:25px;
  font-family: 'Rufina', serif; font-size:1.2em; left:0; top:0.6em;
  color:#FFF; background:#464646; border-radius:50%; }
.count_list2 > li.c0{ padding-left:0; }
.count_list2 > li.c0::before{ content:none; }
.count_list2 > li.c1::before{ content:"1"; }
.count_list2 > li.c2::before{ content:"2"; }
.count_list2 > li.c3::before{ content:"3"; }
.count_list2 > li.c4::before{ content:"4"; }*/
.count_list2 > li.c5::before{ content:"5"; }
.count_list2 > li.c6::before{ content:"6"; }
.count_list2 > li.c7::before{ content:"7"; }
.count_list2 > li.c8::before{ content:"8"; }
.count_list2 > li.c9::before{ content:"9"; }

.gift.col2 .count_list2{ width:100%; }
.gift.col2 .count_list2{ width:100%; }

.gift.col2 .count_list{ width:100%; }
.gift.col2 .count_list{ width:100%; }
.price_link{ margin:1em auto; }
.c0.no .sub{ margin-bottom:0; }

.c_list{ margin:1em 0; }
.c_list li{ position:relative; margin-bottom:0.5em; padding-left:1.2em; }
.c_list li::before{ position:absolute; content:""; width:10px; height:10px; left:0; top:0.5em;
  background:#f0657c; border-radius:50%; }

.c_list_detail{ margin:1em 0; }
.c_list_detail>li{ display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap;
  justify-content:space-between; -webkit-justify-content:space-between;
  padding:1em 0 0.5em; font-size:0.9em; border-bottom:2px dashed #9c8079; }
.c_list_detail .t_item{ position:relative; width:75%; margin-bottom:0.5em; padding-left:1.2em; }
.c_list_detail .t_item::before{ position:absolute; content:""; width:8px; height:8px; left:0; top:0.5em;
  background:#f0657c; border-radius:50%; }
.c_list_detail .t_txt{ width:25%; margin:0; text-align:right; }

.c_list_detail .point{ position:relative; margin-bottom:-0.5em; padding-left:1.2em; }
.c_list_detail .point::before{ position:absolute; content:""; width:8px; height:8px; left:0; top:1.6em;
  background:#f0657c; border-radius:50%; }

.dot_list li{ position:relative; margin-bottom:0.3em; padding-left:1.0em; font-size:0.9em; }
.dot_list li::before{ position:absolute; content:""; width:4px; height:4px; top:0.8em; left:0;
  background:#f0657c; border-radius:50%; }

.line_list li{ margin-bottom:1em; padding-bottom:1em; border-bottom:1px solid #c2afa5; }
.line_list li:last-child{ margin-bottom:0; padding-bottom:0; border-bottom:0; }

.or_list>li { width: 100%; max-width: 500px;}
.or_list>li>a { padding: 1rem; display: block; text-decoration: none; background: #fcc;  }
.or_list>li>a:hover { background: #fdd; }
.or_list>li + li::before { content:'or'; display: block; padding-bottom: .2em; }

.or_list2>li { width: 100%; max-width: 500px;}
.or_list2>li>a { padding: 1rem; display: block; text-decoration: none; background: #fcc;  }
.or_list2>li>a:hover { background: #fdd; }
.or_list2>li + li::before { content:'or'; display: block; padding-bottom: .2em; }

.d_data{ margin-bottom:1.5em; }
.d_data > div{ display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap;
  margin-bottom:0.6em; }
.d_data dt{ width:30%; margin-right:1em; padding:0.6em 0; text-align:center;
  background:#e7e2d0; }
.d_data dt.required::after { content:"※"; color:#c00; }
.d_data dd{ -webkit-box-flex:1; flex:1; padding:0.6em 0 0.6em 0.3em; border-bottom:1px solid #CCC; }
.d_data .tel dd{padding:0em 0 1.2em 0.3em;}
.d_data > div:last-child dd{ border:0; }
.d_data dd img{width: 28%;}
.d_data .kitsuke{width:10%;}

.t_data{ width:100%; border-collapse:separate; border-spacing:4px; }
.t_data tr > *{ padding: 0.5em 1.2em; }
.t_data th{ background:#f2eee9; }
.t_data td{ background:#FFF; border-bottom:1px solid #ccc; }
.t_data tr:last-child td{ border:0; }

.auto_num_list{ counter-reset: num; }
.dec{ position:relative; margin-right:0.5em; padding-right:1em;
  font-family: 'Rufina', serif; font-size:1.2em; line-height: 1; color:#75564b; }
.dec::before{ position:absolute; right:0; font-size:1.5em;
  counter-increment: num; content: counter(num, decimal); }
.box_contents{ margin:1em 0; padding:1em;  }

.plus>:is(p,div) { margin: 0; padding: 1em; }
.plus>div { padding:0 1em; }

/* contents ---------------- */
#contents #slider_cam { padding:2em 0; }
#contents .category_link{ margin-top:0; }
#contents.bg_g{ padding:2em 0 2em; }
.sec_box{ margin-bottom:3em; }
.p_box{ padding:2em 0; }

/* plan */
#plan { overflow: hidden; }

.alert {display: inline-block; justify-content: center; align-items: center; padding: 0 .5em; font-size: 1.2em; text-align: center; color: #fff; background: #ff738a;}
.txt_cmb {text-align: center;
  margin-bottom: 2em; font-size: 1.2em;}
.txt_cmb>span {background: linear-gradient(transparent 57%, #f0657c30 10%);}

.notice_buy>p:first-child {    padding-left: 1.2em;
  position: relative; margin-bottom: -0.5em;}
.notice_buy>p:first-child::before {
  content: "◆";
  position: absolute;
  top: 2px;
  left: 0;
  color: #d61a54;
  font-size: .875em;
}
.concept{ padding:2em 1em; }
.concept .txt{ width:100%; }
.concept .sub{ position:relative; padding-top:3em; text-align:center; }
.concept .sub::before{ position:absolute; content:""; width:3em; height:100%;
  top:0; left:50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  background: url(../img/deco_chair.svg) no-repeat 0 0 / 100%; }

.concept2{ padding:2em 1em; }
.concept2 .txt{ width:100%; }
.concept2 .sub{ position:relative; padding-top:3em; text-align:center; }
.concept2 .sub::before{ position:absolute; content:""; width:3em; height:100%;
  top:0; left:50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  background: url(../img/deco_chair.svg) no-repeat 0 0 / 100%; }
.title.mb0 { margin-bottom: 0; }
.title.cam::before{ width: 3.5em; left: 53%; top: -10px;
  background:url(../img/deco_camera.svg) no-repeat 0 0 / 100%; }
.title.data::before{ width: 2.8em; left: 53%; top: -18px;
  background:url(../img/deco_data.svg) no-repeat 0 0 / 100%; }
.id .title.cam::before{ left:46%; top:-45px; }
.price_box .usual{ display:inline-block; position:relative; margin:0 1em 0 0; padding:0.5em 0.7em; background:#e9e9e9; }
.price_box .usual::before{ position:absolute; content:""; width: 0; height: 0; top:calc(50% - 6px); right:-8px;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #e9e9e9; }
.price_box .usual span{ margin:0 0.1em; font-size:1.1em; }
.price_box .price{ display:inline-block; margin:0 0 0 1.35em; }
.profile .sub_line { margin-top: 3em;}
.profile .price_box .price{ margin:0 1.5em 0.5em 0; }
.profile { margin-bottom: 3em; }
.price_box .price .gf-rufina{ font-size:1.5em; font-weight:700; line-height: 1; color:#f0657c; }
.campaign .link_arrow span{ padding:0.3em 1.5em 0.5em 2.5em; font-size:0.9em; }
/* .campaign .link_arrow span::before{ top: 1.0em; left: 1.0em; } */

.icon_box { max-width: 800px; margin-inline: auto}
.icon_list{ margin-bottom:2em; }
.icon_list li{ width:140px; height:140px; margin:0.5em 1%; text-align:center;
  background:#e8d6cd; }
.icon_list li{ position:relative; }
.icon_list li .icon{ position:absolute; top:38%; left:50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%); }
.icon_list li .con{ position:absolute; bottom:0.8em; left:50%; font-size:0.85em; line-height: 1.3;
  transform: translateX(-50%); -webkit-transform: translateX(-50%); white-space: nowrap; }
.icon_list li .con.small { font-size: 0.68em; }
.t_loud .con .col_tx{ display:inline-block; position:relative; line-height:1.4;
  background:linear-gradient(transparent 60%, #fcd1cd 0%); }
.ico_download { width: 70%; }

.gift{ padding:1em 1em; border:2px solid #464646; }
.gift .sub{ margin-bottom:0.5em; text-align:left; line-height: 1.5; }
.gift .count_list p{ margin:0; }
.gift .count_list .col_tx{ margin:0 0.2em; }
.gift .count_list .col_tx.marker { background: linear-gradient(transparent 65%, #fdd 0%);}
.gift .count_list .daily{ margin:0 0.4em; padding:0.15em 0.4em; font-size:0.75em; }
.gift .count_list:last-child li:last-child{ border:0; }
.gift .present > div { padding: .5em; position: relative;}
.gift .present > div:nth-child(odd) { background-color: #f4f4f4;}
.gift .present > div .col_tx { margin: 0;}
.gift .present > div dd { padding-left: 1.5em; position: relative;}
.gift .present > div dd::before { position: absolute; left: 0; top: 14px; display: block; width: 16px; height: 2px; background: #e62444; content: "";}
.detail .txt{ margin-bottom:2em; }
.detail2{ margin: 2em 0 4em; }
.detail2 .col_tx{ line-height: 1.6; }
.detail2 .col_tx .black{ color:#222; }
.col2 .txt{ width:100%; }
.sub_line > .small{ margin-left:0.5em; }

.gift .present2 {margin: 1.5em 0;}
.gift .present2>li {width: 48%;}

.dress .title{ position:relative; }
.dress .title::before{ width:2em; top: -20px;
  background:url(../img/deco_dress.svg) no-repeat 0 0 / 100%; }
.dress .box_contents{width: 62%;　margin: 0 auto;}
.dress .odekake,.campaign .odekake{margin: 30px 5px;}
.campaign .odekake a:hover{opacity: 0.8;}
.dress_list{ margin-bottom:2em; }
.dress_list_shi{ margin-bottom:2em; }
.dm1{flex-wrap: wrap;justify-content: space-around;}
.dress_list li{ width:49%; margin-bottom:0.5em; }
.dress_list li a{ display: block; position: relative; overflow: hidden;
    width:100%; padding-top:100%;
    box-shadow: 0 0 15px rgba(0,0,0,0.1); }
.dress_list li a img{ position: absolute; top: 50%; left: 50%;
  max-width: 150%; max-height: 150%;
  -webkit-transform:translate(-50%, -50%); transform: translate(-50%, -50%);
  -webkit-transition:all .2s; transition: all .2s; }

.dress_list_shi li{ width:49%; margin-bottom:0.5em; }
.dress_list_shi li a{ display: block; position: relative; overflow: hidden;
    width:100%; padding-top:100%;
    box-shadow: 0 0 15px rgba(0,0,0,0.1); }
.dress_list_shi li a img{ position: absolute; top: 50%; left: 50%;
  max-width: 150%; max-height: 150%;
  -webkit-transform:translate(-50%, -50%); transform: translate(-50%, -50%);
  -webkit-transition:all .2s; transition: all .2s; }

.goods_list li{ width:32%; }
.tx_girl{ margin-right:0.3em; font-size:0.9em; color:#cb2869; }
.tx_boy{ margin-right:0.3em; font-size:0.9em; color:#2869cb; }
.id .concept .pic{ width:70%; margin:0 auto; }
.slider_20{ margin-bottom:3em; }
.dress_txt{ text-align:center; font-size:1.4em; }
.dress_txt .gf-rufina{ font-size:1.8em; }
.dress_txt .con{ display:inline-block; position:relative; padding:0 1em; line-height:1.4;
  background:linear-gradient(transparent 60%, #fcd1cd 0%); }
.dress_txt .con::before{ position:absolute; content:""; width:45px; height:100%; top:0; left:-50px;
  background:url(../img/deco_kira.svg) no-repeat 0 0 / 100%; }
.dress_txt .con::after{ position:absolute; content:""; width:45px; height:100%; top:0; right:-50px;
  background:url(../img/deco_note.svg) no-repeat 0 0 / 100%; }
.pic_data{ width:80%; margin:2.5em auto 3em; }

.album .title::before{ width:2.2em; top: -25px;
  background:url(../img/deco_album.svg) no-repeat 0 0 / 100%; }
.album .d_data dt{ width:auto; text-align:left; background:none; }
.album .d_data dd{ text-align:right; }
.album .t_sand{ margin-top:2em; }
.album .pic{ text-align:center; }

.id_make{margin-left: 30px;}
.id_ba ul li{ padding: 0.5em; }
.id_ba .dress_list li{ margin-bottom:0; }
.id_ba figcaption{ background:#f2eee9; padding: 0.5em 0; margin-top:0.5em;}
.id_ba img{border: 1px solid #44444424;}
.id_after span.gf-rufina{color:#f0657c;}

.portrait_profile_ttl{padding:0 10px 20px;}
.profile_retouch{padding:20px 0 20px;}
.profile_ba figcaption{ background:#f2eee9; padding: 0.5em 0; margin-top:0.5em;}
.profile_ba ul li{ padding: 0.5em; width: 49%; }
.profile_ba figcaption{ background:#f2eee9; padding: 0.5em 0; margin-top:0.5em;}
.profile_ba figcaption.profile_after {color:#e62444; background: #f2cac6; }
.profile_ba img{border: 1px solid #44444424;}

.yousou ul,.wasou ul{width:60%; margin-top: 2em;}
.yousou ul.wide,.wasou ul.wide {width: 100%;}
.yousou .wedding_y,.wasou .wedding_w{width: 35%; margin: 0.5em;}

.seijin_plan_img { margin:3em auto 1.2em ; max-width:682px;}

.plan_img {margin:0 auto 2.5em; max-width: 682px;}

.point_pluswrap { margin: 2em 0; }
.point_plusbox,.point_plus { margin: 0; line-height:4rem;}
.point_plusbox { padding:0 1em; font-size: 1.2em; background: #f2cac6; border: 2px solid #ecb0aa; }
.point_plus { margin: 0 0.5em; color: #999; font-size: 2rem; }

.rental_price_head { box-sizing: border-box; margin: 1px 0; padding: 1em 0; width: 25%; background: #e8d6cd;}
.rental_price_753_ul { margin: 1px 0; width:75%; }
.rental_price_753_ul>li { box-sizing: border-box; padding: 1em 0; border-left: 2px solid #fff; background: #feb;
  width : 33.33333% ;
  width : -webkit-calc(100% / 3) ;
  width : calc(100% / 3) ;
}
.rental_price_753_ul>li:first-child { background: #fcc; }
.rental_price_753_ul>li:last-child { background: #bef; }
.rental_price_753_ul>li.price {background: #fff6dd; }
.rental_price_753_ul>li.price:first-child { background: #fdd; }
.rental_price_753_ul>li.price:last-child { background: #ddf6ff; }

.pic-ttl{ max-width:650px; margin-inline:auto; margin-bottom:1.5em; text-align:center; }
.pic-ttl.plan-ttl{ max-width:auto; }
#option .col_tx{ margin-right:0.3em; }

/* 753 */
.autumn-go-out > span { font-size: 2.5em; font-weight: 700; color:#f0657c; line-height: 1; }
.tour-lead .big { font-size: 1.5em;}
.tour-lead .col_tx { font-size: 2.5em; font-weight: 700; color: #f0657c; line-height: 1;}
.link_arrow.btn_753 {margin: 2em auto;}
.mb_15 { margin-bottom: 1.5em; }
.mt_25 { margin-top: 2.5em; }

.shichigosan .icon_list li { width: 15%; height: 130px; margin: .5%; }
.shichigosan .icon_list li .con.small { letter-spacing: -0.2px; line-height: 1; }


.campaign_img figure { width: 50%; }
.campaign.odekake_rental .c_list_detail { margin-block: 0 2.5em; }
.campaign .odekake_txt { margin-bottom: 0; }

/* お宮参り・祝百日 */
.baby .icon_list li .con.small { letter-spacing: -0.2px; line-height: 1; font-size: 0.75em; }
.baby .pic_data2  { margin: 2.5em auto 2em; }
.baby #plan_a .pic_data2  { margin: 2.5em auto 2em; }
.baby #plan_a .c_list_detail .t_item  { width: 100%; }
.baby #plan_a .detail.flex.flex-between  { width: 80%; margin: 0 auto 1em; }



/* Galery */
.gallery_list{ position: relative; width: 100%; margin: 0 auto; }
.item, .item.x2{ width:100%; }

/* FAQ */
#faq .title_box{ background-image:url(../img/faq/pagetitle.jpg); }
.q_title{ position:relative; padding: 0.2em 0 0.2em 2em; color:#35120a; }
.q_title::before{ position:absolute; content:"Q"; left:0; top:0;
  font-family: 'Rufina', serif; font-size:1.3em; line-height:1.0; color:#75564b; }
.a_box{ position:relative; padding-left:2em; }
.a_box::before{ position:absolute; content:"A"; left:0.1em; top:0;
  font-family: 'Rufina', serif; font-size:1.3em; line-height:1.0; }

/* plan */
#baby.title_box{ background-image:url(../img/plan/pagetitle_baby.jpg); margin-bottom: 0; }
#birthday.title_box{ background:url(../img/plan/pagetitle_birthday_test.jpg) no-repeat top left / cover; }
#family.title_box{ background-image:url(../img/plan/pagetitle_family.jpg); }
#furisode.title_box{ background-image:url(../img/plan/pagetitle_furisode.jpg?20230120); }
#gra.title_box{ background-image:url(../img/plan/pagetitle_gra.jpg); }
#hakama.title_box{ background-image:url(../img/plan/pagetitle_hakama_2408.jpg); }
#hakama_jr.title_box{ background-image:url(../img/plan/pagetitle_hakama_jr.jpg); }
#half.title_box{ background-image:url(../img/plan/pagetitle_half.jpg); }
#half.title_box{ background-image:url(../img/plan/pagetitle_half2_test.jpg); }
#id.title_box{ background-image:url(../img/plan/pagetitle_id.jpg); }
#maternity.title_box{ background-image:url(../img/plan/new_pagetitle_maternity.jpg); }
#momo.title_box{ background-image:url(../img/plan/pagetitle_momo.jpg); }
#profile.title_box{ background-image:url(../img/plan/pagetitle_profile.jpg); }
#seijin.title_box{ background-image:url(../img/plan/pagetitle_seijin.jpg); }
#seijin.long_title_box{ background-image:url(../img/plan/pagetitle_seijin_.jpg); }
#seijin_men.title_box{ background-image:url(../img/plan/pagetitle_seijin_men.jpg);; }




/* seijin */
.seijin .icon_box { max-width: 600px; }
.seijin .icon_box, #contents.seijin_men .icon_box { margin-top: 1.5em; }



#tango.title_box{ background-image:url(../img/plan/pagetitle_tango.jpg); }
#wedding.title_box{ background-image:url(../img/plan/pagetitle_wedding.jpg); }
#plan .furi _list li { margin-left: 1em; }
.copy{ margin-bottom:3em; font-size:1.05em; }
.seiyaku{ margin-top:2em; }
.id .wrap .t_data{ margin-bottom:1.5em; }
.discount{ text-align:center; }
.discount .max{ margin:2em auto; }

.img-wedding-list {gap: 1em; margin-bottom: 1em;}
.img-wedding-list>li {width: 32%;}

.slide_data .slick-prev,
.slide_data .slick-next { height: 60px; background: #e8d6cd;}
.slide_data .slick-prev:hover,
.slide_data .slick-next:hover { background: #e8d6cd;}
.slide_data .slick-prev:focus,
.slide_data .slick-next:focus { background: #e8d6cd;}
.slide_data .slick-prev { left: -10%;}
.slide_data .slick-next { right: -10%;}
.slide_data .slick-prev::before,
.slide_data .slick-next::before { display: block; width: 10px; height: 10px; border-top: 2px solid #fff; content: "";}
.slide_data .slick-prev::before { border-left: 2px solid #fff; transform: rotate(-45deg) translate(10px, 10px); }
.slide_data .slick-next::before { border-right: 2px solid #fff; transform: rotate(45deg) translate(8px, -8px);}

.sec_box .img_box {margin-bottom: 2em;}
.furisode .box_contents {margin-bottom: 3em;} 
.furisode .gift {margin-bottom: 3em;} 
.furisode .gift.souki_campaign p { font-size: 1.1em; }
.furisode .gift.souki_campaign p span.big { font-size: 1.1em; }
.furisode .gift.souki_campaign figure, .furisode .gift .count_list figure { width: 80%; margin-inline: auto; }
.furisode .gift .count_list li.c3 figure  { width: 40%; margin-right: 0; }
.furisode .gift.sonota_tokuten .c_list > li { position: relative; width: 100%; padding: 1em 0 1em 3em; border-bottom: 2px dashed #9c8079; }
.furisode .gift.sonota_tokuten .c_list > li::before { width: 20px; height: 20px; left: 1em; top: 1.5em; }
.furisode .gift.sonota_tokuten .c_list > li:last-child { border: none; }

.tojitsu {padding: 3.5em 0 2em; background: #f2eee9;}
.ttl_tojitsu {  margin-bottom: 2em;font-size: 1.7em;}
.ttl_tojitsu>span {background: linear-gradient(transparent 66%, #f0657c85 52%);}
.tojitsu_list>li {margin-bottom:1em; padding:2.2em 0 3em; background: #fff;}
.tojitsu .notice{background: none;}
.tojitsu_list .t_sand{ width:57%; color: #e62444;}
.bnr_furisode { text-align:center; margin-bottom: 3.5em; }


.seijin .album_list, #contents.seijin_men .album_list  { max-width: 800px; margin: 3em auto 0; text-align: center; }
.seijin .album_list h4, #contents.seijin_men .album_list h4 { margin-bottom: 0.3em; font-size: 1.4em; color: #f0657c; }
.seijin .album_list ul, #contents.seijin_men .album_list ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1em }
.seijin .album_list ul li, #contents.seijin_men .album_list ul li { border: 2px solid  #9c8079; }

.birthday .concept .txt { margin: 0 auto; }
.birthday .title { margin-top: 3.5em; }
#plan.birthday #contents .campaign .wrap { width: 50%; margin:0 auto; }
#shichigosan { margin-bottom: 0; }

/* access */
#access .title_box{ background-image:url(../img/access/pagetitle.jpg); }
.gmap{ width:100%; height:300px; margin-top:1em; border:0; }
.access_map figcaption{ background:#f2eee9; padding: 0.5em 0; margin-top:0.5em;}
.access_map ul li{ padding: 0.5em; width: 50%; }
.access_map figcaption{ background:#f2eee9; padding: 0.5em 0; margin-top:0.5em;}
.access_mapa img{border: 1px solid #44444424;}


/* flow */
#flow .title_box{ background-image:url(../img/flow/pagetitle.jpg); }
#flow .col2 .pic{ text-align:center; }

/* price */
#price .title_box{ background-image:url(../img/price/pagetitle.jpg); }
#price .pic_basic{ width:90%; margin:-2em 0 auto auto;}
.pic_album{ margin:3em auto; text-align:center; }
#price #a_option th{width: 15%; background: #e7e2d0;}
#price #a_option table{margin:auto auto 0.6em -4px;}
#price #a_option .kitsuke{padding: 20px 0;}
#price .wrap { width: 64%; margin: 0 auto;}
#price .t_sand { margin-top: 3.5em; }

/* gallery */
#gallery .title_box{ background-image:url(../img/gallery/pagetitle.jpg); }

#gallery .gallery_list{ display:flex; display: -webkit-flex; justify-content:space-between; -webkit-justify-content: space-between; margin: 0; flex-wrap: wrap; -webkit-flex-wrap: wrap;  box-sizing:border-box;}
#gallery .item,.item.x2{ width:49%; margin:0 0 8px 0; }
#gallery .item a,.x2 a{ display: block; position: relative; overflow: hidden; width:100%; padding-top:100%; box-shadow: 0 0 15px rgba(0,0,0,0.1); }
#gallery .item a img,.x2 a img{ position: absolute; top: 50%; left: 50%; max-width: 150%; max-height: 150%; -webkit-transform:translate(-50%, -50%); transform: translate(-50%, -50%); -webkit-transition:all .2s; transition: all .2s; }


/* contact */
#contact .title_box{ background-image:url(../img/contact/pagetitle.jpg); }
#contact .linea_box { margin: 0.5em auto 1.5em; }


/* reserve */
.notice_box { width:100%; max-width:860px; margin:0 auto; }
.notice_box .link_list > li { width: 48%; border: 2px solid #957868;}
.notice_box .txt_area { padding-inline: 1.5em;}
.notice_box .txt_area.height { padding-block: 2.5em 2em;}
.notice_box .txt_area .txt { font-size: .9em; text-align: start;}
.notice_box a.tel { font-size: clamp(20px,3vw,25px); color: #957868; text-decoration: none;}
.notice_box .contact_box .tel::before { width: 1em;}
.notice_box .contact_box .tel::after { width: 1em;}
.notice_box .link_arrow { margin-top: .5em;}
.notice_box figure { width: 50%; margin: 1.5em auto;}
.notice_box .contact_box { width: 100%; padding: unset;}
.linea_box{border: 2px solid #00b900;  background: #fff; padding: 20px 20px 10px; margin: 50px auto 0;  width: 400px; font-size: .9em;  position: relative;  margin-bottom: 30px;}
.linea_box .qr { width: 100px; position: absolute;top: 20px; right: 10px;}
.linea_box .btn { display: none;}
#reserve .protagonist{ margin-right: 1em; }
#reserve #form .link span { padding-right: 1.2em;}

/* blog */
#blog .title{ margin-bottom:1em; }
#blog .title_box{ background-image:url(../img/pagetitle.jpg); }
#blog .t_loud{ margin-bottom:0.5em; padding-bottom:0.8em; text-align: left; border-bottom: 2px dashed #9c8079; }

/* ================================================================
  レスポンシブ
=================================================================== */
/* 600以上(PC・タブレット) */
@media screen and (min-width: 600px) {
  #contents #slider_cam { padding:4em 0; }
  #contents.bg_g{ padding:4em 0; }
  #contents.bg_g .contact_box{ margin:0 auto; }
  .notice_box .contact_box { width: unset;}
  .sec_box{ margin-bottom:1.5em; }
  .p_box{ padding:3em 0; }
  .box{ padding:3em 2em; }
  .box_odekake{ padding:0em 2em; }
  .t_sand{ width:50%; margin:0 auto 1.5em; }
  .tojitsu_list .t_sand{ width:57%;}
  .t_sand .col_tx{ font-size:1.25em; }
  .detail .txt .point_tx{ font-size:1.1em; }

  .long_title_box{ margin-bottom: 5em; }
  .pb2 { padding-bottom: 2em; }

  /* list */
  .count_list > li::before{ font-size:1.8em; }
  .line_list > li{ margin-bottom:1.5em; padding-bottom:1.5em; }

  .count_list2 > li::before{ font-size:1.8em; }

  /* title */
  .title_box{ padding:15em 0; }
  .pageTitle{ width:50%; text-align:center; font-size:2.2em; letter-spacing:0.05em; }
  .pageTitle .en{ letter-spacing:0.08em; }
  .sub{ margin-bottom:1.5em; text-align:center; font-size:1.2em; }
  .sub_line{ font-size:1.4em; }
  .t_loud{ font-size:1.5em; }

  .long_title_box{ padding:12em 0 10em; }
  .long_title_box .txt{ width:50%; text-align:center;}

  /* plan */
  .concept{ padding-top:3em; letter-spacing:0.05em; }
  .concept .txt{ width:45%; order:2; }
  .birthday .concept .txt { width: unset; }
  .concept .pic{ width:45%; order:1; padding-left:3em; }
  .price_box .price .gf-rufina{ font-size:3em; }
  .id_ba .t_sand .gf-rufina{ font-size:1.6em; }
  /*.campaign .txt .detail .kome_list{ width:50%; }*/
  .campaign .txt .detail .price_link{ width:40%; }
  .gift{ padding:2em 2em 2em; }
  .detail .txt{ width:48%; margin:0 1%; }
  .dress .sub_line{ width:37%; margin:0 auto 1.5em; padding:0 3em 0.5em; }
  #baby .dress .sub_line{ width:100%; }
  .dress_list{ margin-bottom:4em; }
  .dress_list li{ width:19.3%; }
  .dress_list_shi{ margin-bottom:4em; gap: 7px; }
  .dress_list_shi li{ width:19.3%; }
  .pic_data, .pic_data2, .pic_data3 { width:50%; }
  .pic_data2 { margin:2.5em auto 0; }
  .pic_data3 { margin: 0 auto 3em; }

  .id .concept .txt{ width:65%; }
  .id .concept .pic{ width:30%; }
  .id .campaign .sub_line{ margin-top:2em; font-size:1.6em; }
  #contents #photos{max-width: 1100px; margin: auto;}
  .furisode .copy{ text-align: center;}

  .link_arrow.btn_753 + .link_arrow.btn_753{ margin-left:1em; }

  .baby .concept { margin-bottom: 0; }

   #plan .profile #contents .wrap { width:64%; margin:0 auto; }
   #plan .profile .campaign.sec_box { margin-block: 5em 2em; }

   /* birthday */
   #birthday.title_box { background: url(../img/plan/pagetitle_birthday_test.jpg) top left 25% / cover; }

   /* seijin */
   .seijin #campaign .box, .seijin_men #campaign .box { padding-block: 0 4em; } 
   
   /* baby */
   .baby .detail .txt  { width: 55%; }


  /* price */
  #price .pic_basic{ width:300px; }

  /* Galery */
  .item { width:260px; padding:5px; }
  .item.x2 { width: 520px; }

  /* FAQ */
  #faq .sec_box{ margin-bottom:4em; }
  #faq .box{ padding-left:2.5em; }
  .q_title{ padding-left:2.5em; font-size:1.2em; }
  .q_title::before{ font-size:2em; }
  .a_box{ padding-left:3em; }
  .a_box::before{ font-size:2.2em; }

  /* blog */
  #blog .t_loud{ font-size:1.2em; }

  /* contact */
  #contact #contents.bg_g { padding: 1em 0; }

}

/* 960px以上(PC) */
@media screen and (min-width: 960px) {
  .sub{ font-size:1.4em; }

  .or_list>li { width: 400px;}
  .or_list>li + li { margin-left: 3em; position: relative;}
  .or_list>li + li::before { position: absolute; top: 0; bottom: 0; right: 100%; width: 3em; height: 1em; line-height: 1em; text-align: center; margin: auto; }

  .or_list2>li { width: 250px;}
  .or_list2>li + li { margin-left: 3em; position: relative;}
  .or_list2>li + li::before { position: absolute; top: 0; bottom: 0; right: 100%; width: 3em; height: 1em; line-height: 1em; text-align: center; margin: auto; }

  /* plan */
  .detail .txt{ width:35%; margin:0 1.5%; }
  .concept .txt{ padding: 3em 1em; font-size:1.05em; }
  .concept .sub + p{ text-align: center; }
  .col2 .txt{ width:50%; padding-top:2em; }
  .col2 .pic{ width:45%; }
  .gift.col2 .count_list{ width:48%; }
  .gift.col2 .count_list2{ width:48%; }
  .detail .txt{ width:35%; margin:0 1.5%; }

  /*.wrap .detail .kome_list{ width:55%; }*/

  .count_list > li::before{ width:40px; height:40px; line-height:38px; top:0.5em; }
  .count_list2 > li::before{ width:40px; height:40px; line-height:38px; top:0.5em; }

  /* FAQ */
  #faq .category_link li{ width:23%; }

  /* Plan */
  #plan #contents .wrap{ width:64%; margin:0 auto; }
  .gift .sub{ font-size: 1.3em; }
  .gift > .count_list > li:last-child{ border:0; }
  .gift > .count_list2 > li:last-child{ border:0; }
  .seiyaku .detail .txt{ width:45%; }
}

/* ================================================================
  タブレット
=================================================================== */
/* 1024以下 (タブレット横以下) */
@media screen and (max-width: 1024px) {
  .daily{ font-size:0.9em; }
  .price_box .price .gf-rufina{ font-size: 2em; }
  .id_ba .t_sand .gf-rufina{ font-size: 1.3em; }
  .campaign .link_arrow span{ padding: 0.3em 0.8em 0.5em 2em; }
  .campaign .link_arrow span::before{ left: 0.8em; border-width: 3px 0 3px 6px; }
  .icon_list li{ width: 100px; height: 100px; }
  .icon_list li .icon{ top: 35%;}
  .icon_list li>.con { font-size: 0.75em; bottom: 0.7em; }
  .gift .sub{ font-size: 1.2em; }
  
  .point_pluswrap {margin: 1em 0;}
  .point_plusbox { line-height:3; width:90%; max-width: 400px; }
  .point_plus { width: 100%; font-size:2.5em; line-height: 1.6;}
  
  .seijin .icon_list li, #contents.seijin_men .icon_list li { width: 120px; height: 120px; }

}

/* 959以下 (タブレット以下) */
@media screen and (max-width: 959px) {
  #half .title_sub { font-size: 14px;}

  .nowrap_tb { flex-wrap: nowrap;}
  .strech_tb { flex-grow:1;}

  /* plan */
  #plan .profile .wrap { width: 65%;}
  #plan .profile .price_box .price { margin: 10px 0 0;}

  .col2 .pic{ width:100%; margin:0 auto 1.5em; }
  .campaign .sub_line{ padding:0.5em 0.4em; background:#f1f1f1; }
  .discount{ width:70%; margin:0 auto; }
  .id .title.cam::before{ top: -30px; }

 .rental_price_head { width: 30%;}
 .rental_price_753_ul { width: 70%; }
 

  /* access */
  .access_map ul li{ font-size: 1.56vw;}


  /* reserve */
  .contact_box:has(.link_list){ width: unset; padding: unset;}
  .notice_box .txt_area { padding-inline: 1em;}
  .notice_box .txt  .notice_box figure { width: 70%;}

}

/* ================================================================
  スマホ
=================================================================== */
@media screen and (max-width: 599px){
  .nowrap_tb { flex-wrap: wrap;}
  .strech_tb { flex-grow: 0;}

  .pageTitle{ padding: 0.6em 0 0 1em; text-shadow: 3px 3px 3px #fff; }
  .pageTitle::before{ left: 0; left:1em;
    transform: none; -webkit-transform:none; }
    .title_sub { width: fit-content; padding: 1em 1.5em; text-align: left; text-shadow: 3px 3px 3px #fff;        background: #fff8; }

  .planttl_img { margin: 10px 0; width: 100%;}
  .planttl_img_hf { width: 100%;}

  .long_title_box .txt{ padding-left: 1.2em; }

  .d_data dt{ width:100%; margin-right:0; background:#e7e2d0; }
  .d_data dd{ border:0; }

  .slide_data .slick-prev { left: -9%; z-index: 1;}
  .slide_data .slick-next { right: -9%;}

  .pic_data{ width:100%; margin:2.5em auto 3em; }
  .pic_data2{ width:100%; margin:2.5em auto 0; }
  .pic_data3{ width:100%; margin:0 auto 3em; }

.plus>:is(p,div) { width: 100%; }

  /* plan */
  #shichigosan.title_box { background: url(../img/plan/new_pagetitle2501.jpg) no-repeat 25% top / cover; }
  #baby.title_box { background: url(../img/plan/pagetitle_baby.jpg) no-repeat 20% top / cover; }
  #gra.title_box { background: url(../img/plan/pagetitle_gra.jpg) no-repeat 15% top / cover; }
  #family.title_box { background: url(../img/plan/pagetitle_family.jpg) no-repeat 38% top / cover; }
  #wedding.title_box { background: url(../img/plan/pagetitle_wedding.jpg) no-repeat 35% top / cover; }
  #maternity.title_box { background: url(../img/plan/new_pagetitle_maternity.jpg) no-repeat 30% top / cover; }
  #half.title_box.test { background-position: center top;}
  .cam.title::before{ left: 58%; }
  .t_loud img{max-width:20%;}

  .slider_pic { width: 100%; }
  .slider_20 .slick-dots{ display:none !important; }

  #plan .profile .wrap { width: 100%;}
  .price_box .price + .price{ margin-top:0.5em !important; }

  .yousou ul,.wasou ul{width:100%;}
  .yousou .wedding_y,.wasou .wedding_w{width: 100%;}

  .img-wedding-list {gap: 1em;
    margin-bottom: 1em;}
  .img-wedding-list>li {width: 100%;}

  .gift .kome {margin-top: 1em;}
  .furisode .gift {margin-bottom: 2em;}
  .tojitsu {padding: 1.5em 1em 2em;}
  .tojitsu .sub_line {background: none;}
  .tojitsu_list>li {padding: 1.6em 1em 2em;}
  .tojitsu_list .t_sand {width: 100%;}
  .furisode .sec_box {margin-bottom: 6em;}
  #furisode.title_box {background-position: 81% 50%;}
  .furisode .gift.souki_campaign figure, .furisode .gift .count_list figure, .furisode .gift .count_list li.c3 figure { width: 100%; }


  .plan_img {margin:0 auto 1.8em; max-width: 682px;}

  /* 753 */
  #plan .shichigosan .icon_list li>.con { font-size: 0.8em; bottom: 1em;}  
  #plan .shichigosan .icon_list li>.con.small  { bottom: 0.7em;}  
  .rental_price_head,.rental_price_753_ul { width:100%; margin: 1px 0; }
  .rental_price_753_ul>li { width:33%; border:none; }
  .tour-lead .big { font-size: 1em;}
  .gift .present > div dd { padding-left: 1.2em;}
  .gift .present > div dd::before { width: 12px;}

  .link_arrow.btn_753 span {padding: 0.4em 3em 0.6em 3.5em;}
  .link_arrow.btn_753 { width:100%; margin: 2em auto; }
  .link_arrow.btn_753 + .link_arrow.btn_753{ margin-top:-0.5em; }

  .detail2{ margin: 0 0 4em; }

  .dress_list_shi{ justify-content: space-between; }

  .photoplan-case .price_box .price { margin-top: 1em;}
  .mb_15 { margin-bottom: 1em; }
  .mt_25 { margin-top: 2em; }

  .shichigosan .t_loud .con::before { top: 50%; }
  .shichigosan .txt { width: 100%; }

  .shichigosan .icon_list li { width: 32%; height: 100px; }
  .shichigosan .icon_list li .con.small { letter-spacing: -1px; line-height: 0.95; }

  .shichigosan #plan_p .box { padding: 0 0 1.5em; }
  .shichigosan .category_link { font-size: 0.9em; }
  .shichigosan .category_link li { margin: 0 1% 2%; }
  
  /* omiya */
  .omiya_tokuten figure { width: 100%; }
  .baby .icon_list li { width: 31%; height: 100px; }
  .baby .icon_list li .con { letter-spacing: -0.5px; }
  .baby .icon_list li .con.small { letter-spacing: -1px; line-height: 0.95; }
  .baby .category_link li { margin: 0 1% 2%; }
  .baby .detail .txt { margin-bottom: 0; }
  .baby #plan_a .c_list_detail .t_item { width: 100%; }
  .baby #plan_a .detail.flex.flex-between{ width: 95%; }


  
  /* price */
  #price #a_option th{width: 30%;}
  #price #a_option .t_data tr > * {padding: 0.5em 0;}
  #photo_goods .d_data dt { width: 100%;}
  #price .wrap { width: 100%; }

  /* seijin */
  .seijin .album_list ul, #contents.seijin_men .album_list ul { grid-template-columns: repeat(2, 1fr); }
  .seijin .campaign, .seijin_men .campaign { padding-bottom: 0.1em; }
  .seijin .icon_list li, #contents.seijin_men .icon_list li { width: 100px; height: 100px; }
  #contents.seijin .category_link, #contents.seijin_men .category_link { margin-bottom: 0; } 
  .seijin .box, .seijin_men .box { padding-block: 0 2.5em; } 


  /* birthday */
  #plan.birthday #contents .campaign .wrap { width: 80%; }
  .birthday .title { font-size: 1.19em; }

  /* profile */
  .profile .campaign .price_box .price span.small { font-size: .75em; }
  #plan .profile .campaign.sec_box { margin-block: 3.5em 2em; }

  /* gra */
  .gra .icon_list li { width: 120px; height: 120px; }


  /* reserve */
  .notice_box .link_list { flex-direction: column; gap: 1.5em;}
  .notice_box .link_list > li { width: 100%;}
  .notice_box a.tel { margin-top: .2em;}
  .notice_box .txt_area.height { padding-block: unset;}
  .notice_box figure { width: 95%;}
  .linea_box {  width: 80%;  padding: 15px; text-align: center;  }
  .linea_box .btn { display: block;}
.linea_box .qr {  display: none;}

 .basic .t_data tr > * {padding: 0.5em .5em;}
 .basic .t_data td.center {font-size: .9em;}

  /* access */
  .access_map ul li{ width: 100%; font-size: 1em;}

  /* contact */
  #contact .linea_box { margin: 0.5em auto 2.5em; }
}
