@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Roboto: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: 'Noto Sans JP',"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;
font-size:20px;
letter-spacing: 0.04em;
text-align:left;
color:#000;
min-width:1200px;
}
@media screen and (max-width:767px){
html,body{ font-size:4vw; min-width:240px; max-width:767px;}
}
#wrapper{ overflow: 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; font-size: 0.9rem;}
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;}

.gothic{ font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;}
.roboto{ font-family: 'Roboto', sans-serif;}
.white{ color:#fff;}
.black{ color:#333;}
.gy{ color:#aaa;}
.red{ color:#D80000;}
.green{ color:#4BA06F;}
.l-green{ color: #B1CC56;}

.bg_orange{
background: rgb(242,138,97);
background: -moz-linear-gradient(-45deg,  rgba(242,138,97,1) 0%, rgba(230,167,108,1) 100%);
background: -webkit-linear-gradient(-45deg,  rgba(242,138,97,1) 0%,rgba(230,167,108,1) 100%);
background: linear-gradient(135deg,  rgba(242,138,97,1) 0%,rgba(230,167,108,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f28a61', endColorstr='#e6a76c',GradientType=1 );
}
.bg_green{
background: rgb(75,160,111);
background: -moz-linear-gradient(-45deg,  rgba(75,160,111,1) 0%, rgba(132,204,104,1) 100%);
background: -webkit-linear-gradient(-45deg,  rgba(75,160,111,1) 0%,rgba(132,204,104,1) 100%);
background: linear-gradient(135deg,  rgba(75,160,111,1) 0%,rgba(132,204,104,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4ba06f', endColorstr='#84cc68',GradientType=1 );
}
.bg_l-green{ background: #F2F5EA;}

.left{ text-align:left;}
.right{ text-align:right;}
.center{ text-align:center;}

/*link*/
a{ color:inherit; text-decoration:none;}
a:hover{}
.opa{ transition: all 0.3s ease;}
.opa:hover{ opacity: 0.7;}



/*ヘッダー*/
header{ position: fixed; left: 0; right: 0; top: 0; width: 100%; min-width: 1200px; background: #fff; z-index: 999;}
header dl{ display: flex; align-items: center; justify-content: space-between; width: 100%; height: 100px; margin: auto; padding: 20px;}
header dl dt{ width: 280px;}
header dl dt img{ height: 60px;}
header dl dd{ width: calc(100% - 280px); text-align: right;}
header dl dd figure.logo{ text-align: right; margin-bottom: 20px;}
header dl dd figure.logo img{ height: 20px;}
header dl dd ul{ display: flex; justify-content: flex-end; width: 100%;}
header dl dd ul li{ font-size: 0.8rem; font-weight: bold; margin-left: 3em;}
header dl dd ul li a{ transition: 0.3s;}
header dl dd ul li a:hover{ color:#4BA06F;}
@media print, screen and (min-width:768px){
#smp_nav_btn{ display: none !important;}
header dl dd ul{ display: flex !important; opacity: 1.0 !important; height: auto !important;}
}
@media screen and (max-width:767px){
#smp_nav_btn{ width:7.5vw; height:7.5vw; display:flex; justify-content:center; align-items:center; position:fixed; right:2.5vw; top:1.5vw; z-index:999; transition:0.3s; cursor:pointer;}
#smp_nav_btn span{ display:block; height:2px; width:100%; background:#000; position:absolute; left:0; right:0; top:0; bottom:0; margin:auto; transition:0.3s;}
#smp_nav_btn span:before{ content: ""; display:block; height:2px; width:100%; background:#000; position:absolute; bottom:2.25vw; transition:0.3s;}
#smp_nav_btn span:after{ content: ""; display:block; height:2px; width:100%; background:#000; position:absolute; top:2.25vw; transition:0.3s;}
#smp_nav_btn.active{ border-color:#fff;}
#smp_nav_btn.active span{ background:rgba(0,0,0,0);}
#smp_nav_btn.active span:before{ bottom:0; transform: rotate(45deg);}
#smp_nav_btn.active span:after{ top:0; transform: rotate(-45deg);}
}
@media screen and (max-width:767px){
header{ min-width: 100%;}
header dl{ height: 10vw; padding: 2.5%;}
header dl dt{ width: 60%;}
header dl dt img{ height: 7.5vw;}
header dl dd{ width: 40%; padding: 0 10vw 0 5vw;}
header dl dd figure.logo{ margin-bottom: 0;}
header dl dd figure.logo img{ height: auto; width: 100%;}
header dl dd ul{ display: none; align-items: center; justify-content: center; flex-direction: column; width: 100%; height: calc(100vh - 10vw); padding: 5%; position: fixed; left: 0; top: 10vw; background: rgba(75,160,111,0.9)}
header dl dd ul li{ width: 100%; text-align: center; font-size: 1.5rem; margin: 0; padding: 5%; border-bottom: 1px solid #fff; color: #fff;}
header dl dd ul li:first-child{ border-top: 1px solid #fff;}
header dl dd ul li a{ display: block;}
header dl dd ul li a:hover{ color:inherit;}
}


/*フッター*/
footer{ background: url("../images/footer_bg.jpg") center bottom no-repeat; background-size: cover; color: #fff; padding: 60px 0 20px; position: relative; z-index: 1;}
footer:after{ content: ""; width: 100%; height: 100%; background: rgba(75,160,111,.85); position: absolute; left: 0; right: 0; bottom: 0; z-index: -1;}
footer .f_logo{ text-align: center; margin-bottom: 30px;}
footer .f_logo img{ height: 60px;}
@media screen and (max-width:767px){
footer{ padding: 10% 0 2.5%;}
footer .f_logo{ margin-bottom: 5%;}
footer .f_logo img{ height: 10vw;}
}
footer .f_nav01 ul{ display: flex; align-items: center; justify-content: center;}
footer .f_nav01 ul li{ font-size: 0.9rem; font-weight: bold; margin: 0 2em;}
footer .f_nav01 ul li a{ position: relative;}
footer .f_nav01 ul li a:after{ content: ""; width: 0; height: 1px; background: #fff; position: absolute; left: 0; right: 0; bottom: 0; margin: auto;transition: 0.3s;}
footer .f_nav01 ul li a:hover:after{ width: 100%;}
@media screen and (max-width:767px){
footer .f_nav01 ul li{ font-size: 0.9rem; margin: 0 1.5em;}
}
footer .f_nav02{ margin: 60px auto 20px; padding: 20px 0; border-top: 1px solid #fff; border-bottom: 1px solid #fff;}
footer .f_nav02 ul{ display: flex; align-items: center; justify-content: center;}
footer .f_nav02 ul li{ font-size: 0.75rem; margin: 0;}
footer .f_nav02 ul li:not(:last-child):after{ content: "|"; margin: 0 1.5em;}
footer .f_nav02 ul li a{ position: relative;}
footer .f_nav02 ul li a:after{ content: ""; width: 0; height: 1px; background: #fff; position: absolute; left: 0; right: 0; bottom: 0; margin: auto;transition: 0.3s;}
footer .f_nav02 ul li a:hover:after{ width: 100%;}
@media screen and (max-width:767px){
footer .f_nav02{ margin: 7.5% auto 2.5%; padding: 2.5% 0;}
footer .f_nav02 ul li{ font-size: 0.65rem; letter-spacing: 0;}
footer .f_nav02 ul li:not(:last-child):after{ content: "|"; margin: 0 1em;}
}
footer .copyright{ max-width: 1200px; margin: auto; display: flex; align-items: center; justify-content: space-between;}
footer .copyright p{ font-size: 0.75rem; line-height: 1em; letter-spacing: 0; margin: 0;}
footer .copyright figure{ text-align: right; margin: 0;}
footer .copyright figure img{ height: 30px;}
@media screen and (max-width:767px){
footer .copyright{ width: 90%;}
footer .copyright p{ font-size: 0.65rem;}
footer .copyright figure img{ height: 5vw;}
}



/*メイン*/
#content{}
section { width:100%; margin:0 auto;}
.maincontent { padding:0; margin:0 auto; width:1200px;}
@media screen and (max-width:767px){
.maincontent { padding:0; margin:0 auto; width:90%;}
}


/*tit*/
h2{ text-align: center; font-size: 1.8rem; line-height: 1.5em; color:#4BA06F; margin-bottom: 40px;}
h2 span{ display: block; font-size: 0.7rem; line-height: 1.5em; margin-bottom: 0.5em; font-family: 'Roboto', sans-serif; color: #B1CC56;}
@media screen and (max-width:767px){
h2{ font-size: 1.8rem; margin-bottom: 5%;}
h2 span{ font-size: 0.7rem;}
}


/*mv*/
#mv{ display: flex; align-items: flex-start; justify-content: center; text-align: center; width: 100%; height: 668px; position: relative; overflow: hidden;}
#mv h1{ display: flex; justify-content: center; align-items: center; width: 340px; height: 576px; color: #fff; font-size: 48px; line-height: 1.66em; text-align: justify; position: relative;}
#mv h1:before{ content: ""; width: 680px; height: 668px; background: url("../images/mv_img1.jpg") center center no-repeat; position: absolute; left: -680px; top: 0;}
#mv h1:after{ content: ""; width: 680px; height: 668px; background: url("../images/mv_img2.jpg") center center no-repeat; position: absolute; right: -680px; top: 0;}
@media screen and (max-width:767px){
#mv{ height: 133.6vw;}
#mv h1{ width: 66.66%; height: 100vw; font-size: 10vw;}
#mv h1:before{ content: ""; width: 136vw; height: 133.6vw; background-size: 100%; left: -136vw; top: 50%; transform: translateY(-50%);}
#mv h1:after{ content: ""; width: 136vw; height: 133.6vw; background-size: 100%; right: -136vw; top: 50%; transform: translateY(-50%);}
}


/*news*/
#home_news{ position: relative; top: -20px; z-index: 1;}
#home_news:before{ content: ""; width: 1960px; height: 300px; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); background:rgba(255,255,255,1.0); /*box-shadow:rgba(96, 105, 100, 0.1) 2px 2px 8px 2px;*/ z-index: -1; border-radius: 50%;}
#home_news:after{ content: ""; width: 1600px; height: 150px; position: absolute; left: 50%; bottom: -70px; transform: translateX(-50%); background: none; box-shadow:rgba(96, 105, 100, 0.1) 0 0 16px 2px; z-index: -2; border-radius: 0 0 50% 50%;}
#home_news dl{ width: 860px; margin: auto; background: #FCF4F4; padding: 20px 30px; display: flex;}
#home_news dl dt{ width: 5em; color: #D80000; font-size: 0.8rem; font-weight: bold;}
#home_news dl dd{ width: calc(100% - 5em);}
#home_news dl dd ul li{ padding-left: 1em; border-left: 1px solid #D80000; margin-bottom: 0.25em;}
#home_news dl dd ul li:last-child{ margin-bottom: 0;}
#home_news dl dd p{ font-size: 0.75rem; margin: 0; color: #D80000;}
#home_news dl dd p{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
@media screen and (max-width:767px){
#home_news{ top: -30vw; z-index: 1;}
#home_news:before{ width: 300vw; height: 130%;}
#home_news:after{ width: 250vw; height: 65%; bottom: -15%;}
#home_news dl{ width: 100%; padding: 5%; display: block;}
#home_news dl dt{ width: 100%; margin-bottom: 2.5%;}
#home_news dl dd{ width: 100%;}
#home_news dl dd ul li{ padding-left: 0.5em;}
}


/*about*/
#about{ padding: 30px 0 120px; position: relative; z-index: 3;}
#about h2{ text-align: center;}
#about dl{ display: flex; align-items: center; justify-content: space-between; width: 100%; margin: 60px auto 80px;}
#about dl:last-child{ margin-bottom: 0;}
#about dl dt{ width: 50%;}
#about dl dd{ width: 50%; position: relative;}
#about dl:nth-child(2n+1){ flex-direction: row-reverse;}
#about dl dd img{ position: relative; left: 60px; box-shadow:rgba(41, 95, 21, 0.1) 0 0 24px 0;}
#about dl:nth-child(2n+1) dd img{ left: -60px;}
#about dl dt h3{ font-size: 1.2rem; line-height: 1.5em; margin-bottom: 40px; color: #4BA06F;}
#about dl dt h3{ -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
@media screen and (max-width:767px){
#about{ padding: 2.5% 0 15%; margin-top: -20%;}
#about h2{ text-align: center;}
#about dl{ display: block; margin: 10% auto 15%;}
#about dl dt{ width: 100%; margin-bottom: 5%;}
#about dl dd{ width: 100%;}
#about dl dd img{ width: calc(100% + 5vw); max-width: calc(100% + 5vw); left: 0;}
#about dl:nth-child(2n+1) dd img{ left: -5vw;}
#about dl dt h3{ font-size: 1.1rem; letter-spacing: 0; margin-bottom: 5%;}
#about dl dt p{ font-size: 0.9rem;}
}


/*works*/
#works{ padding: 60px 0;}
#works .maincontent{ background: rgba(255,255,255,0.9); border-radius: 16px; padding: 60px;}
#works dl{ display: flex; align-items: center; justify-content: space-between; flex-direction: row-reverse;}
#works dl dt{ width: 50%}
#works dl dt h3{ font-size: 1.2rem; line-height: 1.25em; text-align: center; margin-bottom: 40px;}
#works dl dt .txt{ display: flex; align-items: center; justify-content: space-between; flex-direction: row-reverse;}
#works dl dt .txt p{ width: 370px; text-align: justify; font-size: 0.8rem; margin-right: 2em;}
#works dl dt .txt figure{ width: 160px;}
#works dl dd{ width: 50%; padding-right: 40px;}
#works dl dd img{ box-shadow:rgba(41, 95, 21, 0.1) 0 0 24px 0;}
@media screen and (max-width:767px){
#works{ padding: 10% 0;}
#works .maincontent{ border-radius: 2.5vw; padding: 5%;}
#works dl{ display: block;}
#works dl dt{ width: 100%}
#works dl dt h3{ font-size: 1.1rem; line-height: 1.25em; margin-bottom: 5%;}
#works dl dt .txt{ display: block;}
#works dl dt .txt p{ width: 100%; margin: 0;}
#works dl dt .txt figure{ width: 25%; float: right; margin: 0 0 0 1em;}
#works dl dd{ width: 100%; padding: 0; margin-top: 5%;}
}


/*insurances*/
#insrances{ background: #F2F5EA; padding: 60px 0;}
#insrances ul{ display: flex; width: calc(100% + 40px); margin-left: -20px;}
#insrances ul li{ display: flex; flex-direction: column; width: calc(25% - 40px); margin: 0 20px; background: #fff; padding: 20px; border-radius: 16px; box-shadow:rgba(0, 0, 0, 0.02) 0 0 16px 0;}
#insrances ul li figure{ margin: 30px auto;}
#insrances ul li h3{ text-align: center; color:#4BA06F; margin-bottom: 20px; font-size: 1rem;}
#insrances ul li p{ font-size: 0.8rem; text-align: justify;}
@media screen and (max-width:767px){
#insrances{ padding: 10% 0;}
#insrances ul{ width: calc(100% + 5vw); margin: -2.5vw 0 -2.5vw -2.5vw; flex-wrap: wrap;}
#insrances ul li{ width: calc(50% - 5vw); margin: 2.5vw; padding: 5% 3.75%; border-radius: 2.5vw;}
#insrances ul li figure{ margin: 5% auto 10%;}
#insrances ul li figure img{ width: 75%;}
#insrances ul li h3{ margin-bottom: 5%; font-size: 1rem; letter-spacing: 0;}
#insrances ul li p{ font-size: 0.8rem; text-align: justify;}
}


/*shop_info*/
#shop_info{ padding: 80px 0;}
#shop_info table{ width: 100%; font-size: 0.9rem; line-height: 1.5em; border-spacing: 0;}
#shop_info table th{ width: 180px; padding: 20px; border-bottom: 1px solid #E6E6E6;}
#shop_info table td{ padding: 20px; border-bottom: 1px solid #E6E6E6; position: relative;}
#shop_info table tr:first-child th{ border-top: 1px solid #E6E6E6;}
#shop_info table tr:first-child td{ border-top: 1px solid #E6E6E6;}
#shop_info table td:before{ content: ""; width: 1px; height: 20px; background: #4BA06F; position: absolute; left: 0; top: 25px;}
#shop_info figure.btn{ margin-top: 40px;}
#shop_info figure.btn a{ display: flex; align-items: center; justify-content: center; margin: auto; width: 324px; height: 60px; border: 2px solid #4BA06F; font-size: 0.9rem; color: #4BA06F; border-radius: 4px; transition: 0.3s; position: relative;}
#shop_info figure.btn a i{ position: absolute; right: 1em; top: 50%; transform: translateY(-50%); color: #4BA06F; transition: 0.3s;}
#shop_info figure.btn a:hover{ background: #4BA06F; color: #fff;}
#shop_info figure.btn a:hover i{ color: #fff;}
@media screen and (max-width:767px){
#shop_info{ padding: 10% 0;}
#shop_info table{ font-size: 0.9rem;}
#shop_info table th{ display: block; width: 100%; padding: 1em 1em 0.5em; border-bottom: none;}
#shop_info table td{ display: block; width: 100%; padding: 0.5em 1em 1em; border-top: none; font-size: 0.8rem;}
#shop_info table tr:first-child th{ border-top: 1px solid #E6E6E6;}
#shop_info table tr:first-child td{ border-top: none;}
#shop_info table td:before{ width: 1em; height: 1px; left: 1em; top: 0;}
#shop_info figure.btn{ margin-top: 7.5%;}
#shop_info figure.btn a{ width: 66.66vw; height: 10vw; font-size: 0.9rem; border-radius: 0.625vw;}
}


/*cv*/
.cv{ padding: 40px 0;}
.cv ul{ display: flex; width: calc(100% + 40px); margin-left: -20px;}
.cv ul li{ display: flex; flex-direction: column; width: calc(50% - 40px); margin: 0 20px; padding: 30px 40px 20px; background: #fff; border-radius: 20px;}
.cv ul li h3{ text-align: center; font-size: 1rem; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid #4BA06F; color: #4BA06F;}
.cv ul li figure.btn{ margin-top: 10px;}
.cv ul li figure.btn a{ display: flex; align-items: center; justify-content: center; margin: auto; width: 324px; height: 60px; border: 2px solid #4BA06F; font-size: 0.9rem; color: #fff; background: #4BA06F; border-radius: 4px; transition: 0.3s; position: relative;}
.cv ul li figure.btn a i{ position: absolute; right: 1em; top: 50%; transform: translateY(-50%); color: #fff; transition: 0.3s;}
.cv ul li figure.btn a:hover{ background: #fff; color: #4BA06F;}
.cv ul li figure.btn a:hover i{ color: #4BA06F;}
.cv ul li figure.tel{ display: flex; align-items: center; justify-content: center; margin-bottom: 10px;}
.cv ul li figure.tel span{ height: 30px; margin-right: 10px;}
.cv ul li figure.tel strong{ font-size: 2rem; line-height: 1em; color: #4BA06F;}
.cv ul li p{ font-size: 0.8rem; line-height: 1.25em; margin: 0 auto;}
.cv ul li p.att{ font-size: 0.65rem; line-height: 1.25em; margin-top: 5px;}
@media screen and (max-width:767px){
.cv{ padding: 7.5% 0;}
.cv ul{ display: block; width: 100%; margin-left: 0;}
.cv ul li{ width: 100%; margin: 0 auto 7.5%; padding: 5%; border-radius: 2.5vw;}
.cv ul li:last-child{ margin-bottom: 0;}
.cv ul li h3{ padding-bottom: 2.5%; margin-bottom: 5%;}
.cv ul li figure.btn{ margin-top: 0;}
.cv ul li figure.btn a{ width: 66.66vw; height: 10vw; font-size: 0.9rem; border-radius: 0.625vw;}
.cv ul li figure.tel{ width: 100%; margin-bottom: 2.5%;}
.cv ul li figure.tel span{ height: 5vw; margin-right: 2.5%;}
.cv ul li figure.tel strong{ font-size: 2rem; line-height: 1em; color: #4BA06F;}
.cv ul li p.att{ font-size: 0.6rem; font-feature-settings: "palt"; letter-spacing: 0; margin-top: 1.25%;}
}


/*company*/
#company{ padding: 80px 0;}
#company dl{ position: relative; padding-left: 560px;}
#company dl dd{ position: absolute; right: 700px; top: 0; width: 720px;}
#company dl dt table{ width: 100%; font-size: 0.9rem; line-height: 1.5em; border-spacing: 0;}
#company dl dt table th{ width: 180px; padding: 20px; border-bottom: 1px solid #E6E6E6;}
#company dl dt table td{ padding: 20px; border-bottom: 1px solid #E6E6E6; position: relative;}
#company dl dt table tr:first-child th{ border-top: 1px solid #E6E6E6;}
#company dl dt table tr:first-child td{ border-top: 1px solid #E6E6E6;}
#company dl dt table td:before{ content: ""; width: 1px; height: 20px; background: #4BA06F; position: absolute; left: 0; top: 25px;}
@media screen and (max-width:767px){
#company{ padding: 10% 0;}
#company dl{ padding-left: 0;}
#company dl dd{ position: static; width: 100%; margin-top: 10%;}
#company dl dt table th{ width: 6em; padding: 1em;}
#company dl dt table td{ padding: 1em; font-size: 0.9rem; vertical-align: middle;}
#company dl dt table td:before{ height: 1em; top: 50%; transform: translateY(-50%);}
}


/*history*/
#history{ background: #F8F8F8; padding: 60px 0;}
#history table{ width: 100%; font-size: 0.9rem; line-height: 1.5em; border-spacing: 0;}
#history table th{ width: 180px; padding: 20px; border-bottom: 1px solid #E6E6E6;}
#history table td{ padding: 20px; border-bottom: 1px solid #E6E6E6; position: relative;}
#history table tr:first-child th{ border-top: 1px solid #E6E6E6;}
#history table tr:first-child td{ border-top: 1px solid #E6E6E6;}
#history table td:before{ content: ""; width: 1px; height: 20px; background: #4BA06F; position: absolute; left: 0; top: 25px;}
@media screen and (max-width:767px){
#history{ padding: 10% 0;}
#history table{ font-size: 0.9rem;}
#history table th{ display: block; width: 100%; padding: 1em 1em 0.5em; border-bottom: none;}
#history table td{ display: block; width: 100%; padding: 0.5em 1em 1em; border-top: none; font-size: 0.8rem;}
#history table tr:first-child th{ border-top: 1px solid #E6E6E6;}
#history table tr:first-child td{ border-top: none;}
#history table td:before{ width: 1em; height: 1px; left: 1em; top: 0;}
}





/*terms*/
/*nav*/
#terms_nav{ padding: 70px 0 200px;}
#terms_nav ul{ width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between;}
#terms_nav ul li{ width: 380px;}
#terms_nav ul li a{ display: flex; align-items: center; justify-content: center; width: 100%; height: 60px; background: #fff; color: #4BA06F; font-size: 0.9rem; position: relative;}
#terms_nav ul li a:after{ content: ""; background: url("../images/terms_nav_arrow.png") center center no-repeat; background-size: 100%; width: 13px; height: 13px; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
#terms_nav ul li a:hover:after{ top: calc(50% + 4px);}
@media screen and (max-width:767px){
#terms_nav{ padding: 10% 0 20vw;}
#terms_nav ul{ width: 90%; display: block;}
#terms_nav ul li{ width: 100%; margin-bottom: 2.5%;}
#terms_nav ul li a{ height: 10vw;}
#terms_nav ul li a:after{ width: 2.5vw; height: 2.5vw; right: 3.75vw;}
#terms_nav ul li a:hover:after{ top: calc(50%);}
}

/*cont*/
#terms_cont{ background: #fff; position: relative; z-index: 1;}
#terms_cont:after{ content: ""; width: 120%; height: 300px; background: #fff; border-radius: 50%; position: absolute; left: 50%; top: -120px; transform: translateX(-50%); z-index: -1;}
@media screen and (max-width:767px){
#terms_cont:after{ height: 30vw; top: -12.5vw;}
}


/*terms01*/
#terms01{ padding: 0 0 80px; margin: 0;}
#terms01 p{ font-size: 0.8rem; text-align: justify;}
@media screen and (max-width:767px){
#terms01{ padding: 0 0 15%;}
}
#terms01 dl dt{ font-size: 0.9rem; font-weight: bold; margin: 30px 0 15px; padding-left: 1.25em; position: relative;}
#terms01 dl dt span{ position: absolute; left: 0; top: 0;}
#terms01 dl dd{ font-size: 0.8rem; line-height: 1.75em;}
#terms01 dl dd ul li{ padding-left: 1.25em; margin-bottom: 0.5em; position: relative;}
#terms01 dl dd ul li:last-child{ margin-bottom: 0;}
#terms01 dl dd ul li:before{ content: "・"; position: absolute; left: 0; top: 0;}
@media screen and (max-width:767px){
#terms01 dl dt{ margin: 2em 0 0.5em;}
}
#terms01 #terms01_zu{ background: #F8F8F8; padding: 50px; margin-top: 40px;}
#terms01 #terms01_zu h3{ text-align: center; font-size: 0.9rem; margin-bottom: 20px;}
#terms01 #terms01_zu p{ text-align: center; font-size: 0.8rem;}
#terms01 #terms01_zu p.att{ font-size: 0.7rem;}
#terms01 #terms01_zu table{ margin: 30px auto 15px; width: 100%; border-collapse: collapse; border-spacing: 0; table-layout: fixed;}
#terms01 #terms01_zu table thead td{ width: 18%;}
#terms01 #terms01_zu table th,
#terms01 #terms01_zu table td{ border: 1px solid #707070; background: #fff; vertical-align: middle;}
#terms01 #terms01_zu table tr.bggy th,
#terms01 #terms01_zu table tr.bggy td{ background: #FAFAFA;}
#terms01 #terms01_zu table th{ font-size: 0.7rem; line-height: 1.5em; font-weight: bold; padding: 1em;}
#terms01 #terms01_zu table thead th{ text-align: center; vertical-align: top;}
#terms01 #terms01_zu table tbody td{ text-align: center; font-size: 1.2rem; font-weight: bold; padding: 0.5em;}
@media screen and (max-width:767px){
#terms01 #terms01_zu{ padding: 5%; margin-top: 10%;}
#terms01 #terms01_zu h3{ font-size: 0.85rem; margin-bottom: 0.5em;}
#terms01 #terms01_zu p{ text-align: left;}
#terms01 #terms01_zu .smp_scroll{ margin: 7.5% auto 2.5%; padding: 0 0 2.5%; overflow-y: hidden; overflow-x: auto;}
#terms01 #terms01_zu table{ margin: 0 auto; width: 300%;}
#terms01 #terms01_zu table thead td{ width: 18%;}
}


/*terms02*/
#terms02{ padding: 80px 0; margin: 0; background: #F2F5EA;}
#terms02 p{ font-size: 0.8rem; text-align: justify;}
@media screen and (max-width:767px){
#terms02{ padding: 15% 0 ;}
}
#terms02 dl dt{ font-size: 0.9rem; font-weight: bold; margin: 40px 0 15px;}
#terms02 dl dd{ font-size: 0.8rem; line-height: 1.75em;}
#terms02 dl dd ol li{ padding-left: 1.25em; margin-bottom: 1em; position: relative;}
#terms02 dl dd ol li:last-child{ margin-bottom: 0;}
#terms02 dl dd ol li span{ position: absolute; left: 0; top: 0;}
#terms02 dl dd ol ol{ margin: 1em auto;}
#terms02 dl dd ol ol li{ margin-bottom: 0; padding-left: 1.75em;}
#terms02 dl dd ol ul{ margin: 1em auto;}
#terms02 dl dd ol ul li{ margin-bottom: 0; padding-left: 1.25em;}
@media screen and (max-width:767px){
#terms02 dl dt{ margin: 2em 0 0.5em;}
}


/*terms03*/
#terms03{ padding: 80px 0; margin: 0;}
@media screen and (max-width:767px){
#terms03{ padding: 15% 0;}
}
#terms03 dl dt{ font-size: 0.9rem; font-weight: bold; margin: 30px 0 15px;}
#terms03 dl dd{ font-size: 0.8rem; line-height: 1.75em;}
#terms03 dl dd figure.pdf{ text-align: left;}
#terms03 dl dd figure.pdf img{ width: 160px;}
#terms03 dl dd ul.mt-1{ margin-top: -1em;}
#terms03 dl dd ul li{ padding-left: 1em; margin-bottom: 0; position: relative;}
#terms03 dl dd ul li:last-child{ margin-bottom: 0;}
#terms03 dl dd ul li span{ position: absolute; left: 0; top: 0;}
#terms03 a.txt_link{ display: inline-block; padding-left: 16px; position: relative; color: #4BA06F;}
#terms03 a.txt_link:before{ content: ""; width: 13px; height: 13px; background: url("../images/terms_txt_arrow.png") left center no-repeat; background-size: 100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
#terms03 a.txt_link:hover{ text-decoration: underline;}
@media screen and (max-width:767px){
#terms03 dl dt{ margin: 2em 0 0.5em;}
#terms03 dl dd figure.pdf img{ width: 33.33%;}
#terms03 a.txt_link{ padding-left: 3.75vw;}
#terms03 a.txt_link:before{ width: 2.5vw; height: 2.5vw;}
}



@media print, screen and (min-width:768px){
.smp{ display:none !important;}
}
@media screen and (max-width:767px){
.pc{ display:none !important;}
}
