@charset "UTF-8";
/* responsive min:769px */

/*Reset =============================================*/
*{
  box-sizing: border-box;
  background-repeat: no-repeat;
}
html,body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,figure,figcaption,button{
  margin: 0;
  padding: 0;
}
ul,li{
list-style: none;
}
a{
text-decoration: none;
color: inherit;
}
a[href^="tel:"] {
  pointer-events: all;
}
img,svg{
vertical-align: bottom;
border: none;
width: 100%;
max-width:100%;
height:auto;
}
svg{
  /* fill: currentColor; */
  vertical-align: bottom;
}
button{
  background-color: inherit;
  border: none;
}
table {
  border-collapse: collapse;
}

[v-cloak] ,
[v-cloak] img{
  display: none;
}

/* lazyload ================================= */
.lazyload{opacity: 0;}
.lazyloaded, .lazyloading  {opacity: 1; transition: opacity 1000ms;}


/* Module =============================================*/
:root {
  --color-black: #161613;
  --color-black2: #212121;
  --color-black3: #666666;
  --color-black4: #444444;
  --color-red: #db3516;
  --color-pink: #ef7d83;
  --color-grey: #e4e1e1;
  --color-grey2: #f2f1ea;
  --color-grey-txt: #bababa;
  --color-white: #f1f0ed;
  --color-white2: #f9f9f7;
  --color-blue: #2992c9;
  --font-comp: "Barlow Semi Condensed",'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, 'MS Pゴシック', sans-serif;
  --font-ja: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, 'MS Pゴシック', sans-serif;
  --font-en: 'Barlow Semi Condensed', sans-serif;
  --filter-w: invert(100%) sepia(19%) saturate(377%) hue-rotate(316deg) brightness(100%) contrast(91%);
  --filter-wg: invert(96%) sepia(8%) saturate(14%) hue-rotate(314deg) brightness(86%) contrast(111%);
  --filter-red: invert(33%) sepia(39%) saturate(3362%) hue-rotate(347deg) brightness(84%) contrast(106%);
  --inn-w: 2em;
  --inn-w-minus: -2em;

  --kv-fill-color: #fff;
}


/* font-size =============================================*/
.vw_base{
  /* font-size: 10px; */
  font-size: clamp(10px,3.125vw,16px) !important;
  box-sizing: border-box;
}
.vw_base *{
  box-sizing: border-box;
}
@media (min-width: 769px) {
  .vw_base{
    /* W769:10 */
    font-size: clamp(10px,1.302083333vw,14px) !important;
  }
}/*  */

html {
  width: 100%;
  max-width: 100%;
}
/* body{
  font-family: 'Noto Sans JP', sans-serif;
} */

/* 共有パーツ =============================== */
.no_mv {
  padding-top: 8.5em;
}
.sec_bloc{
  padding-top: 3em;
  padding-bottom: 3em;
}

/* padding top and bottom */
.ptb05{ padding-top: .5em; padding-bottom: .5em;}
.ptb1{ padding-top: 1em; padding-bottom: 1em;}
.ptb2{ padding-top: 2em; padding-bottom: 2em;}
.ptb3{ padding-top: 3em; padding-bottom: 3em;}
.ptb4{ padding-top: 4em; padding-bottom: 4em;}
.ptb5{ padding-top: 5em; padding-bottom: 5em;}
.ptb6{ padding-top: 6em; padding-bottom: 6em;}
.ptb7{ padding-top: 7em; padding-bottom: 7em;}
.ptb8{ padding-top: 8em; padding-bottom: 8em;}
.ptb9{ padding-top: 9em; padding-bottom: 9em;}

/* padding left and right */
.plr05{ padding-left: .5em; padding-right: .5em;}
.plr1{ padding-left: 1em; padding-right: 1em;}
.plr2{ padding-left: 2em; padding-right: 2em;}
.plr3{ padding-left: 3em; padding-right: 3em;}
.plr4{ padding-left: 4em; padding-right: 4em;}
.plr5{ padding-left: 5em; padding-right: 5em;}
.plr6{ padding-left: 6em; padding-right: 6em;}
.plr7{ padding-left: 7em; padding-right: 7em;}
.plr8{ padding-left: 8em; padding-right: 8em;}
.plr9{ padding-left: 9em; padding-right: 9em;}

