:root{
  --base-color:#222;
  --c-brawn : #a34728;
  --c-bkgray : #eeeeee;
}
/*横並び*/
.flex{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
.flex.Between {
  -webkit-box-pack :  justify;
  -ms-flex-pack :  justify;
  justify-content :  space-between;
}
.flex.Around{
  -ms-flex-pack :  distribute;
  justify-content :  space-around;
}
.flex.End{
  -webkit-justify-content :  flex-end;
  -ms-flex-pack :  end;
  justify-content :  flex-end;
}
.flex.Center{
  -webkit-justify-content :  center;
  -ms-flex-pack :  center;
  justify-content :  center;
}
.flex.align_s{
  align-items:flex-start
}
.flex.align_c{
  align-items:center;
}
.flex.wrap{
  flex-wrap: wrap;
}
.visual{
  text-align: center;
  line-height: 0;
}
.visual img{
  display: inline-block;
  height: auto;
}
.visual p{
  line-height: 1.25;
  text-align: right;
}
.visual img + p,
.caution{
  margin-top: min(6.667vw,50px);
  font-size: min(2.133vw,16px);
  letter-spacing: .15em;
}
/*画像のぼやけ対策*/
img {
  max-width: 100%;
  image-rendering: -webkit-optimize-contrast;
}

/* 全体 */
body{
  max-width: 750px;
  margin: auto;
  color: var(--base-color);
  font-size: 10px;
  /* font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif; */
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .1em;

  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  overflow-wrap: anywhere; 
  word-break: normal;
  line-break: strict;
  font-feature-settings: "palt" 0;
}
.inner{
  max-width: 750px;
  margin: auto;
}
.btn{
  display: inline-block;
  background-color: #c0463e;
  background-image: url(../img/btn-p.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: min(35.2vw,264px);
  border-radius: 7px;
  text-align: center;
  font-size: min(4vw,30px);
  font-weight: 600;
  color: #fff;
  line-height: 1;
  text-decoration: none;
  padding: min(2.933vw, 22px) 0 min(2.4vw, 18px);
  cursor: pointer;
}

/* header */
header{
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 111;
  background-color: #fff;
}
header .inner{
  padding: min(5vw,38px) min(3.34vw,25px);
  justify-content: space-between;
}
header .logo {
  max-width: 350px;
  width: 46.66vw;
}
header .btn-wrap{
  display: flex;
  gap: min(2.667vw,20px);
}
header .btn-wrap a{
  width: min(40vw,300px);
}
header .btn{
  max-width: min(64vw,480px);
  width: 40vw;
}

/* mv */
.mv{
  margin-bottom: min(6.66vw,50px);
}
.mv .inner{
  position: relative;
  padding:0;
  padding-top: min(19.46vw, 146px);
}
.mv .visual{
  position: relative;
  aspect-ratio: 1;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* cta */
.cta{
  width: 100%;
  aspect-ratio: 1;
  margin-top: min(6.66vw,50px);
  position: relative;
}
.cta::before{
  content: "";
  display: block;
  width: 100%;
  height: min(92vw,690px);
  background-image: url(../img/cta-bk@2x.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
  position: absolute;
  z-index: -1;
  bottom: 0;
}
.cta--title {
  width: min(86.667vw, 650px);
  aspect-ratio: 65 / 11;
  padding-bottom: min(1.33vw,10px);
  background-image: url(../img/cta-title-bk@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(5.33vw,40px);
  color: #c0463e;
  letter-spacing: .1em;
}
.cta--title span{
  margin: 0 .55em 0 0.55em;
  font-size: min(6.67vw, 50px);
  color: #fff;
  transform: translateX(.05em);
}
.cta--lead{
  width: min(89.33vw,670px);
  margin: min(2.4vw,18px) auto 0;
  background-color: #fff;
  text-align: center;
  font-size: min(3.733vw,28px);
  font-weight: bold;
  letter-spacing: .1em;
}
.cta > .visual:not(.cta--btn){
  width: min(89.33vw,670px);
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  bottom: min(26.667vw,200px);
}
.cta--btn{
  width: min(91.33vw,685px);
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  bottom: min(5.33vw,40px);
  transform: translateX(max(-2vw, -15px));
  transition: opacity .2s;
}
.cta--btn:hover{
  opacity: .8;
}

/*  */
.footprints-wrap {
  width: 100%;
}
.footprints-svg {
  display: block;
  width: 100%;
  height: auto;
}
.footprints-svg .paw-print {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  transform: translateY(20px) scale(0.9);
  transition:
    opacity 1.2s ease,
    transform 1.2s ease;
}
.footprints-svg .paw-print.is-show {
  opacity: 1;
  transform: translateY(0) scale(1);
}


/* --------------------------------------------------
 * font
 -----------------------------------------------------------------------------*/
.f-orange{
  color: #ff9966!important;
}
/* --------------------------------------------------
 * section 
 -----------------------------------------------------------------------------*/
.sec-wrap{
  width: 100%;
  padding: 0 min(5.33vw,40px);
}
.sec-wrap + .sec-wrap{
  margin-top: min(20vw,150px);
}
.sec-title{
  padding: 0 min(5.33vw,40px) min(8vw,60px);
  margin: 0 auto min(13.334vw,100px);
  color: #526982;
  position: relative;
}
.sec-title::after{
  content:"";
  display: block;
  width: min(94.667vw,710px);
  height: min(1.334vw,10px);
  background-color: #526982;
  position: absolute;
  left: 0;
  bottom: 0;
}
.sec-title--subtit{
  margin-bottom: min(6vw, 45px);
  font-size: min(3.733vw,28px);
  font-weight: 600;
  line-height: 1;
}
.sec-title--tit {
  font-size: min(6.4vw,48px);
  line-height: 1.208;
  letter-spacing: .05em;
}

/* sec-bk--blue */
.sec-bk--blue{
  padding-bottom: min(6.667vw,50px);
  background-color: #91a4b615;
}
[class*="sec-bk--"] .sec-title {
  margin-top: min(13.334vw, 100px);
}
/* sec-bk--green */
.sec-bk--green{
  background-color: #9ebca315;
}
.sec-bk--green .sec-title,
.sec-bk--green .c-injury--cost{
  color: #628b68;
}
.sec-bk--green .sec-title::after{
  background-color: #628b68;
}
.sec-bk--green .c-title-border{
  border-color: #9ebca3;
}
.sec-bk--green .txt-underline{
  background-image: linear-gradient(#9ebca350, #9ebca350);
}
.sec-bk--green .c-injury--arrow::before {
    border-top: min(5.33vw, 40px) solid #9ebca3;
}
.sec-bk--green .c-injury--subtit,
.sec-bk--green .c-injury-txt p b,
.sec-bk--green .c-injury--exes {
    color: #ffcc00;
}
/* sec-cta */
.sec-cta{
  margin-top: min(6.66vw,50px);
}
.sec-cta .c-title-border.slash::before,
.sec-cta .c-title-border.slash::after{
  width: min(.466vw, 4px);
  max-height: min(10vw,75px);
  bottom: 0;
  top: unset;
}
.sec-cta .c-title-border.slash::before{
  background-color: var(--base-color);
  transform: rotate(-35deg);
}
.sec-cta .c-title-border.slash::after{
  background-color: var(--base-color);
  transform: rotate(35deg);
}
/* sec-arrow */
.sec-arrow{
  padding-bottom: min(40vw,300px)!important;
  position: relative;
}
.sec-arrow.pb-min{
  padding-bottom: min(33.3333vw,250px)!important;
}
.sec-arrow::before,
.sec-arrow::after{
  content: "";
  width: 50%;
  height: min(33.33vw,250px);
  background-color: #fff;
  position: absolute;
  bottom: 0;
}
.sec-arrow::before{
  clip-path: polygon(0 0,100% 100%, 0 100%);
  left: 0;
}
.sec-arrow::after{
  clip-path: polygon(100% 0,100% 100%, 0 100%);
  right: 0;
}
/* -----------------------------
 * content 
 ------------------------------------------------------------------*/
.c-title-border{
  width: 100%;
  margin-bottom: min(6.33vw,50px);
  border-left: min(.533vw,5px) solid #91a4b6;
  border-right: min(.533vw,5px) solid #91a4b6;
  text-align: center;
}
.c-title-border--tit{
  font-size: min(5.33vw,40px);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .1em;
  font-feature-settings: "palt";
}
.c-title-border.brackets{
  position: relative;
}
.c-title-border.brackets::before,
.c-title-border.brackets::after{
  content: "";
  width: min(2vw,15px);
  height: min(.533vw,5px);
  background-color: #91a4b6;
  position: absolute;
}
.c-title-border.brackets::before{
  left: 0;
  top: 0;
}
.c-title-border.brackets::after{
  right: 0;
  bottom: 0;
}
.c-title-border.slash{
  border: none;
  position: relative;
}
.c-title-border.slash::before,
.c-title-border.slash::after{
  content:"";
  display: block;
  width: min(.533vw,5px);
  height: 100%;
  background-color: #91a4b6;
  position: absolute;
  transform-origin: top;
}
.c-title-border.slash::before{
  left: 0;
  top: 0%;
  transform: rotate(-15deg);
  
}
.c-title-border.slash::after{
  right: 0;
  top: 0%;
  transform: rotate(15deg);
}

.c-injury--list {
  margin-top: min(4vw, 30px);
}
.c-injury--list li + li{
  margin-top: min(13.33vw,100px);
}
.c-injury--title{
  padding: min(.667vw,5px) min(5.33vw,40px);
  background-color: #527889;
  color: #fff;
  line-height: 1.25;
}
.c-injury--title p{
  font-size: min(3.733vw,28px);
}
.c-injury--tit{
  font-size: min(4.533vw,34px);
}
.c-injury--cause{
  width: min(100vw,750px);
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  padding: 0 0 0 min(5.33vw, 40px);
  margin-top: max(-5.33vw, -40px);
  font-size: min(3.733vw, 28px);
  gap: min(1.5vw, 12px);
  letter-spacing: .04em;
}
.c-injury--cause p{
  width: min(44vw,330px); 
  flex:1;
}
.c-injury--cause .visual{
  width: min(46.667vw,350px);
}
.c-injury--cost{
  margin-bottom: min(6.667vw,50px);
  margin-top: min(12vw,70px);
  text-align: center;
  font-size: min(4.8vw,36px);
  font-weight: 600;
  color: #006699;
}
.c-injury--cost:has(+ .c-injury--arrow){
  margin-bottom: 0;
}
.c-injury--list li > p:not(.c-injury--cost){
  text-align: center;
  font-size: min(3.733vw,28px);
  line-height: 1.38;
}
.c-injury--list li b{
  color: #006699;
}
.c-injury--arrow {
  min-height: min(18.66vw, 140px);
  position: relative;
}
.c-injury--arrow::before,
.c-injury--arrow::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  bottom: 0;
  transform: translateX(-50%) translateY(-50%);
  margin: auto;
  height: fit-content;
}
.c-injury--arrow::before {
  bottom: max(-5.33vw,-40px);
  border-left: min(5.33vw,40px) solid transparent;
  border-right: min(5.33vw,40px) solid transparent;
  border-top: min(5.33vw,40px) solid #91afbb;
}
.c-injury--arrow::after {
  bottom: max(-5.09vw,-37px); 
  border-left: min(5.06vw,38px) solid transparent;
  border-right: min(5.06vw,38px) solid transparent;
  border-top: min(5.06vw,38px) solid #fff; 
}
@media screen and (max-width:480px){
  .c-injury--arrow::after {
    bottom: max(-5vw,-37px);
  }
}
.c-injury--solve {
  padding-right: min(5.33vw, 40px);
  gap: min(2.66vw, 20px);
}
.c-injury--solve .visual{
  width: min(51vw,390px);
}
.c-injury--solve .visual img{
  width: 100%;
}
.c-injury-txt{
  width: min(40vw,300px);
  display: flex;
  flex-direction: column;
}
.c-injury--subtit {
  margin-bottom: min(6.66vw, 50px);
  font-size: min(5.33vw, 40px);
  color: #ff9966;
  line-height: 1.25;
}
.c-injury-txt p {
  font-size: min(3.733vw, 28px);
  line-height: 1.38;
  /* font-feature-settings: "palt"; */
  white-space: nowrap;
  overflow: hidden;
  text-align: justify;
  letter-spacing: .08em;
}
.c-injury-txt p b{
  color: #ff9966;
}
.c-injury--exes {
  margin-top: auto;
  font-size: min(5.06vw, 38px);
  font-weight: 600;
  color: #ff9966;
  letter-spacing: -.04em;
  text-align: center;
}
.c-injury--exes span {
  display: block;
  text-align: center;
  border: 1px solid var(--base-color);
  background-color: #fff;
  font-size: min(3.733vw, 28px);
  color: var(--base-color);
  line-height: 1;
  letter-spacing: .05em;
  margin-bottom: .25em;
  padding: .125em;
}

/* c-voice--list */
.c-voice--list li + li{
  margin-top: min(13.33vw,100px);
}
.c-voice--title {
  background: #527889;
  color: #fff;
  padding: 0 0 0 min(54vw, 405px);
  font-size: min(5.33vw, 40px);
}
.c-voice--head p{
  padding: min(4vw, 30px) 0 0 min(54vw, 405px);
  font-size: min(3.733vw, 28px);
  line-height: 1.38;
}
.c-voice--head + .visual {
  margin-top: max(-29.33vw, -220px);
}

.c-faq--list li + li{
  margin-top: min(6.667vw,50px);
}
.c-faq--title{
  padding: .125em min(5.33vw, 40px) .125em calc(min(5.33vw, 40px) + 1.875em);
  background-color: #9ebca3;
  font-size: min(5.33vw, 40px);
  text-indent: -1.875em;
  color: #fff;
  position: relative;
  cursor: pointer;
}
.c-faq--title::before,
.c-faq--title::after{
  content:"";
  width: min(3.33vw,25px);
  height: min(.533vw,4px);
  background-color: #fff;
  position: absolute;
  right: min(6.66vw,50px);
  top: .85em;
  margin: auto;
}
.c-faq--title::after{
  transform: rotate(90deg);
  transition: .3s;
}
.c-faq--title.active::after{
  opacity: 0;
}
.c-faq--title ~ p{
  width: 100%;
  box-sizing: border-box;
  max-height: 0;
  padding: 0 min(5.33vw,40px);
  font-size: min(3.733vw,28px);
  overflow: hidden;
  transition: .3s;
  white-space: nowrap;
}
.c-faq--title.active ~ p{
  max-height: min(64vw,480px);
  padding: min(4vw,30px) min(5.33vw,40px) 0;
}
.c-faq--title ~ p b{
  color: #ffcc00;
}

.c-reserve--list{
  margin-top: min(13.33vw,100px);
}
.c-reserve--list p{
  background-color: #9ebca3;
  color: #fff;
  text-align: center;
  font-size: min(3.733vw,28px);
}
.c-reserve--list p + p{
  margin-top: min(2.66vw,20px);
}

.txt-underline{
  text-decoration: none;
  background-image: linear-gradient(#0066ff30, #0066ff30);
  background-repeat: repeat-x;
  background-size: 100% 10px;
  background-position: 0 90%
}
.txt-underline.orange{
  background-image: linear-gradient(#ff666630, #ff666630);
  color: #ff9966!important;
}
.txt-underline.pink{
  background-image: linear-gradient(#ff666630, #ff666630);
  color: #ff6666!important;
}



/* store-list */
.list-stores li + li{
  margin-top: min(6.667vw, 50px);
}
.list-stores-title{
  padding: min(1.33vw,10px) min(5.33vw,40px) min(1.27vw,9px);
  background-color: #91a4b6;
  text-align: left;
  font-size: min(5.33vw,40px);
  color: #fff;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
  position: relative;
  letter-spacing: .1em;
}
.list-stores-title::before,
.list-stores-title::after{
  content:"";
  width: min(3.33vw,25px);
  height: min(.533vw,4px);
  background-color: #fff;
  position: absolute;
  right: min(6.66vw,50px);
  top: .7em;
  margin: auto;
}
.list-stores-title::after{
  transform: rotate(90deg);
  transition: .3s;
}
.list-stores-title.active::after{
  opacity: 0;
}
.list-stores-title .ajuster{
  display: inline-block;
  padding: 0 .5em;
}
.list-stores .view{
  max-height: 0px;
  overflow-y: hidden;
  transition: all 1s ease-in-out;
}
.list-store{
  padding-top: min(4vw,30px);
  padding-bottom: min(.333vw,3px);
}
.list-store li{
  padding: 0 min(3.34vw, 25px);
  text-align: center;
}
.list-store li + li{
  margin-top: min(10vw, 75px);
}
.list-store .visual{
  width: min(40vw,300px);
  aspect-ratio: 300 / 195;
  overflow: hidden;
}
.list-store .visual img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.list-store .flex{
  gap: min(2.67vw,20px);
}
.list-store-txt{
  text-align: left;
}
.list-store-txt h4{
  font-size: min(3.47vw,26px);
  line-height: 1;
}
.list-store-txt p{
  margin-top: min(2.01vw,16px);
  font-size: min(3.2vw,24px);
}
.list-store .map{
  width: 100%;
  aspect-ratio: 70 /28 ;
  margin-top: min(4vw,30px);
  overflow: hidden;
}
.list-store .map iframe{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.list-store .btn{
  width: min(86.67vw,650px);
  margin-top: min(4vw,30px);
  padding-left: .2em;
  background-image: url(../img/btn-pw.svg);
  background-size: min(77.34vw,580px);
  font-size: min(4.8vw ,36px);
  box-shadow: min(.534vw,4px) min(.534vw,4px) 0 #cec3c2;
  font-feature-settings: "palt";
  letter-spacing: .0125em;
}
@media screen and (max-width:750px) {
  .list-store .btn{
    padding: min(2.933vw, 22px) 0 min(2.67vw, 20px);
    padding-left: .4em;
  }
}
.list-store .btn b{
  color: #dab436;
}

.list-stores .active + .view{
  max-height: fit-content;
}


/* -----------------------------------------
 * trend 
 ----------------------------------------------------------------*/
.trend .visual img{
  max-width: min(53.3vw,400px);
}
.trend-loop {
  overflow: hidden;
}
.trend-loop__row + .trend-loop__row {
  margin-top: 15px;
}
.trend-loop .swiper {
  overflow: visible;
}
.trend-loop .swiper-wrapper {
  transition-timing-function: linear;
}
.trend-loop .swiper-slide {
  width: 300px; /* 固定幅の方が見た目が安定 */
  flex-shrink: 0;
}
.trend-loop .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
}
/* SP */
@media (max-width: 767px) {
  .trend-loop__row + .trend-loop__row {
    margin-top: 10px;
  }

  .trend-loop .swiper-slide {
    width: 40vw;
  }
}

.trend-achieve--list li{
  display: flex;
  gap:min(12vw,90px);
  padding-left: min(5.33vw,40px);
}
.trend-achieve--list li + li{
  margin-top: min(13.334vw,100px);
}
.trend-achieve--list li:nth-of-type(2n){
  flex-direction: row-reverse;
  padding-right: min(5.33vw,40px);
  padding-left: 0;
}
.trend-achieve--list li.sand{
  padding: 0;
  position: relative;
}
.trend-achieve--list p{
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: min(3.733vw,28px);
  max-width: min(16.8vw, 126px);
}
.trend-achieve--list li.sand p{
  writing-mode:unset;
  text-orientation: unset;
  max-width: min(48vw,360px);
  width: min(48vw,360px);
  position: absolute;
  top: 0;
  right: min(5.33vw,40px);
}
.trend-achieve--list li.pt125 p{
  padding-top: min(16.66vw,125px); 
}
.trend-achieve--list .visual img{
  max-width: 100%;
}
.trend-achieve--list .sand .visual{
  width: 100%;
}
/* footer */
footer .inner{
  margin-top: min(13.334vw, 100px);
  padding: min(3.2vw, 24px) 0 min(2.67vw, 20px);
  text-align: center;
  font-size: min(2.6667vw, 20px);
  letter-spacing: .04em;
  background: #f6f8f9;
}

body:has(.thanks) footer .inner{
  padding: min(2.67vw, 20px) 0 min(2.67vw, 20px);
  background-color: var(--c-bkgray);
}



/* --- グラフの全体のスタイル設定 --- */
.donut-container {
  position: relative;
  width: min(53.33vw,400px);
  height: min(53.33vw,400px);
  margin: 0px auto;
}

/* SVG本体 */
.donut-svg {
  width: min(53.33vw,400px);
  height: min(53.33vw,400px);
  transform: rotate(-90deg);
}

/* 背景の白い円 */
.donut-bg {
  fill: none;
  stroke: #ffffff;
  stroke-width: 65;
}

/* 動くグレーの円（共通設定） */
.donut-path {
  fill: none;
  stroke: #91a4b6;
  stroke-width: 65;
  stroke-linecap: butt;
  /* 半径167.5の時の全周 */
  stroke-dasharray: 1052.4;
  stroke-dashoffset: 1052.4; /* 初期状態は消す */
  transition: stroke-dashoffset 2s ease-out;
}
.donut-path.green{
  stroke: #91afbb;
}
/* --- 個別の到達地点設定 --- */
/* 半数以上 (52.3%) */
.is-animated .path-52-3 {
  stroke-dashoffset: 465;
}

/* 98.9% */
.is-animated .path-98-9 {
  stroke-dashoffset: 11.6;
}

/* 中央テキストの共通スタイル */
.donut-label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #333;
  font-size: min(6vw,45px);
  letter-spacing: 0.05em;
  font-weight: 600;
}
.label-num{
  font-size: min(8vw,60px);
  letter-spacing: -0.05em;
}

/* 足跡 */
.cls-1{fill:#fff;}
.cls-2{fill:#91a4b6;fill-rule:evenodd;}
.cls-green{fill:#9ebca3!important;}





/* ---------------------------------
 * form
 ----------------------------------------------------------------------- */
/* form */
#form{
  margin-top: min(19.46vw, 146px);
  padding-bottom: min(8vw,60px);
}
.form-title{
  padding: min(.67vw, 5px);
  background-color: var(--c-bkgray);
  text-align: center;
  font-size: min(3.73vw, 28px);
  font-weight: 600;
  margin-bottom: min(7.333vw,55px);
}
a.contact-tel {
  display: block;
  width: 100%;
  margin-top: 2em;
  margin-left: auto;
  margin-right: auto;
  padding: 0em;
  border: 3px solid;
  border-color: #efefef;
  background-color: #ffffff;
  text-align: center;
}
a.contact-tel img{
  width: 100%;
  height: auto;
}
a.contact-hojyokin {
  display: block;
  width: 100%;
  margin-top: 2em;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
a.contact-hojyokin img{
  width: 100%;
  max-width: 380px;
  height: auto;
}
.form-lead{
  padding-top: min(9.87vw,80px);
  font-size: min(3.733vw,28px);
  line-height: 1.58;
}
.form-lead br{
  display: none;
}
@media screen and (max-width:480px) {
  .form-lead{
    white-space: nowrap;
  }
  .form-lead br{
    display: block;
  }
}
form {
  margin-top: min(13.34vw,100px);
  font-size: min(3.2vw, 24px);
}
form table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  margin-top:-1em;
}
form table tr th, form table tr td {
  display: block;
  width: 100%;
  padding: 0.5em 0 0.5em;
}
form table.table_noline tr th {
  text-align: left;
  padding: 1em 0 0;
}
form .must {
  display: inline-block;
  margin-left: 0.5em;
  font-weight: bold;
  color: #c0463e;
}
form .check {
  position: relative;
}
form .check + .check{
  margin-top: 1em;
}
form .check::after {
  position: absolute;
  top: 0.8em;
  right: 0;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.5em;
  height: 1.5em;
  content: "\002713";
  color: #fff;
  background-color: #dab436;
  border-radius: 50%;
  transition: all 0.2s ease-out;
  opacity: 0;
}
form .check .alert {
  margin-left: 3px;
  margin-top: 3px;
  padding: 4px 8px;
  background-color: #E60012;
  border-radius: 0;
  font-size: min(2.1vw,16px);
  line-height: 1;
  font-weight: bold;
  color: #fff;
  transition: all 0.2s ease-out;
  display: none;
}
form .check .alert.active {
    display: inline-block;
}
form .small {
  font-size: min(2.6667vw,16px);
}
.form_notice {
  margin-top: 0.6em;
  font-size: 0.875em;
  letter-spacing: 0.05em;
}
form input[type="text"], form textarea, form input[type="tel"], form input[type="email"] {
  width: 100%;
  padding: 0.8em;
  background-color: #F0F0F0;
  border: solid 1px #F0F0F0;
  border-radius: 0;
  -webkit-appearance: none;
}
form select, form input[type="date"] {
  padding: 0.8em;
  background-color: #F0F0F0;
  border: solid 1px #F0F0F0;
  border-radius: 0;
}
form input[type="text"].datepicker {
  width: 50%;
}
form input[type="text"]#yourname, form input[type="text"]#your-name {
    width: calc(100% - 2em);
}
.red, .notice {
  color: #9f0d0d;
  font-weight: 600;
}
/* 個別のやつ */
form select#sr {
  width: 100%;
}

.form_btn_send {
  display: flex;
  justify-content: center;
  margin: 1em 0 3em;
  padding-top: min(9.6vw,72px);
  text-align: center;
}
#send_btn, #back_btn {
  display: none;
}
.input_btn {
  display: block;
  width: min(64vw,480px);
  height: min(12vw,90px);
  background: #fff;
  border: solid 1px #c0463e;
  position: relative;
}
.input_btn::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: linear-gradient(#c0463e 0%, #c0463e 50%, #a63932 50%, #a63932 100%);
  border: solid 1px #c0463e;
}
.form_btn_send .input_btn::after {
    content: "";
    display: block;
    height: min(20vw,150px);
    width: min(21.3334vw,160px);
    right: -12%;
    bottom: -3px;
    position: absolute;
    background: url(https://www.onoya.com/sendai/cms/wp-content/themes/onoya_sendai2021/img/contact/common/contact-annai02.png) no-repeat;
    background-size: contain;
}
.input_btn .input_btn_label {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size: min(4.8vw,36px);
    font-weight: 700;
    line-height: 1;
    color: #fff;
    position: relative;
}
.input_btn::before {
  transition: all 0.3s ease-out;
  opacity: 1;
}
.input_btn_label::after {
  content: "";
  width: min(1.87vw,14px);
  height: min(1.87vw,14px);
  border-top: min(0.67vw,5px) solid #fff;
  border-right: min(0.67vw,5px) solid #fff;
  transition: all 0.3s ease-out;
  display: block;
  margin-left: 0.5em;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.input_btn:hover .input_btn_label {
    color: #a34728;
}
.input_btn:hover::before {
    opacity: 0;
}
.input_btn:hover .input_btn_label::after {
  border-color: #a34728;
}
.check_submitbtn {
  margin-top:  min(2.67vw,20px);;
  text-align: center;
}
.form_end{
  width: 100%;
  margin: min(8vw,60px) 0 0;
  padding: min(5.33vw,40px) min(8vw,60px);
  padding-top: min(6.67vw,50);
  background-color: var(--c-bkgray);
  text-align: justify;
  font-size: min(2.67vw,20px);
}
form .textlink{
  text-decoration: underline;
}

/* ---------------------------------
 * thx
 ----------------------------------------------------------------------- */
.thanks{
  font-size: min(2.66vw,20px);
  position: relative;
}
.thanks .inner{
  padding-top: min(20vw, 150px);
}
.thanks .sec-wrap p + p{
  margin-top: min(2.66vw,20px);;
}
.thanks .sec-wrap p:has(small){
  text-align: left;
}
.thanks .sec-wrap .visual{
  opacity: .25;
  position: absolute;
  z-index: -1;
}
.thanks .sec-wrap .form_end p{
  text-align: center;
}
.grecaptcha-badge{
  display: none!important;
  z-index: 99;
  bottom:  min(13.67vw, 100px)!important;
}
