@charset "utf-8";
/* 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: "hiragino-kaku-gothic-pron","ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;
font-size:20px;
text-align:left;
color:#000;
min-width:1200px;
}
@media screen and (max-width:768px){
html,body{ font-size:5vw; min-width:240px; max-width:767px; overflow-x: hidden;}
}

/*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: 700;}
.normal{ font-weight:normal;}
.under_line{ text-decoration:underline;}
.line_through{ text-decoration:line-through;}

.roboto{ font-family: "Roboto", sans-serif; font-optical-sizing: auto; font-style: normal;}
.notosans{ font-family: "Noto Sans",'Noto Sans JP';}
.white{ color:#fff;}
.black{ color:#333;}
.gy{ color:#aaa;}
.red{ color:#DD224D;}
.red2{ color: #EB323E;}
.bg_y{ background: linear-gradient(to bottom, rgba(255,248,76,0) 0%, rgba(255,248,76,0) 50%, rgba(255,248,76,1) 51%, rgba(255,248,76,1) 100%);}

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

/*link*/
a{ color:inherit; text-decoration:none;}
a:hover{}
.opa{ transition: opacity 0.3s;}
.opa:hover{ opacity: 0.7;}



/*ヘッダー*/
p.h_txt{ display: flex; align-items: center; justify-content: center; height: 20px; background: #EBEBEB; font-size: 0.55rem; padding: 0.25em; margin: 0; position: fixed; left: 0; right: 0; top: 0; z-index: 9999;}
.home header{ top: 20px;}
@media print, screen and (min-width:769px){
p.h_txt{ display: none !important;}
.home header{ top: 0 !important;}
#fv{ margin-top: 0 !important;}
}
@media screen and (max-width:768px){
p.h_txt{ height: 5vw;}
.home header{ top: 5vw;}
}

body{ padding-top: 62px;}
header{ position: fixed; left: 0; right: 0; top: 0; z-index: 9999; background: #fff; width: 100%; min-width: 1200px; margin: auto; display: flex; align-items: center; justify-content: space-between; padding: 4px 16px 4px 8px; transition: 0.3s;}
header figure.logo{ margin: 0;}
header figure.logo img{ height: 54px;}
@media screen and (max-width:768px){
body{ padding-top: 12.5vw;}
header{ min-width: 100%; padding: 1.25vw 3.75vw;}
header figure.logo img{ height: 10vw;}
}

@media screen and (max-width:768px){
#nav_btn{ display: flex; align-items: center; justify-content: center; padding: 0; width: 5vw; height: 10vw; cursor: pointer;}
#nav_btn span{ display:block; height:2px; width:100%; background:#DD224D; position:relative; border-radius: 3px; transition:0.3s;}
#nav_btn span:before{ content: ""; display:block; height:2px; width:100%; background:#DD224D; position:absolute; bottom:-1.5vw; border-radius: 2px; transition:0.3s;}
#nav_btn span:after{ content: ""; display:block; height:2px; width:100%; background:#DD224D; position:absolute; top:-1.5vw; border-radius: 2px; transition:0.3s;}
#nav_btn.active span{ background:rgba(255,255,255,0);}
#nav_btn.active span:before{ bottom:0; transform: rotate(45deg);}
#nav_btn.active span:after{ top:0; transform: rotate(-45deg);}
}

nav#h_nav{ width: 880px;}
nav#h_nav{ display: flex; justify-content: flex-end; align-items: center; flex-direction: row;}

nav#h_nav .page_nav ul{ display: flex;}
nav#h_nav .page_nav ul li{ font-size: 0.8rem; font-weight: 600; line-height: 1em; margin: 0 0.75em;}
nav#h_nav .page_nav ul li a{ display: block; position: relative; transition: 0.3s; cursor: pointer;}
nav#h_nav .page_nav ul li a:after{ content: ""; width: 0; height: 2px; background: #DD224D; position: absolute; left: 0; right: 0; bottom: -0.25em; margin: auto; transition: 0.3s;}
nav#h_nav .page_nav ul li a:hover:after{ width: 100%;}
nav#h_nav .page_nav ul li a:hover{ color: #DD224D;}
nav#h_nav .page_nav ul li a i{ display: none;}
nav#h_nav .page_nav ul li.parent{ position: relative;}
nav#h_nav .page_nav ul li .child ul{ display: flex; flex-direction: column; padding: 20px; background: #fff; box-shadow:rgba(0, 0, 0, 0.16) 0 3px 6px;}
nav#h_nav .page_nav ul li .child ul li{ font-size: 0.8rem; font-weight: 600; margin: 0 0 1em;}
nav#h_nav .page_nav ul li .child ul li:last-child{ margin-bottom: 0;}
nav#h_nav .page_nav ul li .child ul li a{ word-break: keep-all;}

nav#h_nav .nav_cv{ margin-left: 10px;}
nav#h_nav .nav_cv ul{ display: flex; flex-direction: row-reverse;}
nav#h_nav .nav_cv ul li{ margin-left: 10px; line-height: 0;}
nav#h_nav .nav_cv ul li.member img{ height: 43px;}
nav#h_nav .nav_cv ul li.file img{ height: 43px;}
nav#h_nav .nav_cv ul li.tel img{ height: 43px;}
nav#h_nav .nav_cv ul li.tel a{ display: inline-block; line-height: 0; position: relative;}
@media print, screen and (min-width:769px){
#nav_btn{ display: none !important;}
nav#h_nav{ display: flex !important; top: 0 !important; opacity: 1.0 !important; height: auto !important;}
nav#h_nav .page_nav ul li.parent .child{ display: block !important; opacity: 0; position: absolute; left: 0; top: 1em; padding-top: 1em; pointer-events: none; transition: 0.3s;}
nav#h_nav .page_nav ul li.parent:hover .child{ opacity: 1.0 !important; pointer-events: all !important;}
}
@media screen and (max-width:768px){
nav#h_nav{ display: none; position: fixed; left: 0; right: 0; top: 12.5vw; height: calc(100dvh - 12.5vw); overflow-x: hidden; overflow-y: auto; background: #fff; transition: top 0.3s;}
nav#h_nav{ justify-content: flex-start; flex-direction: column; width: 100%; padding: 3.75vw;}

nav#h_nav .page_nav{ width: 100%;}
nav#h_nav .page_nav ul{ display: block;}
nav#h_nav .page_nav ul li{ font-size: 0.9rem; margin: 0;}
nav#h_nav .page_nav ul li:first-child{ border-top: 2px solid #E3E3E3;}
nav#h_nav .page_nav ul li{ padding: 1em; border-bottom: 2px solid #E3E3E3;}
nav#h_nav .page_nav ul li a i{ display: inline; position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
nav#h_nav .page_nav ul li a:after{ display: none;}
nav#h_nav .page_nav ul li.parent a:before{ content: ""; width: 12px; height: 2px; background: #4A4A4A; position: absolute; right: 0; top: 50%; transform: translateY(-50%); transition: 0.3s;}
nav#h_nav .page_nav ul li.parent a:after{ display: inline; content: ""; width: 12px; height: 2px; background: #4A4A4A; position: absolute; left: auto; right: 0; top: 50%; bottom: auto; transform: translateY(-50%) rotate(90deg); margin: 0; transition: 0.3s;}
nav#h_nav .page_nav ul li.parent.open a:after{ opacity: 0; transform: translateY(-50%) rotate(0deg);}
nav#h_nav .page_nav ul li.parent .child{ display: none; margin-top: 1em; margin-left: 0; position: static; padding: 0;}
nav#h_nav .page_nav ul li.parent .child ul{ padding: 0; box-shadow: none;}
nav#h_nav .page_nav ul li.parent .child ul li{ font-size: 0.8rem; border-top: 1px solid #E3E3E3; border-bottom: none; margin: 0;}
nav#h_nav .page_nav ul li.parent .child ul li:last-child{ padding-bottom: 0;}
nav#h_nav .page_nav ul li.parent .child ul li a:before,
nav#h_nav .page_nav ul li.parent .child ul li a:after{ display: none;}
nav#h_nav .page_nav ul li.parent a:before{ width: 3vw; height: 2px;}
nav#h_nav .page_nav ul li.parent a:after{ width: 3vw; height: 2px;}
nav#h_nav .page_nav ul.child li{ font-size: 0.8rem;}

nav#h_nav .nav_cv{ width: 100%; padding: 0; margin: 7.5% auto 0;}
nav#h_nav .nav_cv ul{ display: block;}
nav#h_nav .nav_cv ul li{ margin-left: 0;}
nav#h_nav .nav_cv ul li:not(:first-child){ margin-top: 3.75%;}
nav#h_nav .nav_cv ul li.member img,
nav#h_nav .nav_cv ul li.file img,
nav#h_nav .nav_cv ul li.tel img{ height: auto; width: 100%;}
}

/*animation*/
nav#h_nav .nav_cv ul li.tel a{ position: relative;}
nav#h_nav .nav_cv ul li.tel a:before{ content: ""; width: 100%; height: 100%; background: url("../images/header/h_tel2.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0; z-index: 3; opacity: 0;}
nav#h_nav .nav_cv ul li.tel a:after{ content: ""; width: 100%; height: 100%; background: url("../images/header/h_tel3.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0; z-index: 5; opacity: 0;}
@media screen and (max-width:768px){
nav#h_nav .nav_cv ul li.tel a:before{ background-image: url("../images/header/h_tel2_smp.png");}
nav#h_nav .nav_cv ul li.tel a:after{ background-image: url("../images/header/h_tel3_smp.png");}
}
nav#h_nav .nav_cv ul li.tel a:before{ animation: h_nav_ico_tel ease-in-out 1.4s infinite; animation-delay: 0s;}
nav#h_nav .nav_cv ul li.tel a:after{ animation: h_nav_ico_tel ease-in-out 1.4s infinite; animation-delay: 0.08s;}
@keyframes h_nav_ico_tel{
8%, 64% { opacity: 1;}
78% { opacity: 0;}
}



/*フッター*/
footer{ margin-top: 50px; padding-top: 20px; border-top: 1px solid #E3E3E3;}
footer nav{ width: 1000px; margin: 0 auto 40px; display: flex; align-items: center; justify-content: space-between;}
footer nav .page_nav{ width: 480px; padding: 0;}
footer nav .page_nav ul li{ font-size: 0.9rem; font-weight: 600; line-height: 1em; padding: 1em 1.5em; border-bottom: 1px solid #E3E3E3;}
footer nav .page_nav ul li:first-child{ border-top: 1px solid #E3E3E3;}
footer nav .page_nav ul li a{ transition: 0.3s;}
footer nav .page_nav ul li a:hover{ color: #DD224D;}
footer p.copyright{ text-align: center; font-size: 0.6rem; padding: 0 0 20px;}
@media screen and (max-width:768px){
footer{ margin-top: 7.5%; padding-top: 0;}
footer nav{ width: 92.5%; flex-direction: column; margin-bottom: 0;}
footer nav .page_nav{ width: 100%;}
footer nav .page_nav ul li{ font-size: 0.9rem;}
footer nav .page_nav ul li:first-child{ border-top: none;}
footer p.copyright{ font-size: 0.6rem; padding: 5% 0 5%;}
}



/*fixed_btn*/
#fixed_btn{ display: none; /*display: flex;*/ align-items: center; justify-content: center; margin: auto; position: fixed; left: 0; right: 0; bottom: 0; z-index: 99; background: rgba(6,142,0,0.8); padding: 10px 0; width: 100%; min-width: 1000px;}
#fixed_btn h4{ text-align: center; line-height: 0;}
#fixed_btn h4 img{ height: 50px;}
#fixed_btn ul{ display: flex; justify-content: center; align-items: center; padding-left: 30px; margin-left: 30px; border-left: 1px solid #fff;}
#fixed_btn ul li:not(:first-child){ margin-left: 30px;}
#fixed_btn ul li a{ display: block;}
#fixed_btn ul li.tel img{ height: 54px;}
#fixed_btn ul li.file img{ height: 72px;}
@media screen and (max-width:768px){
#fixed_btn{ display: flex; flex-direction: column; padding: 2.5vw 1.25vw; width: 100%; min-width: 100%;}
#fixed_btn h4{ margin-bottom: 1.875vw;}
#fixed_btn h4 img{ height: 4.8vw;}
#fixed_btn ul{ display: flex; justify-content:space-between; align-items: center; width: auto; margin: auto; padding: 0; border: none;}
#fixed_btn ul{ width: 100%;}
#fixed_btn ul li.tel{ width: 52%;}
#fixed_btn ul li.file{ width: 46%;}
#fixed_btn ul li:not(:first-child){ margin: 0;}
#fixed_btn ul li.tel img,
#fixed_btn ul li.file img{ height: auto; width: 100%;}
}

/*animation*/
#fixed_btn ul li.tel a{ position: relative;}
#fixed_btn ul li.tel a:before{ content: ""; width: 100%; height: 100%; background: url("../images/fixed_btn/fixed_btn_tel2.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0; z-index: 3; opacity: 0;}
#fixed_btn ul li.tel a:after{ content: ""; width: 100%; height: 100%; background: url("../images/fixed_btn/fixed_btn_tel3.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0; z-index: 5; opacity: 0;}
@media screen and (max-width:768px){
#fixed_btn ul li.tel a:before{ background-image: url("../images/fixed_btn/fixed_btn_tel2_smp.png");}
#fixed_btn ul li.tel a:after{ background-image: url("../images/fixed_btn/fixed_btn_tel3_smp.png");}
}
#fixed_btn ul li.tel a:before{ animation: fixed_btn_ico_tel ease-in-out 1.4s infinite; animation-delay: 0s;}
#fixed_btn ul li.tel a:after{ animation: fixed_btn_ico_tel ease-in-out 1.4s infinite; animation-delay: 0.08s;}
@keyframes fixed_btn_ico_tel{
8%, 64% { opacity: 1;}
78% { opacity: 0;}
}



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

/*pankuzu*/
#pankuzu{ display: none; margin: 20px auto 40px; width: 1000px;}
#pankuzu ul{ display: flex; align-items: center;}
#pankuzu ul li{ font-size: 0.8rem; line-height: 1.25em;}
#pankuzu ul li:not(:last-child):after{ content:'\f054'; font-family: 'Font Awesome 5 Free'; font-weight: 900; font-size: 0.6rem; line-height: 1.25em; margin: 0 1em; position: relative; top: -0.125em;}
#pankuzu ul li a:hover{ text-decoration: underline;}
@media screen and (max-width:768px){
#pankuzu{ display: block; margin: 1.875% auto 3.75%; width: 92.5%; padding: 0 3.75%;}
#pankuzu ul li{ font-size: 0.6rem;}
#pankuzu ul li:not(:last-child):after{ font-size: 0.5rem;}
}

/*tit*/
h1,h2,h3,h4,h5,h6{ line-height: 1.5em; letter-spacing: 0.1em;}
h2.tit_h2{ text-align: center; background: #DD224D; color: #fff; font-size: 1.3rem; padding: 0.5em 0.5em; border-top: 4px double #fff; border-bottom: 4px double #fff; margin-bottom: 30px; font-family: "Noto Sans",'Noto Sans JP';}
@media screen and (max-width:768px){
h1,h2,h3,h4,h5,h6{ letter-spacing: 0.05em;}
h2.tit_h2{ font-size: 1.25rem; margin-bottom: 5%; padding: 0.75em 0.5em; font-family: "hiragino-kaku-gothic-pron","ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;}
h2.tit_h2.bg-none{ background: none; border: none; padding: 0; color: #000; font-size: 1.25rem; font-family: "hiragino-kaku-gothic-pron","ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;}
h2.tit_h2.bg-none.red{ color: #DD224D;}
}

p.lead{ max-width: 800px; text-align: center; font-size: 0.9rem; margin: 0 auto 20px;}
@media screen and (max-width:768px){
p.lead{ text-align: justify; font-size: 0.9rem; margin-bottom: 3.75%;}
p.lead.center{ text-align: center;}
}

/*toggle*/
.toggle{ cursor: pointer; transition: 0.3s;}
.toggle:hover{ opacity: 0.7;}

/*cv*/
.cv{ padding: 40px 0;}
.cv .maincontent{ border: 4px solid #BEA0D1; background: #BEA0D1; border-radius: 8px;}
.cv .cv_box{ padding: 20px;}
.cv.cv2 .maincontent{ border: none; background: #FBF2FF;}
.cv.cv2 .cv_box{ padding: 40px 20px;}
.cv .cv_box h3{ text-align: center; margin: 0 auto 10px;}
.cv .cv_box h3 img{ height: 48px;}
@media screen and (max-width:768px){
.cv{ padding: 5% 0;}
.cv .maincontent{ border: none; background: none;}
.cv .cv_box{ padding: 0; margin-top: 5%;}
.cv.cv2 .maincontent{ border: none; background: none;}
.cv.cv2 .cv_box{ padding: 0;}
.cv .cv_box h3{ margin: 0 auto 3.75%;}
.cv .cv_box h3 img{ height: 6.25vw;}
}

.cv .cv_top{ background: #fff; padding: 20px; text-align: center;}
.cv .cv_top p.txt01{ text-align: center; font-size: 1.2rem; line-height: 1.5em; font-weight: 600; margin-bottom: 0.5em;}
.cv .cv_top p.txt01 span#currentTime{ padding: 0 0.5em 0 0; font-size: 1.2rem; font-weight: 800;}
.cv .cv_top p.txt01 strong{ font-size: 1.8rem; margin: 0 0.25em;}
.cv .cv_top p.txt02{ text-align: center; font-size: 1.3rem; line-height: 1.5em; font-weight: 600;}
@media screen and (max-width:768px){
.cv .cv_top{ padding: 0; display: flex; align-items: center; justify-content: center; margin: auto;}
.cv .cv_top p.txt01{ font-size: 0.9rem; margin-bottom: 0; text-align: left;}
.cv .cv_top p.txt01 span#currentTime{ padding: 0 1em 0 0; font-size: 0.9rem;}
.cv .cv_top p.txt01 strong{ font-size: 1.1rem;}
.cv .cv_top p.txt02{ font-size: 0.9rem; text-align: left;}
}

.cv .cv_top .cv_top_txt2{ padding: 10px;}
.cv .cv_top .cv_top_txt2 p.txt01{ display: flex; justify-content: center; align-items: flex-end; line-height: 1em; margin-bottom: 20px;}
.cv .cv_top .cv_top_txt2 p.txt01 img{ height: 35px;}
.cv .cv_top .cv_top_txt2 p.txt02{ line-height: 1em;}
.cv .cv_top .cv_top_txt2 p.txt02 img{ height: 25px;}
@media screen and (max-width:768px){
.cv .cv_top .cv_top_txt2{ padding: 0;}
.cv .cv_top .cv_top_txt2 p.txt01{ display: flex; align-items: center; margin-bottom: 2.5%;}
.cv .cv_top .cv_top_txt2 p.txt01 img{ height: 5.75vw;}
.cv .cv_top .cv_top_txt2 p.txt02 img{ height: 17.5vw;}
}

.cv_btn01.cv_btn01_2{ margin: 0 20px;}
.cv_btn01 h3{ text-align: center; margin-bottom: 20px;}
.cv_btn01 h5{ text-align: center; margin-top: 20px;}
.cv_btn01 ul{ display: flex; align-items: flex-start; justify-content: space-between; width: 100%;}
.cv_btn01 ul li{ width: 430px; margin: 0 25px;}
.cv_btn01 ul li a{ display: block; border-radius: 8px; overflow: hidden;}
.cv_btn01 ul li h4{ margin: 10px 0 0;}
.cv_btn01 ul li p.att{ text-align: center; margin-top: 5px; line-height: 0;}
.cv_btn01 ul li p.att img{ height: 27px;}
.cv_btn01 ul li p.att2{ text-align: center; margin-top: 10px; line-height: 0;}
.cv_btn01 ul li p.att2 img{ height: 17px;}
@media screen and (max-width:768px){
.cv_btn01.cv_btn01_2{ margin: 0;}
.cv_btn01 h3{ margin-bottom: 5%;}
.cv_btn01 h5{ margin: 2.5% auto -1.25%;}
.cv_btn01 h6{ display: flex; align-items: center; justify-content: center; text-align: center; margin: 3.75% 0;}
.cv_btn01 h6 span{ line-height: 0;}
.cv_btn01 h6 span img{ height: 5vw;}
.cv_btn01 h6 strong{ font-size: 1.45rem; letter-spacing: 0; margin-left: 0.5em; color: #DD224D;}
.cv_btn01 ul{ display: block; width: 100%; margin: 0;}
.cv_btn01 ul li{ width: 100%; margin: 3.75% auto 0;}
.cv_btn01 ul li:first-child{ margin-top: 0;}
.cv_btn01 ul li h4{ text-align: center; margin: 2.5% 0 -2.5%;}
.cv_btn01 ul li p.att{ margin-top: 2.5%;}
.cv_btn01 ul li p.att img{ height: 3.75vw;}
.cv_btn01 ul li p.att2{ margin-top: 3.75%;}
.cv_btn01 ul li p.att2 img{ height: 4.5vw;}
}

.cv_btn02 ul{ display: flex; align-items: center; justify-content: space-between; margin-top: 30px}
.cv_btn02 ul li{ width: 430px; margin: 0 25px;}
.cv_btn02 ul li a{ display: block; border-radius: 8px; overflow: hidden;}
@media screen and (max-width:768px){
.cv_btn02 ul{ display: block; width: 92.75%; margin: 5% auto 0;}
.cv_btn02 ul li{ width: 100%; margin: 3.75% auto 0;}
}

/*
.cv_tel{ margin: 0 auto; background: #FFEEF4; border: 1px solid #DD224D; padding: 20px 20px 30px; text-align: center; border-radius: 6px;}
.cv_tel h3{ display: flex; align-items: center; justify-content: center; margin: 0 auto 20px;}
.cv_tel h3 span img{ height: 48px;}
.cv_tel h3 strong{ font-size: 1.5rem; margin-left: 10px;}
.cv_tel p{ font-size: 1.2rem; text-align: center; margin-top: 20px;}
.cv_tel figure.btn a{ display: flex; align-items: center; justify-content: center; margin: auto; width: 500px; height: 120px; background: #EA3F66; color: #fff; border: 2px solid #fff; border-radius: 60px;}
.cv_tel figure.btn a{ background: linear-gradient(to bottom,  #ea3f66 0%,#9f0025 100%); box-shadow:rgba(186, 136, 153, 0.6) 0 3px 3px;}
.cv_tel figure.btn a dl{ display: flex; align-items: center; justify-content: center;}
.cv_tel figure.btn a dl dt{ width: 60px; margin-right: 50px; line-height: 0;}
.cv_tel figure.btn a dl dd{ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;}
.cv_tel figure.btn a dl dd strong{ font-size: 2.2rem; line-height: 1em; text-shadow: 1px 1px 0 rgba(0,0,0,0.16);}
.cv_tel figure.btn a dl dd span{ font-size: 1rem; line-height: 1em; margin-top: 0.5em; text-shadow: 1px 1px 0 rgba(0,0,0,0.16);}
*/
@media screen and (max-width:768px){
.cv_tel{ margin: 0 auto; background: #FFEEF4; border: 1px solid #DD224D; padding:3.75%; border-radius: 1.25vw;}
.cv_tel h3{ text-align: center; margin: 0 auto 3.75%;}
.cv_tel figure.btn a{ display: block;}
.cv_tel p.att{ text-align: center; line-height: 1em; margin-top: 1.25%;}
.cv_tel p.att img{ height: 3.75vw;}
}

.cv_btn_comment{ width: 430px; text-align: center; margin: 0 0 0 25px;}
.cv_btn_comment img{ width: 330px;}
@media screen and (max-width:768px){
.cv_btn_comment{ width: 92.5%; margin: 0 auto;}
.cv_btn_comment img{ width: 100%;}
}

.member_entry{ display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 40px auto;}
.member_entry h4{ text-align: center; margin-bottom: 30px;}
.member_entry h4 img{ height: 30px;}
.member_entry figure.btn a{ display: flex; align-items: center; justify-content: center; width: 380px; height: 70px; font-size: 1.3rem; font-weight: 600; background: #DD224D; color: #fff; border-bottom: 3px solid #963556; border-radius: 6px; text-shadow: 1px 2px 3px rgba(0,0,0,0.16); position: relative;}
.member_entry figure.btn a i{ font-size: 0.8rem; position: absolute; right: 20px; top: 50%; transform: translateY(-50%);}
@media screen and (max-width:768px){
.member_entry{ margin: 7.5% auto;}
.member_entry h4{ margin-bottom: 5%;}
.member_entry h4 img{ height: 5vw;}
.member_entry figure.btn{ width: 92.5%;}
.member_entry figure.btn a{ width: 100%; height: 12.5vw; font-size: 1.1rem;}
.member_entry figure.btn a i{ font-size: 0.8rem; right: 3.75vw;}
}

/*animation*/
.cv_btn01 ul li.tel a{ position: relative;}
.cv_btn01 ul li.tel a:before{ content: ""; width: 100%; height: 100%; background: url("../images/cv/cv_btn_tel2.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0; z-index: 3; opacity: 0;}
.cv_btn01 ul li.tel a:after{ content: ""; width: 100%; height: 100%; background: url("../images/cv/cv_btn_tel3.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0; z-index: 5; opacity: 0;}
.cv_btn01 ul li.tel.pk a:before{ background-image: url("../images/cv/cv_btn_tel_pk2.png");}
.cv_btn01 ul li.tel.pk a:after{ background-image: url("../images/cv/cv_btn_tel_pk3.png");}
@media screen and (max-width:768px){
.cv_btn01 ul li.tel a:before{ background-image: url("../images/cv/cv_btn_tel2_smp.png");}
.cv_btn01 ul li.tel a:after{ background-image: url("../images/cv/cv_btn_tel3_smp.png");}
.cv_btn01 ul li.tel.pk a:before{ background-image: url("../images/cv/cv_btn_tel2_smp.png");}
.cv_btn01 ul li.tel.pk a:after{ background-image: url("../images/cv/cv_btn_tel3_smp.png");}
}
.cv_btn01 ul li.tel a:before{ animation: cv_btn01_ico_tel ease-in-out 1.4s infinite; animation-delay: 0s;}
.cv_btn01 ul li.tel a:after{ animation: cv_btn01_ico_tel ease-in-out 1.4s infinite; animation-delay: 0.08s;}
@keyframes cv_btn01_ico_tel{
8%, 64% { opacity: 1;}
78% { opacity: 0;}
}

/*animation*/
@media screen and (max-width:768px){
.cv_tel figure.btn a{ position: relative;}
.cv_tel figure.btn a:before{ content: ""; width: 100%; height: 100%; background: url("../images/cv/cv_tel_btn2_smp.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0; z-index: 3; opacity: 0;}
.cv_tel figure.btn a:after{ content: ""; width: 100%; height: 100%; background: url("../images/cv/cv_tel_btn3_smp.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0; z-index: 5; opacity: 0;}
}
.cv_tel figure.btn a:before{ animation: cv_tel_ico_tel ease-in-out 1.4s infinite; animation-delay: 0s;}
.cv_tel figure.btn a:after{ animation: cv_tel_ico_tel ease-in-out 1.4s infinite; animation-delay: 0.08s;}
@keyframes cv_tel_ico_tel{
8%, 64% { opacity: 1;}
78% { opacity: 0;}
}

/*ico_tel*/
.ico_tel{ display: inline-block; line-height: 0; position: relative;}
.ico_tel:before{ content: ""; width: 100%; height: 100%; background: url("../images/cv_ico_tel02.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0; z-index: 3; opacity: 0;}
.ico_tel:after{ content: ""; width: 100%; height: 100%; background: url("../images/cv_ico_tel03.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0; z-index: 5; opacity: 0;}
.ico_tel.ico_tel_pk:before{ background: url("../images/cv_ico_tel02_pk.png") center center no-repeat; background-size: 100%;}
.ico_tel.ico_tel_pk:after{ background: url("../images/cv_ico_tel03_pk.png") center center no-repeat; background-size: 100%;}
.ico_tel:before{ animation: ico_tel ease-in-out 1.4s infinite; animation-delay: 0s;}
.ico_tel:after{ animation: ico_tel ease-in-out 1.4s infinite; animation-delay: 0.08s;}
@keyframes ico_tel{
8%, 64% { opacity: 1;}
78% { opacity: 0;}
}





/*home*/
/*sec*/
section.home_sec{ padding: 0 0 40px;}
@media screen and (max-width:768px){
section.home_sec{ padding: 0 0 7.5%;}
}

/*fv*/
#fv{ /*margin-top: 20px;*/ pointer-events: none;}
@media screen and (max-width:768px){
#fv{ margin-top: 5vw; margin-bottom: 5%;}
}

#fv01{ background: url("../images/fv/pc01.jpg") center center no-repeat; width: 100%; height: 705px;}
#fv02{ background: url("../images/fv/pc02.jpg") center center no-repeat; width: 100%; height: 705px;}
@media screen and (max-width:768px){
#fv01,
#fv02{ background: none; height: auto;}
}



/*lead*/
#home_lead .txt p{ text-align: center; font-size: 0.9rem; margin-bottom: 40px;}
@media screen and (max-width:768px){
#home_lead{ margin: 10% 0;}
#home_lead h2{ text-align: center; margin-bottom: 7.5%;}
#home_lead h2 img{ height: 6.25vw;}
#home_lead .txt{ display: flex; align-items: center; justify-content: center;}
#home_lead .txt p{ text-align: left; font-size: 0.9rem; margin-bottom: 12.5%;}
}



/*request*/
.request_list h3{ text-align: center; font-size: 1.2rem; margin-bottom: 30px;}
.request_list ul{ display: flex; flex-wrap: wrap; width: calc(100% + 20px); margin: -10px 0 -10px -10px;}
.request_list ul li{ width: calc(33.33% - 20px); margin: 10px; border-radius: 12px; overflow: hidden;}
.request_list ul li figure img{ width: 100%;}
.request_list ul li .txt{ display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 1.3rem; height: calc(1.6em*3);}
.request_list ul li .txt h4{ font-weight: 400; text-align: center; line-height: 1.5em; letter-spacing: 0;}
@media screen and (max-width:768px){
.request_list h3{ text-align: center; margin-bottom: 10%;}
.request_list h3 img{ height: 20vw;}
.request_list ul{ width: 100%; margin: -1.875vw 0;}
.request_list ul li{ width: calc(50% - 3.75vw); margin: 1.875vw;}
.request_list ul li .txt{ font-size: 0.8rem; height: calc(1.5em*3);}
.request_list ul li .txt h4{ text-align: center; line-height: 1.5em;}
}



/*feature*/
#home_feature{ padding: 40px 0; background: #FFEEF4;}
#home_feature .maincontent{ padding: 40px; background: #fff; border-radius: 6px;}
#home_feature h2{ text-align: center; margin-bottom: 40px;}
#home_feature h2 img{ height: 63px;}
#home_feature h3{ text-align: center; font-size: 1.2rem; line-height: 1em; margin-bottom: 20px;}
#home_feature h3 strong{ display: inline-block; border-bottom: 2px solid #DD224D;}
#home_feature p.lead{ margin: 0 auto 30px;}
@media screen and (max-width:768px){
#home_feature{ margin-bottom: 15%; padding: 0; background: none;}
#home_feature .maincontent{ padding: 0;}
#home_feature h2{ margin-bottom: 7.5%;}
#home_feature h2 img{ height: 22.5vw;}
#home_feature p.lead{ text-align: justify; margin: 0 auto 5%;}
}

.feature_list{ display: flex; flex-wrap: wrap; width: calc(100% + 32px); margin: 0 0 0 -16px; font-family: "Noto Sans",'Noto Sans JP';}
.feature_list dl{ width: calc(33.33% - 32px); margin: 0 16px; background: #fff; padding: 16px; border: 2px solid #E6E6E6; border-right-width: 4px; border-bottom-width: 4px; border-radius: 6px;}
.feature_list dl dt{ padding: 0 0 10px 36px; margin-bottom: 18px; position: relative; border-bottom: 1px solid #DEDEDE;}
.feature_list dl dt span.num{ display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; font-size: 0.85rem; font-weight: 600; background: #DD224D; color: #fff; border-radius: 4px; position: absolute; left: 0; top: 0;}
.feature_list dl dt h4{ font-size: 0.85rem; letter-spacing: 0; color: #DD224D; padding-top: 0.125em; font-family: "Noto Sans",'Noto Sans JP';}
.feature_list dl dd{ display: flex; flex-direction: column-reverse; justify-content: space-between;}
.feature_list dl dd p{ text-align: justify; font-size: 0.8rem; margin: 0;}
.feature_list dl dd figure{ margin: 0 0 16px;}
@media screen and (max-width:768px){
.feature_list{ display: block; width: 100%; margin: 0 auto;}
.feature_list dl{ width: 100%; margin: 3.75% auto 0; padding: 5% 3.75%;}
.feature_list dl dt{ padding: 0 0 1.875% 7.5vw; margin-bottom: 3.75%;}
.feature_list dl dt span.num{ width: 6.25vw; height: 6.25vw; font-size: 0.9rem; margin-top: 1.25%;}
.feature_list dl dt h4{ font-size: 1rem;}
.feature_list dl dd{ display: block;}
.feature_list dl dd p{ width: 100%; font-size: 0.9rem; font-family: "hiragino-kaku-gothic-pron","ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;}
.feature_list dl dd figure{ width: 100%; margin: 7.5% 0 0;}
.feature_list dl dd figure img{ width: 100%;}
}



/*gallery*/
#home_gallery{ padding: 40px 0;}
#home_gallery h2{ text-align: center; line-height: 1em; margin-bottom: 20px;}
#home_gallery h2 img{ height: 35px;}
#home_gallery p.lead{ margin: 0 auto 30px;}
#home_gallery .cv_btn01 h3 img{ height: 22px;}
@media screen and (max-width:768px){
#home_gallery{ margin-bottom: 15%; padding: 0;}
#home_gallery h2{ text-align: center; margin-bottom: 5%;}
#home_gallery h2 img{ height: 5vw;}
#home_gallery p.lead{ text-align: justify; margin: 0 5% 5%;}
#home_gallery .cv_btn01.cv_btn01_2{ width: 100%; margin: 15% auto 0;}
#home_gallery .cv_btn01 h3{ margin-bottom: 10%;}
#home_gallery .cv_btn01 h3 img{ height: 13.75vw;}
}

.gallery_table{ margin: 30px auto 50px;}
.gallery_table table{ width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0;}
.gallery_table table thead td{ width: 60px;}
.gallery_table table thead th{ font-size: 1rem; text-align: center; padding: 0.5em; border-radius: 12px 12px 0 0;}
.gallery_table table thead th:nth-child(2){ background: #E5C9F7;}
.gallery_table table thead th:nth-child(3){ background: #F2CAD8;}
.gallery_table table tbody th{ vertical-align: middle; font-size: 1rem; line-height: 2em; padding: 1em; border: 1px solid #DDD; border-bottom: none; border-right: none;}
.gallery_table table tbody tr:first-child th{ border-radius: 12px 0 0 0;}
.gallery_table table tbody tr:last-child th{ border-radius: 0 0 0 12px;}
.gallery_table table tbody tr:last-child th,
.gallery_table table tbody tr:last-child td{ border-bottom: 1px solid #ddd;}
.gallery_table table tbody td{ vertical-align: middle; padding: 20px; text-align: center; border-top: 1px solid #DDD;}
.gallery_table table tbody td:nth-child(2){ background: #FDFAFF;}
.gallery_table table tbody td:nth-child(3){ background: #FFF4F8; border-right: 1px solid #DDD;}
.gallery_table table tbody td p{ font-size: 0.9rem; margin: 0.5em 0 -0.75em;}
.gallery_table table tbody td:nth-child(3) p{ color: #DD224D; font-weight: 600;}
.gallery_table table tbody td ul{ display: flex; width: calc(100% + 10px); margin-left: -5px;}
.gallery_table table tbody td ul li{ width: calc(50% - 10px); margin: 0 5px; position: relative; transition: 0.3s;}
.gallery_table table tbody td ul li.modal_trigger{ cursor: pointer;}
.gallery_table table tbody td ul li.modal_trigger:after{ content: ""; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; background: url("../images/ico_search.png") center center no-repeat #DD224D; background-size: 16px; position: absolute; right: 0; bottom: 0;}
.gallery_table table tbody td ul li.modal_trigger:hover{ opacity: 0.7;}
.gallery_table table tbody td figure.perason img{ width: 300px;}
@media screen and (max-width:768px){
.gallery_table{ margin: 5% auto 10%;}
.gallery_table table thead td{ width: 10%;}
.gallery_table table thead th{ font-size: 0.7rem;}
.gallery_table table tbody th{ font-size: 0.7rem; padding: 1em 0.5em;}
.gallery_table table tbody td{ padding: 1.875vw;}
.gallery_table table tbody td p{ display: flex; align-items: center; justify-content: center; height: 2.5em; font-size: 0.75rem; line-height: 1.25em; margin: 0.5em 0 0; word-break: keep-all;}
.gallery_table table tbody td ul{ display: block; width: 100%; margin: 0;}
.gallery_table table tbody td ul li{ width: 100%; margin: 1.875vw 0 0;}
.gallery_table table tbody td ul li:first-child{ margin-top: 0;}
.gallery_table table tbody td ul li:after{ width: 5vw; height: 5vw; background-size: 2.5vw;}
.gallery_table table tbody td figure.perason{ margin: 5% auto;}
.gallery_table table tbody td figure.perason img{ width: 100%;}
}



/*plan*/
.price_camp{ text-align: center; margin: 30px auto;}
.price_camp img{ height: 170px;}
@media screen and (max-width:768px){
.price_camp{ margin: 10% auto;}
.price_camp img{ height: auto; width: 100%;}
}

.plan_list_box{ margin: 30px auto 0; border: 1px solid #707070; border-radius: 4px; box-shadow:rgba(0, 0, 0, 0.16) 0 0 6px; overflow: hidden;}
.plan_list_box h4{ display: flex; align-items: center; justify-content: center; text-align: center; padding: 0.5em 1em; font-size: 1rem; background: #FFE6EC; position: relative; pointer-events: none;}
.plan_list_box h4 i{ display: none;}
.plan_list_box h3{ text-align: center; font-size: 1.7rem;}
@media screen and (max-width:768px){
.plan_list_box{ width: 100%; margin: 7.5% auto 0;}
.plan_list_box h4{ justify-content: space-between; text-align: left; padding: 1em; font-size: 0.7rem; letter-spacing: 0; pointer-events: all;}
.plan_list_box h4 i{ display: inline; font-size: 0.7rem; color: #DD224D;}
.plan_list_box h3{ font-size: 1.8rem; margin: 0.5em auto 0.25em;}
.plan_list_box#plan_list04 h3{ margin-top: 0;}
}

.plan_list_box .main{ margin: 30px 60px;}
.plan_list_box .main dl{ display: flex; align-items: center; justify-content: space-between;}
.plan_list_box .main dl dt{ width: 410px;}
.plan_list_box .main dl dd{ width: 440px;}
@media screen and (max-width:768px){
.plan_list_box .main{ margin: 3.75%;}
.plan_list_box .main dl{ flex-direction: row-reverse;}
.plan_list_box .main dl dt{ width: auto;}
.plan_list_box#plan_list04 .main dl dd{ width: 36.66%;}
.plan_list_box#plan_list04 .main dl dt{ width: 60%;}
.plan_list_box .main dl dd{ width: 42.5%;}
}

.plan_list_box .main .plan_list_tit{ text-align: center; margin-bottom: 15px;}
.plan_list_box .main .plan_list_tit h3{ font-size: 1.7rem;}
.plan_list_box .main .plan_list_tit ul{ display: flex; align-items: center; justify-content: center;}
.plan_list_box .main .plan_list_tit ul li{ display: flex; align-items: center; justify-content: center; margin: 0 6px; font-size: 0.75rem; font-weight: 600; line-height: 1em; color: #DD224D; padding: 0.25em 0.5em; border: 1px solid #DD224D; border-radius: 4px;}
@media screen and (max-width:768px){
.plan_list_box .main .plan_list_tit{ margin-bottom: 2.5%;}
.plan_list_box .main .plan_list_tit h3{ font-size: 1.4rem; margin-bottom: 0;}
.plan_list_box .main .plan_list_tit ul li{ margin: 0 1.25vw; font-size: 0.6rem;}
}

.plan_list_box .main .plan_list_price{ display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px;}
.plan_list_box#plan_list04 .main .plan_list_price{ justify-content: center; text-align: center;}
.plan_list_box .main .plan_list_price01 p{ font-size: 0.65rem; font-weight: 600; margin-top: 2.5em; text-decoration: line-through;}
.plan_list_box .main .plan_list_price01 p strong{ font-size: 0.75rem;}
.plan_list_box .main .plan_list_price01 p small{ font-size: 0.45rem;}
.plan_list_box .main .sale{ display: inline-block; background: #EB323D; color: #fff; font-size: 0.75rem; font-weight: bold; padding: 0.25em 1.5em; border-radius: 2em;}
.plan_list_box .main .plan_list_price02 p{ color: #EB323D; font-size: 1.15rem; line-height: 1em; font-weight: 600; margin-bottom: 0;}
.plan_list_box .main .plan_list_price02 p strong{ font-size: 2.6rem; line-height: 1em; font-weight: bold;}
.plan_list_box .main .plan_list_price02 p span{ display: inline-block; position: relative;}
.plan_list_box .main .plan_list_price02 p span:before{ content: "税抜"; position: absolute; left: 0; right: 0; top: -2em; margin: auto; text-align: center; font-size: 0.5rem;}
.plan_list_box#plan_list04 .main .plan_list_price02 p span:before{ display: none;}
.plan_list_box .main .plan_list_price02 p.tax{ text-align: right; font-size: 0.7rem; font-weight: 300; color: #000; margin-top: 0.25em;}
.plan_list_box .main .plan_list_price02 p.tax strong{ font-size: 0.95rem; font-weight: 300;}
@media screen and (max-width:768px){
.plan_list_box .main .plan_list_price{ display: block; margin: 0; text-align: center;}
.plan_list_box#plan_list04 .main .plan_list_price{ display: flex; align-items: center; justify-content: space-between; padding-right: 12.5%;}
.plan_list_box .main .plan_list_price01 p{ font-size: 0.7rem; margin-top: 0;}
.plan_list_box .main .plan_list_price01 p strong{ font-size: 0.8rem;}
.plan_list_box .main .plan_list_price01 p small{ font-size: 0.5rem;}
.plan_list_box .main .sale{ font-size: 0.55rem;}
.plan_list_box .main .plan_list_price02 p{ font-size: 0.8rem;}
.plan_list_box .main .plan_list_price02 p strong{ font-size: 1.8rem; line-height: 1em; font-weight: bold;}
.plan_list_box .main .plan_list_price02 p span:before{ font-size: 0.35rem;}
.plan_list_box .main .plan_list_price02 p.tax{ font-size: 0.6rem;}
.plan_list_box .main .plan_list_price02 p.tax strong{ font-size: 0.8rem;}
}

.plan_list_box .flow{ margin: 0; position: relative; z-index: 1;}
.plan_list_box .flow:before{ content: ""; width: calc(50% + 12px); height: 1px; background: #000; position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); z-index: 3; margin: auto;}
.plan_list_box .flow:after{ content: ""; width: 0; height: 0; border-style: solid; border-color: transparent transparent transparent #000; border-width: 6px 0px 6px 10px; position: absolute; right: calc(25% - 5px); top: 50%; transform: translateY(-50%); z-index: 3; margin: auto;}
.plan_list_box .flow ul{ display: flex; width: calc(100% + 6px); margin: 0 0 0 -3px;}
.plan_list_box .flow ul li{ display: flex; align-items: center; justify-content: center; width: calc(25% - 5px); margin: 0 3px; background: #fff; border: 2px solid #000; padding: 0.25em 0 0.33em; border-radius: 4px; color: #000; font-size: 0.9rem; letter-spacing: 0.2em; font-weight: 600;}
.plan_list_box .flow ul li.negative{ background: #BCBCBC !important; border-color: #BCBCBC !important; color: #fff !important;}
.plan_list_box#plan_list02 .flow:before{ width: calc(25% + 9px); right: calc(25% + 3px);}
.plan_list_box#plan_list02 .flow:after{ right: calc(50% - 3px);}
.plan_list_box#plan_list03 .flow:before{ display: none;}
.plan_list_box#plan_list03 .flow:after{ display: none;}
@media screen and (max-width:768px){
.plan_list_box .flow{ margin: 3.75% 0;}
.plan_list_box .flow:before{ width: calc(50% + 12px);}
.plan_list_box .flow:after{ border-width: 6px 0px 6px 10px; right: calc(25% - 5px);}
.plan_list_box .flow ul{ width: calc(100% + 6px); margin: 0 0 0 -3px;}
.plan_list_box .flow ul li{ width: calc(25% - 6px); margin: 0 3px; font-size: 0.9rem;}
.plan_list_box#plan_list02 .flow:before{ width: calc(25% + 9px); right: calc(25% + 3px);}
.plan_list_box#plan_list02 .flow:after{ right: calc(50% - 3px);}
.plan_list_box#plan_list04 .flow ul li{ font-size: 0.6rem; letter-spacing: 0.1em;}
}

.plan_list_detail .target{ padding: 20px 0; border-top: 1px solid #E0E0E0;}
.plan_list_detail .target p{ text-align: center; font-size: 0.9rem; line-height: 1.5em;}
.plan_list_detail .target h5{ text-align: center; font-size: 0.9rem; margin-bottom: 20px;}
.plan_list_detail .target ul{ display: flex; justify-content: center;}
.plan_list_detail .target ul li{ margin: 0 15px;}
.plan_list_detail .target ul li figure{ width: 230px;}
.plan_list_detail .target ul li figure img{ border-radius: 6px;}
.plan_list_detail .target ul li p{ font-size: 0.8rem; text-align: center; margin-top: 0.5em;}
@media print, screen and (min-width:769px){
.plan_list_detail{ display: block !important; opacity: 1.0 !important; height: auto !important; margin: 40px 60px !important; padding: 0 !important;}
}
@media screen and (max-width:768px){
.plan_list_detail{ display: none; margin: 3.75%;}
.plan_list_detail .target{ padding: 5% 0;}
.plan_list_detail .target p{ font-size: 0.9rem;}
.plan_list_detail .target h5{ font-size: 0.9rem; margin-bottom: 5%;}
.plan_list_detail .target ul{ display: block;}
.plan_list_detail .target ul li{ margin: 3.75% 0 0; width: 100%; display: flex; align-items: center; justify-content: space-between;}
.plan_list_detail .target ul li figure{ width: 25%; margin: 0;}
.plan_list_detail .target ul li p{ width: 70%; font-size: 0.8rem; text-align: left;}
}

.plan_list_detail .service{ padding: 30px 0 0; border-top: 1px solid #E0E0E0;}
.plan_list_detail .service h5{ display: flex; align-items: center; justify-content: center; margin-bottom: 30px;}
.plan_list_detail .service h5 strong{ display: flex; align-items: center; justify-content: center; background: #DD224D; color: #fff; font-size: 1rem; padding: 0.25em 2.5em; border-radius: 2em;}
.plan_list_detail .service h6{ text-align: center; font-size: 0.9rem; margin: 30px auto 30px;}
.plan_list_detail .service ul{ display: flex; flex-wrap: wrap; width: calc(100% + 10px); margin: -5px 0 -5px -5px;}
.plan_list_detail .service ul.center{ text-align: left; justify-content: center;}
.plan_list_detail .service ul li{ width: calc(20% - 10px); margin: 5px; display: flex; align-items: center; height: 60px; background: #FFE6EC; padding: 10px 0 10px 10px; border-radius: 4px;}
.plan_list_detail .service ul li figure{ width: 50px; padding-right: 5px;}
.plan_list_detail .service ul li p{ width: calc(100% - 50px); font-size: 0.65rem; font-weight: 600; line-height: 1.5em;}
.plan_list_detail .service p.att{ text-align: right; font-size: 0.65rem; margin-top: 1em;}
@media screen and (max-width:768px){
.plan_list_detail .service{ padding: 5% 0 0;}
.plan_list_detail .service h5{ margin-bottom: 3.75%;}
.plan_list_detail .service h5 strong{ font-size: 0.7rem;}
.plan_list_detail .service h6{ font-size: 0.7rem; margin: 7.5% auto 3.75%;}
.plan_list_detail .service ul{ width: calc(100% + 2.5vw); margin: -1vw 0 -1vw -1.25vw;}
.plan_list_detail .service ul.center{ text-align: left; justify-content: flex-start;}
.plan_list_detail .service ul li{ width: calc(50% - 2.5vw); margin: 1vw 1.25vw; height: 12.5vw; padding: 1.25vw;}
.plan_list_detail .service ul li figure{ width: 33.33%; padding-right: 5%;}
.plan_list_detail .service ul li p{ width: 66.66%; font-size: 0.55rem;}
.plan_list_detail .service p.att{ font-size: 0.55rem; margin-top: 1em;}
}

.plan_list p.att{ text-align: right; font-size: 13px; margin-top: 20px;}
@media screen and (max-width:768px){
.plan_list p.att{ text-align: right; font-size: 0.55rem; margin-top: 3.75%;}
}


/*area*/
.area_list{ display: flex; align-items: flex-start; justify-content: center; flex-wrap: wrap; width: calc(100% + 40px); margin: -20px 0 20px -20px;}
.area_list_box{ width: calc(50% - 40px); margin: 20px; border-radius: 4px; box-shadow:rgba(0, 0, 0, 0.16) 0 0 6px; overflow: hidden;}
.area_list_box h4 a{ display: flex; padding: 0.75em 1em; font-size: 0.9rem; background: #FFEEF4; position: relative;}
.area_list_box h4 a i{ font-size: 0.9rem; color: #DD224D; position: absolute; right: 1em; top: 50%; transform: translateY(-50%);}
@media screen and (max-width:768px){
.area_list{ display: block; width: 100%; margin: 0 0 10%;}
.area_list_box{ width: 100%; margin: 10% auto 0;}
.area_list_box h4 a{ padding: 0.75em 1em; font-size: 1rem;}
.area_list_box h4 a i{ font-size: 1rem;}
}

.area_list_box .main{ margin: 20px;}
.area_list_box .main dl{ display: flex; justify-content: space-between;}
.area_list_box .main dl dt{ width: 184px;}
.area_list_box .main dl dd{ width: calc(100% - 194px);}
.area_list_box .main dl dd ul li{ margin-bottom: 5px; font-size: 0.75rem; line-height: 1.5em; padding-left: 24px; position: relative;}
.area_list_box .main dl dd ul li span{ position: absolute; left: 0; top: 0; width: 20px;}
@media screen and (max-width:768px){
.area_list_box .main{ margin: 3.75%;}
.area_list_box .main dl dt{ width: 33.33%;}
.area_list_box .main dl dd{ width: 63.33%;}
.area_list_box .main dl dd ul li{ margin-bottom: 1.25%; font-size: 0.6rem; padding-left: 5vw;}
.area_list_box .main dl dd ul li span{ width: 3.75vw;}
}

.area_list_box .area_list_cv{ display: flex; align-items: center; margin: 20px 10px;}
.area_list_box .area_list_cv figure{ width: calc(50% - 10px); margin: 0 5px;}
.area_list_box .area_list_cv figure a{ display: flex; align-items: center; justify-content: center; width: 100%; height: 50px; background: #fff; border: 1px solid #DD224D; padding-bottom: 0; border-bottom: 4px solid #963556; color: #DD224D; font-size: 1.1rem; letter-spacing: 0; font-weight: 600; border-radius: 6px;}
.area_list_box .area_list_cv figure.tel.pc a{ background: #FFE8ED; color: #DD224D; border: none;}
.area_list_box .area_list_cv figure.tel a{ background: #DD224D; color: #fff; text-shadow: 1px 1px 0 rgba(0,0,0,0.16);}
.area_list_box .area_list_cv figure.tel a span{ width: 20px; margin-right: 10px; line-height: 0;}
@media screen and (max-width:768px){
.area_list_box .area_list_cv{ margin: 3.75% 1.875vw;}
.area_list_box .area_list_cv figure{ width: calc(50% - 3.75vw); margin: 0 1.875vw;}
.area_list_box .area_list_cv figure a{ height: 11.25vw; font-size: 0.8rem;}
.area_list_box .area_list_cv figure.tel a span{ width: 3.75vw; margin-right: 5%;}
}



/*service*/
.service_list{ display: flex; flex-wrap: wrap; width: calc(100% + 40px); margin: -10px 0 -10px -20px;}
.service_list .service_box{ width: calc(50% - 40px); margin: 10px 20px; background: #fff; padding: 16px; border: 2px solid #E6E6E6; border-right-width: 4px; border-bottom-width: 4px; border-radius: 6px;}
.service_list .service_box h3{ padding: 0 0 10px 36px; margin-bottom: 18px; position: relative; border-bottom: 1px solid #DEDEDE;}
.service_list .service_box h3 span.num{ display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; font-size: 0.8rem; font-weight: 600; background: #DD224D; color: #fff; border-radius: 4px; position: absolute; left: 0; top: 0;}
.service_list .service_box h3 strong{ font-size: 1rem; color: #DD224D; padding-top: 0.125em; font-family: "Noto Sans",'Noto Sans JP';}
.service_list .service_box dl{ display: flex; justify-content: space-between;}
.service_list .service_box dl dt{ width: 270px;}
.service_list .service_box dl dd{ width: 150px;}
.service_list .service_box dl dt p{ text-align: justify; font-size: 0.9rem; margin: 0;}
.service_list .service_box dl dt figure.service_btn{ display:  flex; align-items: center; justify-content: center; margin-top: 20px;}
.service_list .service_box dl dt figure.service_btn a{ display: flex; align-items: center; justify-content: center; width: 100%; height: 40px; background: #3373E9; border-bottom: 2px solid #1D438B; color: #fff; padding-top: 0.125em; font-size: 0.7rem; letter-spacing: 0.1em; font-weight: 600; border-radius: 6px; position: relative;}
.service_list .service_box dl dt figure.service_btn a i{ font-size: 0.6rem; position: absolute; right: 20px; top: 50%; transform: translateY(-50%);}
@media screen and (max-width:768px){
#home_service{ margin-top: 10%;}
#home_service h2{ text-align: center; margin-bottom: 7.5%;}
#home_service h2 img{ height: 15vw;}

.service_list{ display: block; width: 100%; margin: 0 auto;}
.service_list .service_box{ width: 100%; margin: 5% auto 0; padding: 3.75%;}
.service_list .service_box h3{ padding: 0 0 1.875% 7.5vw; margin-bottom: 3.75%;}
.service_list .service_box h3 span.num{ width: 6.25vw; height: 6.25vw; font-size: 0.9rem;}
.service_list .service_box h3 strong{ font-size: 1rem; font-family: "hiragino-kaku-gothic-pron","ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;}
.service_list .service_box dl{ display: block;}
.service_list .service_box dl dt{ width: 100%;}
.service_list .service_box dl dd{ width: 100%; text-align: center; margin-top: 5%;}
.service_list .service_box dl dd.card img{ width: 75%;}
.service_list .service_box dl dt p{ text-align: justify; font-size: 0.9rem; margin: 0;}
.service_list .service_box dl dt figure.service_btn{margin-top: 7.5%;}
.service_list .service_box dl dt figure.service_btn a{ width: 60%; height: 10vw; font-size: 0.7rem;}
.service_list .service_box dl dt figure.service_btn a i{ font-size: 0.7rem; right: 1em;}
}




/*review*/
.review_list{ display: flex; flex-wrap: wrap; width: calc(100% + 40px); margin: -15px 0 -15px -20px;}
.review_list .review_box{ width: calc(50% - 40px); margin: 15px 20px;}
.review_list .review_box{ padding: 20px; background: #fff; border: 2px solid #E6E6E6; border-right-width: 4px; border-bottom-width: 4px; border-radius: 6px;}
.review_list .review_box dl{ display: flex; align-items: center; justify-content: space-between;}
.review_list .review_box dl dt{ width: 200px; cursor: pointer; transition: 0.3s;}
.review_list .review_box dl dt img{ height: 160px; width: auto;}
.review_list .review_box dl dt:hover{ opacity: 0.7;}
.review_list .review_box dl dd{ width: 200px;}
.review_list .review_box dl dd h4{ text-align: center; font-size: 1.1rem; margin-bottom: 1em; padding-bottom: 0.33em; border-bottom: 1px solid #DD224D;}
.review_list .review_box dl dd p.date{ font-size: 0.9rem; line-height: 1em; font-weight: 600; margin-bottom: 0.5em;}
.review_list .review_box dl dd p.name{ font-size: 0.9rem; line-height: 1em; font-weight: 600; margin-bottom: 0.5em;}
.review_list .review_box dl dd .star{ margin-top: 0.5em; display: flex; align-items: center;}
.review_list .review_box dl dd .star span{ color: #F0B248; font-size: 1.2rem; font-weight: 600;}
.review_list .review_box dl dd .star strong{ font-size: 0.9rem; margin-left: 1em;}
.review_list .review_box .review_table{ margin: 20px 0; padding: 10px 0; border-top: 1px solid #E4E4E4; border-bottom: 1px solid #E4E4E4;}
.review_list .review_box .review_table table{ width: 100%; border-collapse: separate; border-spacing: 0;}
.review_list .review_box .review_table table th{ font-size: 0.9rem; font-weight: 600; width: 6em; padding: 0.125em 1em;}
.review_list .review_box .review_table table td{ font-size: 0.9rem; font-weight: 500; padding: 0.125em 1em;}
.review_list .review_box p.comment{ font-size: 0.9rem; line-height: 1.75em; text-align: justify;}
@media screen and (max-width:768px){
.review_list{ display: block; width: 92.5%; margin: 0 auto;}
.review_list .review_box{ width: 100%; margin: 5% auto 0;}
.review_list .review_box{ padding: 3.75%;}
.review_list .review_box dl dt{ width: 47.5%;}
.review_list .review_box dl dt img{ height: auto; width: 100%;}
.review_list .review_box dl dd{ width: 50%;}
.review_list .review_box dl dd h4{ font-size: 0.9rem; padding-bottom: 0.25em; margin-bottom: 0.5em;}
.review_list .review_box dl dd p.date{ font-size: 0.7rem;}
.review_list .review_box dl dd p.name{ font-size: 0.7rem;}
.review_list .review_box dl dd .star{ margin-top: 0.5em;}
.review_list .review_box dl dd .star span{ font-size: 0.8rem;}
.review_list .review_box dl dd .star strong{ font-size: 0.6rem;}
.review_list .review_box .review_table{ margin: 3.75% 1.875%; padding: 1.875% 0;}
.review_list .review_box .review_table table th{ font-size: 0.7rem; width: 6em; padding: 0.25em 1em;}
.review_list .review_box .review_table table td{ font-size: 0.7rem; padding: 0.25em 1em;}
.review_list .review_box p.comment{ font-size: 0.9rem;}
}



/*price*/
.price_table{ margin: 30px auto 0;}
.price_table table{ width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0;}
.price_table table thead td{ width: 130px;}
.price_table table thead th{ font-size: 1rem; text-align: center; padding: 0.5em; border-radius: 12px 12px 0 0;}
.price_table table thead th:nth-child(2){ background: #EAD6FA; width: 270px;}
.price_table table thead th:nth-child(3){ background: #FFE7E5; width: 270px;}
.price_table table thead th:nth-child(4){ background: #F3C9D9;}
.price_table table tbody th{ vertical-align: middle; text-align: center; font-size: 1rem; font-weight: normal; line-height: 1.5em; padding: 1em 0; border: 1px solid #DDD; border-bottom: none; border-right: none;}
.price_table table tbody tr:first-child th{ border-radius: 12px 0 0 0;}
.price_table table tbody tr:last-child th{ border-radius: 0 0 0 12px;}
.price_table table tbody tr:last-child th,
.price_table table tbody tr:last-child td{ border-bottom: 1px solid #ddd;}
.price_table table tbody td{ vertical-align: middle; padding: 25px; text-align: center; border-top: 1px solid #DDD;}
.price_table table tbody td dl{ display: flex; align-items: center;}
.price_table table tbody td dl dt{ width: 35px; margin-right: 10px;}
.price_table table tbody td dl dd{ width: calc(100% - 45px); font-size: 0.75rem; line-height: 1.5em; text-align: left;}
.price_table table tbody td:nth-child(2){ background: #FDFAFF;}
.price_table table tbody td:nth-child(3){ background: #FFFCFC;}
.price_table table tbody td:nth-child(4){ background: #FFF4F8; border-right: 1px solid #DDD;}
@media screen and (max-width:768px){
#home_compare{ margin-top: 10%;}
#home_compare h2{ text-align: center; margin-bottom: 7.5%;}
#home_compare h2 img{ height: 15vw;}

.price_table{ margin: 3.75% auto 0;}
.price_table table thead td{ width: 12.5%;}
.price_table table thead th{ font-size: 0.6rem; padding: 1em 0 0.75em; vertical-align: middle;}
.price_table table thead th:nth-child(2){ width: 27.5%;}
.price_table table thead th:nth-child(3){ width: 27.5%;}
.price_table table tbody th{ font-size: 0.5rem; padding: 1em 0;}
.price_table table tbody td{ padding: 1em 0.25em 0.75em; text-align: center;}
.price_table table tbody td dl{ display: block;}
.price_table table tbody td dl dt{ width: 100%; margin: 0 auto;}
.price_table table tbody td dl dt img{ height: 7.5vw;}
.price_table table tbody td dl dd{ width: 100%; font-size: 0.55rem; letter-spacing: -0.05em; margin-top: 0.75em; text-align: center;}
}



/*qa*/
.qa_list dl{ margin: 20px auto 0; padding: 20px 30px; border: 1px solid #DDD; border-radius: 6px;}
.qa_list dl dt{ position: relative; font-size: 1rem; font-weight: 600; cursor: pointer;}
.qa_list dl dt p{ line-height: 1.5em; padding: 0 30px; margin: 0;}
.qa_list dl dt strong{ font-size: 1.3rem; font-weight: normal; color: #DD224D; position: absolute; left: 0; top: calc(50% - 0.125em); transform: translateY(-50%);}
.qa_list dl dt i{ font-size: 1rem; line-height: 0; color: #DD224D; position: absolute; right: 0; top: 50%; transform: translateY(-50%); transition: 0.3s;}
.qa_list dl dt.active i{ transform: translateY(50%) rotateX(180deg);}
.qa_list dl dd{ display: none; position: relative; font-size: 0.9rem; margin-top: 20px; padding: 20px 0 0; border-top: 1px solid #DDD;}
.qa_list dl dd p{ line-height: 1.5em; padding: 0 0 0 30px; margin: 0; text-align: justify;}
.qa_list dl dd strong{ font-size: 1.3rem; font-weight: normal; color: #DD224D; position: absolute; left: 0; top: calc(20px - 0.25em);}
@media screen and (max-width:768px){
.qa_list dl{ margin: 2.5% auto 0; padding: 5%;}
.qa_list dl dt{ font-size: 0.8rem;}
.qa_list dl dt p{ padding: 0 7.5vw;}
.qa_list dl dt strong{ font-size: 1.15rem;}
.qa_list dl dt i{ font-size: 1rem;}
.qa_list dl dd{ font-size: 0.8rem; margin-top: 5%; padding: 5% 0 0;}
.qa_list dl dd p{ padding: 0 2.5vw 0 7.5vw;}
.qa_list dl dd strong{ font-size: 1.15rem; top: 2.5vw;}
}



/*news*/
.news_list h3{ font-size: 1.1rem; margin-bottom: 20px;}
.news_list ul{ display: flex; flex-wrap: wrap; width: calc(100% + 40px); margin: -20px 0 -20px -20px;}
.news_list ul li{ width: calc(50% - 40px); margin: 20px;}
.news_list ul li a{ display: block; width: 100%; height: 100%; padding: 18px 12px; background: #fff; border: 2px solid #E6E6E6; border-right-width: 4px; border-bottom-width: 4px; border-radius: 6px;}
.news_list ul li dl{ display: flex; justify-content: space-between;}
.news_list ul li dl dt{ width: 120px;}
.news_list ul li dl dd{ width: 310px;}
.news_list ul li dl dd h4{ font-size: 1.1rem; margin-bottom: 0.5em; padding-bottom: 0.33em; border-bottom: 1px solid #DD224D;}
.news_list ul li dl dd p{ font-size: 0.8rem; line-height: 1.5em; text-align: justify;}
@media screen and (max-width:768px){
.news_list{ width: 92.5%; margin: auto;}
.news_list h3{ font-size: 0.9rem; margin-bottom: 2.5%;}
.news_list ul{ display: block; width: 100%; margin: 0 auto;}
.news_list ul li{ width: 100%; margin: 2.5% auto 0;}
.news_list ul li a{ padding: 5% 3.75%;}
.news_list ul li dl dt{ width: 22.5%;}
.news_list ul li dl dd{ width: 72.5%;}
.news_list ul li dl dd h4{ font-size: 0.7rem; margin-bottom: 0.5em; padding-bottom: 0.25em;}
.news_list ul li dl dd p{ font-size: 0.8rem;}
}





/*pages*/
/*area*/
.pages.area section{ padding: 0 0 40px;}
@media screen and (max-width:768px){
.pages.area section{ padding: 0 0 7.5%;}
}

/*fv*/
#area_fv h1{ text-align: center; margin-top: 40px;}
#area_fv h1 img{ height: 135px;}
#area_fv figure.back_to_home{ margin-top: 40px; text-align: left;}
#area_fv figure.back_to_home a{ display: flex; align-items: center; font-size: 1rem;}
#area_fv figure.back_to_home a i{ font-size: 0.8rem; margin-right: 1em; color: #DD224D;}
#area_fv figure.back_to_home a:hover span{ text-decoration: underline;}
@media screen and (max-width:768px){
#area_fv h1{ text-align: center; margin-top: 10%;}
#area_fv h1 img{ height: 25vw;}
#area_fv figure.back_to_home{ display: none;}
}

#area_fv .area_info dl{ margin: 40px auto 0; display: flex; justify-content: space-between;}
#area_fv .area_info dl dt{ width: 600px;}
#area_fv .area_info dl dd{ width: 360px;}
#area_fv .area_info dl dd ul{ display: flex; flex-wrap: wrap; width: calc(100% + 12px); margin: -6px 0 -6px -6px;}
#area_fv .area_info dl dd ul li{ display: flex; align-items: center; justify-content: center; width: calc(50% - 12px); margin: 6px;}
#area_fv dl dd p{ font-size: 0.9rem; font-weight: 300; line-height: 1.5em; text-align: justify; margin-top: 20px;}
@media screen and (max-width:768px){
#area_fv .area_info dl{ margin: 10% auto 0; display: block;}
#area_fv .area_info dl dt{ width: calc(100% + 7.5vw); margin-left: -3.75vw;}
#area_fv .area_info dl dd{ width: 92.5%; margin: 3.75% auto 0;}
#area_fv .area_info dl dd ul{ width: calc(100% + 2.5vw); margin: -1.25vw 0 -1.25vw -1.25vw;}
#area_fv .area_info dl dd ul li{ width: calc(33.33% - 2.5vw); margin: 1.25vw;}
#area_fv .area_info dl dd p{ font-size: 0.75rem; margin-top: 5%;}
}

#area_fv h2{ text-align: center; font-size: 1.4rem; margin: 80px auto 40px;}
@media screen and (max-width:768px){
#area_fv h2{ font-size: 1rem; margin: 10% auto 7.5%;}
}

#area_fv .area_contact{ display: flex; align-items: center; justify-content: center; width: 800px; margin: 40px auto;}
#area_fv .area_contact .area_cv_list{ width: 50%;}
#area_fv .area_contact .area_cv_list ul li{ font-size: 1.1rem; padding-left: 30px; margin-bottom: 0.5em; position: relative;}
#area_fv .area_contact .area_cv_list ul li:before{ content: ""; width: 20px; height: 20px; background: #000; border-radius: 50%; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
#area_fv .area_contact .area_cv_btn{ width: 50%;}
#area_fv .area_contact .area_cv_btn1{ margin-bottom: 10px;}
#area_fv .area_contact .area_cv_btn1 ul li a{ display: block; width: 430px; margin: 0 0 0 -10px;}
#area_fv .area_contact h4{ text-align: center; font-size: 1.4rem; letter-spacing: 0; color: #DD224D;}
#area_fv .area_contact .area_cv_btn2 dl{ display: flex;}
#area_fv .area_contact .area_cv_btn2 dl dt{ width: 84px;}
#area_fv .area_contact .area_cv_btn2 dl dd{ width: calc(100% - 84px); text-align: center;}
#area_fv .area_contact .area_cv_btn2 dl dd strong{ font-size: 0.9rem;}
@media screen and (max-width:768px){
#area_fv .area_contact{ display: block; width: 100%; margin: 7.5% auto;}
#area_fv .area_contact .area_cv_list{ width: 92.5%; margin: auto;}
#area_fv .area_contact .area_cv_list ul li{ font-size: 0.7rem; padding-left: 5vw;}
#area_fv .area_contact .area_cv_list ul li:before{ width: 3.75vw; height: 3.75vw;}
#area_fv .area_contact .area_cv_btn{ width: 100%; display: flex; flex-direction: column-reverse;}
#area_fv .area_contact .area_cv_btn1{ margin: 7.5% auto 0;}
#area_fv .area_contact .area_cv_btn1 ul li a{ width: 100%; margin: 0;}
#area_fv .area_contact h4{ font-size: 1rem; margin: 5% auto;}
#area_fv .area_contact .area_cv_btn2 dl{ display: flex; align-items: center; justify-content: center; margin: auto;}
#area_fv .area_contact .area_cv_btn2 dl dt{ width: 25vw;}
#area_fv .area_contact .area_cv_btn2 dl dd{ width: auto; margin-left: 5%; text-align: left;}
#area_fv .area_contact .area_cv_btn2 dl dd strong{ font-size: 0.9rem;}
}

/*animation*/
#area_fv .area_contact .area_cv_btn1 ul li a{ position: relative;}
#area_fv .area_contact .area_cv_btn1 ul li a:before{ content: ""; width: 100%; height: 100%; background: url("../images/cv/cv_btn_tel2.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0; z-index: 3; opacity: 0;}
#area_fv .area_contact .area_cv_btn1 ul li a:after{ content: ""; width: 100%; height: 100%; background: url("../images/cv/cv_btn_tel3.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0; z-index: 5; opacity: 0;}
@media screen and (max-width:768px){
#area_fv .area_contact .area_cv_btn1 ul li a:before{ background-image: url("../images/cv/cv_btn_tel2_smp.png");}
#area_fv .area_contact .area_cv_btn1 ul li a:after{ background-image: url("../images/cv/cv_btn_tel3_smp.png");}
}
#area_fv .area_contact .area_cv_btn1 ul li a:before{ animation: area_cv_ico_tel ease-in-out 1.4s infinite; animation-delay: 0s;}
#area_fv .area_contact .area_cv_btn1 ul li a:after{ animation: area_cv_ico_tel ease-in-out 1.4s infinite; animation-delay: 0.08s;}
@keyframes area_cv_ico_tel{
8%, 64% { opacity: 1;}
78% { opacity: 0;}
}

#area_fv table{ width: 100%; border-collapse: separate; border-spacing: 0; font-size: 1rem; line-height: 1.5em;}
#area_fv table th{ width: 200px; vertical-align: middle; background: #FFF4F8; padding: 0.75em; text-align: center; border: 1px solid #DDD; border-right: none; border-bottom: none;}
#area_fv table td{ background: #FFF; padding: 0.75em 1.5em; text-align: justify; border: 1px solid #DDD; border-left: none; border-bottom: none;}
#area_fv table tr:last-child th,
#area_fv table tr:last-child td{ border-bottom: 1px solid #DDD;}
#area_fv table td p{ margin: 0; line-height: 1.5em;}
#area_fv table td ul li{ padding-left: 1em; line-height: 1.5em; position: relative;}
#area_fv table td ul li:before{ content: "・"; position: absolute; left: 0; top: 0;}
@media screen and (max-width:768px){
#area_fv table{ font-size: 0.7rem;}
#area_fv table th{ width: 25%; padding: 0.75em; font-size: 0.7rem;}
#area_fv table td{ padding: 0.75em 1em; font-size: 0.8rem;}
}

/*facility*/
#area_facility ul{ display: flex; flex-wrap: wrap; width: calc(100% + 20px); margin: -10px 0 -10px -10px;}
#area_facility ul li{ width: calc(33.33% - 20px); margin: 10px; border-radius: 12px; overflow: hidden;}
#area_facility ul li figure img{ width: 100%;}
#area_facility ul li h4{ text-align: center; font-size: 1.3rem; font-weight: 400; padding: 0.5em;}
@media screen and (max-width:768px){
#area_facility ul{ width: calc(100% + 3.75vw); margin: -1.875vw 0 -1.875vw -1.875vw;}
#area_facility ul li{ width: calc(50% - 3.75vw); margin: 1.875vw;}
#area_facility ul li h4{ text-align: center; font-size: 0.8rem; font-weight: 400; padding: 0.75em;}
}

/*map*/
#area_map .gmap iframe{ width: 100%; height: 420px; vertical-align: bottom;}
@media screen and (max-width:768px){
#area_map .gmap iframe{ height: 50vw;}
}

/*feature*/
#area_feature p{ font-size: 1rem; text-align: justify;}
@media screen and (max-width:768px){
#area_feature p{ margin: 0 3.75%; font-size: 0.9rem;}
}



/*form*/
#form_sec ::placeholder{ color: #ccc; line-height: 1.5em;}
#form_sec ::-ms-input-placeholder{ color: #ccc; line-height: 1.5em;}
#form_sec input[type=submit], #form_sec button{ -webkit-appearance: none;}
#form_sec input, .form_table textarea, #form_sec select, #form_sec button{ width:100%; padding: 0.5em 1em; font-size: 0.9rem; line-height: 1.5em; box-sizing: border-box; outline: none; border: 1px solid #ADADAD; background: #fff; color: #333; font-family: "ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif; border-radius: 4px;}
#form_sec textarea{ text-align: left; height: 9em;}
#form_sec input[type=radio],
#form_sec input[type=checkbox]{ width: auto; padding: 0; cursor: pointer; inline-size: 1rem; block-size: 1rem;}
#form_sec label{ display: flex; align-items: center; font-weight: 600; cursor: pointer;}
@media screen and (max-width:768px){
#form_sec input, #form_sec textarea, #form_sec select, #form_sec button{ padding: 0.5em;}
#form_sec textarea{ height: 15em;}
#form_sec input[type=radio],
#form_sec input[type=checkbox]{ inline-size: 1.5rem; block-size: 1.5rem;}
}

#form_sec{ padding: 0;}
#form_sec form{ background: #F5F5F5; padding: 50px 0; position: relative;}
#form_sec form:before{ content: ""; width: 51px; height: 100%; background: #F5F5F5; position: absolute; left: -50px; top: 0;}
#form_sec form:after{ content: ""; width: 51px; height: 100%; background: #F5F5F5; position: absolute; right: -50px; top: 0;}
#form_sec .form_table{ margin: 0;}
#form_sec .form_table table{ width: 100%; border-collapse: separate; border-spacing: 0; font-size: 1rem;}
#form_sec .form_table table th{ border-bottom: 1px solid #E2E2E2; padding: 1em; width: 380px;}
#form_sec .form_table table th h4{ font-size: 1rem; letter-spacing: 0; display: flex; align-items: center; padding: 0.25em 0;}
#form_sec .form_table table th span.req{ margin-left: 20px; display: inline-block; background: #DD224D; color: #fff; font-size: 0.7rem; padding: 0.125em 0.75em 0; float: right; border-radius: 4px;}
#form_sec .form_table table th p{ font-size: 0.9rem; font-weight: 500; line-height: 1.5em;}
#form_sec .form_table table td{ vertical-align: middle; border-bottom: 1px solid #E2E2E2; padding: 1em; font-size: 0.9rem;}
#form_sec .form_table table td p{ font-size: 0.9rem; line-height: 1.5em;}
#form_sec .form_table table td .select ul{ display: flex; flex-direction: column;}
#form_sec .form_table table td .select ul li{ margin-top: 0.5em; font-size: 0.9rem; font-weight: 600;}
#form_sec .form_table table td .select ul li:first-child{ margin-top: 0;}
#form_sec .form_table table td .select ul li input{ margin-right: 0.5em;}
#form_sec .form_table table td .check{ font-size: 0.9rem;}
#form_sec .form_table table td .check input{ margin-right: 0.5em;}
#form_sec .form_table table td .check p{ font-size: 0.9rem; line-height: 1.5em; margin-top: 0.75em;}
#form_sec .form_table table td .check p a{ color: #2C81D6; text-decoration: underline;}
#form_sec .form_table table td .check p a:hover{ text-decoration: none;}
#form_sec .submit_btn{ margin-top: 50px; text-align: center;}
#form_sec .submit_btn button{ display: flex; align-items: center; justify-content: center; margin: auto; width: 380px; height: 60px; background: #DD224D; border: none; border-bottom: 4px solid #963556; color: #fff; padding: 0.125em 0 0; font-size: 1.2rem; line-height: 1em; letter-spacing: 0.1em; font-weight: 600; border-radius: 6px; text-shadow: 1px 1px 0 rgba(0,0,0,0.16); cursor: pointer;}
#form_sec .submit_btn p.back{ font-size: 0.8rem; margin-top: 1em;}
#form_sec .submit_btn p.back a{ text-decoration: underline;}
#form_sec .submit_btn p.back a:hover{ text-decoration: none;}
@media screen and (max-width:768px){
#form_sec{ padding: 0 0 7.5%;}
#form_sec form{ background: none; padding: 0;}
#form_sec form:before,
#form_sec form:after{ display: none;}
#form_sec .form_table table{ font-size: 0.9rem;}
#form_sec .form_table table th{ display: block; width: 100%; border-bottom: none; padding-bottom: 0.5em;}
#form_sec .form_table table th h4{ font-size: 1rem;}
#form_sec .form_table table th span.req{ float: none; font-size: 0.6rem; margin-left: 1em; position: relative; top: -0.125em;}
#form_sec .form_table table th p{ font-size: 0.8rem;}
#form_sec .form_table table td{ display: block; width: 100%; padding-top: 0; font-size: 0.8rem;}
#form_sec .form_table table td p{ font-size: 0.8rem;}
#form_sec .form_table table td .select ul{ display: block;}
#form_sec .form_table table td .select ul li{ font-size: 0.8rem;}
#form_sec .form_table table td .select ul li input{ margin-right: 0.5em;}
#form_sec .form_table table td .check{ font-size: 0.8rem;}
#form_sec .form_table table td .check p{ font-size: 0.8rem; line-height: 1.5em; margin-top: 1em;}
#form_sec .submit_btn{ margin-top: 7.5%;}
#form_sec .submit_btn button{ width: 92.5%; height: 12.5vw; font-size: 1.2rem;}
#form_sec .submit_btn p.back{ font-size: 0.8rem;}
}

/*thanks*/
#form_sec.thanks .txt{ text-align: center; font-size: 0.9rem;}
@media screen and (max-width:768px){
#form_sec.thanks .txt{ text-align: justify; font-size: 0.8rem;}
}



/*member*/
.member figure.mv{ margin-top: -30px; background: url("../images/member/main_bg.jpg") center center no-repeat; background-size: cover; height: 650px; display: flex; align-items: flex-end; justify-content: center;}
.member figure.mv img{ width: 1040px;}
@media screen and (max-width:768px){
.member figure.mv{ width: 100%; margin: -5vw 0 0; background: none; height: auto;}
}

@media screen and (max-width:768px){
.member h2.tit_h2{ font-size: 1rem;}
}

#member_benefit{ background: #FFEEF4; margin: 40px 0; padding: 50px 0;}
#member_benefit .member_benefit_box{ margin-bottom: 50px;}
@media screen and (max-width:768px){
#member_benefit{ margin: 7.5% 0; padding: 7.5% 0;}
#member_benefit .member_benefit_box{ margin-bottom: 7.5%;}
}

#member_flow .member_flow_box{ border: 2px solid #E6E6E6; border-right-width: 4px; border-bottom-width: 4px; border-radius: 8px; padding: 30px 90px; font-family: "Noto Sans",'Noto Sans JP';}
#member_flow .member_flow_box h3{ text-align: center; font-size: 1.1rem; padding-bottom: 0.25em; margin-bottom: 20px; position: relative;}
#member_flow .member_flow_box h3:after{ content: ""; width: 320px; height: 1px; background: #DEDEDE; position: absolute; left: 0; right: 0; bottom: 0; margin: auto;}
#member_flow .member_flow_box dl{ display: flex; align-items: center;}
#member_flow .member_flow_box dl dt{ width: 120px; margin-right: 60px;}
#member_flow .member_flow_box dl dd{ width: calc(100% - 180px);}
#member_flow .member_flow_box dl dd p{ font-size: 1rem;}
#member_flow .member_flow_box dl dd p a{ color: #2C81D6; text-decoration: underline;}
#member_flow .member_flow_box dl dd p a:hover{ text-decoration: none;}
#member_flow figure.arrow{ margin: 20px auto;}
#member_flow figure.arrow img{ height: 26px;}
@media screen and (max-width:768px){
#member_flow .member_flow_box{ padding: 3.75%;}
#member_flow .member_flow_box h3{ font-size: 1rem; margin-bottom: 3.75%;}
#member_flow .member_flow_box h3:after{ width: 100%;}
#member_flow .member_flow_box dl{ display: block;}
#member_flow .member_flow_box dl dt{ width: 100%; margin-bottom: 2.5%; text-align: center;}
#member_flow .member_flow_box dl dt img{ width: 25%;}
#member_flow .member_flow_box dl dt figure.member{ margin: -3.75% 0;}
#member_flow .member_flow_box dl dt figure.member img{ width: 33.33%;}
#member_flow .member_flow_box dl dd{ width: 100%;}
#member_flow .member_flow_box dl dd p{ font-size: 0.8rem;}
#member_flow figure.arrow{ margin: 3.75% auto;}
#member_flow figure.arrow img{ height: 7.5vw;}
}





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