@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter&family=Jost&family=Noto+Serif+JP&family=Overlock&display=swap");

@media only screen and (min-width: 641px) {
  .modaal-container {
    max-width: 55.56vw;
  }
}

.deco-underline {
  text-decoration: underline;
}

/** BUTTON
==============================================*/
.button-box {
  text-align: center;
}

.button-box__button {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  margin-right: auto;
  margin-left: auto;
  background-color: #006fcf;
  color: #fff;
  font-weight: 600;
  border: var(--pixel01) solid #fff;
  position: relative;
}
.button-box__button:hover {
  color: #fff;
  opacity: 1;
}
.button-box__button:after {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018.61%205.43%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-miterlimit%3A10%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22button%22%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%204.93%2017.16%204.93%2011.38%20.39%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  position: absolute;
}
@media only screen and (min-width: 641px) {
  .button-box__button {
    width: 29.17vw;
    min-height: 5vw;
    border-radius: 0.69vw;
    font-size: var(--pixel20);
    -webkit-filter: drop-shadow(0 0 0.42vw rgba(155, 156, 156, 0.5));
    filter: drop-shadow(0 0 0.42vw rgba(155, 156, 156, 0.5));
    border: var(--pixel01) solid #fff;
    text-shadow: 0.21vw 0.21vw 0.14vw rgb(0, 0, 0, 0.25);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .button-box__button:hover {
    -webkit-filter: drop-shadow(0 0 0.42vw rgba(155, 156, 156, 1));
    filter: drop-shadow(0 0 0.42vw rgba(155, 156, 156, 1));
  }
  .button-box__button:after {
    width: 1.3vw;
    height: 0.4vw;
    top: calc(50% - 0.2vw);
    right: 3.41vw;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .button-box__button:hover:after {
    -webkit-transform: translateX(1vw);
    transform: translateX(1vw);
  }
}
@media only screen and (max-width: 640px) {
  .button-box__button {
    width: 81.07vw;
    min-height: 14.4vw;
    border-radius: 1.89vw;
    font-size: var(--pixel14);
    -webkit-filter: drop-shadow(0 0 1.14vw rgba(155, 156, 156, 0.5));
    filter: drop-shadow(0 0 1.14vw rgba(155, 156, 156, 0.5));
    border: 0.19vw solid #fff;
    text-shadow: 0.57vw 0.57vw 0.38vw rgb(0, 0, 0, 0.25);
  }
  .button-box__button:after {
    width: 4vw;
    height: 0.9vw;
    top: calc(50% - 0.45vw);
    right: 9vw;
  }
}

.button-box__notes {
  text-align: center;
  color: #5a5a5a;
}
@media only screen and (min-width: 641px) {
  .button-box__notes {
    font-size: var(--pixel12);
    margin-top: 1.39vw;
  }
}
@media only screen and (max-width: 640px) {
  .button-box__notes {
    font-size: var(--pixel10);
    margin-top: 3vw;
  }
}

/** APPEAL BOX
==============================================*/
.appeal-box {
  text-align: center;
}

@media only screen and (min-width: 641px) {
  .appeal-box__name {
    font-size: var(--pixel16);
    margin-bottom: 0.5vw;
  }
}
@media only screen and (max-width: 640px) {
  .appeal-box__name {
    font-size: var(--pixel12);
    margin-bottom: 2vw;
  }
}

.appeal-box__appeal {
  display: inline-block;
  font-weight: 600;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#1e1e1e+0,5a5a5a+50,2f2f2f+100 */
  background: -webkit-linear-gradient(315deg, rgba(30, 30, 30, 1) 0%, rgba(90, 90, 90, 1) 50%, rgba(47, 47, 47, 1) 100%);
  background: linear-gradient(135deg, rgba(30, 30, 30, 1) 0%, rgba(90, 90, 90, 1) 50%, rgba(47, 47, 47, 1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1;
}
.appeal-box__appeal sup {
  font-size: 0.5em;
  top: -0.75em;
  background: -webkit-linear-gradient(315deg, rgba(30, 30, 30, 1) 0%, rgba(90, 90, 90, 1) 50%, rgba(47, 47, 47, 1) 100%);
  background: linear-gradient(135deg, rgba(30, 30, 30, 1) 0%, rgba(90, 90, 90, 1) 50%, rgba(47, 47, 47, 1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media only screen and (min-width: 641px) {
  .appeal-box__appeal {
    font-size: var(--pixel40);
  }
  .appeal-box__sub {
    font-size: var(--pixel16);
    margin-top: 0.5vw;
  }
}
@media only screen and (max-width: 640px) {
  .appeal-box__appeal {
    font-size: var(--pixel28);
    line-height: 1.25;
  }
  .appeal-box__sub {
    font-size: var(--pixel12);
    margin-top: 1vw;
  }
}

.appeal-box__dl {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
}
.appeal-box__dl > dt {
  color: #fff;
  background-color: #9b9ca0;
}
@media only screen and (min-width: 641px) {
  .appeal-box__dl {
    margin-top: 1vw;
  }
  .appeal-box__dl > dt {
    border-radius: 0.14vw;
    font-size: var(--pixel16);
    padding-right: 1.39vw;
    padding-left: 1.39vw;
    margin-right: 0.9vw;
  }
  .appeal-box__dl > dd {
    font-size: var(--pixel18);
  }
}
@media only screen and (max-width: 640px) {
  .appeal-box__dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    margin-top: 4vw;
  }
  .appeal-box__dl > dt {
    border-radius: 0.43vw;
    font-size: var(--pixel12);
    padding-right: 5.33vw;
    padding-left: 5.33vw;
    margin-bottom: 2vw;
  }
  .appeal-box__dl > dd {
    font-size: var(--pixel13);
  }
}

/** HEADLINE
==============================================*/
.headline__title {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  text-align: center;
  font-size: var(--pixel38);
}
@media only screen and (min-width: 641px) {
  .headline {
    margin-bottom: 5vw;
  }
}
@media only screen and (max-width: 640px) {
  .headline {
    margin-bottom: 12vw;
  }
}

/** SECTION HERO
==============================================*/
.section-hero {
  position: relative;
  background-color: #9b9ca0;
}
.section-hero:after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  left: 0;
  bottom: 0;
  background-image: -webkit-radial-gradient(rgba(89, 87, 87, 0.62), rgba(66, 66, 66, 1));
  background-image: radial-gradient(rgba(89, 87, 87, 0.62), rgba(66, 66, 66, 1));
}
.section-hero > * {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 641px) {
  .section-hero {
    margin-bottom: 6.94vw;
    box-shadow: 0 1.42vw 1.42vw -1.42vw rgba(0, 0, 0, 0.2) inset;
  }
  .section-hero:after {
    height: 25.42vw;
  }
  .section-hero .section-content {
    padding-top: 5vw;
    padding-bottom: 5.97vw;
  }
}
@media only screen and (max-width: 640px) {
  .section-hero {
    margin-bottom: 35vw;
    box-shadow: 0 0.76vw 0.76vw -0.76vw rgba(0, 0, 0, 0.2) inset;
  }
  .section-hero:after {
    height: 92vw;
  }
  .section-hero .section-content {
    padding-top: 6.4vw;
    padding-bottom: 18.13vw;
  }
}

.fv-item-block__txt {
  color: #fff;
  text-align: center;
}
@media only screen and (min-width: 641px) {
  .fv-item-block__txt {
    font-size: var(--pixel18);
    padding-bottom: 1.5vw;
  }
}
@media only screen and (max-width: 640px) {
  .fv-item-block__txt {
    font-size: var(--pixel12);
    padding-bottom: 6.13vw;
  }
}

.fv-item-block__lead {
  color: #fff;
  text-align: center;
  font-weight: 600;
}
@media only screen and (min-width: 641px) {
  .fv-item-block__lead {
    font-size: var(--pixel27);
    padding-bottom: 0.69vw;
    margin-bottom: 1.5vw;
  }
  .fv-item-block__lead .deco-underline {
    text-underline-offset: 0.69vw;
  }
}
@media only screen and (max-width: 640px) {
  .fv-item-block__lead {
    font-size: var(--pixel18);
    padding-bottom: 2.13vw;
    margin-bottom: 3vw;
  }
  .fv-item-block__lead .deco-underline {
    text-underline-offset: 2.13vw;
  }
}

.fv-item-block__figure {
  text-align: center;
}
.fv-item-block__figcaption {
  display: block;
}
@media only screen and (min-width: 641px) {
  .fv-item-block__img {
    width: 16.42vw;
    -webkit-filter: drop-shadow(0.21vw 0.21vw 0.42vw rgba(0, 0, 0, 0.25));
    filter: drop-shadow(0.21vw 0.21vw 0.42vw rgba(0, 0, 0, 0.25));
  }
  .fv-item-block__figcaption img {
    width: 35.67vw;
    margin-top: 2.08vw;
    margin-bottom: 1.6vw;
  }
}
@media only screen and (max-width: 640px) {
  .fv-item-block__img {
    width: 53.33vw;
    -webkit-filter: drop-shadow(0.5vw 0.5vw 1vw rgba(0, 0, 0, 0.25));
    filter: drop-shadow(0.5vw 0.5vw 1vw rgba(0, 0, 0, 0.25));
  }
  .fv-item-block__figcaption img {
    width: 55.99vw;
    margin-top: 5.33vw;
    margin-bottom: 6vw;
  }
}

.section-hero .appeal-box {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+50,ffffff+100&0+0,1+50,0+100 */
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  text-align: center;
}
@media only screen and (min-width: 641px) {
  .section-hero .appeal-box {
    padding-top: 1.7vw;
    padding-bottom: 1.7vw;
  }
}
@media only screen and (max-width: 640px) {
  .section-hero .appeal-box {
    padding-top: 5vw;
    padding-bottom: 6vw;
  }
}

.section-hero .button-box {
  width: 100%;
  position: absolute;
  left: 0;
}
@media only screen and (min-width: 641px) {
  .section-hero .button-box {
    top: calc(100% - 2.43vw);
  }
}
@media only screen and (max-width: 640px) {
  .section-hero .button-box {
    top: calc(100% - 7.2vw);
  }
}

/** SECTION CAMPAIGN
==============================================*/
@media only screen and (min-width: 641px) {
  .section-campaign {
    padding-top: 4vw;
  }
}
@media only screen and (max-width: 640px) {
  .section-campaign {
    padding-bottom: 5.5vw;
  }
}

.campaign-block__item:not(:first-child) {
}
@media only screen and (min-width: 641px) {
  .campaign-block__item:not(:first-child) {
    margin-top: 3vw;
  }
}
@media only screen and (max-width: 640px) {
  .campaign-block__item:not(:first-child) {
    margin-top: 5vw;
  }
}

.campaign-block__img {
  display: block;
  text-align: center;
}
.campaign-block__img img {
  max-width: 100%;
}

/** SECTION COMPARISON
==============================================*/
@media only screen and (min-width: 641px) {
  .section-comparison {
    padding-top: 5.5vw;
    padding-bottom: 5.5vw;
  }
}
@media only screen and (max-width: 640px) {
  .section-comparison {
    padding-top: 8vw;
    padding-bottom: 10vw;
  }
}

.comparison-head__txt {
  text-align: center;
  font-weight: 600;
}
@media only screen and (min-width: 641px) {
  .comparison-head__txt {
    font-size: var(--pixel27);
    margin-bottom: 2vw;
  }
}
@media only screen and (max-width: 640px) {
  .comparison-head__txt {
    font-size: var(--pixel14);
    margin-bottom: 4vw;
  }
}

.comparison-body {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 640px) {
  /* .comparison-body {
    padding-right: 3.2vw;
    padding-left: 3.2vw;
  } */
}

.comparison-item {
  text-align: center;
}
.comparison-item--business {
  background: #ebebeb;
}
.comparison-item--private {
  /* background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(227, 227, 230, 1) 24%, rgba(248, 249, 249, 1) 37%, rgba(227, 227, 229, 1) 53%, rgba(255, 255, 255, 1) 62%, rgba(227, 227, 230, 1) 88%, rgba(248, 249, 249, 1) 100%); */
  background: -webkit-radial-gradient(rgba(89, 87, 87, 0.62), rgba(66, 66, 66, 1));
  background: radial-gradient(rgba(89, 87, 87, 0.62), rgba(66, 66, 66, 1));
}
@media only screen and (min-width: 641px) {
  .comparison-item {
    width: 30.21vw;
    padding: 2vw 1.4vw;
  }
}
@media only screen and (max-width: 640px) {
  .comparison-item {
    width: 50vw;
    padding: 5vw 3.25vw;
  }
  /* .comparison-item:first-child {
    padding-right: 6.5vw;
  }
  .comparison-item:last-child {
    padding-left: 6.5vw;
  } */
}

.comparison-item__name {
  line-height: 1.4;
}
.comparison-item--business .comparison-item__name {
  color: #231815;
}
.comparison-item--private .comparison-item__name {
  color: #fff;
}
.comparison-item--private .comparison-item__name {
  font-weight: 600;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  align-items: center;
}
.comparison-item__name--sub {
  display: block;
}
@media only screen and (min-width: 641px) {
  .comparison-item__name {
    font-size: var(--pixel22);
    margin-bottom: 1vw;
  }
  .comparison-item__name--sub {
    font-size: var(--pixel16);
  }
}
@media only screen and (max-width: 640px) {
  .comparison-item__name {
    font-size: var(--pixel14);
    margin-bottom: 3vw;
  }
  .comparison-item__name--sub {
    font-size: var(--pixel10);
  }
}

.comparison--item__img,
.comparison--item__figcaption {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.comparison-item .comparison--item__img {
  position: relative;
}
.comparison-item--business .comparison--item__img:after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background-color: #9b9ca0;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2022%2022%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-miterlimit%3A10%3Bstroke-width%3A2px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22images%22%3E%3Cline%20class%3D%22cls-1%22%20y1%3D%2211%22%20x2%3D%2222%22%20y2%3D%2211%22%2F%3E%3Cline%20class%3D%22cls-1%22%20x1%3D%2211%22%20x2%3D%2211%22%20y2%3D%2222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center center;
}
/* .comparison-item--private .comparison--item__img:before {
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  position: absolute;
} */
@media only screen and (min-width: 641px) {
  .comparison--item__img {
    width: 22.22vw;
  }
  .comparison-item--business .comparison--item__img:after {
    width: 3.47vw;
    height: 3.47vw;
    background-size: 1.53vw 1.53vw;
    right: -5.73vw;
    top: calc(50% - 1.735vw);
  }
  .comparison-item--private .comparison--item__img:before {
    background-image: url(../images/icon-accent-pc.svg);
    width: 1.81vw;
    height: 1.77vw;
    left: -1.81vw;
    top: -1.77vw;
  }
  .comparison--item__figcaption {
    height: 3vw;
    margin-top: 2.36vw;
    margin-bottom: 1.39vw;
  }
}
@media only screen and (max-width: 640px) {
  .comparison--item__img {
    width: 100%;
  }
  .comparison--item__img img {
    width: 34.13vw;
  }
  .comparison-item--business .comparison--item__img:after {
    width: 6.13vw;
    height: 6.13vw;
    background-size: 2.7vw 2.7vw;
    right: -6.315vw;
    top: calc(50% - 3.65vw);
  }
  .comparison-item--private .comparison--item__img:before {
    background-image: url(../images/icon-accent-sp.svg);
    width: 2.78vw;
    height: 2.72vw;
    left: -2.78vw;
    top: -2.72vw;
  }
  .comparison--item__figcaption {
    height: 5.06vw;
    margin-top: 2.67vw;
    margin-bottom: 2.67vw;
  }
}

.comparison--item__txt {
  line-height: 1.5;
}
.comparison-item--business .comparison--item__txt {
  color: #231815;
}
.comparison-item--private .comparison--item__txt {
  color: #fff;
}
@media only screen and (min-width: 641px) {
  .comparison--item__txt {
    font-size: var(--pixel16);
    margin-bottom: 1.04vw;
  }
}
@media only screen and (max-width: 640px) {
  .comparison--item__txt {
    font-size: var(--pixel12);
    margin-bottom: 3.2vw;
  }
}

.comparison--item__use > li {
  letter-spacing: 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  line-height: 1.4;
  background-color: #fff;
}
/* .comparison-item--business .comparison--item__use > li {
  background-color: #9b9ca0;
}
.comparison-item--private .comparison--item__use > li {
  background-image: radial-gradient(rgba(89, 87, 87, 1), rgba(66, 66, 66, 1));
} */
@media only screen and (min-width: 641px) {
  .comparison--item__use {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    /* width: 27vw; */
    margin-right: auto;
    margin-left: auto;
  }
  .comparison--item__use > li {
    width: calc(50% - 0.52vw);
    border-radius: 0.14vw;
    font-size: var(--pixel17);
    min-height: 2.2vw;
    padding: 0.56vw;
  }
  .comparison--item__use > li:nth-child(odd) {
    margin-right: 1.04vw;
  }
  .comparison--item__use > li:not(:nth-child(-n + 2)) {
    margin-top: 0.92vw;
  }
}
@media only screen and (max-width: 640px) {
  .comparison--item__use > li {
    border-radius: var(--pixel02);
    font-size: var(--pixel13);
    min-height: 7.3vw;
    padding: 1.33vw;
  }
  .comparison--item__use > li:not(:first-child) {
    margin-top: 1.48vw;
  }
}

/** SPECIAL APPEAL
==============================================*/
.section-appeal {
  text-align: center;
}
@media only screen and (min-width: 641px) {
  .section-appeal {
    padding-top: 4.64vw;
    padding-bottom: 6.67vw;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,e3e3e6+24,f8f9f9+37,e3e3e5+53,ffffff+62,e3e3e6+88,f8f9f9+100 */
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(227, 227, 230, 1) 24%, rgba(248, 249, 249, 1) 37%, rgba(227, 227, 229, 1) 53%, rgba(255, 255, 255, 1) 62%, rgba(227, 227, 230, 1) 88%, rgba(248, 249, 249, 1) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(227, 227, 230, 1) 24%, rgba(248, 249, 249, 1) 37%, rgba(227, 227, 229, 1) 53%, rgba(255, 255, 255, 1) 62%, rgba(227, 227, 230, 1) 88%, rgba(248, 249, 249, 1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  }
}
@media only screen and (max-width: 640px) {
  .section-appeal {
    padding-top: 10vw;
    padding-bottom: 14vw;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,f8f9f9+37,e3e3e5+53,e3e3e6+83,f8f9f9+100 */
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(248, 249, 249, 1) 37%, rgba(227, 227, 229, 1) 53%, rgba(227, 227, 230, 1) 83%, rgba(248, 249, 249, 1) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(248, 249, 249, 1) 37%, rgba(227, 227, 229, 1) 53%, rgba(227, 227, 230, 1) 83%, rgba(248, 249, 249, 1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  }
}

.appeal-description {
  background-color: #fff;
}
.appeal-description__txt {
  line-height: 1.66;
}
@media only screen and (min-width: 641px) {
  .appeal-description {
    margin-top: 2.64vw;
    margin-bottom: 3vw;
    padding: 2vw;
  }
  .appeal-description__txt {
    font-size: var(--pixel16);
  }
}
@media only screen and (max-width: 640px) {
  .appeal-description {
    margin-top: 8.53vw;
    margin-bottom: 9.6vw;
    padding: 5.33vw;
  }
  .appeal-description__txt {
    font-size: var(--pixel12);
  }
}

/** SECTION BENEFIT
==============================================*/
.section-benefit {
  position: relative;
}
@media only screen and (min-width: 641px) {
  .section-benefit {
    padding-top: 8.68vw;
    padding-bottom: 5.21vw;
  }
}
@media only screen and (max-width: 640px) {
  .section-benefit {
    padding-top: 16vw;
    padding-bottom: 20.8vw;
  }
  .section-benefit .content {
    padding-right: 0;
    padding-left: 0;
  }
}

.benefit-headline {
  position: absolute;
  top: -1.5em;
  left: 0;
  width: 100%;
  text-align: center;
}
.benefit-headline__title {
  text-align: center;
  font-family: "Overlock", sans-serif;
  line-height: 1;
  color: rgb(66, 66, 66);
}
@media only screen and (min-width: 641px) {
  .benefit-headline__title {
    font-size: var(--pixel50);
  }
}
@media only screen and (max-width: 640px) {
  .benefit-headline__title {
    font-size: var(--pixel38);
  }
}

.benefit-list__item {
  position: relative;
}
@media only screen and (min-width: 641px) {
  .benefit-list {
    margin-bottom: 3vw;
  }
  .benefit-list__item {
    padding-top: 3vw;
    padding-bottom: 3vw;
  }
  .benefit-list__item:nth-child(odd) {
  }
  .benefit-list__item:nth-child(even) {
  }
}
@media only screen and (max-width: 640px) {
  .benefit-list__item {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }
}

.benefit-list__deco {
  font-family: "Jost", sans-serif;
  position: absolute;
  line-height: 1;
  z-index: 1;
  -webkit-transform-origin: bottom;
  transform-origin: bottom;
  color: rgb(66, 66, 66);
}
.benefit-list__item:nth-child(odd) .benefit-list__deco {
  -webkit-transform: rotate(90deg) translateY(1em);
  transform: rotate(90deg) translateY(1em);
}
.benefit-list__item:nth-child(even) .benefit-list__deco {
  right: 0;
  -webkit-transform: rotate(90deg) translateY(-1em);
  transform: rotate(90deg) translateY(-1em);
}
@media only screen and (min-width: 641px) {
  .benefit-list__deco {
    font-size: var(--pixel26);
    -webkit-text-decoration: underline 0.42vw;
    text-decoration: underline 0.42vw;
    text-underline-offset: 0.42vw;
    top: 3vw;
  }
  .benefit-list__item:nth-child(odd) .benefit-list__deco {
    left: -1vw;
  }
}
@media only screen and (max-width: 640px) {
  .benefit-list__deco {
    font-size: var(--pixel20);
    -webkit-text-decoration: underline 1.16vw;
    text-decoration: underline 1.16vw;
    text-underline-offset: 1.16vw;
    top: 12vw;
  }
  .benefit-list__item:nth-child(odd) .benefit-list__deco {
    left: -3vw;
  }
}

.benefit-list__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
}
@media only screen and (min-width: 641px) {
  .benefit-list__img {
    width: 30.56vw;
    height: 20.63vw;
    top: 3vw;
    position: absolute;
  }
  .benefit-list__item:nth-child(odd) .benefit-list__img {
    left: 0;
  }
  .benefit-list__item:nth-child(even) .benefit-list__img {
    right: 0;
  }
}
@media only screen and (max-width: 640px) {
  .benefit-list__img {
    width: 85.33vw;
    height: 57.6vw;
  }
  .benefit-list__item:nth-child(odd) .benefit-list__img {
    margin-left: 0;
    margin-right: auto;
  }
  .benefit-list__item:nth-child(even) .benefit-list__img {
    margin-left: auto;
    margin-right: 0;
  }
}

.benefit-list__info {
  background-image: -webkit-radial-gradient(rgba(89, 87, 87, 1), rgba(66, 66, 66, 1));
  background-image: radial-gradient(rgba(89, 87, 87, 1), rgba(66, 66, 66, 1));
  position: relative;
  z-index: 1;
}
.benefit-list__item:nth-child(odd) .benefit-list__info {
  margin-right: 0;
  margin-left: auto;
}
.benefit-list__item:nth-child(even) .benefit-list__info {
  margin-right: auto;
  margin-left: 0;
}
@media only screen and (min-width: 641px) {
  .benefit-list__info {
    width: 40.76vw;
    min-height: 20.63vw;
    padding: 4.17vw;
    margin-top: 2.16vw;
  }
}
@media only screen and (max-width: 640px) {
  .benefit-list__info {
    width: 90.62vw;
    padding: 8vw 7vw 8.5vw;
    margin-top: -7.47vw;
  }
}

.benefit-list__ttl {
  color: #fff;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.benefit-list__txt {
  color: #fff;
  line-height: 1.66;
  letter-spacing: 0;
}
@media only screen and (min-width: 641px) {
  .benefit-list__ttl {
    font-size: var(--pixel26);
    margin-bottom: 1.04vw;
  }
  .benefit-list__txt {
    font-size: var(--pixel16);
  }
}
@media only screen and (max-width: 640px) {
  .benefit-list__ttl {
    font-size: var(--pixel20);
    margin-bottom: 2.67vw;
  }
  .benefit-list__txt {
    font-size: var(--pixel12);
  }
}

/** CHECK BLOCK
==============================================*/
@media only screen and (min-width: 641px) {
  .check-block {
    margin-top: 4.17vw;
  }
}
@media only screen and (max-width: 640px) {
  .check-block {
    margin-top: 11.2vw;
  }
}

.check-box {
  text-align: center;
}

.check-list {
  display: inline-block;
  text-align: left;
}

.check-list > li {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  align-items: flex-start;
  position: relative;
  font-weight: 700;
}
.check-list > li:before {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22197.04%22%20height%3D%22200%22%20viewBox%3D%220%200%20197.04%20200%22%3E%3Cpath%20d%3D%22M484.6%2C2099.633l64.42%2C119.862%2C132.62-200L549.228%2C2160.9Z%22%20transform%3D%22translate(-484.598%20-2019.494)%22%20fill%3D%22%235a5a5a%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}
.check-list > li:after {
  content: "";
  width: 1em;
  height: 1em;
  position: absolute;
  left: 0;
  top: 0.45em;
  border: var(--pixel01) solid;
  border-radius: 0.2vw;
}
@media only screen and (min-width: 641px) {
  .check-list > li {
    font-size: var(--pixel18);
  }
  .check-list > li:not(:first-child) {
    margin-top: 1vw;
  }
  .check-list > li:before {
    min-width: 1.6vw;
    height: 1.6vw;
    margin-top: 0.1em;
    margin-right: 0.5vw;
  }
}
@media only screen and (max-width: 640px) {
  .check-list > li {
    font-size: var(--pixel14);
  }
  .check-list > li:not(:first-child) {
    margin-top: 3vw;
  }
  .check-list > li:before {
    min-width: 4vw;
    height: 4vw;
    margin-top: 1vw;
    margin-right: 2vw;
  }
}

/** SPEC BLOCK
==============================================*/
@media only screen and (min-width: 641px) {
  .spec-block {
    margin-top: 4.17vw;
  }
}
@media only screen and (max-width: 640px) {
  .spec-block {
    margin-top: 11.2vw;
  }
}

.spec-block__button {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  background: -webkit-radial-gradient(rgba(89, 87, 87, 0.62), rgba(66, 66, 66, 1));
  background: radial-gradient(rgba(89, 87, 87, 0.62), rgba(66, 66, 66, 1));
  color: #fff;
  border: var(--pixel01) solid #fff;
  font-weight: 600;
  width: 100%;
  line-height: 1.33;
  letter-spacing: 0.1em;
}
.spec-block__button:after {
  content: "";
  border: var(--pixel01) solid #fff;
  border-radius: 50%;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010.71%206.06%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-miterlimit%3A10%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22button%22%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%22.35%205.71%205.35%20.71%2010.35%205.71%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
.spec-block__button.is-active:after {
  -webkit-transform: rotate(0);
  transform: rotate(0);
}
@media only screen and (min-width: 641px) {
  .spec-block__button {
    border-radius: 0.69vw;
    min-height: 4.72vw;
    font-size: var(--pixel22);
  }
  .spec-block__button:after {
    width: 1.94vw;
    height: 1.94vw;
    background-size: 0.84vw 0.42vw;
    margin-left: 1.81vw;
  }
}
@media only screen and (max-width: 640px) {
  .spec-block__button {
    border-radius: 2.65vw;
    min-height: 37vw;
    font-size: var(--pixel17);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    text-align: center;
  }
  .spec-block__button:after {
    width: 7.47vw;
    height: 7.47vw;
    background-size: 2.68vw 1.34vw;
    margin-top: 2.67vw;
  }
}

@media only screen and (min-width: 641px) {
  .spec-block__cont {
    padding-top: 2.5vw;
  }
}
@media only screen and (max-width: 640px) {
  .spec-block__cont {
    padding-top: 9.6vw;
  }
}

.spec-item__title {
  text-align: center;
  font-weight: 600;
}
@media only screen and (min-width: 641px) {
  .spec-item__title {
    font-size: var(--pixel27);
    margin-bottom: 1.4vw;
  }
}
@media only screen and (max-width: 640px) {
  .spec-item__title {
    font-size: var(--pixel17);
    margin-bottom: 5.33vw;
  }
}

.spec-item__figure {
  text-align: center;
}
.spec-item__img {
  margin-right: auto;
  margin-left: auto;
}
.spec-item__figcaption {
  display: block;
}
.spec-item__figcaption img {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 641px) {
  .spec-item__figure {
    margin-bottom: 3.06vw;
  }
  .spec-item__img {
    width: 21.07vw;
    -webkit-filter: drop-shadow(0.1vw 0.1vw 0.2vw rgba(0, 0, 0, 0.25));
    filter: drop-shadow(0.1vw 0.1vw 0.2vw rgba(0, 0, 0, 0.25));
  }
  .spec-item__figcaption {
    margin-top: 2.15vw;
  }
  .spec-item__figcaption img {
    width: 41.02vw;
  }
}
@media only screen and (max-width: 640px) {
  .spec-item__figure {
    margin-bottom: 8vw;
  }
  .spec-item__img {
    width: 53.45vw;
    -webkit-filter: drop-shadow(0.5vw 0.5vw 1vw rgba(0, 0, 0, 0.25));
    filter: drop-shadow(0.5vw 0.5vw 1vw rgba(0, 0, 0, 0.25));
  }
  .spec-item__figcaption {
    margin-top: 4vw;
  }
  .spec-item__figcaption img {
    width: 55.99vw;
  }
}

.spec-info-dl {
  border: var(--pixel01) solid #595757;
}
.spec-info-dl > dt,
.spec-info-dl > dd {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  align-items: flex-start;
  line-height: 1.66;
}
.spec-info-dl > dt:not(:last-of-type),
.spec-info-dl > dd:not(:last-of-type) {
  border-bottom: var(--pixel01) solid #595757;
}
.spec-info-dl > dt {
  background-color: #f0f1f1;
}
.spec-info-dl__dt {
  font-weight: 700;
  color: #4d4d4d;
}
.spec-info-dl__dt .font-normal {
  font-weight: 400;
}
.spec-info-dl > dd {
  background-color: #fff;
}
.spec-info-dl__txt--accent {
  color: #a70000;
}
.spec-info-dl__appeal {
  font-weight: 600;
}
.spec-info-dl__txt .icon-next {
  vertical-align: middle;
}
.spec-info-dl__notes > li {
  text-indent: -1em;
  padding-left: 1em;
}
.spec-info-dl__notes > li:before {
  content: "※";
}
.spec-info-dl__notes--asterisk > li:before {
  content: "＊";
}
@media only screen and (min-width: 641px) {
  .spec-info-dl {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
  }
  .spec-info-dl > dt {
    width: 18vw;
    padding: 1.56vw;
    border-right: var(--pixel01) solid #595757;
  }
  .spec-info-dl__dt {
    font-size: var(--pixel14);
  }
  .spec-info-dl > dd {
    width: calc(100% - 18vw);
    padding: 1.11vw 2.43vw;
  }
  .spec-info-dl__txt {
    font-size: var(--pixel14);
  }
  .spec-info-dl__txt .icon-next {
    width: 1.4vw;
    margin-bottom: 0.4vw;
    margin-right: 0.3vw;
    margin-left: 0.3vw;
  }
  .spec-info-dl__appeal {
    font-size: var(--pixel17);
  }
  .spec-info-dl__small,
  .spec-info-dl__notes {
    font-size: var(--pixel12);
  }
  .spec-info-dl__notes {
    margin-top: 0.3vw;
  }
}
@media only screen and (max-width: 640px) {
  .spec-info-dl > dt {
    padding: 4vw;
  }
  .spec-info-dl__dt {
    font-size: var(--pixel12);
  }
  .spec-info-dl > dd {
    padding: 4vw;
  }
  .spec-info-dl__txt {
    font-size: var(--pixel12);
  }
  .spec-info-dl__txt .icon-next {
    width: 5vw;
    margin-bottom: 1.5vw;
    margin-right: 1.5vw;
    margin-left: 1.5vw;
  }
  .spec-info-dl__appeal {
    font-size: var(--pixel14);
  }
  .spec-info-dl__small,
  .spec-info-dl__notes {
    font-size: var(--pixel10);
  }
  .spec-info-dl__notes {
    margin-top: 1vw;
  }
}

.spec-info__notes > li {
  text-indent: -1em;
  padding-left: 1em;
}
.spec-info__notes > li:before {
  content: "※";
}
.spec-info__notes--number {
  counter-reset: number;
}
.spec-info__notes--number > li {
  text-indent: -2em;
  padding-left: 2em;
}
.spec-info__notes--number > li:before {
  counter-increment: number;
  content: "※" counter(number) ":";
}
@media only screen and (min-width: 641px) {
  .spec-info__notes {
    font-size: var(--pixel12);
    margin-top: 2.92vw;
  }
}
@media only screen and (max-width: 640px) {
  .spec-info__notes {
    font-size: var(--pixel10);
    margin-top: 6.67vw;
  }
}

/** SECTION FAQ
==============================================*/
.section-faq {
  background-image: -webkit-radial-gradient(rgba(89, 87, 87, 1), rgba(66, 66, 66, 1));
  background-image: radial-gradient(rgba(89, 87, 87, 1), rgba(66, 66, 66, 1));
  color: #fff;
  position: relative;
}
@media only screen and (min-width: 641px) {
  .section-faq {
    padding-top: 8vw;
    padding-bottom: 12.3vw;
    margin-bottom: 10vw;
  }
}
@media only screen and (max-width: 640px) {
  .section-faq {
    padding-top: 18vw;
    padding-bottom: 30.67vw;
    margin-bottom: 37.33vw;
  }
}
.faq-q,
.faq-a {
  background-color: rgba(255, 255, 255, 0.1);
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  align-items: flex-start;
}
.faq-q:before,
.faq-a:before {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  font-family: "Inter", sans-serif;
  font-size: var(--pixel22);
}
.faq-q:before {
  content: "Q";
}
.faq-a:before {
  content: "A";
}
.faq-a:before {
  background-color: #348497;
}
@media only screen and (min-width: 641px) {
  .faq-q,
  .faq-a {
    padding: 1.58vw;
  }
  .faq-q:before,
  .faq-a:before {
    width: 2.32vw;
    height: 2.32vw;
    margin-right: 1.53vw;
  }
}
@media only screen and (max-width: 640px) {
  .faq-q,
  .faq-a {
    padding: 6.05vw;
  }
  .faq-q:before,
  .faq-a:before {
    width: 8.91vw;
    min-width: 8.91vw;
    height: 8.91vw;
    margin-right: 3.61vw;
  }
}

@media only screen and (min-width: 641px) {
  .faq-q {
    font-size: var(--pixel14);
  }
  .faq-q:not(:first-of-type) {
    margin-top: 0.79vw;
  }
}
@media only screen and (max-width: 640px) {
  .faq-q {
    font-size: var(--pixel12);
  }
  .faq-q:not(:first-of-type) {
    margin-top: 2.67vw;
  }
}

.faq-a {
  position: relative;
}
.faq-a:after {
  content: "";
  position: absolute;
  top: 0;
  background-color: #adadad;
  height: var(--pixel01);
}
@media only screen and (min-width: 641px) {
  .faq-a:after {
    width: calc(100% - 3.16vw);
    left: 1.58vw;
  }
}
@media only screen and (max-width: 640px) {
  .faq-a:after {
    width: calc(100% - 12.1vw);
    left: 6.05vw;
  }
}

@media only screen and (min-width: 641px) {
  .faq-a__txt {
    font-size: var(--pixel14);
  }
}
@media only screen and (max-width: 640px) {
  .faq-a__txt {
    font-size: var(--pixel12);
  }
}

.section-faq .button-box {
  width: 100%;
  position: absolute;
  left: 0;
}
@media only screen and (min-width: 641px) {
  .section-faq .button-box {
    top: calc(100% - 2.43vw);
  }
}
@media only screen and (max-width: 640px) {
  .section-faq .button-box {
    top: calc(100% - 7.2vw);
  }
}

/** MODAL
==============================================*/
.modaal-outer-wrapper,
.modaal-inner-wrapper {
  display: block;
}
.modaal-container {
  color: #5a5a5a;
  -webkit-border-image: -webkit-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(227, 227, 230, 1) 24%, rgba(248, 249, 249, 1) 37%, rgba(227, 227, 229, 1) 53%, rgba(255, 255, 255, 1) 62%, rgba(227, 227, 230, 1) 88%, rgba(248, 249, 249, 1) 100%);
  -o-border-image: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(227, 227, 230, 1) 24%, rgba(248, 249, 249, 1) 37%, rgba(227, 227, 229, 1) 53%, rgba(255, 255, 255, 1) 62%, rgba(227, 227, 230, 1) 88%, rgba(248, 249, 249, 1) 100%);
  border-image: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(227, 227, 230, 1) 24%, rgba(248, 249, 249, 1) 37%, rgba(227, 227, 229, 1) 53%, rgba(255, 255, 255, 1) 62%, rgba(227, 227, 230, 1) 88%, rgba(248, 249, 249, 1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  border-image-slice: 1;
}
.modaal-content-container {
  padding-bottom: 0;
}
.modaal-close:before,
.modaal-close:after {
  background-color: #4d4d4d;
}
@media only screen and (min-width: 641px) {
  .modaal-container {
    border-top: 1.67vw solid;
  }
  .modaal-close {
    width: 1.67vw;
    height: 1.67vw;
  }
  .modaal-close:before,
  .modaal-close:after {
    top: -1.67vw;
    left: 0.5vw;
  }
  .modal-cont {
    width: 48.61vw;
    margin-right: auto;
    margin-left: auto;
  }
  .modaal-container .modaal-close {
    top: 0;
  }
}
@media only screen and (max-width: 640px) {
  .modaal-container {
    border-top: 6.4vw solid;
    max-width: 100%;
  }
  .modaal-close {
    width: 6vw;
    height: 6vw;
  }
  .modaal-close:before,
  .modaal-close:after {
    top: -6vw;
    left: 0;
    height: 100%;
    width: 1.07vw;
  }
  .modal-cont {
    padding: 5.33vw;
  }
  .modaal-container .modaal-close {
    top: 0;
  }
}

@media only screen and (min-width: 641px) {
  .modal-cont__block:not(:last-child) {
    margin-bottom: 3vw;
  }
}
@media only screen and (max-width: 640px) {
  .modal-cont__block:not(:last-child) {
    margin-bottom: 8vw;
  }
}

.modal-cont__ttl {
  font-family: "Noto Serif JP", serif;
  border-bottom: var(--pixel01) solid #595757;
  font-weight: 600;
}
@media only screen and (min-width: 641px) {
  .modal-cont__ttl {
    font-size: var(--pixel26);
    padding-bottom: 1vw;
  }
}
@media only screen and (max-width: 640px) {
  .modal-cont__ttl {
    font-size: var(--pixel20);
    padding-bottom: 2vw;
  }
}

.modal-cont__sub-ttl {
  font-family: "Noto Serif JP", serif;
  border-bottom: var(--pixel01) solid #595757;
}
@media only screen and (min-width: 641px) {
  .modal-cont__sub-ttl {
    font-size: var(--pixel24);
    padding-bottom: 1vw;
  }
}
@media only screen and (max-width: 640px) {
  .modal-cont__sub-ttl {
    font-size: var(--pixel18);
    padding-bottom: 2vw;
  }
}

.modal-cont__list-square > li {
  text-indent: -1em;
  padding-left: 1em;
  text-align: left;
  line-height: 2;
}
.modal-cont__list-square > li:before {
  content: "■";
}
@media only screen and (min-width: 641px) {
  .modal-cont__list-square > li {
    font-size: var(--pixel14);
  }
}
@media only screen and (max-width: 640px) {
  .modal-cont__list-square > li {
    font-size: var(--pixel10);
  }
}

.modal-cont__list-dot > li {
  text-indent: -1em;
  padding-left: 1em;
  text-align: left;
  line-height: 2;
}
.modal-cont__list-dot > li:before {
  content: "・ ";
}
@media only screen and (min-width: 641px) {
  .modal-cont__list-dot > li {
    font-size: var(--pixel14);
  }
}
@media only screen and (max-width: 640px) {
  .modal-cont__list-dot > li {
    font-size: var(--pixel10);
  }
}

@media only screen and (min-width: 641px) {
  .modal-cont .button-box {
    padding-top: 2vw;
    padding-bottom: 2vw;
  }
}
@media only screen and (max-width: 640px) {
  .modal-cont .button-box {
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
}
