@charset "UTF-8";
.select-frame {display: none; }
.select-frame.active {display: block;}


/* ========================================
  @media screen and (min-width: 768px), print
======================================== */
@media screen and (min-width: 768px), print {
/* main
-------------------------------------*/
#main {
  background: #F0E8D3;
}
#main .main-inner {
  width: min(95%, 1686px);
  margin-inline: auto;
  position: relative;
  padding: 158px 0 246px;
}
#main .main-ttl-box {
  display: flex;
  flex-direction: column-reverse;
  width: min(95%, 585px);
  margin-right: auto;
  margin-left: 132px;
  position: relative;
  z-index: 3;
  gap: 50px;
}
#main .main-ttl {
  width: 585px;
  margin-inline: auto;
}
#main .main-ttl img {
  width: 100%;
}
#main .main-point-box {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
#main .main-photo {
  position: absolute;
  top: 17px;
  right: 0;
  width: 1063px;
  z-index: 1;
}
#main .main-photo img {
  width: 100%;
}
#main .main-deco01 {
  position: absolute;
  top: 44px;
  left: -6px;
  width: 325px;
}
#main .main-deco01 img {
  width: 100%;
}
#main .main-deco02 {
  position: absolute;
  bottom: -24px;
  left: 74px;
  width: 287px;
}
#main .main-deco02 img {
  width: 100%;
}
#main .main-deco03 {
  position: absolute;
  top: 31px;
  left: 631px;
  width: 481px;
  z-index: 2;
}
#main .main-deco03 img {
  width: 100%;
}
#main .main-deco04 {
  position: absolute;
  top: 64px;
  right: 47px;
  width: 35px;
}
#main .main-deco04 img {
  width: 100%;
}
#main .main-deco05 {
  position: absolute;
  bottom: -13px;
  right: -45px;
  width: 257px;
  z-index: 2;
}
#main .main-deco05 img {
  width: 100%;
}


/* cta
-------------------------------------*/
#cta {
  background: url(../images/index/cta-bg.png) center center/cover no-repeat;
}
#cta .cta-inner {
  width: min(95%, 1100px);
  margin-inline: auto;
  padding: 100px 0 87px;
  position: relative;
  z-index: 5;
}
#cta .cta-box {
  background: url(../images/index/cta-box-bg.png) center center/auto no-repeat;
  /* top: -244px; */
  position: relative;
  z-index: 6;
  padding: 57px 0 44px;
  margin-top: -248px;
}
#cta .cta-subt {
  margin-bottom: 14px;
  width: min(95%, 445px);
  margin-inline: auto;
}
#cta .cta-subt img {
  width: 100%;
}
#cta .cta-ttl {
  margin-bottom: 33px;
  width: min(95%, 840px);
  margin-inline: auto;
}
#cta .cta-ttl img {
  width: 100%;
}
#cta .btn {
  width: min(95%, 445px);
  margin-inline: auto;
}
#cta .btn img {
  width: 100%;
}
#cta .deco01 {
  position: absolute;
  top: 76px;
  right: 199px;
  width: 107px;
}
#cta .deco01 img {
  width: 100%;
}
#cta .deco02 {
  position: absolute;
  bottom: -11px;
  left: 1px;
  width: 306px;
}
#cta .deco02 img {
  width: 100%;
}
#cta .deco03 {
  position: absolute;
  bottom: -11px;
  right: 48px;
  width: 281px;
}
#cta .deco03 img {
  width: 100%;
}
#cta .cta-txt {
  width: min(95%, 777px);
  margin-inline: auto;
  margin-top: 16px;
}
#cta .cta-txt img {
  width: 100%;
}



/* area
-------------------------------------*/
#area {
  background: url(../images/index/area-bg.png) top center/contain no-repeat, url(../images/index/area-bg.png) bottom center/contain no-repeat;
  position: relative;
}
#area .area-inner {
  padding: 119px 0 144px;
  width: min(95%, 1236px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 47.9% 42.55%;
  gap: 48px;
}
#area .txt-box {
  background: url(../images/index/area-txt-box-bg.png) center center/cover no-repeat;
  padding: 52px 0 52px;
  margin: 0 0 0 67px;
  position: relative;
  z-index: 2;
}
#area .ttl {
  width: min(95%, 311px);
  margin-inline: auto;
  margin-bottom: 10px;
  position: relative;
}
#area .ttl::after {
  content: '';
  display: block;
  width: 70px;
  height: 8px;
  background: #FE9909;
  position: absolute;
  bottom: -37px;
  left: 50%;
  transform: translateX(-50%);
}
#area .ttl img {
  width: 100%;
}
#area .txt {
  font-size: 20px;
  line-height: 2.4;
  letter-spacing: 0em;
  font-weight: 500;
  text-align: center;
  margin: 58px 0 0;
}
#area .txt .orange {
  color: #FE9909;
}
#area .txt .large {
  font-size: 30px;
  line-height: 1.6;
  letter-spacing: 0em;
  font-weight: 700;
}
#area .img-box {
  background-color: #F0E8D3;
  border-radius: 40px;
  position: relative;
  padding: 52px 53px 0;
}
#area .img-box .ttl {
  width: min(95%, 250px);
  margin: 0;
}
#area .img-box .ttl::after {
  content: none;
}
#area .img-box .ttl img {
  width: 100%;
}
#area .img {
  position: absolute;
  top: -88px;
  right: -70px;
  width: 685px;
  z-index: 2;
}
#area .img img {
  width: 100%;
}
#area .deco01 {
  position: absolute;
  top: 142px;
  left: 84px;
  width: 237px;
}
#area .deco01 img {
  width: 100%;
}
#area .deco02 {
  position: absolute;
  bottom: 78px;
  right: 116px;
  width: 321px;
  z-index: 1;
}
#area .deco02 img {
  width: 100%;
}


/* worries
-------------------------------------*/
#worries {
  background: #F0E8D3;
  padding: 121px 0 392px;
  position: relative;
}
#worries::after {
  content: '';
  width: 100%;
  height: 289px;
  background: url(../images/index/worries-bottom-bg.png) center center/cover no-repeat;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
#worries .worries-inner {
  width: min(95%, 1200px);
  margin-inline: auto;
}
#worries .worries-ttl {
  width: min(95%, 850px);
  margin-inline: auto;
}
#worries .worries-ttl img {
  width: 100%;
}
#worries .worries-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 72px;
  gap: 67px 100px;
}
#worries .worries-list li {
  position: relative;
}
#worries .worries-list li .fukidashi {
  position: absolute;
  top: -29px;
  left: -30px;
  width: 180px;
}
#worries .worries-list li .fukidashi img {
  width: 100%;
}
#worries .worries-list li .txt {
  font-size: 26px;
  line-height: 1.6923076923;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  margin: 18px 0 0;
}
#worries .worries-list li .txt span {
  color: #884C32;
}



/* point
-------------------------------------*/
#point {
  position: relative;
}
#point .point-inner {
  padding: 120px 0 194px;
  width: min(95%, 1280px);
  margin-inline: auto;
}
#point .point-ttl {
  width: min(95%, 909px);
  margin-inline: auto;
}
#point .point-ttl img {
  width: 100%;
}
#point .point-en-ttl {
  width: min(95%, 99px);
  margin-inline: auto;
  margin-top: 34px;
}
#point .point-en-ttl img {
  width: 100%;
}
#point .point-box {
  border-radius: 50px;
  position: relative;
  padding: 130px 140px 77px;
  margin-top: 135px;
  z-index: 10;
}
#point .point-box .sec-num {
  position: absolute;
  width: 131px;
  top: -40px;
  left: 119px;
}
#point .point-box .sec-num img {
  width: 100%;
}
#point .point-box .sec-ttl {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -40px;
}
#point .point-box .sec-ttl img {
  width: 100%;
}
#point .point-box .sec-txt{
  font-size: 24px;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0;
  text-align: center;
}
#point .point-box .list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
#point .point-box .list li {
  background: #fff;
  border-radius: 30px;
  padding: 54px 47px 22px;
}
#point .point-box .list li .inner {
  display: grid;
  grid-template-columns: 46.12% 49.77%;
  gap: 49px;
}
#point .point-box .list li .ttl {
  margin-bottom: 29px;
}
#point .point-box .list li .txt {
  font-size: 18px;
  line-height: 1.8888888889;
  letter-spacing: 0em;
  font-weight: 500;
  padding: 0 0 0 3px;
}
#point .point-box img {
  width: 100%;
}
/* deco */
#point .bg-deco01 {
  position: absolute;
  top: 175px;
  right: 29px;
  width: 517px;
  z-index: 1;
}
#point .bg-deco02 {
  position: absolute;
  top: 1512px;
  left: 62px;
  width: 350px;
}
#point .bg-deco03 {
  position: absolute;
  width: 70px;
  top: 1125px;
  right: 137px;
}
#point .bg-deco04 {
  position: absolute;
  top: 2580px;
  left: 136px;
  width: 61px;
}
#point .bg-deco05 {
  position: absolute;
  top: 2486px;
  right: -157px;
  width: 362px;
}
#point .bg-deco06 {
  position: absolute;
  top: 3796px;
  left: -90px;
  width: 349px;
}
#point .bg-deco07 {
  position: absolute;
  bottom: 352px;
  right: 84px;
  width: 350px;
  z-index: 1;
}


/* point-box01 */
#point .point-box01 {
  background-color: #FFCE66;
}
#point .point-box01 .sec-ttl {
  width: 556px;
}
#point .point-box .list li:nth-child(1) .ttl {
  width: 330px;
}

/* list01 */
#point .point-box01 .list li:first-child .img {
  margin-top: -104px;
  position: relative;
  z-index: 2;
}
#point .point-box .list li:nth-child(2) .ttl {
  width: 337px;
}
#point .point-box01 .list .deco {
  position: absolute;
  right: 213px;
  top: -65px;
  width: 110px;
}
/* list02 */
#point .point-box .list li:nth-child(2) {
  padding: 38px 43px 36px;
}
#point .point-box .list li:nth-child(2) .inner {
  display: grid;
  grid-template-columns: 49.66% 46.02%;
  gap: 33px;
}
#point .point-box .list li:nth-child(2) .txt-box {
  margin: 17px 0 0;
}
/* list03 */
#point .point-box .list li:nth-child(3) {
  padding: 20px 43px 28px;
}
#point .point-box .list li:nth-child(3) .ttl {
  width: 341px;
}
#point .point-box .list li:nth-child(3) .txt-box {
  margin: 33px 0 0;
}
#point .point-box .list li:nth-child(3) .txt-box .txt {
  padding: 0 73px 0 7px;
}
#point .point-box .list li:nth-child(3) .inner {
  display: grid;
  grid-template-columns: 37.66% 49.4%;
  gap: 116px;
  position: relative;
}
#point .point-box .list li:nth-child(3) .img-box .upper{
  display: grid;
  grid-template-columns: 22.6% 69.48%;
  margin: 0 0 0 42px;
}
#point .point-box .list li:nth-child(3) .img-box .upper .txt {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0;
  color: #884C32;
  text-align: center;
  padding: 0;
  margin: 20px 0 0 0;
}
#point .point-box .list li:nth-child(3) .img-box .bottom{
  display: grid;
  grid-template-columns: 60.6% 40.48%;
  margin: 15px 0 0;
}
#point .point-box .list li:nth-child(3) .img-box .bottom .photo {
  margin: -12px 0 0 25px;
  width: 236px;
}
#point .point-box .list li:nth-child(3) .img-box .bottom .desc-wrap {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
#point .point-box .list li:nth-child(3) .img-box .bottom .desc-wrap .ttl {
  color: #FE9909;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  margin: 0;
}
#point .point-box .list li:nth-child(3) .img-box .bottom .desc-wrap .txt {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.42857;
  letter-spacing: 0;
  padding: 0;
}
#point .point-box .list li:nth-child(3) .inner .photo05 {
  position: absolute;
  bottom: 6px;
  left: 308px;
  width: 163px;
}
#point .point-box .list li:nth-child(3) .inner .photo05 img {
  width: 100%;
}

/* point-box02 */
#point .point-box02 {
  background-color: #F0E8D3;
  position: relative;
  margin-top: 163px;
  padding: 164px 140px 79px;
}
#point .point-box02 .sec-num {
  width: 146px;
}
#point .point-box02 .sec-ttl {
  width: 485px;
  top: -35px;
}
#point .point-box02 .deco {
  position: absolute;
  top: -60px;
  right: 183px;
  width: 161px;
}
#point .point-box02 .deco img {
  width: 100%;
}
#point .point-box02 .list02 {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 50px;
}
#point .point-box02 .list02 li {
  display: grid;
  grid-template-columns: 55% 37.1%;
  align-items: center;
  gap: 30px;
  position: relative;
}
#point .point-box02 .list02 li:nth-child(2) {
  display: grid;
  grid-template-columns: 42.1% 55%;
  align-items: center;
  gap: 30px;
}
#point .point-box02 .list02 .photo-box {
  position: relative;
}
#point .point-box02 .list02 .fukidashi {
  position: absolute;
  top: -30px;
  left: -30px;
  width: 180px;
}
#point .point-box02 .list02 .fukidashi img {
  width: 100%;
}
#point .point-box02 .list02 .txt-box {
}
#point .point-box02 .list02 li:nth-child(2) .txt-box{
  margin: 0 0 0 120px;
}
#point .point-box02 .list02 .deco01{
  position: absolute;
  top: 8px;
  right: -25px;
  width: 339px;
}
#point .point-box02 .list02 .deco01 img {
  width: 100%;
}
#point .point-box02 .list02 .ttl {
  font-size: 30px;
  line-height: 1.7;
  letter-spacing: 0em;
  font-weight: 700;
  color: #884C32;
}
#point .point-box02 .list02 li:nth-child(3) .ttl {
  line-height: 1.3;
}
#point .point-box02 .list02 .ttl span {
  display: block;
  font-size: 24px;
  line-height: 1.41666;
  margin: 0 0 0px;
}
#point .point-box02 .list02 .txt {
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 500;
}
#point .point-box02 .list02 .deco02{
  position: absolute;
  top: 14px;
  left: -70px;
  width: 269px;
}
#point .point-box02 .list02 .deco02 img {
  width: 100%;
}
#point .point-box02 .list02 .deco03{
  position: absolute;
  top: 30px;
  right: -27px;
  width: 269px;
}
#point .point-box02 .list02 .deco03 img {
  width: 100%;
}

/* point-box03 */
#point .point-box03 {
  background-color: #FFCE66;
  margin-top: 165px;
  padding: 69px 90px 80px;
}
#point .point-box03 .sec-num {
  width: 146px;
}
#point .point-box03 .sec-ttl {
  width: 682px;
  top: -39px;
}
#point .point-box03 .content-box {
  background-color: #FFFFFF;
  border-radius: 30px;
  position: relative;
  padding: 60px 78px 44px;
  display: grid;
  grid-template-columns: 50% 40.8%;
  gap: 40px;
  margin-top: 34px;
}
#point .point-box03 .txt-box {
  margin: 55px 0 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
#point .point-box03 .txt-box .ttl {
  width: 357px;
}
#point .point-box03 .txt {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 500;
}
#point .point-box03 .deco {
  position: absolute;
  top: -133px;
  right: 115px;
  width: 201px;
}
#point .point-box03 .deco img {
  width: 100%;
}

/* point-box04 */
#point .point-box04 {
  background-color: #F0E8D3;
  margin-top: 165px;
  padding: 69px 140px 76px;
}
#point .point-box04 .inner {
  width: min(95%, 761px);
  margin-inline: auto;
}
#point .point-box04 .sec-num {
  width: 149px;
}
#point .point-box04 .sec-ttl {
  width: 384px;
  top: -39px;
}
#point .point-box04 .deco {
  position: absolute;
  bottom: -3px;
  left: 196px;
  width: 203px;
}
#point .point-box04 .deco img {
  width: 100%;
}

#point table {
  border-collapse: collapse;
  text-align: center;
  width: 100%;
  margin-inline: auto;
  margin-top: 45px;
}
#point th {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.5623;
  letter-spacing: 0;
  text-align: center;
  padding: 15px 0 3px;
  vertical-align: middle;
}
#point th.coop {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0;
  color: #FFFFFF;
  background: #F19D3A;
}
#point th.other-super {
  background: #FFCE66;
  padding: 9px 0;
}
#point th.other-super.a {
  border-right: 1px solid #fff;
}
#point th.other-super.b {
  border-left: 1px solid #fff;
}
#point td.coop {
  font-size: 45px;
  font-weight: 700;
  line-height: 1.0888;
  letter-spacing: 0;
  color: #FE9909;
  max-width: 184px;
  padding: 0 9px;
}
#point td.coop span {
  font-size: 35px;
  line-height: 1.4;
}
#point .coop {
  border: 3px solid #F19D3A;
}
#point .other-super {
  border: 3px solid #F8CF76;
}
#point td {
  background: #FFFFFF;
  vertical-align: middle;
}
#point td.other-super {
  font-size: 25px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  color: #8E8E8E;
}
#point td.other-super span {
  font-size: 20px;
  line-height: 1.75;
}
#point .basic {
  font-size: 25px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  padding: 63px 0 55px 29px;
  text-align: left;
  width: 184px;
}
#point .basic span {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5714;
  letter-spacing: 0;
  display: inline-block;
  margin: 9px 0 0;
}
#point .basic .space {
  margin: 0;
}
#point .desc {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5714;
  letter-spacing: 0;
  margin: 16px 0 0 184px;
}



/* system
-------------------------------------*/
#system {
  background: #EADDA6;
}
#system .system-inner {
  width: min(95%, 1200px);
  margin-inline: auto;
  padding: 0 0 80px;
}
#system .system-ttl {
  width: min(95%, 960px);
  margin-inline: auto;
  position: relative;
  top: -54px;
}
#system .system-ttl img {
  width: 100%;
}
#system .system-en-ttl {
  width: min(95%, 124px);
  margin-inline: auto;
  margin-top: -29px;
}
#system .system-en-ttl img {
  width: 100%;
}
#system .system-txt {
  font-size: 24px;
  font-weight: 700;
  line-height: 2.9583;
  letter-spacing: 0;
  text-align: center;
  margin-top: 31px;
}
#system .inner-box {
  position: relative;
}
#system .inner-box .age{
  position: absolute;
  width: 684px;
  top: 433px;
  left: 71px;
}
#system .inner-box .age02{
  position: absolute;
  width: 310px;
  top: 433px;
  right: 69px;
}
#system .inner-box .age img {
  width: 100%;
}
#system .inner-box .age02 img {
  width: 100%;
}
#system .system-list {
  background: #FFFFFF;
  border-radius: 50px;
  padding: 63px 50px 63px;
  margin-top: 26px;
}
#system .system-list ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 25px;
  margin: 0 0 20px;
}
#system .system-list li .ttl {
  background: #FE9909;
  color: #FFFFFF;
  font-size: 26px;
  line-height: 1.0769230769;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  padding: 11px 0;
}
#system .system-list li .content-box {
  background: rgba(253, 153, 9, 0.1);
  padding: 22px 0 29px;
}
#system .system-list li .content-box .txt {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
}
#system .bottom-box {
  display: flex;
  justify-content: center;
  margin-top: 96px;
  gap: 72px;
  position: relative;
}
#system .bottom-box h4 {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 700;
  position: relative;
  text-align: left;
}
#system .bottom-box h4::after {
  content: '';
  display: block;
  width: 1px;
  height: 53px;
  background: url(../images/index/vertical-line.svg) center center/contain no-repeat;
  position: absolute;
  left: 97px;
  top: 50%;
  transform: translateY(-50%);
}
#system .system-list li:nth-child(3) .bottom-box {
  margin-top: 79px;
}
#system .system-list li:nth-child(3) .content-box {
  padding: 10px 0 29px;
}
#system .system-list li:nth-child(3) .content-box .txt {
  text-align: left;
  padding: 0 0 0 13px;
  display: flex;
  gap: 4px;
}
#system .bottom-desc02 {
  padding-block: 40px;
  text-align: center;  
}
#system .bottom-desc02 p span {
  font-size: 24px;
  line-height: 1.6;
  font-weight: 700;
  margin-bottom: 16px;
  display: block;
}
#system .bottom-desc02 p {
  font-size: 18px;
  line-height: 1.8;
  margin-bottom: 8px;  
}
#system .bottom-desc02 p.bottom {
  margin-bottom: 0;
}