/* font-size */
.fz1{font-size:1em;}
.fz11{font-size:1.1em;}
.fz12{font-size:1.2em;}
.fz13{font-size:1.3em;}
.fz14{font-size:1.4em;}
.fz15{font-size:1.5em;}
.fz16{font-size:1.6em;}
.fz17{font-size:1.7em;}
.fz18{font-size:1.8em;}
.fz19{font-size:1.9em;}
.fz20{font-size:2em;}

._top0{ padding-top: 0 !important;}
._bottom0{ padding-bottom: 0 !important;}

.c_inner{
  padding-left: 2em;
  padding-right: 2em;
}
.c_wide{
  max-width: 1300px;
  margin: 0 auto;
}
.c_wide.c_inner{
  max-width: calc(1300px + (4em * 2) );
}
.max1000{ max-width: 1000px; margin: 0 auto; }
.max1200{ max-width: 1200px; margin: 0 auto; }
.max1400{ max-width: 1400px; margin: 0 auto; }
.pc{ display: none; }
._icon_w{ filter: var(--filter-w); }
.none{display: none;}
.height_img{
  height: 100%;
  width: auto;
}
.hov a{ transition: opacity .5s; }
.hov a:hover{ opacity: .7; }


/* font =============================== */
.en { font-family: var(--font-en); }
.ja { font-family: var(--font-ja); }
.comp { font-family: var(--font-comp); }
.center{ text-align: center;}
.left{ text-align: left;}
.left-center{ text-align: left;}
.center-left{ text-align: center;}
.small{font-size: .9em;}
.small2{font-size: .8em;}
.black{ color: var(--color-black);}
.red{ color: var(--color-red); }
.blue{ color: var(--color-blue); }

@media (min-width: 769px) {
  :root {
    --inn-w: 3em;
    --inn-w-minus: -3em;
  }
  .c_inner {
    padding-left: 4em !important;
    padding-right: 4em !important;
  }
  .sec_bloc{
    padding-top: 5em;
    padding-bottom: 5em;
  }
  .sp{display: none;}
  .pc{display: block;}

  .left-center{ text-align: center;}
  .center-left{ text-align: left;}
  
  .no_mv{
    padding-top: 3em;
  }
}/*  */


/* SECTION パーツ */
.sec_ttl,
.sec_ttl_s{
  font-size: 1em;
  padding: .3em 0;
}
.sec_ttl .en{
  display: block;
  font-size: 4em;
  font-weight: 600;
  line-height: 1;
}
.sec_ttl .ja{
  display: block;
  font-size: 1.6em;
  margin-top: 0.3em;
}
.sec_ttl_s .en{
  display: block;
  font-size: 3em;
  font-weight: 600;
  line-height: 1;
}
.sec_ttl_s .ja{
  display: block;
  font-size: 1.3em;
  margin-top: 0.3em;
}
.sec_desc {
  font-size: 1.4em;
  padding: 1em 0;
}
@media (min-width: 769px) {
  .sec_ttl {
    padding: 1em 0 2em;
  }
  .sec_ttl .en {
    font-size: 5em;
  }
}/*  */



/* Parts ========================== */
.link_btn{
  position: relative;
  display: block;
  width: fit-content;
  font-size: 1.3em;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--color-a);
  text-align: center;
  padding: 1.2em 0;
}
.link_btn.right{
  margin-left: auto;
}
.link_btn.center{
  margin: 0 auto;
}

.link_btn._arrow{
  padding-right: 1em;
}
.link_btn._arrow::after{
  content: "";
  display: block;
  width: 0.4em;
  height: 0.4em;
  position: absolute;
  right: 0.2em;
  top: 0.11em;
  bottom: 0;
  margin: auto;
  border-top: 0.15em solid;
  border-right: 0.15em solid;
  transform: rotateZ(45deg);
}

