@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900?family=Aboreto&display=swap');

/* 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', sans-serif;
font-feature-settings: "palt";
font-size:20px;
text-align:left;
color:#000;
min-width:1080px;
}
@media screen and (max-width:767px){
html,body{ font-size:4vw; min-width:240px; max-width:767px;}
}

/*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*/
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;}

.aboreto{ font-family: "Aboreto", system-ui;}
.mokoko{ font-family: 'mokoko', sans-serif;}
.corporate-logo{ font-family: "corporate-logo-ver2", sans-serif;}
.bree{ font-family: "bree", sans-serif;}
.white{ color:#fff;}
.black{ color:#333;}
.gy{ color:#aaa;}
.red{ color:#c83232;}
.blue{ color:#326496;}

.left{ text-align:left;}
.right{ text-align:right;}
.center{ text-align:center;}

/*link*/
a{ color:inherit; text-decoration:none;}
a.tel_link{ pointer-events:none;}
.opa{ transition: opacity 0.3s;}
.opa:hover{ opacity: 0.7;}
@media screen and (max-width:767px){
a.tel_link{ pointer-events: all;}
}



/*ヘッダー*/
header{ width: 1140px; position: absolute; left: 50%; top: 20px; transform: translateX(-50%); z-index: 999;}
header #head dl{ width: 100%; margin: auto; display: flex; align-items: center; justify-content: space-between;}
header #head dl dt figure{ line-height: 0;}
header #head dl dt img{ height: 24px;}
header #head dl dd ul{ display: flex; align-items: center;}
header #head dl dd ul li{ line-height: 0; margin-left: 30px;}
header #head dl dd ul li.tel a{ display: flex; align-items: center;}
header #head dl dd ul li.tel a span img{ height: 16px;}
header #head dl dd ul li.tel a strong{ font-size: 1rem; line-height: 1em; color: #fff; margin-left: 8px;}
header #head dl dd ul li.insta a img{ height: 24px;}

#fv{ /*background: url("../images/fv_bg.jpg") center center no-repeat;*/ background-size: cover; position: relative; z-index: 99; overflow: hidden;}
#fv:before{ content: ""; width: 100%; height: 100%; background: rgba(25,67,22,0.18); position: absolute; left: 0; top: 0; z-index: -1;}
#fv .bg_img{ width: 100%; min-width: 1680px; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); z-index: -1;}
#fv h1{ width: 100%; height: 768px; display: flex; align-items: center; justify-content: center;}
#fv h1 img{ width: 636px;}
#fv figure.fv_over{ width: 1260px; position: absolute; left: 50%; bottom: 40px; transform: translateX(-50%); z-index: 3;}
@media screen and (max-width:1140px){
header{ width: 100%;}
}
@media screen and (max-width:767px){
header{ background: #fff; position: fixed; z-index: 999; top: 0; left: 0; transform: none;}
header #head{ width: 100%; padding: 1.25vw 12.5vw 1.25vw 2.5vw}
header #head dl dt img{ height: 7.5vw;}
header #head dl dd ul li{ margin-left: 5vw;}
header #head dl dd ul li.tel a img{ height: 5vw;}
header #head dl dd ul li.insta a img{ height: 5vw;}

#fv{ /*background: url("../images/fv_bg_smp.jpg") center center no-repeat;*/ background-size: cover; position: relative; z-index: 1; overflow: hidden;}
#fv:before{ display: none;}
#fv .bg_img{ min-width: 360vw;}
#fv h1{ width: 100vw; height: 168vw;}
#fv h1 img{ width: 84vw;}
#fv figure.fv_over{ width: 100vw; position: absolute; left: 50%; bottom: 50%; transform: translateX(-50%) translateY(50%); z-index: 3;}
}

@media print, screen and (min-width:768px){
#smp_nav_btn{ display: none !important;}
}
@media screen and (max-width:767px){
#smp_nav_btn{ display: flex; align-items: flex-end; justify-content: center; padding: 0; width: 5vw; height: 5vw; position: fixed; right:2.5vw; top:2.5vw; z-index:9999; transition:0.3s; cursor:pointer;}
#smp_nav_btn span{ display:block; height:2px; width:100%; background:#000; position:absolute; left:0; right:0; top: 50%; transform: translateY(-50%); margin:auto; transition:0.3s;}
#smp_nav_btn span:before{ content: ""; display:block; height:2px; width:100%; background:#000; position:absolute; bottom:1.875vw; transition:0.3s;}
#smp_nav_btn span:after{ content: ""; display:block; height:2px; width:100%; background:#000; position:absolute; top:calc(1.875vw + 1px); transition:0.3s;}
#smp_nav_btn.active span{ background:rgba(255,255,255,0);}
#smp_nav_btn.active span:before{ bottom:0; transform: rotate(45deg);}
#smp_nav_btn.active span:after{ top:0; transform: rotate(-45deg);}
}



/*head02*/
#head2{ padding: 20px; background: #fff; width: 100%; position: fixed; left: 0; top: -80px; z-index: 999; opacity: 0; transition: 0.3s;}
#head2.fix{ top: 0; opacity: 1.0;}
#head2 dl{ width: 100%; max-width: 1140px; margin: auto; display: flex; align-items: center; justify-content: space-between;}
#head2 dl dt figure{ line-height: 0;}
#head2 dl dt img{ height: 24px;}
#head2 dl dd ul{ display: flex; align-items: center;}
#head2 dl dd ul li{ line-height: 0; margin-left: 30px;}
#head2 dl dd ul li.tel a{ display: flex; align-items: center;}
#head2 dl dd ul li.tel a span img{ height: 16px;}
#head2 dl dd ul li.tel a strong{ font-size: 1rem; line-height: 1em; color: #000; margin-left: 8px;}
#head2 dl dd ul li.insta a img{ height: 24px;}
@media screen and (max-width:767px){
#head02{ display: none !important;}
}


/*ナビ*/
nav#nav{ padding: 30px 0 50px;}
nav#nav ul{ display: flex; align-items: center; justify-content: center;}
nav#nav ul li{ margin: 0 45px;}
nav#nav ul li a{ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; transition: 0.3s;}
nav#nav ul li a strong{ font-size: 0.7rem; letter-spacing: 0.04em; color: #999; margin-bottom: 0.5em; transition: 0.3s;}
nav#nav ul li a span{ display: flex; align-items: center; justify-content: center; font-size: 0.9rem; line-height: 1.25em; font-weight: 500; transition: 0.3s;}
nav#nav ul li a:hover strong{ color: #71201E;}
nav#nav ul li a:hover span{ color: #71201E;}
@media print, screen and (min-width:1400px){
nav#nav ul li br{ display: none;}
}
@media screen and (max-width:1400px){
nav#nav ul li{ margin: 0 40px;}
nav#nav ul li a span{ font-size: 0.8rem; min-height: 2.5em;}
}
@media print, screen and (min-width:768px){
nav#nav{ display: block !important; height: auto !important; opacity: 1.0 !important;}
}
@media screen and (max-width:767px){
nav#nav{ display: none;}
nav#nav{ background: #fff; border-top: 1px solid #ccc; position: fixed; left: 0; top: 10vw; width: 100%; height: 100dvh; min-height: 100dvh; z-index: 9999; padding: 5vw; /*display: flex;*/ align-items: center; justify-content: center;}
nav#nav ul{ flex-direction: column;}
nav#nav ul li{ margin: 12.5vw auto 0;}
nav#nav ul li:first-child{ margin-top: 0;}
nav#nav ul li br{ display: none;}
nav#nav ul li a strong{ font-size: 0.7rem; letter-spacing: 0.04em; margin-bottom: 1em;}
nav#nav ul li a span{ font-size: 0.9rem; line-height: 1em; min-height: 1em;}
}



/*フッター*/
footer{ padding: 100px 0 0; color: #fff; background: url("../images/footer_bg.jpg") center center no-repeat; background-size: cover; position: relative; z-index: 1; overflow: hidden;}
footer:before{ content: ""; width: 100%; height: 100%; background: rgba(59,60,61,0.6); position: absolute; left: 0; top: 0; z-index: -1;}

footer #footer_top{ text-align: center; margin-bottom: 110px;}
footer #footer_top figure.logo{ margin-bottom: 60px;}
footer #footer_top figure.logo img{ height: 28px;}
footer #footer_top p{ text-align: center; font-size: 0.8rem; line-height: 1.33em;}

footer #footer_mid{ width: 1080px; margin: 0 auto 40px; display: flex; justify-content: space-between;}
footer #footer_mid table{ font-size: 0.75rem; line-height: 1.5em;}
footer #footer_mid table th{ padding-right: 0.5em;}

footer #footer_bottom{ width: 1080px; margin: 0 auto 60px; display: flex; justify-content: space-between;}
footer #footer_bottom dl{ width: calc(50% - 25px); display: flex;}
footer #footer_bottom dl dt{ flex: 1;}
footer #footer_bottom dl dt p{ font-size: 0.75rem; line-height: 1.75em; margin: 0;}
footer #footer_bottom dl dd{ width: 270px;}
footer #footer_bottom dl dd figure.g_map iframe{ width: 100%; height: 160px; vertical-align: bottom;}

footer p.copyright{ text-align: center; font-size: 0.65rem; border-top: 1px solid #fff; padding: 30px 0; margin: 0;}
footer #pagetop{ position: absolute; right: 20px; bottom: 140px; width: 21px;}
@media screen and (max-width:767px){
footer{ padding: 12.5vw 0 0; background: url("../images/footer_bg_smp.jpg") center top no-repeat; background-size: cover;}
footer:before{ display: none;}

footer #footer_top{ margin-bottom: 25vw;}
footer #footer_top figure.logo{ margin-bottom: 7.5vw;}
footer #footer_top figure.logo img{ height: 6.25vw;}
footer #footer_top p{ font-size: 0.8rem; line-height: 1.5em;}

footer #footer_mid{ width: 84%; margin: 0 auto 5vw; flex-direction: column;}
footer #footer_mid table{ font-size: 0.8rem;}
footer #footer_mid table th{ display: block; width: 100%; margin: 0; padding: 0;}
footer #footer_mid table td{ display: block; width: 100%; margin: 0 0 1em; padding: 0;}
footer #footer_mid table tr:last-child td{ margin-bottom: 0;}

footer #footer_bottom{ width: 84%; margin: 0 auto 7.5vw; display: block;}
footer #footer_bottom dl{ width: 100%; display: block; margin-top: 7.5vw;}
footer #footer_bottom dl dt p{ font-size: 0.8rem; line-height: 1.75em; margin: 0;}
footer #footer_bottom dl dd{ width: 100%; margin-top: 3.75vw;}
footer #footer_bottom dl dd figure.g_map iframe{ width: 100%; height: 40vw;}

footer p.copyright{ font-size: 0.8rem; padding: 3.75vw 0;}
footer #pagetop{ position: absolute; right: 4vw; bottom: auto; top: 5vw; width: 5vw;}
}

/*fixed_btn*/
#fixed_btn{ background: #fff; position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 99;}
#fixed_btn a{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: 90px; height: 90px; background: #8B3C3A; color: #fff; font-size: 0.6rem;}
#fixed_btn a span{ width: 32px; margin-bottom: 10px;}
@media screen and (max-width:767px){
#fixed_btn{ position: fixed; right: 0; left: 0; top: auto; bottom: 0; transform: none;}
#fixed_btn a{ flex-direction: row; width: 100%; height: 12.5vw; font-size: 1rem;}
#fixed_btn a span{ width: 6.25vw; margin: 0 4vw 0 0;}
}



/*メイン*/
#content{ overflow:hidden;}
section{ width:100%; margin:0 auto;}
.maincontent{ padding:0; margin:0 auto; width:1080px;}
@media screen and (max-width:767px){
.maincontent{ padding:0; margin:0 auto; width:84%;}
}

/*tit*/
h1,h2,h3,h4,h5,h6{ line-height: 1.25em; letter-spacing: 0.04em; font-family: 'Noto Sans JP', sans-serif;}



/*sec01*/
#sec01{ padding: 30px 0 90px; position: relative; overflow: hidden;}
#sec01 .tit{ margin-bottom: 60px; position: relative;}
#sec01 .tit figure.tit_ico{ width: 1320px; position: absolute; left: 50%; top: -30px; transform: translateX(-50%); z-index: 3;}
#sec01 .tit figure.tit_img img{ height: 165px;}
#sec01 .tit h2{ text-align: center; font-size: 2rem; margin-top: 10px;}
#sec01 .tit h2 strong{ display: inline-block; position: relative;}
#sec01 .tit h2 strong:before{ content: ""; width: 150px; height: 30px; background: url("../images/tit_bar.png") center center no-repeat; background-size: 100%; position: absolute; left: -175px; top: 50%; transform: translateY(-50%);}
#sec01 .tit h2 strong:after{ content: ""; width: 150px; height: 30px; background: url("../images/tit_bar.png") center center no-repeat; background-size: 100%; position: absolute; right: -175px; top: 50%; transform: translateY(-50%);}
#sec01 p.txt{ font-size: 0.8rem; line-height: 2em; text-align: justify;}
@media screen and (max-width:768px){
#sec01{ padding: 12.5vw 0 15vw;}
#sec01 .tit{ margin-bottom: 5vw;}
#sec01 .tit figure.tit_ico{ width: 100vw; top: -10vw;}
#sec01 .tit figure.tit_img img{ height: 18.75vw;}
#sec01 .tit h2{ font-size: 1.25rem; margin-top: 2.5vw; overflow: hidden;}
#sec01 .tit h2 strong:before{ width: 15vw; height: 6vw; background-size: auto 100%; left: -20vw;}
#sec01 .tit h2 strong:after{ width: 15vw; height: 6vw; background-size: auto 100%; right: -20vw;}
#sec01 p.txt{ font-size: 0.9rem; line-height: 1.75em;}
}



/*style_slide*/
#style_slide{ padding: 60px 0; background: url("../images/style_slide_bg.jpg"); position: relative; z-index: 1; overflow: hidden;}
#style_slide:after{ content: ""; width: 100%; height: 100%; background: url("../images/style_slide_bg2.png") right top repeat-x; background-size: auto 100%; position: absolute; right: calc(50vw + 280px); top: 0; z-index: -1;}
#style_slide ul li dl{ margin: 40px 40px 0; display: flex; justify-content: space-between;}
#style_slide ul li dl dt{ width: 260px;}
#style_slide ul li dl dd{ width: calc(100% - 300px);}
#style_slide ul li dl dt h3{ display: flex; width: 100%; height: 80px; position: relative; z-index: 1;}
#style_slide ul li dl dt h3:before{ content: ""; width: 100%; height: 100%; background: #BAF4EF; position: absolute; left: 0; top: 0; z-index: -1;}
#style_slide ul li dl dt h3:after{ content: ""; width: 100%; height: 100%; background: #000; position: absolute; left: 3px; top: 3px; z-index: -3;}
#style_slide ul li dl dt h3 strong{ width: 170px; display: flex; align-items: center; justify-content: center; border: 1px solid #000; font-size: 2.8rem; font-style: italic; line-height: 1; padding-bottom: 0.125em;}
#style_slide ul li dl dt h3 span{ width: 90px; display: flex; align-items: center; justify-content: center; border: 1px solid #000; font-size: 2.8rem; font-style: italic; line-height: 1; padding-bottom: 0.125em;}
#style_slide ul li dl dd h4{ font-size: 1.2rem; color: #fff; margin-bottom: 30px;}
#style_slide ul li dl dd p{ font-size: 0.8rem; line-height: 2em; color: #fff; text-align: justify;}
#style_slide ul li.style02 dl dt h3:before{ background: #FDF6CB;}
#style_slide ul li.style03 dl dt h3:before{ background: #ACE9FF;}
@media screen and (max-width:768px){
#style_slide{ padding: 3.75vw 0 15vw;}
#style_slide:after{ width: 100%; height: 63.33vw; background-size: auto 150%; right: 0;}
#style_slide ul li dl{ margin: 5vw 7.5vw 0; display: block;}
#style_slide ul li dl dt{ width: 50%; margin-bottom: 12.5vw;}
#style_slide ul li dl dd{ width: 100%;}
#style_slide ul li dl dt h3{ height: 12.5vw;}
#style_slide ul li dl dt h3 strong{ width: 66.66%; font-size: 1.75rem;}
#style_slide ul li dl dt h3 span{ width: 33.33%; font-size: 1.75rem;}
#style_slide ul li dl dd h4{ font-size: 1.2rem; margin-bottom: 5%;}
#style_slide ul li dl dd p{ font-size: 0.9rem; line-height: 1.75em;}
}

/*slider*/
#style_slide ul{ display: flex; justify-content: center; width: calc(1160px * 3); margin-left: calc(-1160px - 40px); position: static;}
#style_slide ul li{ width: 1080px; margin: 0 40px;}
@media screen and (max-width:768px){
#style_slide ul{ width: calc(100% + 168vw); margin-left: -84vw; position: static;}
#style_slide ul li{ width: 100%; margin: 0 0;}
}

/*slick調整*/
#style_slide .maincontent{ position: relative;}
#style_slide .slick-prev,
#style_slide .slick-next{ width: 30px; height: 50px; position: absolute; bottom: 0; transition: 0.3s;}
#style_slide .slick-prev{ left: -55px; top: calc(240px - 25px); transform: none; z-index: 99;}
#style_slide .slick-next{ right: -55px; top: calc(240px - 25px); transform: none; z-index: 99;}
#style_slide .slick-prev:before{ content: ""; width: 100%; height: 100%; background: url("../images/style_slide/ico_arrow.png") center center no-repeat; background-size: 100% 100%; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); opacity: 1.0; transition: 0.3s;}
#style_slide .slick-next:before{ content: ""; width: 100%; height: 100%; background: url("../images/style_slide/ico_arrow.png") center center no-repeat; background-size: 100% 100%; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%) rotateY(180deg); opacity: 1.0; transition: 0.3s;}
@media screen and (max-width:768px){
#style_slide .slick-prev,
#style_slide .slick-next{ width: 4.5vw; height: 7.5vw;}
#style_slide .slick-prev{ left: -4.5vw; top: 45vw;}
#style_slide .slick-next{ right: -4.5vw; top: 45vw;}
}



/*sec02*/
#sec02{ padding: 60px 0 80px; position: relative; overflow: hidden;}
#sec02 .tit{ margin-bottom: 60px; position: relative;}
#sec02 .tit figure.tit_img img{ height: 165px;}
#sec02 .tit h2{ text-align: center; font-size: 2rem; margin-top: 10px;}
#sec02 .tit h2 strong{ display: inline-block; position: relative;}
#sec02 .tit h2 strong:before{ content: ""; width: 150px; height: 30px; background: url("../images/tit_bar.png") center center no-repeat; background-size: 100%; position: absolute; left: -175px; top: 50%; transform: translateY(-50%);}
#sec02 .tit h2 strong:after{ content: ""; width: 150px; height: 30px; background: url("../images/tit_bar.png") center center no-repeat; background-size: 100%; position: absolute; right: -175px; top: 50%; transform: translateY(-50%);}
#sec02 p.txt{ font-size: 0.8rem; line-height: 2em; text-align: justify;}
@media screen and (max-width:768px){
#sec02{ padding: 7.5vw 0 15vw;}
#sec02 .tit{ margin-bottom: 5vw;}
#sec02 .tit figure.tit_ico{ width: 100vw; top: -10vw;}
#sec02 .tit figure.tit_img img{ height: 18.75vw;}
#sec02 .tit h2{ font-size: 1.25rem; margin-top: 2.5vw; overflow: hidden;}
#sec02 .tit h2 strong:before{ width: 15vw; height: 6vw; background-size: auto 100%; left: -20vw;}
#sec02 .tit h2 strong:after{ width: 15vw; height: 6vw; background-size: auto 100%; right: -20vw;}
#sec02 p.txt{ font-size: 0.9rem; line-height: 1.75em;}
}


/*types*/
#types{ padding-bottom: 100px;}
#types .maincontent{ position: relative;}
#types dl{ display: flex; align-items: flex-start; justify-content: space-between;}
#types dl dt{ width: 50%; position: relative;}
#types dl dt figure{ width: 625px;}
#types dl dt h4{ word-break: keep-all; font-size: 4rem; font-style: italic; color: #fff; position: absolute}
#types dl dd{ width: 480px; color: #fff;}
#types dl dd h3{ padding: 50px 0 30px; margin-bottom: 50px; font-size: 1.6rem; line-height: 1.66em; text-align: center; position: relative;}
#types dl dd h3:before{ content: ""; width: 480px; height: 30px; background: url("../images/types_tit_bar01.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0;}
#types dl dd h3:after{ content: ""; width: 480px; height: 5px; background: url("../images/types_tit_bar02.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; bottom: 0;}
#types dl dd p{ font-size: 0.8rem; line-height: 2em; text-align: justify;}

#types01{ background: url("../images/types01_bg.png") center top; height: 780px; padding: 120px 0 0;}
#types01 figure.ico{ width: 312px; position: absolute; right: -80px; bottom: -50px;}
#types01 dl dt figure{ margin-left: -145px;}
#types01 dl dt h4{ position: absolute; bottom: -40px; right: -140px;}

#types02{ background: url("../images/types02_bg.png") center top; height: 760px; padding: 100px 0 0; position: relative; z-index: 3;}
#types02 figure.ico{ width: 438px; position: absolute; left: -80px; bottom: -160px;}
#types02 dl{ flex-direction: row-reverse;}
#types02 dl dt figure{ margin-right: -145px;}
#types02 dl dt h4{ width: 16em; position: absolute; bottom: -40px; left: -80px;}

#types03{ background: url("../images/types03_bg.png") center top; height: 825px; padding: 100px 0 0;}
#types03 figure.ico{ width: 468px; position: absolute; right: -80px; bottom: -40px;}
#types03 dl dt figure{ margin-left: -145px;}
#types03 dl dt h4{ position: absolute; bottom: -40px; right: -60px;}

#types04{ background: url("../images/types04_bg.png") center top; height: 825px; padding: 90px 0 0;}
#types04 figure.ico{ width: 334px; position: absolute; left: -50px; bottom: -230px;}
#types04 dl{ flex-direction: row-reverse;}
#types04 dl dt figure{ margin-right: -145px;}
#types04 dl dt h4{ width: 16em; position: absolute; bottom: -40px; left: -80px;}
@media screen and (max-width:768px){
#types{ padding-bottom: 20vw;}
#types dl{ display: block; width: 74vw; margin: auto;}
#types dl dt{ width: 100%; margin-bottom: 15vw;}
#types dl dt figure{ width: 86vw;}
#types dl dt h4{ font-size: 3rem;}
#types dl dd{ width: 100%; padding: 0;}
#types dl dd h3{ padding: 7.5vw 0 5vw; margin-bottom: 3.75vw; font-size: 1.33rem;}
#types dl dd h3:before{ width: 100%; height: 6vw; background-size: auto 100%;}
#types dl dd h3:after{ width: 100%; height: 0.75vw; background-size: auto 100%;}
#types dl dd p{ font-size: 0.95rem; line-height: 1.75em;}

#types01{ background: url("../images/types01_bg_bottom_smp.png") center top; background-size: cover; height: auto; padding: 12.5vw 0 2.5vw; position: relative; z-index: 1;}
#types01:after{ content: ""; width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: -1; background: url("../images/types01_bg_top_smp.png") center top no-repeat; background-size: 100% auto;}
#types01 figure.ico{ width: 60vw; position: static; margin-top: 5vw;}
#types01 dl dt figure{ margin-left: -13vw;}
#types01 dl dt h4{ position: absolute; bottom: -0.25em; right: -5vw;}

#types02{ background: url("../images/types02_bg_bottom_smp.png") center top; background-size: cover; height: auto; padding: 7.5vw 0 7.5vw; position: relative; z-index: 1;}
#types02:after{ content: ""; width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: -1; background: url("../images/types02_bg_top_smp.png") center top no-repeat; background-size: 100% auto;}
#types02 figure.ico{ width: 74vw; position: static; margin-top: 5vw;}
#types02 dl dt figure{ margin-right: -13vw;}
#types02 dl dt h4{ font-size: 2.4rem; position: absolute; bottom: -0.25em; left: -5vw;}

#types03{ background: url("../images/types03_bg_smp.png") center top; background-size: cover; height: auto; padding: 7.5vw 0 7.5vw; position: relative; z-index: 1;}
#types03:after{ content: ""; width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: -1; background: url("../images/types03_bg_top_smp.png") center top no-repeat; background-size: 100% auto;}
#types03 figure.ico{ width: 74vw; position: static; margin-top: 5vw;}
#types03 dl dt figure{ margin-left: -13vw;}
#types03 dl dt h4{ position: absolute; bottom: -0.25em; right: -5vw;}

#types04{ background: url("../images/types04_bg_bottom_smp.png") center bottom; background-size: cover; height: auto; padding: 7.5vw 0 7.5vw; position: relative; z-index: 1;}
#types04:after{ content: ""; width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: -1; background: url("../images/types04_bg_top_smp.png") center top no-repeat; background-size: 100% auto;}
#types04 figure.ico{ width: 74vw; position: static; margin-top: 12.5vw; margin-bottom: -20vw;}
#types04 dl dt figure{ margin-right: -13vw;}
#types04 dl dt h4{ font-size: 2.4rem; position: absolute; bottom: -0.25em; left: -5vw;}
}



/*sec03*/
#sec03{ background: url("../images/sec03_bg.jpg") center center; padding: 140px 0; position: relative; z-index: 1; overflow: hidden;}
#sec03:before{ content: ""; width: 1286px; height: calc(100% - 80px); border: 4px solid #fff; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); z-index: -1;}
#sec03:after{ content: ""; width: 1246px; height: calc(100% - 120px); border: 2px solid #fff; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); z-index: -1;}
#sec03 .maincontent{ position: relative;}
#sec03 .maincontent:before{ content: ""; width: 523px; height: 523px; background: url("../images/sec03_ico01.png") center center no-repeat; background-size: 100%; position: absolute; left: -170px; top: -220px;}
#sec03 .maincontent:after{ content: ""; width: 523px; height: 523px; background: url("../images/sec03_ico02.png") center center no-repeat; background-size: 100%; position: absolute; right: -170px; top: -200px;}

#sec03 .tit{ margin-bottom: 60px; position: relative;}
#sec03 .tit figure.tit_img img{ height: 144px;}
#sec03 .tit h2{ color: #fff; text-align: center; font-size: 2rem; margin-top: 30px;}
#sec03 .tit h2 strong{ display: inline-block; position: relative;}
#sec03 .tit h2 strong:before{ content: ""; width: 150px; height: 30px; background: url("../images/tit_bar_wh.png") center center no-repeat; background-size: 100%; position: absolute; left: -175px; top: 50%; transform: translateY(-50%);}
#sec03 .tit h2 strong:after{ content: ""; width: 150px; height: 30px; background: url("../images/tit_bar_wh.png") center center no-repeat; background-size: 100%; position: absolute; right: -175px; top: 50%; transform: translateY(-50%);}

#sec03 .list{ color: #fff;}
#sec03 .list dl{ display: flex; align-items: center; justify-content: space-between; margin-top: 60px;}
#sec03 .list dl:nth-child(2n){ flex-direction: row-reverse;}
#sec03 .list dl dt{ width: 50%;}
#sec03 .list dl dd{ width: 500px;}
#sec03 .list dl dd h3{ padding: 50px 0 30px; margin-bottom: 30px; font-size: 1.6rem; line-height: 1.66em; text-align: center; position: relative;}
#sec03 .list dl dd h3:before{ content: ""; width: 500px; height: 30px; background: url("../images/sec03_tit_bar01.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0;}
#sec03 .list dl dd h3:after{ content: ""; width: 500px; height: 5px; background: url("../images/sec03_tit_bar02.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; bottom: 0;}
#sec03 .list dl dd p{ font-size: 0.8rem; line-height: 2em; text-align: justify;}
@media screen and (max-width:768px){
#sec03{ padding: 15vw 0 20vw;}
#sec03:before{ width: calc(100% - 5vw - 4px); height: calc(100% - 5vw - 4px);}
#sec03:after{ width: calc(100% - 10vw - 2px); height: calc(100% - 10vw - 2px);}
#sec03 .maincontent:before{ width: 50vw; height: 50vw; left: -12.5vw; top: -24vw;}
#sec03 .maincontent:after{ width: 50vw; height: 50vw; right: -22.5vw; top: -24vw;}

#sec03 .tit{ margin-bottom: 5vw;}
#sec03 .tit figure.tit_ico{ width: 100vw; top: -10vw;}
#sec03 .tit figure.tit_img img{ height: 17.5vw;}
#sec03 .tit h2{ font-size: 1.25rem; margin-top: 2.5vw; overflow: hidden;}
#sec03 .tit h2 strong:before{ width: 15vw; height: 6vw; background-size: auto 100%; left: -20vw;}
#sec03 .tit h2 strong:after{ width: 15vw; height: 6vw; background-size: auto 100%; right: -20vw;}

#sec03 .list{ width: 74vw; margin: auto;}
#sec03 .list dl{ display: block; margin-top: 15vw;}
#sec03 .list dl:nth-child(1){ margin-top: 0;}
#sec03 .list dl dt{ width: 100%; margin-bottom: 5vw;}
#sec03 .list dl dd{ width: 100%;}
#sec03 .list dl dd h3{ padding: 7.5vw 0 5vw; margin-bottom: 3.75vw; font-size: 1.33rem;}
#sec03 .list dl dd h3:before{ width: 100%; height: 6vw; background-size: auto 100%;}
#sec03 .list dl dd h3:after{ width: 100%; height: 0.75vw; background-size: auto 100%;}
#sec03 .list dl dd p{ font-size: 0.95rem; line-height: 1.75em;}
}



/*sec04*/
#sec04{ background: url("../images/sec04_bg.jpg") center center; padding: 0 0 140px; position: relative; z-index: 1; overflow: hidden;}
#sec04:before{ content: ""; width: 1286px; height: calc(100% - 80px); border: 4px solid #fff; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); z-index: -1;}
#sec04:after{ content: ""; width: 1246px; height: calc(100% - 120px); border: 2px solid #fff; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); z-index: -1;}

#sec04 .maincontent{ position: relative;}
#sec04 figure.ico01{ width: 224px; position: absolute; left: -100px; bottom: 0;}
#sec04 figure.ico01 img{ opacity: 0.33;}
#sec04 figure.ico02{ width: 194px; position: absolute; right: -90px; bottom: 0;}
#sec04 figure.ico02 img{ opacity: 0.33;}
#sec04 figure.ico03{ width: 352px; position: absolute; right: -50px; top: 0;}

#sec04 #sec04_top{ padding: 120px 0 60px; position: relative; z-index: 1;}
#sec04 #sec04_top:before{ content: ""; width: 200vw; height: 100%; background: url("../images/sec04_bg2.png") center top; background-size: auto 100%; position: absolute; left: -100vw; top: 0;}

#sec04 .tit{ margin-bottom: 60px; position: relative;}
#sec04 .tit figure.tit_img img{ height: 144px;}
#sec04 .tit h2{ color: #fff; text-align: center; font-size: 2rem; margin-top: 30px;}
#sec04 .tit h2 strong{ display: inline-block; position: relative;}
#sec04 .tit h2 strong:before{ content: ""; width: 150px; height: 30px; background: url("../images/tit_bar_wh.png") center center no-repeat; background-size: 100%; position: absolute; left: -175px; top: 50%; transform: translateY(-50%);}
#sec04 .tit h2 strong:after{ content: ""; width: 150px; height: 30px; background: url("../images/tit_bar_wh.png") center center no-repeat; background-size: 100%; position: absolute; right: -175px; top: 50%; transform: translateY(-50%);}
#sec04 p.txt{ text-align: center; font-size: 0.8rem; line-height: 2em; color: #fff;}

#sec04 .list{ color: #fff;}
#sec04 .list dl{ display: flex; justify-content: space-between; margin-top: 60px;}
#sec04 .list dl:nth-child(2n){ flex-direction: row-reverse;}
#sec04 .list dl dt{ width: 50%;}
#sec04 .list dl dd{ width: 500px;}
#sec04 .list dl dd h3{ padding: 50px 0 30px; margin-bottom: 30px; font-size: 1.6rem; line-height: 1.66em; text-align: center; position: relative;}
#sec04 .list dl dd h3:before{ content: ""; width: 500px; height: 30px; background: url("../images/sec03_tit_bar01.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0;}
#sec04 .list dl dd h3:after{ content: ""; width: 500px; height: 5px; background: url("../images/sec03_tit_bar02.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; bottom: 0;}
#sec04 .list dl dd p{ font-size: 0.8rem; line-height: 2em; text-align: justify;}
@media screen and (max-width:768px){
#sec04{ padding: 0 0 20vw;}
#sec04:before{ width: calc(100% - 5vw - 4px); height: calc(100% - 5vw - 4px);}
#sec04:after{ width: calc(100% - 10vw - 2px); height: calc(100% - 10vw - 2px);}

#sec04 figure.ico01{ width: 20vw; left: 20vw; bottom: 0;}
#sec04 figure.ico02{ width: 17.5vw; right: 18vw; bottom: 0;}
#sec04 figure.ico03{ width: 25vw; right: -6vw; top: 8vw;}

#sec04 #sec04_top{ padding: 12.5vw 0 33.33vw; margin-bottom: 7.5vw; position: relative; z-index: 1;}
#sec04 #sec04_top:before{ background-size: auto 66.66%;}

#sec04 .tit{ margin-bottom: 5vw;}
#sec04 .tit figure.tit_ico{ width: 100vw; top: -10vw;}
#sec04 .tit figure.tit_img img{ height: 17.5vw;}
#sec04 .tit h2{ font-size: 1.25rem; margin-top: 2.5vw; overflow: hidden;}
#sec04 .tit h2 strong:before{ width: 15vw; height: 6vw; background-size: auto 100%; left: -20vw;}
#sec04 .tit h2 strong:after{ width: 15vw; height: 6vw; background-size: auto 100%; right: -20vw;}
#sec04 p.txt{ text-align: justify; font-size: 0.9rem; margin: 0 5vw;}

#sec04 .list{ width: 74vw; margin: auto;}
#sec04 .list dl{ display: block; margin-top: 15vw;}
#sec04 .list dl:nth-child(1){ margin-top: 0;}
#sec04 .list dl dt{ width: 100%; margin-bottom: 5vw;}
#sec04 .list dl dt img{ width: calc(100% + 6.25vw); max-width: calc(100% + 6.25vw);}
#sec04 .list dl:nth-child(2n+1) dt img{ margin-left: calc(-6.25vw + 2px);}
#sec04 .list dl dd{ width: 100%;}
#sec04 .list dl dd h3{ padding: 7.5vw 0 5vw; margin-bottom: 3.75vw; font-size: 1.33rem;}
#sec04 .list dl dd h3:before{ width: 100%; height: 6vw; background-size: auto 100%;}
#sec04 .list dl dd h3:after{ width: 100%; height: 0.75vw; background-size: auto 100%;}
#sec04 .list dl dd p{ font-size: 0.95rem; line-height: 1.75em;}
}



/*sec05*/
#sec05{ background: url("../images/sec05_bg.jpg") center center; background-size: cover; padding: 80px 0 120px;}

#sec05 .tit{ margin-bottom: 60px; position: relative;}
#sec05 .tit figure.tit_img img{ height: 144px;}
#sec05 .tit h2{ text-align: center; font-size: 2rem; margin-top: 30px;}
#sec05 .tit h2 strong{ display: inline-block; position: relative;}
#sec05 .tit h2 strong:before{ content: ""; width: 150px; height: 30px; background: url("../images/tit_bar.png") center center no-repeat; background-size: 100%; position: absolute; left: -175px; top: 50%; transform: translateY(-50%);}
#sec05 .tit h2 strong:after{ content: ""; width: 150px; height: 30px; background: url("../images/tit_bar.png") center center no-repeat; background-size: 100%; position: absolute; right: -175px; top: 50%; transform: translateY(-50%);}

#sec05 .list ul{ display: flex; flex-wrap: wrap; width: calc(100% + 60px); margin: -30px 0 -30px -30px;}
#sec05 .list ul li{ width: calc(50% - 60px); margin: 30px;}
#sec05 .list ul li figure{ margin-bottom: 30px;}
#sec05 .list ul li h4{ font-size: 1rem; background: url("../images/sec05_tit_bar.png") center bottom repeat-x; background-size: auto 5px; padding-bottom: 20px; margin-bottom: 20px;}
#sec05 .list ul li h4 span{ font-size: 0.8rem;}
#sec05 .list ul li p{ font-size: 0.8rem; line-height: 1.75em; text-align: justify;}
#sec05 .list ul li p small{ font-size: 0.7rem;}
@media screen and (max-width:768px){
#sec05{ background: url("../images/sec05_bg_smp.jpg") center center; background-size: cover; padding: 10vw 0 20vw;}

#sec05 .tit{ margin-bottom: 5vw;}
#sec05 .tit figure.tit_ico{ width: 100vw; top: -10vw;}
#sec05 .tit figure.tit_img img{ height: 17.5vw;}
#sec05 .tit h2{ font-size: 1.25rem; margin-top: 2.5vw; overflow: hidden;}
#sec05 .tit h2 strong:before{ width: 15vw; height: 6vw; background-size: auto 100%; left: -20vw;}
#sec05 .tit h2 strong:after{ width: 15vw; height: 6vw; background-size: auto 100%; right: -20vw;}

#sec05 .list{ width: 74vw; margin: auto;}
#sec05 .list ul{ display: block; width: 100%; margin: 0 auto;}
#sec05 .list ul li{ width: 100%; margin: 15vw auto 0;}
#sec05 .list ul li figure{ margin-bottom: 5vw;}
#sec05 .list ul li h4{ font-size: 1.2rem; background-size: auto 1.25vw; padding-bottom: 3.75vw; margin-bottom: 3.75vw;}
#sec05 .list ul li h4 span{ font-size: 1.2rem;}
#sec05 .list ul li p{ font-size: 0.9rem;}
#sec05 .list ul li p small{ font-size: 0.8rem;}
}



/*sec06*/
#sec06{ background: url("../images/sec06_bg.jpg") center center; padding: 140px 0; position: relative; z-index: 1; overflow: hidden;}
#sec06:before{ content: ""; width: 1286px; height: calc(100% - 80px); border: 4px solid #fff; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); z-index: -1;}
#sec06:after{ content: ""; width: 1246px; height: calc(100% - 120px); border: 2px solid #fff; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); z-index: -1;}
#sec06 .maincontent{ position: relative;}
#sec06 .maincontent:before{ content: ""; width: 523px; height: 523px; background: url("../images/sec06_ico01.png") center center no-repeat; background-size: 100%; position: absolute; left: -170px; top: -220px;}
#sec06 .maincontent:after{ content: ""; width: 523px; height: 523px; background: url("../images/sec06_ico02.png") center center no-repeat; background-size: 100%; position: absolute; right: -170px; top: -200px;}

#sec06 .tit{ margin-bottom: 60px; position: relative;}
#sec06 .tit figure.tit_img img{ height: 164px;}
#sec06 .tit h2{ color: #fff; text-align: center; font-size: 2rem; margin-top: 10px;}
#sec06 .tit h2 strong{ display: inline-block; position: relative;}
#sec06 .tit h2 strong:before{ content: ""; width: 150px; height: 30px; background: url("../images/tit_bar_wh.png") center center no-repeat; background-size: 100%; position: absolute; left: -175px; top: 50%; transform: translateY(-50%);}
#sec06 .tit h2 strong:after{ content: ""; width: 150px; height: 30px; background: url("../images/tit_bar_wh.png") center center no-repeat; background-size: 100%; position: absolute; right: -175px; top: 50%; transform: translateY(-50%);}

#sec06 .list{ color: #fff;}
#sec06 .list dl{ display: flex; align-items: center; justify-content: space-between; margin-top: 60px;}
#sec06 .list dl:nth-child(2n){ flex-direction: row-reverse;}
#sec06 .list dl dt{ width: 50%;}
#sec06 .list dl dd{ width: 500px;}
#sec06 .list dl dd h3{ padding: 50px 0 30px; margin-bottom: 30px; font-size: 1.6rem; line-height: 1.66em; text-align: center; position: relative;}
#sec06 .list dl dd h3:before{ content: ""; width: 500px; height: 30px; background: url("../images/sec03_tit_bar01.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0;}
#sec06 .list dl dd h3:after{ content: ""; width: 500px; height: 5px; background: url("../images/sec03_tit_bar02.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; bottom: 0;}
#sec06 .list dl dd p{ font-size: 0.8rem; line-height: 2em; text-align: justify;}
@media screen and (max-width:768px){
#sec06{ padding: 12.5vw 0 20vw;}
#sec06:before{ width: calc(100% - 5vw - 4px); height: calc(100% - 5vw - 4px);}
#sec06:after{ width: calc(100% - 10vw - 2px); height: calc(100% - 10vw - 2px);}
#sec06 .maincontent:before{ width: 50vw; height: 50vw; left: -12.5vw; top: -24vw;}
#sec06 .maincontent:after{ width: 50vw; height: 50vw; right: -22.5vw; top: -24vw;}

#sec06 .tit{ margin-bottom: 5vw;}
#sec06 .tit figure.tit_ico{ width: 100vw; top: -10vw;}
#sec06 .tit figure.tit_img img{ height: 18.75vw;}
#sec06 .tit h2{ font-size: 1.25rem; margin-top: 2.5vw; overflow: hidden;}
#sec06 .tit h2 strong:before{ width: 15vw; height: 6vw; background-size: auto 100%; left: -20vw;}
#sec06 .tit h2 strong:after{ width: 15vw; height: 6vw; background-size: auto 100%; right: -20vw;}

#sec06 .list{ width: 74vw; margin: auto;}
#sec06 .list dl{ display: block; margin-top: 15vw;}
#sec06 .list dl:nth-child(1){ margin-top: 0;}
#sec06 .list dl dt{ width: 100%; margin-bottom: 5vw;}
#sec06 .list dl dd{ width: 100%;}
#sec06 .list dl dd h3{ padding: 7.5vw 0 5vw; margin-bottom: 3.75vw; font-size: 1.33rem;}
#sec06 .list dl dd h3:before{ width: 100%; height: 6vw; background-size: auto 100%;}
#sec06 .list dl dd h3:after{ width: 100%; height: 0.75vw; background-size: auto 100%;}
#sec06 .list dl dd p{ font-size: 0.95rem; line-height: 1.75em;}
}



/*sec07*/
#sec07{ background: url("../images/sec07_bg.jpg") center center; background-size: cover; padding: 80px 0 120px;}

#sec07 .tit{ margin-bottom: 60px; position: relative;}
#sec07 .tit figure.tit_img img{ height: 144px;}
#sec07 .tit h2{ color: #fff; text-align: center; font-size: 2rem; margin-top: 30px;}
#sec07 .tit h2 strong{ display: inline-block; position: relative;}
#sec07 .tit h2 strong:before{ content: ""; width: 150px; height: 30px; background: url("../images/tit_bar_wh.png") center center no-repeat; background-size: 100%; position: absolute; left: -175px; top: 50%; transform: translateY(-50%);}
#sec07 .tit h2 strong:after{ content: ""; width: 150px; height: 30px; background: url("../images/tit_bar_wh.png") center center no-repeat; background-size: 100%; position: absolute; right: -175px; top: 50%; transform: translateY(-50%);}

#sec07 dl{ display: flex; gap: 20px;}
#sec07 dl dt{ width: 440px;}
#sec07 dl dd{ width: 620px; display: flex; flex-direction: column; justify-content: space-between; gap: 20px;}
#sec07 dl dd .txt{ width: 100%; height: 100%; background: #96906F; color: #fff; padding: 40px;}
#sec07 dl dd .txt p{ font-size: 0.8rem; line-height: 2em; text-align: justify;}
#sec07 dl dd ul{ display: flex; gap:20px;}
#sec07 dl dd ul li{ width: 50%;}
@media screen and (max-width:768px){
#sec07{ background: url("../images/sec07_bg_smp.jpg") center top; background-size: cover; padding: 10vw 0 10vw;}

#sec07 .tit{ margin-bottom: 5vw;}
#sec07 .tit figure.tit_ico{ width: 100vw; top: -10vw;}
#sec07 .tit figure.tit_img img{ height: 17.5vw;}
#sec07 .tit h2{ font-size: 1.25rem; margin-top: 2.5vw; overflow: hidden;}
#sec07 .tit h2 strong:before{ width: 15vw; height: 6vw; background-size: auto 100%; left: -20vw;}
#sec07 .tit h2 strong:after{ width: 15vw; height: 6vw; background-size: auto 100%; right: -20vw;}

#sec07 dl{ display: block;}
#sec07 dl dt{ width: 100%;}
#sec07 dl dd{ width: 100%; display: block; margin-top: 5vw;}
#sec07 dl dt .txt{background: #96906F; color: #fff; padding: 6vw;}
#sec07 dl dt .txt p{ font-size: 0.9rem; line-height: 1.75em; text-align: justify;}
}



/*cv*/
.cv{ padding: 50px 0; background: url("../images/cv_bg.jpg") center center no-repeat; background-size: cover; position: relative; z-index: 99;}
.cv_box{ width: 1080px; height: 320px; padding: 40px 60px; display: flex; flex-direction: column; align-items: center; background: url("../images/cv_box.png") center center no-repeat; background-size: 100%;}
.cv_box h3{ width: 100%; text-align: center; border-bottom: 1px solid #000; padding-bottom: 30px; margin-bottom: 30px;}
.cv_box h3 img{ height: 50px;}
.cv_box dl{ width: 100%; display: flex; text-align: center;}
.cv_box dl dt{ width: 50%;}
.cv_box dl dd{ width: 50%;}
.cv_box h4{ text-align: center; font-size: 1.6rem; line-height: 1em; margin-bottom: 20px;}
.cv_box figure.form_btn a{ display: flex; align-items: center; justify-content: center; width: 340px; height: 60px; margin: auto; background: #71201E; color: #fff; font-size: 1rem; font-weight: bold; position: relative;}
.cv_box figure.form_btn a:after{ content: ""; width: 8px; height: 12px; background: url("../images/cv_btn_arrow.png") center center no-repeat; background-size: 100%; position: absolute; right: 20px; top: 50%; transform: translateY(-50%);}
.cv_box figure.tel_btn a{ display: flex; align-items: center; justify-content: center; height: 60px;}
.cv_box figure.tel_btn a span{ width: 32px; margin-right: 10px;}
.cv_box figure.tel_btn a strong{ font-size: 2rem; color: #71201E;}
@media screen and (max-width:768px){
.cv{ padding: 4vw; background: url("../images/cv_bg_smp.jpg") center center no-repeat; background-size: cover;}
.cv .maincontent{ width: 100%;}
.cv_box{ width: 100%; height: 125vw; padding: 8vw 4vw; background: url("../images/cv_box_smp.png") center center no-repeat; background-size: 100% 100%;}
.cv_box h3{ border-bottom: 1px solid #000; padding-bottom: 8vw; margin-bottom: 0;}
.cv_box h3 img{ width: 74vw; height: auto;}
.cv_box dl{ display: block;}
.cv_box dl dt{ width: 100%; padding: 8vw 4vw; border-bottom: 1px solid #000;}
.cv_box dl dd{ width: 100%; padding: 8vw 4vw 0;}
.cv_box h4{ font-size: 1.25rem; margin-bottom: 2.5vw;}
.cv_box figure.form_btn{ margin-top: 5vw;}
.cv_box figure.form_btn a{ width: 100%; height: 15vw; font-size: 1.2rem;}
.cv_box figure.form_btn a:after{ width: 2.5vw; height: 3.75vw; right: 4vw;}
.cv_box figure.tel_btn a{ height: auto;}
.cv_box figure.tel_btn a span{ width: 6vw; margin-right: 1.25vw;}
.cv_box figure.tel_btn a strong{ font-size: 2rem;}
}



@media print, screen and (min-width:768px){
.smp{ display:none !important;}
}
@media screen and (max-width:767px){
.pc{ display:none !important;}
}