/* cta02
-------------------------------------*/
#cta.cta02{
  background: url(../images/index/cta-bg02.png) center center/cover no-repeat;
}
#cta.cta02 .cta-inner {
  width: min(95%, 1228px);
  margin-inline: auto;
  padding: 70px 0 80px;
}
#cta.cta02 .cta-box {
  background: url(../images/index/cta-box-bg02.png) center center/auto no-repeat;
  margin-top: 0;
  padding: 53px 0 48px;
}
#cta.cta02 .cta-subt {
  margin-bottom: 26px;
  width: min(95%, 524px);
  margin-inline: auto;
}
#cta.cta02 .cta-ttl {
  margin-bottom: 53px;
  width: min(95%, 1009px);
  margin-inline: auto;
}
#cta.cta02 .btn {
  width: min(95%, 520px);
  margin-inline: auto;
}
#cta.cta02 .deco01 {
  position: absolute;
  top: 80px;
  right: 204px;
  width: 124px;
}
#cta.cta02 .deco02 {
  position: absolute;
  bottom: -22px;
  left: -26px;
  width: 358px;
}
#cta.cta02 .deco03 {
  position: absolute;
  bottom: -22px;
  right: 26px;
  width: 328px;
}
#cta.cta02 .cta-txt {
  margin-top: 24px;
}

/* voice 
-------------------------------------*/
#voice {
  background: url(../images/index/voice-bg.png) center center/auto repeat;
}
#voice .voice-inner {
  width: min(95%, 1200px);
  margin-inline: auto;
  padding: 100px 0;
}
#voice .voice-ttl {
  width: min(95%, 757px);
  margin-inline: auto;
}
#voice .voice-ttl img {
  width: 100%;
}
#voice .voice-en-ttl {
  width: min(95%, 97px);
  margin-inline: auto;
  margin-top: 33px;
}
#voice .voice-en-ttl img {
  width: 100%;
}
#voice .voice-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 67px;
  gap: 0 40px;
}
#voice .voice-list li {
  border-radius: 30px;
  background: #fff;
  border: 2px solid #884c32;
  padding: 59px 0px 32px;
  position: relative;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
#voice .voice-list li:nth-child(-n + 3) {
  margin-bottom: 66px;
}
#voice .voice-list li .num {
  position: absolute;
  top: -19px;
  left: 50%;
  transform: translateX(-50%);
  width: 156px;
}
#voice .voice-list li .num img {
  width: 100%;
}
#voice .voice-list li .img {
  text-align: center;
  margin: 0 0 20px;
}
#voice .voice-list li .title {
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  position: relative;
  margin: 0 0 17px;
  font-feature-settings: "palt";
}
#voice .voice-list li:nth-child(4) .title .title-line1 {
  font-size: 20px;
  white-space: nowrap;
}
#voice .voice-list li .title::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 64px);
  height: 1px;
  background: url(../images/index/dotted-line.png) center center/contain no-repeat;
}
#voice .voice-list li .title::before {
  content: none;
}
#voice .voice-list li .txt {
  padding-inline: 32px;
  font-size: 20px;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 700;
}
#voice .voice-list li .txt span {
  color: #FE9909;
}
#voice .voice-list li:nth-child(3) .img {
  margin-top: -8px;
}



/* line-up
-------------------------------------*/
#line-up {
  margin-top: 100px;
  padding: 150px 0 0;
  background: 
  url(../images/index/line-up-bg.png) top center/contain no-repeat;
  text-align: center;
}
#line-up .line-up-ttl {
  width: min(95%, 757px);
  margin-inline: auto;
}
#line-up .line-up-ttl img {
  width: 100%;
}
#line-up .line-up-en-ttl {
  width: min(95%, 120px);
  margin-inline: auto;
}
#line-up .line-up-en-ttl img {
  width: 100%;
  margin-top: 38px;
}
#line-up .line-up-txt {
  font-size: 24px;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  display: inline-block;
}
#line-up .line-up-txt.yellow-line {
  margin-top: 54px;
  position: relative;
  z-index: 2;
}
#line-up .line-up-txt .orange {
  color: #FE9909;
}
#line-up .line-up-txt .large {
  font-size: 34px;
  line-height: 1.2352941176;
  letter-spacing: 0em;
  font-weight: 700;
}
#line-up .line-up-photo {
  width: 100%;
  margin: 66px 0 0;
}
#line-up .line-up-photoBox {
  position: relative;
}
#line-up .line-up-photoBox .line-up-txt02 {
  font-weight: bold;
  font-size: 20px;
  line-height: 1.75;
  text-align: center;
  background: url(../images/index/line-up-txt02-bg.png);
  position: absolute;
  top: -94px;
  left: 50%;
  transform: translateX(-50%);
  background-size: cover;
  padding: 53px 84px;
}

#line-up .section-box-wrap {
  background: url(../images/index/line-up-bg02.png);
  background-size: cover;
  padding: 109px 0 81px;
}
#line-up .section-box {
  width: min(95%, 1254px);
  margin-inline: auto;
  margin-bottom: 69px;
}
#line-up .section-box .content-box-wrap {
  position: relative;
}
#line-up .section-box .content-box {
  border-radius: 50px;
  margin-top: 10px;
  padding: 102px 82px 79px;
  position: relative;
  z-index: 2;
  width: min(95%, 1200px);
  margin-inline: auto;
}
#line-up .section-box .subt {
  margin: -21px 0 0;
}
#line-up .section-box .ttl {
  margin: -56px 158px 0 0;
}
/* section-box01 */
#line-up .section-box01 .content-box-wrap {
  background: url(../images/index/line-up-contentBg01.png);
  background-size: cover;
}
#line-up .section-box01 .line-up-slider .item {
  width: 449px;
  margin: 0 15px;
}
.slide-arrow {
  position: absolute;
  top: 49%; /* 上下中央に配置 */
  transform: translateY(-50%); /* 縦方向の中央揃え */
  z-index: 10; /* スライドより前面に表示 */
  width: 37px; /* ボタンのサイズ（必要に応じて調整） */
  height: 37px; /* ボタンのサイズ（必要に応じて調整） */
  cursor: pointer;
  left: 50%;
}
.prev-arrow {
  margin-left: -516px;
}
.next-arrow {
  margin-left: 482px;
}
.slider-img img {
  height: auto;
  width: 100%;
}
.slide-dots {
  margin: -32px 0 0;
  padding: 0;
  text-align: center;
}
.slide-dots li {
  display: inline-block;
  margin: 0 5px;
}
.slide-dots li button {
  position: relative;
  text-indent: -9999px;
}
.slide-dots li button::before {
  background-image: url(../images/index/slide-dots.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  cursor: pointer;
  width: 14px;
  height: 14px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 24px;
}
.slide-dots li.slick-active button::before {
  background-image: url(../images/index/slide-dots-active.svg);
}
button {
  background: none;
  border: none;
  outline: none;
  padding: 0 7px;
}
/* section-box02 */
#line-up .section-box02 {
  width: min(95%, 1238px);
}
#line-up .section-box02 .ttl {
  margin: -38px 23px 0 0;
}
#line-up .section-box02 .content-box {
  padding: 106px 82px 101px;
}
#line-up .section-box02 .content-box-wrap {
  background: url(../images/index/line-up-contentBg02.png);
  background-size: cover;
}
#line-up .section-box02 .content-box h4 {
  text-align: center;
}
#line-up .section-box02 .txt {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
  margin: 16px 0 -6px;
}
/* section-box03 */
#line-up .section-box03 {
  width: min(95%, 1260px);
}
#line-up .section-box03 .ttl {
  margin: -12px 0 0;
}
#line-up .section-box03 .content-box {
  padding: 66px 98px 100px;
}
#line-up .section-box03 .content-box-wrap {
  background: url(../images/index/line-up-contentBg03.png);
  background-size: cover;
}
#line-up .section-box03 .inner-box01 {
  display: grid;
  align-items: center;
  grid-template-columns: 57.01% 31.88%;
  gap: 40px;
  margin-top: 57px;
  background: #FEF3E4;
  padding: 0 0 18px;
  position: relative;
}
#line-up .section-box03 .inner-box01::before,
#line-up .section-box03 .inner-box01::after {
  content: "";
  position: absolute;
  top: 20px;
  width: 25px;
  height: 25px;
}
#line-up .section-box03 .inner-box01::before {
  background: url(../images/index/line-up03-deco-l.svg);
  left: 20px;
}
#line-up .section-box03 .inner-box01::after {
  background: url(../images/index/line-up03-deco-r.svg);
  right: 20px;
}
#line-up .section-box03 .inner-box01 .photo {
  margin: 16px 0 0;
}
#line-up .section-box03 .inner-box01 .txt-box {
  padding: 39px 0px 31px 70px;
  text-align: left;
}
#line-up .section-box03 .inner-box01 .txt-box .subt {
  background-color: #884C32;
  color: #FFFFFF;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 7px;
  display: inline-block;
  padding: 0 5px;
}
#line-up .section-box03 .inner-box01 .txt-box .ttl {
  font-size: 28px;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  font-weight: 700;
  color: #884C32;
  margin: 0 0 21px;
}
#line-up .section-box03 .inner-box01 .txt-box .list {
  display: flex;
  flex-direction: column;
  gap: 23px;
}
#line-up .section-box03 .inner-box01 .txt-box .list li {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 500;
  position: relative;
  padding: 0 0 0 40px;
}
#line-up .section-box03 .inner-box01 .txt-box .list li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
  background: url(../images/index/tomato-icon.png) center center/contain no-repeat;
}
#line-up .section-box03 .inner-box01 .txt-box .list li::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 0;
  width: 100%;
  height: 1px;
  background: url(../images/index/dotted-line03.png);
}
#line-up .section-box03 .inner-box02 {
  display: grid;
  grid-template-columns: 38.46% 59.19%;
  position: relative;
  margin: 40px 74px 0;
  gap: 20px;
  grid-template-columns: 39.8% 58.19%;
}
/* section-box04 */
#line-up .section-box04 {
  width: min(95%, 1292px);
}
#line-up .section-box04 .ttl {
  margin: -21px 0 0;
}
#line-up .section-box04 .content-box {
  padding: 102px 80px 99px;
}
#line-up .section-box04 .content-box-wrap {
  background: url(../images/index/line-up-contentBg04.png);
  background-size: cover;
}
#line-up .section-box04 .inner-box {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 40px;
  text-align: left;
}
#line-up .section-box04 .inner-box .box {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 9;
  background: #F9F6F4;
  padding: 0 0 20px;
}
#line-up .section-box04 .inner-box h4 {
  margin: 0 0 19px;
}
#line-up .section-box04 .inner-box .photo-box {
  margin: 10px 0 22px;
  padding: 0 30px;
}
#line-up .section-box04 .inner-box .photo {
  margin: 0 0 26px;
  text-align: center;
}
#line-up .section-box04 .inner-box .fukidashi {
  text-align: center;
}
#line-up .section-box04 .inner-box .fukidashi img {

}
#line-up .section-box04 .inner-box .txt {
  font-size: 18px;
  line-height: 1.8888888889;
  letter-spacing: 0em;
  font-weight: 700;
  margin: 0 0 36px;
  padding: 0 30px;
}
#line-up .section-box04 .inner-box .subt {
  margin: 0 0 22px;
  text-align: center;
}
#line-up .section-box04 .inner-box .photo-box02 {
  display: grid;
  position: relative;
  padding: 0 30px;
  grid-template-columns: 66.29% 22.82%;
  gap: 14px;
}
#line-up .section-box04 .inner-box .photo-box02 .txt {
  padding: 0;
  margin: 0 0 28px;
  font-weight: bold;
  font-size: 16px;
  line-height: 2;
  text-align: left;
}
#line-up .section-box04 .inner-box .photo-box02 .txt span {
  color: #884C32;
}
#line-up .section-box04 .inner-box .bottom-box {
  display: grid;
  grid-template-columns: 43.3% 54.2%;
  gap: 10px;
  padding: 0 30px;
}
#line-up .section-box04 .inner-box .bottom-box .txt {
  font-size: 14px;
  line-height: 1.71428;
  letter-spacing: 0em;
  font-weight: 500;
  padding: 0;
  margin: 0;
}
#line-up .section-box04 .inner-box .bottom-box .photo-box {
  margin: 0;
  padding: 0;
}
#line-up .section-box04 .inner-box .bottom-box .photo-box .photo{margin: 0 0 -4px;}
#line-up .section-box04 .inner-box .subt02 {
  font-size: 16px;
  line-height: 2.125;
  letter-spacing: 0em;
  font-weight: 700;
  color: #FFFFFF;
  background: #884C32;
  padding: 5px 0;
  margin: 0 30px 38px;
  text-align: center;
}
#line-up .section-box04 .inner-box .subt02 span {
  color: #FFF62D;
}
#line-up .section-box04 .inner-box h5 {
  margin-bottom: 11px;
  text-align: center;
  padding: 0 30px;
  margin: 0 0 20px;
}
#line-up .section-box04 .inner-box .txt-box {
  margin: 5px 0 0;
}
#line-up .section-box04 .inner-box .subt03 {
  margin: 0 0 14px;
}
#line-up .section-box04 .inner-box .original .photo-box02 .photo {
  position: absolute;
  width: 135px;
  right: 35px;
  margin: 0;
  top: -3px;
}
#line-up .section-box04 .inner-box .original .photo img {
  width: 100%;
}
#line-up .section-box04 .inner-box .kodawari .photo-box02 {
  grid-template-columns: 39.14% 60.51%;
  gap: 3px;
  align-items: center;
}
#line-up .section-box04 .inner-box .kodawari .subt02 {
  text-align: center;
}
#line-up .section-box04 .inner-box .kodawari .bottom-box {}
#line-up .section-box04 .inner-box .bottom-box .name img {
  vertical-align: middle;
}



/* otoku
-------------------------------------*/
#otoku {
  background: url(../images/index/otoku-bg.png) no-repeat;
  background-size: cover;
}
#otoku .otoku-inner {
  padding: 107px 0 134px;
}
#otoku .otoku-ttl {
  width: min(95%, 1007px);
  margin-inline: auto;
}
#otoku .otoku-ttl img {
  width: 100%;
}
#otoku .inner-box {
  width: min(95%, 1600px);
  margin-inline: auto;
  position: relative;
  background: #FFFFFF;
  border-radius: 50px;
  padding: 120px 60px 82px;
  margin-top: -31px;
}
#otoku .otoku-subt {
  position: absolute;
  top: -60px;
  left: 50%;
  transform: translateX(-50%);
  width: 785px;
}
#otoku .otoku-subt img {
  width: 100%;
}
#otoku .list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 20px;
}
#otoku .list li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 6;
  border: 4px solid #884C32;
  border-radius: 50px;
  padding: 0 0 50px;
}
#otoku .list li h3 {
  background: rgba(253, 153, 9, 0.2);
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 700;
  color: #884C32;
  display: flex;
  gap: 5px;
  align-items: baseline;
  justify-content: center;
  padding: 18px 0 20px;
  border-radius: 50px 50px 0 0;
  margin: 0 0 20px;
}
#otoku .list li h3 span {
  font-size: 40px;
  letter-spacing: 0em;
  font-weight: 700;
}
#otoku .list li .photo {
  text-align: center;
  margin: 0 0 20px;
}
#otoku .list li .txt01 {
  font-size: 18px;
  line-height: 1.9444444444;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  margin: 0 0 15px;
  position: relative;
  display: inline-block;
}
#otoku .list li .txt01 .dotted-line {
  border-bottom: 1px dotted #343434;
}
#otoku .list li .txt01 .color-orange {
  font-size: 30px;
  line-height: 1.1666666667;
  letter-spacing: 0em;
  font-weight: 700;
  color: #FE9909;
}
#otoku .list li h4 {
  text-align: center;
  margin: 0 0 10px;
}
#otoku .list li .txt02 {
  font-size: 18px;
  line-height: 1.8888;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
}
#otoku .list li .txt02 span {
  font-size: 24px;
  line-height: 1.4583333333;
  letter-spacing: 0em;
  font-weight: 700;
  color: #FE9909;
}
#otoku .list li .desc {
  font-size: 16px;
  line-height: 2.1875;
  letter-spacing: 0em;
  font-weight: 500;
  color: #555555;
  text-align: center;
}
/* list02 */
#otoku .list li:nth-child(2) .txt02 {
  text-align: left;
  margin: 22px 0 0 49px;
  line-height: 2.05;
}



/* delivery
-------------------------------------*/
#delivery {
  background: url(../images/index/delivery-bg.png) center center/cover no-repeat;
}
#delivery .delivery-inner {
  width: min(95%, 1100px);
  margin-inline: auto;
  padding: 101px 0 100px;
}
#delivery .delivery-ttl {
  width: min(95%, 802px);
  margin-inline: auto;
}
#delivery .delivery-ttl img {
  width: 100%;
}
#delivery .delivery-en-ttl {
  width: min(95%, 144px);
  margin-inline: auto;
  margin-top: 33px;
}
#delivery .delivery-en-ttl img {
  width: 100%;
}
#delivery .delivery-subt {
  background: #884C32;
  color: #FFFFFF;
  border-radius: 40px;
  font-size: 28px;
  line-height: 1.3214285714;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  margin-top: 54px;
  padding: 21px 0;
}
#delivery .delivery-subt span {
  color: #FFF11F;
  letter-spacing: 0.1em;
}
#delivery .inner-box {
  display: grid;
  grid-template-columns: 63.63% 33.36%;
  gap: 33px;
  margin-top: 47px;
}
#delivery .flow-item {
  background: #FCFAF1;
  padding: 31px 24px 18px 26px;
}
#delivery .flow-item h4 {
  font-size: 18px;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
}
#delivery .flow-item .item {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 11px 0 0;
}
#delivery .flow-item .item li {
  border: 1px solid #884C32;
  display: grid;
  grid-template-columns: 33.01% 66.98%;
  border-radius: 12px;
  position: relative;
  background: #884C32;
}
#delivery .flow-item .item li:not(:last-child)::after  {
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: url(../images/index/flow-arrow.svg) center center/contain no-repeat;
  width: 17px;
  height: 8px;
  content: "";
}
#delivery .flow-item .item li h5 {
  background: #7B442D;
  color: #FFFFFF;
  border-radius: 10px 0 0 10px;
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  padding: 11px 0 12px;
}
#delivery .flow-item .item li .txt {
  font-size: 18px;
  line-height: 1.5555555556;
  letter-spacing: 0em;
  font-weight: 700;
  border-radius: 0 10px 10px 0;
  padding: 11px 18px 12px;
  background: #FFFFFF;
}
#delivery .flow-item .desc {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0em;
  font-weight: 500;
  margin: 14px 0 0 -2px;
}
#delivery .delivery-txt {text-align: center;margin-top: 39px;}



