@charset "UTF-8";
/* CSS Document */ :root {
  --base-fnt: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Osaka, sans-serif;
  --fnt-din: "din-2014", var(--base-fnt);
  --head3:clamp(1.5rem, 1.259rem + 0.99vw, 2rem);/*24-32*/
  --head3_min:min(20px,calc(100vw/21.66));
  --head3_mid: min(30px, calc(100vw / 15));
  --base-clr: #1a1a1a;
  --clr-red: #e23c1d;
  --gra-grn: linear-gradient(90deg, #3cc828, #137b4a);
  --gra-org: linear-gradient(#f3b002, #e9090e);
  --wall-gry: #f5f5f5;
  --wall-pale-ylw: #fcf9f0;
  --bdr-gry: #eaeaea;
}
body {
  width: 100%;
  height: 100%;
  font-family: var(--base-fnt);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-font-feature-settings: 'liga', 'kern';
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-size: min(16px, 3.6vw);
  font-weight: 400;
  color: var(--base-clr);
}

a.cvr{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}

.fl{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.fl_c{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
}

.ai_c{
  -ms-align-items: center;
  align-items: center;
}
.pos-pic{
  position: absolute;
}
.grecaptcha-badge{
  visibility: hidden;
}
/*Container 
===============================================================*/
#container {
  width: 100%;
  min-height: 100dvh;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  overflow-x: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
#container::-webkit-scrollbar {
  display: none;
}
.inner {
  width: min(1200px, 100%);
  margin-left: auto;
  margin-right: auto;
  padding-left: min(50px, 4vw);
  padding-right: min(50px, 4vw);
}
.fnt-din {
  font-family: var(--fnt-din);
}
.clr-red {
  color: var(--clr-red);
}
#pagetop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  cursor: pointer;
  z-index: 5;
  display: none;
}
#pagetop.is-fit {
  position: absolute;
  bottom: auto;
  top: 0;
  transform: translateY(-100%);
}
.fnt-din {
  font-family: var(--fnt-din);
}
/*header/nav  
===============================================================*/
/*humhum
====================*/
#hum-button{
  position: fixed;
  top: 0;
  right: 0;
  width: min(70px,14vw);
  aspect-ratio:1;
  z-index: calc(infinity);
  display: none;
  cursor: pointer;
}
#hum-button button{
  width: 60%;
  height: 3px;
  background-color: var(--clr-red);
  position: relative;
  transition:rotate .3s ease;
}
#hum-button button::before
,#hum-button button::after{
  content: "";
  width: 100%;
  height: 3px;
  background-color: var(--clr-red);
  position: absolute;
  left: 50%;
  translate:-50% 0;
  transition:rotate .3s ease;
}
#hum-button button::before{
  top: max(-10px,-2vw);
}
#hum-button button::after{
  top: min(10px,2vw);
}
#hum-button.open button{
  rotate:45deg;
}
#hum-button.open button::before
,#hum-button.open button::after{
  rotate:90deg;
  top: 0;
}
#l-nav{
  opacity: 0;
  visibility: hidden;
  transition:all .3s ease;
  position: fixed;
  top: 0;
  height: 0;
  width: 100%;
  height: 100dvh;
  background-color: #fff;
  z-index: 100;
  overflow-y: scroll;
}
.l-nav_inner{
  width: 100%;
  min-height: 100%;
  padding-left: min(60px,4vw);
  padding-right: min(60px,4vw);
  padding-bottom: min(100px,15vw);
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr auto;
  gap: min(60px, 8vw);
}
.l-nav__head{
  display: grid;
  grid-template-columns: min(100px,25.64vw) auto;
  gap:min(24px,6vw);
  -ms-align-items: center;
  align-items: center;
}
.l-nav__head .title span{
  display: block;
  font-size: 1.7143em;
  margin-top: 5px;
}
.l-nav__menu{
  font-size: min(20px,4.5vw);
  font-weight: 600;
}
.l-nav__menu > li{
  padding-bottom: 10px;
}
.l-nav__menu > li::after{
  background: radial-gradient(circle farthest-side, #c9c9c9, #c9c9c9 60%, transparent 60%, transparent);
    background-size: 10px;
    content: '';
    height: 10px;
    width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
}
.l-nav__menu > li a{
  display: block;
  padding: .75em 2em .75em 1em;
}
.l-nav__menu > li a::before
,.l-nav__menu > li a::after{
  content: "";
  position: absolute;
  width: .5em;
  height: 2px;
  background-color: var(--clr-red);
  top: 50%;
  right: 1em;
  transform: rotate(30deg) translateX(-50%);
  transform-origin: 50% 50%;
}
.l-nav__menu > li a::after{
  transform: rotate(-30deg) translateX(-50%);
}
.l-nav__button{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap:min(30px,4vw) min(50px,4vw);
}
.l-nav__button .rect-button > a{
  display: grid;
  place-content:center;
  height: min(60px, 14vw);
  color: #fff;
  font-weight: 600;
  font-size: min(20px,4.5vw);
  border-radius: min(15px,3.8vw);
  overflow: hidden;
  isolation: isolate;
}
/*header
====================*/
header {
  width: 100%;
  padding: min(16px, 2.5vw) min(20px, 4vw);
  background: #fff;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
  border-bottom: 1px solid var(--bdr-gry);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}
header.fixed {
  position: fixed;
  top: 0;
  background: #D18283;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
  z-index: 9;
}
.header_inner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: min(30px, 3vw);
}
.site-title a {
  display: grid;
  grid-template-columns: min(85px, 20vw) auto;
  gap: min(15px, 3vw);
  -ms-align-items: center;
  align-items: center;
  font-weight: 600;
}
.site-title a .ttl > span {
  display: block;
}
.site-title a .ttl > span.sub {
  font-size: clamp(0.5rem, -0.11rem + 1.27vw, 0.875rem);
}
.site-title a .ttl > span.main {
  /*  font-size: min(24px,6vw);*/
  font-size: clamp(1.125rem, 0.515rem + 1.27vw, 1.5rem);
  margin-top: 5px;
}
.head-nav {
  margin-left: auto;
  display: grid;
  grid-template-columns: 1fr auto;
  -ms-align-items: center;
  align-items: center;
  gap: min(30px, 3vw);
}
.header__menu {
  gap: 10px 1em;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: clamp(0.875rem, 0.468rem + 0.85vw, 1.125rem);
}
.header__button {
  gap: min(15px, 2.5vw);
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.header__button .rect-button a {
  font-weight: 800;
  display: grid;
  place-content: center;
  color: #fff;
  padding: min(14px, 2vw);
  border-radius: min(15px, 3.6vw);
  font-size: clamp(0.625rem, -0.189rem + 1.69vw, 1.125rem);
}
.rect-button a {
  white-space: nowrap;
}
.rect-button.gra-grn > * {
  background: var(--gra-grn);
}
.rect-button.gra-org > * {
  background: var(--gra-org);
}
.rect-button.l-blk.inp > div, .rect-button.l-blk a {
  border: 1px solid currentColor;
}
/*main
===============================================================*/
main {
  flex: 1;
}

.in-text{
  font-kerning: none;
  line-height: calc(30/16);
}
/*title setting*/
.sec-title {
  font-size: min(24px, calc(100vw/19));
  font-weight: 800;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap: 10px;
}
.sec-title .main {
  font-size: min(1.5em, calc(100vw/13));
  text-align: center;
  line-height: calc(40/30);
}
.sec-title .main .fs-mid {
  font-size: 1.2em;
}
.sec-title .main .fs-wid {
  font-size: 2em;
}
.maker {
  background: linear-gradient(transparent calc(100% - 3px), var(--clr-red) 0%);
}
.maker_ylw {
  background: linear-gradient(transparent calc(100% - 3px), #ffec82 0%);
}
/*hero
=====================================*/
#hero.hero-main {
  width: 100%;
  height: 100%;
  padding-bottom: min(40px, 8vw);
}
#hero.hero-main::before {
  content: "";
  width: 135vw;
  aspect-ratio: 1 / 0.4267;
  position: absolute;
  left: 0;
  bottom: 0;
  background-image: url(../image/wall/hero_pc.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  translate: min(50px,4vw) 45%;
  pointer-events: none;
}
.hero-main_inner {
  width: min(1250px, 100%);
  padding-top: min(100px, 12vw);
  padding-left: min(50px, 4vw);
  padding-right: min(50px, 4vw);
  margin-left: auto;
  margin-right: auto;
  display: grid;
/*  grid-template-columns: auto min(400px, 45vw);*/
  grid-template-columns: 55% 45%;
  gap:min(40px, 8vw) 0;
  -ms-align-items: flex-start;
  align-items: flex-start;
}
.hero-title-area{
  padding-right: min(40px, 5vw);
}
.hero-form-area {
  grid-area: 1 / 2;
  background: #fff;
  border-radius: min(15px, 3.6vw);
  border: 3px solid var(--bdr-gry);
  padding: min(30px, 5vw) min(25px, 3vw);
}

/*form settinds*/
.form-button-set {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: min(15px, 3vw);
}
.form-button-set.full {
  grid-template-columns: min(272px, 100%);
  justify-content: center;
}
.rect-button.inp input {
  width: 100%;
  height: min(60px, 10vw);
  font-weight: 600;
}
.rect-button.inp.gra-grn input {
  color: #fff;
}
.rect-button.inp > div {
  border-radius: min(15px, 3.6vw);
  font-size: clamp(1rem, 0.111rem + 1.85vw, 1.5rem); /*16-24*/
}
.rect-button.form-back-button input {
  width: 5em;
  color: #cccccc;
}
.form-wrap {
  margin-top: min(20px, 4vw);
}
.form-title {
  display: grid;
  place-items: center;
  font-size: min(18px, 4vw);
  font-weight: 800;
  gap: .5em;
}
.form-title .min > span {
  font-size: 1.4em;
}
.form-title h2 {
  font-size: min(28px, 6vw);
}
.count-bar {
  display: grid;
  grid-template-columns: 1fr auto;
  -ms-align-items: center;
  align-items: center;
  gap: 5px;
  font-weight: 600;
}
.count-bar .bar {
  height: 8px;
  background-color: #cccfd1;
}
.count-bar .bar::after {
  content: "";
  height: 100%;
  width: var(--gauge);
  background-color: var(--clr-red);
  position: absolute;
  left: 0;
  top: 0;
}
.box-step01 .count-bar .bar::after {
  --gauge: calc(100%*1/4);
}
.box-step02 .count-bar .bar::after {
  --gauge: calc(100%*2/4);
}
.box-step03 .count-bar .bar::after {
  --gauge: calc(100%*3/4);
}
.box-step04 .count-bar .bar::after {
  --gauge: 100%;
}
.form-list {
  margin-top: min(20px, 4vw);
}
.form-list dt {
  font-weight: 600;
  font-size: min(14px, 3.6vw);
}
.form-list dd {
  margin-top: min(15px, 3vw);
}
.form-list dd input {
  height: min(55px, 10vw);
  font-size: 16px;
  width: 100%;
  border: 1px solid #bebebe;
  padding: 5px 1em;
}
.form-item .agree {
  margin-top: min(15px, 3vw);
  font-size: min(12px, 3.2vw);
}
.form-item .agree a {
  text-decoration: underline;
}
.check-wrap span {
  padding-left: 1.5em;
}
.check-wrap span::before {
  content: "";
  width: 1em;
  aspect-ratio: 1;
  border: 1px solid #bebebe;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
}
.check-wrap input:checked + span::before {
  background-image: url("../image/check.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70%;
}
.form-button-set {
  margin-top: min(40px, 6vw);
}
.box-step03 .form-button-set {
  margin-top: min(20px, 4vw);
}
input.js-submit:disabled {
  opacity: .5;
  cursor: no-drop;
}
.error-text {
  font-size: min(12px, 3.2vw);
  color: var(--clr-red);
  margin-top: 5px;
  padding-left: 1.25em;
  line-height: calc(16/12);
}
.error-text::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
.form-item .rep-text{
  font-size: min(12px,3vw);
  margin-top: 10px;
  line-height: calc(16 / 12);
}
.form-item .rep-text a{
  text-decoration: underline;
}
/*banner slide +++*/
.hero-banner-slider{
  grid-column: span 2;
}
#banner-slider {
  pointer-events: none;
}
#banner-slider .swiper-wrapper {
  transition-timing-function: linear !important;
}
#banner-slider .banner-slide-item{
  width: min(226px,calc(100vw/2));
  background: #fff;
  padding: min(10px,2vw) min(10px,1.5vw);
}
/*Content
=====================================*/
.lead-text {
  line-height: calc(30/20);
}
.fw-bld {
  font-weight: 800;
}
/*sec worries +++++++++++*/
.sec-worries-blc {
  background-color: var(--wall-gry);
  padding-top: min(100px, 25vw);
  padding-bottom: min(150px, 35vw);
  border-radius: min(90px, 20vw) min(90px, 20vw) 0 0;
}
.worries-detail-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(60px, 4vw);
  margin-top: min(50px, 10vw);
}
.worries-item {
  background-color: #fff;
  font-size: min(20px, 4vw);
  font-weight: 600;
  text-align: center;
  padding: min(40px, 5vw) min(30px, 4vw);
  border-radius: min(15px, 3.8vw);
}
.worries-item .thumb {
  margin-top: min(20px, 5vw);
}
/*sec reasons +++++++++++*/
.sec-reason-blc {
  width: min(1290px, 100%);
  padding-bottom: min(180px,25vw);
  gap:min(40px,12vw);
}
.sec-reason_solut{
  width: min(600px,100%);
  background-color: var(--clr-red);
  color: #fff;
  aspect-ratio:1/0.1867;
  border-radius: min(15px,3.8vw);
  font-size: min(24px,calc(100vw/19.5));
  font-weight: 600;
  display: grid;
  place-content:center;
  translate:0 -50%;
}
.sec-reason_solut p{
  white-space: nowrap;
  -webkit-text-stroke: 3px var(--clr-red);
  text-stroke: 3px var(--clr-red);
  paint-order: stroke fill;
  -webkit-paint-order: stroke fill;
}
.sec-reason_solut .thumb{
  position: absolute;
  right: max(-20px,-2vw);
  bottom: 0;
  width:  min(130px,22vw);  
}
.sec-reason-box {
  width: 100%;
  background-color: var(--clr-red);
  border-radius: min(20px, 5vw);
  display: grid;
  grid-template-columns: min(1100px, 100%);
  padding: min(60px, 8vw) min(40px, 2vw) min(50px, 10vw);
  gap: min(45px, 10vw);
}
.sec-reason-box::after{
  content: "";
  width: calc(100% - min(29px,7.5vw));
  background-image: url("../image/wall/next_arrow.svg");
  aspect-ratio:1/0.0967;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  bottom:1px;
  left: 50%;
  translate:-50% 100%;
}
.sec-reason-box .sec-title {
  color: #fff;
}
.reason-detail-list{
  counter-reset: count 0;
  display: grid;
  grid-template-columns: 1fr;
  gap:min(40px,10vw);
}
.reason-item {
  background-color: #fff;
  border-radius: min(15px, 3.8vw);
  padding: min(30px, 5vw) min(40px, 4vw);
  display: grid;
  grid-template-columns: auto 54%;
  gap: min(45px, 3vw);
  isolation: isolate;
}
.reason-item .thumb-area {
  display: grid;
  grid-template-columns: min(390px, 100%);
  place-content: center;
}
.reason-item .comment-area{
  display: grid;
  place-content:center;
  gap:min(15px,3vw);
}
.reason-item .comment-area::before{
  width: 1em;
  counter-increment: count 1;
  content: counter(count,decimal-leading-zero);
  position: absolute;
  right: 0;
  top: -.15em;
  font-family: var(--fnt-din);
  font-style: italic;
  font-size: clamp(6.25rem, 3.333rem + 9.72vw, 10.625rem);/*100 - 170*/
  letter-spacing: -.05em;
  opacity: .4;
  color: #fd1c20;
  font-weight: 300;
  translate: .1em 0;
}
.reason-item .comment-area .list-title{
  font-size: var(--head3);
  font-weight: 800;
  word-break: keep-all;
  line-height: calc(36/24);
  color: var(--clr-red);
}
.reason-item .lead-text{
  font-size: var(--head3_min);
  font-weight: 600;
}
.reason-item .lead-text span{
    display: inline;
  background-image: linear-gradient(transparent 60%, #faff7a 0);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  padding: 0 .3em;
}
/*sec achieve +++++++++++*/
.sec-achieve-blc{
  padding-top: min(90px,15vw);
  padding-bottom: min(45px,6vw);
  background-color: var(--clr-red);
}
.sec-achieve-blc .sec-title{
  color: #fff;
}
.sec-achieve-blc .sec-title .main{
  font-size: min(1.25em, calc(100vw / 16));
}

.achieve-slide-wrap{
  display: grid;
  grid-template-columns: min(1028px,80vw);
  justify-content: center;
  margin-top: min(60px,12vw);
}
.achieve-slide-item{
  background-color: #fff;
  padding: min(45px,6vw) min(30px,3vw);
  display: grid;
  grid-template-columns: min(912px,100%);
  justify-content: center;
  border-radius: min(15px,3.8vw);
}
.acv-pagenation{
  bottom: 0!important;
  margin-top: min(40px,6vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap:10px min(15px,3.85vw)
}
.acv-pagenation .swiper-pagination-bullet{
  border-radius: 0;
  margin: 0!important;
  opacity: 1;
  width: min(14px,3.5vw);
  height: auto;
  aspect-ratio:1;
  border: 1px solid #fff;
  background-color: transparent;
}
.acv-pagenation .swiper-pagination-bullet-active{
  background-color: #fff;
  
}
.acvslide-nav-wrap{
  position: absolute;
  width: min(1100px,87vw);
  top: 50%;
  left: 50%;
  translate:-50% -75%;
  pointer-events: none;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  z-index: 2;
}
.acvslide-nav-wrap button{
  height: min(60px, 10vw);
  aspect-ratio: 1 / 1.8;
  pointer-events: auto;
  position: relative;
}
.acvslide-nav-wrap button.acv-button-prev{
  scale:-1 1;
}
.acvslide-nav-wrap button::before
,.acvslide-nav-wrap button::after{
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;;
  position: absolute;
  top: 50%;
  left: 52%;
  transform: rotate(50deg) translateX(-50%);
  transform-origin: 50% 50%;
}
.acvslide-nav-wrap button::after{
  transform: rotate(-50deg) translateX(-50%);
}

/*sec voice ++++++++++++++*/
.sec-voice-blc {
  padding-top: min(90px, 15vw);
  padding-bottom: min(100px, 15vw);
}
.sec-voice-blc .sec-title .main{
  font-size: min(1.25em, calc(100vw / 13));
}
.sec-voice-box{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap:min(40px,5vw);
  margin-top: min(60px,10vw);
}
.voice-item{
  background-color: #fafafa;
  border-radius: min(15px,3.8vw);
  padding: min(40px,6vw) min(40px,4vw);
}
.voice__head {
  display: grid;
  grid-template-columns: min(74px,20vw) auto;
  -ms-align-items: center;
  align-items: center;
  gap:min(40px,4vw);
  font-size: min(20px,4.2vw);
  font-weight: 600;
  line-height: calc(30/20);
}
.voice__body{
  margin-top: min(30px,5vw);
  line-height: calc(30/16);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap:1em;
}
.voice__body > ul{
  background-color: #fff;
  padding: 2em 1em;
  font-weight: 600;
}
.pic-voice{
  bottom: 0;
  right: 0;
  width: min(163px,25%);
  translate:20% 20%;
}
.voice__body span{
    display: inline;
    background-image: linear-gradient(transparent 60%, #faff7a 0);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    padding: 0 .3em;
}
.voice__body b,
.in-text b{
    font-weight: 600;
}
/*sec howto +++++++++++++++*/
.sec-howto-blc{
  background-color: var(--wall-pale-ylw);
  padding-top: min(90px, 15vw);
  padding-bottom: min(100px, 15vw);
}
.sec-howto-box .sec-title .main{
  font-size: min(1.25em, calc(100vw / 13));
}
.howto-step-list{
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap:0 min(45px,4vw);
  margin-top: min(60px,10vw);
}
.step-item{
  display: grid;
  grid-auto-columns: 1fr;
  grid-template-rows: subgrid;
  grid-area: span 3;
  gap:min(20px,5vw) 0;
  align-items: center;
  justify-items: center;
}
.step-item .icon{
  width: 80%;
}
.step-item .in-title{
  font-size: min(18px,5vw);
  font-weight: 600;
  line-height: calc(26/18);
  color: var(--clr-red);
}
.step-item:not(:last-child)::before
,.step-item:not(:last-child)::after{
  content: "";
  width: 2px;
  height: min(20px,6vw);;
  position: absolute;
  right: max(-35px,-3vw);
  top: 50%;
  background-color: #ffa3a5;
  transform-origin: 0 50%;
}
.step-item:not(:last-child)::before{
  transform: rotate(-40deg) translateY(calc(-50% + 2px)) ;
}
.step-item:not(:last-child)::after{
  transform: rotate(40deg) translateY(calc(50% - 2px));
}
.step-item .in-text{
    font-kerning: none;
    line-height: calc(30 / 16);
/*    width: 100%;*/
    height: 100%;
}

/*sec faq +++++++++++*/

.sec-faq-blc{
  padding-top: min(90px, 15vw);
  padding-bottom: min(100px, 15vw);
  background-color: #fafafa;
  border-radius: min(90px, 20vw) min(90px, 20vw) 0 0;
}
.sec-faq-blc::before{
  content: "";
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  translate:-50% 0;
  background-color: var(--wall-pale-ylw);
  z-index: -1;
}

.sec-faq-box .sec-title .main{
  font-size: min(1.25em, calc(100vw / 13));
}

.faq-list{
  display: grid;
  grid-template-columns: min(960px,100%);
  gap:min(40px,10vw);
  margin-top: min(60px,10vw);
  justify-content: center;
}

.faq-item{
  background-color: #fff;
  padding: min(35px,4vw) min(50px,3vw);
  border-radius: min(15px,3.8vw);
}
.faq-item dt
,.faq-item dd{
  padding-left: min(35px,7vw);
}
.faq-item dt{
  font-size: min(18px,4vw);
  line-height: calc(24/16);
}
.faq-item dd{
  line-height: calc(24/14);
  margin-top: min(20px,4vw);
}
.faq-item dt::before
,.faq-item dd::before{
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 500;
}

.faq-item dt::before{
  content: "Q";
  color: var(--clr-red);
}
.faq-item dd::before{
  content: "A";
  color: #ffa3a5;
  translate: 10% 0;
}
.faq-item dt h3{
  font-weight: 600;
}
.pic-dwl_lf{
  bottom: max(-20px,-5vw);
  left: 0;
  width: min(200px,35vw);
}
.pic-dwl_rt{
  right: 0;
  bottom: max(-20px,-5vw);
  width: min(200px,35vw);
}
/*sec downloads +++++++++++*/
.sec-download-blc {
  background: linear-gradient(#fcf9f0 74%,#ffec82 74%);
  padding-top: min(100px, 15vw);
  padding-bottom: min(100px, 15vw);
}
.sec-download_intro {
  font-weight: 600;
  text-align: center;
}
.sec-download_intro .in-title {
  font-size:var(--head3_mid);
  line-height: calc(40/30);
}
.sec-download_intro .lead-text {
  line-height: calc(48/24);
  font-size: min(24px, 3.6vw);
  margin-top: min(50px, 10vw);
}
.sec-download_form {
  display: grid;
  grid-template-columns: min(580px, 100%);
  justify-content: center;
  padding-top: min(130px, 24vw);
}
.download-form-wrap {
  background: #fff;
  border-radius: min(15px, 3.6vw);
  border: 3px solid var(--bdr-gry);
  padding: min(30px, 5vw) min(25px, 3vw);
}
.download-form-wrap .fkds {
  position: absolute;
  right: 0;
  top: 0;
  width: min(30%, 28vw);
  translate: 40% -50%;
}


/*footer
===============================================================*/

footer {
  background-color: #2c1d1e;
  color: #fff;
  padding-top: min(40px, 10vw);
  padding-bottom: min(20px, 5vw);
}
.footer-inner{
  display: grid;
  grid-template-columns: auto 1fr;
  font-size: min(18px,3.6vw);
  gap:min(40px,5vw);
}

.box-foot_about .site-title{
  display: grid;
  grid-template-columns: min(140px,20vw) auto;
  -ms-align-items: center;
  align-items: center;
  gap:min(30px,5vw);
}
.box-foot_about .site-title .title{
  text-align: center;
  line-height: calc(25/18);
  font-weight: 600;
}
.box-foot_about .site-title .title span{
  display: block;
  font-size: min(36px,6vw);
}
.box-foot_about .address{
  line-height: calc(30/18);
  margin-top: min(20px,3vw);
}
.foot-nav{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap:10px min(1.5em,3vw);
}
.foot-nav > li:nth-child(n+2){
  padding-left: min(1.5em,3vw);
}
.foot-nav > li:nth-child(n+2)::before{
  content: "";
  height: 1em;
  width: 1px;
  background-color: #fff;
  position: absolute;
  left: 0;
  top: 50%;
  translate:0 -50%;
}
.box-foot_nav{
  display: grid;
  place-content:center;
}
footer .copy{
  text-align: center;
  margin-top: min(30px,6vw);
  font-weight: 600;
  font-size: min(14px,3.2vw);
}

/*page thanks ++++++++++++++++++++++++++++*/
main.under-main{
  display: grid;
  place-content:center;
  grid-template-columns: 1fr;
  gap:min(50px,12vw);
  padding-top: min(50px,10vw);
  padding-bottom: min(50px,10vw);
}
.page-thanks-box{
  border-radius: min(15px,3.8vw);
  box-shadow: 1px 0 8px rgba(136,83,136,.15);
}
.under-page-title{
  font-size: var(--head3_mid);
  font-weight: 600;
  text-align: center;
}
.page-thanks-box{
  display: grid;
  place-items:center;
  text-align: center;
  gap:min(50px,12vw);
  padding: min(90px,15vw) min(30px,3vw);
}
.page-thanks-box .rect-button{
  width: min(280px,100%);
}
.page-thanks-box .rect-button a{
  display: grid;
  place-content:center;
  color: #fff;
  height: min(60px,14vw);
  border-radius: min(15px,3.8vw);
  font-weight: 800;
  font-size: min(18px,4vw);
}