@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Noto+Sans+JP:wght@100;300;400;500;700;900&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: "Roboto",'Noto Sans JP',"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;
font-size:20px;
text-align:left;
color:#000;
min-width:1180px;
}
@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; 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.5em; 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;}
.black{ color:#000;}
.orange{ color:#F08300;}
.blue{ color:#1E2088;}
.yellow{ color: #FBFF9A;}

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

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



/*ヘッダー*/
body{ padding-top: 104px;}
header{ position: fixed; left: 0; right: 0; top: 0; z-index: 99; background: #fff; width: 100%; min-width: 1180px; margin: auto; padding: 0;}
header #head01{ width: 1100px; padding: 15px 0; margin: 0 auto; position: relative;}
header figure.logo{ text-align: left;}
header figure.logo img{ height: 24px;}
header #nav_btn{ display: flex; align-items: flex-end; justify-content: center; width: 64px; height: 54px; position: absolute; right: 0; top: 0; cursor:pointer; z-index: 9999; padding: 20px 15px; background: #fff; transition: 0.3s;}
header #nav_btn:after{ content: "閉じる"; font-size: 0.5rem; line-height: 1em; letter-spacing: -0.02em; color: #404040; position: absolute; left: 0; right: 0; bottom: 0.75em; margin: auto; text-align: center; opacity: 0; transition: 0.3s}
header #nav_btn span{ display:block; height:2px; width: 24px; background:#2E2E2E; position:absolute; left:0; right:0; top: 50%; transform: translateY(-50%); margin:auto; transition:0.3s; border-radius: 2px;}
header #nav_btn span:before{ content: ""; display:block; height:2px; width:100%; background:#2E2E2E; position:absolute; bottom:8px; transition:0.3s; border-radius: 2px;}
header #nav_btn span:after{ content: ""; display:block; height:2px; width:100%; background:#2E2E2E; position:absolute; top:8px; transition:0.3s; border-radius: 2px;}
header #nav_btn.active{ background: #ccc;}
header #nav_btn.active:after{ opacity: 1.0}
header #nav_btn.active span{ background:rgba(255,255,255,0); top: calc(50% - 0.25rem);}
header #nav_btn.active span:before{ bottom:0; transform: rotate(45deg);}
header #nav_btn.active span:after{ top:0; transform: rotate(-45deg);}
@media screen and (max-width:767px){
body{ padding-top: 10vw;}
header{ min-width: 100%; padding: 0;}
header #head01{ width: 100%; margin: 0 auto; padding: 2.5vw 3.75vw}
header figure.logo img{ width: auto; height: 5vw;}
header #nav_btn{ width: 15vw; height: 10vw; right: 0; top: 0;}
header #nav_btn.active span{ width: 5vw; top: calc(50% - 0.33em);}
}


/*ナビ*/
header #nav{ display: none;  background: #F5F5F5; width: 100%; min-width: 1180px; position: fixed; left: 0; top: 0; z-index: 9999; overflow-x: hidden; overflow-y: auto;}
header #nav figure.nav_img{ width: 960px; text-align: right; margin: auto; position: absolute; left: 0; right: 0; bottom: 0; pointer-events: none; z-index: 3;}
header #nav figure.nav_img img{ width: 210px;}
header #nav2{ display: none; justify-content: center; background: #F5F5F5; width: 100%; min-width: 1180px; position: fixed; left: 0; top: 0; z-index: 999; overflow-x: hidden; overflow-y: auto;}

header .nav01{ width: 100%; background: #fff; padding: 20px;}
header .nav01 dl{ display: flex; align-items: center; justify-content: space-between;}
header .nav01 dl dt{ padding: 0;}
header .nav01 dl dt img{ width: 200px;}
header .nav01 dl dd{ display: flex; align-items: center; justify-content: flex-end;}
header .nav01 dl dd h3{ font-size: 1.8rem; line-height: 1em; letter-spacing: 0; color: #3F43A4;}
header .nav01 dl dd .tel{ display: flex; align-items: center; justify-content: center; height: 60px; background: #F7F7F7; padding: 10px; margin-left: 20px;}
header .nav01 dl dd .tel a{ font-size: 1.4rem; font-weight: bold; color: #D01328;}
header .nav01 dl dd .tel span{ display: flex; align-items: center; justify-content: center; text-align: center; border: 1px solid #000; font-size: 0.6rem; line-height: 1.25em; font-weight: bold; padding: 0.25em; margin-left: 4px; border-radius: 4px;}
header .nav01 dl dd .file{ margin-left: 10px;}
header .nav01 dl dd .file a{ display: flex; align-items: center; justify-content: flex-start; width: 160px; height: 60px; padding-left: 64px; font-size: 0.9rem; line-height: 1em; font-weight: bold; background: #07BA9F; color: #fff; border-bottom: 3px solid #008E79; border-radius: 8px; position: relative;}
header .nav01 dl dd .file a:before{ content: ""; width: 44px; height: 44px; background: url("../images/cv_file.png") center center no-repeat; background-size: 100%; position: absolute; left: 10px; top: 50%; transform: translateY(-50%);}

header .nav02{ width: 100%; background: #fff;}
header .nav02 ul{ display: flex;}
header .nav02 ul li{ width: 33.33%; font-size: 0.8rem; font-weight: bold;}
header .nav02 ul li a{ display: flex; align-items: center; justify-content: center; text-align: center; width: 100%; height: 50px; border: 1px solid #D9D9D9; border-left: none; transition: 0.3s;}
header .nav02 ul li a:hover{ background: #F5F5F5;}
header .nav02 ul li.open{ display: flex; align-items: center; justify-content: center; text-align: center; width: 33.33%; height: 50px; border: 1px solid #D9D9D9; border-left: none; border-right: none; background: #D01328; color: #fff; cursor: pointer; transition: 0.3s;}
header .nav02 ul li.open:hover{ opacity: 0.7;}
header .nav02 ul li.close{ /*display: none;*/ display: flex; align-items: center; justify-content: center; text-align: center; width: 33.33%; height: 50px; border: 1px solid #D9D9D9; border-left: none; border-right: none; background: #D01328; color: #fff; cursor: pointer; transition: 0.3s;}
header .nav02 ul li.close:hover{ opacity: 0.7;}
header .nav02 ul li span{ display: inline-block; padding-left: 32px; position: relative;}
header .nav02 ul li span:before{ content: ""; width: 24px; height: 24px; background: url("../images/h_nav_ico1.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
header .nav02 ul li:nth-child(2) span:before{ background: url("../images/h_nav_ico2.png") center center no-repeat; background-size: 100%;}
header .nav02 ul li:nth-child(3) span:before{ background: url("../images/h_nav_ico4.png") center center no-repeat; background-size: 100%;}
header .nav02 ul li:nth-child(4) span:before{ background: url("../images/h_nav_ico3.png") center center no-repeat; background-size: 100%;}

header .nav03{ width: 1180px;}
header .nav03 dl{ width: 100%; margin: 0 auto; padding: 40px; display: flex; justify-content: flex-end;}
header .nav03 dl dt{ width: 360px; margin-left: 30px;}
header .nav03 dl dd{ width: 360px; margin-left: 30px;}
header .nav03 ul li{ margin-bottom: 8px;}
header .nav03 ul li li{ margin: 0;}
header .nav03 ul li a{ display: flex; width: 100%; padding: 12px 24px; font-size: 0.8rem; font-weight: 600; background: #fff; border: 1px solid #ccc; border-bottom: 4px solid #DDD; border-radius: 6px; position: relative; transition: 0.3s;}
header .nav03 ul li a:hover{ background: #f5f5f5;}
header .nav03 ul li a:after{ content: ""; width: 0; height: 0; border-style: solid; border-color: transparent transparent transparent #555; border-width: 4px 0px 4px 6px; position: absolute; right: 20px; top: 50%; transform: translateY(-50%);}
header .nav03 dl dt ul li a{ color: #fff; padding-left: 60px; border: none; border-bottom: 4px solid #DDD; cursor: pointer; transition: 0.3s;}
header .nav03 dl dt ul li a:hover{ opacity: 0.7;}
header .nav03 dl dt ul li a:after{ border-color: transparent transparent transparent #fff;}
header .nav03 dl dt ul li a:before{ content: ""; width: 60px; height: 30px; background: url("../images/smp_nav_ico1.png") center center no-repeat; background-size: auto 100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
header .nav03 dl dt ul li:nth-child(1) a{ background: #D01328; border-color: #A3091C;}
header .nav03 dl dt ul li:nth-child(2) a{ background: #4043A4; border-color: #2B2D88;}
header .nav03 dl dt ul li:nth-child(2) a:before{ background: url("../images/smp_nav_ico2.png") center center no-repeat; background-size: auto 100%;}
header .nav03 dl dt ul li:nth-child(3) a{ background: #07BA9F; border-color: #008E79;}
header .nav03 dl dt ul li:nth-child(3) a:before{ background: url("../images/smp_nav_ico3.png") center center no-repeat; background-size: auto 100%;}
header .nav03 dl dt ul li:nth-child(4) a{ background: #ED9A15; border-color: #CE8510;}
header .nav03 dl dt ul li:nth-child(4) a:before{ background: url("../images/smp_nav_ico4.png") center center no-repeat; background-size: auto 100%;}
header .nav03 dl dt .benefits p{ font-size: 0.8rem; text-align: center; margin: 0 0 4px;}
header .nav03 dl dt .benefits ul{ display: flex; width: calc(100% + 6px); margin-left: -3px;}
header .nav03 dl dt .benefits ul li{ width: calc(50% - 6px); margin: 0 3px;}
header .nav03 dl dt .benefits ul li a{ background: #ED9A15; border-color: #CE8510; padding-left: 10px;}
header .nav03 dl dt .benefits ul li a:before{ display: none;}
header .nav04_1{ background: #D01328; color: #fff; padding: 40px 0;}
header .nav04_1 h3{ font-size: 1.6rem; width: 960px; padding-right: 480px; margin: auto; text-align: center;}
header .nav04_1 h3 strong{ color: #F9FF66;}
header .nav04_2{ background: #F5F5F5; padding: 40px 0;}
header .nav04_2 dl{ display: flex; align-items: center;}
header .nav04_2 dl dt{ width: 50%; text-align: center;}
header .nav04_2 dl dt p{ font-size: 0.75rem; font-weight: bold; line-height: 1.6em; margin: 0;}
header .nav04_2 dl dt p strong{ color: #D01328;}
header .nav04_2 dl dt p.att{ font-size: 0.75rem; font-weight: normal;}
header .nav04_2 dl dt p.att strong{ font-weight: normal;}
header .nav04_2 dl dt .tel{ display: flex; align-items: center; justify-content: center;}
header .nav04_2 dl dt .tel a{ font-size: 1.85rem; font-weight: bold; color: #D01328; padding-left: 40px; position: relative;}
header .nav04_2 dl dt .tel a:before{ content: ""; width: 32px; height: 32px; background: url("../images/ico_tel.png"); background-size: 100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
header .nav04_2 dl dt .tel span{ display: flex; align-items: center; justify-content: center; text-align: center; border: 1px solid #000; font-size: 0.6rem; font-weight: bold; line-height: 1.25em; padding: 0.25em; margin-left: 8px; border-radius: 4px;}
header .nav04_2 dl dd{ width: 50%;}
header .nav04_2 dl dd ul{ background: #fff; width: 320px; font-size: 0.75rem; font-weight: bold; color: #D01328; padding: 20px; border-radius: 8px;}
header .nav04_2 dl dd ul li{ position: relative; padding-left: 1em;}
header .nav04_2 dl dd ul li:before{ content: "・"; position: absolute; left: 0; top: 0;}
@media print, screen and (min-width:768px){
header #nav{ height: auto !important;}
}
@media screen and (max-width:767px){
header #nav{ width: 100%; min-width: 100%; height: 100vh; min-height: 100dvh;}
header #nav2{ width: 100%; min-width: 100%; height: 100vh; min-height: 100dvh;}

header .nav01_smp{ background: #fff; display: flex; align-items: center; justify-content: space-between; padding: 2.5vw; position: relative;}
header .nav01_smp dl dt img{ height: 7.5vw;}
header .nav01_smp dl dd{ display: flex; align-items: flex-end; justify-content: center; width: 10vw; height: 12.5vw; position: absolute; right: 0; top: 0; cursor:pointer; z-index: 99; padding: 0; transition: 0.3s;}
header .nav01_smp dl dd:after{ content: "閉じる"; font-size: 0.5rem; line-height: 1em; letter-spacing: -0.02em; color: #404040; position: absolute; left: 0; right: 0; bottom: 0.75em; margin: auto; text-align: center;}
header .nav01_smp dl dd span{ display:block; height:2px; width: 5vw; background:#2E2E2E; position:absolute; left:0; right:0; top: 50%; transform: translateY(-50%); margin:auto; transition:0.3s; border-radius: 2px;}
header .nav01_smp dl dd span:before{ content: ""; display:block; height:2px; width:100%; background:#2E2E2E; position:absolute; bottom:8px; transition:0.3s; border-radius: 2px;}
header .nav01_smp dl dd span:after{ content: ""; display:block; height:2px; width:100%; background:#2E2E2E; position:absolute; top:8px; transition:0.3s; border-radius: 2px;}
header .nav01_smp dl dd span{ background:rgba(255,255,255,0); top: calc(50% - 0.25rem);}
header .nav01_smp dl dd span:before{ bottom:0; transform: rotate(45deg);}
header .nav01_smp dl dd span:after{ top:0; transform: rotate(-45deg);}

header .nav02_smp{ background: #fff;}
header .nav02_smp ul{ display: flex;}
header .nav02_smp ul li{ width: 33.33%; font-size: 0.8rem; font-weight: bold; position: relative;}
header .nav02_smp ul li a{ display: flex; align-items: center; justify-content: center; text-align: center; width: 100%; height: 50px; border: 1px solid #D9D9D9; border-left: none;}
header .nav02_smp ul li.emergency_smp{ display: flex; align-items: center; justify-content: center; text-align: center; width: 33.33%; height: 50px; border: 1px solid #D9D9D9; border-left: none; border-right: none; background: #D01328; color: #fff; cursor: pointer;}
header .nav02_smp ul li.emergency_smp.close{ /*display: none;*/ display: flex;}
header .nav02_smp ul li span{ display: inline-block; padding-left: 3.125vw;}
header .nav02_smp ul li span:before{ content: ""; width: 5vw; height: 5vw; background: url("../images/h_nav_ico1.png") center center no-repeat; background-size: 100%; position: absolute; left: 1.25vw; top: 50%; transform: translateY(-50%);}
header .nav02_smp ul li:nth-child(2) span:before{ background: url("../images/h_nav_ico2.png") center center no-repeat; background-size: 100%;}
header .nav02_smp ul li:nth-child(3) span:before{ background: url("../images/h_nav_ico4.png") center center no-repeat; background-size: 100%;}
header .nav02_smp ul li:nth-child(4) span:before{ background: url("../images/h_nav_ico3.png") center center no-repeat; background-size: 100%;}

header .nav03_smp{ width: 100vw; padding: 7.5vw;}
header .nav03_smp ul li{ margin-bottom: 1.875vw;}
header .nav03_smp ul li a{ display: flex; align-items: center; justify-content: flex-start; width: 100%; height: 12.5vw; font-size: 1rem; font-weight: bold; padding-left: 5vw; background: #D5D5D5; border-bottom: 3px solid #9A9A9A; border-radius: 8px; position: relative; cursor: pointer; transition: 0.3s;}
header .nav03_smp ul li a:hover{ opacity: 0.7;}
header .nav03_smp ul li a:after{ content: ""; width: 0; height: 0; border-style: solid; border-color: transparent transparent transparent #555; border-width: 4px 0px 4px 6px; position: absolute; right: 5vw; top: 50%; transform: translateY(-50%);}
header .nav03_smp dl dt ul li a{ color: #fff; padding-left: 17.5vw;}
header .nav03_smp dl dt ul li a:after{ border-color: transparent transparent transparent #fff;}
header .nav03_smp dl dt ul li a:before{ content: ""; width: 17.5vw; height: 8.75vw; background: url("../images/smp_nav_ico1.png") center center no-repeat; background-size: auto 100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
header .nav03_smp dl dt ul li:nth-child(1) a{ background: #D01328; border-color: #A3091C;}
header .nav03_smp dl dt ul li:nth-child(2) a{ background: #4043A4; border-color: #2B2D88;}
header .nav03_smp dl dt ul li:nth-child(2) a:before{ background: url("../images/smp_nav_ico2.png") center center no-repeat; background-size: auto 100%;}
header .nav03_smp dl dt ul li:nth-child(3) a{ background: #07BA9F; border-color: #008E79;}
header .nav03_smp dl dt ul li:nth-child(3) a:before{ background: url("../images/smp_nav_ico3.png") center center no-repeat; background-size: auto 100%;}
header .nav03_smp dl dt ul li:nth-child(4) a{ background: #ED9A15; border-color: #CE8510;}
header .nav03_smp dl dt ul li:nth-child(4) a:before{ background: url("../images/smp_nav_ico4.png") center center no-repeat; background-size: auto 100%;}
header .nav03_smp dl dt .benefits{ margin-bottom: 1.875vw;}
header .nav03_smp dl dt .benefits p{ font-size: 1rem; text-align: center; margin: 0 0 1.25vw;}
header .nav03_smp dl dt .benefits ul{ display: flex; width: calc(100% + 2.5vw); margin-left: -1.25vw;}
header .nav03_smp dl dt .benefits ul li{ width: calc(50% - 2.5vw); margin: 0 1.25vw;}
header .nav03_smp dl dt .benefits ul li a{ background: #ED9A15; border-color: #CE8510; padding-left: 2.5vw;}
header .nav03_smp dl dt .benefits ul li a:before{ display: none;}
header .nav04_smp .nav04_smp01{ display: flex; align-items: center; justify-content: space-between; background: #D01328; color: #fff; padding: 0 3.75vw;}
header .nav04_smp .nav04_smp01 h3{ font-size: 1.1rem;}
header .nav04_smp .nav04_smp01 h3 strong{ color: #F9FF66;}
header .nav04_smp .nav04_smp01 figure{ margin: 0; padding-top: 1.25vw;}
header .nav04_smp .nav04_smp01 figure img{ width: 15vw; height: 17.5vw; object-fit: cover; object-position: left top;}
header .nav04_smp .nav04_smp02{ background: #F7F7F7; padding: 7.5vw;}
header .nav04_smp .nav04_smp02 p{ text-align: center; font-size: 0.9rem; font-weight: bold;}
header .nav04_smp .nav04_smp02 p strong{ color: #D01328;}
header .nav04_smp .nav04_smp02 p.att{ font-weight: normal;}
header .nav04_smp .nav04_smp02 p.att strong{ font-weight: normal;}
header .nav04_smp .nav04_smp02 figure.smp_nav_tel{ margin: 5% auto;}
header .nav04_smp .nav04_smp02 ul{ background: #fff; font-size: 0.9rem; font-weight: bold; color: #D01328; padding: 3.75% 5%; border-radius: 1.25vw;}
header .nav04_smp .nav04_smp02 ul li{ position: relative; padding-left: 1em;}
header .nav04_smp .nav04_smp02 ul li:before{ content: "・"; position: absolute; left: 0; top: 0;}
}

header #head02{ width: 1100px; margin: 0 auto; padding: 8px 0;}
header #head02 nav ul{ display: flex; align-items: center; justify-content: center;}
header #head02 nav ul li{ width: 25%; padding: 0 40px; font-size: 0.85rem; font-weight: 600; text-align: center; position: relative;}
header #head02 nav ul li:not(:last-child):after{ content: ""; width: 1px; height: 1em; background: #000; position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
header #head02 nav ul li a{ transition: 0.3s;}
header #head02 nav ul li a:hover{ color: #1C2087;}
header #head02 nav ul li.emergency a{ display: flex; align-items: center; justify-content: center; background: #D01328; color: #fff; padding: 0.25em; border-radius: 6px;}
header #head02 nav ul li.emergency a:hover{ opacity: 0.7;}
@media screen and (max-width:767px){
header #head02{ display: none;}
}



/*フッター*/
footer{ display: flex; flex-direction: column; align-items: center; justify-content: center; border-top: 1px solid #D9D9D9; padding: 60px 0;}
footer figure.logo{ margin-bottom: 20px;}
footer figure.logo img{ height: 40px;}
footer .time{ display: flex; align-items: center; justify-content: center; padding: 0.25em 0.5em; background: #F2F2F2; font-size: 0.85rem; font-weight: bold; border-radius: 4px;}
footer .time strong{ color: #4BBCEE;}
footer figure.tel{ margin: 10px auto 20px;}
footer figure.tel a{ display: flex; align-items: center; justify-content: center;}
footer figure.tel a strong{ font-size: 2rem; color: #3F43A4;}
footer nav{ width: 960px; border-top: 1px solid #EDEDED; border-bottom: 1px solid #EDEDED; font-size: 0.7rem; padding: 1em;}
footer nav ul{ display: flex; align-items: center; justify-content: center;}
footer nav ul li:not(:last-child):after{ content: "|"; margin: 0 1em;}
footer nav ul li a:hover{ text-decoration: underline;}
footer p.copyright{ font-size: 0.7rem; line-height: 1.5em; text-align: center; margin-top: 20px;}
@media screen and (max-width:767px){
footer{ padding: 10% 3.75%;}
footer figure.logo{ margin-bottom: 5%;}
footer figure.logo img{ height: 12.5vw;}
footer .time{ font-size: 0.9rem;}
footer figure.tel{ margin: 3.75% auto 5%;}
footer figure.tel a strong{ font-size: 2rem;}
footer nav{ width: 100%; font-size: 0.66rem; padding: 1em 0;}
footer p.copyright{ font-size: 0.66rem; line-height: 1.75em; margin-top: 3.75%;}
}

/*fixed_btn*/
#fixed_btn{ position: fixed; left: 0; right: 0; bottom: 0; margin: auto; padding: 6px; background: #F87816; opacity: 1.0; transition: 0.3s; z-index: 50;}
#fixed_btn.negative{ opacity: 0; pointer-events: none;}
#fixed_btn_in{ width: 960px; margin: auto; display: flex; align-items: center;}
#fixed_btn_in .fixed_comment{ display: flex; align-items: center; justify-content: center; width: 348px;}
#fixed_btn_in .fixed_comment figure{ width: 64px; margin-right: 20px;}
#fixed_btn_in .fixed_comment p{ display: flex; align-items: center; justify-content: center; width: 264px; height: 56px; background: #fff; font-size: 0.75rem; line-height: 1.5em; font-weight: bold; border-radius: 8px; position: relative;}
#fixed_btn_in .fixed_comment p:before{ content: ""; width: 0; height: 0; border-style: solid; border-color: transparent #ffffff transparent transparent; border-width: 4px 12px 4px 0px; position: absolute; left: -10px; top: 50%; transform: translateY(-50%);}
#fixed_btn_in .fixed_tel{ text-align: center; color: #fff; width: calc(100% - 348px - 326px);}
#fixed_btn_in .fixed_tel a{ display: block; font-size: 2rem; font-weight: bold;}
#fixed_btn_in .fixed_tel p{ font-size: 0.75rem; line-height: 1em;}
#fixed_btn_in .fixed_tel p strong{ font-weight: normal; color: #FBFF9A;}
#fixed_btn_in .fixed_file{ width: 326px;}
#fixed_btn_in .fixed_file a{ display: flex; align-items: center; justify-content: flex-start; width: 100%; height: 80px; padding-left: 126px; font-size: 1.6rem; font-weight: bold; background: #4BBCEE; color: #fff; border-bottom: 3px solid #0091D1; border-radius: 8px; position: relative; text-shadow: 1px 1px 0px rgba(0,0,0,0.16);}
#fixed_btn_in .fixed_file a:before{ content: ""; width: 64px; height: 64px; background: url("../images/cv_file.png") center center no-repeat; background-size: 100%; position: absolute; left: 32px; top: 50%; transform: translateY(-50%);}
@media screen and (max-width:767px){
#fixed_btn{ width: 100%; padding: 1.25vw 0.625vw; background: #F7F7F7;}
#fixed_btn_in{ width: 100%;}
#fixed_btn_in .fixed_tel_smp{ text-align: center; color: #fff; width: calc(66.66% - 1.25vw); margin: 0 0.625vw;}
#fixed_btn_in .fixed_tel_smp a{ display: block; background: #F4700C; border-bottom: 3px solid #E6690F; border-radius: 1.25vw;}
#fixed_btn_in .fixed_tel_smp a dl{ display: flex; align-items: center; padding: 0 2.5vw; height: 13.75vw;}
#fixed_btn_in .fixed_tel_smp a dl dt{ width: 11.25vw;}
#fixed_btn_in .fixed_tel_smp a dl dd{ width: calc(100% - 11.25vw); text-align: center;}
#fixed_btn_in .fixed_tel_smp a dl dd strong{ display: block; font-size: 1.2rem; text-shadow: 1px 1px 0px rgba(0,0,0,0.16);}
#fixed_btn_in .fixed_tel_smp a dl dd p{ font-size: 0.66rem;}
#fixed_btn_in .fixed_tel_smp a dl dd p strong{ font-size: 1em; display: inline; color: #FBFF9A; text-shadow: none;}
#fixed_btn_in .fixed_file{ width: calc(33.33% - 1.25vw); margin: 0 0.625vw;}
#fixed_btn_in .fixed_file a{ background: #F88801; border-bottom: 3px solid #E07B01; height: 13.75vw; padding-left: 17.5vw; font-size: 1.1rem; letter-spacing: 0.1em; line-height: 1.1em; border-radius: 1.25vw;}
#fixed_btn_in .fixed_file a:before{ width: 11.25vw; height: 11.25vw; left: 2.5vw;}
}



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

/*tit*/
h1,h2,h3,h4,h5,h6{ line-height: 1.25em; letter-spacing: 0.1em;}
h2.tit_h2{ background: #1E2088; color: #fff; font-size: 1.8rem; padding: 20px; text-align: center; margin-bottom: 40px;}
@media screen and (max-width:767px){
h2.tit_h2{ font-size: 1.5rem; width: calc(100% + 7.5vw); padding: 3.75%; margin-left: -3.75vw; margin-bottom: 5%;}
}





/*home*/
.home .maincontent{ width: 960px;}
@media screen and (max-width:767px){
.home .maincontent{ width: 92.5%;}
}


/*fv*/
#fv{ background: url("../images/fv_bg.jpg") center center no-repeat; background-size: cover;}
#fv_in{ width: 960px; height: 468px; margin: auto; position: relative;}
#fv_in h1{ position: absolute; width: 480px; left: 0; top: 50px;}
#fv_in figure.ico{ position: absolute; width: 480px; left: 0; bottom: 40px;}
#fv_in figure.ico img{ width: 432px;}
#fv_in p.att{ position: absolute; right: 60px; bottom: 10px; margin: 0; color: #fff; font-size: 0.5rem; line-height: 1.5em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,1.0);}
@media screen and (max-width:767px){
#fv{ background: url("../images/fv_bg_smp.jpg") center center no-repeat; background-size: cover; overflow: hidden;}
#fv_in{ width: 92.5%; height: 82.66vw;}
#fv_in h1{ width: 66.66vw; left: 0; top: 7.5vw; margin: auto;}
#fv_in figure.ico{ width: 70vw; left: 0; bottom: auto; top: 42vw}
#fv_in p.att{ left: 0; right: auto; bottom: 1.875vw; margin: auto; text-shadow: 1px 1px 0 rgba(0,0,0,1.0);}
}


/*tel_ban*/
figure.tel_ban{ margin: 20px auto;}
figure.tel_ban img{ width: 600px;}
@media screen and (max-width:767px){
figure.tel_ban{ margin: 5% 1.25%;}
figure.tel_ban img{ width: 100%;}
}


/*area*/
#home_area{ background: #F8F8F8; padding: 60px 0; margin: 0;}
.area_list{ display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: -15px 0 -15px -15px;}
.area_list .area_box{ width: calc(50% - 30px); margin: 15px; background: #fff; border: 2px solid #E6E6E6; border-right-width: 4px; border-bottom-width: 4px; padding: 25px 25px 90px; border-radius: 8px; position: relative;}
.area_list .area_box dl{ display: flex;}
.area_list .area_box dl dt{ width: 160px; margin-right: 20px;}
.area_list .area_box dl dd{ width: calc(100% - 180px);}
.area_list .area_box dl dd h3{ font-size: 1.2rem; letter-spacing: 0.05em; margin-bottom: 25px;}
.area_list .area_box dl dd .star{ display: flex; align-items: center; margin: 25px 0 15px;}
.area_list .area_box dl dd .star span{ display: flex; margin-right: 6px;}
.area_list .area_box dl dd .star span img{ height: 18px; margin-right: 2px;}
.area_list .area_box dl dd .star strong{ font-size: 0.8rem; line-height: 1em;}
.area_list .area_box dl dd .add p{ font-size: 0.8rem; margin: 0;}
.area_list .area_box .area_cv{ position: absolute; left: 0; right: 0; bottom: 25px;}
.area_list .area_box .area_cv ul{ display: flex; align-items: center; justify-content: center; padding: 0 16px;}
.area_list .area_box .area_cv ul li{ width: calc(50% - 16px); margin: 0 8px;}
.area_list .area_box .area_cv ul li a{ width: 100%; height: 40px; display: flex; align-items: center; justify-content: center; background: #4BBCEE; border-bottom: 3px solid #36ACE2; color: #fff; font-size: 0.75rem; border-radius: 8px; text-shadow: 1px 1px 0px rgba(0,0,0,0.16); position: relative;}
.area_list .area_box .area_cv ul li.map a{ padding-left: 40px;}
.area_list .area_box .area_cv ul li.map a:before{ content: ""; width: 40px; height: 37px; background: url("../images/btn_ico_map.png") center center no-repeat; background-size: 16px; border-right: 1px solid #fff; position: absolute; left: 0; top: 0;}
.area_list .area_box .area_cv ul li.detail a{ background: #F88800; border-bottom: 3px solid #E07B00;}
@media screen and (max-width:767px){
#home_area{ padding: 10% 0;}
.area_list{ display: block; width: 100%; margin: 0;}
.area_list .area_box{ width: 100%; margin: 2.5% auto 0; padding: 3.75vw 3.75vw 17.5vw; border-radius: 1.25vw;}
.area_list .area_box dl dt{ width: calc(40% - 3.75vw); margin: 0 3.75vw 0 0;}
.area_list .area_box dl dd{ width: 60%;}
.area_list .area_box dl dd h3{ font-size: 1.2rem; margin-bottom: 7.5%;}
.area_list .area_box dl dd .star{ margin: 7.5% 0 3.75%;}
.area_list .area_box dl dd .star span{ margin-right: 1.25vw;}
.area_list .area_box dl dd .star span img{ height: 3.75vw; margin-right: 0.625vw;}
.area_list .area_box dl dd .star strong{ font-size: 0.8rem; line-height: 1em;}
.area_list .area_box dl dd .add p{ font-size: 0.8rem;}
.area_list .area_box .area_cv{ bottom: 3.75vw;}
.area_list .area_box .area_cv ul{ padding: 0 2.8125vw;}
.area_list .area_box .area_cv ul li{ width: calc(50% - 1.875vw); margin: 0 0.9375vw;}
.area_list .area_box .area_cv ul li a{ width: 100%; height: 10vw; font-size: 0.8rem; border-radius: 1.25vw;}
.area_list .area_box .area_cv ul li.map a{ padding-left: 10vw;}
.area_list .area_box .area_cv ul li.map a:before{ width: 10vw; height: calc(10vw - 3px); background-size: 3.75vw;}
}


/*plan*/
.plan_box{ margin-top: 40px; border: 2px solid #E6E6E6; border-radius: 10px; overflow: hidden;}
.plan_box h3{ display: flex; flex-direction: column; align-items: center; justify-content: center; background: #F2F3FF; padding: 30px;}
.plan_box h3 strong{ font-size: 1.8rem; line-height: 1em; margin-bottom: 0.5em;}
.plan_box h3 span{ font-size: 1rem; font-weight: 300;}
.plan_box dl{ display: flex; align-items: center; width: 920px; margin: 40px auto;}
.plan_box dl dt{ width: 450px;}
.plan_box dl dd{ padding: 0 0 0 60px;}
.plan_box dl dd p.price01{ font-size: 1rem; margin-bottom: 1em;}
.plan_box dl dd .price02 span.ico{ display: flex; align-items: center; justify-content: center; width: 92px; height: 40px; border-radius: 4px; background: #F08300; color: #fff; font-size: 0.9rem; font-weight: 600; margin-bottom: 0.125em;}
.plan_box dl dd .price02 p{ display: flex; align-items: flex-end;}
.plan_box dl dd .price02 p strong{ font-size: 4.4rem; line-height: 1em; font-weight: 700; color: #1E2088;}
.plan_box dl dd .price02 p span{ font-size: 1.8rem; line-height: 1em; font-weight: 600; margin-bottom: 0.25em; margin-left: 0.25em; color: #1E2088; position: relative;}
.plan_box dl dd .price02 p span:before{ content: "税込"; position: absolute; left: 0; top: -1.75em; font-size: 0.9rem; font-weight: 300;}
.plan_box dl dd .price02.notax p span:before{ content: "税抜";}
.plan_box dl dd p.price03{ text-align: right; font-size: 0.8rem;}
.plan_box figure.btn{ margin: 40px auto; width: 360px; cursor: pointer; transition: 0.3s;}
.plan_box figure.btn span{ display: flex; align-items: center; justify-content: center; width: 100%; height: 64px; background: #999999; border-bottom: 3px solid #808080; border-radius: 8px; color: #fff; font-size: 1.1rem; font-weight: bold; text-shadow: 1px 1px 0px rgba(0,0,0,0.16); position: relative;}
.plan_box figure.btn span:before{ content: "式場の詳細を見る";}
.plan_box figure.btn span:after{ content: ""; width: 0; height: 0; border-style: solid; border-color: #ffffff transparent transparent transparent; border-width: 8px 6px 0px 6px; position: absolute; right: 30px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
.plan_box figure.btn.active span:before{ content: "式場の詳細を閉じる";}
.plan_box figure.btn.active span:after{ transform: translateY(-50%) rotateX(-180deg);}
.plan_box figure.btn:hover{ opacity: 0.7;}
.plan_box .plan_detail{ display: none; width: 960px; margin: auto; padding-bottom: 40px;}
.plan_box .plan_detail h4{ margin: 40px auto; padding-top: 40px; font-size: 1.4rem; border-top: 1px solid #000; text-align: center;}
.plan_box .plan_detail h4:first-child{ margin-top: 0;}
.plan_box .plan_detail .plan_flow ul{ display: flex; justify-content: center;}
.plan_box .plan_detail .plan_flow ul li{ -ms-writing-mode: tb-rl; writing-mode: vertical-rl; display: flex; align-items: center; width: 50px; height: 160px; border: 2px solid #F08300; color: #F08300; font-size: 1rem; letter-spacing: 0.2em; font-weight: 600; padding: 1.5em 0.5em; margin: 0 24px; border-radius: 4px; position: relative;}
.plan_box .plan_detail .plan_flow ul li:not(:last-child):after{ content: ""; width: 0; height: 0; border-style: solid; border-color: transparent transparent transparent #c75400; border-width: 20px 0px 20px 20px; position: absolute; right: -36px; top: 50%; transform: translateY(-50%);}
.plan_box .plan_detail .plan_flow ul li.negative{ border-color: #EDEDED; background: #EDEDED; color: #A8A8A8;}
.plan_box .plan_detail .plan_service ul{ display: flex; flex-wrap: wrap;}
.plan_box .plan_detail .plan_service ul li{ display: flex; flex-direction: column; align-items: center; text-align: center; width: calc((100%/7) - 8px); margin: 4px; background: #FFF3E5; border-radius: 4px; padding: 6px 0;}
.plan_box .plan_detail .plan_service ul li figure{ margin: 12px 0;}
.plan_box .plan_detail .plan_service ul li figure img{ width: 82px;}
.plan_box .plan_detail .plan_service ul li p{ font-size: 0.7rem; line-height: 2.5em;}
.plan_box .plan_detail .plan_service ul li.row2 p{ line-height: 1.25em;}
@media screen and (max-width:767px){
.plan_box{ margin-top: 7.5%; border-radius: 1.25vw;}
.plan_box h3{ padding: 7.5% 5% 5%;}
.plan_box h3 strong{ font-size: 1.75rem;}
.plan_box h3 span{ font-size: 1rem;}
.plan_box dl{ display: block; width: 90%; margin: 5% auto;}
.plan_box dl dt{ width: 100%; margin-bottom: 3.75%;}
.plan_box dl dd{ padding: 0;}
.plan_box dl dd p.price01{ font-size: 1rem;}
.plan_box dl dd .price02 span.ico{ width: 6em; height: 2em; font-size: 1rem;}
.plan_box dl dd .price02 p strong{ font-size: 4rem;}
.plan_box dl dd .price02 p span{ font-size: 2rem;}
.plan_box dl dd .price02 p span:before{ font-size: 1.0rem;}
.plan_box dl dd p.price03{ text-align: right; font-size: 1.0rem;}
.plan_box figure.btn{ margin: 5% auto; width: 75%;}
.plan_box figure.btn span{ height: 12.5vw; border-radius: 1.25vw; font-size: 1.1rem;}
.plan_box figure.btn span:after{ border-width: 1.5vw 1.25vw 0 1.25vw; right: 3.75vw;}
.plan_box .plan_detail{ width: 92.5%; padding-bottom: 7.5%;}
.plan_box .plan_detail h4{ margin: 7.5% auto 5%; padding-top: 7.5%; font-size: 1.5rem;}
.plan_box .plan_detail .plan_flow ul{ display: flex; justify-content: center;}
.plan_box .plan_detail .plan_flow ul li{ width: 2.5em; height: 7.5em; font-size: 1rem; padding: 1em 0.25em; margin: 0 2.5vw;}
.plan_box .plan_detail .plan_flow ul li:not(:last-child):after{ border-width:2.5vw 0 2.5vw 2.5vw; right: -4vw;}
.plan_box .plan_detail .plan_service ul li{ width: calc((100%/3) - 1.25vw); margin: 0.625vw; padding: 1.25vw;}
.plan_box .plan_detail .plan_service ul li figure{ margin: 1.25vw;}
.plan_box .plan_detail .plan_service ul li figure img{ width: 16.66vw;}
.plan_box .plan_detail .plan_service ul li p{ font-size: 0.7rem; line-height: 2.5em;}
}

#home_plan p.lead{ text-align: center; font-size: 0.8rem;}
#home_plan .plan_box h3 strong{ color: #4BBCEE;}
#home_plan .plan_box dl{ width: 900px;}
#home_plan .plan_box dl dt{ width: 450px; padding-right: 50px;}
#home_plan .plan_box dl dd{ width: 450px; padding: 0;}
#home_plan .plan_box dl dd .price01{ margin-bottom: 10px;}
#home_plan .plan_box dl dd .price02 span.ico{ display: block; width: auto; height: auto; font-size: 1.2rem; color:#D01328; background: none;}
#home_plan .plan_box dl dd .price02 p strong{ font-size: 3.2rem; color:#D01328;}
#home_plan .plan_box dl dd .price02 p span{ font-size: 1.6rem; color:#D01328;}
#home_plan .plan_box dl dd .price02 p span:before{ content: "(税込)"; font-size: 1.2rem; font-weight: bold; top: auto; left: auto; right: -3em;}
#home_plan .plan_box dl dd .price03{ text-align: left; font-size: 1.4rem; margin-top: 10px;}
#home_plan .plan_box dl dd .price03 span{ font-size: 1rem;}
#home_plan .plan_box figure.btn{ margin: 20px 0 0; width: 100%;}
#home_plan .plan_box figure.btn span{ height: 40px; font-size: 0.8rem;}
#home_plan .plan_box figure.btn span:before{ content: "詳細を見る";}
#home_plan .plan_box figure.btn.active span:before{ content: "詳細を閉じる";}
#home_plan .plan_box figure.btn span:after{ border-width: 4px 3px 0px 3px; right: 15px;}
#home_plan .plan_box .plan_detail{ display: none; width: 900px; border-top: 1px solid #707070;}
#home_plan .plan_box .plan_detail_in{ display: flex; justify-content: space-between;}
#home_plan .plan_box .plan_detail .plan_detail_left{ width: 320px;}
#home_plan .plan_box .plan_detail .plan_detail_right{ width: 530px;}
#home_plan .plan_box .plan_detail h4{ border-top: none; font-size: 1rem; margin-bottom: 20px;}
#home_plan .plan_box .plan_detail .plan_flow ul li{ width: 40px; height: 100px; border: 2px solid #4BBCEE; color: #4BBCEE; font-size: 0.8rem; margin: 0 8px; padding: 1.25em 0.5em 0;}
#home_plan .plan_box .plan_detail .plan_flow ul li:not(:last-child):after{ border-color: transparent transparent transparent #3F43A4; border-width: 8px 0px 8px 8px; right: -14px;}
#home_plan .plan_box .plan_detail .plan_flow ul li.negative{ border-color: #F5F5F5; background: #F5F5F5; color: #CCC;}
#home_plan .plan_box .plan_detail .plan_service ul li{ width: calc((100%/6) - 6px); margin: 3px; background: #EBF5FA;}
#home_plan .plan_box .plan_detail .plan_service ul li.negative{ background: #F5F5F5; color: #CCC;}
#home_plan .plan_box .plan_detail .plan_service ul li figure{ margin: 3px 0;}
#home_plan .plan_box .plan_detail .plan_service ul li figure img{ width: 40px;}
#home_plan .plan_box .plan_detail .plan_service ul li p{ font-size: 0.45rem;}
@media screen and (max-width:767px){
#home_plan .plan_box{ margin-top: 3.75%;}
#home_plan .plan_box dl{ display: flex; width: 90%; position: relative; padding-bottom: 12.5vw;}
#home_plan .plan_box dl dt{ width: 47.5%; padding-right: 3.75vw; margin: 0;}
#home_plan .plan_box dl dd{ width: 52.5%; padding: 0;}
#home_plan .plan_box dl dd .price01{ margin-bottom: 2.5%; font-size: 0.8rem;}
#home_plan .plan_box dl dd .price02 span.ico{ font-size: 0.9rem;}
#home_plan .plan_box dl dd .price02 p strong{ font-size: 1.8rem;}
#home_plan .plan_box dl dd .price02 p span{ font-size: 1rem;}
#home_plan .plan_box dl dd .price02 p span:before{ font-size: 0.8rem;}
#home_plan .plan_box dl dd .price03{ font-size: 1rem; margin: 2.5% auto 0;}
#home_plan .plan_box dl dd .price03 span{ font-size: 0.9rem;}
#home_plan .plan_box figure.btn{ position: absolute; left: 0; right: 0; bottom: 0; margin: 0; width: 100%;}
#home_plan .plan_box figure.btn span{ height: 10vw; font-size: 0.9rem;}
#home_plan .plan_box figure.btn span:after{ border-width: 1.5vw 1.25vw 0 1.25vw; right: 3.75vw;}
#home_plan .plan_box .plan_detail{ width: 90%; border-top: none;}
#home_plan .plan_box .plan_detail_in{ display: block;}
#home_plan .plan_box .plan_detail .plan_detail_left{ width: 100%;}
#home_plan .plan_box .plan_detail .plan_detail_right{ width: 100%;}
#home_plan .plan_box .plan_detail h4{ border-top: 1px solid #707070; margin: 7.5% auto 5%; padding-top: 7.5%; font-size: 1rem;}
#home_plan .plan_box .plan_detail .plan_flow ul li{ width: 2.5em; height: 6.25em; font-size: 1rem; padding: 1em 0.25em; margin: 0 2.5vw;}
#home_plan .plan_box .plan_detail .plan_flow ul li:not(:last-child):after{ border-width:2.5vw 0 2.5vw 2.5vw; right: -4vw;}
#home_plan .plan_box .plan_detail .plan_service ul li{ width: calc((100%/3) - 1.25vw); margin: 0.625vw; padding: 1.25vw;}
#home_plan .plan_box .plan_detail .plan_service ul li figure{ margin: 1.25vw;}
#home_plan .plan_box .plan_detail .plan_service ul li figure img{ width: 13.33vw;}
#home_plan .plan_box .plan_detail .plan_service ul li p{ font-size: 0.7rem;}
}


/*flow*/
#home_flow{ background: #F8F8F8; padding: 60px 0;}
#home_flow h2{ font-size: 1.6rem; text-align: center; color: #3F43A4; border-bottom: 2px solid #3F43A4; padding-bottom: 0.25em; margin-bottom: 30px;}
#home_flow .lead{ padding-bottom: 40px; position: relative;}
#home_flow .lead figure.ico{ position: absolute; right: 10px; bottom: 0; width: 148px;}
#home_flow .lead p{ font-size: 0.8rem; margin-bottom: 20px;}
#home_flow .lead figure.flow_btn a{ display: flex; align-items: center; justify-content: center; width: 320px; height: 50px; background: #D01328; border-bottom: 3px solid #AF0013; color: #fff; font-size: 0.9rem; font-weight: bold; text-shadow: 1px 1px 0 rgba(0,0,0,1.0); border-radius: 8px; position: relative;}
#home_flow .lead figure.flow_btn a:after{ content: ""; width: 0; height: 0; border-style: solid; border-color: transparent transparent transparent #ffffff; border-width: 3px 0px 3px 4px; position: absolute; right: 18px; top: 50%; transform: translateY(-50%);}
@media screen and (max-width:767px){
#home_flow{ padding: 10% 0;}
#home_flow h2{ font-size: 1.2rem; margin-bottom: 5%;}
#home_flow .lead{ padding: 0 3.75vw 0; margin-bottom: 5%;}
#home_flow .lead figure.ico{ position: absolute; bottom: auto; top: -2.5vw; right: 7.5vw; width: auto;}
#home_flow .lead figure.ico img{ height: 30vw;}
#home_flow .lead p{ font-size: 0.8rem; padding-right: 30vw; height: 25vw; margin: 0;}
#home_flow .lead figure.flow_btn a{ width: 100%; height: 10vw; font-size: 1rem; border-radius: 1.25vw; position: relative; z-index: 5;}
#home_flow .lead figure.flow_btn a:hover{ opacity: 1.0;}
#home_flow .lead figure.flow_btn a:after{ border-width: 0.875vw 0px 0.875vw 1vw; right: 3.75vw;}
}

.flow_list{ margin: auto;}
.flow_list dl{ display: flex; justify-content: space-between; margin: 0 auto 45px; background: #fff; border: 2px solid #E6E6E6; border-right-width: 4px; border-bottom-width: 4px; border-radius: 8px; padding: 20px; position: relative;}
.flow_list dl:not(:last-child):after{ content: ""; width: 0; height: 0; border-style: solid; border-color: #1e2088 transparent transparent transparent; border-width: 15px 15px 0px 15px; position: absolute; left: 0; right: 0; bottom: -30px; margin: auto;}
.flow_list dl:last-child{ margin-bottom: 0;}
.flow_list dl dt{ width: 420px; padding-left: 20px;}
.flow_list dl dt h4{ font-size: 1.2rem; color: #1E2088; margin-bottom: 15px;}
.flow_list dl dt p{ font-size: 0.8rem; margin: 0; text-align: justify;}
.flow_list dl dd{ width: 440px; display: flex; justify-content: space-between; align-items: center; border: 1px solid #3F43A4; padding: 0; border-radius: 8px; overflow: hidden;}
.flow_list dl dd figure{ width: 180px; margin: 0;}
.flow_list dl dd .flow_point{ width: calc(100% - 180px); padding: 0 20px;}
.flow_list dl dd .flow_point h5{ text-align: center; background: #3F43A4; color: #FBFF9A; font-size: 0.8rem; padding: 0.25em; border-radius: 2em; margin-bottom: 10px;}
.flow_list dl dd .flow_point .txt{ display: flex; align-items: center;}
.flow_list dl dd .flow_point .txt span{ display: flex; align-items: center; justify-content: center; width: 90px; height: 50px; border: 1px solid #D01328; text-align: center; font-size: 0.9rem; line-height: 1.25em; color: #D01328; font-weight: bold; border-radius: 8px; margin-right: 10px;}
.flow_list dl dd .flow_point .txt p{ font-size: 1rem; font-weight: bold; line-height: 1.25em; color: #ED9A15;}
@media screen and (max-width:767px){
.flow_list dl{ display: block; margin: 0 auto 6.25vw; border-radius: 1.25vw; padding: 3.75%;}
.flow_list dl:not(:last-child):after{ border-width: 2.5vw 2.5vw 0px 2.5vw; bottom: -5vw;}
.flow_list dl dt{ width: 100%; padding-left: 0; margin-bottom: 3.75%;}
.flow_list dl dt h4{ font-size: 1.2rem; margin-bottom: 1.25%;}
.flow_list dl dt p{ font-size: 0.8rem;}
.flow_list dl dd{ width: 100%; border-radius: 1.25vw;}
.flow_list dl dd figure{ width: 33.33vw; margin: 0;}
.flow_list dl dd .flow_point{ width: calc(100% - 33.33vw); padding: 0 3.75%;}
.flow_list dl dd .flow_point h5{ font-size: 0.7rem; margin-bottom: 2.5%;}
.flow_list dl dd .flow_point .txt span{ width: 16.66vw; height: 10vw; font-size: 0.9rem; border-radius: 1.25vw; margin-right: 1.25vw;}
.flow_list dl dd .flow_point .txt p{ font-size: 1rem;}
}


/*home_reserve*/
#home_reserve p.lead{ text-align: center; font-size: 0.75rem; margin: 40px auto;}
#home_reserve .reserve_first{ width: 720px; margin: 40px auto; background: #F5F5F5; padding: 20px 30px; border-radius: 8px; position: relative;}
#home_reserve .reserve_first figure.ico{ position: absolute; right: 30px; bottom: 0; width: 180px;}
#home_reserve .reserve_first dl dt{ font-size: 0.9rem; font-weight: bold; color: #3F43A4; padding: 0 0 20px 48px; margin-bottom: 20px; border-bottom: 2px solid #3F43A4; position: relative;}
#home_reserve .reserve_first dl dt:before{ content: ""; width: 24px; height: 24px; background: url("../images/ico_question.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 2px;}
#home_reserve .reserve_first dl dd ul{ display: inline-block; position: relative;}
#home_reserve .reserve_first dl dd ul:after{ content: "など"; position: absolute; right: 0; bottom: 0; font-size: 0.7rem; line-height: 1em;}
#home_reserve .reserve_first dl dd ul li{ font-size: 0.7rem; line-height: 1em; margin-bottom: 1em; padding-left: 20px; position: relative;}
#home_reserve .reserve_first dl dd ul li:last-child{ margin-bottom: 0;}
#home_reserve .reserve_first dl dd ul li:before{ content: ""; width: 12px; height: 12px; background: url("../images/ico_check.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0;}
@media screen and (max-width:767px){
#home_reserve p.lead{ font-size: 0.9rem; margin: 5% auto;}
#home_reserve .reserve_first{ width: 100%; margin: 5% auto; padding: 7.5%; border-radius: 1.25vw;}
#home_reserve .reserve_first figure.ico{ right: 3.75vw; bottom: 0; width: 25vw;}
#home_reserve .reserve_first dl dt{ font-size: 1rem; padding: 0 0 2.5vw 15vw; margin-bottom: 5%;}
#home_reserve .reserve_first dl dt:before{ width: 5vw; height: 5vw; left: 5vw; top: 0.625vw;}
#home_reserve .reserve_first dl dd ul{ padding-bottom: 1.5em;}
#home_reserve .reserve_first dl dd ul:after{; left: 0; bottom: 0; right: auto; font-size: 0.8rem;}
#home_reserve .reserve_first dl dd ul li{ font-size: 0.8rem; padding-left: 3.75vw; margin-bottom: 0.75em;}
#home_reserve .reserve_first dl dd ul li:before{ width: 2.5vw; height: 2.5vw;}
}

#home_reserve .reserve_nav figure.arrow{ margin: 30px auto;}
#home_reserve .reserve_nav figure.arrow img{ width: 30px;}
#home_reserve .reserve_nav h3{ text-align: center; font-size: 1.6rem; color: #3F43A4; margin-bottom: 30px;}
@media screen and (max-width:767px){
#home_reserve .reserve_nav figure.arrow{ margin: 3.75% auto;}
#home_reserve .reserve_nav figure.arrow img{ width: 7.5vw;}
#home_reserve .reserve_nav h3{ font-size: 1.4rem; margin-bottom: 5%;}
#home_reserve .reserve_nav ul{ display: flex; border: 1px solid #E6E6E6; border-right-width: 4px; border-bottom-width: 4px; border-radius: 8px;}
#home_reserve .reserve_nav ul li{ width: 25%; border-right: 1px solid #E6E6E6;}
#home_reserve .reserve_nav ul li:last-child{ border-right: none;}
#home_reserve .reserve_nav ul li a{ display: flex; flex-direction: column; width: 100%; padding: 5vw 0 5vw; text-align: center; position: relative;}
#home_reserve .reserve_nav ul li a figure img{ width: 50%;}
#home_reserve .reserve_nav ul li a span{ font-size: 0.75rem; margin-top: 3.75vw;}
#home_reserve .reserve_nav ul li a:after{ content: ""; width: 0; height: 0; border-style: solid; border-color: #3f43a4 transparent transparent transparent; border-width: 1.25vw 1.25vw 0px 1.25vw; position: absolute; left: 0; right: 0; bottom: 2.5vw; margin: auto;}
}

#home_reserve .reserve_list ul{ display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: -15px 0 -15px -15px;}
#home_reserve .reserve_list ul li{ width: calc(50% - 30px); margin: 15px; border: 2px solid #e6e6e6; border-right-width: 4px; border-bottom-width: 4px; border-radius: 8px;}
#home_reserve .reserve_list ul li h4{ text-align: center; background: #EBF5FA; color: #4BBCEE; font-size: 1.2rem; padding: 0.5em;}
#home_reserve .reserve_list ul li dl{ display: flex; justify-content: space-between; padding: 20px;}
#home_reserve .reserve_list ul li dl dt{ width: 180px;}
#home_reserve .reserve_list ul li dl dd{ width: 220px; position: relative;}
#home_reserve .reserve_list ul li dl dd p{ font-size: 0.8rem; text-align: justify;}
#home_reserve .reserve_list ul li dl dd figure.btn{ width: 100%; position: absolute; right: 0; bottom: 0;}
#home_reserve .reserve_list ul li dl dd figure.btn a{ display: flex; align-items: center; justify-content: center; width: 100%; height: 54px;}
#home_reserve .reserve_list ul li dl dd figure.btn.tel a{ flex-direction: column; background: #F7F7F7; padding-left: 32px; text-align: center; position: relative;}
#home_reserve .reserve_list ul li dl dd figure.btn.tel a:before{ content: ""; width: 20px; height: 20px; background: url("../images/ico_tel.png") center center no-repeat; background-size: 100%; position: absolute; left: 12px; top: 50%; transform: translateY(-50%);}
#home_reserve .reserve_list ul li dl dd figure.btn.tel a strong{ font-size: 1.3rem; line-height: 1em; color: #D01328;}
#home_reserve .reserve_list ul li dl dd figure.btn.tel a p{ font-size: 0.55rem; line-height: 1em; margin: 0.25em 0 0;}
#home_reserve .reserve_list ul li dl dd figure.btn.mail a{ background: #FB7C1F; color: #fff; font-size: 0.9rem; border-bottom: 3px solid #E6690F; border-radius: 8px; padding-left: 50px; text-align: center; text-shadow: 1px 1px 0 rgba(0,0,0,0.16);}
#home_reserve .reserve_list ul li dl dd figure.btn.mail a:before{ content: ""; width: 54px; height: calc(54px - 3px); border-right: 1px solid #fff; background: url("../images/btn_ico_mail.png") center center no-repeat; background-size: 20px; position: absolute; left: 0; top: 0;}
@media screen and (max-width:767px){
#home_reserve .reserve_list ul{ display: block; width: 100%; margin: 0;}
#home_reserve .reserve_list ul li{ width: 100%; margin: 3.75% auto 0; border-radius: 1.25vw;}
#home_reserve .reserve_list ul li h4{ font-size: 1.2rem; padding: 0.5em;}
#home_reserve .reserve_list ul li dl{ padding: 3.75%;}
#home_reserve .reserve_list ul li dl dt{ width: 40%;}
#home_reserve .reserve_list ul li dl dd{ width: 56.25%;}
#home_reserve .reserve_list ul li dl dd p{ font-size: 0.8rem;}
#home_reserve .reserve_list ul li dl dd figure.btn a{ height: 10vw;}
#home_reserve .reserve_list ul li dl dd figure.btn.tel_smp a{ background: #FB7C1F; color: #fff; font-size: 0.9rem; border-bottom: 3px solid #E6690F; border-radius: 8px; padding-left: 50px; text-align: center; text-shadow: 1px 1px 0 rgba(0,0,0,0.16);}
#home_reserve .reserve_list ul li dl dd figure.btn.tel_smp a:before{ content: ""; width: 10vw; height: calc(10vw - 3px); border-right: 1px solid #fff; background: url("../images/btn_ico_tel.png") center center no-repeat; background-size: 5vw; position: absolute; left: 0; top: 0;}
#home_reserve .reserve_list ul li dl dd figure.btn.mail a{ font-size: 0.9rem; border-radius: 1.25vw; padding-left: 10vw;}
#home_reserve .reserve_list ul li dl dd figure.btn.mail a:before{ width: 10vw; height: calc(10vw - 3px); background-size: 3.75vw;}
}


/*.home_cv*/
.home_cv .maincontent{ padding: 4px; background: linear-gradient(45deg,  #4bbcee 0%,#3f43a4 100%); border-radius: 8px;}
.home_cv .maincontent .tit{ text-align: center; position: relative; padding: 20px;}
.home_cv .maincontent .tit h3{ color: #fff; font-size: 1.5rem; text-shadow: 1px 2px 0 rgba(0,0,0,0.3); margin-bottom: 5px;}
.home_cv .maincontent .tit p{ color: #fff; font-size: 0.75rem; text-shadow: 1px 2px 0 rgba(0,0,0,0.3); margin: 0;}
.home_cv .maincontent .tit .free{ display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; background: #FBFF9A; color: #3F43A4; font-size: 1rem; font-weight: bold; position: absolute; left: 140px; top: 50%; transform: translateY(-50%) rotate(-22.5deg); border-radius: 50%; box-shadow:rgba(0, 0, 0, 0.3) 1px 2px 0;}
.home_cv .maincontent ul{ display: flex; align-items: center; background: #fff; padding: 20px 10px; border-radius: 0 0 4px 4px;}
.home_cv .maincontent ul li{ width: calc(50% - 40px); margin: 0 20px;}
.home_cv .maincontent ul li .tel{ display: flex; align-items: center; justify-content: center; width: 100%; height: 60px; background: #F7F7F7;}
.home_cv .maincontent ul li .tel a{ font-size: 1.75rem; font-weight: bold; color: #D01328; padding-left: 40px; position: relative;}
.home_cv .maincontent ul li .tel a:before{ content: ""; width:28px; height: 28px; background: url("../images/ico_tel.png"); background-size: 100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
.home_cv .maincontent ul li .tel span{ display: flex; align-items: center; justify-content: center; text-align: center; border: 1px solid #000; font-size: 0.6rem; font-weight: bold; line-height: 1.25em; padding: 0.25em; margin-left: 8px; border-radius: 4px;}
.home_cv .maincontent ul li .file a{ display: flex; align-items: center; justify-content: center; text-align: center; width: 100%; height: 100px; background: #F88801; border-bottom: 3px solid #E6690F; border-radius: 8px; font-size: 0.8rem; line-height: 1.25em; color: #FBFF9A; text-shadow: 1px 1px 0 rgba(0,0,0,0.16); position: relative; padding-left: 92px;}
.home_cv .maincontent ul li .file a strong{ font-size: 1.2rem; letter-spacing: 0.05em; line-height: 1.25em; color: #fff;}
.home_cv .maincontent ul li .file a:before{ content: ""; width: 92px; height: 92px; background: url("../images/cv_file.png") center center no-repeat; background-size: 100%; position: absolute; left: 20px; top: 50%; transform: translateY(-50%);}
@media screen and (max-width:767px){
.home_cv .maincontent{ padding: 0.75vw; border-radius: 1.25vw;}
.home_cv .maincontent .tit{ text-align: left; padding: 3.75% 3.75% 3.75% 20vw;}
.home_cv .maincontent .tit h3{ font-size: 1.6rem; margin-bottom: 1.25%;}
.home_cv .maincontent .tit p{font-size: 0.8rem;}
.home_cv .maincontent .tit .free{ width: 15vw; height: 15vw; font-size: 1rem; left: 1.875vw;}
.home_cv .maincontent ul{ display: block; padding: 5% 7.5%;}
.home_cv .maincontent ul li{ width: 100%; margin: 0 0 5%;}
.home_cv .maincontent ul li:last-child{ margin-bottom: 0;}
.home_cv .maincontent ul li .tel_smp a{ display: flex; align-items: center; justify-content: center; text-align: center; width: 100%; height: 12.5vw; background: #F4700C; border-bottom: 3px solid #E6690F; border-radius: 1.25vw; padding-left: 20vw; font-size: 1.2rem; color: #fff; text-shadow: 1px 1px 0 rgba(0,0,0,0.16); position: relative;}
.home_cv .maincontent ul li .tel_smp a:before{ content: ""; width: 8.75vw; height: 8.75vw; background: url("../images/smp_nav_ico2.png") center center no-repeat; background-size: 100%; position: absolute; left: 7.5vw; top: 50%; transform: translateY(-50%);}
.home_cv .maincontent ul li .file a{ width: 100%; height: 20vw; border-radius: 1.25vw; font-size: 1rem; padding-left: 20vw;}
.home_cv .maincontent ul li .file a strong{ font-size: 1.5rem;}
.home_cv .maincontent ul li .file a:before{ content: ""; width: 17.5vw; height: 17.5vw; left: 2.5vw;}
}


/*home_club*/
#home_club h3{ background: #F2F3FF; text-align: center; padding: 20px;}
#home_club h3 img{ height: 84px;}
#home_club p.lead{ text-align: center; font-size: 0.9rem; margin: 40px auto;}
#home_club .club_box ul{ display: flex; justify-content: space-between;}
#home_club .club_box ul li{ width: 465px; border: 1px solid #CCCCCC; background: #F7F7F7; border-radius: 8px; padding: 30px; text-align: center;}
#home_club .club_box ul li h4{ font-size: 1.2rem; color: #3F43A4; margin-bottom: 30px;}
#home_club .club_box ul li figure.ban{ margin-bottom: 15px;}
#home_club .club_box ul li p{ font-size: 0.8rem;}
#home_club .club_box ul li figure.btn{ margin-top: 30px;}
#home_club .club_box ul li figure.btn a{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 80px; background: #FB7C1F; color: #fff; border-bottom: 3px solid #E6690F; text-align: center; text-shadow: 1px 1px 0px rgba(0,0,0,0.16); border-radius: 8px;}
#home_club .club_box ul li figure.btn a p{ margin: 0; font-size: 0.75rem; font-weight: bold; line-height: 1em; margin-bottom: 0.5em;}
#home_club .club_box ul li figure.btn a p span{ color: #FBFF9A;}
#home_club .club_box ul li figure.btn a strong{ font-size: 1.2rem; line-height: 1em;}
@media screen and (max-width:767px){
#home_club h3{ padding: 5%;}
#home_club h3 img{ height: 15vw;}
#home_club p.lead{ font-size: 0.9rem; margin: 5% auto;}
#home_club .club_box ul{ display: block;}
#home_club .club_box ul li{ width: 100%; border-radius: 1.25vw; padding: 3.75%;}
#home_club .club_box ul li h4{ font-size: 1.2rem; margin-bottom: 5%;}
#home_club .club_box ul li figure.ban{ margin-bottom: 3.75%;}
#home_club .club_box ul li p{ font-size: 0.9rem;}
#home_club .club_box ul li figure.btn{ margin-top: 3.57%;}
#home_club .club_box ul li figure.btn a{ height: 15vw; border-radius: 1.25vw;}
#home_club .club_box ul li figure.btn a p{ font-size: 0.75rem;}
#home_club .club_box ul li figure.btn a strong{ font-size: 1.2rem;}
}


/*home_point*/
#home_point{ background: #F8F8F8; padding: 60px 0; margin: 0;}
#home_point h3{ text-align: center; margin-bottom: 40px;}
#home_point h3 span{ display: block; font-size: 0.75rem; line-height: 1em; margin-bottom: 0.75em; color: #4BBCEE;}
#home_point h3 strong{ display: block; font-size: 2rem; line-height: 1em;}
#home_point .point_list{ display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: -15px 0 -15px -15px;}
#home_point .point_list dl{ width: calc(50% - 30px); margin: 15px; background: #fff; border: 1px solid #EBEBEB; padding: 30px;}
#home_point .point_list dl dt{ display: flex;}
#home_point .point_list dl dt figure{ width: 205px;}
#home_point .point_list dl dt h4{ display: flex; flex-direction: column; width: calc(100% - 205px);}
#home_point .point_list dl dt h4 strong{ display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: #3F43A4; color: #fff; font-size: 1.2rem; line-height: 1em; margin-bottom: 10px;}
#home_point .point_list dl dt h4 span{ font-size: 1.15rem; letter-spacing: 0; line-height: 1.25em;}
#home_point .point_list dl dd{ border-top: 1px solid #707070; margin-top: 20px; padding-top: 20px;}
#home_point .point_list dl dd p{ font-size: 0.75rem; text-align: justify;}
@media screen and (max-width:767px){
#home_point{ padding: 10% 0; margin: 0;}
#home_point h3{ margin-bottom: 5%;}
#home_point h3 span{ font-size: 0.8rem;}
#home_point h3 strong{ font-size: 1.6rem;}
#home_point .point_list{ display: block; width: 100%; margin: 0;}
#home_point .point_list dl{ width: 100%; margin: 3.75% auto 0; padding: 3.75%;}
#home_point .point_list dl dt figure{ width: 40%;}
#home_point .point_list dl dt h4{ width: 60%;}
#home_point .point_list dl dt h4 strong{ width: 7.5vw; height: 7.5vw; font-size: 1.2rem; margin-bottom: 2.5%;}
#home_point .point_list dl dt h4 span{ font-size: 1.1rem;}
#home_point .point_list dl dd{ margin-top: 3.75%; padding-top: 3.75%;}
#home_point .point_list dl dd p{ font-size: 0.8rem;}
}


/*home_review*/
#home_review h3{ text-align: center; margin-bottom: 40px;}
#home_review h3 span{ display: block; font-size: 0.75rem; line-height: 1em; margin-bottom: 0.75em; color: #4BBCEE;}
#home_review h3 strong{ display: block; font-size: 2rem; line-height: 1em;}
#home_review p.lead{ text-align: center; font-size: 0.9rem; margin: 40px auto;}
#home_review .review_list{ width: calc(100% + 120px); margin-left: -60px;}
#home_review .review_list ul li{ width: calc(33.33% - 40px); margin: 0 20px; background: #fff; border: 1px solid #ccc; border-radius: 8px; overflow: hidden; transition: 0.3s; cursor: pointer;}
#home_review .review_list ul li:hover{ opacity: 0.7;}
#home_review .review_list ul li dl{ display: flex; padding: 20px 30px; background: #F7F7F7;}
#home_review .review_list ul li dl dt{ width: 70px; margin-right: 30px;}
#home_review .review_list ul li dl dd{ width: calc(100% - 100px);}
#home_review .review_list ul li dl dd h4{ font-size: 0.75rem; line-height: 1.25em; margin-bottom: 0.5em;}
#home_review .review_list ul li dl dd span.date{ font-size: 0.6rem; line-height: 1em; display: block; margin-bottom: 0.75em;}
#home_review .review_list ul li dl dd .star{ display: flex; align-items: center;}
#home_review .review_list ul li dl dd .star span{ display: flex; margin-right: 12px;}
#home_review .review_list ul li dl dd .star span img{ height: 16px; margin-right: 2px;}
#home_review .review_list ul li dl dd .star strong{ font-size: 0.65rem; line-height: 1em;}
#home_review .review_list ul li p.txt{ font-size: 0.75rem; line-height: 1.5em; text-align: justify; background: #FFF; margin: 20px 30px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; box-sizing: content-box;}
#home_review .review_list ul li figure.more{ background: #E8F6FC; padding: 7.5px 10px; display: flex; justify-content: flex-end;}
#home_review .review_list ul li figure.more a{ display: flex; align-items: center; justify-content: flex-end; font-size: 0.7rem; transition: 0.3s;}
#home_review .review_list ul li figure.more a strong{ margin-right: 1em;}
#home_review .review_list ul li figure.more a span{ width: 0; height: 0; border-style: solid; border-color: transparent transparent transparent #3F43A4; border-width: 4px 0px 4px 6px;}
@media screen and (max-width:767px){
#home_review h3{ margin-bottom: 5%;}
#home_review h3 span{ font-size: 0.8rem;}
#home_review h3 strong{ font-size: 1.6rem;}
#home_review p.lead{ font-size: 0.9rem;}
#home_review .review_list{ width: 77.5vw; margin: 5% auto;}
#home_review .review_list ul{ display: block; padding: 0;}
#home_review .review_list ul li{ width: 100%; margin: 0 3.75vw;}
#home_review .review_list ul li dl{ display: flex; align-items: center; justify-content: center; padding: 5vw 2.5vw;}
#home_review .review_list ul li dl dt{ width: 30%; margin-right: 3.33%;}
#home_review .review_list ul li dl dd{ width: 66.66%;}
#home_review .review_list ul li dl dd h4{ font-size: 0.9rem;}
#home_review .review_list ul li dl dd span.date{ font-size: 0.8rem;}
#home_review .review_list ul li dl dd .star span{ margin-right: 1.25vw;}
#home_review .review_list ul li dl dd .star span img{ height: 3.75vw; margin-right: 0.625vw;}
#home_review .review_list ul li dl dd .star strong{ font-size: 0.8rem;}
#home_review .review_list ul li p.txt{ font-size: 0.9rem; margin: 3.75vw 3.75vw;}
#home_review .review_list ul li figure.more{ padding: 2.5% 5%;}
#home_review .review_list ul li figure.more a{ font-size: 0.8rem;}
#home_review .review_list ul li figure.more a strong{ margin-right: 0.75em;}
#home_review .review_list ul li figure.more a span{ border-width: 1.25vw 0 1.25vw 1.875vw;}
}

/*slick*/
#home_review .slick-slide img{ display: inherit;}
#home_review .review_list  .slick-list{ overflow: visible !important;}
#home_review .review_list  .slick-track{ display: flex;}
#home_review .review_list  .slick-slide{ height: auto !important;}
#home_review .review_list  .slick-arrow{ background: rgba(255,255,255,0);position: absolute; top: 50%; transform: translateY(-50%); width: 0; z-index: 9;}
#home_review .review_list  .slick-prev{ border-bottom: 16px solid rgba(255,255,255,0); border-left: 0; border-right: 16px solid #1E2088; border-top: 16px solid rgba(255,255,255,0); left: -8px;}
#home_review .review_list  .slick-next{ border-bottom: 16px solid rgba(255,255,255,0); border-left: 16px solid #1E2088; border-right: 0; border-top: 16px solid rgba(255,255,255,0); right: -8px;}
#home_review .review_list  .slick-prev::before,
#home_review .review_list  .slick-next::before{ content: "";}
#home_review .slick-dotted.slick-slider{ margin: 0;}
#home_review .review_list  .slick-dots{ display: none !important;}
@media screen and (max-width: 767px) {
#home_review .review_list  .slick-prev{ border-bottom: 3.75vw solid rgba(255,255,255,0); border-left: 0; border-right: 3.75vw solid #1E2088; border-top: 3.75vw solid rgba(255,255,255,0); left: -1.875vw;}
#home_review .review_list  .slick-next{ border-bottom: 3.75vw solid rgba(255,255,255,0); border-left: 3.75vw solid #1E2088; border-right: 0; border-top: 3.75vw solid rgba(255,255,255,0); right: -1.875vw;}
}

/*modal*/
#home_review .modal{ display: none; /*display: flex;*/ align-items: center; justify-content: center; width: 100%; height: 100vh; min-height: 100dvh; position: fixed; left: 0; top: 0; z-index: 999;}
#home_review .modal .modal_bg{ background: rgba(0,0,0,0.5); width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: -1;}
#home_review .modal .modal_cont{ width: 720px; margin: auto; background: #fff; border-radius: 4px; position: relative;}
#home_review .modal .modal_cont dl{ display: flex; align-items: center; padding: 20px 30px; background: #F7F7F7; border-radius: 4px 4px 0 0;}
#home_review .modal .modal_cont dl dt{ width: 70px; margin-right: 15px;}
#home_review .modal .modal_cont dl dd{ width: calc(100% - 85px);}
#home_review .modal .modal_cont dl dd h4{ font-size: 0.75rem; line-height: 1em; margin-bottom: 0.5em;}
#home_review .modal .modal_cont dl dd span.date{ font-size: 0.6rem; line-height: 1em; display: block; margin-bottom: 1em;}
#home_review .modal .modal_cont dl dd .star{ display: flex; align-items: center;}
#home_review .modal .modal_cont dl dd .star span{ display: flex; margin-right: 12px;}
#home_review .modal .modal_cont dl dd .star span img{ height: 16px; margin-right: 2px;}
#home_review .modal .modal_cont dl dd .star strong{ font-size: 0.65rem; line-height: 1em;}
#home_review .modal .modal_cont p.txt{ font-size: 0.75rem; margin: 0; text-align: justify; padding: 20px 30px;}
#home_review .modal .modal_cont span.close{ display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; background: #F7F7F7; color: #2E2E2E; position: absolute; right: 0; top: -60px; border-radius: 4px; line-height: 1em; cursor: pointer; transition: 0.3s;}
#home_review .modal .modal_cont span.close strong{ font-size: 1.8rem; line-height: 1em; font-weight: 300;}
#home_review .modal .modal_cont span.close:hover{ opacity: 0.7;}
@media screen and (max-width:767px){
#home_review .modal .modal_cont{ width: 92.5%; margin: 0 auto;}
#home_review .modal .modal_cont dl{ display: flex; align-items: center; justify-content: center; padding: 5vw;}
#home_review .modal .modal_cont dl dt{ width: 25%; margin-right: 5%;}
#home_review .modal .modal_cont dl dd{ width: 70%;}
#home_review .modal .modal_cont dl dd h4{ font-size: 1.0rem;}
#home_review .modal .modal_cont dl dd span.date{ font-size: 0.8rem;}
#home_review .modal .modal_cont dl dd .star span{ margin-right: 1.25vw;}
#home_review .modal .modal_cont dl dd .star span img{ height: 3.75vw; margin-right: 0.625vw;}
#home_review .modal .modal_cont dl dd .star strong{ font-size: 0.8rem;}
#home_review .modal .modal_cont p.txt{ font-size: 0.8rem; padding: 3.75vw;}
#home_review .modal .modal_cont span.close{ width: 10vw; height: 10vw; top: -12.5vw;}
#home_review .modal .modal_cont span.close strong{ font-size: 1.5rem;}
}


/*home_qa*/
#home_qa{ background: #F8F8F8; padding: 60px 0; margin: 0;}
#home_qa h3{ text-align: center; margin-bottom: 40px;}
#home_qa h3 span{ display: block; font-size: 0.75rem; line-height: 1em; margin-bottom: 0.75em; color: #4BBCEE;}
#home_qa h3 strong{ display: block; font-size: 2rem; line-height: 1em;}
.qa_list dl{ margin: 20px auto 0; padding: 20px; background: #fff; border: 1px solid #CCC; border-radius: 8px;}
.qa_list dl dt{ font-size: 0.9rem; line-height: 1.5rem; font-weight: bold; padding: 0 1.5em 0 1.5em; position: relative; cursor: pointer;}
.qa_list dl dt:before{ content: "Q."; font-size: 0.95rem; line-height: 1.33rem; font-weight: bold; color: #3F43A4; position: absolute; left: 0; top: 0;}
.qa_list dl dt span{ width: 1em; height: 1em; border: 1px solid #333; position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
.qa_list dl dt span:before{ content: ""; width: 75%; height: 1px; background: #333; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%);}
.qa_list dl dt span:after{ content: ""; width: 75%; height: 1px; background: #333; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%) rotate(90deg); opacity: 1.0; transition: 0.3s;}
.qa_list dl dt.negative span:after{ transform: translateX(-50%) translateY(-50%) rotate(0deg); opacity: 0;}
.qa_list dl dd{ display: none; border-top: 1px solid #CCC; font-size: 0.8rem; line-height: 1.5rem; margin-top: 1em; padding: 1em 0 0 1.5em; position: relative;}
.qa_list dl dd:before{ content: "A."; color: #4BBCEE; font-size: 0.95rem; line-height: 1.33rem; font-weight: bold; position: absolute; left: 0; top: 0.75rem;}
.qa_list dl dd.active{ display: block;}
@media screen and (max-width:767px){
#home_qa{ padding: 10% 0; margin: 0;}
#home_qa h3{ margin-bottom: 5%;}
#home_qa h3 span{ font-size: 0.8rem;}
#home_qa h3 strong{ font-size: 1.6rem;}
.qa_list dl{ margin: 3.75% auto 0;}
.qa_list dl{ padding: 3.75%; border-radius: 1.25vw;}
.qa_list dl dt{ font-size: 0.9rem;}
.qa_list dl dt span{ width: 1em; height: 1em; border: 1px solid #333; position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
.qa_list dl dd{ font-size: 0.9rem;}
.qa_list dl dd:before{ top: 0.9rem;}
}





/*pages*/
/*area*/
#area_main{ margin-top: 40px;}
#area_main h2.tit_h2{ margin-bottom: 0;}
#area_main p.lead{ text-align: center; font-size: 1rem; background: #F2F3FF; padding: 40px;}
@media screen and (max-width:767px){
#area_main{ margin-top: 7.5%;}
#area_main p.lead{ width: calc(100% + 7.5vw); margin-left: -3.75vw; font-size: 0.9rem; padding: 5%; text-align: justify;}
}

#area_main .area_detail{ margin: 40px auto; width: 900px;}
#area_main .area_detail dl{ display: flex;}
#area_main .area_detail dl dt{ width: 448px; margin-right: 32px;}
#area_main .area_detail dl dt img{ border-radius: 10px;}
#area_main .area_detail dl dd{ width: calc(100% - 480px);}
#area_main .area_detail dl dd .cat{ display: flex; flex-wrap: wrap; margin-bottom: 20px;}
#area_main .area_detail dl dd .cat span{ display: flex; align-items: center; justify-content: center; border: 1px solid #1E2088; font-size: 0.9rem; line-height: 1em; font-weight: bold; color: #1E2088; padding: 0.25em 0.75em; margin-right: 10px; border-radius: 8px;}
#area_main .area_detail dl dd .cat span:last-child{ margin-right: 0;}
#area_main .area_detail dl dd .cat span.cat01{ background: #1E2088; color: #fff;}
#area_main .area_detail dl dd h3{ font-size: 1.4rem; margin-bottom: 10px;}
#area_main .area_detail dl dd .star{ display: flex; align-items: center; margin: 10px 0;}
#area_main .area_detail dl dd .star span{ display: flex; align-items: center; margin-right: 4px;}
#area_main .area_detail dl dd .star span img{ height: 18px; margin-right: 2px;}
#area_main .area_detail dl dd .star strong{ font-size: 0.8rem; line-height: 1em;}
#area_main .area_detail dl dd .add{ font-size: 0.9rem; margin: 0;}
#area_main .area_detail dl dd .add dl{ display: flex;}
#area_main .area_detail dl dd .add dl dt{ width: auto; margin: 0;}
#area_main .area_detail dl dd .add dl dd{ width: auto;}
#area_main .area_detail dl dd .service{ display: flex; flex-wrap: wrap; margin: 30px 0 30px -5px;}
#area_main .area_detail dl dd .service span{ display: flex; align-items: center; justify-content: center; border: 1px solid #A2A2A2; font-size: 0.6rem; line-height: 1em; font-weight: 500; padding: 0.75em 0.5em; margin: 5px; border-radius: 4px;}
#area_main .area_detail dl dd p.att{ font-size: 0.65rem; margin-top: 10px;}
#area_main .area_detail dl dd figure.btn{ margin-top: 30px;}
#area_main .area_detail dl dd figure.btn a{ display: flex; align-items: center; justify-content: center; width: 280px; height: 64px; margin: auto; background: #FFAD4B; color: #fff; border-bottom: 3px solid #EF8200; border-radius: 8px; font-size: 1.15rem; text-shadow: 1px 1px 0px rgba(0,0,0,0.16);}
#area_main .area_detail dl dd figure.btn a span{ display: inline-block; padding-left: 48px; position: relative;}
#area_main .area_detail dl dd figure.btn a span:before{ content: ""; width: 24px; height: 24px; background: url("../images/btn_ico_tel.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
@media screen and (max-width:767px){
#area_main .area_detail{ margin: 7.5% auto; width: 100%;}
#area_main .area_detail dl{ display: block;}
#area_main .area_detail dl dt{ width: 100%; margin: 0 auto 3.75%;}
#area_main .area_detail dl dd{ width: 100%;}
#area_main .area_detail dl dd .cat{ margin-bottom: 2.5%;}
#area_main .area_detail dl dd .cat span{ font-size: 0.9rem; margin-right: 1.25vw;}
#area_main .area_detail dl dd h3{ font-size: 1.4rem; margin-bottom: 2.5%;}
#area_main .area_detail dl dd .star{ margin: 2.5% 0;}
#area_main .area_detail dl dd .star span{ margin-right: 0.75vw;}
#area_main .area_detail dl dd .star span img{ height: 3.75vw; margin-right: 0.375vw;}
#area_main .area_detail dl dd .star strong{ font-size: 0.8rem; line-height: 1em;}
#area_main .area_detail dl dd .add{ font-size: 0.8rem; margin: 0;}
#area_main .area_detail dl dd .service{ margin: 5% 0 5% -0.75vw;}
#area_main .area_detail dl dd .service span{ font-size: 0.6rem; margin: 0.75vw;}
#area_main .area_detail dl dd p.att{ font-size: 0.7rem; margin-top: 1.25%;}
#area_main .area_detail dl dd figure.btn{ margin-top: 5%;}
#area_main .area_detail dl dd figure.btn a{ font-size: 1.25rem; width: 75%; height: 12.5vw; border-radius: 1.25vw;}
#area_main .area_detail dl dd figure.btn a span{ padding-left: 10vw;}
#area_main .area_detail dl dd figure.btn a span:before{ width: 6.25vw; height: 6.25vw;}
}

#area_main .area_price{ width: 900px; margin: 40px auto;}
#area_main .area_price table{ width: 100%; table-layout: fixed; border-collapse: collapse; border-spacing: 0;}
#area_main .area_price table th{ border: 1px solid #E6E6E6; background: #F2F3FF; padding: 0.75em 1.5em; font-size: 1rem; text-align: center; vertical-align: middle;}
#area_main .area_price table td{ border: 1px solid #E6E6E6; padding: 0.75em 1.5em; font-size: 0.8rem; text-align: center; vertical-align: middle;}
@media screen and (max-width:767px){
#area_main .area_price{ width: 100%; margin: 7.5% auto;}
#area_main .area_price table th{ padding: 0.75em; font-size: 0.9rem;}
#area_main .area_price table td{ padding: 0.75em; font-size: 0.8rem;}
}

#area_main .area_map{ width: 900px; margin: 40px auto;}
#area_main .area_map iframe{ width: 100%; height: 450px; border: none; vertical-align: bottom; border-radius: 10px;}
@media screen and (max-width:767px){
#area_main .area_map{ width: 100%; margin: 7.5% auto;}
#area_main .area_map iframe{ height: 50vw; border-radius: 1.25vw;}
}

#area_main .area_info{ width: 900px; margin: 40px auto;}
#area_main .area_info table{ width: 100%; border-collapse: collapse; border-spacing: 0;}
#area_main .area_info table th{ border: 1px solid #E6E6E6; background: #F2F3FF; padding: 0.75em 1.5em; width: 180px; font-size: 1rem; text-align: center; vertical-align: middle;}
#area_main .area_info table td{ border: 1px solid #E6E6E6; padding: 0.75em 1.5em; font-size: 0.8rem; vertical-align: middle;}
@media screen and (max-width:767px){
#area_main .area_info{ width: 100%; margin: 7.5% auto;}
#area_main .area_info table th{ display: block; width: 100%; padding: 0.5em; font-size: 0.9rem;}
#area_main .area_info table td{ display: block; width: 100%; padding: 0.75em; border-top: none;}
#area_main .area_info table tr:not(:last-child) td{ border-bottom: none;}
}

#area_main .area_cv{ margin-top: 40px;}
#area_main .area_cv ul{ display: flex; align-items: center; justify-content: center;}
#area_main .area_cv ul li{ margin: 0 20px;}
#area_main .area_cv ul li a{ display: flex; align-items: center; justify-content: center; text-align: center; width: 345px; height: 80px; margin: auto; background: #FFAD4B; border-bottom: 3px solid #EF8200; border-radius: 8px; padding: 10px 10px 10px 80px; text-shadow: 1px 1px 0px rgba(0,0,0,0.16); position: relative;}
#area_main .area_cv ul li.tel a{ flex-direction: column; color: #F8FF3E; font-size: 0.8rem; font-weight: bold;}
#area_main .area_cv ul li.tel a strong{ font-size: 1.6rem; color: #fff;}
#area_main .area_cv ul li.tel a:before{ content: ""; width: 40px; height: 40px; background: url("../images/btn_ico_tel.png") center center no-repeat; background-size: 100%; position: absolute; left: 30px; top: 50%; transform: translateY(-50%);}
#area_main .area_cv ul li.file a{ color: #FFF; font-size: 1rem; font-weight: bold;}
#area_main .area_cv ul li.file a strong{ font-size: 1.2rem; color: #F8FF3E;}
#area_main .area_cv ul li.file a:before{ content: ""; width: 40px; height: 40px; background: url("../images/btn_ico_file.png") center center no-repeat; background-size: 100%; position: absolute; left: 30px; top: 50%; transform: translateY(-50%);}
@media screen and (max-width:767px){
#area_main .area_cv{ margin-top: 3.75%;}
#area_main .area_cv ul{ width: calc(100% + 2.5vw); margin-left: -1.25vw;}
#area_main .area_cv ul li{ width: calc(50% - 2.5vw); margin: 0 1.25vw;}
#area_main .area_cv ul li a{ width: 100%; height: 12.5vw; border-radius: 1.25vw; padding: 1.25vw 1.25vw 1.25vw 7.5vw;}
#area_main .area_cv ul li.tel a{ font-size: 0.6rem;}
#area_main .area_cv ul li.tel a strong{ font-size: 1.25rem;}
#area_main .area_cv ul li.tel a:before{ width: 5vw; height: 5vw; left: 1.25vw;}
#area_main .area_cv ul li.file a{ font-size: 0.7rem;}
#area_main .area_cv ul li.file a strong{ font-size: 0.9rem;}
#area_main .area_cv ul li.file a:before{ width: 5vw; height: 5vw; left: 1.25vw;}
}





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