/* faq
-------------------------------------*/
#faq {
  background: #EADDA6;
  padding: 0 0 100px 0;
}
#faq .faq-inner {
  width: min(95%, 1200px);
  margin-inline: auto;
  padding: 101px 0 100px;
}
#faq .faq-ttl {
  width: min(95%, 471px);
  margin-inline: auto;
}
#faq .faq-ttl img {
  width: 100%;
}
#faq .faq-en-ttl {
  width: min(95%, 71px);
  margin-inline: auto;
  margin-top: 34px;
}
#faq .faq-en-ttl img {
  width: 100%;
}
#faq .faq-box {
  margin: 50px 0 0;
  background: #FFFFFF;
  padding: 71px 100px 43px;
}
#faq .option {
  position: relative;
  margin: 0 0 30px;
  background: #F0E8D3;
  border-radius: 5px;
  border: 2px solid #F0E8D3;
}
#faq .option::before {
  content: "";
  position: absolute;
  top: 23px;
  left: 29px;
  background-image: url(../images/index/faq-q.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 25px;
  height: 23px;
  z-index: 1;
}
#faq .toggle {
  display: none;
}
#faq .title,
#faq .content {
  color: #333333;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3636;
  letter-spacing: 0.04em;
  -webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateZ(0); transition: all 0.3s; 
}
#faq .title {
  background-color: #F0E8D3;
  padding: 21px 86px 16px;
  display: flex;
  gap: 30px;
  align-items: center;
}
#faq .title img {
  vertical-align: top;
  width: 21px;
  margin: 10px 0 0;
}
#faq .title::after, .title::before {
  content: "";
  position: absolute;
  right: 64px;
  top: 20px;
  width: 4px;
  height: 27px;
  background-color: #707070;
  transition: all 0.3s;
}
#faq .title::after {
  transform: rotate(90deg);
}
#faq .content {
  background-color: #FFFFFF;
  overflow: hidden;
  max-height: 0;
}
#faq .content p {
  color: #262626;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin: 0;
  padding: 27px 86px 24px;
  display: flex;
  align-items: flex-start;
  gap: 30px;
  position: relative;
}
#faq .content p::before {
  content: "";
  position: absolute;
  top: 26px;
  left: 28px;
  background-image: url(../images/index/faq-a.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 27px;
  height: 22px;
}
#faq .toggle:checked + .title + .content {
  max-height: 500px;
  transition: all 1.5s;
}
#faq .toggle:checked + .title::before {
  transform: rotate(90deg) !important;
}


/* instagram
-------------------------------------*/
#instagram {
margin:0 0 120px 0;
}

#instagram .inner_instagram {
  padding-block: 100px; 
}

#instagram .instagram_ttl {
  text-align: center;
  margin-bottom: 29px;
}

#instagram .instagram_en {
  text-align: center;
  margin-bottom: 82px;
}

#instagram .instagram_items {
  margin-bottom: 100px;
}

#instagram .instagram_item {
  margin-inline: 27.5px;
  margin-inline: clamp(1rem, 0.521rem + 1vw, 1.719rem);
  display: grid;
}

#instagram .modal__open-btn {
  display: block;
  background-color: #fff;
  border-radius: 10px;
  border: 2px solid #343434;
  box-shadow: 10px 10px 0px #888888 !important;
  padding: clamp(1rem, 0.833rem + 0.35vw, 1.25rem) clamp(0.5rem, 1.04vw, 1.25rem);
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
}

#instagram .modal__open-btn:hover {
  box-shadow: unset !important;
  transform: translate(4px,4px) !important;
  cursor: pointer;
}

#instagram .modal__open-btn .img {
  margin-bottom: 0px;
}

#instagram .modal__open-btn .img img {
  width: 100%;
  height: 500px;
  object-fit: cover;   
}

#instagram .modal__open-btn .txt {
  font-size: 16px;
  font-size: clamp(0.75rem, 0.583rem + 0.35vw, 1rem);
  line-height: 1.6;
  letter-spacing: 0.04em;
  font-weight: 500;
  text-align: left;
  color: #262626;
}

#instagram .slick-track {
  display: flex;
  margin-bottom: 60px;
}

#instagram .slick-slide {
  height: auto !important;
}

#instagram .instagram_link {
  text-align: center;
  width: 740px;
  margin: 0 auto;
}

#instagram .instagram_link a {
  display: block;
}

/* dotsを丸くカスタマイズするCSS */
#instagram .dots-wrap {
  display: flex;
  justify-content: center;
}

#instagram .dots-wrap li {
  width: 18px;
  height: 18px;
  margin: 0 15px;
  background: #E0E0E0;
  border-radius: 50%;
  cursor: pointer;
}

#instagram .dots-wrap li:hover,
#instagram .dots-wrap li.slick-active {
  background: #FE9909;
}

#instagram .dots-wrap li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}

/* 初期設定 */
#instagram button {
  background: none;
}

:where(dialog) {
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  padding: unset;
  color: unset;
  background-color: unset;
  border: unset;
  overflow: unset;
}

body:has(dialog[open]) {
  overflow: hidden;
}

/* モーダルのスタイル ============ */
#instagram dialog::backdrop {
  opacity: 0;
  transition: background 0.3s ease-in-out;
}

#instagram dialog.js-show.modal__content {
  opacity: 1;
}

#instagram dialog.js-show.modal__content::backdrop {
  opacity: 1;
  background: rgba(52, 52, 52, 0.7);
  backdrop-filter: blur(6px);
}

#instagram .modal__open-btn {
  margin-inline: 16px;
}

#instagram .modal__content {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  /* モーダル枠組みのスタイル */
  width: min(400px, 95%);
  max-height: 80vh;
  background: #fff;
  border-radius: 0 0 20px 20px;
} 

#instagram .modal__inner {
  overflow-y: scroll;
  height: 100%;
}

#instagram .modal__body {
  height: fit-content;
  overflow: hidden;
} 

#instagram .modal__content {

}

#instagram .modal__close-btn {
  position: absolute;
  z-index: 2;
  top: -40px;
  right: -730px;
}

#instagram .modal__close-btn img {
  width: 40px;
  height: auto;
}

#instagram .modal__inner {


}

#instagram .modal__body {
  padding-block: 0 40px;  
  color: #000;
}

#instagram .modal__body .img {
  margin-bottom: 16px;
}

#instagram .modal__body .img img {
  width: auto;
  height: 480px !important;
  object-fit: contain;  
  object-position: top;
}

#instagram .modal__body .img .video {
    width: auto;
    height: 480px !important;
    object-fit: contain;  
    object-position: top;
    margin-bottom: 0;
}

#instagram .modal__body .video {
  margin-bottom: 18px;
}

#instagram .modal__body .video video {
  width: 100%;
  height: 600px;
  object-fit: cover;   
}

#instagram .modal__body .icon {
  text-align: center;
  margin-bottom: 21px;
}

#instagram .modal__body .good {
  font-size: 17px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  font-weight: 700;
  margin-bottom: 20px;
  width: 360px;
  margin-inline: auto;
}

#instagram .modal__body .date {
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #737373;
  margin-bottom: 27px;
  width: 360px;
  margin-inline: auto;
}

#instagram .modal__body .txt {
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  font-weight: 700;
  width: 360px;
  margin-inline: auto;
}

#instagram .prev-arrow {
  position: absolute;
  left: calc(50% - 230px);
  top: 40%;
  z-index: 11;
  width: 90px;
  height: auto;
}

#instagram .next-arrow {
  position: absolute;
  left: calc(50% + 175px);
  top: 40%;
  z-index: 11;
  width: 90px;
  height: auto;
}

#instagram .modal__body .img img.modal-arrow {
  position: absolute;
  left: calc(50% - 320px);
  top: 50%;
  transform: translateY(-50%);
  z-index: 11;
  width: 40px !important;
  height: auto !important;
}

/* more
-------------------------------------*/
#more .more-inner {
  width: min(95%, 1150px);
  margin-inline: auto;
  padding: 100px 0 289px;
}
#more .more-subt {
  width: min(95%, 96px);
  margin-inline: auto;
}
#more .more-subt img {
  width: 100%;
}
#more .more-ttl {
  width: min(95%, 947px);
  margin-inline: auto;
  margin-top: 14px;
  position: relative;
  z-index: 2;
}
#more .more-ttl img {
  width: 100%;
}
#more .more-box {
  background: #F0E8D3;
  border-radius: 60px;
  margin-top: -93px;
  position: relative;
}
#more .more-box .inner {
  padding: 112px 75px 125px;
  display: grid;
  grid-template-columns: 48.47% 50.47%;
  gap: 16px;
}
#more .more-box .upper {
  display: grid;
  grid-template-columns: 31.47% 65.82%;
  gap: 10px;
  align-items: center;
}
#more .more-box .txt {
  margin: 28px 0 0;
}
#more .more-box .subt {
  background: #EA3D44;
  color: #FFFFFF;
  font-size: 22px;
  line-height: 1.2727272727;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  width: 477px;
  padding: 8px 0;
}
#more .more-box .bottom {
  display: grid;
  grid-template-columns: 27.04% 76.34%;
  gap: 0 15px;
  margin-top: 23px;
  align-items: center;
}
#more .more-box .txt03 {
  font-size: 21px;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-weight: 700;
  color: #EA3D44;
  text-align: center;
  grid-column: 1 / -1;
  margin: 12px 0 0 -41px;
}
#more .more-box .btn {
  width: min(95%, 536px);
  margin-inline: auto;
  position: absolute;
  bottom: -62px;
  left: 50%;
  transform: translateX(-50%);
}
#more .more-box .btn img {
  width: 100%;
}
#more .more-box .photo {
  margin: 4px 0 0;
}

}






/* ========================================
@media screen and (min-width:768px) and ( max-width:1919px) 
======================================== */
@media screen and (min-width:768px) and ( max-width:1919px) {
/* main
-------------------------------------*/
#main {
  background: #F0E8D3;
}
#main .main-inner {
  width: 87.858vw;
  margin-inline: auto;
  position: relative;
  padding: 8.233vw 0 12.819vw;
}
#main .main-ttl-box {
  display: flex;
  flex-direction: column-reverse;
  width: 30.485vw;
  margin-right: auto;
  margin-left: 6.879vw;
  position: relative;
  z-index: 2;
  gap: 2.606vw;
}
#main .main-ttl {
  width: 30.485vw;
  margin-inline: auto;
}
#main .main-ttl img {
  width: 100%;
}
#main .main-point-box {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.313vw;
}
#main .main-photo {
  position: absolute;
  top: 0.886vw;
  right: 0;
  width: 55.341vw;
  z-index: 1;
}
#main .main-photo img {
  width: 100%;
}
#main .main-deco01 {
  position: absolute;
  top: 2.293vw;
  left: -0.313vw;
  width: 16.936vw;
}
#main .main-deco01 img {
  width: 100%;
}
#main .main-deco02 {
  position: absolute;
  bottom: -3.596vw;
  left: 3.856vw;
  width: 14.956vw;
}
#main .main-deco02 img {
  width: 100%;
}
#main .main-deco03 {
  position: absolute;
  top: 1.615vw;
  left: 32.882vw;
  width: 25.065vw;
  z-index: 2;
}
#main .main-deco03 img {
  width: 100%;
}
#main .main-deco04 {
  position: absolute;
  top: 3.335vw;
  right: 2.449vw;
  width: 1.824vw;
}
#main .main-deco04 img {
  width: 100%;
}
#main .main-deco05 {
  position: absolute;
  bottom: -2.97vw;
  right: -2.345vw;
  width: 13.392vw;
  z-index: 2;
  right: 0;
}
#main .main-deco05 img {
  width: 100%;
}

/* cta
-------------------------------------*/
#cta {
  background: url(../images/index/cta-bg.png) center center/cover no-repeat;
}
#cta .cta-inner {
  width: 50.322vw;
  margin-inline: auto;
  padding: 5.211vw 0 4.534vw;
}
#cta .cta-box {
  background: url(../images/index/cta-box-bg.png) center center/cover no-repeat;
  /* top: -12.715vw; */
  position: relative;
  z-index: 6;
  padding: 2.137vw 0 2.189vw;
  margin-top: -12.923vw;
}
#cta .cta-subt {
  margin-bottom: 1.355vw;
  width: 23.189vw;
  margin-inline: auto;
}
#cta .cta-subt img {
  width: 100%;
}
#cta .cta-ttl {
  margin-bottom: 2.241vw;
  width: 36.008vw;
  margin-inline: auto;
}
#cta .cta-ttl img {
  width: 100%;
}
#cta .btn {
  width: 23.189vw;
  margin-inline: auto;
}
#cta .btn img {
  width: 100%;
}
#cta .deco01 {
  position: absolute;
  top: 3.804vw;
  right: 7.764vw;
  width: 5.576vw;
}
#cta .deco01 img {
  width: 100%;
}
#cta .deco02 {
  position: absolute;
  bottom: -0.573vw;
  left: 0.052vw;
  width: 15.946vw;
}
#cta .deco02 img {
  width: 100%;
}
#cta .deco03 {
  position: absolute;
  bottom: -0.573vw;
  right: 2.501vw;
  width: 14.643vw;
}
#cta .deco03 img {
  width: 100%;
}
#cta .cta-txt {
  width: 40.49vw;
  margin-inline: auto;
  margin-top: 0.99vw;
}
#cta .cta-txt img {
  width: 100%;
}

/* area
-------------------------------------*/
#area {
  background: url(../images/index/area-bg.png) top center/contain no-repeat, url(../images/index/area-bg.png) bottom center/contain no-repeat;
  position: relative;
}
#area .area-inner {
  padding: 6.201vw 0 7.504vw;
  width: 75.409vw;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 47.9% 42.55%;
  gap: 2.501vw;
}
#area .txt-box {
  background: url(../images/index/area-txt-box-bg.png) center center/contain no-repeat;
  padding: 2.71vw 0 2.71vw;
  margin: 0 0 0 3.491vw;
  position: relative;
  z-index: 2;
}
#area .ttl {
  width: 16.206vw;
  margin-inline: auto;
  margin-bottom: 0.521vw;
  position: relative;
}
#area .ttl::after {
  content: '';
  display: block;
  width: 3.648vw;
  height: 0.417vw;
  background: #FE9909;
  position: absolute;
  bottom: -1.928vw;
  left: 50%;
  transform: translateX(-50%);
}
#area .ttl img {
  width: 100%;
}
#area .txt {
  font-size: clamp(0.625rem, 0.208rem + 0.87vw, 1.25rem);
  line-height: 2.4;
  letter-spacing: 0em;
  font-weight: 500;
  text-align: center;
  margin: 3.022vw 0 0;
}
#area .txt .orange {
  color: #FE9909;
}
#area .txt .large {
  font-size: 1.563vw;
  line-height: 1.6;
  letter-spacing: 0em;
  font-weight: 700;
}
#area .img-box {
  background-color: #F0E8D3;
  border-radius: 2.084vw;
  position: relative;
  padding: 2.71vw 2.762vw 0;
}
#area .img-box .ttl {
  width: 13.028vw;
  margin: 0;
}
#area .img-box .ttl::after {
  content: none;
}
#area .img-box .ttl img {
  width: 100%;
}
#area .img {
  position: absolute;
  top: -4.586vw;
  right: -3.648vw;
  width: 35.696vw;
  z-index: 2;
}
#area .img img {
  width: 100%;
}
#area .deco01 {
  position: absolute;
  top: 7.4vw;
  left: 4.377vw;
  width: 12.35vw;
}
#area .deco01 img {
  width: 100%;
}
#area .deco02 {
  position: absolute;
  bottom: 4.065vw;
  right: 6.045vw;
  width: 16.727vw;
  z-index: 1;
}
#area .deco02 img {
  width: 100%;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1240px) 
======================================== */
@media screen and (min-width:768px) and ( max-width:1240px) {
/* worries
-------------------------------------*/
#worries {
  background: #F0E8D3;
  padding: 9.758vw 0 31.613vw;
  position: relative;
}
#worries::after {
  content: '';
  width: 100%;
  height: 23.306vw;
  background: url(../images/index/worries-bottom-bg.png) center center/cover no-repeat;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
#worries .worries-inner {
  width: 90.774vw;
  margin-inline: auto;
}
#worries .worries-ttl {
  width: 68.548vw;
  margin-inline: auto;
}
#worries .worries-ttl img {
  width: 100%;
}
#worries .worries-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 5.806vw;
  gap: 5.403vw 8.065vw;
}
#worries .worries-list li {
  position: relative;
}
#worries .worries-list li .fukidashi {
  position: absolute;
  top: -2.339vw;
  left: -2.419vw;
  width: 14.516vw;
}
#worries .worries-list li .fukidashi img {
  width: 100%;
}
#worries .worries-list li .txt {
  font-size: 2.097vw;
  line-height: 1.6923076923;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  margin: 1.452vw 0 0;
}
#worries .worries-list li .txt span {
  color: #884C32;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1919px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
/* deco */
#point .bg-deco01 {
  position: absolute;
  top: 9.119vw;
  right: 1.511vw;
  width: 26.941vw;
  z-index: 1;
}
#point .bg-deco02 {
  position: absolute;
  top: 78.791vw;
  left: 3.231vw;
  width: 18.239vw;
}
#point .bg-deco03 {
  position: absolute;
  width: 3.648vw;
  top: 58.624vw;
  right: 7.139vw;
}
#point .bg-deco04 {
  position: absolute;
  top: 134.445vw;
  left: 7.087vw;
  width: 3.179vw;
}
#point .bg-deco05 {
  position: absolute;
  top: 129.547vw;
  right: -8.181vw;
  width: 18.864vw;
}
#point .bg-deco06 {
  position: absolute;
  top: 197.811vw;
  left: -4.69vw;
  width: 18.187vw;
}
#point .bg-deco07 {
  position: absolute;
  bottom: 18.343vw;
  right: 4.377vw;
  width: 18.239vw;
  z-index: 1;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1320px)
