@charset "UTF-8";

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



@media screen and (min-width: 768px), print {
/* mv
-------------------------------------*/
.mv {
  position: relative;
}
.mv .inner {
  display: grid;
  grid-template-columns: 35.76% 63.29%;
  gap: 69px;
  margin: 0 0 0 100px;
}
.mv .ttl-box {
  margin: 124px 0 0;
}
.mv .ttl-box h1 {
  margin: 0 0 38px 18px;
}
.mv .ttl-box h1 img {
  width: 556px;
}
.mv .ttl-box h1 span {
  font-size: 32px;
  line-height: 1.4375;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin: 0 0 41px -8px;
  display: block;
}
.mv .subt {
  margin: 0 0 56px 10px;
}
.mv .subt li {
  font-size: 20px;
  line-height: 1.9;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: flex;
  gap: 10px;
}
.mv .subt li span {
  color: #927D25;
}
.mv .btn01 {
  position: relative;
  z-index: 2;
  width: 560px;
  margin: 0 0 28px;
}
.mv .btn01::after {
  content: "";
  position: absolute;
  width: 600px;
  height: 160px;
  top: 15%;
  left: 50%;
  background-image: url(../images/index/btn-shadow_sp.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateX(-50%);
  z-index: 1;
}
.mv .btn01 a {
  display: block;
  z-index: 3;
  position: relative;
}
.mv .btn01 img{
  width: 100%;
}
.mv .flow-btn {
  z-index: 5;
  position: relative;
}
.mv .flow-btn img {
  width: 320px;
}
.mv .btn02 {
  position: absolute;
  bottom: -127px;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
}
.mv .btn02 img {
  width: 100%;
}


/* worries
-------------------------------------*/
.worries {
  background: #F6F6F6;
  padding: 157px 0 316px;
}
.worries .inner {
  width: min(95%, 1280px);
  margin-inline: auto;
}
.worries h2 {
  text-align: center;
}
.worries h2 img {
  margin: 0 8px 0 0;
}
.worries .list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
  margin-top: -42px;
}
.worries .list li {
  border-radius: 20px;
  background: #fff;
  border: 2px solid #eae6dc;
  padding: 50px 0;
  text-align: center;
  max-height: 406px;
}
.worries .list li:nth-child(2) {
  position: relative;
  top: 107px;
}
.worries .list li h3 {
  font-size: 22px;
  line-height: 1.2727272727;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  border-bottom: 2px solid #464541;
  margin-bottom: 24px;
  display: inline-block;
  padding: 0 0 2px;
}
.worries .list li .img {
  margin-bottom: 16px;
}
.worries .list li .txt {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.05em;
  font-weight: 500;
  text-align: center;
}

/* easily
-------------------------------------*/
.easily {
  position: relative;
  padding: 0 0 300px;
}
.easily h2 {
  width: min(95%, 1200px);
  margin: 0 auto;
  text-align: center;
  background: #FFFFFF;
  padding: 112px 0 0;
  margin-top: -129px;
  position: relative;
}
.easily h2::before {
  content: "";
  position: absolute;
  width: 200px;
  height: 60px;
  background-image: url(../images/index/easily-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
}
.easily h2 img {
  margin: 0 14px 0 0;
}
.easily .img-box{position: absolute;z-index: 1;top: 342px;overflow: hidden;}
.easily .img-box .loop {overflow: hidden;}
.easily .img-box .loop__box {display: flex;width: 100vw}
.easily .img-box .loop__box img {min-width: 130.3vw;}
.easily .img-box .loop__box img:first-child {animation: loop 50s -25s linear infinite;}
.easily .img-box .loop__box img:last-child {animation: loop2 50s linear infinite;}


/* charm
-------------------------------------*/
.charm {
  background: #F9F9F9;
}
.charm .inner {
  padding: 238px 0 164px;
}
.charm .inner h2 {
  text-align: center;
}
.charm .list {
  margin-top: 70px;
  display: flex;
  flex-direction: column;
  gap: 81px;
}
.charm .list li {
  background: #FFFFFF;
  border-radius: 20px;
  padding: 77px 90px;
  display: grid;
  grid-template-columns: 36.6% 39.5%;
  gap: 60px;
  width: 1600px;
  margin-left: auto;
}
.charm .list li:nth-child(even) {
  margin-right: auto;
  margin-left: 0;
  grid-template-columns: 39.5% 36.7%;
  gap: 108px;
  justify-content: flex-end;
}
.charm .list li:nth-child(4) {
  grid-template-columns: 39.5% 36.7%;
  gap: 59px;
}
.charm .list li .num {
  margin-bottom: 29px;
}
.charm .list li:nth-child(even) .num img {
  margin: 0 0px 0 3px;
}
.charm .list li:nth-child(5) .num img {
  width: 80px;
  height: 16px;
}
.charm .list li h3 {
  font-size: 48px;
  line-height: 1.4166666667;
  letter-spacing: 0.04em;
  font-weight: 700;
  margin-bottom: 36px;
}
.charm .list li h3 span {
  color: #EA6182;
}
.charm .list li .txt {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.charm .list li .txt02 {
  margin: 33px 0 0;
}
.charm .list li .photo {
  margin: 5px 0 0;
}

/* service
-------------------------------------*/
.service {
  background: #EAE6DC;
  position: relative;
}
.service .inner {
  position: relative;
  z-index: 2;
  padding: 159px 0 57px;
}
.service .list {
  background: #F6F6F6;
  border-radius: 20px;
  padding: 74px 80px 10px;
  margin-bottom: 60px;
}
.service .list h3 {
  margin-bottom: 36px;
}
.service .list h3 img {}
.service .service-layout {
  display: flex;
  align-items: flex-start;
  border-radius: 40px 0 0 40px;
  width: 1600px;
  margin-left: auto;
}
.service .service-title {
  position: sticky;
  top: 0; 
  z-index: 1;
  transform: translateX(-161px);
}
.service .service-content {
  width: 1040px;
  margin: 241px 0 0 -100px;
}
.service .service-bg {
  /* width: 1600px;
  height: 2352px; */
  width: 83.334%;
  height: 75.17%;
  background: #FFFFFF;
  border-radius: 40px 0 0 40px;
  position: absolute;
  top: 8.9%;
  right: 0;
}
/* list01 */
.service .list .item {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
  background: #FFFFFF;
  margin-bottom: 38px;
  border-radius: 20px;
  padding: 30px 60px 35px;
}
.service .list .item h4 {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-bottom: 16px;
  text-align: center;
}
.service .list .item h4 span {
  color: #EA6182;
  font-weight: 700;
}
.service .list .item .photo-box {
  position: relative;
  margin: 0 0 22px;
}
.service .list .item .photo-box .label {
  position: absolute;
  bottom: -20px;
  left: 20px;
  width: 80px;
}
.service .list .item .photo-box .label img {
  width: 100%;
}
.service .list .item .txt {
  font-size: 24px;
  letter-spacing: 0.04em;
  font-weight: 700;
  margin: 0 0 0 20px;
}
.service .list .item .txt .c-pink {
  font-size: 32px;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #EA6182;
  margin: 0 0 0 5px;
}
.service .list .item .txt .f-small {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 500;
}
.service .btn01 {
  text-align: center;
}


/* list02 */
.service .list02 {
  padding: 74px 100px 10px;
}
.service .list02 .inBox {
  border-radius: 20px;
  background: #fff;
  padding: 54px 40px 47px;
  display: flex;
  gap: 17px;
  position: relative;
  margin-bottom: 38px;
}
.service .list02 .inBox h4 {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin-bottom: 12px;
  text-align: center;
}
.service .list02 .inBox h4 span {
  font-weight: bold;
  font-size: 26px;
  letter-spacing: 0.05em;
  line-height: 1.76923;
  color: #ea6182;
}
.service .list02 .inBox .txt-box {
  position: relative;
}
.service .list02 .inBox .txt-box .deco {
  position: absolute;
  top: 47px;
  right: -34px;
  width: 69px;
}
.service .list02 .inBox .deco img {
  width: 100%;
}
.service .list02 .inBox .txt {
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 2.3333;
  text-align: center;
}
.service .list02 .inBox .photo {
  position: absolute;
  right: -45px;
  top: -9px;
  width: 361px;
}
.service .list02 .inBox .photo img {
  width: 100%;
}
.service .btn02 {
  text-align: center;
}

/* service03 */
.service .list03 {
  position: relative;
  padding: 98px 100px 10px;
}
.service .list03 .fukidashi {
  position: absolute;
  top: -41px;
  left: 50%;
  transform: translateX(-50%);
  width: 108px;
}
.service .list03 .fukidashi img {
  width: 100%;
}
.service .list03 .inBox {
  display: flex;
  gap: 8px;
  margin-bottom: 25px;
}
.service .list03 .inBox .txt {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin-bottom: 18px;
}
.service .list03 .inBox .more-box {
  background: #fff;
  border: 1px solid #ffcd00;
  padding: 26px 30px 22px;
  position: relative;
  width: 460px;
}
.service .list03 .inBox .more-box .txt {
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 1.5555;
  margin: 0;
}
.service .list03 .inBox .more-box .txt span {
  color: #EA6182;
}
.service .list03 .inBox .more-box .photo02 {
  position: absolute;
  top: -10px;
  right: -31px;
  width: 204px;
}
.service .list03 .inBox .more-box .photo02 img {
  width: 100%;
}
.service .list03 .inBox .photo {
  margin: 5px 0 0;
}
.service .btn03 {
  text-align: center;
}
.service .service-bnr {width: min(95%, 1000px);margin-inline: auto;margin-top: 72px;}

/* voice
-------------------------------------*/
.voice-slider, .voice-slider02 {
  touch-action: pan-y;
}
.voice {
  background: #EAE6DC;
  padding: 117px 0 224px;
  overflow: hidden;
}
.voice .enttl {
  text-align: center;
  margin: 0 0 48px;
}
.voice .ttl {
  text-align: center;
  margin: 0 0 72px;
}

.voice .swiper-container .swiper-wrapper{transition-timing-function: linear !important;}

.swiper-slide{width: 480px !important;margin: 0 40px 70px 0;}
.swiper-wrapper .slider-item{
  width: 480px;
  height: 486px;
  border-radius: 20px;
  background: #fff;
  padding: 40px 40px 60px;
  position: relative;
}
.swiper-wrapper .slider-item .name{
  padding: 14px 19px;
  border-radius: 20px;
  background: #fff;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
}
.swiper-wrapper .slider-item .photo {
  margin-bottom: 17px;
}
.swiper-wrapper .slider-item h3{
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 1.7777;
  margin-bottom: 9px;
}
.swiper-wrapper .slider-item .txt{
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.875;
}

/* catalog
-------------------------------------*/
.catalog {

}
.catalog .inner {
  padding: 100px 0 120px;
  width: min(95%, 1400px);
  margin-inline: auto;
  position: relative;
}
.catalog .inner h2 {
  text-align: center;
  margin-bottom: 35px;
}
.catalog .inner h2 img {
  margin: 0 11px 0 0;
}
.catalog .catalog-slider {
  border-radius: 20px;
  background: #fff;
  box-shadow: 10px 10px 20px rgba(40, 40, 38, 0.14);
  padding: 40px 70px 87px;
}
.catalog .catalog-slider .item {
  width: 460px;
  margin: 0 20px;
}
.catalog .inner .deco01 {
  position: absolute;
  top: 142px;
  left: 120px;
  width: 275px;
}
.catalog .inner .deco01 img {
  width: 100%;
}
.catalog .inner .deco02 {
  position: absolute;
  top: 142px;
  right: 149px;
  width: 249px;
}
.catalog .inner .deco02 img {
  width: 100%;
}
/* slide */
.slide-arrow {
  position: absolute;
  top: 48.2%; /* 上下中央に配置 */
  transform: translateY(-50%); /* 縦方向の中央揃え */
  z-index: 10; /* スライドより前面に表示 */
  width: 80px; /* ボタンのサイズ（必要に応じて調整） */
  height: 80px; /* ボタンのサイズ（必要に応じて調整） */
  cursor: pointer;
  left: 50%;
}
.prev-arrow {
  margin-left: -670px;
}
.next-arrow {
  margin-left: 590px;
}
.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 10px;
}
.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: 20px;
  height: 20px;
  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;
}

/* area
-------------------------------------*/
.area-box{background-color:#F2F2F2; width: 100%;}
.area-box .area-box-frame{
  width: min(95%, 1100px);
  margin-inline: auto;
  position: relative;
  padding: 166px 0 153px;
}
.area-box .area-box-frame .enttl{margin: -12px 0 23px 0;position: relative;z-index: 10;}
.area-box .area-box-frame h2{
  font-weight: bold;
  font-size: 34px;
  letter-spacing: 0.05em;
  line-height: 1.70588;
  margin: 0 0 33px;
}
.area-box .area-box-frame .txt{font-size: 20px;font-weight: 500;line-height: 1.7;letter-spacing: 0.05em;}
.area-box .area-box-frame .areamap{
  position: absolute;
  top: -80px;
  right: -51px;
  width: 626px;
}
 
/* flow
-------------------------------------*/
.flow .inner {
  width: min(95%, 1520px);
  margin-inline: auto;
  padding: 118px 0;
}
.flow .enttl {
  text-align: center;
  margin-bottom: 21px;
}
.flow h2 {
  font-size: 40px;
  line-height: 1.7;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-bottom: 74px;
  text-align: center;
}
.flow .list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
}
.flow .list li {
  text-align: center;
}
.flow .list li .inBox {
  background: #F6F6F6;
  border-radius: 20px;
  padding: 40px 30px 49px;
  position: relative;
}
.flow .list li:first-child .inBox {
  padding: 40px 30px 10px;
  margin-bottom: 17px;
}
.flow .list li .inBox .num {
  position: absolute;
  top: -41px;
  left: 20px;
  width: 120px;
}
.flow .list li .inBox .num img {
  width: 100%;
}
.flow .list li .inBox .img {
  margin-bottom: 29px;
}
.flow .list li .inBox h3 {
  font-size: 32px;
  line-height: 0.875;
  letter-spacing: 0.05em;
  font-weight: 700;
  padding: 0 0 28px;
  border-bottom: 1px dotted #282826;
  margin: 0 10px 27px;
}
.flow .list li:first-child .inBox h3 {
  margin: 0 10px 17px;
}
.flow .list li .inBox .txt {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin: 0 0 18px;
}
.flow .list li .desc {
  font-size: 12px;
  line-height: 1.8333333333;
  letter-spacing: 0.05em;
  font-weight: 400;
}
.flow .list li:not(:last-child) .inBox:after{
  content: "";
  position: absolute;
  top: 56%;
  transform: translateY(-50%);
  right: -20px;
  width: 40px;
  height: 80px;
  background: url(../images/index/flow-arrow.svg) no-repeat;
  background-size: contain;
}

/* faq-box
-------------------------------------*/
.faq-box{
 background-color:#F8F8F8;
}
.faq-box .faq-boxframe{
  width: min(95%, 1100px);
  margin-inline: auto;
  padding: 98px 0 104px;
}
.faq-box .enttl {
  text-align: center;
  margin-bottom: 26px;
}
.faq-box h2 {
  text-align: center;
  margin-bottom: 67px;
}
.faq-box h2 img {
  width: 221px;
  margin: 0 0 0 3px;
}
.faq-box .faq-boxframe .faq-listframe{}
.faq-box .faq-boxframe .faq-listframe .faq-list{margin: 0 0 17px 0;}
.faq-box .faq-boxframe .faq-listframe .faq-list dt{background-color: #EAEBEB;font-weight: bold;font-size: 20px;line-height: 1.3;letter-spacing: 0.05em;position: relative;padding: 28px 0 27px 81px;}
.faq-box .faq-boxframe .faq-listframe .faq-list dt::before{content: '';display: inline-block;width: 20px;height: 26px;position: absolute;top: 28px;left: 42px;background-image: url(../images/index/faq-q.svg);background-size: contain;background-repeat: no-repeat;}
.faq-box .faq-boxframe .faq-listframe .faq-list dd{background-color: #FFFFFF;font-size: 14px;line-height: 2;letter-spacing: 0.05em;font-weight: 500;padding: 25px 48px 30px 82px;position: relative;}
.faq-box .faq-boxframe .faq-listframe .faq-list dd::before{content: '';display: inline-block;width: 20px;height: 25px;position: absolute;top: 32px;left: 40px;background-image: url(../images/index/faq-a.svg);background-size: contain;background-repeat: no-repeat;}
.faq-box .faq-boxframe .faq-listframe .faq-list:nth-child(3) dd,
.faq-box .faq-boxframe .faq-listframe .faq-list:nth-child(5) dd {
  padding: 31px 48px 34px 82px;
}


}


/* ========================================
  @media screen and (min-width:768px) and (max-width:1919px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
/* mv
-------------------------------------*/
.mv {
  position: relative;
}
.mv .inner {
  display: grid;
  grid-template-columns: 35.76% 63.29%;
  gap: 3.596vw;
  margin: 0 0 0 5.211vw;
  overflow: hidden;
}
.mv .ttl-box {
  margin: 6.462vw 0 0;
}
.mv .ttl-box h1 {
  margin: 0 0 1.98vw 0.938vw;
}
.mv .ttl-box h1 img {
  width: 28.973vw;
}
.mv .ttl-box h1 span {
  font-size: clamp(0.813rem, 0.02rem + 1.65vw, 2rem);
  line-height: 1.4375;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin: 0 0 2.137vw -0.417vw;
  display: block;
}
.mv .subt {
  margin: 0 0 2.918vw 0.521vw;
}
.mv .subt li {
  font-size: clamp(0.75rem, 0.416rem + 0.7vw, 1.25rem);
  line-height: 1.9;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: flex;
  gap: 0.521vw;
}
.mv .subt li span {
  color: #927D25;
}
.mv .btn01 {
  position: relative;
  z-index: 2;
  width: 29.182vw;
  margin: 0 0 1.459vw;
}
.mv .btn01::after {
  content: "";
  position: absolute;
  width: 31.266vw;
  height: 8.338vw;
  top: 15%;
  left: 50%;
  background-image: url(../images/index/btn-shadow_sp.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateX(-50%);
  z-index: 1;
}
.mv .btn01 a {
  display: block;
  z-index: 3;
  position: relative;
}
.mv .btn01 img{
  width: 100%;
}
.mv .flow-btn {
  z-index: 5;
  position: relative;
}
.mv .flow-btn img {
  width: 16.675vw;
}
.mv .btn02 {
  position: absolute;
  bottom: -6.618vw;
  left: 50%;
  transform: translateX(-50%);
  width: 41.688vw;
}
.mv .btn02 img {
  width: 100%;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1200px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1200px) {
/* worries
-------------------------------------*/
.worries {
  background: #F6F6F6;
  padding: 13.083vw 0 26.333vw;
}
.worries .inner {
  width: 96.667vw;
  margin-inline: auto;
}
.worries h2 {
  text-align: center;
}
.worries h2 img {
  margin: 0 0.667vw 0 0;
  width: 22.917vw;
}
.worries .list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3.333vw;
  margin-top: -3.5vw;
}
.worries .list li {
  border-radius: 1.667vw;
  background: #fff;
  border: 2px solid #eae6dc;
  padding: 4.167vw 0;
  text-align: center;
  max-height: 33.833vw;
}
.worries .list li:nth-child(2) {
  position: relative;
  top: 8.917vw;
}
.worries .list li h3 {
  font-size: 1.833vw;
  line-height: 1.2727272727;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  border-bottom: 2px solid #464541;
  margin-bottom: 2vw;
  display: inline-block;
  padding: 0 0 0.167vw;
}
.worries .list li .img {
  margin-bottom: 1.333vw;
}
.worries .list li .txt {
  font-size: 1.333vw;
  line-height: 1.75;
  letter-spacing: 0.05em;
  font-weight: 500;
  text-align: center;
}


/* easily
-------------------------------------*/
.easily {
  position: relative;
  padding: 0 0 25vw;
}
.easily h2 {
  width: 100vw;
  margin: 0 auto;
  text-align: center;
  background: #FFFFFF;
  padding: 9.333vw 0 0;
  margin-top: -10.75vw;
  position: relative;
}
.easily h2::before {
  content: "";
  position: absolute;
  width: 16.667vw;
  height: 5vw;
  background-image: url(../images/index/easily-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: -1.667vw;
  left: 50%;
  transform: translateX(-50%);
}
.easily h2 img {
  margin: 0 1.167vw 0 0;
  width: 71.417vw;
}
.easily .img-box{position: absolute;z-index: 1;top: 28.5vw;overflow: hidden;}
.easily .img-box .loop {overflow: hidden;}
.easily .img-box .loop__box {display: flex;width: 100vw}
.easily .img-box .loop__box img {min-width: 130.3vw;}
.easily .img-box .loop__box img:first-child {animation: loop 50s -25s linear infinite;}
.easily .img-box .loop__box img:last-child {animation: loop2 50s linear infinite;}
}


/* ========================================
@media screen and (min-width:768px) and (max-width:1640px)
======================================== */
@media screen and (min-width:768px) and (max-width:1640px) {
/* charm
-------------------------------------*/
.charm {
  background: #F9F9F9;
}
.charm .inner {
  padding: 14.512vw 0 9.756vw;
}
.charm .inner h2 {
  text-align: center;
}
.charm .list {
  margin-top: 4.268vw;
  display: flex;
  flex-direction: column;
  gap: 4.939vw;
}
.charm .list li {
  background: #FFFFFF;
  border-radius: 1.22vw;
  padding: 4.695vw 5.488vw;
  display: grid;
  grid-template-columns: 40.6% 39.5%;
  gap: 3.659vw;
  width: 87.561vw;
  margin-left: auto;
  align-items: center;
}
.charm .list li:nth-child(even) {
  margin-right: auto;
  margin-left: 0;
  grid-template-columns: 39.5% 36.7%;
  gap: 6.585vw;
  justify-content: flex-end;
}
.charm .list li:nth-child(4) {
  grid-template-columns: 39.5% 36.7%;
  gap: 3.598vw;
}
.charm .list li .num {
  margin-bottom: 1.768vw;
}
.charm .list li:nth-child(even) .num img {
  margin: 0 0px 0 0.183vw;
}
.charm .list li:nth-child(5) .num img {
  width: 4.878vw;
  height: 0.976vw;
}
.charm .list li h3 {
  font-size: 2.927vw;
  line-height: 1.4166666667;
  letter-spacing: 0.04em;
  font-weight: 700;
  margin-bottom: 2.195vw;
}
.charm .list li h3 span {
  color: #EA6182;
}
.charm .list li .txt {
  font-size: clamp(0.75rem, 0.53rem + 0.46vw, 1rem);
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.charm .list li .txt02 {
  margin: 2.012vw 0 0;
}
.charm .list li .photo {
  margin: 0.305vw 0 0;
}
}


/* ========================================
  @media screen and (min-width:768px) and (max-width:1919px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
/* service
-------------------------------------*/
.service {
  background: #EAE6DC;
  position: relative;
}
.service .inner {
  position: relative;
  z-index: 2;
  padding: 8.494vw 0 3.127vw;
}
.service .list {
  background: #F6F6F6;
  border-radius: 1.042vw;
  padding: 3.856vw 4.169vw 0.521vw;
  margin-bottom: 3.127vw;
}
.service .list h3 {
  margin-bottom: 1.876vw;
}
.service .list h3 img {
  margin: 0 0 0 0.156vw;
}
.service .service-layout {
  display: flex;
  align-items: flex-start;
  border-radius: 2.084vw 0 0 2.084vw;
  width: 82.377vw;
  margin-left: auto;
}
.service .service-title {
  position: sticky;
  top: 0;
  z-index: 1;
  transform: translateX(-8.39vw);
}
.service .service-title img {
  width: 17.718vw;
}
.service .service-content {
  width: 60.195vw;
  margin: 18.559vw 0 0 -5.211vw;
}
.service .service-bg {
  /* width: 83.377vw;
  height: 122.564vw;
  background: #FFFFFF;
  border-radius: 2.084vw 0 0 2.084vw;
  position: absolute;
  bottom: 0;
  right: 0; */
}
/* list01 */
.service .list .item {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.084vw;
  background: #FFFFFF;
  margin-bottom: 1.98vw;
  border-radius: 1.042vw;
  padding: 1.563vw 3.127vw 1.824vw;
}
.service .list .item h4 {
  font-size: clamp(0.625rem, 0.375rem + 0.52vw, 1rem);
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-bottom: 0.834vw;
  text-align: center;
}
.service .list .item h4 span {
  color: #EA6182;
  font-weight: 700;
}
.service .list .item .photo-box {
  position: relative;
  margin: 0 0 1.146vw;
}
.service .list .item .photo-box .label {
  position: absolute;
  bottom: -1.042vw;
  left: 1.042vw;
  width: 4.169vw;
}
.service .list .item .photo-box .label img {
  width: 100%;
}
.service .list .item .txt {
  font-size: 1.251vw;
  letter-spacing: 0.04em;
  font-weight: 700;
  margin: 0 0 0 1.042vw;
}
.service .list .item .txt .c-pink {
  font-size: 1.668vw;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #EA6182;
  margin: 0 0 0 0.261vw;
}
.service .list .item .txt .f-small {
  font-size:clamp(0.5rem, 0.166rem + 0.7vw, 1rem);
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 500;
}
.service .btn01 {
  text-align: center;
}


/* list02 */
.service .list02 {
  padding: 3.856vw 5.211vw 0.521vw;
}
.service .list02 .inBox {
  border-radius: 1.042vw;
  background: #fff;
  padding: 2.814vw 2.084vw 2.449vw;
  display: flex;
  gap: 0.886vw;
  position: relative;
  margin-bottom: 1.98vw;
}
.service .list02 .inBox .img img {
  width: 10.005vw;
}
.service .list02 .inBox h4 {
  font-weight: 500;
  font-size: 0.834vw;
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin-bottom: 0.625vw;
  text-align: center;
}
.service .list02 .inBox h4 span {
  font-weight: bold;
  font-size: 1.355vw;
  letter-spacing: 0.05em;
  line-height: 1.76923;
  color: #ea6182;
}
.service .list02 .inBox h4 img {
  width: 14.643vw;
}
.service .list02 .inBox .txt-box {
  position: relative;
}
.service .list02 .inBox .txt-box .deco {
  position: absolute;
  top: 2.449vw;
  right: -1.772vw;
  width: 3.596vw;
}
.service .list02 .inBox .deco img {
  width: 100%;
}
.service .list02 .inBox .txt {
  font-weight: 500;
  font-size: clamp(0.438rem, 0.229rem + 0.43vw, 0.75rem);
  letter-spacing: 0.05em;
  line-height: 2.3333;
  text-align: center;
}
.service .list02 .inBox .photo {
  position: absolute;
  right: -2.345vw;
  top: -0.469vw;
  width: 18.812vw;
}
.service .list02 .inBox .photo img {
  width: 100%;
}
.service .btn02 {
  text-align: center;
}

/* service03 */
.service .list03 {
  position: relative;
  padding: 5.107vw 5.211vw 0.521vw;
}
.service .list03 .fukidashi {
  position: absolute;
  top: -2.137vw;
  left: 50%;
  transform: translateX(-50%);
  width: 5.628vw;
}
.service .list03 .fukidashi img {
  width: 100%;
}
.service .list03 .inBox {
  display: flex;
  gap: 0.417vw;
  margin-bottom: 1.303vw;
}
.service .list03 .inBox .txt {
  font-weight: 500;
  font-size: clamp(0.438rem, 0.229rem + 0.43vw, 0.75rem);
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin-bottom: 0.938vw;
}
.service .list03 .inBox .more-box {
  background: #fff;
  border: 1px solid #ffcd00;
  padding: 1.355vw 1.563vw 1.146vw;
  position: relative;
  width: 23.971vw;
}
.service .list03 .inBox .more-box .txt {
  font-weight: bold;
  font-size: clamp(0.625rem, 0.291rem + 0.7vw, 1.125rem);
  letter-spacing: 0.05em;
  line-height: 1.5555;
  margin: 0;
}
.service .list03 .inBox .more-box .txt span {
  color: #EA6182;
}
.service .list03 .inBox .more-box .photo02 {
  position: absolute;
  top: -0.521vw;
  right: -1.615vw;
  width: 10.631vw;
}
.service .list03 .inBox .more-box .photo02 img {
  width: 100%;
}
.service .list03 .inBox .photo {
  margin: 0.261vw 0 0;
}
.service .btn03 {
  text-align: center;
}
.service .service-bnr {width:52.11vw;margin-inline: auto;margin-top: 3.752vw;}
.service .service-bnr img {
  width: 100%;
  height: auto;
}
}

@media screen and (min-width:768px) and (max-width:1280px) {
  .service .list03 .inBox .more-box .photo02 {
    right: -4.615vw;
  }
}

@media screen and (min-width:768px) and (max-width:1280px) {
  .catalog .inner {
    padding: 7.813vw 0 9.375vw;
  }
  .catalog .inner h2 {
    text-align: center;
    margin-bottom: 2.734vw;
  }
  .catalog .inner h2 img {
    width: 36.563vw;
  }
  .catalog .catalog-slider {
    border-radius: 1.563vw;
    background: #fff;
    box-shadow: 10px 10px 20px rgba(40, 40, 38, 0.14);
    padding: 3.125vw 5.469vw 6.797vw;
  }
  .catalog .catalog-slider .item {
    width: 35.938vw;
    margin: 0 1.563vw;
  }
  .catalog .inner .deco01 {
    position: absolute;
    top: 11.094vw;
    left: 9.375vw;
    width: 21.484vw;
  }
  .catalog .inner .deco01 img {
    width: 100%;
  }
  .catalog .inner .deco02 {
    position: absolute;
    top: 11.094vw;
    right: 11.641vw;
    width: 19.453vw;
  }
  .catalog .inner .deco02 img {
    width: 100%;
  }
  /* slide */
.slide-arrow {
  position: absolute;
  top: 48.2%; /* 上下中央に配置 */
  transform: translateY(-50%); /* 縦方向の中央揃え */
  z-index: 10; /* スライドより前面に表示 */
  width: 6.25vw; /* ボタンのサイズ（必要に応じて調整） */
  height: 6.25vw; /* ボタンのサイズ（必要に応じて調整） */
  cursor: pointer;
  left: 50%;
}
.prev-arrow {
  margin-left: -45.344vw;
}
.next-arrow {
  margin-left: 39.094vw;
}
.slider-img img {
  height: auto;
  width: 100%;
}
.slide-dots {
  margin: -2.5vw 0 0;
  padding: 0;
  text-align: center;
}
.slide-dots li {
  display: inline-block;
  margin: 0 0.781vw;
}
.slide-dots li button {
  position: relative;
  text-indent: -781.172vw;
}
.slide-dots li button::before {
  background-image: url(../images/index/slide-dots.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  cursor: pointer;
  width: 1.563vw;
  height: 1.563vw;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 1.875vw;
}
.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.547vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1140px)
======================================== */
@media screen and (min-width:768px) and (max-width:1140px) {
/* area
-------------------------------------*/
.area-box{background-color:#F2F2F2; width: 100%;}
.area-box .area-box-frame{
  width: 96.491vw;
  margin-inline: auto;
  position: relative;
  padding: 14.561vw 0 13.421vw;
}
.area-box .area-box-frame .enttl{margin: -1.053vw 0 2.018vw 0;position: relative;z-index: 10;}
.area-box .area-box-frame h2{
  font-weight: bold;
  font-size: 2.982vw;
  letter-spacing: 0.05em;
  line-height: 1.70588;
  margin: 0 0 2.895vw;
}
.area-box .area-box-frame .txt{font-size: 1.754vw;font-weight: 500;line-height: 1.7;letter-spacing: 0.05em;}
.area-box .area-box-frame .areamap{
  position: absolute;
  top: -7.018vw;
  right: 0;
  width: 54.912vw;
}
}

@media screen and (min-width:768px) and (max-width:1560px) {
/* flow
-------------------------------------*/
.flow .inner {
  width: 97.436vw;
  margin-inline: auto;
  padding: 7.564vw 0;
}
.flow .enttl {
  text-align: center;
  margin-bottom: 1.474vw;
}
.flow h2 {
  font-size: 2.564vw;
  line-height: 1.7;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-bottom: 4.744vw;
  text-align: center;
}
.flow .list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.564vw;
}
.flow .list li {
  text-align: center;
}
.flow .list li .inBox {
  background: #F6F6F6;
  border-radius: 1.282vw;
  padding: 2.564vw 1.923vw 3.141vw;
  position: relative;
}
.flow .list li:first-child .inBox {
  padding: 2.564vw 1.923vw 0.641vw;
  margin-bottom: 1.09vw;
}
.flow .list li .inBox .num {
  position: absolute;
  top: -2.628vw;
  left: 1.282vw;
  width: 7.692vw;
}
.flow .list li .inBox .num img {
  width: 100%;
}
.flow .list li .inBox .img {
  margin-bottom: 1.859vw;
}
.flow .list li .inBox h3 {
  font-size: 2.051vw;
  line-height: 0.875;
  letter-spacing: 0.05em;
  font-weight: 700;
  padding: 0 0 1.795vw;
  border-bottom: 1px dotted #282826;
  margin: 0 0.641vw 1.731vw;
}
.flow .list li:first-child .inBox h3 {
  margin: 0 0.641vw 1.09vw;
}
.flow .list li .inBox .txt {
  font-size: 1.026vw;
  line-height: 1.875;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin: 0 0 1.154vw;
}
.flow .list li .desc {
  font-size: clamp(0.5rem, 0.258rem + 0.51vw, 0.75rem);
  line-height: 1.8333333333;
  letter-spacing: 0.05em;
  font-weight: 400;
}
.flow .list li:not(:last-child) .inBox:after{
  content: "";
  position: absolute;
  top: 56%;
  transform: translateY(-50%);
  right: -1.282vw;
  width: 2.564vw;
  height: 5.128vw;
  background: url(../images/index/flow-arrow.svg) no-repeat;
  background-size: contain;
}
}


/* ========================================
  @media screen and (max-width: 767px) 
======================================== */
@media screen and (max-width: 767px) {
.btn {
  position: relative;
  z-index: 2;
}
.btn::after {
  content: "";
  position: absolute;
  width: 72.6vw;
  height: 20vw;
  top: 36%;
  left: 50%;
  background-image: url(../images/index/btn-shadow_sp.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateX(-50%);
  z-index: 1;
}
.btn a {
  display: block;
  z-index: 3;
  position: relative;
}

/* mv
-------------------------------------*/
.mv {
  position: relative;
}
.mv .inner {
  display: flex;
  flex-direction: column;
  padding: 4.8vw 0 0;
}
.mv .ttl-box {
  display: contents;
}
.mv .ttl-box h1 {
  order: 1;
  margin: 0 0 8vw 7vw;
}
.mv .ttl-box h1 img {
  width: 76.9vw;
  margin: 0 0 0 1vw;
}
.mv .ttl-box h1 span {
  font-size:3.865vw;
  line-height: 1.75;
  letter-spacing: 0.07em;
  font-weight: 500;
  display: block;
  margin: 0 0 4vw;
}
.mv .subt {
  order: 3;
  margin: 0 7vw 4.6vw;
  display: flex;
  flex-direction: column;
  gap: 1.4vw;
}
.mv .subt li {
  font-size:3.865vw;
  line-height: 1.625;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: flex;
  gap: 1.6vw;
}
.mv .subt li span {
  color: #927D25;
}
.mv .btn01 img{
  width: 87vw;
}
.mv .flow-btn {
  order: 4;
  margin: 0 7vw 9.8vw;
  width: 58vw;
}
.mv .flow-btn a {
  display: block;
}
.mv .flow-btn img {
  width: 100%;
}
.mv .btn01 {
  order: 5;
  margin-inline: auto;
}
.mv .btn02 {
  text-align: center;
  margin: 4.4vw 0 0;
}
.mv .btn02 img {
  width: 87vw;
  margin-inline: auto;
}
.mv .photo {
  order: 2;
  width: 88.2vw;
  margin-left: auto;
  margin-bottom: 4.6vw;
}


/* worries
-------------------------------------*/
.worries {
  background: #F6F6F6;
  margin-top: -9vw;
}
.worries .inner {
  width: 89.4vw;
  margin-inline: auto;
  padding: 23.8vw 0 29.6vw;
}
.worries h2 {
  text-align: center;
  margin-bottom: 9vw;
}
.worries h2 img {
  margin: 0 1vw 0 0;
  width: 46.4vw;
}
.worries .list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5.4vw;
}
.worries .list li {
  border-radius: 4vw;
  background: #fff;
  border: 0.6vw solid #eae6dc;
  padding: 9vw 0 8.4vw;
  text-align: center;
}
.worries .list li h3 {
  font-size:5.314vw;
  line-height: 1.2727272727;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  border-bottom: 0.6vw solid #464541;
  margin-bottom: 4.6vw;
  display: inline-block;
  padding: 0 0 1vw;
}
.worries .list li .img {
  margin-bottom: 2.6vw;
}
.worries .list li .txt {
  font-size:3.865vw;
  line-height: 1.75;
  letter-spacing: 0.05em;
  font-weight: 500;
  text-align: center;
}


/* easily
-------------------------------------*/
.easily {
  position: relative;
  padding: 0 0 28vw;
}
.easily h2 {
  margin: 0 auto;
  text-align: center;
  width: 92vw;
  background: #FFFFFF;
  padding: 18vw 0 0;
  margin-top: -15vw;
  position: relative;
}
.easily h2::before {
  content: "";
  position: absolute;
  width: 34vw;
  height: 10.2vw;
  background-image: url(../images/index/easily-arrow_sp.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: 0vw;
  left: 50%;
  transform: translateX(-50%);
}
.easily h2 img {
  margin: 0 0 0 0;
}
.easily .img-box{position: absolute;z-index: 1;top: 54.4vw;overflow: hidden;}
.easily .img-box .loop {overflow: hidden;}
.easily .img-box .loop__box {display: flex;width: 100vw}
.easily .img-box .loop__box img {min-width: 264.3vw;}
.easily .img-box .loop__box img:first-child {animation: loop 50s -25s linear infinite;}
.easily .img-box .loop__box img:last-child {animation: loop2 50s linear infinite;}


/* charm
-------------------------------------*/
.charm {
  background: #F9F9F9;
}
.charm .inner {
  padding: 35vw 0 15vw;
  width: 89.4vw;
  margin-inline: auto;
}
.charm .inner h2 {
  text-align: center;
}
.charm .list {
  margin-top: 9vw;
  display: flex;
  flex-direction: column;
  gap: 4.1vw;
}
.charm .list li {
  background: #FFFFFF;
  border-radius: 4vw;
  padding: 8.4vw 6vw 8vw;
  display: flex;
  flex-direction: column;
}
.charm .list li .txt-box {
  display: contents;
}
.charm .list li .num {
  margin-bottom: 4vw;
  order: 1;
}
.charm .list li h3 {
  font-size:7.246vw;
  line-height: 1.4166666667;
  letter-spacing: 0.04em;
  font-weight: 700;
  margin-bottom: 4.8vw;
  order: 2;
}
.charm .list li h3 span {
  color: #EA6182;
}
.charm .list li .txt {
  font-size:3.382vw;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
  order: 4;
}
.charm .list li .txt02 {
  margin: 0 0 0;
}
.charm .list li .photo {
  order: 3;
  margin-bottom: 4vw;
}


/* service
-------------------------------------*/
.service {
  background: #EAE6DC;
  position: relative;
  padding: 50vw 0 0;
}
.service .inner {
  position: relative;
  z-index: 2;
  padding: 31vw 0 9vw;
  background: #FFFFFF;
  border-radius: 4vw;
}
.service .list {
  background: #F6F6F6;
  border-radius: 4vw;
  padding: 11vw 6.2vw 15vw;
  margin-bottom: 5vw;
  width: 89.4vw;
  margin-inline: auto;
}
.service .list h3 {
  margin-bottom: 6.2vw;
}
.service .list h3 img {
  margin: 0 0 0 0;
}
.service .service-layout {
  position: relative;
}
.service .service-title {
  position: absolute;
  top: -66.8vw;
  left: 50%;
  transform: translateX(-50%);
  width: 53.2vw;
}
/* list01 */
.service .list .item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10vw;
  background: #FFFFFF;
  margin-bottom: 9.2vw;
  border-radius: 2vw;
  padding: 7.2vw 4.68vw 7vw;
}
.service .list .item h4 {
  font-size:3.865vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-bottom: 4vw;
  text-align: center;
}
.service .list .item h4 span {
  color: #EA6182;
  font-weight: 700;
}
.service .list .item .photo-box {
  position: relative;
  margin: 0 0 4.4vw;
}
.service .list .item .photo-box .label {
  position: absolute;
  bottom: -4vw;
  left: 2.5vw;
  width: 19.33vw;
}
.service .list .item .photo-box .label img {
  width: 100%;
}
.service .list .item .txt {
  font-size:4.348vw;
  letter-spacing: 0.04em;
  font-weight: 700;
  margin: 0 0 0 3vw;
}
.service .list .item .txt .c-pink {
  font-size:6.763vw;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #EA6182;
  margin: 0 0 0 0;
}
.service .list .item .txt .f-small {
  font-size:3.382vw;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 500;
}
.service .btn01 {
  text-align: center;
}
.service .btn01::after {
top: 14%;
}


/* list02 */
.service .list02 {
  margin-bottom: 9vw;
}
.service .list02 .inBox {
  border-radius: 2vw;
  background: #fff;
  padding: 7vw 2vw 5vw;
  display: flex;
  flex-direction: column;
  position: relative;
  margin-bottom: 10vw;
}
.service .list02 .inBox .img {
  text-align: center;
  margin-bottom: 6.8vw;
  order: 1;
}
.service .list02 .inBox .img img{
  width: 36.3vw;
}
.service .list02 .inBox h4 {
  margin-bottom: 5vw;
  text-align: center;
  order: 2;
}
.service .list02 .inBox .txt-box {
  display: contents;
}
.service .list02 .inBox .txt-box .deco {
  position: absolute;
  top: 55.8vw;
  right: 3vw;
  width: 13.2vw;
}
.service .list02 .inBox .deco img {
  width: 100%;
}
.service .list02 .inBox .txt {
  font-weight: 500;
  font-size:2.898vw;
  letter-spacing: 0.05em;
  line-height: 2.3333;
  text-align: center;
  order: 4;
}
.service .list02 .inBox .photo {order: 3;margin: 0 0 4vw 2vw;width: 69.2vw;}
.service .list02 .inBox .photo img {
  width: 100%;
}
.service .btn02 {
  text-align: center;
}
.service .btn02::after {
  top: 14%;
}

/* service03 */
.service .list03 {
  position: relative;
}
.service .list03 .fukidashi {
  position: absolute;
  top: -4.8vw;
  left: 50%;
  transform: translateX(-50%);
  width: 19.33vw;
}
.service .list03 .fukidashi img {
  width: 100%;
}
.service .list03 .inBox {
  display: flex;
  flex-direction: column;
  gap: 1vw;
  margin-bottom: 4vw;
  margin-top: 7vw;
}
.service .list03 .inBox .txt {
  font-weight: 500;
  font-size:3.865vw;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin-bottom: 6vw;
}
.service .list03 .inBox .more-box {
  background: #fff;
  border: 0.2vw solid #ffcd00;
  padding: 4vw 2vw 5vw;
  position: relative;
  margin: 0 0 5.4vw;
}
.service .list03 .inBox .more-box .txt {
  font-weight: bold;
  font-size:4.348vw;
  letter-spacing: 0.05em;
  line-height: 1.6666;
  margin: 0 0 3.2vw;
  text-align: center;
}
.service .list03 .inBox .more-box .txt span {
  color: #EA6182;
}
.service .list03 .inBox .more-box .photo02 {text-align: center;}
.service .list03 .inBox .more-box .photo02 img {
  width: 49.3vw;
}
.service .list03 .inBox .photo {
  margin: 0 0 0;
  width: 81.2vw;
}
.service .btn03 {
  text-align: center;
}
.service .btn03::after {
  top: 14%;
}
.service .service-bnr {width: 91.79vw;margin-inline: auto;margin-top: 14.752vw;}
.service .service-bnr img {
  width: 100%;
  height: auto;
}


/* voice
-------------------------------------*/
.voice-slider, .voice-slider02 {
  touch-action: pan-y;
}
.voice {
  background: #EAE6DC;
  padding: 17.4vw 0 0;
  overflow: hidden;
}
.voice .enttl {
  text-align: center;
  margin: 0 0 6.6vw;
}
.voice .enttl img {
  width: 11vw;
}
.voice .ttl {
  text-align: center;
  margin: 0 0 9vw;
}


.voice .swiper-container {
  position: relative;
  padding: 0 4.2vw 46.2vw;
}
.swiper-slide{}
.swiper-wrapper .slider-item{
  border-radius: 4vw;
  background: #fff;
  padding: 7vw 4.8vw 6vw;
  position: relative;
}
.swiper-wrapper .slider-item .name{
  background: #fff;
  font-weight: 500;
  font-size:3.382vw;
  letter-spacing: 0.05em;
  margin: 0 0 2vw;
}
.swiper-wrapper .slider-item .photo {
  margin-bottom: 3vw;
}
.swiper-wrapper .slider-item h3{
  font-weight: bold;
  font-size:3.865vw;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin-bottom: 1vw;
}
.swiper-wrapper .slider-item .txt{
  font-weight: 500;
  font-size:3.382vw;
  letter-spacing: 0.05em;
  line-height: 2;
}
.swiper-button-prev,
.swiper-button-next {
  display: block;
}

/* 前へ次への矢印カスタマイズ */
.swiper-button-prev,
.swiper-button-next {
  height: 15vw!important;
  width: 15vw!important;
  top: 80.6%!important;;
}
/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  margin: auto;
}
/* 前への矢印カスタマイズ */
.swiper-button-prev {
  background-image: url(../images/index/arrow-left_sp.svg);
  background-size: contain;
  left: 32.8vw!important;;
} 
/* 次への矢印カスタマイズ */
.swiper-button-next {
  background-image: url(../images/index/arrow-right_sp.svg);
  background-size: contain;
  right: 32.8vw!important;
}
/* 画像サイズ調整 */
.swiper-slide img {
  height: auto;
  width: 100%;
}
.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  content: none!important;
}
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: none!important;
}



/* catalog
-------------------------------------*/
.catalog {

}
.catalog .inner {
  padding: 17vw 0 9.8vw;
  position: relative;
}
.catalog .inner h2 {
  text-align: center;
  margin-bottom: 14vw;
}
.catalog .inner h2 img {
}
.catalog .catalog-slider {
  border-radius: 4vw;
  padding: 12vw 0 36vw;
  background: #fff;
  box-shadow: 0px 10px 20px rgba(40, 40, 38, 0.14);
}
.catalog .catalog-slider .item {
  width: 63vw;
  margin: 0 1.2vw;
}
.catalog .inner .deco01 {
  position: absolute;
  top: 47vw;
  left: 3vw;
  width: 33.4vw;
}
.catalog .inner .deco01 img {
  width: 100%;
}
.catalog .inner .deco02 {
  position: absolute;
  top: 48.8vw;
  right: 3vw;
  width: 28.5vw;
}
.catalog .inner .deco02 img {
  width: 100%;
}
/* slide */
.slide-arrow {
  position: absolute;
  bottom: 5%; /* 上下中央に配置 */
  transform: translateY(-50%); /* 縦方向の中央揃え */
  z-index: 10; /* スライドより前面に表示 */
  width: 15vw; /* ボタンのサイズ（必要に応じて調整） */
  height: 15vw; /* ボタンのサイズ（必要に応じて調整） */
  cursor: pointer;
  left: 50%;
}
.prev-arrow {
  margin-left: -17.6vw;
}
.next-arrow {
  margin-left: 2.6vw;
}
.slider-img img {
  height: auto;
  width: 100%;
}
.slide-dots {
  display: none!important;
}


/* area
-------------------------------------*/
.area-box{background-color:#F2F2F2; width: 100%;}
.area-box .area-box-frame{
  position: relative;
  padding: 13vw 0 16vw;
  display: flex;
  flex-direction: column;
}
.area-box .area-box-frame .enttl{position: relative;z-index: 10;order:1;text-align: center;margin: 0 0 3vw;}
.area-box .area-box-frame .enttl img {
  width: 10vw;
}
.area-box .area-box-frame h2{
  font-weight: bold;
  font-size:5.797vw;
  letter-spacing: 0.05em;
  line-height: 1.625;
  margin: 0 0 4.4vw;
  order: 2;
  text-align: center;
}
.area-box .area-box-frame .txt{font-size:3.865vw;font-weight: 500;line-height: 1.75;letter-spacing: 0.05em;order: 4;margin: -15.2vw 0 0 9vw;}
.area-box .area-box-frame .areamap{
  order: 3;
}


/* flow
-------------------------------------*/
.flow .inner {
  width: 91.8vw;
  margin-inline: auto;
  padding: 18vw 0 20vw;
}
.flow .enttl {
  text-align: center;
  margin-bottom: 3vw;
}
.flow .enttl img {
  width: 10.2vw;
}
.flow h2 {
  font-size:5.797vw;
  line-height: 1.625;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-bottom: 11vw;
  text-align: center;
}
.flow .list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14.4vw;
}
.flow .list li {
  text-align: center;
  background: #F6F6F6;
  border-radius: 4vw;
  padding: 5vw 4.8vw 4.4vw;
  position: relative;
}
.flow .list li:first-child  {
  padding: 5vw 4.8vw 8.4vw;
}
.flow .list li .inBox .num {
  position: absolute;
  top: -7vw;
  left: 5vw;
  width: 19.2vw;
}
.flow .list li .inBox .num img {
  width: 100%;
}
.flow .list li .inBox .img {
  margin-bottom: 7vw;
}
.flow .list li .inBox h3 {
  font-size:5.314vw;
  line-height: 0.875;
  letter-spacing: 0.05em;
  font-weight: 700;
  padding: 0 0 5vw;
  border-bottom: 0.2vw dotted #282826;
  margin: 0 0 2.4vw;
}
.flow .list li:first-child .inBox h3 {

}
.flow .list li .inBox .txt {
  font-size:3.382vw;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin: 0 0 4vw;
}
.flow .list li .desc {
  font-size:2.898vw;
  line-height: 1.8333333333;
  letter-spacing: 0.05em;
  font-weight: 400;
}
.flow .list li:not(:last-child):after{
  content: "";
  position: absolute;
  bottom: -7.4vw;
  transform: translateX(-50%);
  left: 50%;
  width: 19.4vw;
  height: 7.3vw;
  background: url(../images/index/flow-arrow_sp.svg) no-repeat;
  background-size: contain;
}
.flow .btn {
  width: 77.3vw;
  margin: 0 auto 4.6vw;
}
.flow .btn::after {
  top: 15%;
}
 

/* faq-box
-------------------------------------*/
.faq-box {
background-color:#F8F8F8;
}
.faq-box .faq-boxframe{
  padding: 13vw 0 10vw;
}
.faq-box .enttl {
  text-align: center;
  margin-bottom: 5vw;
}
.faq-box .enttl img {
  width: 7.6vw;
}
.faq-box h2 {
  text-align: center;
  margin: 0 0 8.2vw;
}
.faq-box h2 img {
  margin: 0 0 0 0.8vw;
  width: 40.9vw;
}
.faq-box .faq-boxframe .faq-listframe {
  width: 89.4vw;
  margin-inline: auto;
}
.faq-box .faq-boxframe .faq-listframe .faq-list {
  margin: 0 0 4.69vw 0;
}

.faq-box .faq-boxframe .faq-listframe .faq-list dt {
  background-color: #EAEBEB;
  font-weight: 500;
  font-size:3.865vw;
  line-height: 1.625;
  letter-spacing: 0.05em;
  position: relative;
  padding: 4.46vw 3vw 5.2vw 10.22vw;
  margin: 0;
}
.faq-box .faq-boxframe .faq-listframe .faq-list dt::before {
  content: '';
  display: inline-block;
  width: 3vw;
  height: 4vw;
  position: absolute;
  top: 5.8vw;
  left: 4.8vw;
  background-image: url(../images/index/faq-q.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.faq-box .faq-boxframe .faq-listframe .faq-list dd {
  background-color: #FFFFFF;
  font-size:3.382vw;
  line-height: 2;
  font-weight: 500;
  padding: 4.2vw 4.6vw 3.9vw 10.3vw;
  position: relative;
  letter-spacing: 0.05em;
}
.faq-box .faq-boxframe .faq-listframe .faq-list dd::before {
  content: '';
  display: inline-block;
  width: 2.9vw;
  height: 3.56vw;
  position: absolute;
  top: 6.25vw;
  left: 5.19vw;
  background-image: url(../images/index/faq-a.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

}
