@charset "UTF-8";
/*==================================
style 
===================================*/
html {
  font-size: 62.5%;
}

body {
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック体, "Yu Gothic", YuGothic, "MS PGothic", Osaka, arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  min-height: 100%;
  width: 100%;
  font-size: 2.2rem;
  letter-spacing: 0.03em;
}

* {
  box-sizing: border-box;
}

img {
  max-width: 100%;
}

.center {
  text-align: center;
}

.inner {
  width: 1050px;
  max-width: 100%;
  margin: auto;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.flex {
  display: flex;
}

.flex_center {
  justify-content: center;
}

.flex_around {
  justify-content: space-around;
}

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

.flex_end {
  justify-content: flex-end;
}

.js-fade {
  opacity: 0;
  visibility: hidden;
  transform: translateY(50px);
  transition: opacity 1s, visibility 1s, transform 1s;
}

.scroll {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

@keyframes dokidoki {
  0% {
    transform: scale(1);
  }
  20% {
    transform: scale(1.05);
  }
  40% {
    transform: scale(1.08);
  }
  50% {
    transform: scale(1.1);
  }
  60% {
    transform: scale(1.08);
  }
  80% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
.dokidoki {
  animation-name: dokidoki;
  /* アニメーション名の指定 */
  animation-delay: 0s;
  /* アニメーションの開始時間指定 */
  animation-duration: 1.5s;
  /* アニメーション動作時間の指定 */
  animation-timing-function: linear;
  /* アニメーションの動き（徐々に早く徐々に遅く）*/
  animation-iteration-count: infinite;
  /* アニメーションをループさせる */
}

@keyframes fuwafuwa {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}
.fuwafuwa {
  animation-name: fuwafuwa;
  animation-delay: 0s;
  animation-duration: 1.5s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

@media screen and (max-width: 1050px) {
  .inner {
    width: 90%;
    margin: auto;
  }
}
@media screen and (max-width: 768px) {
  body {
    font-size: 1.6rem;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
/*==================================
main
===================================*/
.wrapper {
  overflow-x: hidden;
}

header h1 {
  font-size: clamp(12px, 6.328px + 1.493vw, 22px);
  text-align: center;
  line-height: 1.5;
  padding: 1% 2%;
  box-shadow: 4px 7px 8px 0.6px rgba(23, 27, 40, 0.16);
  background-image: linear-gradient(-179deg, #bca15f 0%, #d2b36a 32%, #c2ae71 52%, #bca15f 100%);
  position: relative;
  z-index: 10;
}
header .header_text {
  background: url(../images/header02_bg.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  min-height: clamp(120px, 61.582px + 15.373vw, 223px);
  text-align: center;
  padding-top: 2rem;
  position: relative;
  z-index: 1;
}
header .header_text img {
  width: clamp(240px, 70.418px + 44.627vw, 539px);
}

.mv {
  background: url(../images/blue_bg.jpg);
  padding-bottom: clamp(110px, 70.519px + 10.39vw, 270px);
}
.mv .mv_img {
  text-align: center;
  margin-top: clamp(-300px, -75.584px + -11.688vw, -120px);
  margin-left: clamp(-380px, 31.429px + -21.429vw, -50px);
  position: relative;
  z-index: 1;
}

.cv .cv_btn {
  width: clamp(270px, 5.701px + 69.552vw, 736px);
  margin: clamp(20px, 2.985px + 4.478vw, 50px) auto 0;
}
.cv .cv_col {
  width: 50%;
}
.cv .cv_img {
  margin-top: 1rem;
  margin-left: clamp(-50px, -18.657px + -2.985vw, -30px);
  margin-bottom: clamp(-40px, 7.015px + -4.478vw, -10px);
  position: relative;
  z-index: 1;
}

.open_img {
  margin-top: clamp(-240px, -65.455px + -9.091vw, -100px);
}

.open {
  background: #ede8db;
  padding-top: 2rem;
  padding-bottom: clamp(50px, 27.313px + 5.97vw, 90px);
  position: relative;
  z-index: 0;
}
.open::after {
  content: "";
  width: clamp(820px, -302.985px + 295.522vw, 2800px);
  height: clamp(820px, -302.985px + 295.522vw, 2800px);
  border-radius: 50%;
  background: #fff;
  display: block;
  position: absolute;
  top: clamp(0px, 78.358px + -7.463vw, 50px);
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

.jitugen {
  width: clamp(280px, 52.567px + 59.851vw, 681px);
  margin: 2rem auto 0;
}

.wadai_img {
  width: clamp(290px, 72.776px + 57.164vw, 673px);
  margin: 2rem auto clamp(-140px, -40px + -5.208vw, -80px);
  position: relative;
  z-index: 1;
}

.wadai {
  background: url(../images/blue_bg.jpg);
  padding: clamp(50px, 10.299px + 10.448vw, 120px) 0;
  position: relative;
}
.wadai::before {
  content: "";
  width: 100%;
  height: 188px;
  display: block;
  background: url(../images/wadai_bg.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.feature {
  position: relative;
  padding: 1px 0 8rem;
  margin-top: clamp(120px, 51.94px + 17.91vw, 240px);
  margin-bottom: clamp(60px, 25.97px + 8.955vw, 120px);
}
.feature::after {
  content: "";
  width: 84%;
  height: 100%;
  position: absolute;
  bottom: 0;
  z-index: -10;
}
.feature .title {
  margin-top: clamp(-120px, -25.97px + -8.955vw, -60px);
  margin-bottom: clamp(20px, 2.985px + 4.478vw, 50px);
}
.feature .head_text {
  line-height: 2.2;
  font-size: clamp(16px, 10.328px + 1.493vw, 26px);
  margin-bottom: clamp(20px, 8.657px + 2.985vw, 40px);
}
.feature .feature_block {
  margin-top: clamp(30px, 18.657px + 2.985vw, 50px);
  position: relative;
}
.feature .feature_block_text {
  width: 50%;
  padding-left: clamp(40px, 13.333px + 3.472vw, 80px);
  padding-right: clamp(20px, 6.667px + 1.736vw, 40px);
  margin-top: 2rem;
  position: relative;
}
.feature .feature_block_text .num {
  color: #fff;
  font-size: clamp(70px, 7.612px + 16.418vw, 180px);
  font-family: "vdl-v7mincho", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: -0.05em;
  font-style: italic;
}
.feature .feature_block_text h3 {
  font-size: clamp(26px, 10px + 2.083vw, 50px);
  font-family: "vdl-v7mincho", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.4;
  margin: clamp(5px, -3.507px + 2.239vw, 20px) 0;
}
.feature .feature_block_text h3 span {
  font-size: clamp(20px, 14.328px + 1.493vw, 30px);
  display: block;
}
.feature .feature_block_text p {
  font-size: clamp(18px, 15.333px + 0.347vw, 22px);
  line-height: 1.9;
}
.feature .feature_block_text .tate {
  font-family: "ltc-nicholas-cochin-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(13px, 7.896px + 1.343vw, 22px);
  writing-mode: vertical-rl;
  text-shadow: 1px 2px 8px rgba(23, 27, 40, 0.3);
  position: absolute;
  top: 0;
  left: 0;
}
.feature .feature_block_text .tate::after {
  content: "";
  width: 1px;
  height: 45vh;
  max-height: 320px;
  display: inline-block;
  position: absolute;
  left: 0;
  margin-top: 2rem;
  box-shadow: 2px 7px 9px rgba(23, 27, 40, 0.3);
}
.feature .feature_block .feature_img {
  width: 72%;
  max-width: 785px;
  margin-right: clamp(-240px, 160px + -20.833vw, 0px);
  text-align: center;
}
.feature .feature_block .feature_img img {
  box-shadow: 8px 8px 18px rgba(77, 78, 61, 0.13);
}
.feature .feature_block:nth-of-type(even) {
  flex-direction: row-reverse;
}
.feature .feature_block:nth-of-type(even) .feature_block_text {
  padding-right: clamp(40px, 13.333px + 3.472vw, 80px);
  padding-left: clamp(20px, 6.667px + 1.736vw, 40px);
}
.feature .feature_block:nth-of-type(even) .feature_block_text .tate {
  top: 0;
  left: initial;
  right: 0;
}
.feature .feature_block:nth-of-type(even) .feature_block_text .tate::after {
  left: initial;
  right: 0;
}
.feature .feature_block:nth-of-type(even) .feature_img {
  margin-right: 0;
  margin-left: clamp(-240px, 160px + -20.833vw, 0px);
}

.pico::after {
  background-color: #d1def6;
  left: 0;
}
.pico .feature_block_text h3 {
  color: #507bb5;
}
.pico .feature_block_text .tate {
  color: #507bb5;
}
.pico .feature_block_text .tate::after {
  background: #507bb5;
}

.lumecca {
  margin-bottom: clamp(20px, -14.03px + 8.955vw, 80px);
}
.lumecca::after {
  background-color: #c8eff3;
  right: 0;
}
.lumecca .feature_block_text h3 {
  color: #3898a1;
}
.lumecca .feature_block_text .tate {
  color: #3898a1;
}
.lumecca .feature_block_text .tate::after {
  background: #3898a1;
}

.recommend {
  background: url(../images/blue_bg.jpg);
  padding-bottom: clamp(60px, 25.97px + 8.955vw, 120px);
}
.recommend .inner {
  position: relative;
}
.recommend .recommend_head {
  background: url(../images/recommend_bg.png) no-repeat;
  background-size: cover;
  background-position: center;
  padding-bottom: clamp(20px, -8.358px + 7.463vw, 70px);
}
.recommend .recommend_head img {
  margin: clamp(-30px, 1.343px + -2.985vw, -10px);
}
.recommend .recommend_flex {
  align-items: flex-start;
}
.recommend .recommend_list {
  width: 48%;
  max-width: 510px;
  border: 5px solid;
  border-image: linear-gradient(to bottom, #a86c2e 0%, #cca658 22%, #fbe48c 50%, #cca658 72%, #a86c2e 100%) 1;
  background: #fff;
}
.recommend .recommend_list h2 {
  min-height: clamp(80px, 51.642px + 7.463vw, 130px);
  font-size: clamp(24px, -40px + 8.333vw, 50px);
  color: #fff;
  text-align: center;
  font-family: "vdl-v7mincho", sans-serif;
  font-weight: 700;
  font-style: normal;
  box-shadow: 1px 1px 8px 1px rgba(23, 27, 40, 0.08);
  padding: 3% 2%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1 1 auto;
}
.recommend .recommend_list .en {
  font-family: "ltc-nicholas-cochin-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  text-align: center;
  background: linear-gradient(-2deg, rgba(109, 70, 30, 0.99608) 0%, rgb(109, 70, 30) 0%, rgb(168, 108, 46) 19%, rgb(204, 166, 88) 35%, rgb(225, 199, 108) 51%, rgb(168, 108, 46) 74%, rgb(109, 70, 30) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding: 3rem 2%;
}
.recommend .recommend_list ul {
  padding: 0 3% clamp(40px, 28.657px + 2.985vw, 60px);
  background: #fff;
}
.recommend .recommend_list ul li {
  font-size: clamp(20px, -19.385px + 5.128vw, 36px);
  font-weight: bold;
  letter-spacing: 0.05em;
  padding: clamp(20px, 14.328px + 1.493vw, 30px) 0;
  border-bottom: 1px solid;
  line-height: 1.2;
  padding-left: clamp(34px, 19.254px + 3.881vw, 60px);
  position: relative;
}
.recommend .recommend_list ul li span {
  color: #ff0f47;
}
.recommend .recommend_list ul li:first-of-type {
  border-top: 1px solid;
}
.recommend .recommend_list ul li::before {
  content: "";
  width: clamp(24px, 9.254px + 3.881vw, 50px);
  height: clamp(24px, 9.254px + 3.881vw, 50px);
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
}
.recommend .pico_list {
  position: relative;
}
.recommend .pico_list h2 {
  background-image: linear-gradient(0deg, rgb(80, 123, 181) 0%, rgb(93, 143, 210) 53%, rgb(80, 123, 181) 100%);
}
.recommend .pico_list ul li {
  border-bottom: 1px solid #507bb5;
}
.recommend .pico_list ul li::before {
  background-image: url(../images/pico_check.png);
}
.recommend .pico_list ul li:first-of-type {
  border-top: 1px solid #507bb5;
}
.recommend dl {
  background: #ff0f47;
  width: 44%;
  margin: auto;
  position: absolute;
  color: #fff;
  font-family: "vdl-v7mincho", sans-serif;
  font-weight: 700;
  font-style: normal;
  padding: 4% 2%;
  left: 2%;
  bottom: 3%;
}
.recommend dl::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 20px solid transparent;
  border-left: 20px solid transparent;
  border-bottom: 28px solid #ff0f47;
  border-top: 0;
  position: absolute;
  top: -28px;
  left: 50%;
  transform: translateX(-50%);
}
.recommend dl dt {
  font-size: clamp(18px, -26.308px + 5.769vw, 36px);
  letter-spacing: 0;
  text-align: center;
  border-bottom: 1px solid #fff;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}
.recommend dl dd {
  font-family: initial;
  font-weight: initial;
  font-size: clamp(15px, -12.077px + 3.526vw, 26px);
  line-height: 1.2;
}
.recommend dl dd span {
  color: #fff3ba;
}
.recommend dl dd ol {
  padding-left: 2rem;
}
.recommend dl dd ol li {
  list-style: disc;
  margin-top: 1rem;
}
.recommend .lumecca_list h2 {
  background-image: linear-gradient(0deg, rgb(63, 172, 182) 0%, rgb(74, 203, 215) 51%, rgb(56, 152, 161) 100%);
  letter-spacing: -0.2em;
}
.recommend .lumecca_list ul li {
  border-bottom: 1px solid #4acbd6;
}
.recommend .lumecca_list ul li::before {
  background-image: url(../images/lumecca_check.png);
}
.recommend .lumecca_list ul li:first-of-type {
  border-top: 1px solid #4acbd6;
}

.case {
  padding: 5rem 0;
  background-image: linear-gradient(90deg, rgba(188, 161, 95, 0.99608) 0%, rgb(188, 161, 95) 0%, rgb(210, 179, 106) 32%, rgb(194, 174, 113) 52%, rgb(160, 137, 81) 100%);
  box-shadow: 4px 7px 8px 1px rgba(23, 27, 40, 0.16);
  position: relative;
  /* 前へ次への矢印カスタマイズ */
  /* 前へ次への矢印カスタマイズ */
  /* 前への矢印カスタマイズ */
  /* 次への矢印カスタマイズ */
}
.case .title {
  margin-bottom: clamp(20px, 2.985px + 4.478vw, 50px);
}
.case .inner {
  width: 724px;
  max-width: 100%;
  text-align: center;
  margin: auto;
}
.case .swiper-button-prev,
.case .swiper-button-next {
  height: clamp(45px, 22.313px + 5.97vw, 85px);
  width: clamp(45px, 22.313px + 5.97vw, 85px);
}
.case .swiper-button-prev::after,
.case .swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  width: clamp(45px, 22.313px + 5.97vw, 85px);
  height: clamp(45px, 22.313px + 5.97vw, 85px);
  margin: auto;
}
.case .swiper-button-prev::after {
  background-image: url(../images/prev_btn.png);
}
.case .swiper-button-next::after {
  background-image: url(../images/next_btn.png);
}
.case .swiper-slide img {
  height: auto;
  width: 90%;
}

.kodawari {
  padding-top: clamp(60px, 25.97px + 8.955vw, 120px);
  padding-bottom: clamp(60px, 25.97px + 8.955vw, 120px);
}
.kodawari .kodawari_wrap {
  background: url(../images/kodawari_bg.jpg) no-repeat;
  background-size: cover;
  padding: 5% 8% 8%;
}
.kodawari p {
  color: #fff;
  font-size: clamp(16px, 8.06px + 2.09vw, 30px);
  line-height: 1.8;
  letter-spacing: 0.1em;
  margin-top: 2rem;
}
.kodawari p span {
  text-decoration: underline;
}

.reason {
  background: #f6efda;
  padding-bottom: clamp(60px, 25.97px + 8.955vw, 120px);
}
.reason .reason_head {
  background: url(../images/reason_title_bg.png) no-repeat;
  background-size: cover;
  background-position: center;
  padding: clamp(10px, -12.687px + 5.97vw, 50px) 0 clamp(20px, -8.358px + 7.463vw, 70px);
}
.reason .reason-wrap {
  margin-top: 3rem;
}
.reason .reason-block .title {
  color: #fff;
  font-size: clamp(20px, 7.522px + 3.284vw, 42px);
  font-family: "vdl-v7mincho", sans-serif;
  font-weight: 700;
  font-style: normal;
  background-image: linear-gradient(30deg, rgb(79, 123, 176) 0%, rgb(105, 145, 199) 12%, rgb(163, 189, 237) 47%, rgb(105, 145, 199) 100%);
  line-height: 1.3;
  padding: 2rem;
  padding-left: clamp(70px, -60.448px + 34.328vw, 300px);
  min-height: clamp(80px, 28.955px + 13.433vw, 170px);
  display: flex;
  align-items: center;
  position: relative;
}
.reason .reason-block .title::before {
  content: "";
  width: clamp(56px, -13.194px + 18.209vw, 178px);
  height: 241px;
  display: block;
  background-image: url(../images/reason_num01.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 5%;
  top: -2rem;
}
.reason .reason-block .reason_inner {
  background: #fff;
  padding: 2% 2% 2% 5%;
}
.reason .reason-block .text {
  width: 50%;
  margin-top: clamp(30px, 12.985px + 4.478vw, 60px);
  line-height: 2;
  font-weight: 300;
  letter-spacing: 0.05em;
}
.reason .reason-block .text span {
  color: #ff0f47;
}
.reason .reason-block figure {
  width: 49%;
  text-align: right;
}
.reason .reason-block + .reason-block {
  margin-top: 4rem;
}
.reason .reason-block:nth-of-type(1) .title::before {
  background-image: url(../images/reason_num01.png);
}
.reason .reason-block:nth-of-type(2) .title::before {
  background-image: url(../images/reason_num02.png);
}
.reason .reason-block:nth-of-type(3) .title::before {
  background-image: url(../images/reason_num03.png);
}

.voice {
  padding-top: clamp(60px, 25.97px + 8.955vw, 120px);
  padding-bottom: clamp(10px, -12.687px + 5.97vw, 50px);
}
.voice .voice-block {
  margin-top: 8rem;
  padding: 5rem 3rem 5rem 5rem;
  border: 2px solid #ff919b;
  position: relative;
}
.voice .voice-block::after {
  content: "";
  width: 36%;
  height: 100%;
  display: block;
  background-image: linear-gradient(180deg, rgba(255, 145, 155, 0.99608) 0%, rgb(255, 145, 155) 32%, rgb(255, 15, 71) 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.voice .voice-block .voice_flex {
  flex-direction: row-reverse;
}
.voice .voice-block .icon {
  position: absolute;
  top: -52px;
  right: -4%;
  z-index: 1;
}
.voice .voice-block .text {
  width: 50%;
  padding-top: clamp(20px, 8.657px + 2.985vw, 40px);
}
.voice .voice-block .text .age {
  font-size: clamp(16px, 10.328px + 1.493vw, 26px);
  font-weight: bold;
  text-align: center;
  color: #ff919b;
  margin-bottom: clamp(10px, 4.328px + 1.493vw, 20px);
  letter-spacing: 0.05em;
}
.voice .voice-block .text .title {
  font-size: clamp(20px, -34.468px + 7.092vw, 40px);
  font-weight: bold;
  border-top: 2px solid #ff919b;
  border-bottom: 2px solid #ff919b;
  letter-spacing: 0.04em;
  line-height: 1.4;
  padding: clamp(15px, 12.164px + 0.746vw, 20px) 0;
  width: 95%;
}
.voice .voice-block .text .title span {
  color: #ff919b;
}
.voice .voice-block .text p {
  margin-top: clamp(15px, 9.328px + 1.493vw, 25px);
  line-height: 1.6;
  font-size: clamp(15px, 11.03px + 1.045vw, 22px);
  font-weight: 500;
}
.voice .voice-block .text p span {
  color: #ff919b;
}
.voice .voice-block figure {
  width: 49%;
  text-align: left;
  padding-right: 2rem;
}
.voice .voice-block figure img {
  filter: drop-shadow(4px 13px 21px rgba(0, 0, 0, 0.13));
}
.voice .voice-block:nth-of-type(even) {
  border: 2px solid #a3bded;
}
.voice .voice-block:nth-of-type(even)::after {
  background-image: linear-gradient(180deg, rgb(79, 123, 176) 0%, rgb(105, 145, 199) 12%, rgb(163, 189, 237) 47%, rgb(105, 145, 199) 100%);
}
.voice .voice-block:nth-of-type(even) .text .age {
  color: #4f7bb0;
}
.voice .voice-block:nth-of-type(even) .text .title {
  border-top: 2px solid #4f7bb0;
  border-bottom: 2px solid #4f7bb0;
}
.voice .voice-block:nth-of-type(even) .text .title span {
  color: #4f7bb0;
}
.voice .voice-block:nth-of-type(even) .text p span {
  color: #4f7bb0;
}

.note {
  padding-top: clamp(40px, 22.985px + 4.478vw, 70px);
}
.note .inner {
  width: 1000px;
  max-width: 90%;
}
.note_wrap {
  background: #fff;
  border: 5px solid;
  border-image: linear-gradient(to bottom, #a86c2e 0%, #cca658 22%, #fbe48c 50%, #cca658 72%, #a86c2e 100%) 1;
  box-shadow: 8px 8px 18px rgba(77, 78, 61, 0.13);
  padding: 5% 4%;
}
.note_title {
  text-align: center;
  font-size: clamp(24px, 17.761px + 1.642vw, 35px);
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 2rem;
}
.note ul {
  list-style: disc;
  max-width: 900px;
  margin-top: 1.5rem;
}
.note ul li {
  line-height: 1.5;
  font-size: clamp(16px, 10.328px + 1.493vw, 26px);
  margin-left: clamp(25px, 16.493px + 2.239vw, 40px);
}
.note ul li + li {
  margin-top: 1.5rem;
}

.info {
  text-align: center;
  padding-top: clamp(50px, 32.985px + 4.478vw, 80px);
}
.info dl {
  margin-top: clamp(20px, 12.06px + 2.09vw, 34px);
}
.info dl dt {
  font-size: clamp(18px, 13.463px + 1.194vw, 26px);
  font-weight: 600;
  color: #4f7bb0;
  border-top: 1px solid #a3bded;
  padding-top: clamp(20px, 8.657px + 2.985vw, 40px);
  margin-bottom: clamp(10px, -7.015px + 4.478vw, 40px);
  letter-spacing: 0.2em;
}
.info dl dd {
  font-size: clamp(18px, 13.463px + 1.194vw, 26px);
  padding-bottom: clamp(20px, 8.657px + 2.985vw, 40px);
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.info dl dd:nth-of-type(1) {
  letter-spacing: 0.2em;
}

.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 31.25%;
  position: relative;
}
.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

footer {
  text-align: center;
  font-size: clamp(12px, 8.597px + 0.896vw, 18px);
  margin-top: 2rem;
  margin-bottom: 5rem;
}

/*==================================
レスポンシブ 768px
===================================*/
@media screen and (max-width: 768px) {
  .mv .mv_img {
    margin-top: clamp(-150px, -24.627px + -11.94vw, -70px);
    margin-left: 0;
  }
  .cv .cv_btn {
    width: 90%;
  }
  .open::after {
    top: 8rem;
  }
  .wadai_img {
    margin: 2rem auto clamp(-120px, 5.373px + -11.94vw, -40px);
  }
  .feature .feature_block {
    display: block;
  }
  .feature .feature_block_text {
    width: 100%;
    padding-left: 4rem;
    padding-right: 0;
    margin-bottom: 2rem;
  }
  .feature .feature_block_text .num {
    text-shadow: 1px 2px 8px rgba(23, 27, 40, 0.3);
  }
  .feature .feature_block_text p {
    font-size: clamp(16px, 12.597px + 0.896vw, 22px);
  }
  .feature .feature_block .feature_img {
    width: 100%;
    max-width: 100%;
  }
  .feature .feature_block:nth-of-type(even) .feature_block_text {
    padding-right: 4rem;
    padding-left: 0;
  }
  .recommend .flex {
    display: block;
  }
  .recommend .recommend_list {
    width: 100%;
    max-width: 100%;
  }
  .recommend .recommend_list h2 {
    font-size: clamp(24px, 9.254px + 3.881vw, 50px);
  }
  .recommend .recommend_list .en {
    padding: 2rem 2%;
  }
  .recommend .recommend_list ul {
    padding: 0 5% 4rem;
  }
  .recommend .pico_list {
    position: relative;
  }
  .recommend dl {
    width: 86%;
    position: sticky;
    margin-top: -1rem;
    margin-bottom: 3rem;
  }
  .recommend dl dt {
    font-size: clamp(18px, 7.791px + 2.687vw, 36px);
  }
  .recommend dl dd {
    font-size: clamp(15px, 8.761px + 1.642vw, 26px);
  }
  .case .swiper-slide img {
    height: auto;
    width: 90%;
  }
  .kodawari .kodawari_wrap {
    padding: 8%;
  }
  .reason .reason-block .title::before {
    left: 2%;
    top: -1rem;
  }
  .reason .reason-block .reason_inner {
    padding: 7%;
    display: block;
  }
  .reason .reason-block .text {
    width: 100%;
    margin-top: 0;
  }
  .reason .reason-block figure {
    width: 100%;
    text-align: center;
  }
  .voice .voice-block {
    padding: 7%;
  }
  .voice .voice-block::after {
    content: "";
    width: 100%;
    height: 30%;
    top: initial;
    left: 0;
    bottom: 0;
  }
  .voice .voice-block .voice_flex {
    display: block;
  }
  .voice .voice-block .icon {
    width: 50%;
  }
  .voice .voice-block .text {
    width: 100%;
  }
  .voice .voice-block .text .title {
    width: 100%;
    font-size: clamp(20px, 14.328px + 1.493vw, 30px);
  }
  .voice .voice-block .text .title span {
    color: #ff919b;
  }
  .voice .voice-block figure {
    width: 70%;
    margin: auto;
    text-align: center;
    margin-top: 2rem;
    padding-right: 0;
  }
  .note_wrap {
    padding: 7% 5%;
  }
  .note ul {
    max-width: 100%;
  }
  .info .logo {
    width: 70%;
    margin: auto;
  }
  .info dl dd:nth-of-type(1) {
    letter-spacing: 0.02em;
  }
  .gmap {
    padding-bottom: 56.25%;
  }
}