======================================== */
@media screen and (min-width:768px) and (max-width:1320px) {
  /* point
-------------------------------------*/
#point {
  position: relative;
}
#point .point-inner {
  padding: 9.091vw 0 14.697vw;
  width: 96.97vw;
  margin-inline: auto;
}
#point .point-ttl {
  width: 69.015vw;
  margin-inline: auto;
}
#point .point-ttl img {
  width: 100%;
}
#point .point-en-ttl {
  width: 7.5vw;
  margin-inline: auto;
  margin-top: 2.576vw;
}
#point .point-en-ttl img {
  width: 100%;
}
#point .point-box {
  border-radius: 3.788vw;
  position: relative;
  padding: 9.848vw 10.606vw 5.833vw;
  margin-top: 10.227vw;
  z-index: 10;
}
#point .point-box .sec-num {
  position: absolute;
  width: 9.924vw;
  top: -3.03vw;
  left: 9.015vw;
}
#point .point-box .sec-num img {
  width: 100%;
}
#point .point-box .sec-ttl {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -3.03vw;
}
#point .point-box .sec-ttl img {
  width: 100%;
}
#point .point-box .sec-txt{
  font-size: 1.818vw;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0;
  text-align: center;
}
#point .point-box .list {
  display: flex;
  flex-direction: column;
  gap: 3.03vw;
}
#point .point-box .list li {
  background: #fff;
  border-radius: 2.273vw;
  padding: 4.091vw 3.561vw 1.667vw;
}
#point .point-box .list li .inner {
  display: grid;
  grid-template-columns: 46.12% 49.77%;
  gap: 3.712vw;
}
#point .point-box .list li .ttl {
  margin-bottom: 2.197vw;
}
#point .point-box .list li .txt {
  font-size: 1.364vw;
  line-height: 1.8888888889;
  letter-spacing: 0em;
  font-weight: 500;
  padding: 0 0 0 0.227vw;
  font-size: clamp(0.75rem, 0.228rem + 1.09vw, 1.125rem);
}
#point .point-box img {
  width: 100%;
}

/* point-box01 */
#point .point-box01 {
  background-color: #FFCE66;
}
#point .point-box01 .sec-ttl {
  width: 42.121vw;
}
#point .point-box .list li:nth-child(1) .ttl {
  width: 25vw;
}

/* list01 */
#point .point-box01 .list li:first-child .img {
  margin-top: -7.879vw;
  position: relative;
  z-index: 2;
}
#point .point-box .list li:nth-child(2) .ttl {
  width: 25.53vw;
}
#point .point-box01 .list .deco {
  position: absolute;
  right: 16.136vw;
  top: -4.924vw;
  width: 8.333vw;
}
/* list02 */
#point .point-box .list li:nth-child(2) {
  padding: 2.879vw 3.258vw 2.727vw;
}
#point .point-box .list li:nth-child(2) .inner {
  display: grid;
  grid-template-columns: 49.66% 46.02%;
  gap: 2.5vw;
}
#point .point-box .list li:nth-child(2) .txt-box {
  margin: 1.288vw 0 0;
}
/* list03 */
#point .point-box .list li:nth-child(3) {
  padding: 1.515vw 3.258vw 2.121vw;
}
#point .point-box .list li:nth-child(3) .ttl {
  width: 25.833vw;
}
#point .point-box .list li:nth-child(3) .txt-box {
  margin: 2.5vw 0 0;
}
#point .point-box .list li:nth-child(3) .txt-box .txt {
  padding: 0 5.53vw 0 0.53vw;
}
#point .point-box .list li:nth-child(3) .inner {
  display: grid;
  grid-template-columns: 37.66% 49.4%;
  gap: 8.788vw;
  position: relative;
}
#point .point-box .list li:nth-child(3) .img-box .upper{
  display: grid;
  grid-template-columns: 22.6% 69.48%;
  margin: 0 0 0 3.182vw;
}
#point .point-box .list li:nth-child(3) .img-box .upper .txt {
  font-size: 1.212vw;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0;
  color: #884C32;
  text-align: center;
  padding: 0;
  margin: 1.515vw 0 0 0;
}
#point .point-box .list li:nth-child(3) .img-box .bottom{
  display: grid;
  grid-template-columns: 60.6% 40.48%;
  margin: 1.136vw 0 0;
}
#point .point-box .list li:nth-child(3) .img-box .bottom .photo {
  margin: -0.909vw 0 0 1.894vw;
  width: 17.879vw;
}
#point .point-box .list li:nth-child(3) .img-box .bottom .desc-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.136vw;
}
#point .point-box .list li:nth-child(3) .img-box .bottom .desc-wrap .ttl {
  color: #FE9909;
  font-size: 1.061vw;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  margin: 0;
}
#point .point-box .list li:nth-child(3) .img-box .bottom .desc-wrap .txt {
  font-size: 1.061vw;
  font-weight: 500;
  line-height: 1.42857;
  letter-spacing: 0;
  padding: 0;
}
#point .point-box .list li:nth-child(3) .inner .photo05 {
  position: absolute;
  bottom: 0.455vw;
  left: 23.333vw;
  width: 12.348vw;
}
#point .point-box .list li:nth-child(3) .inner .photo05 img {
  width: 100%;
}

/* point-box02 */
#point .point-box02 {
  background-color: #F0E8D3;
  position: relative;
  margin-top: 12.348vw;
  padding: 12.424vw 10.606vw 5.985vw;
}
#point .point-box02 .sec-num {
  width: 11.061vw;
}
#point .point-box02 .sec-ttl {
  width: 36.742vw;
  top: -2.652vw;
}
#point .point-box02 .deco {
  position: absolute;
  top: -4.545vw;
  right: 13.864vw;
  width: 12.197vw;
}
#point .point-box02 .deco img {
  width: 100%;
}
#point .point-box02 .list02 {
  margin-top: 3.636vw;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 3.788vw;
}
#point .point-box02 .list02 li {
  display: grid;
  grid-template-columns: 55% 37.1%;
  align-items: center;
  gap: 2.273vw;
  position: relative;
}
#point .point-box02 .list02 li:nth-child(2) {
  display: grid;
  grid-template-columns: 42.1% 55%;
  align-items: center;
  gap: 2.273vw;
}
#point .point-box02 .list02 .photo-box {
  position: relative;
}
#point .point-box02 .list02 .fukidashi {
  position: absolute;
  top: -2.273vw;
  left: -2.273vw;
  width: 13.636vw;
}
#point .point-box02 .list02 .fukidashi img {
  width: 100%;
}
#point .point-box02 .list02 .txt-box {
}
#point .point-box02 .list02 li:nth-child(2) .txt-box{
  margin: 0 0 0 9.091vw;
}
#point .point-box02 .list02 .deco01{
  position: absolute;
  top: 0.606vw;
  right: -1.894vw;
  width: 25.682vw;
}
#point .point-box02 .list02 .deco01 img {
  width: 100%;
}
#point .point-box02 .list02 .ttl {
  font-size: 2.273vw;
  line-height: 1.7;
  letter-spacing: 0em;
  font-weight: 700;
  color: #884C32;
}
#point .point-box02 .list02 li:nth-child(3) .ttl {
  line-height: 1.3;
}
#point .point-box02 .list02 .ttl span {
  display: block;
  font-size: 1.818vw;
  line-height: 1.41666;
  margin: 0 0 0px;
}
#point .point-box02 .list02 .txt {
  font-size: 1.364vw;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 500;
  font-size: clamp(0.75rem, 0.228rem + 1.09vw, 1.125rem);
}
#point .point-box02 .list02 .deco02{
  position: absolute;
  top: 1.061vw;
  left: -5.303vw;
  width: 20.379vw;
}
#point .point-box02 .list02 .deco02 img {
  width: 100%;
}
#point .point-box02 .list02 .deco03{
  position: absolute;
  top: 2.273vw;
  right: -2.045vw;
  width: 20.379vw;
}
#point .point-box02 .list02 .deco03 img {
  width: 100%;
}

/* point-box03 */
#point .point-box03 {
  background-color: #FFCE66;
  margin-top: 12.5vw;
  padding: 5.227vw 6.818vw 6.061vw;
}
#point .point-box03 .sec-num {
  width: 11.061vw;
}
#point .point-box03 .sec-ttl {
  width: 51.667vw;
  top: -2.955vw;
}
#point .point-box03 .content-box {
  background-color: #FFFFFF;
  border-radius: 2.273vw;
  position: relative;
  padding: 4.545vw 5.909vw 3.333vw;
  display: grid;
  grid-template-columns: 50% 40.8%;
  gap: 3.03vw;
  margin-top: 2.576vw;
}
#point .point-box03 .txt-box {
  margin: 1.167vw 0 0;
  display: flex;
  flex-direction: column;
  gap: 1.212vw;
}
#point .point-box03 .txt-box .ttl {
  width: 27.045vw;
}
#point .point-box03 .txt {
  font-size: 1.212vw;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 500;
  font-size: clamp(0.75rem, 0.402rem + 0.72vw, 1rem);
}
#point .point-box03 .deco {
  position: absolute;
  top: -10.076vw;
  right: 8.712vw;
  width: 15.227vw;
}
#point .point-box03 .deco img {
  width: 100%;
}

/* point-box04 */
#point .point-box04 {
  background-color: #F0E8D3;
  margin-top: 12.5vw;
  padding: 5.227vw 10.606vw 5.758vw;
}
#point .point-box04 .inner {
  width: min(95%, 761px);
  margin-inline: auto;
}
#point .point-box04 .sec-num {
  width: 11.288vw;
}
#point .point-box04 .sec-ttl {
  width: 29.091vw;
  top: -2.955vw;
}
#point .point-box04 .deco {
  position: absolute;
  bottom: -0.227vw;
  left: 10.848vw;
  width: 15.379vw;
}
#point .point-box04 .deco img {
  width: 100%;
}

#point table {
  border-collapse: collapse;
  text-align: center;
  width: 100%;
  margin-inline: auto;
  margin-top: 3.409vw;
}
#point th {
  font-size: 1.439vw;
  font-weight: 700;
  line-height: 1.5623;
  letter-spacing: 0;
  text-align: center;
  padding: 1.136vw 0 0.227vw;
  vertical-align: middle;
}
#point th.coop {
  font-size: 1.515vw;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0;
  color: #FFFFFF;
  background: #F19D3A;
}
#point th.other-super {
  background: #FFCE66;
  padding: 0.682vw 0;
}
#point th.other-super.a {
  border-right: 1px solid #fff;
}
#point th.other-super.b {
  border-left: 1px solid #fff;
}
#point td.coop {
  font-size: 3.409vw;
  font-weight: 700;
  line-height: 1.0888;
  letter-spacing: 0;
  color: #FE9909;
  max-width: 13.939vw;
  padding: 0 0.682vw;
}
#point td.coop span {
  font-size: 2.652vw;
  line-height: 1.4;
}
#point .coop {
  border: 3px solid #F19D3A;
}
#point .other-super {
  border: 3px solid #F8CF76;
}
#point td {
  background: #FFFFFF;
  vertical-align: middle;
}
#point td.other-super {
  font-size: 1.894vw;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  color: #8E8E8E;
}
#point td.other-super span {
  font-size: 1.515vw;
  line-height: 1.75;
}
#point .basic {
  font-size: 1.894vw;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  padding: 4.773vw 0 4.167vw 2.197vw;
  text-align: left;
  width: 13.939vw;
}
#point .basic span {
  font-size: 1.061vw;
  font-weight: 500;
  line-height: 1.5714;
  letter-spacing: 0;
  display: inline-block;
  margin: 0.682vw 0 0;
  font-size: clamp(0.625rem, 0.277rem + 0.72vw, 0.875rem);
}
#point .basic .space {
  margin: 0;
}
#point .desc {
  font-size: 1.061vw;
  font-weight: 500;
  line-height: 1.5714;
  letter-spacing: 0;
  margin: 1.212vw 0 0 13.939vw;
  font-size: clamp(0.625rem, 0.277rem + 0.72vw, 0.875rem);
}

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1240px)
======================================== */
@media screen and (min-width:768px) and (max-width:1240px) {
    /* system
-------------------------------------*/
#system {
  background: #EADDA6;
}
#system .system-inner {
  width: 96.774vw;
  margin-inline: auto;
  padding: 0 0 6.452vw;
}
#system .system-ttl {
  width: 77.419vw;
  margin-inline: auto;
  position: relative;
  top: -4.355vw;
}
#system .system-ttl img {
  width: 100%;
}
#system .system-en-ttl {
  width: 10vw;
  margin-inline: auto;
  margin-top: -2.339vw;
}
#system .system-en-ttl img {
  width: 100%;
}
#system .system-txt {
  font-size: 1.935vw;
  font-weight: 700;
  line-height: 2.9583;
  letter-spacing: 0;
  text-align: center;
  margin-top: 2.5vw;
}
#system .inner-box {
  position: relative;
}
#system .inner-box .age{
  position: absolute;
  width: 55.161vw;
  top: 34.919vw;
  left: 5.726vw;
}
#system .inner-box .age02{
  position: absolute;
  width: 25vw;
  top: 34.919vw;
  right: 5.565vw;
}
#system .inner-box .age img {
  width: 100%;
}
#system .inner-box .age02 img {
  width: 100%;
}
#system .system-list {
  background: #FFFFFF;
  border-radius: 4.032vw;
  padding: 5.081vw 4.032vw 3.871vw;
  margin-top: 2.097vw;
}
#system .system-list ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.016vw;
  margin: 0 0 1.613vw;
}
#system .system-list li .ttl {
  background: #FE9909;
  color: #FFFFFF;
  font-size: 2.097vw;
  line-height: 1.0769230769;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  padding: 0.887vw 0;
}
#system .system-list li .content-box {
  background: rgba(253, 153, 9, 0.1);
  padding: 1.774vw 0 2.339vw;
}
#system .system-list li .content-box .txt {
  font-size: 1.29vw;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  font-size: clamp(0.688rem, 0.179rem + 1.06vw, 1rem);
}
#system .bottom-box {
  display: flex;
  justify-content: center;
  margin-top: 7.742vw;
  gap: 5.806vw;
  position: relative;
}
#system .bottom-box h4 {
  font-size: 1.29vw;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 700;
  position: relative;
  text-align: left;
  font-size: clamp(0.688rem, 0.179rem + 1.06vw, 1rem);
}
#system .bottom-box h4::after {
  content: '';
  display: block;
  width: 0.081vw;
  height: 4.274vw;
  background: url(../images/index/vertical-line.svg) center center/contain no-repeat;
  position: absolute;
  left: 7.823vw;
  top: 50%;
  transform: translateY(-50%);
}
#system .system-list li:nth-child(3) .bottom-box {
  margin-top: 6.371vw;
}
#system .system-list li:nth-child(3) .content-box {
  padding: 0.806vw 0 2.339vw;
}
#system .system-list li:nth-child(3) .content-box .txt {
  text-align: left;
  padding: 0 0 0 1.048vw;
  display: flex;
  gap: 0.323vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1919px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
    /* cta02
-------------------------------------*/
#cta.cta02{
  background: url(../images/index/cta-bg02.png) center center/cover no-repeat;
}
#cta.cta02 .cta-inner {
  width: 63.992vw;
  margin-inline: auto;
  padding: 5.221vw 0 4.169vw;
}
#cta.cta02 .cta-box {
  background: url(../images/index/cta-box-bg02.png) center center/contain no-repeat;
  margin-top: 0;
  padding: 2.762vw 0 2.501vw;
}
#cta.cta02 .cta-subt {
  margin-bottom: 1.355vw;
  width: 27.306vw;
  margin-inline: auto;
}
#cta.cta02 .cta-ttl {
  margin-bottom: 2.762vw;
  width: 45.753vw;
  margin-inline: auto;
}
#cta.cta02 .btn {
  width: 27.097vw;
  margin-inline: auto;
}
#cta.cta02 .deco01 {
  position: absolute;
  top: 4.169vw;
  right: 10.631vw;
  width: 6.462vw;
}
#cta.cta02 .deco02 {
  position: absolute;
  bottom: -1.146vw;
  left: -1.355vw;
  width: 18.656vw;
}
#cta.cta02 .deco03 {
  position: absolute;
  bottom: -0.99vw;
  right: 1.303vw;
  width: 17.04vw;
}
#cta.cta02 .cta-txt {
  margin-top: 1.251vw;
}

/* instagram
-------------------------------------*/
#instagram .modal__open-btn .img img {
  width: 100%;
  height: 26.055vw;
  object-fit: cover;   
}

#instagram .prev-arrow {
  position: absolute;
  left: calc(50% - 11.985vw);
  top: 40%;
  z-index: 11;
  width: 4.69vw;
  height: auto;
}

#instagram .next-arrow {
  position: absolute;
  left: calc(50% + 9.119vw);
  top: 40%;
  z-index: 11;
  width: 4.69vw;
  height: auto;
}

#instagram .modal__close-btn {
  position: absolute;
  z-index: 2;
  top: -4.084vw;
  right: -37.041vw;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1650px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1650px) {
#instagram .modal__close-btn {
  position: absolute;
  z-index: 2;
  top: -4.084vw;
  right: -35.041vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1240px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1240px) {
    /* voice 
-------------------------------------*/
#voice {
  background: url(../images/index/voice-bg.png) center center/auto repeat;
}
#voice .voice-inner {
  width: 96.774vw;
  margin-inline: auto;
  padding: 8.065vw 0;
}
#voice .voice-ttl {
  width: 61.048vw;
  margin-inline: auto;
}
#voice .voice-ttl img {
  width: 100%;
}
#voice .voice-en-ttl {
  width: 7.823vw;
  margin-inline: auto;
  margin-top: 2.661vw;
}
#voice .voice-en-ttl img {
  width: 100%;
}
#voice .voice-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 5.403vw;
  gap: 0 3.226vw;
}
#voice .voice-list li {
  border-radius: 2.419vw;
  background: #fff;
  border: 2px solid #884c32;
  padding: 4.758vw 0 2.984vw; /* 19.70px 12.35px 12.35px */
  position: relative;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
#voice .voice-list li:nth-child(-n + 3) {
  margin-bottom: 5.323vw;
}
#voice .voice-list li .num {
  position: absolute;
  top: -1.532vw;
  left: 50%;
  transform: translateX(-50%);
  width: 12.581vw;
}
#voice .voice-list li .num img {
  width: 100%;
}
#voice .voice-list li .img {
  text-align: center;
  margin: 0 0 1.613vw;
}
#voice .voice-list li .title {
  font-size: 1.935vw;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
  position: relative;
  margin: 0 0 1.371vw;
}
#voice .voice-list li:nth-child(4) .title .title-line1 {
  white-space: nowrap;
  font-size: 1.774vw;
}
#voice .voice-list li .title::after {
  content: "";
  position: absolute;
  bottom: -1.2vw;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 64px);
  height: 1vw;
  background: url(../images/index/dotted-line.png) center center/contain no-repeat;
}
#voice .voice-list li .title::before {
  content: none;
}
#voice .voice-list li .txt {
  font-size: 1.613vw;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 700;
}
#voice .voice-list li .txt span {
  color: #FE9909;
}
#voice .voice-list li:nth-child(3) .img {
  margin-top: -0.645vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1500px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1500px) {
/* line-up
-------------------------------------*/
#line-up {
  margin-top: 6.667vw;
  padding: 10vw 0 0;
  background: 
  url(../images/index/line-up-bg.png) top center/contain no-repeat;
  text-align: center;
}
#line-up .line-up-ttl {
  width: min(95%, 755px);
  margin-inline: auto;
}
#line-up .line-up-ttl img {
  width: 100%;
}
#line-up .line-up-en-ttl {
  width: min(95%, 120px);
  margin-inline: auto;
}
#line-up .line-up-en-ttl img {
  width: 100%;
  margin-top: 2.533vw;
}
#line-up .line-up-txt {
  font-size: 1.6vw;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  display: inline-block;
}
#line-up .line-up-txt.yellow-line {
  margin-top: 3.6vw;
  position: relative;
  z-index: 2;
}
#line-up .line-up-txt .orange {
  color: #FE9909;
}
#line-up .line-up-txt .large {
  font-size: 2.267vw;
  line-height: 1.2352941176;
  letter-spacing: 0em;
  font-weight: 700;
}
#line-up .line-up-photo {
  width: 100%;
  margin: 4.4vw 0 0;
}
#line-up .line-up-photoBox {
  position: relative;
}
#line-up .line-up-photoBox .line-up-txt02 {
  font-weight: bold;
  font-size: 1.333vw;
  line-height: 1.75;
  text-align: center;
  background: url(../images/index/line-up-txt02-bg.png);
  position: absolute;
  top: -6.267vw;
  left: 50%;
  transform: translateX(-50%);
  background-size: contain;
  background-repeat: no-repeat;
  padding: 3.533vw 4.6vw;
}