.link_btn._border::before{
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: currentColor;
  position: absolute;
  bottom: .8em;
  left: 0;
  right: 0;
  margin: auto;
  /* transform: scaleX(0); */
  transform-origin: right center;
  transition: transform .2s;
}
.link_btn._border:hover::before{
  animation: border_move forwards .4s ease normal;
}
@keyframes border_move {
  0%   { transform: scaleX(100%); transform-origin: right;}
  50%  { transform: scaleX(0); transform-origin: right;}
  51%  { transform: scaleX(0);   transform-origin: left;}
  100% { transform: scaleX(100%); transform-origin: left;} 
}


/* CONTACT 
========================================== */
button{cursor:pointer;border:none;background-color:transparent;}
button, [type="button"], [type="reset"], [type="submit"]{cursor:pointer;}
button, input, optgroup, select, textarea{font:inherit;}
button, select, textarea{color:inherit;border-style:none;background-color:transparent;}
button, html [type="button"], [type="reset"], [type="submit"]{border:none;border-radius:0;-webkit-appearance:button;}
button, select{text-transform:none;}
select::-ms-expand{display:none;}
select::-ms-value{color:currentColor;}
button{overflow:visible;}
textarea{overflow:auto;resize:vertical;}

.form-table {
  padding: 2em 0;
  width: 100%;
  text-align: left;
}
.form-table input::placeholder {
  color: #bbb;
}
.form-table tr{
  display: block;
  padding: .5em 0;
}
.form-table th,.form-table td{display:block;font-size:1.4em;}
.form-table th{font-weight:bold;margin-bottom:.25em;}
.form-table td{display:block;margin-bottom:1.5em;}
.form-table input,.form-table textarea{
  border: 0px;
  background:#efefef;
  padding:1em .8em;
  border-radius: .15em;
}
.form-supple p:not(:last-child){margin-bottom:1em;}
.input-list li{margin-top:.4em;margin-right:1em;margin-bottom:.4em;display:inline-block;}
.input-list li label{padding-left:.4em;}
.input,textarea{width:100%;font-size:1.4em;border-radius:0;border:1px solid #666;}
textarea{font-size:1em;}
.input.input-date{width:22%;}
.d-unit{margin:0 .5em;}
.select{padding:8px;font-size:1.6em;border:1px solid #666;}
.input-head{margin-bottom:1em;}
.form-operate{padding:0 0;text-align:center;}
.form-operate li{text-align:center;}
.form-operate li input{padding:1em 6em;color:#fff;font-weight:bold;font-size:1.6em;}
.form-operate li input[disabled]{cursor:not-allowed;background-color:#ccc;}
.form-operate li input.long-word{padding:0.8em 3em;}
.couple-operate li{float:left;width:46%;}
.couple-operate li:last-child{float:right;}
.couple-operate li input{padding:1em 0;width:100%;}
.primary-btn{background-color:#000;}
.secondary-btn{background-color:#ef1b49;}
.caution-txt{color:#ee0000;}
.error-list{padding:1.3em 4%;margin-bottom:1em;}

.restriction{margin-bottom:3em;text-align:center;}
.stand-btn{text-align:center;}
.back-btn{display:inline-block;background-color:#000;color:#fff;padding:0.8em 4em;text-align:center;}
.back-btn .arw{padding-right:1.2em;background-image:url(../img/common/w-arw.png);background-position:100% 50%;background-size:auto 12px;}

.form_button {
  display: block;
  width: 100%;
  text-align: center;
  font-size:1.6em;
  margin: .5em auto;
  max-width: 22em;
}
.form_button input {
  width: 100%;
  padding: 1em 0 1em 0;
  color: #fff;
  font-weight: bold;
}
.form_button input[disabled] {
  cursor:not-allowed;
  background-color: #ccc;
}
.form_button input.long-word {
  padding: 0.8em 3em;
}
.couple-operate-left{
  float: left;
  width: 46%;
}
.couple-operate-right {
  float: right;
  width: 46%;  
}
.couple-operate-left input, .couple-operate-right input{
  padding: 0.8em 0;
  width: 100%;
}
.contactbox input,
.contactbox textarea {
  padding: 8px;
  font-size: 1.6em;
  border-radius: 0;
  border: 1px solid #666;
}
.mail-error {
  color:#ee0000;
  margin-top:.5em;
}
.kanarazu {
  font-size:1.2em;
  margin-bottom:1em;
}
.form_block{
  padding: 3em 0;
  max-width: 70em;
  margin: auto;
}

/* RADIO */
.form_redio_box label{
  position: relative;
  display: block;
  font-size: .95em;
  font-weight: 500;
  padding-left: 2.7em;
  margin: 1.3em 0 1.6em;
}
.form_redio_box input{
  display: none;
}
.form_redio_box label::before{
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "・";
  display: inline-block;
  width: 1em;
  height: 1em;
  font-size: 2.1em;
  font-weight: bold;
  line-height: 1.05em;
  text-align: center;
  border-radius: 50%;
  color: transparent;
  background-color: #efefef;
}
.form_redio_box input[type="radio"]:checked + label{
  font-weight: bold;
}
.form_redio_box input[type="radio"]:checked + label::before{
  background-color: var(--color-red);
  color: var(--color-black);
}

@media (min-width:769px){
  .form_block {
    padding-bottom: 6em;
  }
  .form-table{
    margin-bottom: 5em;
  }
  .form-table tr{
    display: flex;
    border-bottom: 1px solid #ededed;
    padding: 3em 0;
  }
  .form-table th{
    width: 30%;
    margin: 1.2em 0 0;
  }
  .form-table tr:first-child th{
    margin: 0;
  }
  .form-table td{
    width: 70%;
    margin-bottom: 0;
  }
  .form_redio_box label {
    margin-top: 0;
  }
  .form_redio_box label:last-of-type {
    margin: .1em 0 0;
  }

}

/* LOAD ANIMATION====================== */
.loader.loaded {
  display: flex;
  transition: opacity .25s linear;
  opacity: .8;
}

.loader {
  opacity: 0;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  box-sizing: border-box;
  display: none;
  flex: 0 1 auto;
  flex-direction: column;
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: 25%;
  max-width: 25%;
  height: 150px;
  align-items: center;
  justify-content: center; 
}

/**
  * Lines
  */
@-webkit-keyframes line-scale {
  0% {
    -webkit-transform: scaley(1);
            transform: scaley(1); }
  50% {
    -webkit-transform: scaley(0.4);
            transform: scaley(0.4); }
  100% {
    -webkit-transform: scaley(1);
            transform: scaley(1); } }
@keyframes line-scale {
  0% {
    -webkit-transform: scaley(1);
            transform: scaley(1); }
  50% {
    -webkit-transform: scaley(0.4);
            transform: scaley(0.4); }
  100% {
    -webkit-transform: scaley(1);
            transform: scaley(1); } }

.line-scale > div:nth-child(1) {
  -webkit-animation: line-scale 1s -0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s -0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div:nth-child(2) {
  -webkit-animation: line-scale 1s -0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s -0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div:nth-child(3) {
  -webkit-animation: line-scale 1s -0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s -0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div:nth-child(4) {
  -webkit-animation: line-scale 1s -0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s -0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div:nth-child(5) {
  -webkit-animation: line-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div {
  background-color: #999;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
}
/* /LOAD ANIMATION ====================== */


/* COMPLETE 
====================================================*/
.form_comp_block{
  padding: 3em 0;
  max-width: 50em;
  margin: auto;
}
.form_comp_ttl {
  font-size: 1.5em;
  font-weight: bold;
}
.sec-lede-desc{
  padding: 2em 0;
}
.sec-lede-desc p {
  font-size: 1.1em;
  line-height: 1.6;
}
.caution-ttl{color:var(--color-red);font-size:1.3em;font-weight:bold;margin-bottom:1em;}