@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url("https://use.typekit.net/dsf4utl.css");

/* CSS Document */
*{ margin:0; padding:0; box-sizing:border-box; word-break:break-all;}
div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;}
ul,ol{ list-style:none;}
html,body {
margin:0 auto;
padding:0;
font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;
font-size:20px;
font-weight: 500;
text-align:left;
color:#1A1A1A;
min-width:780px;
}
@media screen and (max-width:780px){
html,body{ font-size:3.75vw; min-width:240px; max-width:780px;}
}

/*img*/
img{ border-style:none; vertical-align:bottom; padding:0; line-height:0em; max-width:100%; height:auto;}
figure{margin:0 auto; text-align:center;}

/*youtube*/
.youtube{ position:relative; width:100%; padding-top:56.25% !important;}
.youtube iframe{ position: absolute; top:0; right:0; width:100% !important; height:100% !important;}

/*txt*/
.din{ font-family: "din-2014", sans-serif;}
p{ line-height:1.75em; margin:0 0 1em; padding:0;}
p:last-child{ margin:0;}
strong{ font-weight:bold;}
.bold { font-weight:bold;}
.normal{ font-weight:normal;}
.under_line{ text-decoration:underline;}
.line_through{ text-decoration:line-through;}

.white{ color:#fff;}
.bg_y{ background: linear-gradient(to bottom, rgba(255,245,0,0) 0%, rgba(255,245,0,0) 50%, rgba(255,245,0,1) 51%, rgba(255,245,0,1) 100%);}

.left{ text-align:left;}
.right{ text-align:right;}
.center{ text-align:center;}

/*link*/
a{ color:inherit; text-decoration:none;}
a:hover{}
.opa{ transition: opacity 0.3s;}
.opa:hover{ opacity: 0.7;}



/*ヘッダー*/
header{ background: url("../images/fv.jpg") center center no-repeat; background-size: cover; width: 100%; margin: auto; overflow: hidden;}
header figure.logo{ text-align: left; margin-left: 20px; line-height: 0;}
header figure.logo img{ height: 20px;}
header .header_in{ height: 840px;}
header .header_in{ padding: 10px 390px 60px 80px; position: relative;}
header .header_in h1{ margin-top: 60px;}
header .header_in h1 img.tab{ display: none;}
header .header_in h1 img{ width: 854px;}
header .header_in dl{ display: flex; margin-top: 60px;}
header .header_in dl dt h2{ font-size: 1.4rem; background: #E60013; color: #fff; text-align: center; padding: 0.25em; margin-bottom: 10px;}
header .header_in dl dt p{ font-size: 1.3rem; line-height: 1.5em; color: #fff; font-weight: bold;}
header .header_in dl dd{ margin-left: 30px; width: 426px;}
@media screen and (max-width:1400px){
/*
header .header_in h1 img.pc{ display: none;}
header .header_in h1 img.tab{ display: block;}
header .header_in dl{ display: block;}
*/
}
@media screen and (max-width:780px){
header{ background: url("../images/fv_smp.jpg") center center no-repeat; background-size: cover; height: auto;}
header figure.logo{ margin-left: 2.5vw;}
header figure.logo img{ height: 3.75vw;}
header .header_in{ height: auto;}
header .header_in{ max-width: 100%; padding: 2.5vw 0 5vw;}
header .header_in h1{ margin: 7.5vw 2.5vw 5vw;}
header .header_in h1 img.tab{ display: none;}
header .header_in h1 img{ height: auto; width: 80%;}
header .header_in dl{ width: 88%; margin: auto; display: block;}
header .header_in dl dt h2{ font-size: 1.25rem; margin-bottom: 2.5%; margin-right: 17.5%;}
header .header_in dl dt p{ font-size: 1rem; color: #fff; margin: 0 2.5vw;}
header .header_in dl dd{ margin-left: 0; margin-top: 7.5%; width: 100%;}
header .header_in dl dd figure{ width: calc(100% + 10vw); margin-left: -5vw;}
}

#header_bottom{ background: #E60013; color: #fff; text-align: center; padding: 10px;}
#header_bottom p{ font-size: 1rem; letter-spacing: 0.05em; line-height: 1.5em;}
#header_bottom p strong{ font-size: 1.2rem; color: #FFE203;}
@media screen and (max-width:780px){
#header_bottom{ padding: 2.5%;}
#header_bottom p{ font-size: 1.2rem;}
#header_bottom p strong{ font-size: 1.33rem;}
}


/*form*/
header .form_wrap{ position: absolute; right: 0; top: 0; width: 390px; height: 100%; background: #fff; padding: 20px 30px 40px;}
header .form_wrap h2{ width: 320px; height: 70px; font-size: 1.2rem; margin-bottom: 10px;}
header input, header textarea, header select, header button{ font-size: 0.7rem;}
header .header_in .form_wrap p.lead{ text-align: center; font-size: 0.8rem; line-height: 1.5em; margin: 10px 0 10px;}
header .header_in .form_wrap p.lead span.red{ color: #E60013; font-weight: bold;}
header .header_in .form_wrap p.lead strong{ font-size: 1.1rem;}

header .header_in .form_wrap dl{ display: block; margin-top: 25px;}
header .header_in .form_wrap dl:first-child{ margin-top: 0;}
header .header_in .form_wrap dl dt{ display: flex; align-items: center; background: #1A1A1A; color: #fff; padding: 10px 20px; border-radius: 8px; font-size: 0.8rem; line-height: 1em;}
header .header_in .form_wrap dl dt strong{ font-weight: 500; width: 12em;}
header .header_in .form_wrap dl dt span{ display: flex; align-items: center; justify-content: center; width: 42px; height: 20px; border-radius: 4px; background: #fff; color: #1A1A1A; font-size: 0.65rem; line-height: 1em;}
header .header_in .form_wrap dl dd{ width: 100%; padding: 15px 5px 0; margin-left: 0;}
header .header_in .form_wrap dl dd .form01{ margin-bottom: 8px; display: flex; width: 100%;}
header .header_in .form_wrap dl dd .form01:last-child{ margin-bottom: 0;}
header .header_in .form_wrap dl dd .form01 strong{ display: flex; align-items: center; padding: 10px 10px 10px 20px; width: 96px; font-size: 0.7rem; line-height: 1em; background: #D6D6D6; border: 1px solid #D6D6D6; border-radius: 8px 0 0 8px;}
header .header_in .form_wrap dl dd .form01 .select_wrap,
header .header_in .form_wrap dl dd .form01 .input_wrap{ display: flex; align-items: center; width: calc(100% - 96px); border: 1px solid #D6D6D6; background: #fff; border-radius: 0 8px 8px 0;}
header .header_in .form_wrap dl dd .form01 .select_wrap{ position: relative;}
header .header_in .form_wrap dl dd .form01 .select_wrap:after{ content: ""; width: 14px; height: 14px; background: url("../images/select_ico.png") center center no-repeat; background-size: 100%; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); pointer-events: none;}
header .header_in .form_wrap dl dd .form02{ margin-bottom: 10px;}
header .header_in .form_wrap dl dd .form02 strong{ display: block; font-size: 0.7rem; line-height: 1em; margin-bottom: 5px;}
header .header_in .form_wrap dl dd .form02 .input_wrap{ display: flex; align-items: center; width: 100%; border: 1px solid #D6D6D6; background: #fff; border-radius: 8px;}

header .header_in .form_wrap dl dd .form02 .input_wrap.zip{ display: flex; border: none; border-radius: 0;}
header .header_in .form_wrap dl dd .form02 .input_wrap.zip input[type=tel]{ width: 9em; border: 1px solid #D6D6D6; border-radius: 8px; margin-right: 1em;}
header .header_in .form_wrap dl dd .form02 .input_wrap.zip button{ background: #1A1A1A; color: #fff; border-radius: 8px; font-size: 0.7rem; font-weight: 500; padding: 0.66em 1em; width: auto; transition: 0.3s;}
header .header_in .form_wrap dl dd .form02 .input_wrap.zip button:hover{ opacity: 0.7;}

header .header_in .form_wrap p.att{ position: relative; padding-left: 1em; font-size: 0.5rem; line-height: 1.25em; margin-top: -5px;}
header .header_in .form_wrap p.att:before{ content: "※"; position: absolute; left: 0; top: 0;}

header .header_in .form_wrap .pv_check{ margin: 15px auto 0;}
header .header_in .form_wrap .pv_check p{ font-size: 0.6rem; line-height: 1.5em;}
header .header_in .form_wrap .pv_check p a{ text-decoration: underline; color: #CF0001;}
header .header_in .form_wrap .pv_check p a:hover{ text-decoration: none;}
header .header_in .form_wrap .pv_check_in{ display: flex; align-items: center; justify-content: center; margin-top: 15px;}
header .header_in .form_wrap .pv_check_in label{ display: flex; align-items: center; justify-content: center; cursor: pointer;}
header .header_in .form_wrap .pv_check_in label input{ width: auto; margin: 0.25em 0 0; padding: 0;}
header .header_in .form_wrap .pv_check_in label strong{ margin-left: 0.5em; font-size: 0.7rem;}

header .header_in .form_wrap .submit_btn{ display: flex; flex-direction: column; align-items: center; justify-content: center; margin-top: 15px; text-align: center;}
header .header_in .form_wrap .submit_btn button{ display: flex; align-items: center; justify-content: center; margin: auto; width: 180px; height: 40px; background: #000; color: #fff; font-size: 0.8rem; font-weight: bold; transition: 0.3s; cursor: pointer; border-radius: 0;}
header .header_in .form_wrap .submit_btn button{ background: linear-gradient(to right,  rgba(230,0,19,1) 0%,rgba(230,0,19,1) 50%,rgba(115,0,10,1) 100%);}
header .header_in .form_wrap .submit_btn button:hover{ opacity: 0.7;}
header .header_in .form_wrap .submit_btn p.att{ margin-top: 10px; text-align: left;}


/*フッター*/
footer{ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #fff; background: url("../images/footer_bg.jpg") center center no-repeat; background-size: cover; width: 100%; height: 240px;}
footer p{ font-size: 0.7rem; line-height: 2em;}
footer ul{ display: flex; align-items: center; justify-content: center; font-size: 0.7rem; line-height: 2em;}
footer ul li:nth-child(1):after{ content: "|"; margin: 0 1em;}
footer ul li a:hover{ text-decoration: underline;}
@media screen and (max-width:780px){
footer{ background: url("../images/footer_bg_smp.jpg") center center no-repeat; background-size: cover; width: 100%; height: 40vw;}
footer p{ font-size: 0.8rem; line-height: 2em;}
footer ul{ font-size: 0.8rem; line-height: 2em;}
}

/*fixed_btn*/
#fixed_btn{ position: fixed; left: 0; right: 0; bottom: 0; margin: auto; background: #fff; padding: 25px; z-index: 999;}
#fixed_btn p{ text-align: center; font-size: 0.8rem; margin-top: 5px;}
#fixed_btn ul{ display: flex; justify-content: center; margin: 0 auto;}
#fixed_btn ul li{ width: 248px; margin: 0 12px;}
#fixed_btn ul li.tel a{ width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: url("../images/cv_btn02_bg.png") center center no-repeat; background-size: 100% 100%; color: #fff;}
#fixed_btn ul li.tel a span{ font-size: 0.8rem; line-height: 1.25em; margin: 0.25em auto;font-weight: bold;}
#fixed_btn ul li.tel a strong{ font-size: 1.65rem; line-height: 1em; font-style: italic; font-weight: 900;}
@media screen and (max-width:780px){
#fixed_btn{ padding: 3.75% 3.75%;}
#fixed_btn p{ text-align: right; font-size: 0.8rem; margin-top: 1.25%;}
#fixed_btn ul{ justify-content: space-between;}
#fixed_btn ul li{ width: calc(50% - 1.875%); margin: 0;}
#fixed_btn ul li.tel a span{ font-size: 0.8rem;}
#fixed_btn ul li.tel a strong{ font-size: 1.6rem;}
}

/*メイン*/
#content{ overflow:hidden;}
section{ width:100%; margin:0 auto;}
.maincontent{ padding:0; margin:0 auto; width:780px;}
@media screen and (max-width:780px){
.maincontent{ padding:0; margin:0 auto; width:88%;}
}

/*tit*/
h1,h2,h3,h4,h5,h6{ line-height: 1.25em; letter-spacing: 0;}
h2.tit_h2{ display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.6rem; background: url("../images/tit_bg.png") center center no-repeat; background-size: 100% 100%; width: 420px; height: 90px; margin: 0 auto 25px;}
@media screen and (max-width:780px){
h2.tit_h2{ font-size: 1.6rem; width: 84vw; height: 18vw; margin: 0 auto 5%;}
}



/*cv*/
.cv_sec{ padding: 40px 0; position: relative; z-index: 1;}
.cv_sec:after{ content: ""; width: 100%; height: 200px; background: url("../images/cv_bg.jpg") center center no-repeat; background-size: cover; position: absolute; left: 0; top: 0; z-index: -1;}
.cv_sec h2{ text-align: center; font-size: 1.75rem; line-height: 1em; color: #fff; margin-bottom: 30px;}
.cv_sec h2 strong{ font-size: 2.75rem; line-height: 1em; color: #EF0001;}
.cv_sec h2 span{ font-size: 1.35rem; line-height: 1em; margin: 0 0.5em;}
.cv_sec .cv_sec_box{ background: #fff; width: 760px; padding: 30px 30px 40px; box-shadow:rgba(0, 0, 0, 0.16) 0 3px 6px;}
.cv_sec .cv_sec_box dl{ display: flex; flex-direction: column; align-items: center; justify-content: space-between;}
.cv_sec .cv_sec_box dl dt{ display: flex; flex-direction: row; align-items: center; justify-content: center; text-align: center; width: 626px; height: 106px; background: url("../images/cv_tit_bg.png") center center no-repeat; background-size: 100%;}
.cv_sec .cv_sec_box dl dd{ width: 100%; margin-top: 20px;}
.cv_sec .cv_sec_box dl dt p{ font-size: 1.15rem; line-height: 1.5em; margin-left: 40px;}
.cv_sec .cv_sec_box dl dt strong{ font-size: 1.45rem; color: #EF0002;}
.cv_sec .cv_sec_box dl dd ul{ display: flex; justify-content: space-between;}
.cv_sec .cv_sec_box dl dd ul li{ width: calc(50% - 5px);}
.cv_sec .cv_sec_box dl dd ul li.tel a{ width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: url("../images/cv_btn02_bg.png") center center no-repeat; background-size: 100% 100%; color: #fff;}
.cv_sec .cv_sec_box dl dd ul li.tel a span{ font-size: 0.9rem; line-height: 1em; margin: 0.25em auto;font-weight: bold;}
.cv_sec .cv_sec_box dl dd ul li.tel a strong{ font-size: 2.15rem; line-height: 1em; font-style: italic; font-weight: 900;}
.cv_sec .cv_sec_box dl dd p{ text-align: center; font-size: 0.65rem; margin-top: -10px;}
@media screen and (max-width:780px){
.cv_sec{ padding: 10% 0;}
.cv_sec:after{ height: 44vw;}
.cv_sec h2{font-size: 1.6rem; margin-bottom: 7.5%;}
.cv_sec h2 strong{ font-size: 2.4rem;}
.cv_sec h2 span{ font-size: 1.2rem; margin: 0 0.25em;}
.cv_sec .cv_sec_box{ width: calc(100% + 6vw); margin-left: -3vw; padding: 7.5% 7.5%;}
.cv_sec .cv_sec_box dl{ display: block;}
.cv_sec .cv_sec_box dl dt{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: 75vw; height: 33.8vw; margin: 0 auto 7.5%; background: url("../images/cv_tit_bg_smp.png") center center no-repeat; background-size: 100%;}
.cv_sec .cv_sec_box dl dd{ width: 100%;}
.cv_sec .cv_sec_box dl dt p{ font-size: 1.33rem; margin: 0;}
.cv_sec .cv_sec_box dl dt strong{ font-size: 1.33rem;}
.cv_sec .cv_sec_box dl dd ul{ display: block;}
.cv_sec .cv_sec_box dl dd ul li{ width: 100%; margin: 0 auto 5%;}
.cv_sec .cv_sec_box dl dd ul li:last-child{ margin-bottom: 0;}
.cv_sec .cv_sec_box dl dd ul li.tel a{ width: 100%; height: 21.75vw;}
.cv_sec .cv_sec_box dl dd ul li.tel a span{ font-size: 0.9rem;}
.cv_sec .cv_sec_box dl dd ul li.tel a strong{ font-size: 2.4rem;}
.cv_sec .cv_sec_box dl dd p{ font-size: 0.8rem; margin-top: -1.25%;}
}



/*form*/
::placeholder{ color: #D6D6D6; font-weight: 500; line-height: 1em;}
::-ms-input-placeholder{ color: #D6D6D6; font-weight: 500; line-height: 1em;}
input[type=submit], button, select{ -webkit-appearance: none; border: none; outline: none; background: none;}
input,textarea,select,button{ width:100%; padding:0.5em 1em; font-family:'Noto Sans JP', sans-serif, Lucida Grande,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif; font-size:0.9rem; font-weight:500; line-height: 1em; box-sizing: border-box; border: none; background: #fff; border-radius: 8px; cursor: pointer;}
textarea{ text-align: left; height: 10em; font-weight: normal;}
@media screen and (max-width:767px){
input,textarea,button{ font-size: 1rem;}
textarea{ height: 10em;}
}

.form_wrap.smp{ padding: 60px 0;}
.form_wrap.smp .form_tit_top{ text-align: center; margin-bottom: 10px; font-size: 0.9rem;}
.form_wrap.smp .form_tit_top strong{ display: inline-block; position: relative;}
.form_wrap.smp .form_tit_top strong:before{ content: ""; width: 1px; height: 1em; background: #1A1A1A; position: absolute; left: -0.75em; bottom: 0.125em; transform: rotate(-22.5deg);}
.form_wrap.smp .form_tit_top strong:after{ content: ""; width: 1px; height: 1em; background: #1A1A1A; position: absolute; right: -0.5em; bottom: 0.125em; transform: rotate(22.5deg);}
.form_wrap.smp p.lead{ text-align: center; font-size: 0.8rem; line-height: 1.5em; margin: -15px 0 40px;}
.form_wrap.smp p.lead span.red{ color: #E60013; font-weight: bold;}
.form_wrap.smp p.lead strong{ font-size: 1.1rem;}

.form_wrap.smp dl{ margin-top: 25px;}
.form_wrap.smp dl dt{ display: flex; align-items: center; background: #1A1A1A; color: #fff; padding: 10px 20px; border-radius: 8px; font-size: 1.1rem;}
.form_wrap.smp dl dt strong{ font-weight: 500; width: 12em;}
.form_wrap.smp dl dt span{ display: flex; align-items: center; justify-content: center; width: 54px; height: 26px; border-radius: 4px; background: #fff; color: #1A1A1A; font-size: 0.8rem;}
.form_wrap.smp dl dd{ padding: 10px;}
.form_wrap.smp dl dd .form01{ margin-bottom: 10px; display: flex; width: 100%;}
.form_wrap.smp dl dd .form01 strong{ display: flex; align-items: center; padding: 10px 20px; width: 130px; font-size: 0.9rem; background: #D6D6D6; border: 1px solid #D6D6D6; border-radius: 8px 0 0 8px;}
.form_wrap.smp dl dd .form01 .select_wrap,
.form_wrap.smp dl dd .form01 .input_wrap{ display: flex; align-items: center; width: calc(100% - 130px); border: 1px solid #D6D6D6; background: #fff; border-radius: 0 8px 8px 0;}
.form_wrap.smp dl dd .form01 .select_wrap{ position: relative;}
.form_wrap.smp dl dd .form01 .select_wrap:after{ content: ""; width: 14px; height: 14px; background: url("../images/select_ico.png") center center no-repeat; background-size: 100%; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); pointer-events: none;}
.form_wrap.smp dl dd .form02{ margin-bottom: 10px;}
.form_wrap.smp dl dd .form02 strong{ display: block; font-size: 0.9rem; margin-bottom: 5px;}
.form_wrap.smp dl dd .form02 .input_wrap{ display: flex; align-items: center; width: 100%; border: 1px solid #D6D6D6; background: #fff; border-radius: 8px;}

.form_wrap.smp dl dd .form02 .input_wrap.zip{ display: flex; border: none; border-radius: 0;}
.form_wrap.smp dl dd .form02 .input_wrap.zip input[type=tel]{ width: 9em; border: 1px solid #D6D6D6; border-radius: 8px; margin-right: 1em;}
.form_wrap.smp dl dd .form02 .input_wrap.zip button{ background: #1A1A1A; color: #fff; border-radius: 8px; font-weight: 500; padding: 0.66em 1em; width: auto; transition: 0.3s;}
.form_wrap.smp dl dd .form02 .input_wrap.zip button:hover{ opacity: 0.7;}

.form_wrap.smp p.att{ position: relative; padding-left: 1em; font-size: 0.5rem; margin-top: -5px;}
.form_wrap.smp p.att:before{ content: "※"; position: absolute; left: 0; top: 0;}

.form_wrap.smp .pv_check{ margin: 15px auto 0;}
.form_wrap.smp .pv_check p{ font-size: 0.8rem;}
.form_wrap.smp .pv_check p a{ text-decoration: underline; color: #CF0001;}
.form_wrap.smp .pv_check p a:hover{ text-decoration: none;}
.form_wrap.smp .pv_check_in{ display: flex; align-items: center; justify-content: center; margin-top: 20px;}
.form_wrap.smp .pv_check_in label{ display: flex; align-items: center; justify-content: center; cursor: pointer;}
.form_wrap.smp .pv_check_in label input{ width: auto; margin: 0.25em 0 0; padding: 0;}
.form_wrap.smp .pv_check_in label strong{ margin-left: 0.5em; font-size: 1rem;}

.form_wrap.smp .submit_btn{ display: flex; flex-direction: column; align-items: center; justify-content: center; margin-top: 30px; text-align: center;}
.form_wrap.smp .submit_btn button{ display: flex; align-items: center; justify-content: center; margin: auto; width: 250px; height: 50px; background: #000; color: #fff; font-size: 1rem; font-weight: bold; transition: 0.3s; cursor: pointer; border-radius: 0;}
.form_wrap.smp .submit_btn button{ background: linear-gradient(to right,  rgba(230,0,19,1) 0%,rgba(230,0,19,1) 50%,rgba(115,0,10,1) 100%);}
.form_wrap.smp .submit_btn button:hover{ opacity: 0.7;}
.form_wrap.smp .submit_btn p.att{ margin-top: 1em;}
@media screen and (max-width:767px){
.form_wrap.smp{ padding: 10% 0 15%;}
.form_wrap.smp .form_tit_top{ margin-bottom: 2.5%; font-size: 1.2rem;}
.form_wrap.smp p.lead{ font-size: 1rem; margin: 0 0 7.5%;}
.form_wrap.smp p.lead strong{ font-size: 1.33rem;}

.form_wrap.smp dl{ margin-top: 5%;}
.form_wrap.smp dl dt{ padding: 2.5% 5%; border-radius: 1.25vw; font-size: 1.1rem;}
.form_wrap.smp dl dt strong{ width: auto; margin-right: 2em;}
.form_wrap.smp dl dt span{ width: 10vw; height: 5vw; border-radius: 0.875vw; font-size: 0.8rem;}
.form_wrap.smp dl dd{ padding: 1.875vw;}
.form_wrap.smp dl dd .form01{ margin-bottom: 2.5%;}
.form_wrap.smp dl dd .form01 strong{ padding: 2.5% 5%; width: 25vw; border-radius: 1.25vw 0 0 1.25vw;}
.form_wrap.smp dl dd .form01 .select_wrap,
.form_wrap.smp dl dd .form01 .input_wrap{ width: calc(100% - 25vw); border-radius: 0 1.25vw 1.25vw 0;}
.form_wrap.smp dl dd .form01 .select_wrap:after{ width: 2.5vw; height: 2.5vw;}
.form_wrap.smp dl dd .form02{ margin-bottom: 2.5%;}
.form_wrap.smp dl dd .form02 strong{ font-size: 0.9rem; margin-bottom: 1.25%;}
.form_wrap.smp dl dd .form02 .input_wrap{ border-radius: 1.25vw;}

.form_wrap.smp dl dd .form02 .input_wrap.zip input[type=tel]{ border-radius: 0.875vw;}
.form_wrap.smp dl dd .form02 .input_wrap.zip button{ border-radius: 0.875vw;}

.form_wrap.smp p.att{ font-size: 0.6rem; margin-top: -1.25%;}

.form_wrap.smp .pv_check{ margin: 3.75% auto 0;}
.form_wrap.smp .pv_check p{ font-size: 0.8rem;}
.form_wrap.smp .pv_check_in{ margin-top: 3.75%;}
.form_wrap.smp .pv_check_in label input{ margin: 0.25em 0 0;}
.form_wrap.smp .pv_check_in label strong{ font-size: 1rem;}

.form_wrap.smp .submit_btn{ margin-top: 5%;}
.form_wrap.smp .submit_btn button{width: 50vw; height: 10vw; font-size: 1rem;}
.form_wrap.smp .submit_btn p.att{ margin-top: 1em; text-align: left;}
}



/*nav*/
#nav{ padding: 50px 0 60px;}
#nav h2{ width: 540px; margin: 0 auto 30px; text-align: center; border-bottom: 1px solid #E60013; font-size: 1.6rem; position: relative;}
#nav h2 strong{ font-size: 1.7rem; color: #E60013;}
#nav h2:before{ content: ""; width: 48px; height: 48px; background: url("../images/nav_tit_ico.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; bottom: 0;}
#nav ul{ display: flex; flex-wrap: wrap; width: calc(100% + 20px); margin: -6px 0 -6px -10px;}
#nav ul li{ width: calc(33.33% - 40px); margin: 6px 20px;}
#nav ul li a{ display: flex; align-items: center; justify-content: center; background: #CF0001; font-size: 1.05rem; font-weight: bold; color: #fff; width: 100%; height: 110px; border-radius: 4px; position: relative; transition: 0.3s;}
#nav ul li a span{ display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 3px solid #CF0001; background: #fff; position: absolute; right: -24px; top: 50%; transform: translateY(-50%); border-radius: 50%;}
#nav ul li a span img{ width: 13px;}
#nav ul li a:hover{ opacity: 0.7;}
@media screen and (max-width:768px){
#nav{ padding: 0 0 15%;}
#nav h2{ width: 100%; margin: 0 auto 7.5%; font-size: 1.2rem;}
#nav h2 strong{ font-size: 1.5rem;}
#nav h2:before{ width: 10vw; height: 10vw;}
#nav ul{ width: calc(100% + 7.5vw); margin: -1.875vw 0 -1.875vw -3.75vw;}
#nav ul li{ width: calc(50% - 7.5vw); margin: 1.875vw 3.75vw;}
#nav ul li a{ dfont-size: 1.1rem; height: 20vw; border-radius: 1.25vw;}
#nav ul li a span{ width: 7.5vw; height: 7.5vw; border: 2px solid #CF0001; right: -3.75vw;}
#nav ul li a span img{ width: 2.5vw; padding-top: 0.625vw;}
}



/*reason*/
#reason{ padding: 60px 0; background: url("../images/reason_bg.jpg"); background-size: cover;}
#reason .reason_box{ margin-bottom: 60px;}
#reason .reason_box:last-child{ margin-bottom: 0;}
#reason .reason_box h3{ display: flex; flex-direction: column; border-bottom: 1px solid #1A1A1A; margin-bottom: 40px;}
#reason .reason_box h3 span{ font-size: 1.1rem; line-height: 1em; color: #CF0001; margin-bottom: 0.25em;}
#reason .reason_box h3 strong{ font-size: 1.5rem; line-height: 1em; padding-bottom: 0.25em;}
#reason .reason_box figure{ margin: 10px;}
#reason .reason_box figure img{ width: 100%;}
#reason .reason_box dl{ margin: 0 10px;}
#reason .reason_box dl dt{ margin: 30px 0 10px; padding-left: 20px; border-left: 8px solid #CF0001; font-size: 1.2rem; font-weight: bold;}
#reason .reason_box dl dd p{ font-size: 1rem; line-height: 1.75em; text-align: justify;}
#reason .reason_box dl dd p strong{ background: linear-gradient(to bottom, rgba(255,245,0,0) 0%, rgba(255,245,0,0) 50%, rgba(255,245,0,1) 51%, rgba(255,245,0,1) 100%);}
@media screen and (max-width:768px){
#reason{ padding: 15% 0;}
#reason .reason_box{ margin-bottom: 15%;}
#reason .reason_box h3{ margin-bottom: 5%;}
#reason .reason_box h3 span{ font-size: 1.1rem; margin-bottom: 0.5em;}
#reason .reason_box h3 strong{ font-size: 1.33rem; margin-bottom: 0.33em;}
#reason .reason_box figure{ margin: 1.875vw;}
#reason .reason_box dl{ margin: 0 1.875vw;}
#reason .reason_box dl dt{ margin:10% 0 3.75%; padding-left: 1.875vw; border-left: 1.25vw solid #CF0001; font-size: 1.2rem;}
#reason .reason_box dl dd p{ font-size: 1rem;}
}



/*flow*/
#flow{ padding: 60px 0; background: url("../images/reason_bg.jpg"); background-size: cover;}
#flow .steps h3{ text-align: center; font-size: 1.4rem; margin-bottom: 15px;}
#flow .steps h3 strong{ font-size: 1.65rem; color: #E60013;}

#flow .steps2{ margin-top: 30px;}
#flow .steps2 ul li{ margin: 30px auto;}
#flow .steps2 .tit dl{ display: flex; align-items: center; border-bottom: 1px solid #004EA2;}
#flow .steps2 .tit dl dt{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: 60px; height: 60px; background: #004EA2; color: #fff;}
#flow .steps2 .tit dl dt span{ font-size: 0.85rem; line-height: 1em; font-weight: bold;}
#flow .steps2 .tit dl dt strong{ font-size: 1.65rem; line-height: 1em;}
#flow .steps2 .tit dl dd{ margin-left: 20px; font-size: 1.5rem; font-weight: bold;}
#flow .steps2 .cont{ margin: 20px 10px;}
#flow .steps2 .cont dl{ display: flex; justify-content: space-between;}
#flow .steps2 .cont dl dt{ width: 400px;}
#flow .steps2 .cont dl dd{ width: 320px;}
#flow .steps2 .cont dl dt p{ font-size: 1rem; line-height: 1.5em; text-align: justify;}
#flow .steps2 .cont dl dt p.att{ padding-left: 1em; font-size: 0.8rem; position: relative;}
#flow .steps2 .cont dl dt p.att:before{ content: "※"; position: absolute; left: 0; top: 0;}
#flow .steps2 .cont p.txt{ font-size: 1rem;}
@media screen and (max-width:768px){
#flow{ padding: 15% 0;}
#flow .steps h3{ font-size: 1.2rem; margin-bottom: 3.75%;}
#flow .steps h3 strong{ font-size: 1.5rem;}

#flow .steps2{ margin-top: 10%;}
#flow .steps2 ul li{ margin: 10% auto;}
#flow .steps2 .tit dl dt{ width: 10vw; height: 10vw;}
#flow .steps2 .tit dl dt span{ font-size: 0.8rem;}
#flow .steps2 .tit dl dt strong{ font-size: 1.25rem;}
#flow .steps2 .tit dl dd{ margin-left: 5%; font-size: 1.33rem;}
#flow .steps2 .cont{ margin: 3.75% 1.875%;}
#flow .steps2 .cont dl dt{ width: 52.5%;}
#flow .steps2 .cont dl dd{ width: 40%;}
#flow .steps2 .cont dl dt p{ font-size: 0.9rem;}
#flow .steps2 .cont dl dt p.att{ font-size: 0.7rem;}
#flow .steps2 .cont p.txt{ font-size: 0.9rem;}
}



/*result*/
#result{ padding: 60px 0;}
#result .result_list ul li{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: 310px !important; padding: 20px; margin: 0 10px; border: 2px solid #707070; transition: 0.3s;}
#result .result_list ul li figure{ margin-bottom: 20px;}
#result .result_list ul li figure img{ width: 100%;}
#result .result_list ul li h3{ text-align: center; font-size: 1rem; padding-bottom: 0.25em; border-bottom: 1px solid #CF0001; margin-bottom: 10px;}
#result .result_list ul li table th{ text-align: right; padding: 5px; font-size: 0.8rem; font-weight: bold; line-height: 1em;}
#result .result_list ul li table td{ padding: 5px; font-size: 0.8rem; font-weight: bold; line-height: 1em;}
#result .result_list ul li table td strong{ font-size: 1.1rem; color: #CF0001;}

#result .result_list{ padding-top: 20px;}
#result .result_list .slick-list{ padding-top: 20px !important;}
#result .result_list ul li.slick-center{ transform: translateY(-20px);}
#result .result_list{ width: calc(330px * 1); margin: auto; position: relative;}
#result .result_list ul{ display: flex; justify-content: center; width: calc(330px * 5); margin-left: calc(330px * -2); position: static;}
@media screen and (max-width:768px){
#result{ padding: 15% 0 15vw;}
#result .result_list ul li{ width: 71.25vw !important; padding: 3.75vw; margin: 0 1.875vw;}
#result .result_list ul li figure{ margin-bottom: 3.75%;}
#result .result_list ul li figure img{ width: 100%;}
#result .result_list ul li h3{ font-size: 1.2rem; padding-bottom: 0.25em; margin-bottom: 2.5%;}
#result .result_list ul li table th{ padding: 1.25vw 1.875vw; font-size: 1rem;}
#result .result_list ul li table td{ padding: 1.25vw 1.875vw; font-size: 1rem;}
#result .result_list ul li table td strong{ font-size: 1.5rem;}

#result .result_list{ padding-top: 3.75vw;}
#result .result_list .slick-list{ padding-top: 3.75vw !important;}
#result .result_list ul li.slick-center{ transform: translateY(-3.75vw);}
#result .result_list{ width: calc(75vw * 1);}
#result .result_list ul{ width: calc(75vw * 3); margin-left: calc(75vw * -1);}
}

/*slick調整*/
#result .result_list .slick-dotted.slick-slider{ margin-bottom: 0;}
#result .result_list ul.slick-dots{ position: absolute; left: 0; right: 0; bottom: -45px; width: auto; margin: auto;}
#result .result_list ul.slick-dots li{ width: auto !important; height: auto; padding: 0; margin: 0 4px; border: none;}
#result .result_list ul.slick-dots li button{ width: 5px; height: 5px;}
#result .result_list ul.slick-dots li button:before{ content: ""; width: 100%; height: 100%; background: #000; border-radius: 50%; opacity: 1.0; transition: 0.3s;}
#result .result_list ul.slick-dots li:hover button:before,
#result .result_list ul.slick-dots li.slick-active button:before{ background: #CF0001;}
#result .result_list .slick-prev,
#result .result_list .slick-next{ display: flex; width: 60px; height: 40px; background: #000; position: absolute; transform: none; transition: 0.3s;}
#result .result_list .slick-prev{ left: 0; top: auto; bottom: -60px; z-index: 99;}
#result .result_list .slick-next{ right: 0; top: auto; bottom: -60px; z-index: 99;}
#result .result_list .slick-prev:before{ content: ""; width: 30px; height: 14px;  background: url("../images/slide_arrow.png") center center no-repeat; background-size: 100% 100%; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); transition: 0.3s; opacity: 1.0;}
#result .result_list .slick-next:before{ content: ""; width: 30px; height: 14px;  background: url("../images/slide_arrow2.png") center center no-repeat; background-size: 100% 100%; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); transition: 0.3s; opacity: 1.0;}
#result .result_list .slick-prev:hover:before,
#result .result_list .slick-next:hover:before{ opacity: 0.7;}
@media screen and (max-width:768px){
#result .result_list ul.slick-dots{ bottom: -11.25vw;}
#result .result_list ul.slick-dots li{ margin: 0 1.25vw;}
#result .result_list ul.slick-dots li button{ width: 1.25vw; height: 1.25vw;}
#result .result_list .slick-prev,
#result .result_list .slick-next{ width: 15vw; height: 10vw;}
#result .result_list .slick-prev{ left: -3.75vw; bottom: -15vw;}
#result .result_list .slick-next{ right: -3.75vw; bottom: -15vw;}
#result .result_list .slick-prev:before{ width: 6vw; height: 2.8vw;}
#result .result_list .slick-next:before{ width: 6vw; height: 2.8vw;}
}



/*voice*/
#voice{ padding: 60px 0;}
#voice .maincontent{ max-width: 1180px; width: 100%;}
#voice .voice_list ul{ display: flex; flex-wrap: wrap; justify-content: center; width: calc(100% + 20px); margin: -15px 0 -15px -10px;}
#voice .voice_list ul li{ display: flex; flex-direction: column; width: 370px; margin: 15px 10px; border: 1px solid #707070; background: #fff; padding: 30px 10px; position: relative;}
#voice .voice_list ul li:after{ content: ""; width: 40px; height: 40px; background: url("../images/voice_ico.png") center center no-repeat; background-size: 100%; position: absolute; right: 10px; top: -10px;}
#voice .voice_list ul li h3{ display: flex; align-items: center; justify-content: center; text-align: center; font-size: 1.1rem; padding-bottom: 1em; margin-bottom: 20px; border-bottom: 1px dotted #838383; min-height: 3em;}
#voice .voice_list ul li h4{ display: flex; align-items: center; justify-content: center; text-align: center; font-size: 0.9rem; line-height: 1.5em; margin: 1.5em auto; min-height: 3em;}
#voice .voice_list ul li figure{ margin: 0 10px;}
#voice .voice_list ul li p{ margin: 0 10px; font-size: 1rem; line-height: 1.5em; text-align: justify; font-feature-settings: "palt";}
#voice .voice_list ul li p strong{ font-weight: 500; background: linear-gradient(to bottom, rgba(255,245,0,0) 0%, rgba(255,245,0,0) 50%, rgba(255,245,0,1) 51%, rgba(255,245,0,1) 100%);}
@media screen and (max-width:768px){
#voice{ padding: 15% 0;}
#voice .maincontent{ width: 88%;}
#voice .voice_list ul{ display: block; width: 100%; margin: 0;}
#voice .voice_list ul li{ width: 100%; margin: 7.5% auto 0; padding: 7.5% 2.5% 7.5%;}
#voice .voice_list ul li:after{ width: 10vw; height: 10vw; right: 1.25vw; top: -2.5vw;}
#voice .voice_list ul li h4{ font-size: 1.33rem; margin-bottom: 5%;}
#voice .voice_list ul li h5{ font-size: 0.9rem; min-height: 1.5em;}
#voice .voice_list ul li figure{ margin: 0 2.5%;}
#voice .voice_list ul li p{ margin: 0 2.5%; font-size: 1rem; line-height: 1.75em;}
}



/*faq*/
#faq{ background: #E3E3E3; padding: 60px 0;}
#faq dl{ margin-bottom: 15px;}
#faq dl dt{ background: #CF0001; color: #fff; padding: 10px 60px 10px 50px; position: relative; cursor: pointer;}
#faq dl dt p{ font-size: 1rem; line-height: 1.5em; font-weight: bold; margin: 0;}
#faq dl dt span.ico{ width: 27px; position: absolute; left: 10px; top: 50%; transform: translateY(-50%);}
#faq dl dt span.toggle{ width: 18px; height: 0; position: absolute; right: 20px; top: 50%; transform: translateY(-50%);}
#faq dl dt span.toggle:before{ content: ""; width: 100%; height: 3px; background: #fff; position: absolute; left: 0; top: 0; transform: translateY(-50%);}
#faq dl dt span.toggle:after{ content: ""; width: 100%; height: 3px; background: #fff; position: absolute; left: 0; top: 0; transform: translateY(-50%) rotate(90deg); transition: 0.3s}
#faq dl dt.active span.toggle:after{ opacity: 0; transform: translateY(-50%) rotate(0deg);}
#faq dl dd{ display: none; background: #fff; padding: 20px 20px 20px 50px; position: relative;}
#faq dl dd.active{ display: block;}
#faq dl dd p{ font-size: 0.9rem; line-height: 1.5em; margin: 0;}
#faq dl dd span.ico{ width: 27px; position: absolute; left: 10px; top: 20px;}
#faq dl dd ul.att{ margin-top: 2em; font-size: 75%; line-height: 1.5em;}
#faq dl dd ul.att li{ padding-left: 1em; position: relative;}
#faq dl dd ul.att li:before{ content: "※"; position: absolute; left: 0; top: 0;}
@media screen and (max-width:767px){
#faq{ padding: 15% 0;}
#faq dl{ margin-bottom: 2.5%;}
#faq dl dt{ padding: 3.75% 10vw 3.75% 10vw;}
#faq dl dt p{ font-size: 1rem;}
#faq dl dt span.ico{ width: 6.25vw; left: 1.875vw;}
#faq dl dt span.toggle{ width: 3.75vw; right: 2.5vw;}
#faq dl dt span.toggle:before{ height: 2px;}
#faq dl dt span.toggle:after{ height: 2px;}
#faq dl dd{ padding: 3.75% 3.75% 3.75% 10vw;}
#faq dl dd p{ font-size: 0.9rem;}
#faq dl dd span.ico{ width: 6.25vw; left: 1.875vw; top: 2.5vw;}
#faq dl dd ul.att{ font-size: 75%;}
}



/*thanks*/
#thanks{ background: url("../images/thanks_bg.jpg") center top; background-size: cover; padding: 120px 0; position: relative;}
#thanks figure.logo{ width: 96%; max-width: 1200px; line-height: 0; text-align: left; margin: auto; position: absolute; left: 0; right: 0; top: 15px;}
#thanks figure.logo img{ height: 20px;}
#thanks h2.tit_h2{ margin-bottom: 60px; font-size: 1.6rem; background: url("../images/tit_bg2.png") center center no-repeat; background-size: 100% 100%; width: 694px; height: 100px;}
#thanks p{ font-size: 1rem; text-align: justify;}

#thanks figure.btn{ margin-top: 60px; text-align: center;}
#thanks figure.btn a{ display: flex; align-items: center; justify-content: center; margin: auto; width: 250px; height: 50px; background: #000; color: #fff; font-size: 1rem; font-weight: bold; transition: 0.3s; cursor: pointer;}
#thanks figure.btn a{ background: linear-gradient(to right,  rgba(230,0,19,1) 0%,rgba(115,0,10,1) 100%);}
#thanks figure.btn a:hover{ opacity: 0.7;}
@media screen and (max-width:767px){
#thanks{ padding: 25vw 0;}
#thanks figure.logo{ top: 1.25vw;}
#thanks figure.logo img{ height: 3.75vw;}
#thanks h2.tit_h2{ margin-bottom: 10%; font-size: 1.6rem; width: 88vw; height: 12.7vw;}

#thanks figure.btn{ margin-top: 15%;}
#thanks figure.btn a{width: 50vw; height: 10vw; font-size: 1rem;}
}








@media print, screen and (min-width:768px){
.smp{ display:none !important;}
}
@media screen and (max-width:767px){
.pc{ display:none !important;}
}