#line-up .section-box-wrap {
  background: url(../images/index/line-up-bg02.png);
  background-size: cover;
  padding: 7.267vw 0 5.4vw;
}
#line-up .section-box {
  width: 84.6vw;
  margin-inline: auto;
  margin-bottom: 4.6vw;
}
#line-up .section-box .content-box-wrap {
  position: relative;
}
#line-up .section-box .content-box {
  border-radius: 3.333vw;
  margin-top: 0.667vw;
  padding: 6.8vw 5.467vw 5.267vw;
  position: relative;
  z-index: 2;
  width: 80vw;
  margin-inline: auto;
}
#line-up .section-box .subt {
  margin: -1.4vw 0 0;
}
#line-up .section-box .ttl {
  margin: -0.733vw 13.533vw 0 0;
}
/* section-box01 */
#line-up .section-box01 .content-box-wrap {
  background: url(../images/index/line-up-contentBg01.png);
  background-repeat: no-repeat ;
  background-size: contain;
}
#line-up .section-box01 .line-up-slider .item {
  width: 29.933vw;
  margin: 0 1vw;
}
.slide-arrow {
  position: absolute;
  top: 49%; /* 上下中央に配置 */
  transform: translateY(-50%); /* 縦方向の中央揃え */
  z-index: 10; /* スライドより前面に表示 */
  width: 2.467vw; /* ボタンのサイズ（必要に応じて調整） */
  height: 2.467vw; /* ボタンのサイズ（必要に応じて調整） */
  cursor: pointer;
  left: 50%;
}
.prev-arrow {
  margin-left: -34.4vw;
}
.next-arrow {
  margin-left: 32.133vw;
}
.slider-img img {
  height: auto;
  width: 100%;
}
.slide-dots {
  margin: -2.133vw 0 0;
  padding: 0;
  text-align: center;
}
.slide-dots li {
  display: inline-block;
  margin: 0 0.333vw;
}
.slide-dots li button {
  position: relative;
  text-indent: -666.6vw;
}
.slide-dots li button::before {
  background-image: url(../images/index/slide-dots.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  cursor: pointer;
  width: 0.933vw;
  height: 0.933vw;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 1.6vw;
}
.slide-dots li.slick-active button::before {
  background-image: url(../images/index/slide-dots-active.svg);
}
button {
  background: none;
  border: none;
  outline: none;
  padding: 0 0.467vw;
}
/* section-box02 */
#line-up .section-box02 {
  width: 82.533vw;
}
#line-up .section-box02 .ttl {
  margin: -2.533vw 1.533vw 0 0;
}
#line-up .section-box02 .content-box {
  padding: 7.067vw 5.467vw 6.733vw;
}
#line-up .section-box02 .content-box-wrap {
  background: url(../images/index/line-up-contentBg02.png);
  background-repeat: no-repeat ;
  background-size: contain;
}
#line-up .section-box02 .content-box h4 {
  text-align: center;
}
#line-up .section-box02 .txt {
  font-size: clamp(1rem, 0.738rem + 0.55vw, 1.25rem);
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
  margin: 1.067vw 0 -0.4vw;
}
/* section-box03 */
#line-up .section-box03 {
  width: 84vw;
}
#line-up .section-box03 .ttl {
  margin: -0.8vw 0 0;
}
#line-up .section-box03 .content-box {
  padding: 4.4vw 6.533vw 6.667vw;
}
#line-up .section-box03 .content-box-wrap {
  background: url(../images/index/line-up-contentBg03.png);
  background-repeat: no-repeat ;
  background-size: contain;
}
#line-up .section-box03 .inner-box01 {
  display: grid;
  align-items: center;
  grid-template-columns: 57.01% 31.88%;
  gap: 2.667vw;
  margin-top: 3.8vw;
  background: #FEF3E4;
  padding: 0 0 1.2vw;
  position: relative;
}
#line-up .section-box03 .inner-box01::before,
#line-up .section-box03 .inner-box01::after {
  content: "";
  position: absolute;
  top: 1.333vw;
  width: 1.667vw;
  height: 1.667vw;
}
#line-up .section-box03 .inner-box01::before {
  background: url(../images/index/line-up03-deco-l.svg);
  left: 1.333vw;
  background-size: contain;
}
#line-up .section-box03 .inner-box01::after {
  background: url(../images/index/line-up03-deco-r.svg);
  right: 1.333vw;
  background-size: contain;
}
#line-up .section-box03 .inner-box01 .photo {
  margin: 1.067vw 0 0;
}
#line-up .section-box03 .inner-box01 .txt-box {
  padding: 2.6vw 0px 2.067vw 4.667vw;
  text-align: left;
}
#line-up .section-box03 .inner-box01 .txt-box .subt {
  background-color: #884C32;
  color: #FFFFFF;
  font-size: 1.067vw;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 0.467vw;
  display: inline-block;
  padding: 0 0.333vw;
}
#line-up .section-box03 .inner-box01 .txt-box .ttl {
  font-size: 1.867vw;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  font-weight: 700;
  color: #884C32;
  margin: 0 0 1.4vw;
}
#line-up .section-box03 .inner-box01 .txt-box .list {
  display: flex;
  flex-direction: column;
  gap: 1.533vw;
}
#line-up .section-box03 .inner-box01 .txt-box .list li {
  font-size: 1.067vw;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 500;
  position: relative;
  padding: 0 0 0 2.667vw;
}
#line-up .section-box03 .inner-box01 .txt-box .list li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1.733vw;
  height: 1.733vw;
  background: url(../images/index/tomato-icon.png) center center/contain no-repeat;
}
#line-up .section-box03 .inner-box01 .txt-box .list li::after {
  content: "";
  position: absolute;
  bottom: -0.533vw;
  left: 0;
  width: 100%;
  height: 0.067vw;
  background: url(../images/index/dotted-line03.png);
}
#line-up .section-box03 .inner-box02 {
  display: grid;
  grid-template-columns: 38.46% 59.19%;
  position: relative;
  margin: 2.667vw 4.933vw 0;
  gap: 1.333vw;
  grid-template-columns: 39.8% 58.19%;
}
/* section-box04 */
#line-up .section-box04 {
  width: 86.133vw;
}
#line-up .section-box04 .ttl {
  margin: -1.4vw 0 0;
}
#line-up .section-box04 .content-box {
  padding: 6.8vw 5.333vw 6.6vw;
}
#line-up .section-box04 .content-box-wrap {
  background: url(../images/index/line-up-contentBg04.png);
  background-repeat: no-repeat ;
  background-size: contain;
}
#line-up .section-box04 .inner-box {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 2.667vw;
  text-align: left;
}
#line-up .section-box04 .inner-box .box {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 9;
  background: #F9F6F4;
  padding: 0 0 1.333vw;
}
#line-up .section-box04 .inner-box h4 {
  margin: 0 0 1.267vw;
}
#line-up .section-box04 .inner-box .photo-box {
  margin: 0.667vw 0 1.467vw;
  padding: 0 2vw;
}
#line-up .section-box04 .inner-box .photo {
  margin: 0 0 1.733vw;
  text-align: center;
}
#line-up .section-box04 .inner-box .fukidashi {
  text-align: center;
}
#line-up .section-box04 .inner-box .fukidashi img {

}
#line-up .section-box04 .inner-box .txt {
  font-size: 1.2vw;
  line-height: 1.8888888889;
  letter-spacing: 0em;
  font-weight: 700;
  margin: 0 0 2.4vw;
  padding: 0 2vw;
}
#line-up .section-box04 .inner-box .subt {
  margin: 0 0 1.467vw;
  text-align: center;
}
#line-up .section-box04 .inner-box .photo-box02 {
  display: grid;
  position: relative;
  padding: 0 2vw;
  grid-template-columns: 66.29% 22.82%;
  gap: 0.933vw;
}
#line-up .section-box04 .inner-box .photo-box02 .txt {
  padding: 0;
  margin: 0 0 1.867vw;
  font-weight: bold;
  font-size: 1.067vw;
  line-height: 2;
  text-align: left;
}
#line-up .section-box04 .inner-box .photo-box02 .txt span {
  color: #884C32;
}
#line-up .section-box04 .inner-box .bottom-box {
  display: grid;
  grid-template-columns: 43.3% 54.2%;
  gap: 0.667vw;
  padding: 0 2vw;
}
#line-up .section-box04 .inner-box .bottom-box .txt {
  font-size: 0.933vw;
  line-height: 1.71428;
  letter-spacing: 0em;
  font-weight: 500;
  padding: 0;
  margin: 0;
}
#line-up .section-box04 .inner-box .bottom-box .photo-box {
  margin: 0;
  padding: 0;
}
#line-up .section-box04 .inner-box .bottom-box .photo-box .photo{margin: 0 0 -0.267vw;}
#line-up .section-box04 .inner-box .subt02 {
  font-size: 1.067vw;
  line-height: 2.125;
  letter-spacing: 0em;
  font-weight: 700;
  color: #FFFFFF;
  background: #884C32;
  padding: 0.333vw 0;
  margin: 0 2vw 2.533vw;
  text-align: center;
}
#line-up .section-box04 .inner-box .subt02 span {
  color: #FFF62D;
}
#line-up .section-box04 .inner-box h5 {
  margin-bottom: 0.733vw;
  text-align: center;
  padding: 0 2vw;
  margin: 0 0 1.333vw;
}
#line-up .section-box04 .inner-box .txt-box {
  margin: 0.333vw 0 0;
}
#line-up .section-box04 .inner-box .subt03 {
  margin: 0 0 0.933vw;
}
#line-up .section-box04 .inner-box .original .photo-box02 .photo {
  position: absolute;
  width: 9vw;
  right: 2.333vw;
  margin: 0;
  top: -0.2vw;
}
#line-up .section-box04 .inner-box .original .photo img {
  width: 100%;
}
#line-up .section-box04 .inner-box .kodawari .photo-box02 {
  grid-template-columns: 39.14% 60.51%;
  gap: 0.2vw;
  align-items: center;
}
#line-up .section-box04 .inner-box .kodawari .subt02 {
  text-align: center;
}
#line-up .section-box04 .inner-box .kodawari .bottom-box {}
#line-up .section-box04 .inner-box .bottom-box .name img {
  vertical-align: middle;
}

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1640px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1640px) {
/* otoku
-------------------------------------*/
#otoku {
  background: url(../images/index/otoku-bg.png) no-repeat;
  background-size: cover;
}
#otoku .otoku-inner {
  padding: 6.524vw 0 8.171vw;
}
#otoku .otoku-ttl {
  width: 61.402vw;
  margin-inline: auto;
}
#otoku .otoku-ttl img {
  width: 100%;
}
#otoku .inner-box {
  width: 97.561vw;
  margin-inline: auto;
  position: relative;
  background: #FFFFFF;
  border-radius: 3.049vw;
  padding: 7.317vw 3.659vw 5vw;
  margin-top: -1.89vw;
}
#otoku .otoku-subt {
  position: absolute;
  top: -3.659vw;
  left: 50%;
  transform: translateX(-50%);
  width: 47.866vw;
}
#otoku .otoku-subt img {
  width: 100%;
}
#otoku .list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 1.22vw;
}
#otoku .list li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 6;
  border: 4px solid #884C32;
  border-radius: 3.049vw;
  padding: 0 0 3.049vw;
}
#otoku .list li h3 {
  background: rgba(253, 153, 9, 0.2);
  font-size: 1.463vw;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 700;
  color: #884C32;
  display: flex;
  gap: 0.305vw;
  align-items: baseline;
  justify-content: center;
  padding: 1.098vw 0 1.22vw;
  border-radius: 3.049vw 3.049vw 0 0;
  margin: 0 0 1.22vw;
}
#otoku .list li h3 span {
  font-size: 2.439vw;
  letter-spacing: 0em;
  font-weight: 700;
}
#otoku .list li .photo {
  text-align: center;
  margin: 0 0 1.22vw;
}
#otoku .list li .txt01 {
  font-size: clamp(1rem, 0.89rem + 0.23vw, 1.125rem);
  line-height: 1.9444444444;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  margin: 0 0 0.915vw;
  position: relative;
  display: inline-block;
}
#otoku .list li .txt01 .dotted-line {
  border-bottom: 1px dotted #343434;
}
#otoku .list li .txt01 .color-orange {
  font-size: clamp(1.75rem, 1.64rem + 0.23vw, 1.875rem);
  line-height: 1.1666666667;
  letter-spacing: 0em;
  font-weight: 700;
  color: #FE9909;
}
#otoku .list li h4 {
  text-align: center;
  margin: 0 0 0.61vw;
  padding: 0 0.6vw;
}
#otoku .list li .txt02 {
  font-size: clamp(0.75rem, 0.42rem + 0.69vw, 1.125rem);
  line-height: 1.8888;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  padding: 0 0.6vw;
}
#otoku .list li .txt02 span {
  font-size: 1.463vw;
  line-height: 1.4583333333;
  letter-spacing: 0em;
  font-weight: 700;
  color: #FE9909;
}
#otoku .list li .desc {
  font-size: clamp(0.75rem, 0.53rem + 0.46vw, 1rem);
  line-height: 2.1875;
  letter-spacing: 0em;
  font-weight: 500;
  color: #555555;
  text-align: center;
  padding: 0 0.6vw;
}
/* list02 */
#otoku .list li:nth-child(2) .txt02 {
  text-align: left;
  margin: 1.341vw 0 0 2.988vw;
  line-height: 2.05;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1140px)
======================================== */
@media screen and (min-width:768px) and (max-width:1140px) {
    /* delivery
-------------------------------------*/
#delivery {
  background: url(../images/index/delivery-bg.png) center center/cover no-repeat;
}
#delivery .delivery-inner {
  width: 96.491vw;
  margin-inline: auto;
  padding: 8.86vw 0 8.772vw;
}
#delivery .delivery-ttl {
  width: 70.526vw;
  margin-inline: auto;
}
#delivery .delivery-ttl img {
  width: 100%;
}
#delivery .delivery-en-ttl {
  width: 12.632vw;
  margin-inline: auto;
  margin-top: 2.895vw;
}
#delivery .delivery-en-ttl img {
  width: 100%;
}
#delivery .delivery-subt {
  background: #884C32;
  color: #FFFFFF;
  border-radius: 3.509vw;
  font-size: 2.456vw;
  line-height: 1.3214285714;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  margin-top: 4.737vw;
  padding: 1.842vw 0;
}
#delivery .delivery-subt span {
  color: #FFF11F;
  letter-spacing: 0.1em;
}
#delivery .inner-box {
  display: grid;
  grid-template-columns: 63.63% 33.36%;
  gap: 2.895vw;
  margin-top: 4.123vw;
}
#delivery .flow-item {
  background: #FCFAF1;
  padding: 2.719vw 2.105vw 1.579vw 2.281vw;
}
#delivery .flow-item h4 {
  font-size: 1.579vw;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
}
#delivery .flow-item .item {
  display: flex;
  flex-direction: column;
  gap: 1.404vw;
  margin: 0.965vw 0 0;
}
#delivery .flow-item .item li {
  border: 1px solid #884C32;
  display: grid;
  grid-template-columns: 33.01% 66.98%;
  border-radius: 1.053vw;
  position: relative;
  background: #884C32;
}
#delivery .flow-item .item li:not(:last-child)::after  {
  position: absolute;
  bottom: -1.053vw;
  left: 50%;
  transform: translateX(-50%);
  background: url(../images/index/flow-arrow.svg) center center/contain no-repeat;
  width: 1.491vw;
  height: 0.702vw;
  content: "";
}
#delivery .flow-item .item li h5 {
  background: #7B442D;
  color: #FFFFFF;
  border-radius: 0.877vw 0 0 0.877vw;
  font-size: 1.754vw;
  line-height: 1.4;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  padding: 0.965vw 0 1.053vw;
}
#delivery .flow-item .item li .txt {
  font-size: 1.579vw;
  line-height: 1.5555555556;
  letter-spacing: 0em;
  font-weight: 700;
  border-radius: 0 0.877vw 0.877vw 0;
  padding: 0.965vw 1.579vw 1.053vw;
  background: #FFFFFF;
}
#delivery .flow-item .desc {
  font-size: 1.404vw;
  line-height: 1.6;
  letter-spacing: 0em;
  font-weight: 500;
  margin: 1.228vw 0 0 -0.175vw;
}
#delivery .delivery-txt {text-align: center;margin-top: 3.421vw;}
}


