html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}input,button,select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-radius:0;font:inherit;outline:none}a{text-decoration:none;color:#000}::selection{background:#ddd}img{max-width:100%;border-style:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none;user-drag:none;vertical-align:bottom}
.sp{display:none!important}
@media screen and (max-width: 768px){.sp{display:block!important}.pc{display:none!important}}
input[type="submit"],input[type="button"],input[type="reset"]{appearance: button;border: none;border-radius: 0;box-sizing: border-box;cursor: pointer;-webkit-box-sizing:content-box;-webkit-appearance: button;}
.flex{display: -moz-flex;display: -ms-flex;display: -o-flex;display: flex;display: -webkit-flex;flex-wrap: wrap;-webkit-flex-wrap:wrap;}
.flex--start{justify-content: flex-start;-webkit-justify-content: flex-start;}
.flex--center{justify-content: center;-webkit-justify-content: center;}
.flex--end{justify-content: flex-end;-webkit-justify-content: flex-end;}
.flex--bet{justify-content: space-between;-webkit-justify-content: space-between;}
.flex--around{justify-content: space-around;-webkit-justify-content: space-around;}
.flex--between{-webkit-box-pack:justify;  -ms-flex-pack:justify;  justify-content:space-between;}
.col1{width:100%;}.col50{width:50%;}.col2{width:48%;}.col3{width:30%;}.col4{width:23%;}.col5{width:18.4%;}.col6{width:15%;}.col3_2{width: 68%}
.col40{width: 42%}.col60{width: 56%}
.vaC{align-items: center;}.vaB{align-items: flex-end;}
.mT20{margin-top: 20px}
.mT80{margin-top: 80px}
.font12{font-size: 1.3rem;}
.font20_red{font-size: 1.5rem;color: #ff0000;font-weight: bold}
a{ color: #3d3939;transition: 0.4s;}
a:link {color: #3d3939;-moz-transition: all 0.2s ease-in-out;-webkit-transition: all 0.2s ease-in-out;-o-transition: all 0.2s ease-in-out;transition: all 0.2s ease-in-out;}
a:visited {color: #3d3939;}
a:hover,a:active{color:#01a268;text-decoration: none;opacity: 0.7;filter: alpha(opacity=70);-ms-filter: "alpha(opacity=70)";}
a.anker{
   display:inline-block;z-index: -1;
   margin-top:-100px;
   padding-top:100px;
}
.txtlink{text-decoration: underline}
@media screen and (min-width: 769px) {/*PCスタイル*/
a[href*="tel:"] {pointer-events: none;cursor: default;text-decoration: none;}
}
.Tleft{ text-align:left;}.Tright{ text-align:right;}.Tcenter{ text-align:center;}
.bold {font-weight: 800;}
.palt{font-feature-settings: "palt";-webkit-font-feature-settings: "palt";}

.inner--base{margin:auto;width: 80%; position: relative}
.inner--short{margin: auto;width: 70%;position: relative}
@media screen and (max-width: 1200px) {
.inner--base{width:  96%;}
}
@media screen and (max-width: 985px) {/*小さい画面*/
.inner--short{margin: auto;width: 90%;position: relative}
}

@media screen and (max-width: 768px) {/*スマホのスタイル*/
.inner--base{width:  96%;}
a.anker{
   display: block;
   margin-top:-60px;
   padding-top:60px;
}
}

/*===========
body
============*/
@media screen and (orientation: landscape) {/* 横向きの場合のスタイル*/}
@media screen and (orientation: portrait) {/* 縦向きの場合のスタイル */}

/* html/body
------------------------------------------------- */
html{width: 100%;overflow-y: scroll;font-size: 62.5%;-webkit-font-smoothing: antialiased;scroll-behavior: smooth;}

@media screen and (max-width: 768px) {/*スマホのスタイル*/
html {overflow-x: hidden;}
}
body {
font-family: "M PLUS 1p", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
position: relative;width: 100%;height: 100%;font-size: 16px;font-size: 1.6rem;line-height: 1.8;background: #fff; color: #000;-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;overflow-x: hidden;position: relative;transition: 0.4s;overflow-x: hidden;box-sizing:border-box;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;-ms-box-sizing: border-box;-o-box-sizing: border-box;text-size-adjust: 100%;-webkit-text-size-adjust: 100%;/*Chrome,Safari*/-ms-text-size-adjust: 100%;/*EgdeMobile*/-moz-text-size-adjust: 100%;/*firefox*/
}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
body {font-size: 13px;font-size: 1.3rem;}
}



/*STYLE
------------------------------------------------- */
#wrapper {position: relative;}

/*header*/
#header{background: #faee00;position: relative;}
#header .content{text-align: left;padding: 8% 0}
#header .mv{width: 40%; position: absolute;right: 0;bottom: 0}
#header .mv img{object-fit:contain}

#header .content h2{padding-top: 3%; font-size: calc(1.25vw + 1.5rem);letter-spacing: 0.1em;line-height: 1.6;font-weight: 800}
#header .content h2 span{font-size: calc(3vw + 1.5rem);display: block;line-height: 1.4;margin-top: 1%;}
#header .bt{width: 40%;margin-top: 3%}

#header .bt a:hover {display: block;
  animation: poyopoyo 1s ease-out infinite;
  opacity: 0.7;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}

@media screen and (max-width: 768px) {/*スマホのスタイル*/
#header .content{text-align: left;padding: 0%;padding-top: 20px}
#header .content h2{text-align: center;margin-top: 20px;font-size: calc(1vw + 1.5rem);}
#header .content h2 span{margin-top: 20px}
#header .mv{width: 100%; position: static;right: 0;bottom: 0;text-align: center;margin-top: 30px}
#header .mv img{width: 40%}
#header .bt{width: 60%;margin: 20px auto 0}
}

#header .thankscontent{text-align: center;position: relative;padding-bottom: 30px}
#header .thankscontent .logo{text-align: left;padding-top: 20px}
#header .thankscontent h2{color: #e95513;padding-top: 3%; font-size: calc(1.25vw + 1.7rem);letter-spacing: 0.1em;line-height: 1;font-weight: 800}
#header .thankscontent h2 span{font-size: calc(1vw + 1.4rem);margin-right: 20px; display: inline-block;border: 1px solid #666;background: #fff;color: #000;border-radius: 15px;padding: 4px 20px;}
#header .thankscontent .total{color: #e95513;font-size: calc(1.25vw + 20rem);font-weight: 800;line-height: 0.9;}
#header .thankscontent .total span{font-size: calc(3vw + 50rem);}
#header .thankscontent .tksimg{position:absolute;width: 26%;right: 0;bottom: 0}

#header .thankscontent .advice {  position: relative;  display:block;  margin-bottom: 20px;  padding: 30px;  border: 1px solid #000000;  border-radius: 12px;  background-color: #ffffff;  text-align: left;  width: 86%;margin-left: 0;margin-top: 70px;box-sizing:border-box;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;-ms-box-sizing: border-box;-o-box-sizing: border-box;}
#header .thankscontent .advice p{margin-right: 15%}
#header .thankscontent .advice p span{font-size: calc(1.25vw + 1.1rem);font-weight: 800}

#header .thankscontent .advice::before {  content: "";  position: absolute;  bottom: 0;  left: 77%;  border-style: solid;  border-width: 20px 0 0 20px;  border-color: #000000 transparent transparent;  translate: -50% 100%;  transform: skew(14deg);  transform-origin: top;}

#header .thankscontent .advice::after {  content: "";  position: absolute;  bottom: 0;  left: 77%;  border-style: solid;  border-width: 17.6px 0 0 17.6px;  border-color: #ffffff transparent transparent;  translate: calc(-50% + 0.2px) 100%;  transform: skew(14deg);  transform-origin: top;}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
#header .thankscontent{padding-bottom: 60px}
#header .thankscontent h2 span{display: block;margin: 20px}
#header .thankscontent .total{font-size: calc(1.25vw + 8rem);}
#header .thankscontent .total span{font-size: calc(3vw + 16rem);}
#header .thankscontent .advice {padding: 20px;width: 100%;margin-left: 0;margin-top: 10px}
#header .thankscontent .advice p{margin-right: 0%}
#header .thankscontent .advice::before {left: 57%;}
#header .thankscontent .advice::after {left: 57%; }
}


@media print,screen and (min-width:768px){ /*PC独自設定*/
}
@media screen and (max-width: 1200px) and (orientation: landscape) {
/*デバイス横向きで画面の横幅が 1200px 以下の場合のスタイルを記述*/
}
@media screen and (max-width: 1200px) {/*小さい画面*/
}

.about{padding: 80px 0;background: url("../images/shindan_bg.png") repeat;text-align: center}
.about p{font-family: "Oswald", sans-serif;    color:#DED4D4;  font-size: calc(0.5vw + 10rem);font-weight: 800; }
.about h2{margin-top: -20px; font-size: calc(0.2vw + 1.5rem);letter-spacing: 0.1em;line-height: 2.5;font-weight: 800; }
.about  .inner--base{
  position: relative;
 
}
.about  .inner--base::before,
.about  .inner--base::after {
  position: absolute;
  width: 20px;
  height: 30px;
  content: '';
}
.about  .inner--base::before {
  border-left: double 10px #e95513;
  border-top: double 10px #e95513;
  top: 0;
  left: 0;
}
.about  .inner--base::after {
  border-right: double 10px #e95513;
  border-bottom: double 10px #e95513;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
.about p{font-size: calc(0.5vw + 6rem);font-weight: 800; }
.about h2{margin-top: 0px;font-size: calc(0.2vw + 1.4rem);}
}
.concept{padding: 80px 0;text-align: center}
.concept p{text-align: left; font-size: calc(0.2vw + 1.5rem);letter-spacing: 0.1em;line-height: 2.5;}
.concept .underline{background: linear-gradient(transparent 50%, #faee00 0%);}
.concept h2{margin-top: 70px;display: inline-block;text-align: center;font-weight: 800; font-size: calc(3vw + 1.5rem);letter-spacing: 0.1em;background: url("../images/nami.svg") repeat-x center bottom;background-size: auto 12px}
.concept .checkkoumoku{display: inline-block;margin-top: 50px}
.concept .checkkoumoku p{text-align: left;padding-left: 50px; position: relative;font-size: calc(0.5vw + 1.5rem);font-weight: 800; }
.concept .checkkoumoku p::before {  content: '';  position: absolute;  top: 60%;  background-position: center;  background-repeat: no-repeat;  background-size: contain;  left: 0;  transform: translateY(-50%);  width: 2em;  height: 2em;  background-image: url("../images/checkmark.svg");}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
.concept{padding: 40px 0;}
.concept .col2{width: 100%;margin-bottom: 30px}
.concept .col2 p{width: 80%;margin: auto}
.concept .col2 img{width: 60%}
.concept h2{margin-top: 70px;padding-bottom: 10px; font-size: calc(2.5vw + 1.5rem);}
.concept .checkkoumoku{margin-top: 20px}
.concept .checkkoumoku p{line-height: 1.6;padding: 12px 0 12px 50px}
}

.tokucho{background: #e6ebee;padding: 80px 0}
.tokucho h2{text-align: center;font-weight: 800; font-size: calc(3vw + 1.5rem);letter-spacing: 0.1em;}
.tokucho li{width: 48%;background: #faee00;margin-top: 30px;box-sizing:border-box;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;-ms-box-sizing: border-box;-o-box-sizing: border-box;padding: 60px 40px 40px;position: relative}
.tokucho li h3{position: relative;z-index: 1; font-size: calc(0.5vw + 1.5rem);font-weight: 800;letter-spacing: 0.1em; }
.tokucho li p{position: relative;z-index: 1; font-size: calc(0.2vw + 1.5rem);letter-spacing: 0.1em;line-height: 2;margin-top: 20px}
.tokucho li::before {content: "1";font-family: "Oswald", sans-serif;    color: #fff;  font-size: calc(0.5vw + 10rem);  position: absolute;left: 16px;top: -30px;font-weight: 800; }
.tokucho li:nth-child(2)::before{ content: "2";}
.tokucho li:nth-child(3)::before{ content: "3";}
.tokucho li:nth-child(4)::before{ content: "4";}

@media screen and (max-width: 768px) {/*スマホのスタイル*/
.tokucho{padding: 40px 0}
.tokucho ul{margin: 70%;margin: auto}
.tokucho li{width: 100%;}
}


.flow{padding: 80px 0}
.flow h2{text-align: center;font-weight: 800; font-size: calc(3vw + 1.5rem);letter-spacing: 0.1em;}
.flow ul{position: relative}
.flow ul::before {content: "";position: absolute;left: 50%;top: 0px;width: 10px; height: 100%;background:#faee00;transform: translateX(-50%);}

.flow li{position: relative;z-index: 1; background: #faee00;border-radius: 20px;padding: 20px;margin: 30px 0}
.flow li .img{width: 15%}
.flow li .setumei{width: 83%}
.flow li h3{position: relative;z-index: 1; font-size: calc(0.5vw + 1.5rem);font-weight: 800;letter-spacing: 0.1em; }
.flow li h3 span{color: #e95513}
.flow li p{font-size: calc(0.2vw + 1.5rem);letter-spacing: 0.1em;line-height: 2;margin-top: 10px}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
.flow{padding: 40px 0}
.flow li .setumei{-webkit-box-ordinal-group:1;-ms-flex-order:1;-webkit-order:1;order:1;width: 100%}
.flow li .img{-webkit-box-ordinal-group:2;-ms-flex-order:2;-webkit-order:2;order:2;width: 50%;margin: auto}
}

.okigaru{padding: 80px 0 120px;text-align: center}
.okigaru h2{font-weight: 800; font-size: calc(2.5vw + 1.5rem);letter-spacing: 0.1em;margin-bottom: 30px}
.okigaru .txt{font-size: calc(0.5vw + 1.4rem);}
.okigaru li{border: 1px solid #cbd5db;box-sizing:border-box;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;-ms-box-sizing: border-box;-o-box-sizing: border-box;padding: 30px;border-radius: 10px;font-size: calc(1vw + 1.3rem);}
.okigaru h3{font-weight: 800; font-size: calc(1.5vw + 1.5rem);letter-spacing: 0.1em;margin-bottom: 20px}
.okigaru h3 span{border-bottom: 1px solid #000}
.okigaru .mT15{margin-top: 15px}
.okigaru .bt_again{margin-top: 30px}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
.okigaru{padding: 40px 0 60px;text-align: center}
.okigaru li.col2{width: 80%;margin: 12px auto;padding: 20px;}
.font12{font-size: 1.1rem;}
.okigaru .bt_again{width: 80%;margin: 30px auto 0}
}

.shindan{padding: 80px 0;background: url("../images/shindan_bg.png") repeat;text-align: center;position: relative}
.shindan .img1{position: absolute;left: 3%;top:100px;width: 16%}
.shindan .img2{position: absolute;right: 1%;top:-60px;width: 20%}
.shindan .img3{position: absolute;right: -30px;bottom:0px;width: 30%}
.shindan h2{text-align: center;font-weight: 800; font-size: calc(3vw + 1.5rem);letter-spacing: 0.1em;}
.shindan p.txt{font-size: calc(0.2vw + 1.5rem);letter-spacing: 0.1em;line-height: 2;margin-top: 10px;position: relative}

.shindan dl{margin-top: 100px}
.shindan dt{font-size: calc(0.5vw + 1.5rem);font-weight: 800;letter-spacing: 0.1em; }
.shindan dd{margin-top: 20px; text-align: center}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
.shindan{padding: 40px 0;}
.shindan .img1{position: absolute;left: 0%;top:80px;width: 16%}
.shindan dl{margin-top: 60px}
}

table {font-size:inherit;    font:100%;margin-top: 60px}
.inner--base .inner--short{width: 85%}
table{ width:100%;table-layout: fixed;border-collapse: collapse;}
table th{text-align: left;padding: 15px 0;width: 35%}
table td{text-align: left;padding: 15px 0;}
table th span{}
.hissu{background: #e50012;color: #fff;text-align: center; padding: 6px 15px;border-radius: 8px;margin-right: 20px;}
.nii{background: #009fe8;color: #fff;text-align: center; padding: 6px 15px;border-radius: 8px;margin-right: 20px;}

.err{color: #F50509;border-radius: 30px;font-weight: bold; margin-top: 10px}

@media screen and (max-width: 768px) {/*スマホのスタイル*/
table td,table th{display: block;width: 100%}
table th{padding-bottom: 0}
table td{}
}


.radio-area{width: 40%;	margin: 0 20px;}
.radio-area input[type=radio] {
    position: absolute;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.radio-area label {
    cursor: pointer;
    padding:6px;

	display: block;

    color: #000;
    background-color: #fff;
	border: 1px solid #999;
    transition: .5s;
	border-radius: 30px;font-size: calc(0.5vw + 1.5rem);font-weight: 800;letter-spacing: 0.1em;
}

.radio-area input[type=radio]:checked+label {
    background-color: #e95513;color: #fff
}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
.radio-area{width: 42%;	margin: 0 10px;}
}

.cp_arrows {
  position: relative;
  display: flex;
  height: 60px;/*画面いっぱいにする場合100vh*/
  justify-content: center;
  align-items: center;
  margin-top: 30px
}
.cp_arrows .cp_arrow {/*矢印を配置するベースの設定*/
  position: absolute;
  top: 50%;/*着地点(cp_arrowsの高さの50%)*/
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 50px solid transparent;
  border-left: 50px solid transparent;
  border-top: 60px solid #555555;
  border-bottom: 0;
}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
.cp_arrows {
  height: 40px;/*画面いっぱいにする場合100vh*/
  margin-top: 10px
}
}

input,
button,
select,
textarea {-webkit-appearance: none;-moz-appearance: none;appearance: none;background: transparent;border: none;border-radius: 0;font: inherit;outline: none;}
textarea {resize: vertical;}

input[type="text"],input[type="number"],input[type="tel"],input[type="email"],textarea{
outline:none;padding:10px 20px;border:1px solid #999;background: #fff;border-radius: 30px; transition:background 0.2s linear,box-shadow 0.6s linear;width: 100%;font-size: 1.3vw;box-sizing:border-box;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;-ms-box-sizing: border-box;-o-box-sizing: border-box; }
input:not([type="submit"]):active,
textarea:active,
input:not([type="submit"]):focus,
textarea:focus{background: #FFC;color: #000}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
input[type="text"],input[type="number"],input[type="tel"],input[type="email"],textarea{;font-size: 1.6rem;padding:10px;}
}
.deco-check {display: block;margin: 4px 30px 4px 0}
.deco-check:hover { cursor: pointer; }
.deco-check input { display: none; }
.deco-check .dummy {
  width: 21px;
  height: 21px;
  border: 1px solid #ccc;
  background: #fff;
  border-radius: 15%;
  display: inline-flex;
  vertical-align: text-top;margin-right: 8px;margin-top: 3px
}
.deco-check input:checked+.dummy:after {
  content: '';
  width: 80%;
  height: 40%;
  border-left: 3px solid #3B7EB6;
  border-bottom: 3px solid #3B7EB6;
  transform: rotate(-45deg);
}
input[type="submit"] {display   : block;width: 40%;margin: 40px auto 0; border-radius : 10px;font-size : 3rem;text-align: center;cursor: pointer;padding:20px 0px;border: 2px solid #e95513;background: #fff;
color : #e95513;font-weight: 800}
input[type="submit"]:hover{background:#e95513;color: #fff}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
input[type="submit"] {width: 80%;margin: 40px auto; font-size : 2.5rem;}
}



#footer{background: #cbd5db}
#footer .logo{width: 15%}
#footer .copy{width: 83%}
#footer address{text-align: center;padding: 40px 0;font-size: 1rem}
.container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden;
  position: relative;
line-height: 0.9;
margin-bottom: 30px
}
.wrapper {
  display: flex;
  animation: loop-text 18s linear infinite;
}
.double-content {
  display: inline-block;
  font-size: 12rem;
  color: #fff;font-family: "Oswald", sans-serif;
  white-space: nowrap;
}
@keyframes loop-text {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}

@media screen and (max-width: 768px) {/*スマホのスタイル*/
#footer .logo{width: 100%;text-align: center;margin-bottom: 20px}
#footer .copy{width: 100%}

.double-content {font-size: 8rem;}
}

@media screen{
/****************************************
effect-fade
*****************************************/
.effect-fade {opacity : 0;transform : translate(0, 45px);transform : translate(0, 50px);  transition : all 1500ms;}
.effect-fade.effect-scroll {opacity : 1;transform : translate(0, 0);}

.an4-fadeleft {opacity : 0;transform : translateX(150px);transition : all 1500ms;}
.an4-fadeleft.effect-scroll {opacity : 1;transform : translate(0, 0);}

.an5-faderight {opacity : 0;transform : translateX(-150px);transition : all 1500ms;}
.an5-faderight.effect-scroll {opacity : 1;transform : translate(0, 0);}
}


@media screen and (max-width: 768px) {/*スマホのスタイル*/
}

.print_only{ display:none}
@media print{
.print_only{ display:block!important}
html,body{width:1020px;overflow:hidden;}
.sp{display:none!important;}
img{max-width: 100%;height: auto}
.inner--base{max-width: 100%;min-width: 100%;width: 100%;}
.inner--short{width: 80%;}
.scroll-fade-up{opacity : 1;}
}

.pagetop{position: fixed;bottom: 10px;right: 10px;display: none;z-index: 9999;}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
.pagetop{bottom: 50px}
}


