@charset "UTF-8";
.font-orange{ color: #FFA439; font-weight: bold;}

@media screen and (min-width: 768px), print {
.img{max-width: 1920px;margin: 0 auto;position: relative;}
.mainimg .main-bg{
  background-image: url(../images/index/main-bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  height: 880px;
  position: relative;
  margin-left: auto;
  width: 81.25%;
}
.mainimg .main-bg .mainttl{text-align: center;position: absolute;
  top: 632px;
  left: -217px;
}
.mainimg .main-bg .main-btn-list{
  margin-top: 54px;
}
.mainimg .main-bg .main-obi{text-align: center;margin: 0px 0 0 0;padding: 103px 0 0 0px;}
.mainimg .main-bg .main-narappi .img{position: absolute;top: -9px;right:0;}
.mainimg .main-bg .fukidashi{position: absolute;top: 712px;right: 132px;}
.mainimg .main-btn-limainst{position: relative;top: 60px;}
.main-btn-list {margin-top: 65px;}
.main-btn-list .btn-list{justify-content: center;
-ms-flex-wrap: wrap;flex-wrap: wrap;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;}
.mainimg .main-btn-list .btn-list li{margin: 0 20px 0 20px;}
.mainimg .main-btn-list .btn-list li .btn01,
.mainimg .main-btn-list .btn-list li .btn02 {
  width: 560px;
  margin: 0px auto;
  position: relative;
  display: inline-block;
}
.mainimg .main-btn-list .btn-list li .btn01::after,
.mainimg .main-btn-list .btn-list li .btn02::after {
  content: '';
  display: inline-block;
  width: 26px;
  height: 26px;
  position: absolute;
  top: 47px;
  right: 40px;
  background-size: contain;
  background-repeat: no-repeat;
  transition: .3s;
}
.mainimg .main-btn-list .btn-list li .btn01::after {
  background-image: url(../images/index/main-btn01-arrow.svg);
}
.mainimg .main-btn-list .btn-list li .btn02::after {
  background-image: url(../images/index/main-btn02-arrow.svg);
}
.mainimg .main-btn-list .btn-list li .btn01:hover::after,
.mainimg .main-btn-list .btn-list li .btn02:hover::after {
  right: 25px;
}













.goriyou {margin-top: 118px;}
.goriyou .subttl {text-align: center;}
.goriyou .mainttl {text-align: center;font-size: 50px;letter-spacing: 0.1em;font-weight: 500;}
.goriyou .mainttl .yellow-line{background: linear-gradient(transparent 60%, #FFF35C 30%);}
.goriyou .mainttl .medium{text-align: center;font-size: 24px;display: block;letter-spacing: 0.1em;line-height: 3;font-weight: 400;margin-top: 21px;}
.goriyou .mainttl .small{text-align: center;font-size: 18px;display: block;  margin-top: 27px;letter-spacing: 0.05em;}
.goriyou .photo-slide{position: relative;z-index: 1;}
.goriyou .photo-slide .loop {padding-top: 73px;overflow: hidden;}
.goriyou .photo-slide .loop__box {display: flex;width: 100vw;height: 260px;}
.goriyou .photo-slide .loop__box img {min-width: 100vw;object-fit: cover;}
.goriyou .photo-slide .loop__box img:first-child {animation: loop 50s -25s linear infinite;}
.goriyou .photo-slide .loop__box img:last-child {animation: loop2 50s linear infinite;}



@keyframes loop {
  0% {
      transform: translateX(100%);
  }
  to {
      transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
      transform: translateX(0);
  }
  to {
      transform: translateX(-200%);
  }
}




.present {
  background-color: #F9F9F9;
  padding-bottom: 21px;
  position: relative;
}
.present .present-ttl-wrap {
  max-width: 1920px;
  position: relative;
  margin: 0 auto;
}
.present .fukidashi {
  text-align: center;
  position: relative;
  top: -40px;
  z-index: 2;
}
.present .fukidashi::before,
.present .fukidashi::after {
  content: "";
  position: absolute;
  top: 66%;
  width: 42.5%;
  height: 1px;
  background-color: #595656;
}
.present .fukidashi::before {
  left: 0;
}
.present .fukidashi::after {
  right: 0;
}
.present .fukidashi02 {
  position: absolute;
  top: -4px;
  left: 452px;
  display: inline;
}
.present .subt {
  text-align: center;
}
.present .mainttl {
  text-align: center;
  font-size: 64px;
  font-weight: 500;
  letter-spacing: 0.05em;
  z-index: 2;
  margin-top: 45px;
  position: relative;
}
.present .photo-box {
  background-color: #fff;
  box-shadow: 0px 20px 40px #2828260F;
  max-width: 1100px;
  width: 100%;
  margin-inline: auto;
  position: relative;
  z-index: 1;
  top: -79px;
}
.present .photo-box .photo-box-inner {
  max-width: 800px;
  margin-inline: auto;
  padding-top: 124px;
}
.present .photo-box .present-img02{
  display: inline;
  position: absolute;
  top: 350px;
  right: 176px;
}
.present .photo-box .txt{
  font-size: 14px;
  margin-top: 13px;
}
.present .btn01{
  width: 640px;
  margin: 0px auto;
  position: relative;
  top: 45px;
}
.present .btn01::after{
  content: '';
  display: inline-block;
  width: 26px;
  height: 26px;
  position: absolute;
  top: 30px;
  right: 60px;
  background-image: url(../images/index/present-btn-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transition: .3s;
}
.present .btn01:hover::after{
  right: 45px;
}
.present .btn01-txt{
  text-align: center;
  line-height: 1.5714;
  margin-top: -24px;
  font-size: 14px;
  letter-spacing: 0.01em;
  padding-bottom: 29px;
}





.one-coin {
  padding-top: 97px;
  padding-bottom: 138px;
  position: relative;
}
.one-coin-inner {
  position: relative;
}
.one-coin .gentei {
  text-align: center;
}
.one-coin .fukidashi {
  position: absolute;
  top: -13px;
  left: calc(50% - 377px);
}
.one-coin .mainttl {
  text-align: center;
  font-size: 70px;
  font-weight: bold;
  color: #5BB940;
  position: relative;
  z-index: 2;
  max-width: 1920px;
  width: 100%;
  margin-bottom: 50px;
}
.one-coin .mainttl .txt {
  line-height: 1;
  margin-top: 20px;
}
.one-coin .ttl {
  margin-top: -18px;
}
.one-coin .subttl {
  margin-top: -31px;
}

.one-coin .one-coin-img {
  margin: 0 auto;
  width: 100%;
}

.one-coin .onecoin-photo-frame {
  position: relative;
  margin-bottom: -64px;
}

.one-coin .onecoin-photo-frame .set-txt {
  position: absolute;
  bottom: 43px;
  left: 685px;
  color: #282826;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.1px;
}

.one-coin .onecoin-photo-frame .set-txt .setttl {
  font-weight: 600;
  background-color: #FFED15;
  font-size: 26px;
  line-height: 1;
  padding: 0 9px 2px 18px;
  letter-spacing: 0;
  position: relative;
  margin: 0 10px 0 0;
  top: -4px;
}

.one-coin .one-coin-lineupframe {
  width: min(95%, 1200px);
  margin-inline: auto;
  border: 2px dashed #927D25;
  padding: 40px 0 36px;
  position: relative;
  z-index: 10;
  top: 10px;
  background-color: #fff;
  margin-bottom: 62px;
}

.one-coin .one-coin-lineupframe .sub-ttl {
  text-align: center;
  margin-bottom: 33px;
}

.one-coin .one-coin-lineupframe .lineup-list {
  width: min(95%, 1100px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 20px;
  margin-bottom: 24px;
}

.one-coin .one-coin-lineupframe .lineup-list li {
  background: #F9F9F9;
  padding: 20px 0;
}

.one-coin .one-coin-lineupframe .lineup-list li p.photo {
  text-align: center;
  margin-bottom: 10px;
  padding: 0 10px 0 10px;
}

.one-coin .one-coin-lineupframe .lineup-list li p.photo.gyoza {
  text-align: center;
  /* margin-bottom: 24px; */
}

.one-coin .one-coin-lineupframe .lineup-list li p.photo.udon {
  text-align: center;
  /* margin-bottom: 40px; */
}

.one-coin .one-coin-lineupframe .lineup-list li p.photo.houren {
  text-align: center;
  /* margin-bottom: 35px; */
}

.one-coin .one-coin-lineupframe .lineup-list li:nth-child(1) p.photo img {
  width: 220px;
  height: auto;
}

.one-coin .one-coin-lineupframe .lineup-list li:nth-child(2) p.photo img {
  width: 220px;
  height: auto;
}

.one-coin .one-coin-lineupframe .lineup-list li:nth-child(3) p.photo img {
  width: 220px;
  height: auto;
}

.one-coin .one-coin-lineupframe .lineup-list li:nth-child(4) p.photo img {
  width: 220px;
  height: auto;
}

.one-coin .one-coin-lineupframe .lineup-list li .lineup-detail-txtframe p.name {
  text-align: center;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 700;
  padding: 0 23px 0 23px;
  font-feature-settings: "palt";
}

.one-coin .one-coin-lineupframe .lineup-list li .lineup-detail-txtframe p.name-sub {
  text-align: center;
  font-size: 14px;
  line-height: 1.6;
}

.one-coin-lineupframe-box {
  background: #F9F9F9;
  width: min(100%,1920px);
  margin-inline: auto;
  padding: 0 0 120px;
}

.one-coin p.last-subtxt {
  width: min(95%,900px);
  margin-inline: auto;
  font-size: 16px;
  line-height: 1.6;
  text-align: center;
}

.one-coin p.last-subtxt span {
  font-size: 16px;
  line-height: 1.6;
  font-weight: 700;
}

.one-coin .one-coin-price {
  width: 367px;
  margin: 41px auto 27px;
}
.one-coin .btn02 {
  width: min(95%,800px);
  margin-inline: auto;
  margin: 10px auto 28px;
  position: relative;
}
.one-coin .btn02::after{
  content: '';
  display: inline-block;
  width: 26px;
  height: 26px;
  position: absolute;
  top: 47px;
  right: 248px;
  background-image: url(../images/index/one-coin-btn-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transition: .3s;
}
.one-coin .btn02:hover::after{
  right: 233px;
}
.one-coin .btn02-txt{
  text-align: center;
  line-height: 1.625;
  margin-top: 18px;
  font-size: 16px;
  letter-spacing: 0.01em;
  margin-bottom: 55px;
}
.lineup-bottom-ttl {
  text-align: center;
  margin-bottom: 30px;
  position: relative;
  left: -49px;
}
.lineup-bottom-txt {
  width: min(95%,1140px);
  margin-inline: auto;
  background: #EAE6DC;
  padding: 60px 0 80px;
  text-align: center;
  position: relative;
  margin-bottom: -49px;
}
.lineup-bottom-txt img {
  width: 645px;
  height: auto;
}
.lineup-bottom-txt::after {
  position: absolute;
  content: "";
  background: url(../images/index/present-goma.png) no-repeat center center / contain;
  width: 174px;
  height: 370px;
  right: 10px;
  bottom: -55px;
}
.one-coin .btn02.bottom {
  margin-bottom: 6px;
  width: min(95%,640px);
  margin-inline: auto;
}

.one-coin .btn02.bottom::after {
  right: 59px;
  top: 26px;
}
.one-coin .btn02.bottom:hover::after{
  right: 45px;
}
.lineup-bottom-txt02 {
  color: #595656;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
}








.meritto .slick-list{
  overflow: visible;
}
.meritto {

}
.meritto .meritto-ttl-frame .mainttl {
  width: 560px;
  background-color: #F2F2F2;
  padding: 90px 260px 126px 200px;
  margin-right: auto;
}
.meritto .meritto-slider-wrap{
  position: relative;
  margin-top: -415px;
  margin-left: 382px;
  overflow: hidden;
  padding-bottom: 230px;
}
.meritto .sliderArea {
  max-width: 1230px;
}
.meritto .meritto-slider {

}
.meritto .meritto-slider .meritto-sliderset{

}
.meritto .prev-arrow {
  position: absolute;
  top: 641px;
  right: 152px;
  z-index: 10;
}
.meritto .next-arrow {
  position: absolute;
  right: 53px;
  z-index: 10;
  top: 643px;
}
.meritto .meritto-frame {
  box-shadow: 10px 10px 20px #28282629;
  border-radius: 20px;
  display: flex;
  flex-direction: row-reverse;
  background: #fff;
  margin-right: 60px;
}
.meritto .meritto-frame .photo {
  width: 600px;
}
.meritto .meritto-frame .photo img{
  border-radius: 0 20px 20px 0;
}
.meritto .meritto-frame .meritto-content {
  padding: 94px 0 0 86px;
  width: 670px;
}
.meritto .meritto-frame .meritto-content .ttl{
  font-size: 48px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 21px;
}
.meritto .meritto-frame .meritto-content .txt{
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 40px;
  padding-right: 87px;
}



.otoku {background-color: #F9F9F9;padding-bottom: 100px;}
.otoku .fukidashi {text-align: center;position: relative;top: -104px;z-index: 2;}

.otoku .otoku-inner {width: 77.08%;margin: -50px auto 0;}
.otoku .otoku-mainttl {text-align: center;padding: 0 0 45px 0;margin-top: -20px;}
.otoku .otoku-maincnt{}
.otoku .otoku-maincnt .otoku-mainttl-price{text-align: center;position:relative;width: 1000px;margin: 0 auto 30px;}
.otoku .otoku-maincnt .otoku-mainttl-price::after{content: '';display: inline-block;width: 189px;height: 127px;position: absolute;top: -27px;right: 100px;background-image: url(../images/index/otoku-mainttl-present-img.png);background-size: contain;background-repeat: no-repeat;}
.otoku .otoku-maincnt .otoku-mainttl-date{text-align: center;margin: 0 0 25px 0;}
.otoku .otoku-maincnt .txt01{font-size: 18px;line-height: 1.6;letter-spacing: 1px;text-align: center;font-weight: 500;margin: 0 0 60px 0;}
.otoku .otoku-maincnt .txt01 .f-pink{ color: #EA6182;}

.otoku .otoku-maincnt .otoku-kohai-free{position:relative;border:10px solid #EAE6DC;width: 1000px;margin: 0 auto 50px;background-color:#fff;padding: 40px 0 30px 0;}
.otoku .otoku-maincnt .otoku-kohai-free::after{content: '';display: inline-block;width: 80px;height: 80px;position: absolute;top: -51px;right: 0;left: 0;margin: 0 auto;background-image: url(../images/index/otoku-main-plus.svg);background-size: contain;background-repeat: no-repeat;}
.otoku .otoku-maincnt .otoku-kohai-free .fukidashi{position: absolute;top: 30px;left: 70px;}
.otoku .otoku-maincnt .otoku-kohai-free .otoku-free{text-align: center;}
.otoku .otoku-maincnt .otoku-kohai-free .txt02{color: #595656;font-size: 14px;line-height: 1.6;letter-spacing: 0px;width: 670px;margin: -42px auto 0;}

.otoku .otoku-obi {text-align: center;margin-top: 24px;background-color:#EAE6DC;width: 1480px;padding: 20px 0 20px 0;border-radius:30px;}



.otoku .otoku-frame {
  margin-top: 60px;
}
.otoku .otoku-frame .otoku-list {
  justify-content: center;
  display: flex;
  gap: 40px;
}
.otoku .otoku-frame .otoku-list li{
  width: 720px;
  position: relative;
  background: #FFFFFF;
  border: 10px solid #F2F2F2;
  padding: 50px 40px;
}
.otoku .otoku-frame .otoku-list li .icon{
  position: absolute;
  top: -32px;
  left: 17px;
}
.otoku .otoku-frame .otoku-list li .subt{
  color: #927D25;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 1.5px;
  margin-top: 20px;
}
.otoku .otoku-frame .otoku-list li .txt{
  font-size: 18px;
  line-height: 1.8;
  font-weight: 500;
  margin-top: 14px;
  letter-spacing: 0;
}
.otoku .btn03 {
  width: 800px;
  margin: 38px auto 0;
  position: relative;
}
.otoku .btn03::after{
  content: '';
  display: inline-block;
  width: 26px;
  height: 26px;
  position: absolute;
  top: 47px;
  right: 62px;
  background-image: url(../images/index/otoku-btn-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transition: .3s;
}
.otoku .btn03:hover::after{
  right: 47px;
}





.price {
  padding-top: 120px;
}
.price .ttl-frame {
  width: 860px;
  margin: 0 auto;
  position: relative;
}
.price .ttl-frame .mainttl {
  margin-top: 10px;
  text-align: center;
}
.price .ttl-frame .txt01{
  text-align: center;
}
.price .ttl-frame .txt02{
  font-size: 20px;
  font-weight: 500;
  line-height: 1.75;
  text-align: center;
  margin-top: 30px;
  letter-spacing: 0;
}
.price .price-table{
  margin: 48px auto 62px;
  max-width: 1200px;
  position:relative;
}
.price .price-table .price-table-subtxt{position: absolute;top: 65px;right: 0;}

.price .price-table-ttl{
  font-size: 32px;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
  text-align: center;
  position: relative;
}
.price .price-table-ttl::after {
  content: "";
  display: block;
  width: 40px; 
  height: 2px; 
  background-color: #927D25;
  margin: 13px auto 0; 
}
.price .price-table-frame{
  margin-top: 36px;
}
.price .price-txtframe {
  width: 1200px;
  margin: 0 auto 20px;
}
.price .price-txtframe .subt {
  font-size: 22px;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin: 0 auto 0px auto;
  padding: 18px 10px 18px 58px;
  display: block;
  background-color: #F2F2F2;
  color: #282826;
  width: 1200px;
  background-image: url(../images/index/list-open-arrow.svg);
  background-position: right 30px top 20px;
  background-repeat: no-repeat;
  position: relative;
}
.price .price-txtframe .subt .small {
  font-size: 14px;
}
.price .price-txtframe .subt.subt-open {
  background-image: url(../images/index/list-close-arrow.svg);
}
.price .price-txtframe .subt::before {
  content: '⚫︎'; 
  color: #927D25; 
  font-size: 14px; 
  display: inline-block;
  position: absolute;
  top: 24px;
  left: 29px;
}
.price .price-txtframe .pull-inner {
  padding: 35px 60px 34px 60px;
  border: 2px solid #F2F2F2;
}
.price .price-txtframe .pull-inner .txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
  position: relative;
  padding-left: 20px;
}
.price .price-txtframe .pull-inner .txt-02 {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0;
  margin-bottom: 11px;
}
.price .price-txtframe .pull-inner .txt-02 .normal{
  font-weight: 500;
}
.price .price-txtframe .pull-inner .txt::before {
  content: '•'; 
  color: #D6BA46; 
  font-size: 16px;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
}






.calender {
  margin-top: 80px;
  padding-bottom: 210px;
}
.calender .calender-icon{
  text-align: center;
}
.calender .main-ttl{
  text-align: center;
  margin-top: 36px;
  position: relative;
  z-index: 2;
}
.calender .subttl{
  text-align: center;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-top: 36px;
  position: relative;
  z-index: 2;
}
.calender .calender-frame {
  width: 1200px;
  margin: 28px auto 0;
  position: relative;
  padding-bottom: 49px;
}
.calender .calender-frame::after {
  background-image: url(../images/index/calender-frame-bg.png);
  content: '';
  position: absolute;
  width: 1200px;
  height: 130%;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
  top: -103px;
  left: 0;
}
.calender .calender-frame .calender-content{
  margin-top: 27px;
}
.calender .calender-img-frame{
  width: 980px;
  margin: 0 auto;
}
.calender .calender-img-frame .calender-img{

}
.calender .calender-frame .subt{
  color: #5BB940;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.625;
  text-align: center;
  letter-spacing: 0;
}
.calender .calender-frame .txt{
  font-size: 16px;
  font-weight: 500;
  line-height: 1.875;
  text-align: center;
  margin-top: 10px;
  letter-spacing: 0;
}



.hajimaru {
  background-color: #F6E9E8;
  border-radius: 80px 80px 0px 0px;
  padding-bottom: 79px;
}
.hajimaru .hajimaru-inner {
  width: 1200px;
  margin: 0 auto;
  padding-top: 60px;
}
.hajimaru .hajimaru-box-header {
  background-color: #FFFFFF;
  position: relative;
  margin: 0px auto;
  border-radius: 20px;
  padding: 0px 0 50px;
}
.hajimaru .hajimaru-box-header .obi {
  text-align: center;
  position: relative;
  top: -102px;
}
.hajimaru .hajimaru-box-header .photo01 {
  position: absolute;
  top: 51px;
  left: 41px;
}
.hajimaru .hajimaru-box-header .photo02 {
  position: absolute;
  top: 109px;
  right: 29px;
}
.hajimaru .hajimaru-box-header .ttl {
  text-align: center;
  margin: -83px 0px 0px;
}
.hajimaru .hajimaru-box-header .txt {
  position: relative;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  width: 500px;
  z-index: 10;
  margin: 36px auto 0;
}
.hajimaru .hajimaru-product-frame .hajimaru-witebg {
  position: relative;
}
.hajimaru .hajimaru-product-frame .hajimaru-witebg .mainttl {
  padding: 37px 0 0 48px;
  width: 812px;
}
.hajimaru .hajimaru-product-frame .hajimaru-witebg .subt{
  font-size: 14px;
  font-weight: 500;
  line-height: 1.85714;
  color: #282826;
  padding: 9px 0 0 289px;
  letter-spacing: 0;
}
.hajimaru .hajimaru-product-frame .mainphoto {
  position: absolute;
  top: 17px;
  right: 86px;
}
.hajimaru-pointframe {
  margin: 89px auto 0;
}
.hajimaru-pointframe .hajimaru-point-list{
  margin: 0 auto 18px;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient:horizontal;
  -webkit-box-direction:normal;
  justify-content: center;
  gap: 20px;
}
.hajimaru-pointframe .hajimaru-point-list li{
  width: 320px;
  padding: 0 0 26px 0;
  background-color:#fff;
  box-shadow: 6px 6px 0px #DCA395;
  border: 1px solid #DCA395;
  border-radius: 5px;
} 
.hajimaru-pointframe .hajimaru-point-list li:nth-child(3n){ margin:0 0px 0 0;}
.hajimaru-pointframe .hajimaru-point-list li .icon{
  text-align: center;
  margin: -51px 0 27px 0;
}
.hajimaru-pointframe .hajimaru-point-list li .ttl{text-align: center;margin: 0 0 15px 0;}
.hajimaru-pointframe .hajimaru-point-list li .txt{text-align: center;font-size: 18px;line-height: 1.5;letter-spacing: 0;}
.hajimaru .btn04{
  width: 800px;
  margin: 47px auto 0;
  position: relative;
  box-shadow: 0px 10px 20px #2828262E;
  border-radius: 60px;
}
.hajimaru .btn04 a:hover img{}  
.hajimaru .btn04::after{
  content: '';
  display: inline-block;
  width: 26px;
  height: 26px;
  position: absolute;
  top: 46px;
  right: 49px;
  background-image: url(../images/index/hajimaru-btn-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transition: .3s;}
.hajimaru .btn04:hover::after{
  right: 64px;
}




.voice-slider, .voice-slider02 {
  touch-action: pan-y;
}

.voice {
  padding: 166px 0 87px;
  overflow: hidden;
}
.voice .ttl {
  text-align: center;
}
.voice .subt {
  font-size: 24px;
  font-weight: 500;
  line-height: 2.83;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 10px;
  margin: 10px 0 40px 0;
}

/*
.voice .voice-slider  {
  display: flex;
  gap: 40px;
}
.voice .voice-slider02  {
  overflow: visible;
}
.voice .voice-slider02 .slick-list  {
  padding-left: 180px;
}
.voice-slider .slider-list{
  margin-bottom: 60px; 
  margin-right: 40px;
}
.voice .voice-slider .slider-item {
  border-radius: 10px;
  box-shadow: 6px 6px 12px #2828261A;
  width: 520px; 
  height: 180px; 
  box-shadow: 6px 6px 12px rgba(40, 40, 38, 0.1);
  display: flex;
  background-color: white;
}
.voice .voice-slider .slider-item .slider-content{
  padding: 34px 20px 35px 20px;
  background-color: #FFFFFF;
  border-radius: 10px;
}
.voice .voice-slider .slider-item .slider-content .name{
  background: #595656;
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
  text-align: center;
  display: block;
  max-width: 111px;
}
.voice .voice-slider .slider-item .slider-content .ttl{
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.625;
  display: inline-block;
  margin-top: 11px;
}
.voice .voice-slider .slider-item .slider-content .yellow-line{
  background: linear-gradient(transparent 60%, #FFF35C 30%);
}
.voice .voice-slider .slider-item .slider-content .txt{
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.71428;
  margin-top: 5px;
}
.voice .photo-slide  {
  margin-top: 60px;
}
*/



.voice .swiper-container .swiper-wrapper,
.voice .swiper-container02 .swiper-wrapper {transition-timing-function: linear !important;}
.voice .swiper-container02{ margin:0 0 0 180px;}
.swiper-wrapper{}

.swiper-slide{width: 520px !important;margin: 0 40px 70px 0;}

.swiper-wrapper .subt{  font-size: 24px;font-weight: 500;line-height: 2.83;letter-spacing: 0.1em;text-align: center;margin-top: 10px;}
.swiper-wrapper .slider-item{border-radius: 10px;box-shadow: 6px 6px 12px #2828261A;width: 520px; height: 180px; box-shadow: 6px 6px 12px rgba(40, 40, 38, 0.1);display: flex;background-color: white;}
.swiper-wrapper .slider-item .slider-content{padding: 34px 20px 35px 20px;background-color: #FFFFFF;border-radius: 10px;}

.swiper-wrapper .slider-item .slider-content .name{background: #595656;color: #FFFFFF;font-size: 14px;font-weight: 500;letter-spacing: 0.05em;line-height: 2;text-align: center;display: block;max-width: 111px;}
.swiper-wrapper .slider-item .slider-content .ttl{font-size: 16px;font-weight: 700;letter-spacing: 0.05em;line-height: 1.625;display: inline-block;margin-top: 11px;}
.swiper-wrapper .slider-item .slider-content .yellow-line{background: linear-gradient(transparent 60%, #FFF35C 30%);}
.swiper-wrapper .slider-item .slider-content .txt{font-size: 14px;font-weight: 500;letter-spacing: 0.05em;line-height: 1.71428;margin-top: 5px;}





.area-box{background-color:#F2F2F2; width: 100%; height: 479px;}
.area-box .area-box-frame{width: 1150px;margin: 0 auto;position: relative;}
.area-box .area-box-frame .map-txt-frame{
  padding: 134px 0 0 21px;
  width: 510px;
  margin: 0 0px 0 0;
}
.area-box .area-box-frame .map-txt-frame .ttl{margin: -12px 0 34px 0;position: relative;z-index: 10;}
.area-box .area-box-frame .map-txt-frame .subt{font-size: 34px;line-height: 1.70588;letter-spacing: 0.05em;font-weight:500;margin: 0 0 22px 0;}
.area-box .area-box-frame .map-txt-frame .txt{font-size: 20px;font-weight: 500;line-height: 1.7;letter-spacing: 0px;}
.area-box .area-box-frame .map-img-frame{
  width: 630px;
  margin: 0px 0 0 0;
  position: absolute;
  top: 0;
  z-index: 10;
  right: 0;
}
.area-box .area-box-frame .map-img-frame .areamap{
  position: absolute;
  top: -101px;
  right: -22px;
}




.faq-box{
  padding-top: 140px;
}
.faq-box .faq-boxframe{
  width: 1200px;
  margin: 0 auto 99px;
  padding: 82px 0 76px 0;
  background-color:#F9F9F9;
}
.faq-box .faq-boxframe .ttl{text-align: center;margin: 0 0 3px 0;}
.faq-box .faq-boxframe .subt{
  font-size: 24px;
  font-weight: 500;
  line-height: 2.8333;
  letter-spacing: 0.1em;
  text-align: center;
}
.faq-box .faq-boxframe .faq-listframe{width: 1100px; margin: 33px auto 0;}
.faq-box .faq-boxframe .faq-listframe .faq-list{margin: 0 0 19px 0;}
.faq-box .faq-boxframe .faq-listframe .faq-list dt{background-color: #EAEBEB;font-weight: bold;font-size: 20px;line-height: 1.3;letter-spacing: 0.05em;position: relative;padding: 28px 0 28px 81px;margin: 0 0 0px 0;}
.faq-box .faq-boxframe .faq-listframe .faq-list dt::before{content: '';display: inline-block;width: 20px;height: 30px;position: absolute;top: 24px;left: 42px;background-image: url(../images/index/faq-q.svg);background-size: contain;background-repeat: no-repeat;}
.faq-box .faq-boxframe .faq-listframe .faq-list dd{color: #595656;background-color: #FFFFFF;font-size: 14px;line-height: 1.71428;letter-spacing: 0.05em;font-weight: 500;padding: 30px 48px 30px 85px;position: relative;}
.faq-box .faq-boxframe .faq-listframe .faq-list dd::before{content: '';display: inline-block;width: 29.5px;height: 24.5px;position: absolute;top: 30px;left: 42px;background-image: url(../images/index/faq-a.svg);background-size: contain;background-repeat: no-repeat;}



/* チェックボックスを視覚的に非表示にしつつ、クリックを確実に認識させる */
.toggle {
  position: absolute;
  opacity: 0;
}

/* 初期状態では内容を隠し、高さを0にします */
.pull {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease-in-out;
}

/* チェックボックスがチェックされた時、対応するpullクラスの内容を表示し、最大高さを一定値に設定します */
.toggle:checked + .pull {
  max-height: 600px; /* 適切な最大高さに調整してください */
}

/* ラベルのスタイルを保持しつつ、クリックを有効にする */
label.clicktxt {
  cursor: pointer;
  display: block;
  position: relative;
}
}



@media screen and (min-width: 768px) and (max-width: 1915px){
  .img {
    max-width: 100vw;
    margin: 0 auto;
    position: relative;
  }
  .mainimg .main-bg {
    background-image: url(../images/index/main-bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    height: 45.83vw; /* 880px to vw */
    position: relative;
    margin-left: auto;
    width: 81.25%;
  }
  .mainimg .main-bg .mainttl {
    text-align: center;
    position: absolute;
    top: 32.14vw;
    left: -14.71vw;
    width: 29vw;
  }
  .mainimg .main-bg .main-obi {
    text-align: center;
    margin: 0;
    padding: 5.36vw 0 0;
  }
  .mainimg .main-bg .main-narappi .img {
    position: absolute;
    top: -0.47vw;
    right: 0;
  }
  .mainimg .main-bg .fukidashi {
    position: absolute;
    top: 37.08vw;
    right: 6.88vw;
    width: 16vw;
  }
  .mainimg .main-btn-limainst {
    position: relative;
    top: 3.13vw;
  }
  .mainimg .main-btn-list .btn-list {
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
  }
  .mainimg .main-btn-list .btn-list li {
    margin: 0 1.04vw;
  }
  .mainimg .main-btn-list .btn-list li .btn01,
  .mainimg .main-btn-list .btn-list li .btn02 {
    width: 29.17vw;
    margin: 0 auto;
    position: relative;
    display: inline-block;
  }
  .mainimg .main-btn-list .btn-list li .btn01::after,
  .mainimg .main-btn-list .btn-list li .btn02::after {
    content: '';
    display: inline-block;
    width: 1.36vw;
    height: 1.36vw;
    position: absolute;
    top: 2.45vw;
    right: 2.08vw;
    background-size: contain;
    background-repeat: no-repeat;
    transition: .3s;
  }
  .mainimg .main-btn-list .btn-list li .btn01::after {
    background-image: url(../images/index/main-btn01-arrow.svg);
  }
  .mainimg .main-btn-list .btn-list li .btn02::after {
    background-image: url(../images/index/main-btn02-arrow.svg);
  }
  .mainimg .main-btn-list .btn-list li .btn01:hover::after,
  .mainimg .main-btn-list .btn-list li .btn02:hover::after {
    right: 1.3vw;
  }  
}


@media screen and (min-width:768px) and (max-width:1280px) {
  .goriyou {
    margin-top: 6.15vw;
  }
  .goriyou .subttl {
    text-align: center;
  }
  .goriyou .mainttl {
    text-align: center;
    /* font-size: 2.6vw; */
    letter-spacing: 0.1em;
    font-weight: 500;
  }
  .goriyou .mainttl .yellow-line {
    background: linear-gradient(transparent 60%, #FFF35C 30%);
  }
  .goriyou .mainttl .medium {
    text-align: center;
    /* font-size: 1.25vw; */
    display: block;
    letter-spacing: 0.1em;
    line-height: 3;
    font-weight: 400;
    margin-top: 1.09vw;
  }
  .goriyou .mainttl .small {
    text-align: center;
    /* font-size: 0.94vw; */
    display: block;
    margin-top: 1.41vw;
    letter-spacing: 0.05em;
  }
  }

@media screen and (min-width:768px) and (max-width:1919px) {
  .goriyou .photo-slide {
    position: relative;
    max-width: 100vw;
    z-index: 1;
  }
  .goriyou .photo-slide .loop {
    padding-top: 3.8vw;
    overflow: hidden;
  }
  .goriyou .photo-slide .loop__box {
    display: flex;
    width: 100vw;
    height: 13.54vw;
  }
  .goriyou .photo-slide .loop__box img {
    min-width: 100vw;
    object-fit: cover;
  }
  .goriyou .photo-slide .loop__box img:first-child {
    animation: loop 50s -25s linear infinite;
  }
  .goriyou .photo-slide .loop__box img:last-child {
    animation: loop2 50s linear infinite;
  }
}



@media screen and (min-width:768px) and (max-width:1280px) {
  .present {
    background-color: #F9F9F9;
    padding-bottom: 1.09vw;
    position: relative;
    letter-spacing: 0.25vw;
  }
  .present .present-ttl-wrap {
    max-width: 100vw; 
    position: relative;
    margin: 0 auto;
  }
  .present .fukidashi {
    text-align: center;
    position: relative;
    top: -2.08vw;
    z-index: 2;
  }
  .present .fukidashi::before,
  .present .fukidashi::after {
    content: "";
    position: absolute;
    top: 66%;
    width: 37.5%;
    height: 0.05vw;
    background-color: #595656;
  }
  .present .fukidashi::before {
    left: 0;
  }
  .present .fukidashi::after {
    right: 0;
  }
  .present .fukidashi02 {
    position: absolute;
    top: -2.21vw; 
    left: 8.54vw;
    display: inline;
  }
  .present .mainttl {
    position: relative;
    top: -2.19vw;
    z-index: 2;
    max-width: 1920px;
  } 
  .present .mainttl img {
    width: 80vw;
  }
  .present .photo-box {
    background-color: #fff;
    box-shadow: 0px 1.04vw 2.08vw #2828260F;
    max-width: 57.29vw;
    width: 100%;
    margin-inline: auto;
    position: relative;
    top: -7.13vw;
  }
  .present .photo-box .photo-box-inner {
    max-width: 41.67vw;
    margin-inline: auto;
    padding-top: 6.67vw;
  }
  .present .photo-box .present-img02 {
    display: inline;
    position: absolute;
    top: 18.23vw;
    right: -2.83vw;;
  }
  .present .photo-box .present-img02 img {
    width: 10vw;
  }
  .present .photo-box .txt {
    /* font-size: 0.73vw; */
    margin-top: 0.68vw;
  }
  .present .btn01 {
    width: 33.33vw;
    margin: 0vw auto;
    position: relative;
    top: 2.5vw;
  }
  .present .btn01::after {
    content: '';
    display: inline-block;
    width: 1.36vw;
    height: 1.36vw;
    position: absolute;
    top: 1.56vw;
    right: 3.13vw;
    background-image: url(../images/index/present-btn-arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    transition: .3s;
  }
  .present .btn01:hover::after {
    right: 2.34vw;
  }
  .present .btn01-txt {
    text-align: center;
    line-height: 1.57;
    margin-top: -4.43vw;
    /* font-size: 0.73vw; */
    letter-spacing: 0.01em;
  }
}









@media screen and (min-width:768px) and (max-width:1600px) {
  .meritto .slick-list {
    overflow: visible;
  }
  .meritto .meritto-ttl-frame .mainttl {
    width: 29.17vw;
    background-color: #F2F2F2;
    padding: 4.69vw 13.54vw 6.56vw 10.42vw;
    margin-right: auto;
  }
  .meritto .meritto-slider-wrap {
    position: relative;
    margin-top: -21.61vw;
    margin-left: 20%;
    overflow: hidden;
    padding-bottom: 19.42vw;
  }
  .meritto .prev-arrow {
    position: absolute;
    top: 38.39vw;
    right: 15.4vw;
    z-index: 10;
    width: 5vw;
  }
  .meritto .next-arrow {
    position: absolute;
    right: 9.19vw;
    z-index: 10;
    top: 38.49vw;
    width: 5vw;
  }
  .meritto .meritto-frame {
    box-shadow: 0.52vw 0.52vw 1.04vw #28282629;
    border-radius: 1.04vw;
    display: flex;
    flex-direction: row-reverse;
    background: #fff;
    margin-right: 3.13vw;
    width: 78vw;
  }
  .meritto .meritto-frame .photo {
    width: 41.25vw;
  }
  .meritto .meritto-frame .photo img {
    border-radius: 0 1.04vw 1.04vw 0;
  }
  .meritto .meritto-frame .meritto-content {
    padding: 4.53vw 0 0vw 4.27vw;
    width: 55vw;
  }
  .meritto .meritto-frame .meritto-content .ttl {
    font-size: 2.5vw;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-top: 1.09vw;
    margin: 1.09vw 0 2vw 0;
  }
  .meritto .meritto-frame .meritto-content .txt {
    /* font-size: 1.7vw; */
    font-weight: 500;
    /* line-height: 2; */
    /* letter-spacing: 0.05em; */
    margin-bottom: 2.08vw;
    margin-top: 0;
    padding-right: 4.53vw;
  }
  .meritto .meritto-frame .meritto-content .txt br{ display: none !important;}
}







@media screen and (min-width:768px) and (max-width:1280px) {
  .otoku {
    background-color: #F9F9F9;
    padding-bottom: 5.21vw;
  }
  .otoku .fukidashi {
    text-align: center;
    position: relative;
    top: -3.13vw;
    z-index: 2;
  }
  .otoku .otoku-inner {
    width: 90vw;
    margin: 0 auto;
  } 
  .otoku .otoku-mainttl {
    text-align: center;
    margin-top: -1.46vw;
  }
  .otoku .otoku-obi {
    text-align: center;
    margin-top: 1.25vw;
  }
  .otoku .otoku-frame {
    margin-top: 3.13vw;
  }
  .otoku .otoku-frame .otoku-list {
    justify-content: center;
    display: flex;
    gap: 2.08vw;
  }
  .otoku .otoku-frame .otoku-list li {
    width: 50.5vw;
    position: relative;
    background: #FFFFFF;
    border: 0.52vw solid #F2F2F2;
    padding: 2.6vw 2.08vw;
  }
  .otoku .otoku-frame .otoku-list li .icon {
    position: absolute;
    top: -1.67vw;
    left: 0.89vw;
  }
  .otoku .otoku-frame .otoku-list li .icon img {
    width: 10vw;
  }
  .otoku .otoku-frame .otoku-list li .subt {
    color: #927D25;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-top: 1.04vw;
  }
  .otoku .otoku-frame .otoku-list li .txt {
    line-height: 1.8;
    font-weight: 500;
    margin-top: 0.73vw;
    letter-spacing: 0;
  }
  .otoku .btn03 {
    width: 41.67vw;
    margin: 1.98vw auto 0;
    position: relative;
  }
  .otoku .btn03::after {
    content: '';
    display: inline-block;
    width: 1.36vw;
    height: 1.36vw;
    position: absolute;
    top: 3.45vw;
    right: 3.23vw;
    background-image: url(../images/index/otoku-btn-arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    transition: .3s;
  }
  .otoku .btn03:hover::after {
    right: 2.45vw;
  }
}



@media screen and (min-width:768px) and (max-width:1280px) {
  .price {
    padding-top: 6.25vw;
  }
  .price .ttl-frame {
    width: 90vw;
    margin: 0 auto;
    position: relative;
  }
  .price .ttl-frame .mainttl {
    margin-top: 0.52vw;
    text-align: center;
  }
  .price .ttl-frame .txt01 {
    text-align: center;
  }
  .price .ttl-frame .txt02 {
    /* font-size: 1.04vw; */
    font-weight: 500;
    line-height: 1.75;
    text-align: center;
    margin-top: 1.56vw;
    letter-spacing: 0;
  }
  .price .price-table {
    margin: 2.5vw auto 3.23vw;
    max-width: 90vw;
  }

  .price .price-table .price-table-subtxt{position: absolute;top: 4vw;right: 0;}

  .price .price-table-ttl {
    /* font-size: 1.67vw; */
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
    text-align: center;
    position: relative;
  }
  .price .price-table-ttl::after {
    content: "";
    display: block;
    width: 2.08vw;
    height: 0.1vw;
    background-color: #927D25;
    margin: 0.68vw auto 0;
  }
  .price .price-table-frame {
    margin-top: 1.88vw;
  }
  .price .price-txtframe {
    width: 90vw;
    margin: 0 auto 1.04vw;
  }
  .price .price-txtframe .subt {
    /* font-size: 1.15vw; */
    line-height: 1.6;
    letter-spacing: 0.05em;
    font-weight: 500;
    margin: 0 auto;
    padding: 0.94vw 0.52vw 0.94vw 3.02vw;
    display: block;
    background-color: #F2F2F2;
    color: #282826;
    width: 90vw;
    background-image: url(../images/index/list-open-arrow.svg);
    background-position: right 1.56vw top 1.04vw;
    background-repeat: no-repeat;
    position: relative;
  }
  .price .price-txtframe .subt.subt-open {
    background-image: url(../images/index/list-close-arrow.svg);
  }
  .price .price-txtframe .subt::before {
    content: '⚫︎';
    color: #927D25;
    /* font-size: 0.73vw; */
    display: inline-block;
    position: absolute;
    top: 1.5vw;
    left: 1vw;
  }
  .price .price-txtframe .pull-inner {
    padding: 1.82vw 3.13vw 1.77vw 3.13vw;
    border: 0.1vw solid #F2F2F2;
  }
  .price .price-txtframe .pull-inner .txt {
    /* font-size: 0.83vw; */
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0;
    position: relative;
    padding-left: 1.04vw;
  }
  .price .price-txtframe .pull-inner .txt-02 {
    /* font-size: 0.83vw; */
    font-weight: bold;
    line-height: 1.8;
    letter-spacing: 0;
    margin-bottom: 0.57vw;
  }
  .price .price-txtframe .pull-inner .txt-02 .normal {
    font-weight: 500;
  }
  .price .price-txtframe .pull-inner .txt::before {
    content: '•';
    color: #D6BA46;
    /* font-size: 0.83vw; */
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
  }
}


@media screen and (min-width:768px) and (max-width:1700px) {
  .otoku .otoku-obi { text-align: center; margin-top: 1.6vw; background-color: #EAE6DC; width: 98.67vw; padding: 1.33vw 0 1.33vw 0; border-radius: 2vw; }
}




@media screen and (min-width:768px) and (max-width:1280px) {
  .calender {
    margin-top: 4.17vw;
    padding-bottom: 10.94vw;
  }
  .calender .calender-icon {
    text-align: center;
  }
  .calender .main-ttl {
    text-align: center;
    margin-top: 1.88vw;
    position: relative;
    z-index: 2;
  }
  .calender .subttl {
    text-align: center;
    /* font-size: 1.25vw; */
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-top: 1.88vw;
    position: relative;
    z-index: 2;
  }
  .calender .calender-frame {
    width: 100vw;
    margin: 1.46vw auto 0;
    position: relative;
    padding-bottom: 2.55vw;
  }
  .calender .calender-frame::after {
    background-image: url(../images/index/calender-frame-bg.png);
    content: '';
    position: absolute;
    width: 99vw;
    height: 130%;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: -1;
    top: -5.36vw;
    left: 0;
  }
  .calender .calender-frame .calender-content {
    margin-top: 1.41vw;
  }
  .calender .calender-img-frame {
    width: 90vw;
    margin: 0 auto;
  }
  .calender .calender-frame .subt {
    color: #5BB940;
    /* font-size: 1.25vw; */
    font-weight: 700;
    line-height: 1.625;
    text-align: center;
    letter-spacing: 0;
  }
  .calender .calender-frame .txt {
    /* font-size: 0.83vw; */
    font-weight: 500;
    line-height: 1.875;
    text-align: center;
    margin-top: 0.52vw;
    letter-spacing: 0;
  }
}



@media screen and (min-width:768px) and (max-width:1280px) {
  .hajimaru {
    background-color: #F6E9E8;
    border-radius: 4.17vw 4.17vw 0 0;
    padding-bottom: 4.11vw;
  }
  .hajimaru .hajimaru-inner {
    width: 90vw;
    margin: 0 auto;
    padding-top: 3.13vw;
  }
  .hajimaru .hajimaru-box-header {
    background-color: #FFFFFF;
    position: relative;
    margin: 0 auto;
    border-radius: 1.04vw;
    padding: 0 0 2.6vw;
  }
  .hajimaru .hajimaru-box-header .obi {
    text-align: center;
    position: relative;
    top: -5.31vw;
  }
  .hajimaru .hajimaru-box-header .photo01 {
    position: absolute;
    top: -0.34vw;
    left: -3.86vw;
  }
  .hajimaru .hajimaru-box-header .photo01 img {
    width: 20vw;
  }
  .hajimaru .hajimaru-box-header .photo02 {
    position: absolute;
    top: 0.68vw;
    right: -3.49vw;
  }
  .hajimaru .hajimaru-box-header .photo02 img {
    width: 20vw;
  }
  .hajimaru .hajimaru-box-header .ttl {
    text-align: center;
    margin: -4.32vw 0 0;
  }
  .hajimaru .hajimaru-box-header .txt {
    position: relative;
    text-align: center;
    /* font-size: 0.83vw; */
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.05em;
    /* width: 26.04vw; */
    z-index: 10;
    margin: 1.88vw auto 0;
  }
  .hajimaru .hajimaru-product-frame .hajimaru-witebg {
    position: relative;
  }
  .hajimaru .hajimaru-product-frame .hajimaru-witebg .mainttl {
    padding: 1.92vw 0 0 2.5vw;
    width: 59.24vw;
  }  
  .hajimaru .hajimaru-product-frame .hajimaru-witebg .subt {
    font-size: 1.5vw;
    font-weight: 500;
    line-height: 1.85714;
    color: #282826;
    padding: 0.47vw 0 0 2vw;
    letter-spacing: 0;
  }
  .hajimaru .hajimaru-product-frame .mainphoto {
    position: absolute;
    top: 0.89vw;
    right: 4.47vw;
    width: 28vw;
  }  
  .hajimaru-pointframe {
    margin: 7.63vw auto 0;
  }
  .hajimaru-pointframe .hajimaru-point-list {
    margin: 0 auto 0.94vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    justify-content: center;
    gap: 4vw;
  }
  .hajimaru-pointframe .hajimaru-point-list li {

  }
  .hajimaru-pointframe .hajimaru-point-list li:nth-child(3n) {
    margin: 0;
  }
  .hajimaru-pointframe .hajimaru-point-list li .icon {
    text-align: center;
    margin: -2.66vw 0 1.41vw;
  }
  .hajimaru-pointframe .hajimaru-point-list li .ttl {
    text-align: center;
    margin: 0 0 0.78vw;
  }
  .hajimaru-pointframe .hajimaru-point-list li .txt {
    text-align: center;
    /* font-size: 0.94vw; */
    line-height: 1.5;
    letter-spacing: 0;
  }
  .hajimaru .btn04 {
    width: 41.67vw;
    margin: 2.45vw auto 0;
    position: relative;
    box-shadow: 0 0.52vw 1.04vw #2828262E;
    border-radius: 3.13vw;
  }
  .hajimaru .btn04::after {
    content: '';
    display: inline-block;
    width: 1.35vw;
    height: 1.35vw;
    position: absolute;
    top: 2.4vw;
    right: 2.55vw;
    background-image: url(../images/index/hajimaru-btn-arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    transition: 0.3s;
  }
  .hajimaru .btn04:hover::after {
    right: 3.33vw;
  }
}








@media screen and (min-width:768px) and (max-width:1180px) {
  .area-box {
    background-color: #F2F2F2;
    width: 100%;
    height: 25.16vw;
  }
  .area-box .area-box-frame {
    width: 98.31vw;
    margin: 0 auto;
    position: relative;
  }
  .area-box .area-box-frame .map-txt-frame {
    padding: 7vw 0 0 11.1vw;
    width: 50.56vw;
    margin: 0 0 0 0;
  }  
  .area-box .area-box-frame .map-txt-frame .ttl {
    margin: -0.63vw 0 1.77vw 0;
    position: relative;
    z-index: 10;
  }
  .area-box .area-box-frame .map-txt-frame .ttl img {
    width: 20vw;
  }
  .area-box .area-box-frame .map-txt-frame .subt {
    font-size: 2vw;
    line-height: 1.70588;
    letter-spacing: 0.05em;
    font-weight: 500;
    margin: 0 0 1.14vw 0;
  }
  .area-box .area-box-frame .map-txt-frame .txt {
    font-size: 1.6vw;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0px;
  }
  .area-box .area-box-frame .map-img-frame {
    width: 49.07vw;
    margin: 0 0 0 0;
    position: absolute;
    top: 0;
    z-index: 10;
    right: 0;
  }
  .area-box .area-box-frame .map-img-frame .areamap {
    position: absolute;
    top: -5.31vw;
    right: 14.84vw;
  }
}



@media screen and (min-width:768px) and (max-width:1280px) {
  .faq-box {
    padding-top: 7.29vw;
  }
  .faq-box .faq-boxframe {
    width: 90vw;
    margin: 0 auto 4.79vw;
    padding: 4.27vw 0 3.96vw;
    background-color: #F9F9F9;
  }
  .faq-box .faq-boxframe .ttl {
    text-align: center;
    margin: 0 0 0.16vw 0;
  }
  .faq-box .faq-boxframe .subt {
    /* font-size: 1.25vw; */
    font-weight: 500;
    line-height: 2.83;
    letter-spacing: 0.1em;
    text-align: center;
  }
  .faq-box .faq-boxframe .faq-listframe {
    width: 85.29vw;
    margin: 1.72vw auto 0;
  }
  .faq-box .faq-boxframe .faq-listframe .faq-list {
    margin: 0 0 0.99vw 0;
  }
  .faq-box .faq-boxframe .faq-listframe .faq-list dt {
    background-color: #EAEBEB;
    font-weight: bold;
    /* font-size: 1.04vw; */
    line-height: 1.3;
    letter-spacing: 0.05em;
    position: relative;
    padding: 1.46vw 0 1.46vw 4.22vw;
    margin: 0;
  }
  .faq-box .faq-boxframe .faq-listframe .faq-list dt::before {
    content: '';
    display: inline-block;
    width: 1.04vw;
    height: 1.56vw;
    position: absolute;
    top: 1.25vw;
    left: 2.19vw;
    background-image: url(../images/index/faq-q.svg);
    background-size: contain;
    background-repeat: no-repeat;
  }
  .faq-box .faq-boxframe .faq-listframe .faq-list dd {
    color: #595656;
    background-color: #FFFFFF;
    /* font-size: 0.73vw; */
    line-height: 1.71;
    letter-spacing: 0.05em;
    font-weight: 500;
    padding: 1.56vw 2.5vw 1.56vw 4.43vw;
    position: relative;
  }
  .faq-box .faq-boxframe .faq-listframe .faq-list dd::before {
    content: '';
    display: inline-block;
    width: 1.53vw;
    height: 1.28vw;
    position: absolute;
    top: 1.56vw;
    left: 2.19vw;
    background-image: url(../images/index/faq-a.svg);
    background-size: contain;
    background-repeat: no-repeat;
  }
  
}

@media screen and (min-width:768px) and ( max-width:1200px) {
.lineup-bottom-txt::after {
  position: absolute;
  content: "";
  background: url(../images/index/present-goma.png) no-repeat center center / contain;
  width: 14vw;
  height: 29vw;
  right: 1vw;
  bottom: -3vw;
}
.lineup-bottom-txt img {
  width: 60.1vw;
  height: auto;
}

}



@media screen and (min-width:768px) and (max-width:1100px) {
  .otoku .otoku-inner {width: 94%;margin: -1.55vw auto 0;}
  .otoku .otoku-mainttl { text-align: center; padding: 0 0 4.09vw 0; margin-top: -1.82vw; }
  .otoku .otoku-maincnt {}
  .otoku .otoku-maincnt .otoku-mainttl-price {text-align: center;position: relative;width: 90.91vw;margin: 0 auto 1.73vw;}
  .otoku .otoku-maincnt .otoku-mainttl-price::after { content: ''; display: inline-block; width: 17.18vw; height: 11.55vw; position: absolute; top: -2.45vw; right: 9.09vw; background-image: url(../images/index/otoku-mainttl-present-img.png); background-size: contain; background-repeat: no-repeat; }
  .otoku .otoku-maincnt .otoku-mainttl-date { text-align: center; margin: 0 0 2.27vw 0; }
  .otoku .otoku-maincnt .txt01 { font-size: 1.64vw; line-height: 1.6; letter-spacing: 0.25vw; text-align: center; font-weight: 500; margin: 0 0 5.45vw 0; }
  .otoku .otoku-maincnt .txt01 .f-pink { color: #EA6182; }
  .otoku .otoku-maincnt .otoku-kohai-free { position: relative; border: 0.91vw solid #EAE6DC; width: 90.91vw; margin: 0 auto 4.55vw; background-color: #fff; padding: 3.64vw 0 2.73vw 0; }
  .otoku .otoku-maincnt .otoku-kohai-free::after {content: '';display: inline-block;width: 7.27vw;height: 7.27vw;position: absolute;top: -4.2vw;right: 0;left: 0;margin: 0 auto;background-image: url(../images/index/otoku-main-plus.svg);background-size: contain;background-repeat: no-repeat;}
  .otoku .otoku-maincnt .otoku-kohai-free .fukidashi {position: absolute;top: 2.73vw;left: 5.36vw;}
  .otoku .otoku-maincnt .otoku-kohai-free .otoku-free { text-align: center; }
  .otoku .otoku-maincnt .otoku-kohai-free .txt02 { color: #595656; font-size: 1.27vw; line-height: 1.6; letter-spacing: 0px; width: 60.91vw; margin: -3.82vw auto 0; }
}





@media screen and (max-width: 767px) {
  .mainimg .main-bg {
    background-image: url(../images/index/main-bg_sp.jpg);
    background-position: left 8vw top 51vw;
    background-size: 92vw;
    background-repeat: no-repeat;
    height: 162vw;
  }
  .mainimg .main-bg .mainttl {
    position: absolute;
    top: 25.14vw;
    left: 8.29vw;
  }
  .mainimg .main-bg .main-obi {
    text-align: center;
    margin: 0vw 0 0 0;
    padding: 5.36vw 0 0 0vw;
  }
  .mainimg .main-bg .fukidashi {
    position: absolute;
    top: 128.08vw;
    right: 4.88vw;
  }
  .mainimg .main-btn-limainst {
    position: relative;
    top: 3.13vw;
  }
  .mainimg .main-btn-list .btn-list li {
    text-align: center;
  }
  .mainimg .main-btn-list .btn-list li .btn01,
  .mainimg .main-btn-list .btn-list li .btn02 {
    width: 90%;
    margin: 0vw auto;
    position: relative;
    display: inline-block;
  }
  .mainimg .main-btn-list .btn-list li .btn01 img,
  .mainimg .main-btn-list .btn-list li .btn02 img {
    width: 100%;
  }
  .mainimg .main-btn-list .btn-list li .btn02 {
    margin-top: 5vw;
  }
.mainimg .main-btn-list .btn-list li .btn01::after,
.mainimg .main-btn-list .btn-list li .btn02::after {
  content: '';
  display: inline-block;
  width: 4.6vw;
  height: 4.6vw;
  position: absolute;
  top: 7vw;
  right: 4.7vw;
  background-size: contain;
  background-repeat: no-repeat;
  transition: .3s;
}
.mainimg .main-btn-list .btn-list li .btn01:hover::after,
.mainimg .main-btn-list .btn-list li .btn02:hover::after {
  right: 2.5vw;
}
.mainimg .main-btn-list .btn-list li .btn01::after {
  background-image: url(../images/index/main-btn01-arrow.svg);
}
.mainimg .main-btn-list .btn-list li .btn02::after {
  background-image: url(../images/index/main-btn02-arrow.svg);
}





.goriyou {
  margin-top: 13.38vw;
  padding-bottom: 55.71vw;
}
.goriyou .subttl {
  text-align: center;
}
.goriyou .mainttl {
  text-align: center;
  font-size: 8.077vw;
  letter-spacing: 0.1em;
  font-weight: bold;
  line-height: 1.4;
  margin-top: 3vw;
}
.goriyou .mainttl .yellow-line {
  background: linear-gradient(transparent 60%, #FFF35C 30%);
}
.goriyou .mainttl .medium {
  text-align: center;
  font-size: 4.8vw;
  font-weight: 500;
  display: block;
  letter-spacing: 0.01em;
  line-height: 3.2;
}
.goriyou .mainttl .small {
  text-align: center;
  font-size: 4vw;
  font-weight: 500;
  display: block;
  margin-top: 4vw;
  letter-spacing: 0.05em;
}
.goriyou .photo-slide {
  position: absolute;
  z-index: 6;
  width: 100%;
}
.goriyou .photo-slide .loop {
  padding-top: 11.56vw;
  padding-bottom: 1.56vw;
  overflow: hidden;
}
.goriyou .photo-slide .loop__box {
  display: flex;
  width: 100vw;
}
.goriyou .photo-slide .loop__box img {
  min-width: 468vw;
}
.goriyou .photo-slide .loop__box img:first-child {
  animation: loop 60s -30s linear infinite;
}
.goriyou .photo-slide .loop__box img:last-child {
  animation: loop2 60s linear infinite;
}
@keyframes loop {
  0% {
      transform: translateX(100%);
  }
  to {
      transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
      transform: translateX(0);
  }
  to {
      transform: translateX(-200%);
  }
}








.present {
  background-color: #F9F9F9;
  position: relative;
  padding-bottom: 7.4vw;
  margin-top: 26vw;
}
.present .fukidashi {
  text-align: center;
  position: relative;
  top: -2.08vw;
  z-index: 10;
}
.present .fukidashi::before,
.present .fukidashi::after {
  content: "";
  position: absolute;
  top: 18.9vw;
  width: 35vw;
  height: 0.05vw;
  background-color: #595656;
}
.present .fukidashi::before {
  left: 0;
}
.present .fukidashi::after {
  right: 0;
}
.present .fukidashi02 {
  position: absolute;
  top: 45.4vw;
  left: 6.28vw;
  display: inline;
  z-index: 2;
}
.present .subt {
  text-align: center;
  margin-top: 4vw;
  position: relative;
  z-index: 2;
}
.present .mainttl {
  text-align: center;
  font-size: 10vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  position: relative;
  margin-top: 16vw;
  z-index: 2;
}
.present .photo-box {
  background-color: #fff;
  box-shadow: 0px 1.04vw 2.08vw #2828260F;
  max-width: 95vw;
  width: 100%;
  margin-inline: auto;
  position: relative;
  top: -39.13vw;
  height: 122vw;
}
.present .photo-box .photo-box-inner {
  max-width: 100vw;
  margin-inline: auto;
  padding-top: 47.67vw;
}
.present .photo-box .present-img {
  text-align: center;
  width: 85vw;
  margin: 0 auto;
}
.present .photo-box .present-img02 {
  display: inline;
  position: absolute;
  top: 55.23vw;
  right: 7.17vw;
  width: 14vw;
}
.present .photo-box .txt {
  font-size: 3.382vw;
  margin-top: 0.68vw;
  padding-left: 7vw;
  letter-spacing: 0.02em;
}
.present .btn01 {
  width: 90vw;
  margin: 6vw auto;
  position: relative;
  top: 2.5vw;
}
.present .btn01 img {
  width: 100%;
}
.present .btn01::after {
  content: '';
  display: inline-block;
  width: 4.36vw;
  height: 4.36vw;
  position: absolute;
  top: 7.56vw;
  right: 5.13vw;
  background-image: url(../images/index/present-btn-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transition: .3s;
}
.present .btn01:hover::after {
  right: 2.34vw;
}
.present .btn01-txt {
  text-align: center;
  line-height: 1.57;
  margin-top: -25.43vw;
  font-size: 3.382vw;
  letter-spacing: -0.01em;
}







.one-coin {
  padding-top: 6.63vw;
  padding-bottom: 18.96vw;
  position: relative;
}
.one-coin-inner {
  position: relative;
}
.one-coin .gentei {
  text-align: center;
  margin-top: 9vw;
}
.one-coin .fukidashi {
  position: absolute;
  top: 8.1vw;
  left: 3.5vw;
  width: 22vw;
}
.one-coin .mainttl {
  text-align: center;
  position: relative;
  z-index: 2;
  margin-top: 2vw;
}
.one-coin .mainttl .ttl {
  margin-top: 3vw;
}
.one-coin .mainttl .txt {
  line-height: 1;
  margin-top: 1.04vw;
}
.one-coin .subttl {
  margin-top: -1.77vw;
}
.one-coin .subttl img {
  width: 79.227vw;
  height: auto;
}
.one-coin .one-coin-img {
  margin: 7vw auto -10vw;
  width: 100%;
  text-align: center;
}
.one-coin .one-coin-img img {

}
.one-coin .one-coin-price {
  text-align: center;
}
.one-coin .one-coin-price img {
  width: 71.981vw;
  height: auto;
}
.one-coin .btn02 {
  width: min(95%,89.3vw);
  margin: 2.52vw auto 0;
  position: relative;
}
.one-coin .btn02 img{
  width: 100%;
}
.one-coin .btn02::after {
  content: '';
  display: inline-block;
  width: 4.36vw;
  height: 4.36vw;
  position: absolute;
  top: 7.45vw;
  right: 22.92vw;
  background-image: url(../images/index/one-coin-btn-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transition: .3s;
}
.one-coin .btn02:hover::after {
  right: 20.13vw;
}
.one-coin .btn02-txt {
  text-align: center;
  line-height: 1.625;
  margin-top: 5.68vw;
  font-size: 3.4vw;
  letter-spacing: 0.01em;
}
.one-coin-lineupframe-box {
  background: #F9F9F9;
  padding: 0 0 14vw;
}
.one-coin .onecoin-photo-frame{
    position: relative;
    margin: 0 0 5vw 0;
}
.one-coin .onecoin-photo-frame .set-txt {
  color:#282826;
  font-size:2.898vw;
  line-height: 1.4;
  letter-spacing: 0;
  position: absolute;
  top: 30vw;
  left: 61.5vw;
}
.one-coin .onecoin-photo-frame .set-txt .setttl{
  font-weight: 400;
  background-color:#FFED15;
  font-size:3.865vw;
  line-height:1;
  padding: 1.8vw 1.17vw 0.8vw 3.35vw;
  letter-spacing:0;
  margin: 0 2.41vw 0.4vw 0;
  display: block;
  width: 20vw;
}
.one-coin .one-coin-lineupframe {
  position: relative;
  z-index: 10;
  width: min(95%, 89.37vw);
  margin-inline: auto;
  padding: 6.21vw 0 6.45vw;
  border: 0.4vw dashed #927D25;
  background: #fff;
  margin-bottom: 9.66vw;
}

.one-coin .one-coin-lineupframe .sub-ttl {
  text-align: center;
  margin-bottom: 6vw;
}

.one-coin .one-coin-lineupframe .lineup-list {
  width: min(95%, 82.13vw);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.42vw 2.42vw;
  margin-bottom: 5vw;
}

.one-coin .one-coin-lineupframe .lineup-list li {
  background: #F9F9F9;
  padding: 4.83vw 2.5vw 2.83vw;
}

.one-coin .one-coin-lineupframe .lineup-list li p.photo {
  text-align: center;
  margin-bottom: 3.42vw;
}

.one-coin .one-coin-lineupframe .lineup-list li p.photo.gyoza {
  text-align: center;
  /* margin-bottom: 8.42vw; */
}

.one-coin .one-coin-lineupframe .lineup-list li:nth-child(1) p.photo img {
  width: 100%;
  height: auto;
}

.one-coin .one-coin-lineupframe .lineup-list li:nth-child(2) p.photo img {
  width: 100%;
  height: auto;
}

.one-coin .one-coin-lineupframe .lineup-list li:nth-child(3) p.photo img {
  width: 100%;
  height: auto;
}

.one-coin .one-coin-lineupframe .lineup-list li:nth-child(4) p.photo img {
  width: 100%;
  height: auto;
}

.one-coin .one-coin-lineupframe .lineup-list li .lineup-detail-txtframe p.name {
  text-align: left;
  font-size: 3.86vw;
  line-height: 1.5;
  font-weight: 700;
}

.one-coin .one-coin-lineupframe .lineup-list li .lineup-detail-txtframe p.name-sub {
  text-align: left;
  font-size: 3.38vw;
  line-height: 1.6;
}

.one-coin p.last-subtxt {
  width: min(95%,330px);
  margin-inline: auto;
  font-size: 3.865vw;
  line-height: 1.6;
}

.one-coin p.last-subtxt span {
  font-size: 3.865vw;
  line-height: 1.6;
  font-weight: 700;
}

.one-coin .btn02-txt{
  text-align: center;
  line-height: 1.625;
  margin-top: 4.348vw;
  font-size: 3.382vw;
  margin-bottom: 5.314vw;
  width: min(95%,89.3vw);
  margin-inline: auto;
}
.lineup-bottom-ttl {
  text-align: center;
  margin-bottom: 6.246vw;
  position: relative;
  /* left: -8vw; */
}
.lineup-bottom-txt {
  background: #EAE6DC;
  padding: 9.179vw 0 16.908vw;
  text-align: left;
  position: relative;
  margin-bottom: -13.043vw;
}
.lineup-bottom-txt img {
  padding-left: 5vw;
}
.lineup-bottom-txt::after {
  position: absolute;
  content: "";
  background: url(../images/index/sp_present-goma.png) no-repeat center center / contain;
  width: 31.116vw;
  height: 66.116vw;
  right: 2.836vw;
  bottom: 2.792vw;
}
.one-coin .btn02.bottom {
  margin-bottom: 5.556vw;
}
.one-coin .btn02.bottom::after {
  right: 4.831vw;
  top: 7.488vw;
}
.one-coin .btn02.bottom:hover::after{
  right: 2.899vw;
}
.lineup-bottom-txt02 {
  color: #595656;
  font-size: 3.382vw;
  line-height: 1.6;
  text-align: center;
}



.meritto {
  padding-bottom: 113vw;
}
.meritto .meritto-slider {
  width: 90vw;
  margin: 0 auto;
}
.meritto .meritto-slider .meritto-sliderset:nth-child(n+2) {
  margin-top: 11vw;
}
.meritto .meritto-frame {
  box-shadow: 10px 6px 12px #2828261A;
  border-radius: 5vw;
  display: flex;
  flex-direction: column;
  background: #fff;
}
.meritto .meritto-ttl-frame .mainttl {
  background-color: #F2F2F2;
  text-align: center;
  padding: 14vw 0 95vw;
}
.meritto .meritto-slider-wrap{
  margin: -85vw auto;
}

.meritto .meritto-frame .photo img{
  border-radius: 5vw 5vw 0 0;
  width: 100%;
}
.meritto .meritto-frame .meritto-content {
  padding: 7vw 7vw 9vw 5vw;
}
.meritto .meritto-frame .meritto-content .num {
  width: 14vw;
}
.meritto .meritto-frame .meritto-content .ttl{
  font-size: 7.27vw;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 4.09vw;
}
.meritto .meritto-frame .meritto-content .txt {
  font-size: 3.37vw;
  font-weight: 500;
  line-height: 2.1;
  letter-spacing: 0.05em;
  margin-top: 4.08vw;
  padding-right: -4.47vw;
}








.otoku {
  background-color: #F9F9F9;
  padding-bottom: 15vw;
}
.otoku .fukidashi {
  text-align: center;
  position: relative;
  top: -14.13vw;
  z-index: 2;
}

.otoku .otoku-inner {
  width: 94.1vw;
  margin: 0 auto;
}
.otoku .otoku-mainttl {
  text-align: center;
  margin-top: -7.46vw;
}


.otoku .otoku-inner{width: 100%;margin: -10.08vw auto 0;}
.otoku .otoku-mainttl{text-align: center;padding: 0 0 6.87vw 0;margin-top: -4.83vw;}
.otoku .otoku-maincnt{
    width: 90%;
    margin: 0 auto;
}
.otoku .otoku-maincnt .otoku-mainttl-price{text-align: center;width: 100%;margin: 0 auto 4.25vw;position: relative;}
.otoku .otoku-maincnt .otoku-mainttl-price::after{content: '';display: inline-block;width: 26.65vw;height: 17.68vw;position: absolute;top: -13vw;right: -1vw;background-image: url(../images/index/otoku-mainttl-present-img.png);background-size: contain;background-repeat: no-repeat;}
.otoku .otoku-maincnt .otoku-mainttl-date{text-align: center;margin: 0 0 4.04vw 0;}
.otoku .otoku-maincnt .txt01{font-size: 3.6vw;line-height: 1.8;letter-spacing: 0.25vw;text-align: left;font-weight: 500;margin: 0 auto 12.49vw auto;width: 90%;color: #282826;}
.otoku .otoku-maincnt .txt01 .f-pink{color: #EA6182;}
.otoku .otoku-maincnt .otoku-kohai-free{border: 10px solid #EAE6DC;position:relative;width: 100%;margin: 0 auto 11.08vw;background-color: #fff;padding: 12.66vw 0 7.25vw 0;}
.otoku .otoku-maincnt .otoku-kohai-free::after{content: '';display: inline-block;width: 16.32vw;height: 16.32vw;position: absolute;top: -10.32vw;left: 0;right: 0;margin: 0 auto;background-image: url(../images/index/otoku-main-plus.svg);background-size: contain;background-repeat: no-repeat;}
.otoku .otoku-maincnt .otoku-kohai-free .fukidashi{position: absolute;top: -5vw;right: 3vw;}
.otoku .otoku-maincnt .otoku-kohai-free .otoku-free{text-align: center;padding: 0 6vw 0 6vw;margin: 0 0 3vw 0;}
.otoku .otoku-maincnt .otoku-kohai-free .txt02{color: #595656;font-size: 3.2vw;line-height: 1.6;letter-spacing: 0;width: 88%;margin: 0vw auto 0;}



.otoku .otoku-obi {
  text-align: center;
  margin-top: 4.25vw;
  margin: 4.25vw 0 13vw 0;
}
.otoku .otoku-frame {
  margin: 9.13vw auto 0;
  width: 92%;
}
.otoku .otoku-frame .otoku-list {
  display: block;
}
.otoku .otoku-frame .otoku-list li {
  position: relative;
  background: #FFFFFF;
  border: 5px solid #F2F2F2;
  padding: 5.6vw 3.3vw;
}
.otoku .otoku-frame .otoku-list li img {
  width: 100%;
}
.otoku .otoku-frame .otoku-list li:nth-child(n+2) {
  margin-top: 10vw;
}
.otoku .otoku-frame .otoku-list li .icon {
  position: absolute;
  top: -3.8vw;
  left: 0.89vw;
  width: 25vw;
}
.otoku .otoku-frame .otoku-list li .subt {
  color: #927D25;
  font-size: 6vw;
  font-weight: 500;
  letter-spacing: 0.06em;
  margin-top: 4.04vw;
}
.otoku .otoku-frame .otoku-list li .txt {
  font-size: 3.4vw;
  line-height: 2;
  font-weight: 500;
  margin-top: 1.73vw;
  letter-spacing: 0.01em;
}
.otoku .btn03 {
  margin: 6.98vw auto 0;
  position: relative;
  text-align: center;
  width: 95%;
}
.otoku .btn03 img{
  width: 100%;
}
.otoku .btn03::after {
  content: '';
  display: inline-block;
  width: 4.36vw;
  height: 4.36vw;
  position: absolute;
  top: 7.45vw;
  right: 4.23vw;
  background-image: url(../images/index/otoku-btn-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transition: .3s;
}
.otoku .btn03:hover::after {
  right: 2.45vw;
}



/* チェックボックスを視覚的に非表示にしつつ、クリックを確実に認識させる */
.toggle {
  position: absolute;
  opacity: 0;
}

/* 初期状態では内容を隠し、高さを0にします */
.pull {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease-in-out;
}

/* チェックボックスがチェックされた時、対応するpullクラスの内容を表示し、最大高さを一定値に設定します */
.toggle:checked + .pull {
  max-height: 60vw; /* 適切な最大高さに調整してください */
}

/* ラベルのスタイルを保持しつつ、クリックを有効にする */
label.clicktxt {
  cursor: pointer;
  display: block;
  position: relative;
}






.meritto-box{margin: 0 0 0vw 0;padding: 15vw 0 14vw 0;background-image:url(../images/index/meritto-bg_sp.png);background-position: center top 0px;background-repeat:no-repeat;}
.meritto-box .meritto-ttl-frame{width: 100%;padding: 0px 0 0px 0;margin: 0 auto 12vw;position: relative;}
.meritto-box .meritto-ttl-frame .mainttl{text-align: center;margin: 0px 3vw -2vw 3vw;position: relative;top: -0vw;}
.meritto-box .meritto-sliderbg{padding: 0 0 5vw 0;margin: 0 auto;width: 100%;/* background-color: #FFFACA; */}
.meritto-box .meritto-slider{width: 100%;margin: 0 auto;}

.meritto-box .meritto-slider .meritto-frame{width: 87vw;margin: 0 6vw 0 6vw;height: 120vw;background-color: #fff;position: relative;padding: 0 0 0 0;border-radius:4vw;}
.meritto-box .meritto-slider .meritto-frame:before {content: '';position: absolute;top: -0.5vw;left: -0.5vw;right: -0.5vw;bottom: -0.5vw;border-radius: 4vw;border: 2px dashed #E6983C;pointer-events: none;}
.meritto-box .meritto-ttl-frame .photo{position: absolute;top: 49vw;left: 12vw;}
.meritto-box .meritto-ttl-frame .photo img{width: 32vw;}

.meritto-box .meritto-slider .meritto-frame .meritto-ttlframe{margin: -5vw 0 0vw 0;}
.meritto-box .meritto-slider .meritto-frame .meritto-ttlframe .num{margin: 0 auto -6vw auto;position: relative;z-index: 10;top: -9vw;width: 66%;}
.meritto-box .meritto-slider .meritto-frame .ttl {font-weight: bold;font-size:7.005vw;line-height: 1.4;letter-spacing: 0;color: #F98B07;margin: 2vw 0 2vw 0;text-align: center;}
.meritto-box .meritto-slider .meritto-frame .ttl .colorline {display: inline-block;padding: 0 1vw;margin: 0 0 2vw 0;background: linear-gradient(transparent 60%, #FDEB02 0);}
.meritto-box .meritto-slider .meritto-frame .photo{width: 77%;margin: 0 auto 3vw;}
.meritto-box .meritto-slider .meritto-frame .meritto-list{margin: 0 0 0 3vw;padding: 0 0 0 0vw;width: 88%;}
.meritto-box .meritto-slider .meritto-frame .meritto-list li{position:relative;font-weight:bold;font-size:3.865vw;line-height: 1.6;letter-spacing: 0.1vw;padding: 0 0 2.3vw 10vw;}
.meritto-box .meritto-slider .meritto-frame .meritto-list li::before{content: '';display: inline-block;width: 3.5vw;height: 3.5vw;position: absolute;top: 1.4vw;left: 3vw;background-image: url(../images/index/meritto-list-icon.svg);background-size: contain;background-repeat: no-repeat;}

.sliderArea{width: 100%;margin: 0 auto;position: relative;}
.sliderArea .slick-list{overflow: visible !important;}
.prev-arrow{position: absolute;top: 49vw;left: 3vw;z-index: 10;width: 12vw;}
.next-arrow{position: absolute;top: 49vw;right: 3vw;z-index: 10;width: 12vw;}





.price {
  padding-top: 6.25vw;
}
.price .ttl-frame {
  width: 94.4vw;
  margin: 0 auto;
  position: relative;
}
.price .ttl-frame .mainttl {
  margin-top: 4.52vw;
  text-align: center;
}
.price .ttl-frame .txt01 {
  text-align: center;
}

.price .ttl-frame .txt02 {
  font-size: 4vw;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  margin-top: 5.56vw;
  letter-spacing: 0;
}
.price .price-table {
  margin: 0 auto 19vw;
}
.price .price-table .price-table-subtxt{/* position: absolute; */text-align: right;padding: 3vw 0 0vw 0;width: 95%;/* top: -6vw; *//* right: 0; */}

.price .price-table-ttl {
  font-size: 6vw;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
  text-align: center;
  position: relative;
  margin-top: 13vw;
}
.price .price-table-ttl::after {
  content: "";
  display: block;
  width: 10.08vw;
  height: 0.1vw;
  background-color: #927D25;
  margin: 2.68vw auto 0;
}
.scrollable-table {
  max-width: 100%;
  white-space: nowrap;
} 
.price-table-frame {
  width: 944px;
} 
.js-scrollable {
  margin-top: 2vw;
  margin-inline: auto;
  overflow-x: auto;
  width: 89.3719806763vw;
  position: relative;
  padding-bottom: 10px;
}
.scroll-hint.is-right-scrollable {
  background: none !important;
}
/* スクロールバー全体のスタイル */
.js-scrollable::-webkit-scrollbar {
  width: 100%; /* スクロールバーの幅 */
  height: 14px; /* 横スクロールバーの高さ */
}
/* スクロールバーのつまみのスタイル */
.js-scrollable::-webkit-scrollbar-thumb {
  background-color: #707070;/* スクロールバーのつまみの色 */
}
/* スクロールバーの背景（トラック）のスタイル */
.js-scrollable::-webkit-scrollbar-track {
  background-color: #E4E4E4; /* 背景の色 */
}

.price-table-frame {
  white-space: nowrap;
}
.price .price-txtframe {
  width: 89.6%;
  margin: 0 auto 4.3vw;
}
.price .price-txtframe .subt {
  font-size: 3.87vw;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin: 0 auto;
  padding: 0 2vw 0 8vw;
  display: block;
  background-color: #F2F2F2;
  color: #282826;
  background-image: url(../images/index/list-open-arrow.svg);
  background-position: right 3.56vw top 5vw;
  background-repeat: no-repeat;
  position: relative;
  height: 17.2vw;
  display: flex;
  align-items: center;
}
.price .price-txtframe .subt .small {
  font-size: 3vw;
  letter-spacing: 0;
}
.price .price-txtframe .subt.subt-open {
  background-image: url(../images/index/list-close-arrow.svg);
}
.price .price-txtframe .subt::before {
  content: '⚫︎';
  color: #927D25;
  font-size: 2.73vw;
  display: inline-block;
  position: absolute;
  top: 6.25vw;
  left: 3.51vw;
}
.price .price-txtframe .pull-inner {
  padding: 4.9vw 4.13vw 7.77vw 5.13vw;
  border: 0.1vw solid #F2F2F2;
}
.price .price-txtframe .pull-inner .txt {
  font-size: 3.4vw;
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0;
  position: relative;
  padding-left: 5.04vw;
  margin-top: 2vw;
}
.price .price-txtframe .pull-inner .txt-02 {
  font-size: 3.83vw;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0;
  margin-bottom: 0.57vw;
}
.price .price-txtframe .pull-inner .txt-02 .normal {
  font-weight: 500;
  font-size: 3.4vw;
  margin-top: 2vw;
  display: block;
}
.price .price-txtframe .pull-inner .txt::before {
  content: '•';
  color: #D6BA46;
  font-size: 2.83vw;
  display: inline-block;
  position: absolute;
  left: 1vw;
  top: 0;
}







.calender {
  margin-top: 9.17vw;
  padding-bottom: 36.94vw;
}
.calender .calender-icon {
  text-align: center;
}
.calender .main-ttl {
  text-align: center;
  margin-top: 5.88vw;
  position: relative;
  z-index: 2;
}
.calender .subttl {
  text-align: center;
  font-size: 4.25vw;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-top: 5.88vw;
  position: relative;
  z-index: 2;
}
.calender .calender-frame {
  margin: 4.46vw auto 0;
  position: relative;
  padding-bottom: 2.55vw;
}
.calender .calender-frame::after {
  background-image: url(../images/index/calender-frame-bg.png);
  content: '';
  position: absolute;
  width: 128.5vw;
  height: 94%;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
  top: 20.64vw;
  left: 0;
}
.calender .calender-frame .calender-content {
  margin-top: 3.41vw;
  padding: 0 9vw 0 9vw;
}
.calender .calender-img-frame {
  width: 89.04vw;
  margin: 0 auto;
}
.calender .calender-img-frame .calender-img {
}
.calender .calender-frame .subt {
  color: #5BB940;
  font-size: 4.8vw;
  font-weight: 700;
  line-height: 1.625;
  text-align: center;
  letter-spacing: 0;
}
.calender .calender-frame .txt {
  font-size: 3.4vw;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  margin-top: 3.52vw;
  letter-spacing: 0;
  text-align: left;
}





.hajimaru {
  background-color: #F6E9E8;
  border-radius: 40px 40px 0px 0px;
  padding-bottom: 14vw;
}
.hajimaru .hajimaru-inner {
  width: 94.3vw;
  margin: 0 auto;
  padding-top: 3.13vw;
}
.hajimaru .hajimaru-box-header {
  background-color: #FFFFFF;
  position: relative;
  margin: 15vw auto 0;
  border-radius: 1.04vw;
  padding: 0 0 8.13vw;
}
.hajimaru .hajimaru-box-header .obi {
  text-align: center;
  position: relative;
  top: -30.31vw;
  width: 86vw;
  left: 5vw;
}
.hajimaru .hajimaru-box-header .photo01 {
  position: absolute;
  top: -13.34vw;
  left: 1.14vw;
  z-index: 2;
  width: 44vw;
}
.hajimaru .hajimaru-box-header .photo02 {
  position: absolute;
  top: -11.32vw;
  right: 3.51vw;
  width: 39vw;
}
.hajimaru .hajimaru-box-header .ttl {
  text-align: center;
  margin: -11vw 0 0;
}
.hajimaru .hajimaru-box-header .txt {
  position: relative;
  text-align: center;
  font-size: 3.6vw;
  line-height: 2;
  letter-spacing: 0;
  z-index: 10;
  margin: 4.88vw auto 0;
}
.hajimaru .hajimaru-product-frame  {
  margin-top: 10vw;
}
.hajimaru .hajimaru-product-frame .hajimaru-witebg {
  position: relative;
}
.hajimaru .hajimaru-product-frame .hajimaru-witebg .mainttl {
  width: 81vw;
  margin: 0 auto;
}
.hajimaru .hajimaru-product-frame .hajimaru-witebg .subt {
  font-weight: 500;
  line-height: 1.7;
  font-size: 3.5vw;
  color: #282826;
  letter-spacing: -0.01em;
  margin-top: 2vw;
  text-align: center;
}
.hajimaru .hajimaru-product-frame .mainphoto {
  margin: 4vw auto 0;
  width: 87vw;
}
.hajimaru .hajimaru-product-frame .mainphoto img {
  width: 100%;
}
.hajimaru-pointframe {
  margin-top: 16vw;
}
.hajimaru-pointframe .hajimaru-point-list {
  margin: 0 auto 0.94vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  justify-content: center;
  gap: 1.04vw;
}
.hajimaru-pointframe .hajimaru-point-list li {
  background-color: #fff;
  border: 0.05vw solid #DCA395;
  border-radius: 5px;
  width: 77vw;
  padding: 5vw 7vw 7vw;
  box-shadow: 6px 6px 0px #DCA395;
}
.hajimaru-pointframe .hajimaru-point-list li:not(:first-child) {
  margin-top: 15.04vw;
}
.hajimaru-pointframe .hajimaru-point-list li .icon {
  text-align: center;
  margin: -16.66vw 0 1.41vw 0;
}
.hajimaru-pointframe .hajimaru-point-list li .ttl {
  text-align: center;
  margin: 6vw 0 3.78vw 0;
}
.hajimaru-pointframe .hajimaru-point-list li .ttl img {
  width: 58vw;
}
.hajimaru-pointframe .hajimaru-point-list li .txt {
  text-align: center;
  font-size: 4.3vw;
  line-height: 1.5;
  letter-spacing: 0;
}
.hajimaru .btn04 {
  margin: 11.46vw auto 0;
  position: relative;
  width: 87%;
  box-shadow: 0px 10px 20px #2828262E;
  border-radius: 72px;
}
.hajimaru .btn04 img{
  width: 100%;
}
.hajimaru .btn04::after {
  content: '';
  display: inline-block;
  width: 4.36vw;
  height: 4.36vw;
  position: absolute;
  top: 8.49vw;
  right: 7.11vw;
  background-image: url(../images/index/hajimaru-btn-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transition: .3s;
}
.hajimaru .btn04:hover::after {
  right: 3.33vw;
}



.voice {
  padding: 22.33vw 0 10.38vw;
}
.voice .ttl {
  text-align: center;
}
.voice .subt {
  font-size: 4.25vw;
  font-weight: 500;
  line-height: 2.83;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 3.52vw;
}
.voice .voice-slider  {
  display: flex;
  gap: 2.08vw; 
}
.voice .voice-slider02  {
  overflow: visible;
}
.voice .voice-slider02 .slick-list  {
  padding-left: 9.375vw; 
}
.voice-slider .slider-list {
  margin-bottom: 9.125vw;
  margin-right: 10.08vw;
}
.voice .voice-slider .slider-item {
  border-radius: 10px;
  box-shadow: 6px 6px 12px #2828261A;
  width: 125.8vw;
  height: 43.5vw;
  border-radius: 10px;
  box-shadow: 6px 6px 12px rgba(40, 40, 38, 0.1);
  display: flex;
  background-color: white;
}
.voice .voice-slider .slider-item .slider-content{
  padding: 6.77vw 2.04vw 0.82vw 5.04vw;
  background-color: #FFFFFF;
  border-radius: 10px;
}
.voice .voice-slider .slider-item .slider-content .name{
  background: #595656;
  color: #FFFFFF;
  font-size: 3.73vw;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 2;
  text-align: center;
  display: block;
  max-width: 26.78vw;
}
.voice .voice-slider .slider-item .slider-content .ttl{
  font-size: 3.83vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.625;
  display: inline-block;
  margin-top: 2.57vw;
}
.voice .voice-slider .slider-item .slider-content .yellow-line{
  background: linear-gradient(transparent 60%, #FFF35C 30%);
}
.voice .voice-slider .slider-item .slider-content .txt{
  font-size: 3.6vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.71;
  margin-top: 0.26vw;
}
.voice .photo-slide .voice-slider{
  display: flex;
  gap: 40px;
}
.voice .photo-slide .voice-slider.bottom{
  padding-left: 9%;
}
.voice .photo-slide  {
  margin-top: 7vw;
}
.voice .photo-slide:nth-child(2){
  margin-top: 8vw;
}



.voice .swiper-container .swiper-wrapper,
.voice .swiper-container02 .swiper-wrapper {transition-timing-function: linear !important;}
.voice .swiper-container02{ margin:0 0 0 20vw;}
.swiper-wrapper{}
.swiper-slide{ width: 125.8vw !important;  margin-bottom: 9.125vw; margin-right: 10.08vw;}
.swiper-wrapper .subt{font-size: 4.25vw;font-weight: 500;line-height: 2.83;letter-spacing: 0.1em;text-align: center;margin-top: 3.52vw;}
.swiper-wrapper .slider-item{border-radius: 10px;box-shadow: 6px 6px 12px #2828261A;width: 125.8vw;height: 43.5vw;border-radius: 10px;box-shadow: 6px 6px 12px rgba(40, 40, 38, 0.1);display: flex;background-color: white;}
.swiper-wrapper .slider-item .slider-content{  padding: 6.77vw 2.04vw 0.82vw 5.04vw;background-color: #FFFFFF;border-radius: 10px;}
.swiper-wrapper .slider-item .slider-content .name{background: #595656;color: #FFFFFF;font-size: 3.73vw;font-weight: 500;letter-spacing: 0;line-height: 2;text-align: center;display: block;max-width: 26.78vw;}
.swiper-wrapper .slider-item .slider-content .ttl{font-size: 3.83vw;font-weight: 700;letter-spacing: 0.05em;line-height: 1.625;display: inline-block;margin-top: 2.57vw;}
.swiper-wrapper .slider-item .slider-content .yellow-line{  background: linear-gradient(transparent 60%, #FFF35C 30%);}
.swiper-wrapper .slider-item .slider-content .txt{  font-size: 3.6vw;font-weight: 500;letter-spacing: 0.05em;line-height: 1.71;margin-top: 0.26vw;}





.area-box {
  background-color: #F2F2F2;
  width: 100%;
  height: 153vw;
}
.area-box .area-box-frame {
  width: 95vw;
  margin: 0 auto;
  position: relative;
}
.area-box .area-box-frame .map-txt-frame {
  padding: 10.56vw 0 0 0;
}
.area-box .area-box-frame .map-txt-frame .ttl {
  width: 37vw;
  margin: 0 auto;
  position: relative;
  z-index: 10;
}
.area-box .area-box-frame .map-txt-frame .subt {
  font-size: 6vw;
  line-height: 1.71;
  letter-spacing: 0.02em;
  font-weight: 500;
  text-align: center;
  margin-top: 2vw;
}
.area-box .area-box-frame .map-txt-frame .txt {
  font-size: 5vw;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: -0.03em;
  margin-top: 94vw;
  padding-left: 3vw;
}
.area-box .area-box-frame .map-img-frame {
  margin: 0;
  position: absolute;
  top: 35.37vw;
  z-index: 10;
  left: -3.1vw;
  width: 109vw;
}
.area-box .area-box-frame .map-img-frame .areamap {
  position: absolute;
  width: 92%;
}
.area-box .area-box-frame .map-img-frame .areamap img {
  width: 100%;
}



.faq-box {
  padding: 9vw 0 0;
}
.faq-box .faq-boxframe{
  width: 94%;
  margin: 0 auto;
  padding: 16vw 2vw 6vw 2vw;
  background-color:#F9F9F9;
}
.faq-box .faq-boxframe .subt{
  font-size: 4.4vw;
  font-weight: 500;
  line-height: 2.8333;
  letter-spacing: 0.1em;
  text-align: center;
}
.faq-box .faq-boxframe .ttl {
  text-align: center;
  margin: 0 0 0.16vw 0;
}
.faq-box .faq-boxframe .faq-listframe {
  margin: 4.72vw auto 0;
}
.faq-box .faq-boxframe .faq-listframe .faq-list {
  margin: 0 0 5.99vw 0;
}

.faq-box .faq-boxframe .faq-listframe .faq-list dt {
  background-color: #EAEBEB;
  font-weight: bold;
  font-size: 4vw;
  line-height: 1.3;
  letter-spacing: 0.02em;
  position: relative;
  padding: 5.46vw 0 5.46vw 10.22vw;
  margin: 0;
}
.faq-box .faq-boxframe .faq-listframe .faq-list dt::before {
  content: '';
  display: inline-block;
  width: 2.9vw;
  height: 5vw;
  position: absolute;
  top: 5.7vw;
  left: 5.6vw;
  background-image: url(../images/index/faq-q.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.faq-box .faq-boxframe .faq-listframe .faq-list dd {
  color: #595656;
  background-color: #FFFFFF;
  font-size: 3.4vw;
  line-height: 1.6;
  font-weight: 500;
  padding: 6.56vw 4.5vw 5.56vw 10.43vw;
  position: relative;
}
.faq-box .faq-boxframe .faq-listframe .faq-list dd::before {
  content: '';
  display: inline-block;
  width: 2.9vw;
  height: 4.56vw;
  position: absolute;
  top: 6.25vw;
  left: 6.19vw;
  background-image: url(../images/index/faq-a.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

}

@media screen and (max-width: 374px) {
.one-coin .fukidashi {
  position: absolute;
  top: 11.1vw;
  left: 0.5vw;
  width: 20vw;
}
.lineup-bottom-txt::after {
  right: 3.8vw;
}

}