/* ========================================
@media screen and (min-width:768px) and (max-width:1240px)
======================================== */
@media screen and (min-width:768px) and (max-width:1240px) {
 /* faq
-------------------------------------*/
#faq {
  background: #EADDA6;
}
#faq .faq-inner {
  width: 96.774vw;
  margin-inline: auto;
  padding: 8.145vw 0 8.065vw;
}
#faq .faq-ttl {
  width: 37.984vw;
  margin-inline: auto;
}
#faq .faq-ttl img {
  width: 100%;
}
#faq .faq-en-ttl {
  width: 5.726vw;
  margin-inline: auto;
  margin-top: 2.742vw;
}
#faq .faq-en-ttl img {
  width: 100%;
}
#faq .faq-box {
  margin: 4.032vw 0 0;
  background: #FFFFFF;
  padding: 5.726vw 8.065vw 3.468vw;
}
#faq .option {
  position: relative;
  margin: 0 0 2.419vw;
  background: #F0E8D3;
  border-radius: 0.403vw;
  border: 2px solid #F0E8D3;
}
#faq .option::before {
  content: "";
  position: absolute;
  top: 1.855vw;
  left: 2.339vw;
  background-image: url(../images/index/faq-q.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 2.016vw;
  height: 1.855vw;
  z-index: 1;
}
#faq .toggle {
  display: none;
}
#faq .title,
#faq .content {
  color: #333333;
  font-size: 1.774vw;
  font-weight: 700;
  line-height: 1.3636;
  letter-spacing: 0.04em;
  -webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateZ(0); transition: all 0.3s; 
}
#faq .title {
  background-color: #F0E8D3;
  padding: 1.694vw 6.935vw 1.29vw;
  display: flex;
  gap: 2.419vw;
  align-items: center;
}
#faq .title img {
  vertical-align: top;
  width: 1.694vw;
  margin: 0.806vw 0 0;
}
#faq .title::after, .title::before {
  content: "";
  position: absolute;
  right: 5.161vw;
  top: 1.613vw;
  width: 0.323vw;
  height: 2.177vw;
  background-color: #707070;
  transition: all 0.3s;
}
#faq .title::after {
  transform: rotate(90deg);
}
#faq .content {
  background-color: #FFFFFF;
  overflow: hidden;
  max-height: 0;
}
#faq .content p {
  color: #262626;
  font-size: 1.29vw;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin: 0;
  padding: 2.177vw 6.935vw 1.935vw;
  display: flex;
  align-items: flex-start;
  gap: 2.419vw;
  position: relative;
  font-size: clamp(0.75rem, 0.343rem + 0.85vw, 1rem);
}
#faq .content p::before {
  content: "";
  position: absolute;
  top: 2.097vw;
  left: 2.258vw;
  background-image: url(../images/index/faq-a.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 2.177vw;
  height: 1.774vw;
}
#faq .toggle:checked + .title + .content {
  max-height: 40.323vw;
  transition: all 1.5s;
}
#faq .toggle:checked + .title::before {
  transform: rotate(90deg) !important;
}   
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1200px)
======================================== */
@media screen and (min-width:768px) and (max-width:1200px) {
    /* more
-------------------------------------*/
#more .more-inner {
  width: 95.833vw;
  margin-inline: auto;
  padding: 8.333vw 0 24.083vw;
}
#more .more-subt {
  width: 8vw;
  margin-inline: auto;
}
#more .more-subt img {
  width: 100%;
}
#more .more-ttl {
  width: 78.917vw;
  margin-inline: auto;
  margin-top: 1.167vw;
  position: relative;
  z-index: 2;
}
#more .more-ttl img {
  width: 100%;
}
#more .more-box {
  background: #F0E8D3;
  border-radius: 5vw;
  margin-top: -7.75vw;
  position: relative;
}
#more .more-box .inner {
  padding: 9.333vw 5.25vw 10.417vw;
  display: grid;
  grid-template-columns: 46.47% 48.47%;
  gap: 5.333vw;
}
#more .more-box .upper {
  display: grid;
  grid-template-columns: 31.47% 65.82%;
  gap: 0.833vw;
  align-items: center;
}
#more .more-box .txt {
  margin: 2.333vw 0 0;
}
#more .more-box .subt {
  background: #EA3D44;
  color: #FFFFFF;
  font-size: 1.833vw;
  line-height: 1.2727272727;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  width: 39.75vw;
  padding: 0.667vw 0;
}
#more .more-box .bottom {
  display: grid;
  grid-template-columns: 27.04% 76.34%;
  gap: 0 1.25vw;
  margin-top: 1.917vw;
  align-items: center;
}
#more .more-box .txt03 {
  font-size: 1.75vw;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-weight: 700;
  color: #EA3D44;
  text-align: center;
  grid-column: 1 / -1;
  margin: 1vw 0 0 -3.417vw;
}
#more .more-box .btn {
  width: min(95%, 536px);
  margin-inline: auto;
  position: absolute;
  bottom: -7.167vw;
  left: 50%;
  transform: translateX(-50%);
}
#more .more-box .btn img {
  width: 100%;
}
#more .more-box .photo {
  margin: 0.333vw 0 0;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1000px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1000px) {
#system .bottom-desc02 p {
  font-size: 18px;
  font-size: clamp(0.813rem, -0.222rem + 2.16vw, 1.125rem);
}
}

/* ========================================
@media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
/* main
-------------------------------------*/
#main {
  background: #F0E8D3;
  position: relative;
}
#main .main-inner {
  width: min(95%, 94.4vw);
  margin-inline: auto;
  position: relative;
  padding: 7vw 0 2.2vw;
}
#main .main-ttl-box {
  display: flex;
  flex-direction: column;
  gap: 44vw;
  position: relative;
  z-index: 5;
}
#main .main-ttl {
  width: 89.4vw;
  margin-inline: auto;
  position: relative;
  z-index: 2;
}
#main .main-ttl img {
  width: 100%;
}
#main .main-point-box {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3vw;
  position: relative;
  z-index: 2;
  margin: 0 1.3vw;
}
#main .main-photo {
  position: absolute;
  top: 30.4vw;
  left: 0;
  width: 100%;
  z-index: 1;
}
#main .main-photo img {
  width: 100%;
}
#main .main-deco01 {
  position: absolute;
  top: -15vw;
  right: -18vw;
  width: 55.8vw;
}
#main .main-deco01 img {
  width: 100%;
}
#main .main-deco02 {
  position: absolute;
  top: 79vw;
  left: -11vw;
  width: 41vw;
}
#main .main-deco02 img {
  width: 100%;
}


/* cta
-------------------------------------*/
#cta {
  background: #F0E8D3;
}
#cta .cta-inner {
  width: min(95%, 94.4vw);
  margin-inline: auto;
  padding: 0vw 0 6vw;
}
#cta .cta-box {
  background: url(../images/index/cta-box-bg_sp.png) center center/contain no-repeat;
  position: relative;
  z-index: 6;
  padding: 5.4vw 0 5vw;
}
#cta .cta-subt {
  margin-bottom: 3vw;
  width: min(95%, 53.4vw);
  margin-inline: auto;
}
#cta .cta-subt img {
  width: 100%;
}
#cta .cta-ttl {
  margin-bottom: 2vw;
  width: min(95%, 82.2vw);
  margin-inline: auto;
}
#cta .cta-ttl img {
  width: 100%;
}
#cta .btn {
  width: min(95%, 66.2vw);
  margin-inline: auto;
}
#cta .btn img {
  width: 100%;
}
#cta .deco01 img {
  width: 100%;
}
#cta .deco02 {
  position: absolute;
  top: 6vw;
  left: 2.4vw;
  width: 18.4vw;
}
#cta .deco02 img {
  width: 100%;
}
#cta .deco03 {
  position: absolute;
  top: 3vw;
  right: 1vw;
  width: 15.5vw;
}
#cta .deco03 img {
  width: 100%;
}
#cta .cta-txt {
  width: min(95%, 66.7vw);
  margin-inline: auto;
  margin-top: 3vw;
}
#cta .cta-txt img {
  width: 100%;
}



/* area
-------------------------------------*/
#area {
  background: url(../images/index/area-bg_sp.png) top center/contain no-repeat, url(../images/index/area-bg_sp.png) bottom center/contain no-repeat;
  position: relative;
}
#area .area-inner {
  padding: 13vw 0 20vw;
  width: min(95%, 94.3vw);
  margin-inline: auto;
}
#area .txt-box {
  background: url(../images/index/area-txt-box-bg_sp.png) center bottom 2vw/contain no-repeat;
  padding: 0;
  margin: 0 4.4vw 0;
  position: relative;
  z-index: 2;
}
#area .ttl {
  width: min(95%, 66vw);
  margin-inline: auto;
  margin-bottom: 2vw;
  position: relative;
}
#area .ttl img {
  width: 100%;
}
#area .txt {
  font-size:3.865vw;
  line-height: 2.375;
  letter-spacing: 0em;
  font-weight: 500;
  text-align: center;
  margin: 7vw 0 0;
}
#area .txt .orange {
  color: #FE9909;
}
#area .txt .large {
  font-size:6.28vw;
  line-height: 1.46153;
  letter-spacing: 0.08em;
  font-weight: 700;
}
#area .img-box {
  background-color: #F0E8D3;
  border-radius: 9vw;
  position: relative;
  padding: 15vw 10vw 64vw;
  margin: 7vw 0 0;
}
#area .img-box .ttl {
  width: min(95%, 43.3vw);
  margin: 0;
}
#area .img-box .ttl img {
  width: 100%;
}
#area .img {
  position: absolute;
  top: -6vw;
  right: -3vw;
  width: 100vw;
}
#area .img img {
  width: 100%;
}


/* worries
-------------------------------------*/
#worries {
  background: #F0E8D3;
  padding: 12.4vw 0 10vw;
  position: relative;
}
#worries::after {
  content: '';
  width: 100%;
  height: 45.7vw;
  background: url(../images/index/worries-bottom-bg_sp.png) center center/cover no-repeat;
  position: absolute;
  bottom: -41vw;
  left: 50%;
  transform: translateX(-50%);
}
#worries .worries-inner {
  width: min(95%, 94.3vw);
  margin-inline: auto;
}
#worries .worries-ttl {
  width: min(95%, 68.2vw);
  margin-inline: auto;
}
#worries .worries-ttl img {
  width: 100%;
}
#worries .worries-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 27.8vw;
  gap: 25.8vw 4.8vw;
}
#worries .worries-list li {
  position: relative;
}
#worries .worries-list li .fukidashi {
  position: absolute;
  top: -20vw;
  left: 0;
  width: 44.8vw;
}
#worries .worries-list li .fukidashi img {
  width: 100%;
}
#worries .worries-list li .txt {
  font-size:3.865vw;
  line-height: 1.625;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  margin: 2.8vw 0 0;
}
#worries .worries-list li .txt span {
  color: #884C32;
}



/* point
-------------------------------------*/
#point {
  position: relative;
  margin: 41vw 0 0;
}
#point .point-inner {
  padding: 7.8vw 0 10vw;
}
#point .point-ttl {
  width: min(95%, 87.2vw);
  margin-inline: auto;
}
#point .point-ttl img {
  width: 100%;
}
#point .point-en-ttl {
  width: min(95%, 15vw);
  margin-inline: auto;
  margin-top: 3vw;
}
#point .point-en-ttl img {
  width: 100%;
}
#point .point-box {
  position: relative;
  z-index: 10;
  margin: 15vw 0 0;
  padding: 11.6vw 0 8vw;
}
#point .point-box .sec-num {
  position: absolute;
  width: 18.2vw;
  top: -6vw;
  left: 49%;
  transform: translateX(-50%);
}
#point .point-box .sec-num img {
  width: 100%;
}
#point .point-box .sec-ttl {
  width: 79.8vw;
  margin-inline: auto;
  position: relative;
  z-index: 2;
}
#point .point-box .sec-ttl img {
  width: 100%;
}

#point .point-box .sec-txt{
  font-size:4.831vw;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
  text-align: center;
}
#point .point-box .list {
  display: flex;
  flex-direction: column;
  gap: 7.8vw;
  width: min(95%, 94.3vw);
  margin-inline: auto;
  margin-top: 5vw;
}
#point .point-box .list li {
  background: #fff;
  border-radius: 4vw;
  padding: 7vw 3.67vw 5vw;
}
#point .point-box .list li .inner {display: flex;flex-direction: column;}
#point .point-box .list li .txt-box {
  display: contents;
}
#point .point-box .list li .ttl {
  order: 1;
}
#point .point-box .list li .img {
  order: 2;
  margin: 0 0 5.6vw;
}
#point .point-box .list li .txt {
  font-size:3.865vw;
  line-height: 1.875;
  letter-spacing: 0em;
  font-weight: 500;
  margin: 0 2.4vw;
  order: 3;
}
#point .point-box img {
  width: 100%;
}

/* point-box01 */
#point .point-box01 {
  background-color: #FFCE66;
}

/* list01 */
#point .point-box .list li:nth-child(1) .ttl {
  width: 62vw;
  margin: 0 0 7.8vw 10.8vw;
}
#point .point-box01 .list .deco {
  position: absolute;
  right: 12vw;
  top: -15vw;
  width: 18.2vw;
}
#point .point-box01 .list .deco img {
  width: 100%;
}
/* list02 */
#point .point-box .list li:nth-child(2) .ttl {
  width: 64.8vw;
  margin: 0 auto 7vw;
}
#point .point-box .list li:nth-child(2) .img {
  margin: 0 2.4vw 6vw;
}
/* list03 */
#point .point-box .list li:nth-child(3) {
    padding: 7vw 0 6vw;
}
#point .point-box .list li:nth-child(3) .ttl {
  width: 64.8vw;
  margin: 0 auto 7vw;
}
#point .point-box .list li:nth-child(3) .txt-box {

}
#point .point-box .list li:nth-child(3) .txt-box .txt {margin: 0 6vw;}
#point .point-box .list li:nth-child(3) .inner {

}
#point .point-box .list li:nth-child(3) .img-box {
  display: contents;
}
#point .point-box .list li:nth-child(3) .img-box .upper{
  display: grid;
  grid-template-columns: 25.3% 68%;
  order: 4;
  margin: 6vw 4vw 0;
  justify-content: center;
  gap: 2.6vw;
}
#point .point-box .list li:nth-child(3) .img-box .upper .txt {
  color: #884C32;
  font-weight: 700;
  margin: 4vw 0 0 1vw;
  text-align: center;
  line-height: 1.75;
}
#point .point-box .list li:nth-child(3) .img-box .bottom{
  display: grid;
  grid-template-columns: 53.2% 43%;
  order: 5;
  margin: 6.2vw 0 0 2vw;
  gap: 1.4vw;
}
#point .point-box .list li:nth-child(3) .img-box .bottom .photo {margin: 0.8vw 0vw 0 0;}
#point .point-box .list li:nth-child(3) .img-box .bottom .desc-wrap {
  display: flex;
  flex-direction: column;
  gap: 2vw;
  margin: -1vw 0 0;
}
#point .point-box .list li:nth-child(3) .img-box .bottom .desc-wrap .ttl {
  color: #FE9909;
  margin: 0;
}
#point .point-box .list li:nth-child(3) .img-box .bottom .desc-wrap .txt {
  font-size:3.382vw;
  line-height: 1.4285;
  font-weight: 500;
  letter-spacing: 0;
  margin: 0;
}
#point .point-box .list li:nth-child(3) .inner .photo05 {
  width: 39.4vw;
  margin-inline: auto;
  order: 2;
  margin-bottom: 6vw;
}
#point .point-box .list li:nth-child(3) .inner .photo05 img {
  width: 100%;
}




/* point-box02 */
#point .point-box02 {
  background-color: #F0E8D3;
  position: relative;
  margin: 19vw 0 0;
  padding: 13vw 0 8vw;
}
#point .point-box02 .sec-num {width: 20.1vw;}
#point .point-box02 .sec-ttl {width: 73vw;margin: 0 auto 6vw;}
#point .point-box02 .deco {
  position: absolute;
  top: -12vw;
  right: 13vw;
  width: 22vw;
}
#point .point-box02 .deco img {
  width: 100%;
}
#point .point-box02 .list02 {
  margin-top: 5vw;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 8vw;
  width: min(95%, 94.3vw);
  margin-inline: auto;
}
#point .point-box02 .list02 li {

}
#point .point-box02 .list02 li:nth-child(2) {display: flex;flex-direction: column-reverse;}
#point .point-box02 .list02 .photo-box {
  position: relative;
}
#point .point-box02 .list02 .fukidashi {
  position: absolute;
  bottom: -8.2vw;
  left: 50%;
  width: 82.2vw;
  transform: translateX(-50%);
}
#point .point-box02 .list02 .fukidashi img {
  width: 100%;
}
#point .point-box02 .list02 .txt-box {margin: 12.8vw 0 0;}
#point .point-box02 .list02 .ttl {
  font-size:6.28vw;
  font-weight: 700;
  line-height: 1.3076;
  letter-spacing: 0;
  color: #884C32;
  text-align: center;
}
#point .point-box02 .list02 .ttl span {display: block;font-size:5.314vw;line-height: 1.3076;letter-spacing: 0;}
#point .point-box02 .list02 .txt {margin: 2vw 0 0;text-align: center;font-size:3.865vw;line-height: 1.875;font-weight: 500;letter-spacing: 0;}
#point .point-box02 .list02 li:nth-child(2) .fukidashi,
#point .point-box02 .list02 li:nth-child(3) .fukidashi{
  bottom: -5vw;
}
#point .point-box02 .list02 li:nth-child(2) .txt-box,
#point .point-box02 .list02 li:nth-child(3) .txt-box {margin: 10vw 0 0;}
/* point-box03 */
#point .point-box03 {
  background-color: #FFCE66;
  margin-top: 18.4vw;
  padding: 11.6vw 2.9vw 9.2vw;
}
#point .point-box03 .sec-num {
  width: 20.3vw;
}
#point .point-box03 .sec-ttl {
  width: 56.2vw;
  margin: 0 auto 6vw;
}
#point .point-box03 .sec-txt {
  text-align: left;
  margin: 0 2vw;
}
#point .point-box03 .content-box {
  background-color: #FFFFFF;
  border-radius: 5vw;
  position: relative;
  padding: 8vw 6vw 6vw;
  display: flex;
  flex-direction: column;
  margin: 7vw 0 0;
}
#point .point-box03 .txt-box {display: contents;}
#point .point-box03 .photo {
  order: 2;
  margin: 0 0 6vw;
}
#point .point-box03 .txt-box .ttl {order: 1;width: 69vw;margin: 0 0 7vw;}
#point .point-box03 .txt {
 order: 3;
 font-size: 3.865vw;
 line-height: 1.75;
}
#point .point-box03 .deco {
  position: absolute;
  width: 27.6vw;
  top: -100vw;
  right: 4vw;
}
#point .point-box03 .deco img {
  width: 100%;
}
/* point-box04 */
#point .point-box04 {
  background-color: #F0E8D3;
  margin-top: 17vw;
  padding: 12vw 0 8vw;
}
#point .point-box04 .inner {
  width: min(95%, 94.3vw);
  margin-inline: auto;
}
#point .point-box04 .sec-num {
  width: 20.6vw;
}
#point .point-box04 .sec-ttl {
  width: 58vw;
  margin: 0 auto 6vw;
}
#point .point-box04 .deco {
  position: absolute;
  width: 28.3vw;
  right: 5.2vw;
  top: -9vw;
}
#point .point-box04 .deco img {
  width: 100%;
}

#point table {
  border-collapse: collapse;
  text-align: center;
  width: 100%;
  margin-inline: auto;
  margin-top: 7vw;
}
#point th {
  font-size:3.865vw;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  text-align: center;
  padding: 1vw 0 2vw;
  vertical-align: middle;
}
#point th.coop {
  color: #FFFFFF;
  background: #F19D3A;
  padding: 1vw 0 0 0vw;
  width: 21.7vw;
}
#point th.other-super {
  background: #FFCE66;
  padding: 1vw 0 0;
}
#point th.other-super.a {
  border-right: 1px solid #fff;
  padding: 2vw 0 1vw;
}
#point th.other-super.b {
  border-left: 1px solid #fff;
}
#point td.coop {
  font-size:6.28vw;
  font-weight: 700;
  line-height: 0.92307;
  letter-spacing: 0;
  color: #FE9909;
}
#point td.coop span {
  font-size:3.865vw;
  line-height: 1.5;
}
#point .coop {
  border: 2px solid #F19D3A;
}
#point .other-super {
  border: 2px solid #F8CF76;
}
#point td {
  background: #FFFFFF;
  vertical-align: middle;
}
#point td.other-super {
  font-size:4.348vw;
  font-weight: 700;
  line-height: 0.9444;
  letter-spacing: 0;
  color: #8E8E8E;
}
#point td.other-super span {
  font-size:3.382vw;
  line-height: 1.21428;
}
#point .basic {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: left;
  padding: 3vw 0 1vw 3vw;
  width: 23vw;
}
#point .basic span {
  display: inline-block;
  font-size: 2.415vw;
  line-height: 1.4;
  letter-spacing: 0;
}
#point .basic .space {
  margin: 0 0 0 3vw;
}
#point .desc {
  font-size:3.382vw;
  font-weight: 500;
  line-height: 1.5714;
  letter-spacing: 0;
  margin: 5vw 1vw 0 2.6vw;
}



/* system
-------------------------------------*/
#system {
  background: #EADDA6;
  margin: 4vw 0 0;
}
#system .system-inner {
  width: min(95%, 94.3vw);
  margin-inline: auto;
  padding: 0 0 12vw;
}
#system .system-ttl {
  top: -6vw;
  width: min(95%, 85.8vw);
  margin-inline: auto;
  position: relative;
}
#system .system-ttl img {
  width: 100%;
}
#system .system-en-ttl {
  width: min(95%, 19vw);
  margin: -5vw auto 0;
}
#system .system-en-ttl img {
  width: 100%;
}
#system .system-txt {
  font-size:4.831vw;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
  text-align: center;
  margin-top: 6vw;
}
#system .inner-box {
  position: relative;
}
#system .inner-box .age{
  position: absolute;
  width: 156.4vw;
  top: 90vw;
  left: 4vw;
  z-index: 2;
}
#system .inner-box .age02{
  position: absolute;
  width: 75vw;
  top: 90vw;
  right: 2vw;
}
#system .inner-box .age img {
  width: 100%;
}
#system .inner-box .age02 img {
  width: 100%;
}
#system .system-list {
  background: #FFFFFF;
  margin-top: 5vw;
  border-radius: 4vw;
  padding: 5vw 2vw 7.2vw;
}
#system .system-list ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 0;
  width: 250vw;
}
#system .system-list li {
  margin: 0 2vw;
  position: relative;
}
#system .system-list li:last-child {
  position: relative;
}
#system .system-list li .ttl {
  background: #FE9909;
  color: #FFFFFF;
  font-size: 6.28vw;
  line-height: 1.0769230769;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  padding: 2.6vw 0;
}
#system .system-list li .photo {
  height: 53vw;
}
#system .system-list li .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#system .system-list li .content-box {
  background: rgba(253, 153, 9, 0.1);
  padding: 5vw 0 7vw;
  height: 63vw;
}
#system .system-list li .content-box .txt {
  font-size: 3.865vw;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
}
#system .bottom-box {
  display: flex;
  justify-content: center;
  margin-top: 23vw;
  gap: 17.4vw;
  position: relative;
}
#system .bottom-box h4 {
  font-size: 3.865vw;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 700;
  position: relative;
  text-align: left;
}
#system .bottom-box h4::after {
  content: '';
  display: block;
  width: 1px;
  /* height: 13vw; */
  background: url(../images/index/vertical-line.svg) center center/contain no-repeat;
  position: absolute;
  left: 23.4vw;
  top: 50%;
  transform: translateY(-50%);
}
#system .system-list li:nth-child(3) .bottom-box {
  margin-top: 19.2vw;
}
#system .system-list li:nth-child(3) .content-box {
  padding: 10px 0 29px;
}
#system .system-list li:nth-child(3) .content-box .txt {
  text-align: left;
  padding: 0 0 0 13px;
  display: flex;
  gap: 4px;
}
#system .bottom-desc {
  margin: 3vw 1.6vw 0;
}
#system .bottom-desc img {
  width: 100%;
}
#system .bottom-desc02 {
  padding-block: 5.797vw;
  text-align: left;  
  padding-inline: 2vw;
}
#system .bottom-desc02 p span {
  font-size: 4.831vw;
  line-height: 1.6;
  font-weight: 700;
  margin-bottom: 3.865vw;
  display: block;
  text-align: center;
}
#system .bottom-desc02 p {
  font-size: 3.865vw;
  line-height: 2;
  margin-bottom: 1.932vw;  
}
#system .bottom-desc02 p.bottom {
  margin-bottom: 0;
}




/* cta02
-------------------------------------*/
#cta.cta02{
  background: url(../images/index/cta-bg02_sp.png) center center/cover no-repeat;
}
#cta.cta02 .cta-inner {
  margin-inline: auto;
  padding: 4vw 0 3.6vw;
  width: 95.5vw;
}
#cta.cta02 .cta-box {
  background: url(../images/index/cta-box-bg02_sp.png) center center/contain no-repeat;
  margin-top: 0;
  padding: 4.4vw 0 5vw;
}
#cta.cta02 .cta-subt {
  margin-bottom: 4vw;
  width: min(95%, 53.4vw);
  margin-inline: auto;
}
#cta.cta02 .cta-ttl {
  margin-bottom: 1vw;
  width: min(95%, 82.2vw);
  margin-inline: auto;
}
#cta.cta02 .btn {
  width: min(95%, 66.2vw);
  margin-inline: auto;
}
#cta.cta02  .deco02 {
  position: absolute;
  bottom: 6vw;
  left: 2.4vw;
  width: 18.4vw;
}
#cta.cta02  .deco02 img {
  width: 100%;
}
#cta.cta02  .deco03 {
  position: absolute;
  bottom: 8vw;
  right: 1vw;
  width: 15.5vw;
}
#cta.cta02  .deco03 img {
  width: 100%;
}
#cta.cta02  .cta-txt {
  width: min(95%, 68.3vw);
  margin-inline: auto;
  margin-top: 4vw;
}
#cta.cta02  .cta-txt img {
  width: 100%;
}


/* voice 
-------------------------------------*/
#voice {
  background: url(../images/index/voice-bg.png) center center/19vw repeat;
}
#voice .voice-inner {
  padding: 9vw 0 14vw;
}
#voice .voice-ttl {
  width: min(95%, 85.3vw);
  margin-inline: auto;
}
#voice .voice-ttl img {
  width: 100%;
}
#voice .voice-en-ttl {
  width: min(95%, 15vw);
  margin-inline: auto;
  margin-top: 2vw;
}
#voice .voice-en-ttl img {
  width: 100%;
}
#voice .voice-list {margin: 0vw 0 0 8vw;}
/* スライド高さを一番高いアイテムに揃える（gridのみ） */
#voice .voice-list .slick-track {
  display: grid;
  grid-auto-flow: column;
  align-items: stretch;
}
#voice .voice-list .slick-slide > * {
  height: 100%;
  width: 100%;
}
#voice .voice-list .list {
  border-radius: 8vw;
  background: #fff;
  border: 2px solid #884c32;
  padding: 8vw 0 11vw;
  position: relative;
  display: grid;
  grid-template-rows: 35vw 20vw 1fr;
  width: 79.8vw;
  margin: 13vw 2vw;
  height: 117vw;
}
#voice .voice-list .list .num {
  position: absolute;
  top: -3vw;
  left: 50%;
  transform: translateX(-50%);
  width: 28.8vw;
}
#voice .voice-list .list .num img {
  width: 100%;
}
#voice .voice-list .list .img {
  text-align: center;
  width: 23vw;
  margin: 0 auto;
}
#voice .voice-list .list .img img {
  width: 100%;
}
#voice .voice-list .list .title {
  font-size: 5vw;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  position: relative;
  margin: 0 0 2vw;
  font-feature-settings: "palt";
}
#voice .voice-list .list .title .title-line1 {
  white-space: nowrap;
  font-size: 4.6vw;
}

#voice .voice-list .list .title::after {
  content: "";
  position: absolute;
  bottom: 2.2vw;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 11.6vw);
  height: 1px;
  background: url(../images/index/dotted-line.png) center center/cover no-repeat;
}
#voice .voice-list .list .title::before {
  content: none;
}
#voice .voice-list .list .txt {
  font-size:4.348vw;
  line-height: 1.8888;
  letter-spacing: 0em;
  font-weight: 700;
  padding-inline: 5.8vw;
}
#voice .voice-list .list .txt span {
  color: #FE9909;
}
#voice .voice-list .list:nth-child(3) .img {
width: 25vw;
}
#voice .slide-arrow {
  position: absolute;
  top: 30%; /* 上下中央に配置 */
  transform: translateY(-50%); /* 縦方向の中央揃え */
  z-index: 10; /* スライドより前面に表示 */
  width: 9vw; /* ボタンのサイズ（必要に応じて調整） */
  height: 9vw; /* ボタンのサイズ（必要に応じて調整） */
  cursor: pointer;
  left: 50%;
}
#voice .prev-arrow {
  margin-left: -51vw;
}
#voice .next-arrow {
  margin-left: 29vw;
}
#voice .slider-img img {
  height: auto;
  width: 100%;
}
#voice .slide-dots {
  margin: -17vw 0 0 -15vw;
  padding: 0;
  text-align: center;
}
#voice .slide-dots li {
  display: inline-block;
  margin: 0 1vw;
}
#voice .slide-dots li button {
  position: relative;
  text-indent: -9999px;
}
#voice .slide-dots li button::before {
  background-image: url(../images/index/slide-dots.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  cursor: pointer;
  width: 4vw;
  height: 4vw;
  left: 4vw;
  margin: auto;
  position: absolute;
  right: 0;
  top: 5.2vw;
}
#voice .slide-dots li.slick-active button::before {
  background-image: url(../images/index/slide-dots-active.svg);
}
#voice button {
  background: none;
  border: none;
  outline: none;
  padding: 0 2.4vw;
}
.slick-list{
  overflow: visible;
}



/* line-up
-------------------------------------*/
#line-up {
  margin-top: 7vw;
  padding: 19vw 0 0;
  background: url(../images/index/line-up-bg_sp.png) top center/contain no-repeat;
  text-align: center;
}
#line-up .line-up-ttl {
  width: min(95%, 85.8vw);
  margin-inline: auto;
}
#line-up .line-up-ttl img {
  width: 100%;
}
#line-up .line-up-en-ttl {
  width: min(95%, 18vw);
  margin-inline: auto;
  margin-top: 2vw;
}
#line-up .line-up-en-ttl img {
  width: 100%;
}
#line-up .line-up-txt {
  font-size:4.831vw;
  line-height: 1.8;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  display: inline-block;
}
#line-up .line-up-txt.yellow-line {
  margin-top: 10.4vw;
}
#line-up .line-up-txt .orange {
  color: #FE9909;
}
#line-up .line-up-txt .large {
  font-size:7.729vw;
  line-height: 1.125;
  letter-spacing: 0em;
  font-weight: 700;
}

#line-up .line-up-photo {
  width: 100%;
  margin: 9.4vw auto 0;
}
#line-up .line-up-photoBox {
  position: relative;
  padding: 0 0 13.2vw;
}
#line-up .line-up-photoBox .line-up-txt02 {
  font-weight: bold;
  font-size:4.831vw;
  line-height: 1.8;
  text-align: center;
  position: relative;
  z-index: 2;
  padding: 3.4vw 0 0;
}
#line-up .line-up-photoBox .line-up-txt02::before {
  background: url(../images/index/line-up-txt02-bg_sp.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  position: absolute;
  content: "";
  top: -7vw;
  left: 50%;
  width: 89.4vw;
  height: 11.4vw;
  transform: translateX(-50%);
  z-index: 1;
}
#line-up .section-box-wrap {
  background: url(../images/index/line-up-bg02_sp.png);
  background-size: cover;
  padding: 14vw 0 11.2vw;
}
#line-up .section-box {
  width: min(95%, 94.3vw);
  margin-inline: auto;
}
#line-up .section-box .enttl {
  width: 87vw;
  margin-inline: auto;
}
#line-up .section-box .enttl img {
  width: 100%;
}
#line-up .section-box .subt {
  width: 52.2vw;
  margin: -6vw auto 0;
}
#line-up .section-box .subt img {
  width: 100%;
}
#line-up .section-box .ttl img {
  width: 100%;
}
#line-up .section-box .content-box {
  border-radius: 4vw;
  background: #fff;
  padding: 0 2.9vw 12vw;
  margin: 4vw auto 0;
}
#line-up .section-box01 .content-box ,
#line-up .section-box03 .content-box {
  border: 3px solid #FD9909;
}
#line-up .section-box02 .content-box ,
#line-up .section-box04 .content-box  {
  border: 3px solid #884C32;
}
#line-up .section-box h3 {
  width: 84.4vw;
  margin: -9vw 0 0 2vw;
}
#line-up .section-box .ttl img {
  width: 100%;
}
#line-up .line-up-slider {
  margin: 6vw 0 0;
}
#line-up .line-up-slider .item {
  width: 73.9vw;
  margin: 0 2vw;
}
#line-up .slide-arrow {
  position: absolute;
  top: 47%; /* 上下中央に配置 */
  transform: translateY(-50%); /* 縦方向の中央揃え */
  z-index: 10; /* スライドより前面に表示 */
  width: 37px; /* ボタンのサイズ（必要に応じて調整） */
  height: 37px; /* ボタンのサイズ（必要に応じて調整） */
  cursor: pointer;
  left: 50%;
}
#line-up .prev-arrow {
  margin-left: -39vw;
}
#line-up .next-arrow {
  margin-left: 30vw;
}
#line-up .slider-img img {
  height: auto;
  width: 100%;
}
#line-up .slide-dots {
  margin: -7vw 0 0 -6vw;
  padding: 0;
  text-align: center;
}
#line-up .slide-dots li {
  display: inline-block;
  margin: 0 1vw;
}
#line-up .slide-dots li button {
  position: relative;
  text-indent: -9999px;
}
#line-up .slide-dots li button::before {
  background-image: url(../images/index/slide-dots.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  cursor: pointer;
  width: 4vw;
  height: 4vw;
  left: 4vw;
  margin: auto;
  position: absolute;
  right: 0;
  top: 5.2vw;
}
#line-up .slide-dots li.slick-active button::before {
  background-image: url(../images/index/slide-dots-active.svg);
}
#line-up button {
  background: none;
  border: none;
  outline: none;
  padding: 0 2.4vw;
}
/* section-box02 */
#line-up .section-box02 {
  margin: 10.6vw auto 0;
  padding: 1vw 0 4vw;
}
#line-up .section-box02 .ttl {
  margin: -4.4vw 0 0 17vw;
  width: 57.3vw;
}
#line-up .section-box02 .content-box {
  padding: 8.2vw 0 8.4vw;
  margin: 6vw auto 0;
}
#line-up .section-box02 .txt {
  font-size:3.865vw;
  font-weight: 700;
  line-height: 1.875;
  letter-spacing: 0;
  margin-top: 4.2vw;
}
#line-up .section-box02 .photo {
  margin: 1.6vw auto 0;
  width: 82.2vw;
}
/* section-box03 */
#line-up .section-box03 {
  margin: 6.6vw auto 0;
  padding: 1vw 0 6vw;
}
#line-up .section-box03 .ttl {
  margin: 0.6vw auto 0;
  width: 80vw;
}
#line-up .section-box03 .content-box {
  margin: 6vw auto 0;
  padding: 9vw 0vw 8vw;
}
#line-up .section-box03 .inner-box01 {
  width: min(95%, 82.4vw);
  margin-inline: auto;
  background: #FEF3E4;
  padding: 7.4vw 0vw 10vw;
  display: flex;
  flex-direction: column;
  position: relative;
}
#line-up .section-box03 .inner-box01::before,
#line-up .section-box03 .inner-box01::after {
  content: "";
  position: absolute;
  top: -1vw;
  width: 6.1vw;
  height: 6.1vw;
}
#line-up .section-box03 .inner-box01::before {
  background: url(../images/index/line-up03-deco-l.svg);
  left: 0vw;
  background-repeat: no-repeat;
  background-size: contain;
}
#line-up .section-box03 .inner-box01::after {
  background: url(../images/index/line-up03-deco-r.svg);
  right: 0vw;
  background-size: contain;
  background-repeat: no-repeat;
}
#line-up .section-box03 .inner-box01 .photo {
  width: 72.6vw;
  margin-inline: auto;
  margin-bottom: 4vw;
  order: 3;
}
#line-up .section-box03 .inner-box01 .txt-box {
  display: contents;
}
#line-up .section-box03 .inner-box01 .txt-box .subt {
  background-color: #884C32;
  color: #FFFFFF;
  font-size:3.865vw;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
  margin: 0 35.4vw 1.4vw 5.4vw;
  display: inline-block;
  padding: 0.2vw 1.48vw 0;
  order: 1;
  width: 41.8vw;
}
#line-up .section-box03 .inner-box01 .txt-box .ttl {
  font-size:5.556vw;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  font-weight: 700;
  color: #884C32;
  margin: 0 0 4.2vw 5.4vw;
  text-align: left;
  order: 2;
}
#line-up .section-box03 .inner-box01 .txt-box .list {
  display: flex;
  flex-direction: column;
  gap: 6.4vw;
  padding: 0 5.8vw 0 14.5vw;
  order: 4;
}
#line-up .section-box03 .inner-box01 .txt-box .list li {
  font-size:3.865vw;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 500;
  position: relative;
  text-align: left;
}
#line-up .section-box03 .inner-box01 .txt-box .list li::before {
  content: "";
  position: absolute;
  top: 1vw;
  left: -9.2vw;
  width: 6.4vw;
  height: 6.4vw;
  background: url(../images/index/tomato-icon.png) center center/contain no-repeat;
}
#line-up .section-box03 .inner-box01 .txt-box .list li::after {
  content: "";
  position: absolute;
  bottom: -2.4vw;
  left: -9vw;
  width: 72.2vw;
  height: 1px;
  background: url(../images/index/dotted-line03.png);
}
#line-up .section-box03 .inner-box02 {
  width: 89.4vw;
  margin-inline: auto;
  margin-top: 5vw;
  position: relative;
}
#line-up .section-box03 .inner-box02 .img {
  margin: 0 0vw 5vw;
}
/* section-box04 */
#line-up .section-box04 {
  margin: 5.6vw auto 0;
  padding: 1vw 0 7vw;
}
#line-up .section-box04 .content-box {
  margin: 6vw auto 0;
  padding: 8vw 0vw 5vw;
}
#line-up .section-box04 h3 {
  margin: 0.6vw auto 0;
  width: 77.3vw;
}
#line-up .section-box04 .inner-box {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 0 2vw;
  margin: 1vw 5.3vw 0;
  text-align: left;
}
#line-up .section-box04 .inner-box .box {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 9;
  margin: 0;
}
#line-up .section-box04 .inner-box .photo-box {
  position: relative;
  margin-bottom: 3vw;
}
#line-up .section-box04 .inner-box .fukidashi {
  position: absolute;
  bottom:0;
  left: 0;
  width: 45.2vw;
}
#line-up .section-box04 .inner-box .fukidashi img {
  width: 100%;
}
#line-up .section-box04 .inner-box .txt {
  font-size:3.865vw;
  line-height: 1.9375;
  letter-spacing: 0em;
  font-weight: 700;
}
#line-up .section-box04 .inner-box .subt {
  margin: 5vw 0 0;
  width: 100%;
}
#line-up .section-box04 .inner-box .photo-box02 {
  display: grid;
  position: relative;
  margin: 4vw 0 5.4vw;
  grid-template-columns: 49.29% 39.82%;
  gap: 9vw;
}
#line-up .section-box04 .inner-box .photo-box02 .txt {
  line-height: 1.75;
}
#line-up .section-box04 .inner-box .photo-box02 .txt span {
  color: #884C32;
}
#line-up .section-box04 .inner-box .bottom-box {
  display: grid;
  margin: 12.2vw 0 0.6vw;
  grid-template-columns: 49.9% 47.06%;
  gap: 4vw;
  position: relative;
  padding: 0 0 3.4vw;
}
#line-up .section-box04 .inner-box .bottom-box .txt {
  font-size:3.382vw;
  line-height: 1.71428;
  letter-spacing: 0em;
  font-weight: 500;
}
#line-up .section-box04 .inner-box .bottom-box .photo-box {
  margin: 0 0 0;
}
#line-up .section-box04 .inner-box .bottom-box .photo-box .photo{margin: 1vw 0 0;}
#line-up .section-box04 .inner-box .subt02 {
  font-size: 3.865vw;
  line-height: 1.8888888889;
  letter-spacing: 0em;
  font-weight: 700;
  color: #FFFFFF;
  background: #884C32;
  padding: 0 0 0 12.2vw;
  line-height: 2;
  margin: 0 0 0vw;
}
#line-up .section-box04 .inner-box .subt02 span {
  color: #FFF62D;
}
#line-up .section-box04 .inner-box h5 {
  margin: 5vw auto 2vw;
}
#line-up .section-box04 .inner-box .txt-box {
}
#line-up .section-box04 .inner-box .subt03 {
  text-align: center;
  position: absolute;
  top: -12.2vw;
  width: 100%;
  left: -1vw;
}
#line-up .section-box04 .inner-box .name {
  position: absolute;
  bottom: 0;
  left: 0;
}
#line-up .section-box04 .inner-box .original .photo-box02 .photo {
  width: 38vw;
  right: 0vw;
  position: absolute;
}
#line-up .section-box04 .inner-box .original .photo img {
  width: 100%;
}
#line-up .section-box04 .inner-box .kodawari {
  margin-top: 9vw;
}
#line-up .section-box04 .inner-box .kodawari .photo-box02 {grid-template-columns: 43.14% 52.8%;gap: 2vw;align-items: center;}
#line-up .section-box04 .inner-box .kodawari .subt {
  margin: 5vw 0 0;
}
#line-up .section-box04 .inner-box .kodawari .subt02 {
  text-align: center;
  padding: 0 1vw;
}
#line-up .section-box04 .inner-box .kodawari .photo-box02 .photo {
  margin: -3vw -1vw 0 0;
}
#line-up .section-box04 .inner-box .kodawari .bottom-box {
  margin: 13.8vw 0 0;
  grid-template-columns: 49.9% 46.06%;
  gap: 4vw;
  }
#line-up .section-box04 .kodawari .fukidashi {
  width: 42.3vw;
}
#line-up .section-box04 .inner-box .kodawari h5 {
  margin: 4vw auto 5vw;
}
#line-up .section-box04 .inner-box .kodawari .subt03 {
  top: -14.2vw;
}
#line-up .section-box04 .inner-box .kodawari .name {
  bottom: 2vw;
}


/* otoku
-------------------------------------*/
#otoku {
  background: url(../images/index/otoku-bg_sp.png) center center/cover no-repeat;
}
#otoku .otoku-inner {
  padding: 16vw 0 14vw;
}
#otoku .otoku-ttl {
  width: min(95%, 85.8vw);
  margin-inline: auto;
}
#otoku .otoku-ttl img {
  width: 100%;
}
#otoku .inner-box {
  width: min(95%, 94.3vw);
  margin-inline: auto;
  position: relative;
  background: #FFFFFF;
  border-radius: 5vw;
  padding: 15vw 2.4vw 9.8vw;
  margin-top: -2vw;
}
#otoku .otoku-subt {
  position: absolute;
  top: -8vw;
  left: 50%;
  transform: translateX(-50%);
  width: 89.4vw;
}
#otoku .otoku-subt img {
  width: 100%;
}
#otoku .list {
  display: flex;
  flex-direction: column;
  gap: 5vw;
}
#otoku .list li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 6;
  border: 0.8vw solid #884C32;
  border-radius: 5vw;
  padding: 0 0 6.8vw;
}
#otoku .list li h3 {
  background: rgba(253, 153, 9, 0.2);
  font-size:3.865vw;
  line-height: 1.2;
  letter-spacing: 0em;
  font-weight: 700;
  color: #884C32;
  display: flex;
  gap: 1vw;
  align-items: baseline;
  justify-content: center;
  padding: 2vw 0 3vw;
  border-radius: 5vw 6vw 0 0;
  margin: 0 0 1vw;
}
#otoku .list li h3 span {
  font-size:6.522vw;
  letter-spacing: 0em;
  font-weight: 700;
}
#otoku .list li .photo {
  text-align: center;
  margin: 3.2vw auto 4vw;
  width: 72.5vw;
}
#otoku .list li .txt01 {
  font-size:4.348vw;
  line-height: 1.9444444444;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  margin: 0 0 2vw;
  position: relative;
  display: inline-block;
}
#otoku .list li .txt01 .dotted-line {
  border-bottom: 1px dotted #343434;
  padding: 0 0 0.6vw;
  display: inline-block;
}
#otoku .list li .txt01 .color-orange {
  font-size:7.246vw;
  line-height: 1.1666666667;
  letter-spacing: 0em;
  font-weight: 700;
  color: #FE9909;
}
#otoku .list li h4 {
  text-align: center;
  margin: 0 0 3vw;
}
#otoku .list li .txt02 {
  font-size:4.348vw;
  line-height: 1.66666;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
}
#otoku .list li .txt02 span {
  font-size:5.797vw;
  line-height: 1.4583333333;
  letter-spacing: 0em;
  font-weight: 700;
  color: #FE9909;
}
#otoku .list li .desc {
  font-size:3.865vw;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 500;
  color: #555555;
  text-align: center;
}
/* list02 */
#otoku .list li:nth-child(2) {
  padding: 0 0 5vw;
}
#otoku .list li:nth-child(2) .txt02 {
  font-size:4.348vw;
  text-align: left;
  margin: 0 4vw;
  line-height: 1.7777;
  font-weight: 700;
  letter-spacing: 0;
  margin: 1vw 4.7vw 0vw;
}
/* list03 */ 
#otoku .list li:nth-child(3) {
  padding: 0 0 9vw;
}
#otoku .list li:nth-child(3) .txt01 .dotted-line {
  padding: 0 6.4vw;
}


/* delivery
-------------------------------------*/
#delivery {
  background: url(../images/index/delivery-bg_sp.png) center center/cover no-repeat;
}
#delivery .delivery-inner {
  width: min(95%, 94.3vw);
  margin-inline: auto;
  padding: 10vw 0 10vw;
}
#delivery .delivery-ttl {
  width: min(95%, 85.3vw);
  margin-inline: auto;
}
#delivery .delivery-ttl img {
  width: 100%;
}
#delivery .delivery-en-ttl {
  width: min(95%, 21.2vw);
  margin-inline: auto;
  margin-top: 2.2vw;
}
#delivery .delivery-en-ttl img {
  width: 100%;
}
#delivery .delivery-subt {
  background: #884C32;
  color: #FFFFFF;
  border-radius: 14vw;
  font-size:4.831vw;
  line-height: 1.35;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  margin-top: 10.2vw;
  padding: 3.2vw 0;
}
#delivery .delivery-subt span {
  color: #FFF11F;
  letter-spacing: 0.1em;
  margin: 0 0 0 4vw;
}
#delivery .inner-box {
  display: flex;
  flex-direction: column;
  gap: 6vw;
  margin-top: 9vw;
}
#delivery .flow-item {
  background: #FCFAF1;
  padding: 6vw 8.4vw 4vw 9vw;
}
#delivery .flow-item h4 {
  font-size:4.348vw;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
}
#delivery .flow-item .item {
  display: flex;
  flex-direction: column;
  gap: 4.6vw;
  margin: 3.8vw 0 0;
  padding: 0 0.8vw 0 0vw;
}
#delivery .flow-item .item li {
  background: #FFFFFF;
  border: 1px solid #884C32;
  display: grid;
  grid-template-columns: 33.01% 66.98%;
  border-radius: 2vw;
  position: relative;
  background: #884C32;
}
#delivery .flow-item .item li:not(:last-child)::after  {
  position: absolute;
  bottom: -3vw;
  left: 50%;
  transform: translateX(-50%);
  background: url(../images/index/flow-arrow.svg) center center/contain no-repeat;
  width: 4.2vw;
  height: 2vw;
  content: "";
}
#delivery .flow-item .item li h5 {
  background: #7B442D;
  color: #FFFFFF;
  border-radius: 2vw 0 0 2vw;
  font-size:4.831vw;
  line-height: 1.4;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  padding: 2vw 0 2vw;
}
#delivery .flow-item .item li .txt {
  font-size:4.348vw;
  line-height: 1.5555555556;
  letter-spacing: 0em;
  font-weight: 700;
  border-radius: 0 2vw 2vw 0;
  padding: 2.8vw 4vw 1.9vw;
  background: #FFFFFF;
}
#delivery .flow-item .desc {
  font-size:3.865vw;
  line-height: 1.6;
  letter-spacing: 0em;
  font-weight: 500;
  margin: 4vw 0 0 0vw;
}
#delivery .delivery-txt {text-align: center;margin-top: 8vw;}


/* faq
-------------------------------------*/
#faq {
  background: #EADDA6;
  padding: 0 0 10vw 0;
}
#faq .faq-inner {
  width: min(95%, 89.4vw);
  margin-inline: auto;
  padding: 9vw 0 7vw;
}
#faq .faq-ttl {
  width: min(95%, 72.8vw);
  margin-inline: auto;
}
#faq .faq-ttl img {
  width: 100%;
}
#faq .faq-en-ttl {
  width: min(95%, 11vw);
  margin-inline: auto;
  margin-top: 2vw;
}
#faq .faq-en-ttl img {
  width: 100%;
}
#faq .faq-box {
  margin: 7vw 0 0;
  background: #FFFFFF;
  padding: 7.4vw 3.6vw 0.4vw;
}
#faq .option {
  position: relative;
  margin: 0 0 5vw;
  background: #F0E8D3;
  border-radius: 2vw;
  border: 2px solid #F0E8D3;
}
#faq .option::before {
  content: "";
  position: absolute;
  top: 4.4vw;
  left: 3.6vw;
  background-image: url(../images/index/faq-q.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 6.1vw;
  height: 7vw;
  z-index: 1;
}
#faq .toggle {
  display: none;
}
#faq .title,
#faq .content {
  color: #333333;
  font-size:4.348vw;
  font-weight: 700;
  line-height: 1.6666;
  letter-spacing: 0.02em;
  -webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateZ(0); transition: all 0.3s; 
}
#faq .title {
  background-color: #F0E8D3;
  padding: 4vw 14vw 5vw;
  display: flex;
  gap: 2vw;
  align-items: center;
}
#faq .title img {
  vertical-align: top;
  width: 4vw;
  margin: 2vw 0 0;
}
#faq .title::after, .title::before {
  content: "";
  position: absolute;
  right: 9vw;
  top: 40%;
  width: 0.6vw;
  height: 4.9vw;
  background-color: #707070;
  transition: all 0.3s;
}
#faq .title::after {
  transform: rotate(90deg);
}
#faq .content {
  background-color: #FFFFFF;
  overflow: hidden;
  max-height: 0;
}
#faq .content p {
  color: #262626;
  font-size:3.623vw;
  font-weight: 500;
  line-height: 1.6666;
  letter-spacing: 0.04em;
  margin: 0;
  padding: 5vw 3vw 4vw 13vw;
  display: flex;
  align-items: flex-start;
  gap: 2vw;
  position: relative;
}
#faq .content p::before {
  content: "";
  position: absolute;
  top: 5vw;
  left: 4vw;
  background-image: url(../images/index/faq-a.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 6.4vw;
  height: 5.4vw;
}
#faq .toggle:checked + .title + .content {
  max-height: 160vw;
  transition: all 1.5s;
}
#faq .toggle:checked + .title::before {
  transform: rotate(90deg) !important;
}

/* instagram
-------------------------------------*/
#instagram {

}

#instagram .inner_instagram {
  padding-block: 24.155vw; 
}

#instagram .instagram_ttl {
  text-align: center;
  margin-bottom: 7.005vw;
}

#instagram .instagram_en {
  text-align: center;
  margin-bottom: 19.807vw;
}

#instagram .instagram_items {
  margin-bottom: 12.077vw;
}

#instagram .instagram_item {
  display: grid;
}

#instagram .modal__open-btn {
  display: block;
  background-color: #fff;
  border-radius: 2.415vw;
  border: 2px solid #343434;
  box-shadow: 10px 10px 0px #888888 !important;
  padding: 3.865vw;
  margin-bottom: 9.662vw;
}

#instagram .modal__open-btn:hover {
  box-shadow: unset;
  transform: translate(4px,4px);
}

#instagram .modal__open-btn .img {
  margin-bottom: 6.28vw;
}

#instagram .modal__open-btn .img img {
  width: 100%;
  height: 113.527vw;
  object-fit: cover;   
}

#instagram .modal__open-btn .txt {
  font-size: 3.865vw;
  line-height: 1.6;
  letter-spacing: 0.04em;
  font-weight: 500;
  text-align: left;
  color: #262626;
}

#instagram .slick-track {
  display: flex;
  margin-bottom: 14.493vw;
}

#instagram .slick-slide {
  height: auto !important;
}

#instagram .slick-slider .slick-list {

}

#instagram .slick-list {
  overflow: visible;
}

#instagram .instagram_link {
  text-align: center;
  width: min(95%, 94.2vw);
  margin-inline: auto;
}

#instagram .instagram_link a {
  display: block;
}

/* dotsを丸くカスタマイズするCSS */
#instagram .dots-wrap {
  display: flex;
  justify-content: center;
}

#instagram .dots-wrap li {
  width: 4.106vw;
  height: 4.106vw;
  margin: 0 3.623vw;
  background: #E0E0E0;
  border-radius: 50%;
  cursor: pointer;
}

#instagram .dots-wrap li:hover,
#instagram .dots-wrap li.slick-active {
  background: #FE9909;
}

#instagram .dots-wrap li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}

/* 初期設定 */
#instagram button {
  background: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
}

:where(dialog) {
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  padding: unset;
  color: unset;
  background-color: unset;
  border: unset;
  overflow: unset;
}

body:has(dialog[open]) {
  overflow: hidden;
}

/* モーダルのスタイル ============ */
#instagram dialog::backdrop {
  opacity: 0;
  transition: background 0.3s ease-in-out;
}

#instagram dialog.js-show.modal__content {
  opacity: 1;
}

#instagram dialog.js-show.modal__content::backdrop {
  opacity: 1;
  background: rgba(52, 52, 52, 0.7);
  backdrop-filter: blur(6px);
}

#instagram .modal__open-btn {
  margin-inline: 3.865vw;
}

#instagram .modal__content {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  /* モーダル枠組みのスタイル */
  width: min(400px, 95%);
  max-height: 80vh;
  background: #fff;
  border-radius: 0 0 4.831vw 4.831vw;
} 

#instagram .modal__inner {
  overflow-y: scroll;
  height: 100%;
}

#instagram .modal__body {
  height: fit-content;
  overflow: hidden;
} 

#instagram .modal__content {

}

#instagram .modal__close-btn {
  position: absolute;
  z-index: 2;
  top: -16.425vw;
  right: 0px;
}

#instagram .modal__close-btn img {
  width: 9.662vw;
  height: auto;
}

#instagram .modal__inner {


}

#instagram .modal__body {
  padding-block: 0 9.662vw;  
  color: #000;
}

#instagram .modal__body .img {
  /* margin-bottom: -32vw; */
}

#instagram .modal__body .img img {
  width: auto;
  height: 480px !important;
  object-fit: contain;  
  object-position: top;
}

#instagram .modal__body .img .video {
    width: auto;
    height: 480px !important;
    object-fit: contain;  
    object-position: top;
    margin-bottom: 0;
}

#instagram .modal__body .video {
  margin-bottom: 4.348vw;
}

#instagram .modal__body .video video {
  width: 100%;
  height: 150.928vw;
  object-fit: cover;   
}

#instagram .modal__body .icon {
  text-align: center;
  margin-bottom: 5.072vw;
  width: 86.957vw;
  margin-inline: auto;
}

#instagram .modal__body .good {
  font-size: 4.106vw;
  line-height: 1.6;
  letter-spacing: 0.04em;
  font-weight: 700;
  margin-bottom: 4.831vw;
  width: 86.957vw;
  margin-inline: auto;
}

#instagram .modal__body .date {
  font-size: 3.382vw;
  line-height: 1.6;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #737373;
  margin-bottom: 6.522vw;
  width: 86.957vw;
  margin-inline: auto;
}

#instagram .modal__body .txt {
  font-size: 3.382vw;
  line-height: 1.6;
  letter-spacing: 0.04em;
  font-weight: 700;
  width: 86.957vw;
  margin-inline: auto;
}

#instagram .prev-arrow {
  position: absolute;
  left: calc(50% - 50vw);
  top: 40%;
  z-index: 11;
  width: 14.493vw;
  height: auto;
}

#instagram .next-arrow {
  position: absolute;
  left: calc(50% + 35.749vw);
  top: 40%;
  z-index: 11;
  width: 14.493vw;
  height: auto;
}

#instagram .modal__body .img img.modal-arrow.next-arrow {
  position: absolute;
  right: 0vw;
  top: 36%;
  z-index: 11;
  width: 30px !important;
  height: auto !important;
}

#instagram .modal__body .img img.modal-arrow.prev-arrow {
  z-index: -1;
  width: 10px;
  height: auto !important;
}


/* more
-------------------------------------*/
#more .more-inner {
  padding: 10vw 0 28vw;
}
#more .more-subt {
  width: min(95%, 20.1vw);
  margin-inline: auto;
}
#more .more-subt img {
  width: 100%;
}
#more .more-ttl {
  width: 96vw;
  margin-inline: auto;
  margin-top: 2vw;
  position: relative;
  z-index: 2;
}
#more .more-ttl img {
  width: 100%;
}
#more .more-box {
  background: #F0E8D3;
  margin-top: -28vw;
  position: relative;
}
#more .more-box .inner {
  padding: 19.6vw 2vw 21vw;
  display: flex;
  flex-direction: column-reverse;
}
#more .more-box .txt-box {
  margin: -5vw 0 0;
}
#more .more-box .upper {
  display: grid;
  grid-template-columns: 31.47% 66.82%;
  gap: 1vw;
  align-items: center;
  margin: 0 0 0 2vw;
}
#more .more-box .txt {
  margin: 4vw 0 0 0;
}
#more .more-box .subt {
  background: #EA3D44;
  color: #FFFFFF;
  font-size:5.314vw;
  line-height: 1.2727272727;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  width: 94.3vw;
  padding: 1.4vw 0;
  margin: -0.8vw auto 0;
  position: relative;
}
#more .more-box .bottom {
  display: grid;
  grid-template-columns: 27.04% 76.34%;
  gap: 4vw;
  margin: 6vw 3vw 0;
  align-items: center;
}
#more .more-box .bottom .price img {
  width: 62.6vw;
}
#more .more-box .txt03 {
  font-size:3.865vw;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 700;
  color: #EA3D44;
  text-align: center;
  grid-column: 1 / -1;
  margin: 0 0 0 -6vw;
}
#more .more-box .btn {
  width: 100.3vw;
  margin-inline: auto;
  position: absolute;
  bottom: -13vw;
  left: 50%;
  transform: translateX(-50%);
}
#more .more-box .btn img {
  width: 100%;
}
#more .more-box .photo {
  margin: 2vw 0.5vw 0;
}





}