@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@100..900&family=Noto+Sans+JP:wght@100..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: "Lexend", "Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-size:20px;
font-weight:500;
text-align:left;
color:#4A4A4A;
background: #F6F6F8;
min-width:1080px;
position: relative;
z-index: 1;
}
body:after{ content: ""; position: fixed; left: 0; right: 0; top: 0; width: 100%; height: 100vh; min-width: 1366px; min-height: 1080px;  background: url("../images/bg_top.png") center top no-repeat; z-index: -1;}
@media screen and (max-width:768px){
html,body{ font-size:3.75vw; min-width:240px; max-width:768px;}
body:after{ min-width: 100%; background-size: 200% auto;}
}

/*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:2.1em; margin:0 0 1em; padding:0;}
p:last-child{ margin:0;}
strong{ font-weight:bold;}
.bold { font-weight:bold;}
.normal{ font-weight:normal;}
.under_line{ text-decoration:underline;}
.line_through{ text-decoration:line-through;}

.gothic{ font-family: "Lexend", "Noto Sans JP", sans-serif;}
.lexend{ font-family: "Lexend", sans-serif;}
.white{ color:#fff;}
.black{ color:#333;}
.gy{ color:#aaa;}
.red{ color:#c83232;}
.blue{ color:#326496;}

.left{ text-align:left;}
.right{ text-align:right;}
.center{ text-align:center;}

/*link*/
a{ color:inherit; text-decoration:none;}
a:hover{}
.opa{ transition: opacity 0.3s;}
.opa:hover{ opacity: 0.7;}
@media print, screen and (min-width:769px){
a.tel_link{ pointer-events: none;}
}



/*ヘッダー*/
body{ padding-top: 90px;}
header{ position: fixed; left: 0; right: 0; top: 0; z-index: 99; width: 100%; min-width: 1080px; margin: auto; display: flex; align-items: center; justify-content: space-between; transition: 0.3s;}
header.scroll{ background: #fff;}
header.scroll figure.logo{ background: #fff;}
header figure.logo{ text-align: left; width: 420px; padding: 11px 20px 11px 20px; margin: 0; transition: 0.3s;}
header figure.logo img{ height: 68px; mix-blend-mode: multiply;}
header nav{ margin: 0 0 0 auto; position: relative;}
header nav ul{ display: flex; align-items: center; justify-content: flex-end;}
header nav ul li{ display: flex; align-items: center; justify-content: center; height: 90px; margin-left: 40px; font-size: 0.8rem;}
header nav ul li a{ transition: 0.3s;}
header nav ul li a:hover{ color: #B21D23;}

header nav ul li.contact a{ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: #B21D23; color: #fff; border-radius: 0 0 0 8px; width: 120px; height: 90px; font-size: 0.7rem;}
header nav ul li.contact a span{ margin-bottom: 5px;}
header nav ul li.contact a span img{ width: 24px;}

header nav ul li.parent{ position: relative;}
header nav ul li.parent:hover a.parent{ color: #B21D23;}
header nav ul li.parent .child{ position: absolute; left: 0; top: 70px; opacity: 0; pointer-events: none; transition: 0.3s;}
header nav ul li.parent:hover .child{ opacity: 1.0; pointer-events: all;}
header nav ul li.parent .child .child_in{ width: 210px; background: #fff; padding: 20px; border-radius: 12px; box-shadow:rgba(0, 0, 0, 0.16) 6px 6px 20px;}
header nav ul li.parent .child .child_in ul{ display: block;}
header nav ul li.parent .child .child_in ul li{ display: block; height: auto; width: auto; margin: 0 0 1.25em; font-size: 0.75rem; position: relative;}
header nav ul li.parent .child .child_in ul li:last-child{ margin-bottom: 0;}
header nav ul li.parent .child .child_in ul li a{ display: block;}
header nav ul li.parent .child .child_in ul li i{ color: #B21D23; position: absolute; right: 0; top: 0.25em;}
header nav ul li.parent .child .child_in ul ul{ flex-direction: column; width: 100%; margin: 5px 0 0;}
header nav ul li.parent .child .child_in ul ul li{ width: 100%; font-size: 0.7rem; color: #797979; margin: 0.75em 0 0;}
header nav ul li.parent .child .child_in ul ul li a{ display: inline-block; padding-left: 0.75em; position: relative;}
header nav ul li.parent .child .child_in ul ul li a:before{ content: "-"; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
@media print, screen and (min-width:769px){
header nav{ display: block !important; opacity: 1.0 !important; height: auto !important;}
#smp_nav_btn{ display: none !important;}
}
@media screen and (max-width:768px){
body{ padding-top: 12.5vw;}
body.negative{ overflow: hidden;}
header{ min-width: 100%;}
header figure.logo{ width: auto; padding: 1.875vw 3.75vw;}
header figure.logo img{ width: auto; height: 8.625vw;}
header nav{ display: none; position: fixed; left: 0; right: 0; top: 12.5vw; /*display: flex;*/ align-items: flex-start; justify-content: center; width: 100%; background: #fff; overflow-x: hidden; overflow-y: auto;}
header nav ul{ width: 88%; flex-direction: column; align-items: flex-start; padding: 7.5vw 0;}
header nav ul li{ display: block; width: 100%; height: auto; margin: 0; font-size: 1.2rem; padding: 0.75em 0; border-bottom: 1px solid #D5D5D5; position: relative;}
header nav ul li i{ color: #B21D23; position: absolute; right: 0; top: 50%; transform: translateY(-50%);}

header nav ul li.contact{ padding: 0; border: none; margin-top: 7.5%;}
header nav ul li.contact a{ flex-direction: row; border-radius: 1.25vw; width: 100%; height: 15vw; font-size: 1.2rem; position: relative;}
header nav ul li.contact a span{ margin: 0; position: absolute; left: 10vw; top: 50%; transform: translateY(-50%);}
header nav ul li.contact a span img{ height: 5vw;}

header nav ul li.file01,
header nav ul li.file02{ padding: 0; border: none; margin-top: 2.5%;}
header nav ul li.file01 a,
header nav ul li.file02 a{ display: flex; align-items: center; justify-content: center; text-align: center; background: #BEAC4F; color: #fff; border-radius:1.25vw; width: 100%; height: 15vw; font-size: 1.2rem; position: relative;}
header nav ul li.file01 a span,
header nav ul li.file02 a span{ margin: 0; position: absolute; left: 10vw; top: 50%; transform: translateY(-50%);}
header nav ul li.file01 a span img,
header nav ul li.file02 a span img{ width: 5vw;}

header nav ul li.parent{ padding-bottom: 0;}
header nav ul li.parent i{ top: 0.75em; transform: rotate(90deg);}
header nav ul li.parent .child{ position: static; width: 100%; padding: 0; opacity: 1.0; pointer-events: all;}
header nav ul li.parent .child .child_in{ width: 100%; padding: 0; background: none; border-radius: 0; box-shadow: none;}
header nav ul li.parent .child .child_in ul{ display: block; width: 100%; padding: 0; margin: 0.75em 0 0; border-top: 1px solid #D5D5D5;}
header nav ul li.parent .child .child_in ul li{ display: block; margin: 0; font-size: 1rem; border-bottom: 1px dotted #D5D5D5;}
header nav ul li.parent .child .child_in ul li:last-child{ border-bottom: none;}
header nav ul li.parent .child .child_in ul li:nth-child(1),
header nav ul li.parent .child .child_in ul li:nth-child(3){ width: 100%;}
header nav ul li.parent .child .child_in ul li.parent2{ padding-bottom: 0;}
header nav ul li.parent .child .child_in ul li.parent2 i{ top: 0; top: 1.5em; transform: 0;}
header nav ul li.parent .child .child_in ul li i{ margin-left: 0; top: 50%; transform: rotate(0) translateY(-50%);}
header nav ul li.parent .child .child_in ul ul{ width: 100%; margin: 0.75em 0 0; border-top: 1px dotted #D5D5D5;}
header nav ul li.parent .child .child_in ul ul li{ width: 100%; font-size: 1rem; color: #4A4A4A; background: #FAFAFA; margin: 0; position: relative;}
header nav ul li.parent .child .child_in ul ul li i{ position: absolute; right: 0.75em; top: 50%; transform: translateY(-50%);}
header nav ul li.parent .child .child_in ul ul li a{ padding-left: 0.75em; position: relative;}
header nav ul li.parent .child .child_in ul ul li a:before{ display: none;}

#smp_nav_btn{ display: flex; align-items: flex-end; justify-content: center; background: #B21D23; padding: 2.5vw; width: 12.5vw; height: 12.5vw; position: fixed; right: 0; top: 0; z-index:999; transition:0.3s; cursor:pointer; border-radius: 0 0 0 1.875vw;}
#smp_nav_btn:before{ content: "menu"; position: absolute; left: 0; right: 0; top: 1.875vw; margin: auto; text-align: center; font-size: 0.6rem; line-height: 1em; color: #fff;}
#smp_nav_btn span{ display:block; height:2px; width: 6.75vw; background:#fff; position:absolute; left:0; right:0; bottom: 4.5vw; margin:auto; transition:0.3s;}
#smp_nav_btn span:before{ content: ""; display:block; height:2px; width:100%; background:#fff; position:absolute; bottom:1.5vw; transition:0.3s;}
#smp_nav_btn span:after{ content: ""; display:block; height:2px; width:100%; background:#fff; position:absolute; top:1.5vw; transition:0.3s;}
#smp_nav_btn.active{ background: #AFAFAF;}
#smp_nav_btn.active:before{ content: "close";}
#smp_nav_btn.active span{ background:rgba(255,255,255,0);}
#smp_nav_btn.active span:before{ bottom:0; transform: rotate(45deg);}
#smp_nav_btn.active span:after{ top:0; transform: rotate(-45deg);}
}

/*フッター*/
footer{ margin-top: 100px; padding: 160px 0 100px; background: url("../images/bg_foot.png") center top no-repeat;}
#footer_in{ width: 100%; max-width: 1200px; margin: auto;}
#footer_in dl{ display: flex; align-items: center; justify-content: space-between;}
#footer_in dl figure.ill{ flex: 1; max-width: 160px; margin: 0 10px;}
#footer_in dl dt{ width: 720px;}
#footer_in dl dt .f_nav ul{ display: flex; justify-content: space-between;}
#footer_in dl dt .f_nav ul li{ font-size: 0.9rem; font-weight: bold;}
#footer_in dl dt .f_nav ul li a{ transition: 0.3s;}
#footer_in dl dt .f_nav ul li a:hover{ color: #B21D23;}
#footer_in dl dt .f_nav_cont{ margin: 60px auto 30px; padding: 40px 0; background: rgba(255,255,255,0.33); border-radius: 12px;}
#footer_in dl dt .f_nav_cont nav{ display: flex; align-items: center; justify-content: center;}
#footer_in dl dt .f_nav_cont nav h5{ font-size: 0.9rem; margin-right: 20px;}
#footer_in dl dt .f_nav_cont ul{ display: flex; align-items: center; justify-content: center;}
#footer_in dl dt .f_nav_cont ul li{ font-size: 0.8rem;}
#footer_in dl dt .f_nav_cont ul li:not(:last-child):after{ content: "|"; margin: 0 0.5em;}
#footer_in dl dt .f_nav_cont ul li a{ transition: 0.3s;}
#footer_in dl dt .f_nav_cont ul li a:hover{ color: #B21D23;}
#footer_in dl dt p.copyright{ font-size: 0.7rem; line-height: 1em; font-weight: 400;}
#footer_in dl dd{ width: 240px;}
#footer_in dl dd h6{ font-size: 1rem; line-height: 1em; margin-bottom: 15px;}
#footer_in dl dd p.txt01{ font-size: 0.8rem; line-height: 1.5em; margin-bottom: 10px;}
#footer_in dl dd p.txt02{ font-size: 1.2rem; line-height: 1.5em; font-weight: bold; margin-bottom: 10px;}
#footer_in dl dd p.txt03{ font-size: 0.8rem; line-height: 1.5em;}
#footer_in dl dd ul{ margin-top: 30px; display: flex;}
#footer_in dl dd ul li{ font-size: 0.8rem; margin-right: 1em;}
#footer_in dl dd ul li:last-child{ margin-right: 0;}
#footer_in dl dd ul li a{ text-decoration: underline;}
#footer_in dl dd ul li a:hover{ text-decoration: none;}
@media screen and (max-width:1140px){
#footer_in dl dt{ width: calc(100% - 150px - 240px);}
}
@media screen and (max-width:768px){
footer{ margin-top: 10%; padding: 25% 0 10%; background: url("../images/bg_foot_smp.png") center top no-repeat; background-size: 100% auto;}
.home footer{ padding-bottom: 15%;}
#footer_in{ width: 88%;}
#footer_in dl{ display: flex; flex-wrap: wrap; position: relative;}
#footer_in dl figure.ill{ width: 30vw; max-width: 30vw; position: absolute; right: -7.5vw; bottom: 0;}
#footer_in dl dt{ width: 100%;}
#footer_in dl dt .f_nav nav{ display: flex;}
#footer_in dl dt .f_nav nav ul{ display: block; width: 60%;}
#footer_in dl dt .f_nav nav ul:nth-child(2){ width: 40%}
#footer_in dl dt .f_nav nav ul ul{ width: 100%;}
#footer_in dl dt .f_nav nav ul ul:nth-child(2){ width: 100%;}
#footer_in dl dt .f_nav nav ul li{ font-size: 1.2rem; margin-bottom: 7.5vw;}
#footer_in dl dt .f_nav nav ul li:last-child{ margin-bottom: 0;}
#footer_in dl dt .f_nav nav ul ul li{ font-size: 1.0rem; margin-top: 2.5vw; margin-bottom: 0;}
#footer_in dl dt .f_nav nav ul ul ul li{ font-size: 0.8rem; margin-top: 2.5vw; margin-bottom: 0;}
#footer_in dl dt .f_nav_cont{ margin: 7.5% auto 0; padding: 5%; border-radius: 1.25vw;}
#footer_in dl dt .f_nav_cont nav{ flex-direction: column; align-items: flex-start; justify-content: flex-start;}
#footer_in dl dt .f_nav_cont nav h5{ font-size: 1.2rem; margin: 0 0 2.5%;}
#footer_in dl dt .f_nav_cont ul{ flex-wrap: wrap; align-items: flex-start; justify-content: flex-start;}
#footer_in dl dt .f_nav_cont ul li{ font-size: 1rem; line-height: 2em;}
#footer_in dl dt .f_nav_cont ul li:not(:last-child):after{ content: "|"; margin: 0 0.5em;}
#footer_in dl dd{ width: 100%; margin-top: 7.5%;}
#footer_in dl dd h6{ font-size: 1.5rem; margin-bottom: 5%;}
#footer_in dl dd p.txt01{ font-size: 1.2rem; line-height: 1.5em; margin-bottom: 5%;}
#footer_in dl dd p.txt02{ font-size: 1.8rem; line-height: 1em; margin-bottom: 5%;}
#footer_in dl dd p.txt03{ font-size: 1.2rem; line-height: 1.5em;}
#footer_in dl dd ul{ margin-top: 10%;}
#footer_in dl dd ul li{ font-size: 1rem; margin: 0 0 1em;}
#footer_in dl dd ul li:last-child{ margin: 0 1em;}
#footer_in dl dd p.copyright{ font-size: 0.8rem; line-height: 1.5em; margin-top: 5%;}
}

/*メイン*/
#content{ overflow:hidden;}
section{ width:100%; margin:0 auto;}
.maincontent{ padding:0; margin:0 auto; width:1080px;}
@media screen and (max-width:768px){
.maincontent{ padding:0; margin:0 auto; width:88%;}
}

/*tit*/
h1,h2,h3,h4,h5,h6{ line-height: 1.6em; letter-spacing: 0.04em;}
h2.tit_h2{ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; margin-bottom: 60px;}
h2.tit_h2 strong{ font-size: 2.3rem; line-height: 1em; color: #D3C891; font-weight: 500; margin-bottom: 15px;}
h2.tit_h2 span{ font-size: 1.3rem; line-height: 1em;}
@media screen and (max-width:768px){
h2.tit_h2{ margin-bottom: 7.5%;}
h2.tit_h2 strong{ font-size: 1.8rem; margin-bottom: 2.5%;}
h2.tit_h2 span{ font-size: 1.2rem;}
}

/*cv*/
.cv_sec{ margin-top: 100px;}
.cv_sec .maincontent{ max-width: 1200px; width: 100%;}
.cv_sec .cv_sec_list{ display: flex; justify-content: center; margin: -15px 0;}
.cv_sec .cv_sec_list .cv_sec_box01{ width: calc(50% - 30px); margin: 15px; background: #fff; border-radius: 12px; padding: 60px 0;}
.cv_sec .cv_sec_list .cv_sec_box02{ width: calc(25% - 30px); margin: 15px;}
.cv_sec .cv_sec_list .cv_sec_box01{ display: flex; flex-direction: column; align-items: center; justify-content: center;}
.cv_sec .cv_sec_list .cv_sec_box01 a{ display: flex; align-items: center; justify-content: center;}
.cv_sec .cv_sec_list .cv_sec_box01 a figure{ margin: 0 10px 0 0;}
.cv_sec .cv_sec_list .cv_sec_box01 a figure img{ width: 60px;}
.cv_sec .cv_sec_list .cv_sec_box01 a p{ font-size: 2.8rem; line-height: 1em; font-weight: 400;}
.cv_sec .cv_sec_list .cv_sec_box01 p.time{ display: flex; align-items: center; text-align: left; width: 420px; padding-left: 70px; font-size: 0.8rem; line-height: 1em; font-weight: bold; margin: 1em 0 0;}
.cv_sec .cv_sec_list .cv_sec_box01 p.time span{ margin-left: 2em;}
.cv_sec .cv_sec_list .cv_sec_box01 p.add{ display: flex; align-items: center; text-align: left; width: 420px; padding-left: 70px; font-size: 0.8rem; line-height: 1em; font-weight: bold; margin: 1em 0 0;}
.cv_sec .cv_sec_list .cv_sec_box02 a{ width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: #fff; border-radius: 12px; transition: 0.3s;}
.cv_sec .cv_sec_list .cv_sec_box02 a img{ width: 110px; transition: 0.3s;}
.cv_sec .cv_sec_list .cv_sec_box02 a:hover img{ transform: scale(1.1);}
.cv_sec .cv_sec_list .cv_sec_box02 a p{ margin-top: 10px; font-size: 0.9rem; font-weight: bold;}
@media screen and (max-width:768px){
.cv_sec{ margin-top: 15%;}
.cv_sec .maincontent{ max-width: 100%; width: 100%;}
.cv_sec .cv_sec_list{ display: flex; flex-wrap: wrap; margin: -1.875vw 1.875vw;}
.cv_sec .cv_sec_list .cv_sec_box01{ width: calc(100% - 3.75vw); margin: 1.875vw; border-radius: 1.25vw; padding: 3.75vw 3.75vw 5vw;}
.cv_sec .cv_sec_list .cv_sec_box02{ width: calc(50% - 3.75vw); margin: 1.875vw;}
.cv_sec .cv_sec_list .cv_sec_box01 a figure{ margin: 0 1.25vw 0 0;}
.cv_sec .cv_sec_list .cv_sec_box01 a figure img{ width: 8.75vw;}
.cv_sec .cv_sec_list .cv_sec_box01 a p{ font-size: 2.8rem;}
.cv_sec .cv_sec_list .cv_sec_box01 p.time{ width: 100%; padding-left:12.5vw;}
.cv_sec .cv_sec_list .cv_sec_box01 p.add{ width: 100%; padding-left:12.5vw;}
.cv_sec .cv_sec_list .cv_sec_box02 a{ border-radius: 1.25vw; padding: 3.75vw;}
.cv_sec .cv_sec_list .cv_sec_box02 a img{ width: 20vw;}
.cv_sec .cv_sec_list .cv_sec_box02 a p{ margin-top: 0.5em; font-size: 0.9rem;}
}



/*home*/
body.home:after{ opacity: 0; transition: 0.3s;}
body.home.bg-on:after{ opacity: 1.0;}
/*アニメーション*/
body.home section{ opacity: 0; position: relative;}
body.home section.active{ animation: section ease-in-out 1.0s forwards; animation-delay: 0s;}
@keyframes section{
0%{ opacity: 0; top: 5vw;}
100%{ opacity: 1.0; top: 0;}
}

/*home_mv*/
#mv{ padding: 10px 0; overflow: hidden;}
#mv .mv_in{ width: 1200px; height: 824px; margin: auto; position: relative;}
#mv .mv_in h1{ width: 210px; position: absolute; left: 0; top: 60px; z-index: 3;}
#mv .mv_in figure{ margin: 0; position: absolute; right: -140px; top: 0;}
#mv .mv_in figure img{ height: 824px; position: relative; top: -10px;}
@media screen and (max-width:768px){
#mv{ padding: 0;}
#mv .mv_in{ width: 100%; height: auto; display: flex; flex-direction: column-reverse; padding-top: 3.75%;}
#mv .mv_in h1{ width: 75%; margin: 7.5% 0 0 6vw; position: static;}
#mv .mv_in figure{ position: relative; left: 2.5vw; right: auto; top: 0; width: calc(100% + 25vw);}
#mv .mv_in figure img{ height: auto; top: 0;}
}
/*anime*/
.home #mv .mv_in h1{ opacity: 0; top: calc(60px + 5vw);}
.home #mv .mv_in figure{ opacity: 0; transition: 0.3s;}
.home.load #mv .mv_in h1{ animation: mv_in_h2 ease-in-out 1.0s forwards; animation-delay: 0.3s;}
.home.load #mv .mv_in figure{ animation:mv_in_figure ease-in-out 1.0s forwards; animation-delay: 0s;}
.home.load #mv .mv_in figure img{ animation:mv_in_figure_img ease-in-out 2.0s infinite alternate;}
@media screen and (max-width:768px){
.home #mv .mv_in h2{ opacity: 0; top: calc(3.75vw + 5vw);}
.home.load #mv .mv_in h2{ animation: mv_in_h2_smp ease-in-out 1.0s forwards; animation-delay: 0.3s;}
.home.load #mv .mv_in figure{ animation:mv_in_figure_smp ease-in-out 1.5s forwards; animation-delay: 0s;}
.home.load #mv .mv_in figure img{ animation: none;}
}
@keyframes mv_in_h2{
0%{ opacity: 0; top: calc(60px + 5vw);}
100%{ opacity: 1.0; top: 60px;}
}
@keyframes mv_in_h2_smp{
0%{ opacity: 0; top: calc(3.75vw + 5vw);}
100%{ opacity: 1.0; top: 3.75vw;}
}
@keyframes mv_in_figure{
0%{ opacity: 0;}
100%{ opacity: 1.0;}
}
@keyframes mv_in_figure_img{
0%{ top: -10px;}
5%{ top: -10px;}
95%{ top: 10px;}
100%{ top: 10px;}
}
@keyframes mv_in_figure_smp{
0%{ opacity: 0; left: 2.5vw; width: calc(100% + 25vw);}
20%{ opacity: 1.0; left: 2.5vw; width: calc(100% + 25vw);}
100%{ opacity: 1.0; left: -25vw; width: calc(100% + 50vw);}
}




/*fixed_btn*/
#fixed_btn{ width: 1200px; margin: auto; display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 5; pointer-events: none;}
#fixed_btn ul{ display: flex; pointer-events: all;}
#fixed_btn ul li{ margin: 0 10px 0 0;}
#fixed_btn ul li a{ display: flex; align-items: center; justify-content: center; background: #B2A149; color: #fff; width: 190px; height: 60px; border-radius: 12px 12px 0 0; transition: 0.3s;}
#fixed_btn ul li a:hover{ opacity: 0.7;}
#fixed_btn ul li a span{ width: 19px; line-height: 0; margin-right: 10px;}
#fixed_btn ul li a strong{ font-size: 0.7rem;}
@media screen and (max-width:768px){
#fixed_btn{ width: 100%}
#fixed_btn ul{ display: flex; justify-content: center; width: 100%; padding: 0 0.625vw;}
#fixed_btn ul li{ width: calc(50% - 1.25vw); margin: 0 0.625vw;}
#fixed_btn ul li a{ width: 100%; height: 10vw; border-radius: 1.25vw 1.25vw 0 0;}
#fixed_btn ul li a span{ width: 5vw; margin-right: 2.5vw;}
#fixed_btn ul li a strong{ font-size: 0.8rem;}
}

/*home_nav*/
#home_nav{ margin: 60px auto;}
#home_nav .maincontent{ padding: 60px 0; position: relative; z-index: 1;}
#home_nav .maincontent:after{ content: ""; width: 1920px; height: 100%; background: #fff; border-radius: 0 20px 20px 0; position: absolute; right: -60px; top: 0; z-index: -1;}
#home_nav ul{ display: flex; width: calc(100% + 30px); margin-left: -15px;}
#home_nav ul li{ width: calc(33.33% - 30px); margin: 0 15px;}
#home_nav ul li a{ display: block; position: relative;}
#home_nav ul li a figure{ overflow: hidden;}
#home_nav ul li a figure img{ transition: 0.3s; object-fit: cover;}
#home_nav ul li a:hover figure img{ transform: scale(1.1);}
#home_nav ul li a span{ background: #BEAC4F; width: 54px; height: 54px; padding-bottom: 4px; display: flex; align-items: center; justify-content: center; position: absolute; right: 0; bottom: 0; border-radius: 8px; z-index: 3;}
#home_nav ul li a span img{ height: 8px; position: relative; left: 0; transition: 0.3s;}
#home_nav ul li a:hover span img{ left: 4px;}
#home_nav ul li .txt{ margin-top: 10px;}
#home_nav ul li .txt h3{ font-size: 1.2rem; margin-bottom:0;}
#home_nav ul li .txt p{ font-size: 0.8rem;}
@media screen and (max-width:768px){
#home_nav{ margin: 10% auto;}
#home_nav .maincontent{ padding: 10% 0;}
#home_nav .maincontent:after{ width: 100vw; border-radius: 0 3.75vw 3.75vw 0; right: -6vw;}
#home_nav ul{ display: block; width: 100%; margin-left: 0;}
#home_nav ul li a{ width: 100%;}
#home_nav ul li a span{ width: 10vw; height: 10vw; border-radius: 2.5vw; padding-bottom: 0;}
#home_nav ul li a span img{ height: 1.5vw;}
#home_nav ul li a:hover span img{ left: 1.25vw;}
#home_nav ul li .txt{ margin-top: 2.5%;}
#home_nav ul li .txt h3{ font-size: 1.2rem;}
#home_nav ul li .txt p{ font-size: 0.8rem;}
}

/*home_nav*/
@media screen and (max-width:768px){
#home_nav .slider_wrap{ width: calc((75%*2) + 7.5vw); margin-left: 0;}
#home_nav ul li{ margin: 0 3.75vw 0 0;}
}

/*slick調整*/
@media screen and (max-width:768px){
#home_nav{ position: static;}
#home_nav .slick-slider{ padding-bottom: 7.5vw; position: static;}
#home_nav .slick-prev,
#home_nav .slick-next{ display: flex; width: 7.5vw; height: 7.5vw; border-radius: 1.25vw; background: #fff; border: 2px solid #4A4A4A; position: absolute; right: 0; bottom: 7.5vw; top: auto; transform: none; transition: 0.3s;}
#home_nav .slick-prev{ left: auto; right: 8.75vw; z-index: 99;}
#home_nav .slick-next{ right: 0; z-index: 99;}
#home_nav .slick-prev:before{ content: ""; width: 3.2vw; height: 1.2vw; background: url("../images/ico_arrow.svg") center center no-repeat; background-size: 100% 100%; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); transition: 0.3s;}
#home_nav .slick-next:after{ content: ""; width: 3.2vw; height: 1.2vw; background: url("../images/ico_arrow.svg") center center no-repeat; background-size: 100% 100%; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%) rotateY(180deg); transition: 0.3s;}
#home_nav .slick-prev:hover:before{ left: calc(50% - 1.25vw);}
#home_nav .slick-next:hover:after{ left: calc(50% + 1.25vw);}
}



/*home_lead*/
#home_lead{ margin: 100px auto;}
#home_lead .maincontent{ position: relative;}
#home_lead h2{ -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-size: 1.8rem; line-height: 2em; letter-spacing: 0.2em; position: absolute; right: 200px;}
#home_lead h2 span{ position: relative;}
#home_lead h2 span:after{ content: ""; width: 8px; height: 8px; background: #4A4A4A; position: absolute; right: -16px; top: 50%; transform: translateY(-50%); border-radius: 50%;}
#home_lead h3{ font-size: 1.3rem; margin: 0 0 40px 60px; padding-top: 60px;}
#home_lead p{ font-size: 1.2rem; line-height: 2.5em; text-align: justify; width: 690px;}
#home_lead figure{ margin: -120px 0 0; text-align: right;}
#home_lead figure img{ width: 600px; position: relative; right: -60px;}
@media screen and (max-width:768px){
#home_lead{ margin: 10% auto 15%;}
#home_lead h2{ -ms-writing-mode: lr; writing-mode: horizontal-tb; font-size: 1.6rem; letter-spacing: 0.1em; position: static; margin-bottom: 5%;}
#home_lead h2 span:after{ width: 1.25vw; height: 1.25vw; right: 50%; top: -2.5vw; transform: translateY(50%);}
#home_lead h3{ font-size: 1.2rem; margin: 0 0 5%; padding-top: 0;}
#home_lead p{ width: 100%; font-size: 1.1rem; line-height: 2em; margin: 0 0 5%; padding: 0;}
#home_lead figure{ margin: 0;}
#home_lead figure img{ width: calc(100% + 10vw); max-width: calc(100% + 10vw); margin-left: -5vw; position: static;}
}

/*home_topics*/
#home_topics h2{ margin-bottom: 40px; padding-left: 40px; position: relative;}
#home_topics h2 span{ -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-size: 1.8rem; position: absolute; left: 0; bottom: 0; word-break: keep-all;}
#home_topics h2 strong{ font-size: 5.5rem; font-weight: 500; line-height: 1em; color: #fff;}
#home_topics .slider_wrap{ width: calc((300px*5) + 30px); margin-left: -15px;}
#home_topics ul li{ margin: 0 15px; border: 2px solid #4A4A4A; background: #fff; padding: 24px; border-radius: 12px; position: relative; transition: 0.3s;}
#home_topics ul li:nth-child(2n+1){ margin-top: 70px;}
#home_topics ul li figure{ border-radius: 12px; overflow: hidden;}
#home_topics ul li figure img{ transition: 0.3s;}
#home_topics ul li h4{ font-size: 0.88rem; margin: 20px auto 0;}
#home_topics ul li p{ font-size: 0.8rem; line-height: 1.5em; font-weight: 400; margin: 15px auto 0;}
#home_topics ul li span.date{ display: block; font-size: 0.8rem; margin: 20px auto 0;}
#home_topics ul li i{ font-size: 0.8rem; position: absolute; right: 24px; bottom: 24px; color: #B2A149; transition: 0.3s;}
#home_topics ul li a{ display: block;}
#home_topics ul li a:hover figure img{ transform: scale(1.1);}
#home_topics ul li a:hover i{ right: 16px;}
@media screen and (max-width:768px){
#home_topics h2{ margin-bottom: 7.5%; padding-left: 7.5vw;}
#home_topics h2 span{ font-size: 1.2rem;}
#home_topics h2 strong{ font-size: 4.8rem;}
#home_topics .slider_wrap{ width: calc((50%*2) + 9vw); margin-left: -4.5vw;}
#home_topics ul li{ margin: 0 1.5vw; padding: 2.5vw; border-radius: 1.25vw;}
#home_topics ul li:nth-child(2n+1){ margin-top: 7.5vw;}
#home_topics ul li figure{ border-radius: 1.25vw;}
#home_topics ul li h4{ font-size: 0.8rem; margin: 2.5% auto 0;}
#home_topics ul li p{ font-size: 0.7rem; margin: 2.5% auto 0;}
#home_topics ul li span.date{ font-size: 0.7rem; margin: 2.5% auto 0;}
#home_topics ul li i{ font-size: 0.7rem; right: 2.5vw; bottom: 2.5vw;}
#home_topics ul li a:hover i{ right: 1.25vw;}
}

/*slick調整*/
#home_topics .slider_wrap_out{ /*width: 1140px;*/ position: relative;}
#home_topics .slider_wrap{ position: static;}
#home_topics .slider_wrap .slick-slider{ position: static;}
#home_topics .slider_wrap .slick-prev,
#home_topics .slider_wrap .slick-next{ display: flex; width: 54px; height: 54px; border-radius: 8px; background: #fff; border: 2px solid #4A4A4A; position: absolute; right: 0; bottom: 0; transition: 0.3s;}
#home_topics .slider_wrap .slick-prev{ left: auto; right: 70px; top: -90px; z-index: 99;}
#home_topics .slider_wrap .slick-next{ right: 0; top: -90px; z-index: 99;}
#home_topics .slider_wrap .slick-prev:before{ content: ""; width: 21px; height: 8px; background: url("../images/ico_arrow.svg") center center no-repeat; background-size: 100% 100%; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); transition: 0.3s;}
#home_topics .slider_wrap .slick-next:after{ content: ""; width: 21px; height: 8px; background: url("../images/ico_arrow.svg") center center no-repeat; background-size: 100% 100%; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%) rotateY(180deg); transition: 0.3s;}
#home_topics .slider_wrap .slick-prev:hover:before{ left: calc(50% - 4px);}
#home_topics .slider_wrap .slick-next:hover:after{ left: calc(50% + 4px);}
@media screen and (max-width:768px){
#home_topics .slider_wrap_out{ width: 100%; padding-top: 7.5vw; position: relative;}
#home_topics .slider_wrap .slick-prev,
#home_topics .slider_wrap .slick-next{ width: 7.5vw; height: 7.5vw; border-radius: 1.25vw;}
#home_topics .slider_wrap .slick-prev{ left: auto; right: 8.75vw; top: 0;}
#home_topics .slider_wrap .slick-next{ right: 0; top: 0;}
#home_topics .slider_wrap .slick-prev:before{ width: 3.2vw; height: 1.2vw;}
#home_topics .slider_wrap .slick-next:after{ width: 3.2vw; height: 1.2vw;}
#home_topics .slider_wrap .slick-prev:hover:before{ left: calc(50% - 1.25vw);}
#home_topics .slider_wrap .slick-next:hover:after{ left: calc(50% + 1.25vw);}
}

/*home_concrete*/
#home_concrete{ padding-top: 50px; margin: 100px auto 150px;}
#home_concrete .maincontent{ padding: 40px 0 120px; position: relative; z-index: 1;}
#home_concrete .maincontent:after{ content: ""; width: 1920px; height: 100%; background: #fff; border-radius: 0 20px 20px 0; position: absolute; right: -60px; top: 0; z-index: -1;}
#home_concrete h2{ text-align: right; margin-bottom: 40px; padding-right: 40px; position: relative;}
#home_concrete h2 span{ -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-size: 1.8rem; letter-spacing: 0.2em; position: absolute; right: 0; bottom: 0; word-break: keep-all;}
#home_concrete h2 strong{ font-size: 5.5rem; font-weight: 500; line-height: 1em; color: #F5F5F5;}
#home_concrete figure.ill{ width: 410px; position: absolute; left: -60px; top: -90px;}
#home_concrete .lead{ text-align: right;}
#home_concrete .lead h3{ display: flex; align-items: center; justify-content: flex-end; margin-bottom: 10px;}
#home_concrete .lead h3 strong{ font-size: 1.3rem; font-feature-settings: "palt"; font-weight: 500;}
#home_concrete .lead h3 span{ width: 30px; margin: 0 15px;}
#home_concrete .lead p{ font-size: 0.9rem;}
#home_concrete .lead figure.btn{ display: flex; justify-content: flex-end; margin-top: 30px;}
#home_concrete .lead figure.btn a{ display: flex; align-items: center; justify-content: center; width: 320px; height: 60px; font-size: 0.8rem; font-weight: bold; background: #B2A149; color: #fff; border-radius: 12px; transition: 0.3s;}
#home_concrete figure.btn a:hover{ opacity: 0.7;}
@media screen and (max-width:768px){
#home_concrete{ padding-top: 10%; margin: 5% auto 15%;}
#home_concrete .maincontent{ padding: 5% 0 15%;}
#home_concrete .maincontent:after{ width: 100vw; border-radius: 0 2.5vw 2.5vw 0; right: -3vw;}
#home_concrete h2{ margin-bottom: 5%; padding-right: 7.5vw;}
#home_concrete h2 span{ font-size: 1.2rem;}
#home_concrete h2 strong{ font-size: 2.4rem;}
#home_concrete figure.ill{ width: 37.5vw; left: -7.5vw; top: -7.5vw;}
#home_concrete .lead h3{ margin-bottom: 2.5%;}
#home_concrete .lead h3 strong{ font-size: 1.2rem;}
#home_concrete .lead h3 span{ width: 5vw; margin: 0 2.5%;}
#home_concrete .lead p{ font-size: 0.9rem;}
#home_concrete .lead figure.btn{ margin-top: 3.75%;}
#home_concrete .lead figure.btn a{ width: 50vw; height: 10vw; font-size: 0.8rem; border-radius: 1.25vw;}
}

#home_concrete .concrete_list01{ margin: 60px auto 0;}
#home_concrete .concrete_list01 ul{ display: flex; width: calc(100% + 60px); margin-left: -30px;}
#home_concrete .concrete_list01 ul li{ width: calc(33.33% - 60px); margin: 0 30px;}
#home_concrete .concrete_list01 ul li a{ display: block; position: relative;}
#home_concrete .concrete_list01 ul li a figure{ overflow: hidden;}
#home_concrete .concrete_list01 ul li a figure img{ transition: 0.3s; object-fit: cover;}
#home_concrete .concrete_list01 ul li a:hover figure img{ transform: scale(1.1);}
#home_concrete .concrete_list01 ul li a span{ background: #BEAC4F; width: 54px; height: 54px; padding-bottom: 4px; display: flex; align-items: center; justify-content: center; position: absolute; right: 0; bottom: 0; border-radius: 8px; z-index: 3;}
#home_concrete .concrete_list01 ul li a span img{ height: 8px; position: relative; left: 0; transition: 0.3s;}
#home_concrete .concrete_list01 ul li a:hover span img{ left: 4px;}
#home_concrete .concrete_list01 ul li .txt{ margin-top: 10px;}
#home_concrete .concrete_list01 ul li .txt h3{ font-size: 1.2rem; margin-bottom:0;}
#home_concrete .concrete_list01 ul li .txt p{ font-size: 0.8rem;}
@media screen and (max-width:768px){
#home_concrete .concrete_list01{ margin: 10% auto 0;}
#home_concrete .concrete_list01 ul{ display: block; width: 100%; margin-left: 0;}
#home_concrete .concrete_list01 ul li{ display: flex; align-items: center; justify-content: space-between; width: 100%; margin: 7.5% auto 0;}
#home_concrete .concrete_list01 ul li:nth-child(2n){ flex-direction: row-reverse;}
#home_concrete .concrete_list01 ul li a{ width: 47.5%;}
#home_concrete .concrete_list01 ul li a span{ width: 6.25vw; height: 6.25vw; border-radius: 1vw; padding-bottom: 0;}
#home_concrete .concrete_list01 ul li a span img{ height: 1.25vw;}
#home_concrete .concrete_list01 ul li a:hover span img{ left: 0.5vw;}
#home_concrete .concrete_list01 ul li .txt{ width: 50%; margin-top: 0;}
#home_concrete .concrete_list01 ul li .txt h3{ font-size: 1.1rem; letter-spacing: 0;}
#home_concrete .concrete_list01 ul li .txt p{ font-size: 0.8rem;}
}

#home_concrete .concrete_list02{ margin: 60px auto 0;}
#home_concrete .concrete_list02 ul{ display: flex; width: calc(100% + 60px); margin-left: -30px;}
#home_concrete .concrete_list02 ul li{ width: calc(33.33% - 60px); margin: 0 30px;}
#home_concrete .concrete_list02 ul li a{ display: block; position: relative; z-index: 1;}
#home_concrete .concrete_list02 ul li a .box{ background: #fff; width: 100%; padding: 24px 12px 80px 12px; position: relative; z-index: 1;}
#home_concrete .concrete_list02 ul li a .box_wrap{ filter: drop-shadow(-1px 1px 0px #4A4A4A) drop-shadow(1px -1px 0px #4A4A4A) drop-shadow(-1px -1px 0 #4A4A4A) drop-shadow(1px 1px 0 #4A4A4A) ;}
#home_concrete .concrete_list02 ul li a span{ background: #BEAC4F; width: 54px; height: 54px; padding-bottom: 4px; display: flex; align-items: center; justify-content: center; position: absolute; right: 0; bottom: 0; border-radius: 8px; z-index: 3;}
#home_concrete .concrete_list02 ul li a span img{ height: 8px; position: relative; left: 0; transition: 0.3s;}
#home_concrete .concrete_list02 ul li a figure img{ width: 200px; transition: 0.3s; object-fit: cover;}
#home_concrete .concrete_list02 ul li a:hover figure img{ transform: scale(1.1);}
#home_concrete .concrete_list02 ul li a:hover span img{ left: 4px;}
#home_concrete .concrete_list02 ul li .txt{ margin-top: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center;}
#home_concrete .concrete_list02 ul li .txt h3{ font-size: 1.2rem; margin-bottom: 15px;}
#home_concrete .concrete_list02 ul li .txt p{ font-size: 0.8rem; line-height: 1.5em;}
@media screen and (max-width:768px){
#home_concrete .concrete_list02{ margin: 10% auto 0;}
#home_concrete .concrete_list02 ul{ display: block; width: 100%; margin-left: 0;}
#home_concrete .concrete_list02 ul li{ width: 100%; margin: 5% auto 0; display: block;}
#home_concrete .concrete_list02 ul li a .box{ display: flex; align-items: center; padding: 2.5vw 12.5vw 2.5vw 1.25vw;}
#home_concrete .concrete_list02 ul li a .box_wrap{ filter: drop-shadow(-1px 1px 0px #4A4A4A) drop-shadow(1px -1px 0px #4A4A4A) drop-shadow(-1px -1px 0 #4A4A4A) drop-shadow(1px 1px 0 #4A4A4A) ;}
#home_concrete .concrete_list02 ul li a span{ width: 8vw; height: 8vw; border-radius: 1.5vw; padding-bottom: 0;}
#home_concrete .concrete_list02 ul li a span img{ height: 1.25vw;}
#home_concrete .concrete_list02 ul li a:hover span img{ left: 1.25vw;}
#home_concrete .concrete_list02 ul li a figure{ width: 30%;}
#home_concrete .concrete_list02 ul li a figure img{ width: 100%}
#home_concrete .concrete_list02 ul li a:hover span img{ left: 1.25vw;}
#home_concrete .concrete_list02 ul li .txt{ width: 63.33%; margin: 0;}
#home_concrete .concrete_list02 ul li .txt h3{ font-size: 1rem; margin-bottom: 2.5%;}
#home_concrete .concrete_list02 ul li .txt p{ font-size: 0.8rem; min-height: 4.5em;}
}

/*home_company*/
#home_company{ margin: 160px auto 100px;}
#home_company dl{ display: flex; position: relative; z-index: 1; height: 720px;}
#home_company dl dt{ width: 100%; position: relative; z-index: 1;}
#home_company dl dd{ position: absolute; right: 0; top: 0; z-index: -1; width: calc(100% - 620px);}
#home_company dl dd img{ width: 600px; max-width: 600px; height: 720px; object-fit: cover; border-radius: 12px 0 0 12px;}
#home_company dl dt figure.ill{ width: 300px; position: absolute; left: 280px; top: -60px; z-index: 3;}
#home_company dl dt h2{ margin-bottom: 40px; padding-left: 60px; padding-top: 100px; position: relative;}
#home_company dl dt h2 span{ -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-size: 1.8rem; letter-spacing: 0.2em; position: absolute; left: 0; bottom: 0; word-break: keep-all; background: #fff; padding: 0.5em 0.33em 0.33em;}
#home_company dl dt h2 strong{ font-size: 5.5rem; font-weight: 500; line-height: 1em; color: #fff;}
#home_company dl dt p{ font-size: 0.9rem; margin: 40px auto;}
#home_company dl dt .btn_list{ width: 540px; display: flex; justify-content: space-between;}
#home_company dl dt .btn_list figure.btn{ margin: 0;}
#home_company dl dt .btn_list figure.btn a{ display: flex; align-items: center; justify-content: center; width: 260px; height: 60px; background: #B2A149; color: #fff; font-size: 0.8rem; font-weight: bold; border-radius: 12px; transition: 0.3s;}
#home_company dl dt .btn_list figure.btn a:hover{ opacity: 0.7;}
@media print, screen and (min-width:1366px){
#home_company dl dd img{ width: calc(50vw + 20px); min-width: calc(50vw + 20px);}
}
@media screen and (max-width:768px){
#home_company{ margin: 15% auto;}
#home_company dl{ display: block; height: auto;}
#home_company dl dt{ width: 100%;}
#home_company dl dd{ position: static; width: 100%; margin-top: 10%;}
#home_company dl dd img{ width: calc(100% + 6vw); max-width: calc(100% + 6vw); height: auto; object-fit: fill; border-radius: 1.25vw 0 0 1.25vw;}
#home_company dl dt figure.ill{ width: 40vw; left: 40vw; top: -20vw;}
#home_company dl dt h2{ margin-bottom: 5%; padding-left: 10vw; padding-top: 0;}
#home_company dl dt h2 span{ font-size: 1.2rem; letter-spacing: 0.1em;}
#home_company dl dt h2 strong{ font-size: 3.6rem;}
#home_company dl dt p{ font-size: 0.9rem; margin: 5% auto; text-align: justify;}
#home_company dl dt .btn_list{ width: 100%;}
#home_company dl dt .btn_list figure.btn{ width: calc(50% - 1.25vw);}
#home_company dl dt .btn_list figure.btn a{ width: 100%; height: 10vw; font-size: 0.8rem; border-radius: 1.25vw;}
}

/*home_recruit*/
#home_recruit{ background: url("../images/home/recruit_img.jpg") center center; background-size: cover; padding: 120px 0;}
#home_recruit .maincontent{ display: flex; flex-direction: column; align-items: center; justify-content: center;}
#home_recruit h2{ display: flex; align-items: center; justify-content: center; margin: 0 auto; padding-right: 60px; position: relative;}
#home_recruit h2 span{ -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-size: 1.8rem; letter-spacing: 0.2em; position: absolute; right: 0; top: -1em; word-break: keep-all; background: #fff; padding: 1em 0.33em;}
#home_recruit h2 strong{ font-size: 5.5rem; font-weight: 500; line-height: 1em; color: #fff; opacity: 0.3;}
#home_recruit .recruit_box{ background: #fff; width: 640px; margin: auto; text-align: center; padding: 80px 60px 60px; border-radius: 8px;}
#home_recruit .recruit_box p{ text-align: center; font-size: 0.9rem; margin-bottom: 40px;}
#home_recruit .recruit_box figure.btn{ display: flex; align-items: center; justify-content: center;}
#home_recruit .recruit_box figure.btn a{ display: flex; align-items: center; justify-content: center; width: 260px; height: 60px; background: #B2A149; color: #fff; font-size: 0.8rem; font-weight: bold; border-radius: 12px; transition: 0.3s;}
#home_recruit .recruit_box figure.btn a:hover{ opacity: 0.7;}
@media screen and (max-width:768px){
#home_recruit{ padding: 15% 0;}
#home_recruit h2{ padding-right: 7.5vw;}
#home_recruit h2 span{ font-size: 1.2rem; letter-spacing: 0.1em;}
#home_recruit h2 strong{ font-size: 3.6rem;}
#home_recruit .recruit_box{ width: 100%; padding: 12.5% 3.75% 7.5%; border-radius: 1.25vw;}
#home_recruit .recruit_box p{ font-size: 0.8rem; margin-bottom: 5%;}
#home_recruit .recruit_box figure.btn a{ width: 50vw; height: 10vw; font-size: 0.8rem; border-radius: 1.25vw;}
}

/*home_news*/
#home_news{ margin: 100px auto;}
#home_news .maincontent{ position: relative;}
#home_news figure.ill{ width: 150px; position: absolute; left: 200px; top: 20px; z-index: 3;}
#home_news h2{ padding-left: 60px; margin-bottom: 40px; position: relative;}
#home_news h2 span{ -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-size: 1.8rem; letter-spacing: 0.2em; position: absolute; left: 0; top: 0; word-break: keep-all;}
#home_news h2 strong{ font-size: 5.5rem; font-weight: 500; line-height: 1em; color: #fff;}
#home_news .news_list{ display: flex; justify-content: space-between; width: calc(100% + 120px); margin-left: -60px;}
#home_news .news_list .nav{ width: 160px; margin-top: 80px;}
#home_news .news_list .list{ width: 960px;}
#home_news .news_list .nav ul li{ margin-bottom: 15px; height: 40px; display: flex; align-items: center; justify-content: center; background: none; color: #B2A149; font-size: 0.8rem; font-weight: bold; border: 1px solid #B2A149; border-radius: 12px; transition: 0.3s; cursor: pointer;}
#home_news .news_list .nav ul li.active,
#home_news .news_list .nav ul li:hover{ background: #B2A149; color: #fff;}
#home_news .news_list .list .list_in{ display: none;}
#home_news .news_list .list .list_in.active{ display: block;}
#home_news .news_list .list ul li{ padding: 40px 0; display: flex; align-items: center; border-bottom: 1px solid #ccc;}
#home_news .news_list .list ul li:first-child{ border-top: 1px solid #ccc;}
#home_news .news_list .list ul li span.date{ font-size: 0.9rem; margin-right: 20px;}
#home_news .news_list .list ul li span.cat{ display: flex; align-items: center; justify-content: center; width: 120px; height: 36px; border: 1px solid #B2A149; border-radius: 8px; color: #B2A149; font-size: 0.8rem; font-weight: bold;}
#home_news .news_list .list ul li p{ flex: 1; margin-left: 30px; font-size: 0.9rem; overflow: hidden;}
#home_news .news_list .list ul li p a{ display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
#home_news .news_list .list ul li p a:hover{ text-decoration: underline;}
@media screen and (max-width:768px){
#home_news{ margin: 15% auto;}
#home_news figure.ill{ width: 25vw; left: auto; right: 0; top: -5vw;}
#home_news h2{ padding-left: 7.5vw; margin-bottom: 5%;}
#home_news h2 span{ font-size: 1.2rem; letter-spacing: 0.1em; top: auto; bottom: 0;}
#home_news h2 strong{ font-size: 3.6rem;}
#home_news .news_list{ display: block; width: 100%; margin: 0;}
#home_news .news_list .nav{ width: 100%; margin: 5% auto 7.5%;}
#home_news .news_list .list{ width: 100%;}
#home_news .news_list .nav ul{ display: flex; justify-content: space-between; width: 100%;}
#home_news .news_list .nav ul li{ width: calc(33.33% - 1.25vw); margin: 0; height: 7.5vw; font-size: 0.8rem; border-radius: 1.25vw;}
#home_news .news_list .list .list_in{ display: none;}
#home_news .news_list .list .list_in.active{ display: block;}
#home_news .news_list .list ul li{ padding: 5% 0; flex-wrap: wrap;}
#home_news .news_list .list ul li span.date{ font-size: 0.9rem; margin-right: 3.75%;}
#home_news .news_list .list ul li span.cat{ width: 25vw; height: 5vw; border-radius: 1.25vw; font-size: 0.8rem;}
#home_news .news_list .list ul li p{ width: 100%; margin: 2.5% auto 0; overflow: visible;}
}

#home_news figure.column_btn_more{ margin-top: 50px; display: flex; justify-content: flex-end;}
#home_news figure.column_btn_more a{ display: flex; align-items: center; justify-content: flex-end; font-size: 0.8rem; font-weight: bold; transition: 0.3s;}
#home_news figure.column_btn_more a span{ display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: #fff; border: 1px solid #4A4A4A; border-radius: 8px; position: relative; margin-left: 12px; transition: 0.3s;}
#home_news figure.column_btn_more a span:before{ content: ""; width: 16px; height: 6px; background: url("../images/ico_arrow2.svg") center center no-repeat; background-size: 100% 100%; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); transition: 0.3s;}
#home_news figure.column_btn_more a:hover span:before{ left: calc(50% + 4px);}
@media screen and (max-width:768px){
#home_news figure.column_btn_more{ margin-top: 7.5%;}
#home_news figure.column_btn_more a{ font-size: 0.9rem;}
#home_news figure.column_btn_more a span{ width: 7.5vw; height: 7.5vw; margin-left: 1.875vw; border-radius: 1.25vw;}
#home_news figure.column_btn_more a span:before{ width: 3.75vw; height: 1.25vw;}
#home_news figure.column_btn_more a:hover span:before{ left: calc(50% + 1.25vw);}
}

/*schedule*/
.schedule .maincontent{ background: #fff; max-width: 1200px; padding: 60px; position: relative; border-radius: 12px;}
.schedule figure.ill{ width: 108px; position: absolute; right: 160px; top: -20px;}
.schedule h3{ text-align: center; font-size: 1.2rem; margin-bottom: 15px;}
.schedule p.lead{ text-align: center; font-size: 0.8rem; line-height: 1.5em; margin-bottom: 60px;}
.schedule p.att{ text-align: center; font-size: 1rem; line-height: 1.5em;}
.schedule figure.g_calender{ margin: 60px auto;}
.schedule figure.g_calender iframe{ width: 100%; height: 650px; vertical-align: bottom;}
@media screen and (max-width:768px){
.schedule .maincontent{ padding: 5% 3.75%; border-radius: 1.25vw;}
.schedule figure.ill{ width: 15vw; right: 2.5vw; top: -5vw;}
.schedule h3{ font-size: 1.2rem; margin-bottom: 15px;}
.schedule p.lead{ font-size: 0.9rem; margin-bottom: 7.5%;}
.schedule p.att{ font-size: 1rem;}
.schedule figure.g_calender{ margin: 7.5% auto;}
.schedule figure.g_calender iframe{ height: 75vw;}
}





/*pages*/
/*mv*/
.page #mv02{ margin: 70px auto 100px; overflow: hidden;}
.page #mv02 .mv_in{ width: 1080px; margin: auto;}
.page #mv02 .mv_in dl{ display: flex; align-items: center; position: relative; z-index: 1; height: 460px;}
.page #mv02 .mv_in dl dt{ width: 100%;}
.page #mv02 .mv_in dl dd{ position: absolute; right: 0; top: 0; z-index: -1; width: calc(100% - 520px);}
.page #mv02 .mv_in dl dd img{ width: 700px; max-width: 700px; height: 460px; object-fit: cover; border-radius: 12px 0 0 12px;}
.page #mv02 .mv_in dl dt h1{ display: flex; flex-direction: column;}
.page #mv02 .mv_in dl dt h1 span{ font-size: 1.8rem; line-height: 1em; margin-bottom: 30px;}
.page #mv02 .mv_in dl dt h1 strong{ font-size: 4rem; font-weight: 500; line-height: 1em; color: #fff;}
.page #mv02 .mv_in dl dt .pankuzu{ margin-top: 80px;}
@media print, screen and (min-width:1366px){
.page #mv02 .mv_in dl dd img{ width: calc(50vw + 20px); min-width: calc(50vw + 20px);}
}
@media screen and (max-width:768px){
.page #mv02{ margin: 10% auto 15%;}
.page #mv02 .mv_in{ width: 88%;}
.page #mv02 .mv_in dl{ display: block; height: auto;}
.page #mv02 .mv_in dl dt{ width: 100%;}
.page #mv02 .mv_in dl dd{ position: static; width: 100%; margin-top: 10%;}
.page #mv02 .mv_in dl dd img{ width: calc(100% + 6vw); max-width: calc(100% + 6vw); height: auto; object-fit: fill; border-radius: 1.25vw 0 0 1.25vw;}
.page #mv02 .mv_in dl dt h1 span{ font-size: 1.2rem; margin-bottom: 2.5%;}
.page #mv02 .mv_in dl dt h1 strong{ font-size: 3rem;}
.page #mv02 .mv_in dl dt .pankuzu{ margin-top: 5%;}
}

/*anime*/
.page #mv02 .mv_in dl dt{ opacity: 0; top: 5vw; position: relative;}
.page #mv02 .mv_in dl dd{ opacity: 0; transition: 0.3s;}
.page.load #mv02 .mv_in dl dt{ animation: mv_in_dt ease-in-out 1.0s forwards; animation-delay: 0.3s;}
.page.load #mv02 .mv_in dl dd{ animation:mv_in_dd ease-in-out 1.0s forwards; animation-delay: 0s;}
@keyframes mv_in_dt{
0%{ opacity: 0; top: 5vw;}
100%{ opacity: 1.0; top: 0;}
}
@keyframes mv_in_dd{
0%{ opacity: 0;}
100%{ opacity: 1.0;}
}

/*pankuzu*/
.pankuzu ul{ display: flex; align-items: center; flex-wrap: wrap; font-size: 0.7rem;}
.pankuzu ul li:not(:last-child):after{ content: ""; display: inline-block; vertical-align: middle; width: 12px; height: 2px; background: #B21D23; margin: 0 12px;}
.pankuzu ul li a{ transition: 0.3s;}
.pankuzu ul li a:hover{ color: #B21D23;}
@media screen and (max-width:768px){
.pankuzu ul{ font-size: 0.8rem;}
.pankuzu ul li:not(:last-child):after{ width: 2.5vw; height: 2px; margin: 1.875vw;}
}



/*company*/
#company01{ margin-bottom: 100px; position: relative;}
#company01 h2{ display: flex; flex-direction: column; margin-bottom: 50px;}
#company01 h2 span{ font-size: 1.3rem; line-height: 1em; margin-top: 0.5em;}
#company01 h2 strong{ font-size: 5rem; line-height: 1em; color: #fff; font-weight: 500;}
#company01 .maincontent{ position: relative;}
#company01 p{ font-size: 0.9rem;}
#company01 p.sign{ font-size: 1rem; font-weight: bold; margin-top: 2em;}
#company01 figure.img01{ width: 600px; position: absolute; right: -160px; bottom: 0;}
@media screen and (max-width:768px){
#company01{ margin-bottom: 15%;}
#company01 h2{ margin-bottom: 10%;}
#company01 h2 span{ font-size: 1.2rem;}
#company01 h2 strong{ font-size: 3rem;}
#company01 p{ font-size: 0.9rem; line-height: 2em;}
#company01 figure.img01{ width: 60%; position: absolute; right: -15vw; bottom: -15vw;}
}

#company02{ height: 875px; display: flex; align-items: center; margin-bottom: 100px; position: relative;}
#company02 .maincontent{ padding-left: 420px;}
#company02 h2{ text-align: left; align-items: flex-start;}
#company02 figure.img02 img{ width: calc(50vw - 203px); min-width: calc(50vw - 203px); height: 875px; object-fit: cover; border-radius: 0 12px 12px 0; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
@media screen and (max-width:1365px){
#company02 .maincontent{ position: relative;}
#company02 figure.img02 img{ width: 480px; max-width: 480px; height: 875px; object-fit: cover; border-radius: 0 12px 12px 0; position: absolute; left: -143px; top: 50%; transform: translateY(-50%);}
}
#company02 table{ border-collapse: collapse; border-spacing: 0; font-size: 0.9rem;}
#company02 table th{ padding: 30px 0; font-weight: bold; width: 145px; border-bottom: 2px dotted #4A4A4A;}
#company02 table td{ padding: 30px 0; border-bottom: 2px dotted #4A4A4A;}
#company02 table td strong{ font-weight: 500; color: #B21D23;}
@media screen and (max-width:768px){
#company02{ height: auto; display: block; margin-bottom: 15%;}
#company02 .maincontent{ padding-left: 0;}
#company02 h2{ text-align: center; align-items: center;}
#company02 figure.img02{ margin-top: 7.5%;}
#company02 figure.img02 img{ width: calc(100% + 6vw); min-width: calc(100% + 6vw); height: 60vw; position: relative; left: -6vw; top: 0; transform: none;}
#company02 table{ width: 100%; font-size: 1rem;}
#company02 table th{ padding: 5% 0; vertical-align: middle; width: 6em;}
#company02 table td{ padding: 5% 0;}
}

#company03{ margin-bottom: 100px;}
#company03 .maincontent{ padding: 80px 0 0; position: relative; z-index: 1;}
#company03 .maincontent:after{ content: ""; width: 1920px; height: calc(100% - 80px); background: #fff; position: absolute; right: -60px; top: 0; z-index: -1;}
#company03 h3{ text-align: center; font-size: 1.4rem; margin-bottom: 50px;}
#company03 .license{ border: 2px solid #4A4A4A; padding: 60px 30px; border-radius: 12px; margin-bottom: 140px;}
#company03 .license ul{ display: flex; flex-wrap: wrap; margin: -10px 0;}
#company03 .license ul li{ width: 50%; padding-left: 64px; margin: 10px 0; position: relative;}
#company03 .license ul li:before{ content: ""; width: 10px; height: 10px; background: #BEAC4F; border-radius: 50%; position: absolute; left: 40px; top: 50%; transform: translateY(-50%);}

#company03 .company03_list dl{ display: flex; align-items: center; justify-content: space-between; margin-top: 0; padding-top: 80px;}
#company03 .company03_list dl:nth-child(1){ margin-top: -80px;}
#company03 .company03_list dl:nth-child(2n){ flex-direction: row-reverse;}
#company03 .company03_list dl dt{ position: relative;}
#company03 .company03_list dl dd p{ font-size: 0.8rem; line-height: 2.4em;}
#company03 .company03_list dl dd .btn{ margin-top: 60px;}
#company03 .company03_list dl dd .btn a{ margin-top: 20px; display: flex; align-items: center; justify-content: center; width: 380px; height: 60px; background: #B2A149; color: #fff; border-radius: 12px; font-size: 0.8rem; font-weight: bold;}
#company03 .company03_list dl:nth-child(1) dt{ width: 580px;}
#company03 .company03_list dl:nth-child(1) dt h4{ width: 50px; position: absolute; left: 40px; top: -60px;}
#company03 .company03_list dl:nth-child(1) dd{ width: calc(100% - 580px); padding-left: 30px;}
#company03 .company03_list dl:nth-child(2) dt{ width: 580px;}
#company03 .company03_list dl:nth-child(2) dt h4{ width: 50px; position: absolute; right: 40px; top: -60px;}
#company03 .company03_list dl:nth-child(2) dd{ width: calc(100% - 580px);}
#company03 .company03_list dl:nth-child(3){ align-items: flex-start;}
#company03 .company03_list dl:nth-child(3) dt{ width: 540px; height: 780px; position: relative; z-index: 1;}
#company03 .company03_list dl:nth-child(3) dt figure img{ width: 50vw; max-width: 50vw; height: 780px; object-fit: cover; border-radius: 0 20px 20px 0; position: absolute; right: 0; z-index: -1;}
@media screen and (max-width:1365px){
#company03 .company03_list dl:nth-child(3) dt figure img{ width: 683px; max-width: 683px;}
}
#company03 .company03_list dl:nth-child(3) dt h4{ width: 50px; position: absolute; left: 0; top: -60px;}
#company03 .company03_list dl:nth-child(3) dd{ width: calc(100% - 540px); padding-left: 80px; padding-right: 40px;}
#company03 .company03_list dl:nth-child(3) dd p{ font-size: 0.9rem; letter-spacing: 0.04em;}
@media screen and (max-width:768px){
#company03{ margin-bottom: 15%;}
#company03 .maincontent{ padding: 10vw 0 0;}
#company03 .maincontent:after{height: calc(100% - 10vw); right: -3vw;}
#company03 h3{ font-size: 1.2rem; margin-bottom: 7.5%;}
#company03 .license{ padding: 7.5% 5%; margin-bottom: 15%;}
#company03 .license ul{ display: block; margin: 0 auto;}
#company03 .license ul li{ width: 100%; padding-left: 3.75vw; margin: 3.75% auto 0; font-size: 0.9rem;}
#company03 .license ul li:first-child{ margin-top: 0;}
#company03 .license ul li:before{ width: 1.875vw; height: 1.875vw; left: 0;}

#company03 .company03_list dl{ display: block; margin-top: 0; padding-top: 10%;}
#company03 .company03_list dl:nth-child(1){ margin-top: -10%;}
#company03 .company03_list dl dd p{ font-size: 0.9rem; line-height: 2em;}
#company03 .company03_list dl dd .btn{ margin-top: 7.5%;}
#company03 .company03_list dl dd .btn a{ margin-top: 3.75%; width: 100%; height: 12.5vw; font-size: 0.9rem;}
#company03 .company03_list dl:nth-child(1) dt{ width:100%;}
#company03 .company03_list dl:nth-child(1) dt h4{ width: 7.5vw; left: 3.75vw; top: -5vw;}
#company03 .company03_list dl:nth-child(1) dd{ width: 100%; padding: 5% 5% 0;}
#company03 .company03_list dl:nth-child(2) dt{ width: 100%;}
#company03 .company03_list dl:nth-child(2) dt h4{ width: 7.5vw; right: 3.75vw; top: -5vw;}
#company03 .company03_list dl:nth-child(2) dd{ width: 100%; padding: 5% 5% 0;}
#company03 .company03_list dl:nth-child(3) dt{ width: 100%; height: auto;}
#company03 .company03_list dl:nth-child(3) dt figure img{ width: 100%; max-width: 100%; height: 60vw; position: static;}
#company03 .company03_list dl:nth-child(3) dt h4{ width: 7.5vw; left: 3.75vw; top: -5vw;}
#company03 .company03_list dl:nth-child(3) dd{ width: 100%; padding: 5% 5% 0;}
#company03 .company03_list dl:nth-child(3) dd p{ font-size: 0.9rem; letter-spacing: 0;}
}

#company04 .maincontent{ position: relative;}
#company04 figure.ill{ width: 200px; position: absolute; left: 180px; top: 0;}
#company04 .gmap iframe{ width: 100%; height: 480px; border-radius: 20px;}
@media screen and (max-width:768px){
#company04 figure.ill{ width: 20vw; left: 0; top: 2.5vw;}
#company04 .gmap iframe{ height: 60vw;}
}



/*history*/
.history{ background: #C43238; padding-top: 0 !important;}
.history:after{ display: none;}
.history header  figure.logo{ background: #fff; border-radius: 0 0 12px 0;}
.history header nav{ color: #fff;}
.history header.scroll nav{ color: #4A4A4A;}
.history header nav ul li.parent .child .child_in{ color: #4A4A4A;}
@media screen and (max-width:768px){
.history header{ background: #fff;}
.history header  figure.logo{ border-radius: 0;}
}

.history #mv_hisotry{ height: 580px; display: flex; align-items: center; justify-content: center; background: url("../images/history/mv.jpg") center center no-repeat; background-size: cover;}
.history #mv_hisotry h1{ display: flex; width: 1080px; margin: auto;}
.history #mv_hisotry h1 img{ width: 310px;}
@media screen and (max-width:768px){
.history #mv_hisotry{ height: 100vw; padding-top: 12.5vw;}
.history #mv_hisotry h1{ width: 88%;}
.history #mv_hisotry h1 img{ width: 66.66%;}
}

.history .pankuzu{ width: 1080px; margin: 20px auto 40px; color: #fff;}
.history .pankuzu ul li:not(:last-child)::after{ background: #fff;}
.history .pankuzu ul li a:hover{ color: #fff;}
@media screen and (max-width:768px){
.history .pankuzu{ width: 88%; margin: 3.75% auto;}
}

#history #history_in{ color: #fff;}
#history #history_in:before{ content: ""; width: 1300px; height: 8px; background: #CB585D; position: absolute; left: 50%; top: 0; transform: translateX(-50%); margin: auto;}
#history #history_in:after{ content: ""; width: 1300px; height: 8px; background: #CB585D; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); margin: auto;}
#history #history_in2:before{ content: ""; width: 900px; height: 8px; background: #CB585D; position: absolute; left: 50%; top: 20px; transform: translateX(-50%); margin: auto;}
#history #history_in2:after{ content: ""; width: 900px; height: 8px; background: #CB585D; position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); margin: auto;}
#history .maincontent{ padding: 120px 0; position: relative;}
#history .maincontent:before{ content: ""; width: 8px; height: 100%; background: #CB585D; position: absolute; left: -110px; top: 0;}
#history .maincontent:after{ content: ""; width: 8px; height: 100%; background: #CB585D; position: absolute; right: -110px; top: 0;}
#history .ico01{ position: absolute; left: -110px; top: 0; width: 82px; background: #C43238; transform: rotate(90deg); z-index: 5;}
#history .ico02{ position: absolute; right: -110px; top: 0; width: 82px; background: #C43238; transform: rotate(0deg); z-index: 5;}
#history .ico03{ position: absolute; left: -110px; bottom: 0; width: 82px; background: #C43238; transform: rotate(180deg); z-index: 5;}
#history .ico04{ position: absolute; right: -110px; bottom: 0; width: 82px; background: #C43238; transform: rotate(270deg); z-index: 5;}
@media screen and (max-width:768px){
#history #history_in:before{ width: 100%; height: 0.625vw;}
#history #history_in:after{ width: 100%; height: 0.625vw;}
#history #history_in2:before{ width: 75%; height: 0.625vw; top: 2.5vw;}
#history #history_in2:after{ width: 75%; height: 0.625vw; bottom: 2.5vw;}
#history .maincontent{ padding: 15% 1.875%;}
#history .maincontent:before{ width: 0.625vw; left: -3.75vw;}
#history .maincontent:after{ width: 0.625vw; right: -3.75vw;}
#history .ico01{ left: -3.75vw; top: 0; width: 7.5vw;}
#history .ico02{ right: -3.75vw; top: 0; width: 7.5vw;}
#history .ico03{ left: -3.75vw; bottom: 0; width: 7.5vw;}
#history .ico04{ right: -3.75vw; bottom: 0; width: 7.5vw;}
}

#history h2{ text-align: center; font-size: 1.6rem; margin-bottom: 50px;}
#history p.lead{ text-align: center; font-size: 0.9rem;}
@media screen and (max-width:768px){
#history h2{ font-size: 1.2rem; margin-bottom:7.5%;}
#history p.lead{ font-size: 0.9rem; text-align: justify;}
}

.history_list{ margin-top: 120px; position: relative;}
.history_list:before{ content: ""; width: 1px; height: 100%; border-left: 1px dashed #fff; position: absolute; left: 50%; top: 0; transform: translateX(-50%);}
.history_list h3{ width: 800px; background: #C43238; border: 1px solid #fff; border-left: none; border-radius: 0 8px 8px 0; font-size: 1.3rem; text-align: center; padding: 0.5em; margin: 0 auto 60px;}
@media screen and (max-width:768px){
.history_list{ margin-top: 15%;}
.history_list h3{ width: 100%; font-size: 1.2rem; margin-bottom: 7.5%;}
}

.history_list ul li{ display: flex; flex-direction: column; width: 450px; margin: 0 0 0 auto;}
.history_list ul li h4{ display: flex; align-items: flex-end; color: #fff; margin-bottom: 15px; position: relative;}
.history_list ul li h4:before{ content: ""; width: 80px; height: 2px; background: #fff; position: absolute; left: -90px; top: 50%; transform: translateY(-50%);}
.history_list ul li h4:after{ content: ""; width: 10px; height: 10px; background: #fff; border-radius: 50%; position: absolute; left: -95px; top: 50%; transform: translateY(-50%);}
.history_list ul li h4 strong{ font-size: 1.8rem; line-height: 1em; font-weight: 500;}
.history_list ul li h4 span{ font-size: 0.8rem; line-height: 1em; font-weight: 600; padding-bottom: 0.25em; margin-left: 0.75em;}
.history_list ul li:nth-child(2){ margin: 0 auto 0 0;}
.history_list ul li:nth-child(2) h4{ flex-direction: row-reverse;}
.history_list ul li:nth-child(2) h4:before{ left: auto; right: -90px;}
.history_list ul li:nth-child(2) h4:after{ left: auto; right: -95px;}
.history_list ul li:nth-child(2) h4 span{ margin-left: 0; margin-right: 0.75em;}
.history_list ul li dl{ background: #fff; color: #4A4A4A; padding: 30px; border-radius: 12px;}
.history_list ul li dl dt{ margin-bottom: 20px;}
.history_list ul li dl dt figure img{ width: 100%; border-radius: 12px;}
.history_list ul li dl dt .cat{ display: flex; margin-bottom: 20px;}
.history_list ul li dl dt .cat span{ display: flex; align-items: center; justify-content: center; background: #4A4A4A; color: #fff; padding: 0.5em 1em; font-size: 0.8rem; border-radius: 8px;}
.history_list ul li dl dd{ margin-bottom: 20px;}
.history_list ul li dl dd h5{ font-size: 0.9rem; margin-bottom: 5px;}
.history_list ul li dl dd p{ font-size: 0.8rem; letter-spacing: 0.04em; text-align: justify; line-height: 2em;}
.history_list ul li dl dd .box{ border: 2px solid #5F0303; padding: 15px 20px; border-radius: 12px;}
.history_list ul li dl dd .box p{ font-size: 0.8rem; font-weight: 400; color: #5F0303; margin-bottom: 0;}
.history_list ul li dl dd .box p.sign{ text-align: right; margin-top: 0.5em;}
.history_list ul li dl dt:last-child,
.history_list ul li dl dd:last-child{ margin-bottom: 0;}
@media screen and (max-width:768px){
.history_list ul li{ width: 100%; margin: 0 0 10% 0;}
.history_list ul li h4{ margin-bottom: 2.5%; padding-left: calc(50% + 3.75vw);}

.history_list ul li h4:before{ width: 3.75vw; left: 50%;}
.history_list ul li h4:after{ width: 12px; height: 12px; left: calc(50% - 7px);}
.history_list ul li:nth-child(2) h4{ padding: 0 calc(50% + 5vw) 0 0;}
.history_list ul li:nth-child(2) h4:before{ right: 50%;}
.history_list ul li:nth-child(2) h4:after{ right: calc(50% - 5px);}

.history_list ul li h4 strong{ margin-left: 0.25em; font-size: 1.6rem;}
.history_list ul li h4 span{ font-size: 0.8rem;}
.history_list ul li:nth-child(2){ margin: 0 0 10% 0;}
.history_list ul li:nth-child(2) h4 span{ margin-right: 0.25em;}
.history_list ul li dl{ padding: 1.875vw;}
.history_list ul li dl dt{ margin-bottom: 3.75%;}
.history_list ul li dl dt figure img{ width: 100%;}
.history_list ul li dl dt .cat{ margin-bottom: 3.75%;}
.history_list ul li dl dt .cat{ font-size: 0.8rem;}
.history_list ul li dl dd{ margin-bottom: 3.75%;}
.history_list ul li dl dd h5{ font-size: 0.9rem; margin-bottom: 1.25%;}
.history_list ul li dl dd p{ font-size: 0.8rem;}
.history_list ul li dl dd .box{ padding: 2.5% 3.75%;}
.history_list ul li dl dd .box p{ font-size: 0.8rem;}
}

.history_list .history01{ /*padding-bottom: 80px;*/ margin-bottom: 100px; position: relative;}
.history_list .history01 .age01{ width: 140px; position: absolute; right: -100px; top: -200px;}
.history_list .history01 .age02{ width: 140px; position: absolute; left: -100px; top: 80px;}
.history_list .history01 .ill{ width: 266px; position: absolute; right: 110px; bottom: 0;}
.history_list .history01 ul li:nth-child(2){ margin-top: -240px;}
@media screen and (max-width:768px){
.history_list .history01{ padding-bottom: 0; margin-bottom: 15%;}
.history_list .history01 .age01{ display: none;}
.history_list .history01 .age02{ display: none;}
.history_list .history01 .ill{ position: static; width: 40%; margin: 10% 0 0 auto;}
.history_list .history01 ul li:nth-child(2){ margin-top: 0;}
}

.history_list .history02{ margin-bottom: 100px; position: relative;}
.history_list .history02 .age03{ width: 140px; position: absolute; right: -100px; top: 1000px;}
.history_list .history02 .ill{ width: 280px; position: absolute; left: 90px; bottom: 220px;}
.history_list .history02 ul li:nth-child(2){ margin-top: -500px;}
.history_list .history02 ul li:nth-child(3){ margin-top: -100px;}
@media screen and (max-width:768px){
.history_list .history02{ margin-bottom:15%;}
.history_list .history02 .age03{ display: none;}
.history_list .history02 .ill{ position: static; width: 40%; margin: 10% 0 0 5vw;}
.history_list .history02 ul li:nth-child(2){ margin-top: 0;}
.history_list .history02 ul li:nth-child(3){ margin-top: 0;}
}

.history_list .history03{ margin-bottom: 100px; position: relative;}
.history_list .history03 .ill{ width: 250px; position: absolute; right: 110px; bottom: 200px;}
.history_list .history03 ul li{ margin: 0 auto 0 0;}
.history_list .history03 ul li h4{ flex-direction: row-reverse;}
.history_list .history03 ul li h4:before{ left: auto; right: -90px;}
.history_list .history03 ul li h4:after{ left: auto; right: -95px;}
.history_list .history03 ul li h4 span{ margin-left: 0; margin-right: 0.75em;}
@media screen and (max-width:768px){
.history_list .history03{ margin-bottom:15%;}
.history_list .history03 .ill{ position: static; width: 40%; margin: 10% 0 0 auto;}
.history_list .history03 ul li{ margin: 0 0 10% 0;}

.history_list .history03 ul li h4{ padding: 0 calc(50% + 5vw) 0 0;}
.history_list .history03 ul li h4:before{ right: 50%; left: auto;}
.history_list .history03 ul li h4:after{ right: calc(50% - 5px); left: auto;}
.history_list .history03 ul li h4 span{ margin-left: 0.25em; margin-right: 0;}
}

.history_list .history04{ margin-bottom: 250px; position: relative;}
.history_list .history04 .age04{ width: 140px; position: absolute; left: -100px; bottom: -240px;}
.history_list .history04 .ill{ width: 445px; position: absolute; left: 0px; bottom: 160px;}
@media screen and (max-width:768px){
.history_list .history04{ margin-bottom: 15%;}
.history_list .history04 .age04{ display: none;}
.history_list .history04 .ill{ position: static; width: 60%; margin: 10% 0 0 5vw;}
}

.history_list .history05{ margin-bottom: 100px; background: #F5F5F5; color: #4A4A4A; padding: 120px 70px 120px 290px; position: relative; z-index: 1;}
.history_list .history05:before{ content: ""; width: 40px; height: 100%; background: #F5F5F5; position: absolute; left: -30px; top: 0; z-index: -1; border-radius: 12px 0 0 12px;}
.history_list .history05:after{ content: ""; width: 40px; height: 100%; background: #F5F5F5; position: absolute; right: -30px; top: 0; z-index: -1; border-radius: 0 12px 12px 0;}
.history_list .history05 h6.tit_ico01{ width: 50px; position: absolute; left: 130px; top: -70px;}
.history_list .history05 p{ font-size: 0.9rem; margin-bottom: 0;}
.history_list .history05 p.sign{ text-align: right; font-size: 1rem; font-weight: bold; margin-top: 2em;}
.history_list .history05 .ill{ width: 240px; position: absolute; left: 20px; bottom: 60px;}
.history_list .history05 .ill img{ border-radius: 60px;}
@media screen and (max-width:768px){
.history_list .history05{ margin-bottom: 15%; margin-left: 5vw; padding: 10% 3.75% 7.5% 7.5%; border-radius: 12px 0 0 12px;}
.history_list .history05:before{ display: none;}
.history_list .history05:after{ width: 3.75vw; right: -2.5vw;}
.history_list .history05 h6.tit_ico01{ width: 7.5vw; position: absolute; left: -3.75vw; top: -0.75em;}
.history_list .history05 p{ font-size: 0.8rem; text-align: justify;}
.history_list .history05 p.sign{ font-size: 1rem;}
.history_list .history05 .ill{ position: static; width: 50%; margin: 7.5% auto 0;}
.history_list .history05 .ill img{ border-radius: 12.5vw;}
}

.history_list .history06{ background: #C43238; position: relative;}
.history_list .history06 p{ text-align: center; font-size: 0.9rem;}
@media screen and (max-width:768px){
.history_list .history06 p{ text-align: justify;}
}



/*recruit*/
.recruit{ padding-top: 0 !important;}
.recruit:after{ display: none;}
.recruit header figure.logo{ background: #fff; border-radius: 0 0 12px 0;}
.recruit header nav{ color: #fff;}
.recruit header.scroll nav{ color: #4A4A4A;}
.recruit header nav ul li.parent .child .child_in{ color: #4A4A4A;}
@media screen and (max-width:768px){
.recruit header{ background: #fff;}
.recruit header  figure.logo{ border-radius: 0;}
}

.recruit #mv_recruit{ padding-top: 90px; height: 720px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: url("../images/recruit/mv_bg.jpg") center center no-repeat; background-size: cover; position: relative; padding-bottom: 20px;}
.recruit #mv_recruit h1{ margin: 0 0 -10px; text-align: center;}
.recruit #mv_recruit h1 img{ height: 140px; margin-left: 0;}
.recruit #mv_recruit p{ color: #fff; font-size: 1.4rem; line-height: 1.5em; font-weight: 600; margin-bottom: 30px;}
.recruit #mv_recruit figure.ill{ width: 200px;}
.recruit #mv_recruit span.ico{ position: absolute; left: 0; bottom: -2px;}
.recruit #mv_recruit span.ico img{ height: 80px;}
@media screen and (max-width:768px){
.recruit #mv_recruit{ height: 100vw; padding-top: 12.5vw; padding-bottom: 0;}
.recruit #mv_recruit h1{ margin: 0;}
.recruit #mv_recruit h1 img{ height: auto; width: 100%; margin-left: 0;}
.recruit #mv_recruit p{ text-align: center; font-size: 1.2rem; margin-bottom: 5%;}
.recruit #mv_recruit figure.ill{ width: 25vw;}
.recruit #mv_recruit span.ico{ position: absolute; left: 0; bottom: -2px;}
.recruit #mv_recruit span.ico img{ height: auto; width: 94%;}
}

.recruit .pankuzu{ width: 1080px; margin: 20px auto 80px;}
@media screen and (max-width:768px){
.recruit .pankuzu{ width: 88%; margin: 3.75% auto 10%;}
}

#recruit_lead p.txt{ text-align: center; font-size: 1rem; margin-bottom: 30px;}
#recruit_lead h3{ text-align: center; margin-bottom: 80px; font-size: 1.95rem;}
#recruit_lead h3 strong{ display: inline-block; position: relative;}
#recruit_lead h3 strong:before{ content: ""; width: 52px; height: 52px; background: url("../images/recruit/creed_tit_ico1.png") center center no-repeat; background-size: 100%; position: absolute; left: -62px; bottom: 5px;}
#recruit_lead h3 strong:after{ content: ""; width: 52px; height: 52px; background: url("../images/recruit/creed_tit_ico2.png") center center no-repeat; background-size: 100%; position: absolute; right: -62px; bottom: 5px;}

#recruit_lead .creed ul{ display: flex; width: calc(100% + 30px); margin-left: -15px;}
#recruit_lead .creed ul li{ width: calc(33.33% - 30px); margin: 0 15px; background: #fff; padding: 50px 40px; border-radius: 40px; position: relative;}
#recruit_lead .creed ul li span.num{ width: 40px; position: absolute; left: 20px; top: -20px;}
#recruit_lead .creed ul li h4{ display: flex; align-items: center; justify-content: center; text-align: center; font-size: 1rem; line-height: 1.5em; min-height: 3em; margin-bottom: 20px;}
#recruit_lead .creed ul li p{ text-align: justify; font-size: 0.8rem;}
#recruit_lead .creed ul li p strong{ background: linear-gradient(to bottom, rgba(237,233,211,0) 0%, rgba(237,233,211,0) 50%, rgba(237,233,211,1) 51%, rgba(237,233,211,1) 100%);}

#recruit_lead .kosodate{ margin-top: 60px; background: #EDE9D3; display: flex; align-items: center; justify-content: center; width: 100%; height: 160px; border-radius: 80px; position: relative;}
#recruit_lead .kosodate figure.ill{ width: 170px; position: absolute; left: -50px; bottom: -10px;}
#recruit_lead .kosodate dl{ display: flex; align-items: center; justify-content: center; margin: auto;}
#recruit_lead .kosodate dl dt{ width: 98px; margin-right: 32px;}
#recruit_lead .kosodate dl dd p{ text-align: center; font-size: 1.1rem; line-height: 1.75em; font-weight: bold;}
@media screen and (max-width:768px){
#recruit_lead p.txt{ font-size: 1rem; margin-bottom: 5%;}
#recruit_lead h3{ margin-bottom: 10%; font-size: 1.6rem;}
#recruit_lead h3 strong:before{ width: 10vw; height: 10vw; left: -11.25vw; bottom: 1.25vw;}
#recruit_lead h3 strong:after{ width: 10vw; height: 10vw; right: -11.25vw; bottom: 1.25vw;}

#recruit_lead .creed ul{ display: block; width: 100%; margin: 0 auto;}
#recruit_lead .creed ul li{ width: 100%; margin: 7.5% auto 0; padding: 5%; border-radius: 2.5vw;}
#recruit_lead .creed ul li span.num{ width: 6.25vw; left: 2.5vw; top: -3.75vw;}
#recruit_lead .creed ul li h4{ font-size: 1rem; min-height: 1.5em; margin-bottom: 3.75%;}
#recruit_lead .creed ul li p{ font-size: 0.8rem;}

#recruit_lead .kosodate{ margin-top: 10%; height: auto; border-radius: 2.5vw; padding: 5% 0;}
#recruit_lead .kosodate figure.ill{ width: 25vw; left: auto; right: -6vw; bottom: -5vw;}
#recruit_lead .kosodate dl dt{ width: auto; margin-right: 2.5vw;}
#recruit_lead .kosodate dl dt img{ width: 20vw;}
#recruit_lead .kosodate dl dd p{ font-size: 0.9rem;}
}

#recruit_recruitment{ margin-top: 210px;}
#recruit_recruitment .maincontent{ padding: 20px 540px 60px 0; position: relative; z-index: 1;}
#recruit_recruitment .maincontent:after{ content: ""; width: 1920px; height: 100%; background: #fff; border-radius: 0 20px 20px 0; position: absolute; right: 30px; top: 0; z-index: -1;}
#recruit_recruitment h2{ font-size: 5rem; line-height: 1em; color: #fff; position: absolute; left: -140px; top: -0.8em;}

#recruit_recruitment .recruitment_box{ margin-top: 40px;}
#recruit_recruitment .recruitment_box span.cat{ display: flex; align-items: center; background: #BEAC4F; width: 200px; height: 60px; border-radius: 0 30px 30px 0; font-size: 1.3rem; color: #fff; font-weight: bold; position: relative; margin-bottom: 30px;}
#recruit_recruitment .recruitment_box span.cat:after{ content: ""; width: 1920px; height: 100%; background: #BEAC4F; position: absolute; left: -1920px; top: 0;}
#recruit_recruitment .recruitment_box h3{ text-align: center; font-size: 1.3rem; margin-bottom: 30px;}
#recruit_recruitment .recruitment_box h4{ margin: 30px auto 20px; padding-left: 60px; font-size: 1.2rem; color: #BEAC4F; position: relative;}
#recruit_recruitment .recruitment_box h4:before{ content: ""; width: 40px; height: 2px; background: #BEAC4F; position: absolute; left: 0; top: 0.75em;}
#recruit_recruitment .recruitment_box p{ font-size: 0.9rem; line-height: 1.9em; text-align: justify;}
#recruit_recruitment .img_list ul li.img01{ width: 500px; position: absolute; right: -60px; top: 160px;}
#recruit_recruitment .img_list ul li.img02{ width: 500px; position: absolute; right: -140px; top: 900px;}
@media screen and (max-width:768px){
#recruit_recruitment{ margin-top: 25%;}
#recruit_recruitment .maincontent{ padding: 2.5vw 0 10% 0;}
#recruit_recruitment .maincontent:after{ width: 100vw; border-radius: 0 2.5vw 2.5vw 0; right: -3.75vw;}
#recruit_recruitment h2{ font-size: 2.75rem; top: -0.8em; left: -3.75vw}

#recruit_recruitment .recruitment_box{ margin-top: 7.5%;}
#recruit_recruitment .recruitment_box span.cat{ width: 33.33%; height: 10vw; border-radius: 0 5vw 5vw 0; font-size: 1.2rem; margin-bottom: 5%;}
#recruit_recruitment .recruitment_box span.cat:after{ width: 100vw; left: -100vw;}
#recruit_recruitment .recruitment_box h3{ font-size: 1.2rem; margin-bottom: 5%;}
#recruit_recruitment .recruitment_box h4{ margin: 5% auto; padding-left: 7.5vw; font-size: 1.1rem;}
#recruit_recruitment .recruitment_box h4:before{ width: 5vw; height: 2px;}
#recruit_recruitment .recruitment_box p{ font-size: 0.9rem; line-height: 1.75em;}
#recruit_recruitment .img_list{ margin-top: 7.5%;}
#recruit_recruitment .img_list ul{ display: flex; justify-content: space-between; align-items: flex-end;}
#recruit_recruitment .img_list ul li.img01{ width: 47.5%; position: static;}
#recruit_recruitment .img_list ul li.img02{ width: 47.5%; position: static;}
}

#recruit_career{ margin-top: 100px;}
#recruit_career .career_list{ display: flex; width: calc(100% + 20px); margin-left: -10px;}
#recruit_career .career_step{ width: calc(25% - 20px); margin: 0 10px;}
#recruit_career .career_step figure img{ height: 150px;}
#recruit_career .career_step h4{ display: flex; align-items: flex-end; justify-content: center; margin: 10px auto;}
#recruit_career .career_step h4 span{ font-size: 1.45rem; line-height: 1em; margin-right: 0.5em;}
#recruit_career .career_step h4 strong{ font-size: 2.25rem; line-height: 1em;}
#recruit_career .career_step h5{ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: #000; color: #fff; border-radius: 12px;}
#recruit_career .career_step h5 strong{ width: 100%; font-size: 1.25rem; margin-bottom: 10px; position: relative;}
#recruit_career .career_step h5 strong:after{ content: ""; width: 50px; height: 0; border-bottom: 1px dotted #FFF; position: absolute; left: 0; right: 0; bottom: -5px; margin: auto;}
#recruit_career .career_step h5 span{ width: 100%; font-size: 0.85rem; line-height: 1.5em;}
#recruit_career .career_step ul{ margin-top: 20px;}
#recruit_career .career_step ul li{ margin-top: 10px; font-size: 0.9rem; padding: 0 12px 0 24px; text-align: justify; position: relative;}
#recruit_career .career_step ul li:before{ content: ""; width: 10px; height: 10px; background: #BEAC4F; position: absolute; left: 0; top: 0.5em; border-radius: 50%;}

#recruit_career .career_step.step01{ padding-top: calc(400px - 100px);}
#recruit_career .career_step.step01 h5{ height: 100px;}
#recruit_career .career_step.step02{ padding-top: calc(400px - 200px);}
#recruit_career .career_step.step02 h5{ height: 200px;}
#recruit_career .career_step.step03{ padding-top: calc(400px - 300px);}
#recruit_career .career_step.step03 h5{ height: 300px;}
#recruit_career .career_step.step04{ padding-top: 0;}
#recruit_career .career_step.step04 h5{ height: 400px;}
#recruit_career .career_step:nth-child(2n+1) h4{ color: #3D8A5F;}
#recruit_career .career_step:nth-child(2n+1) h5{ background: #3D8A5F;}
#recruit_career .career_step:nth-child(2n+1) ul li:before{ background: #3D8A5F;}
#recruit_career .career_step:nth-child(2n) h4{ color: #BEAC4F;}
#recruit_career .career_step:nth-child(2n) h5{ background: #BEAC4F;}
#recruit_career .career_step:nth-child(2n) ul li:before{ background: #BEAC4F;}
@media screen and (max-width:768px){
#recruit_career{ margin-top: 15%;}
#recruit_career .career_list{ display: block; width: 100%; margin: 0;}
#recruit_career .career_step{ width: 100%; margin: 10% auto 0; position: relative;}
#recruit_career .career_step dl dt{ display: flex; align-items: center; justify-content: center;}
#recruit_career .career_step figure{ margin: 0; position: absolute; right: -5vw; bottom: 0;}
#recruit_career .career_step figure img{ height: 20vw;}
#recruit_career .career_step h4{ margin: 0 5% 0 0;}
#recruit_career .career_step h4 span{ font-size: 1.2rem;}
#recruit_career .career_step h4 strong{ font-size: 1.8rem;}
#recruit_career .career_step h5{ width: 50vw; border-radius: 12px;}
#recruit_career .career_step h5 strong{ font-size: 1.2rem; margin-bottom: 5%;}
#recruit_career .career_step h5 strong:after{ width: 12.5vw; bottom: -1.25vw;}
#recruit_career .career_step h5 span{ font-size: 0.8rem;}
#recruit_career .career_step ul{ margin-top: 20px;}
#recruit_career .career_step ul li{ margin-top: 10px; font-size: 0.9rem; padding: 0 12px 0 24px; text-align: justify; position: relative;}
#recruit_career .career_step ul li:before{ content: ""; width: 10px; height: 10px; background: #BEAC4F; position: absolute; left: 0; top: 0.5em; border-radius: 50%;}

#recruit_career .career_step.step01{ padding-top: 0;}
#recruit_career .career_step.step01 h5{ height: 20vw;}
#recruit_career .career_step.step02{ padding-top: 0;}
#recruit_career .career_step.step02 h5{ height: 20vw}
#recruit_career .career_step.step03{ padding-top: 0;}
#recruit_career .career_step.step03 h5{ height: 20vw;}
#recruit_career .career_step.step04{ padding-top: 0;}
#recruit_career .career_step.step04 h5{ height: 20vw;}
}

#recruit_nav{ margin-top: 120px;}
#recruit_nav .maincontent{ background: #fff; padding: 40px 0 60px; border-radius: 20px; position: relative;}
#recruit_nav .ico01{ width: 140px; position: absolute; right: -20px; top: -20px;}
#recruit_nav .ico02{ width: 180px; position: absolute; left: 0; bottom: -50px;}
#recruit_nav ul{ display: flex; flex-wrap: wrap; width: 870px; margin: -15px auto;}
#recruit_nav ul li{ width: calc(33.33% - 30px); margin: 15px;}
#recruit_nav ul li a{ width: 100%; height: 60px; display: flex; align-items: center; justify-content: center; background: #BEAC4F; color: #fff; font-size: 1rem; font-weight: bold; padding-right: 20px; border-radius: 8px; position: relative; transition: 0.3s;}
#recruit_nav ul li a i{ position: absolute; right: 15px; top: 50%; transform: translateY(-50%);}
#recruit_nav ul li a:hover{ opacity: 0.7;}
@media screen and (max-width:768px){
#recruit_nav{ margin-top: 15%;}
#recruit_nav .maincontent{ padding: 5% 1.25vw 10%; border-radius: 2.5vw;}
#recruit_nav .ico01{ width: 20vw; right: -2.5vw; top: -2.5vw;}
#recruit_nav .ico02{ width: 25vw; left: 0; bottom: -5vw;}
#recruit_nav ul{ width: 100%; margin: -1.25vw 0;}
#recruit_nav ul li{ width: calc(50% - 2.5vw); margin: 1.25vw;}
#recruit_nav ul li a{ width: 100%; height: 10vw; font-size: 0.8rem; padding-right: 2.5vw; border-radius: 1.25vw;}
#recruit_nav ul li a i{ right: 2.5vw;}
}

#job01{ margin-top: 100px; padding-top: 60px;}
#job02{ margin-top: 80px; padding-top: 60px;}
.job_detail{ border: 4px solid #BEAC4F; background: #fff; padding: 50px; border-radius: 0 12px 12px 12px; position: relative;}
.job_detail figure.ill{ width: 270px; position: absolute; right: 10px; top: -70px;}
.job_detail h2{ display: flex; align-items: center; justify-content: center; width:260px; height: 60px; background: #BEAC4F; color: #fff; font-size: 1.4rem; position: absolute; left: -4px; top: -60px; border-radius: 20px 20px 0 0;}
.job_detail h3{ display: flex; align-items: center; padding-left: 28px; margin-bottom: 50px; position: relative;}
.job_detail h3:before{ content: ""; width: 14px; height: 14px; background: #3D8A5F; border-radius: 50%; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
.job_detail h3 strong{ font-size: 1.2rem; line-height: 1em;}
.job_detail h3 span{ display: flex; align-items: center; justify-content: center; border: 2px solid #3D8A5F; border-radius: 30px; font-size: 0.8rem; line-height: 1em; font-weight: 500; color: #3D8A5F; padding: 0.25em 1em; min-width: 120px; margin-left: 1em;}
.job_detail h3 span.red{ border-color: #B21D23; color: #B21D23;}
.job_detail figure.img{ margin: 30px auto;}
.job_detail figure.img img{ width: 400px; border-radius: 20px;}
.job_detail hr{ width: 100%; height: 0; border: none; border-bottom: 4px solid #BEAC4F; margin: 60px auto;}

.job_detail table{ margin: 20px; width: calc(100% - 40px); border-collapse: separate; border-spacing: 0; border-radius: 20px; overflow: hidden; border: 4px solid #F7F7F7;}
.job_detail table th{ width: 160px; font-size: 0.75rem; line-height: 1.5rem; font-weight: bold; padding: 40px;}
.job_detail table td{ font-size: 0.8rem; line-height: 1.5rem; padding: 40px;}
.job_detail table tr:nth-child(2n+1) th,
.job_detail table tr:nth-child(2n+1) td{ background: #F7F7F7;}
.job_detail table td .red{ color: #B21D23;}
@media screen and (max-width:768px){
#job01{ margin-top: 15%; padding-top: 10vw;}
#job02{ margin-top: 15%; padding-top: 10vw;}
.job_detail{ padding: 10% 5% 5%; border-radius: 0 1.25vw 1.25vw 1.25vw;}
.job_detail figure.ill{ width: 25vw; right: 1.25vw; top: -12.5vw;}
.job_detail h2{ width: 33.33vw; height: 10vw; font-size: 1.2rem; left: -4px; top: -10vw; border-radius: 2.5vw 2.5vw 0 0;}
.job_detail h3{ display: block; padding-left: 5vw; margin-bottom: 7.5%;}
.job_detail h3:before{ width: 2.5vw; height: 2.5vw; top: 0.5em; transform: none;}
.job_detail h3 strong{ font-size: 1.2rem; line-height: 1em;}
.job_detail h3 span{ border-radius: 5vw; font-size: 0.8rem; width: 25vw; min-width: 25vw; margin: 1.25% 0 0;}
.job_detail figure.img{ margin: 5% auto;}
.job_detail figure.img img{ width: 75%;}
.job_detail hr{ border-bottom: 4px solid #BEAC4F; margin: 10% auto;}

.job_detail table{ margin: 7.5% auto; width: 100%; border-radius: 2.5vw;}
.job_detail table th{ display: block; width: 100%; font-size: 0.9rem; padding: 2.5vw 2.5vw 1.25vw;}
.job_detail table td{ display: block; width: 100%; font-size: 0.8rem; padding: 0 2.5vw 2.5vw;}
}

#job03{ margin-top: 60px; padding-top: 80px;}
#job03 .maincontent{ position: relative; background: #fff; border-radius: 20px; padding: 50px 100px 80px;}
#job03 h2{ font-size: 5rem; line-height: 1em; color: #fff; position: absolute; left: 0; top: -0.8em;}

#job03 .tit dl{ display: flex; align-items: center; margin-bottom: 60px;}
#job03 .tit dl dt img{ width: 140px; border-radius: 50%;}
#job03 .tit dl dd{ margin-left: 40px;}
#job03 .tit dl dd h3{ font-size: 1.3rem; margin-bottom: 10px;}
#job03 .tit dl dd h3 span{ font-size: 0.9rem;}
#job03 .tit dl dd p{ font-size: 0.8rem;}

#job03 .schedule dl{ display: flex; justify-content: flex-start; margin: 0; padding-left: 40px; padding-bottom: 40px; position: relative;}
#job03 .schedule dl:before{ content: ""; width: 4px; height: 100%; background: #BEAC4F; position: absolute; left: 8px; top: 0;}
#job03 .schedule dl:last-child{ padding-bottom: 0;}
#job03 .schedule dl:last-child:before{ display: none;}
#job03 .schedule dl:after{ content: ""; width: 12px; height: 12px; border: 4px solid #BEAC4F; background: #fff; border-radius: 50%; position: absolute; left: 0; top: 0;}
#job03 .schedule dl dt{ width: 90px; font-size: 1rem; font-weight: bold; color: #BEAC4F;}
#job03 .schedule dl dd{ width: calc(100% - 90px);}
#job03 .schedule dl dd h4{ font-size: 0.9rem; margin-bottom: 0.5em;}
#job03 .schedule dl dd p{ font-size: 0.8rem;}

#job03 .comment{ margin-top: 50px; padding: 50px; background: #FAF8EA; border-radius: 12px;}
#job03 .comment p{ font-size: 0.9rem;}
@media screen and (max-width:768px){
#job03{ margin-top: 10%; padding-top: 10vw;}
#job03 .maincontent{ border-radius: 2.5vw; padding: 5%;}
#job03 h2{ font-size: 3rem;}

#job03 .tit dl{ display: flex; align-items: center; margin-bottom: 10%;}
#job03 .tit dl dt img{ width: 25vw;}
#job03 .tit dl dd{ margin-left: 5%;}
#job03 .tit dl dd h3{ font-size: 1.2rem; line-height: 1.25em; margin-bottom: 2.5%;}
#job03 .tit dl dd h3 span{ font-size: 0.9rem;}
#job03 .tit dl dd p{ font-size: 0.8rem; line-height: 1.5em;}

#job03 .schedule dl{ padding-left: 7.5vw; padding-bottom: 7.5vw;}
#job03 .schedule dl:before{ width: 1vw; left: 1.75vw;}
#job03 .schedule dl:after{ width: 2.5vw; height: 2.5vw; border: 1vw solid #BEAC4F;}
#job03 .schedule dl dt{ width: 15vw; font-size: 1rem;}
#job03 .schedule dl dd{ width: calc(100% - 15vw);}
#job03 .schedule dl dd h4{ font-size: 0.8rem;}
#job03 .schedule dl dd p{ font-size: 0.7rem;}

#job03 .comment{ margin-top:10%; padding: 5%; border-radius: 1.25vw;}
#job03 .comment p{ font-size: 0.8rem;}
}

#job04{ margin-top: 60px; padding-top: 80px;}
#job04 .maincontent{ position: relative; background: #fff; border-radius: 20px; padding: 50px 100px 80px;}
#job04 h2{ font-size: 5rem; line-height: 1em; color: #fff; position: absolute; left: 0; top: -0.8em;}
#job04 h3{ text-align: center; font-size: 1.5rem; padding-bottom: 20px; position: relative;}
#job04 h3:after{ content: ""; width: 377px; height: 6px; background: url("../images/recruit/child_care_tit_bar.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; right: 0; bottom: 0; margin: auto;}
#job04 h3 span.ill{ width: 377px; text-align: right; position: absolute; left: 0; right: 0; bottom: 0; margin: auto;}
#job04 h3 span.ill img{ width: 50px; position: relative; left: 50px;}

#job04 .tit{ margin: 60px auto 30px;}
#job04 .tit dl{ display: flex; align-items: center; justify-content: center; margin: auto;}
#job04 .tit dl dt img{ width: 140px; border-radius: 50%;}
#job04 .tit dl dd{ margin-left: 30px;}
#job04 .tit dl dd h4{ font-size: 1.2rem;}
#job04 .tit dl dd p{ font-size: 0.8rem;}

#job04 .profile dl{ padding: 20px 30px; margin-bottom: 12px; background: rgba(61,138,95,0.1); border-radius: 12px;}
#job04 .profile dl dt{ padding-left: 24px; font-size: 0.9rem; font-weight: bold; color: #3D8A5F; margin-bottom: 5px; position: relative;}
#job04 .profile dl dt:before{ content: ""; width: 14px; height: 14px; background: #3D8A5F; border-radius: 50%; position: absolute; left: 0; top: 0.5em;}
#job04 .profile dl dd{ padding-left: 24px;}
#job04 .profile dl dd p{ font-size: 0.9rem;}

#job04 .comment{ margin-top: 30px;}
#job04 .comment{ border: 2px solid #3D8A5F; background: #fff; padding: 40px; border-radius: 12px;}
#job04 .comment h5{ font-size: 0.9rem; margin-bottom: 0.5em;}
#job04 .comment p{ font-size: 0.9rem;}
#job04 .comment p strong{ background: linear-gradient(to bottom, rgba(226,235,228,0) 0%, rgba(226,235,228,0) 50%, rgba(226,235,228,1) 51%, rgba(226,235,228,1) 100%);}
#job04 .comment ul li{ padding-left: 20px; font-size: 0.9rem; line-height: 2em; margin-bottom: 0.5em; position: relative;}
#job04 .comment ul li:before{ content: ""; width: 8px; height: 8px; background: #3D8A5F; border-radius: 50%; position: absolute; left: 0; top: 0.75em;}
#job04 .comment ul li:last-child{ margin-bottom: 0;}
#job04 .comment hr{ width: 100%; height: 0; border: none; border-top: 2px dotted #3D8A5F; margin: 30px auto;}
@media screen and (max-width:768px){
#job04{ margin-top: 10%; padding-top: 7.5vw;}
#job04 .maincontent{ border-radius: 2.5vw; padding: 5%;}
#job04 h2{ font-size: 2.1rem;}

#job04 h3{ font-size: 1.4rem; padding-bottom: 2.5%;}
#job04 h3:after{ width: 37.7vw; height: 0.6vw;}

#job04 h3 span.ill{ width: 37.7vw;}
#job04 h3 span.ill img{ width: 5vw; left: 5vw;}

#job04 .tit{ margin: 10% auto 5%;}
#job04 .tit dl{ display: flex; align-items: center; margin-bottom: 10%;}
#job04 .tit dl dt img{ width: 25vw;}
#job04 .tit dl dd{ margin-left: 5%;}
#job04 .tit dl dd h4{ font-size: 1.1rem;}
#job04 .tit dl dd p{ font-size: 0.8rem;}

#job04 .profile dl{ padding: 5%; margin-bottom: 2.5%; border-radius: 1.25vw;}
#job04 .profile dl dt{ padding-left: 3.75vw; font-size: 0.8rem; margin-bottom: 2.5%;}
#job04 .profile dl dt:before{ width: 2.5vw; height: 2.5vw; top: 0.5em;}
#job04 .profile dl dd{ padding-left: 3.75vw;}
#job04 .profile dl dd p{ font-size: 0.8rem;}

#job04 .comment{ margin-top: 7.5%;}
#job04 .comment{ padding: 5%; border-radius: 1.25vw;}
#job04 .comment h5{ font-size: 0.9rem;}
#job04 .comment p{ font-size: 0.8rem;}
#job04 .comment ul li{ padding-left: 3.75vw; font-size: 0.8rem;}
#job04 .comment ul li:before{ width: 1.875vw; height: 1.875vw; top: 0.75em;}
#job04 .comment hr{ margin: 7.5% auto;}
}

.recruit .faq .maincontent{ position: relative;}
.recruit .faq figure.ill{ width: 180px; position: absolute; right: 160px; top: -40px;}
@media screen and (max-width:768px){
.recruit .faq figure.ill{ width: 20vw; right: 5vw; top: -2.5vw;}
}



/*service*/
.service_challenge{ margin: 140px auto 100px;}
.service_challenge .maincontent{ padding: 60px 0; position: relative; z-index: 1;}
.service_challenge .maincontent:after{ content: ""; width: 1200px; height: 100%; background: rgba(255,255,255,1); border-radius: 12px; position: absolute; left: -60px; top: 0; z-index: -1;}
.service_challenge figure.ico01{ width: 390px; position: absolute; left: -140px; bottom: 0;}
.service_challenge figure.ico02{ width: 135px; position: absolute; right: -20px; top: 40px;}
.service_challenge ul{ display: flex; align-items: center; justify-content: center;}
.service_challenge ul li{ margin: 0 25px;}
.service_challenge ul li a{ display: flex; align-items: center; justify-content: center; width: 320px; height: 60px; background: #B2A149; color: #fff; font-size: 0.8rem; font-weight: bold; border-radius: 12px; transition: 0.3s;}
.service_challenge ul li a:hover{ opacity: 0.7;}
@media screen and (max-width:768px){
.service_challenge{ margin: 15% auto;}
.service_challenge .maincontent{ padding: 7.5% 0;}
.service_challenge .maincontent:after{ left: -3.75vw;}
.service_challenge figure.ico01{ width: 25vw; left: -7.5vw; top: -7.5vw;}
.service_challenge figure.ico02{ width: 15vw; right: -3.75vw; top: -5vw;}
.service_challenge ul{ display: block;;}
.service_challenge ul li{ margin: 5% 7.5% 0;}
.service_challenge ul li a{ width: 100%; height: 12.5vw; font-size: 0.9rem;}
}

.service_contact{ margin-top: 100px;}
.service_contact h2.tit_h2{ margin-bottom: 30px;}
.service_contact h2.tit_h2 span{ line-height: 1.5em;}
.service_contact p{ text-align: center; font-size: 0.9rem;}
@media screen and (max-width:768px){
.service_contact{ margin-top: 15%;}
.service_contact h2.tit_h2{ margin-bottom: 5%;}
.service_contact p{ text-align: justify;}
}

/*service01*/
#service01_lead{ padding: 60px 0 0; margin-bottom: 100px;}
#service01_lead .maincontent{ padding: 60px 0; position: relative; z-index: 1;}
#service01_lead .maincontent:after{ content: ""; width: 100vw; height: 100%; background: rgba(255,255,255,0.5); border-radius: 12px 0 0 12px; position: absolute; left: -60px; top: 0; z-index: -1;}
#service01_lead h2{ position: absolute; left: -20px; top: -60px; width: 130px;}
#service01_lead figure.ico{ position: absolute; right: -60px; top: -60px; width: 250px;}
#service01_lead figure.img img{ width: 1440px; max-width: 1440px; margin-left: -160px;}
#service01_lead p{ text-align: justify; font-size: 1rem; margin-bottom: 60px; padding-left: 180px;}

#service01_lead .service01_history ul{ display: flex; justify-content: space-between; position: relative;}
#service01_lead .service01_history ul:after{ content: ""; width: calc(100% - 200px); height: 2px; background: #BEAC4F; position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); margin: auto;}
#service01_lead .service01_history ul li{ display: flex; align-items: center; justify-content: center; width: 120px; height: 120px; border: 2px solid #BEAC4F; color: #BEAC4F; font-size: 1.1rem; border-radius: 50%;}
@media screen and (max-width:768px){
#service01_lead{ padding: 5vw 0 0; margin-bottom: 15%;}
#service01_lead .maincontent{ padding: 5% 0;}
#service01_lead .maincontent:after{ left: -3.75vw;}
#service01_lead h2{ left: -2.5vw; top: -5vw; width: 17.5vw;}
#service01_lead figure.ico{ position: absolute; right: -5vw; top: 33.33vw; width: 17.5vw;}
#service01_lead figure.img img{ width: 100vw; max-width: 100vw; margin-left: -6vw;}
#service01_lead p{ margin-bottom: 5%; padding-left: 18.75vw;}

#service01_lead .service01_history{ margin-top: 2.5%;}
#service01_lead .service01_history ul:after{ width: calc(100% - 35vw);}
#service01_lead .service01_history ul li{ width: 20vw; height: 20vw; font-size: 1.1rem;}
}

#service01_works{ margin-bottom: 150px;}
#service01_works .maincontent{ position: relative;}
#service01_works figure.ico{ width: 80px; position: absolute; left: 180px; top: -20px;}
#service01_works p.lead{ text-align: center; font-size: 0.9rem; margin-bottom: 50px;}
#service01_works .works_list ul{ display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: -25px 0 -25px -15px;}
#service01_works .works_list ul li{ width: calc(33.33% - 30px); margin: 25px 15px;}
#service01_works .works_list ul li figure{ position: relative;}
#service01_works .works_list ul li figure img{ border-radius: 8px;}
#service01_works .works_list ul li figure span{ position: absolute; left: 0; top: 0; display: flex; align-items: center; justify-content: center; font-size: 0.7rem; padding: 0.25em 0.5em; border: 1px solid #4A4A4A; background: #fff; border-radius: 8px 0 0 0;}
#service01_works .works_list ul li h4{ margin: 20px 0 10px; font-size: 1rem;}
#service01_works .works_list ul li p{ font-size: 0.8rem; text-align: justify;}
@media screen and (max-width:768px){
#service01_works{ margin-bottom: 15%;}
#service01_works figure.ico{ width: 10vw; left: 3.75vw; top: -3.75vw;}
#service01_works p.lead{ text-align: justify; font-size: 0.9rem; margin-bottom: 7.5%;}
#service01_works .works_list ul{ width: calc(100% + 7.5vw); margin: -2.5vw 0 -2.5vw -3.75vw;}
#service01_works .works_list ul li{ width: calc(50% - 3.75vw); margin: 2.5vw 1.875vw;}
#service01_works .works_list ul li figure span{ font-size: 0.7rem;}
#service01_works .works_list ul li h4{ margin: 3.75% 0 1.875%; font-size: 0.9rem;}
#service01_works .works_list ul li p{ font-size: 0.7rem;}
}

#service01_merit{ margin-bottom: 100px;}
#service01_merit .maincontent{ padding: 80px 60px; position: relative; z-index: 1;}
#service01_merit .maincontent:after{ content: ""; width: 1920px; height: 100%; background: rgba(255,255,255,1.0); border: 2px solid #4A4A4A; border-left: none; border-radius: 0 12px 12px 0; position: absolute; right: -60px; top: 0; z-index: -1;}
#service01_merit h2{ width: 63px; position: absolute; left: 0; top: -100px;}
#service01_merit h3{ font-size: 1.4rem; margin-bottom: 15px; margin-left: 60px;}
#service01_merit p.lead{ font-size: 1.2rem; margin-left: 60px;}
#service01_merit p.txt{ text-align: center; font-size: 0.8rem;}
#service01_merit p.txt strong{ font-size: 1.05rem; background: linear-gradient(to bottom, rgba(237,233,211,0) 0%, rgba(237,233,211,0) 50%, rgba(237,233,211,1) 51%, rgba(237,233,211,1) 100%);}
@media screen and (max-width:768px){
#service01_merit{ margin-bottom: 15%;}
#service01_merit .maincontent{ padding: 5% 0 5% 5%;}
#service01_merit .maincontent:after{ right: -3.75vw;}
#service01_merit h2{ width: 7.5vw; left: -2.5vw; top: -7.5vw;}
#service01_merit h3{ font-size: 1.2rem; margin-bottom: 1.25%; margin-left: 2.5vw;}
#service01_merit p.lead{ font-size: 0.8rem; margin-left: 2.5vw;}
#service01_merit p.txt{ text-align: justify; font-size: 0.7rem; margin-left: 2.5vw;}
#service01_merit p.txt strong{ font-size: 0.9rem;}
}

#service01_merit .merit_zu{ margin: 40px 0 40px 60px;}
#service01_merit .merit_zu ul{ display: flex; align-items: center; justify-content: space-between; text-align: center;}
#service01_merit .merit_zu ul li.ico img{ width: 45px;}
#service01_merit .merit_zu ul li.illust img{ width: 150px;}
#service01_merit .merit_zu ul li.illust h5{ font-size: 0.9rem; margin-top: 0.25em;}
#service01_merit .merit_zu ul li h4{ font-size: 1.2rem;}
@media screen and (max-width:768px){
#service01_merit .merit_zu{ margin: 5% auto 7.5%;}
#service01_merit .merit_zu ul{ display: flex; justify-content: center; flex-wrap: wrap;}
#service01_merit .merit_zu ul li.ico{ margin: 0 3.75%;}
#service01_merit .merit_zu ul li.ico img{ width: 7.5vw;}
#service01_merit .merit_zu ul li.illust img{ width: 22.5vw;}
#service01_merit .merit_zu ul li.illust h5{ font-size: 0.8rem; margin-top: 0.25em;}
#service01_merit .merit_zu ul li:last-child{ width: 100%; margin-top: 3.75%;}
#service01_merit .merit_zu ul li h4{ font-size: 1.2rem;}
}

#service01_merit .merit_box{ background: #F5F5F5; width: 900px; padding: 40px 80px; margin: 40px 0 25px auto; border-radius: 12px;}
#service01_merit .merit_box dl{ display: flex; align-items: center; justify-content: space-between;}
#service01_merit .merit_box dl dt ul li{ font-size: 0.8rem; margin-bottom: 1em; padding-left: 24px; position: relative;}
#service01_merit .merit_box dl dt ul li:last-child{ margin-bottom: 0;}
#service01_merit .merit_box dl dt ul li:before{ content: ""; width: 10px; height: 10px; background: #BEAC4F; position: absolute; left: 0; top: 0.5em; border-radius: 50%;}
#service01_merit .merit_box dl dd figure img{ width: 270px;}
@media screen and (max-width:768px){
#service01_merit .merit_box{ width: 95%; padding: 3.75%; margin: 7.5% auto 5%;}
#service01_merit .merit_box dl{ display: block;}
#service01_merit .merit_box dl dt ul li{ font-size: 0.8rem; margin-bottom: 1em; padding-left: 3.75vw;}
#service01_merit .merit_box dl dt ul li:before{ width: 1.875vw; height: 1.875vw; top: 0.5em;}
#service01_merit .merit_box dl dd{ margin-top: 5%;}
#service01_merit .merit_box dl dd figure img{ width: 50%;}
}

#service01_safety{ margin-bottom: 100px;}
#service01_safety .safety_list{ display: flex; justify-content: space-between;}
#service01_safety .safety_list .safety_list_box{ width: 516px; border: 2px solid #4A4A4A; border-left: none; padding: 50px 60px 50px 30px; border-radius: 0 8px 8px 0;}
#service01_safety .safety_list .safety_list_box h4{ text-align: center; font-size: 1rem; margin-bottom: 30px;}
#service01_safety .safety_list .safety_list_box ul li{ font-size: 0.9rem; margin-bottom: 1em; padding-left: 37px; position: relative;}
#service01_safety .safety_list .safety_list_box ul li:last-child{ margin-bottom: 0;}
#service01_safety .safety_list .safety_list_box ul li:before{ content: ""; width: 27px; height: 27px; background: url("../images/service01/safety_check.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0;}
@media screen and (max-width:768px){
#service01_safety{ margin-bottom: 15%;}
#service01_safety .safety_list{ display: block;}
#service01_safety .safety_list .safety_list_box{ width: 100%; padding: 3.75%; margin-top: 5%;}
#service01_safety .safety_list .safety_list_box h4{ font-size: 1rem; margin-bottom: 3.75%;}
#service01_safety .safety_list .safety_list_box ul li{ font-size: 0.9rem; padding-left: 7.5vw;}
#service01_safety .safety_list .safety_list_box ul li:before{ width: 5vw; height: 5vw;}
}




/*service02-生コン事業*/
#service02_sec01{ margin-top: 0;}
#service02_sec01 h2{ text-align: center; font-size: 1.9rem; margin-bottom: 120px;}
#service02_sec01 ul{ display: flex; width: calc(100% + 30px); margin: 90px 0 0 -15px;}
#service02_sec01 ul li{ display: flex; flex-direction: column; align-items: center; text-align: center; width: calc(33.33% - 30px); margin: 0 15px; border: 2px solid #4A4A4A; background: #fff; border-radius: 12px; padding: 80px 20px 30px; position: relative;}
#service02_sec01 ul li figure.ico{ position: absolute; right: 10px; top: -30px; width: 100px;}
#service02_sec01 ul li h3{ display: flex; flex-direction: column; align-items: center; justify-content: center; margin-bottom: 10px;}
#service02_sec01 ul li h3 strong{ font-size: 2.1rem; font-weight: 500; line-height: 1em; color: #3D8A5F; margin-bottom: 20px;}
#service02_sec01 ul li h3 span{ display: flex; align-items: center; justify-content: center; font-size: 1.1rem; line-height: 1.5em; min-height: 3em; color: #3D8A5F;}
#service02_sec01 ul li p{ text-align: center; font-size: 0.8rem; margin: 0 20px;}
#service02_sec01 ul li p strong{ font-size: 1rem;}
@media screen and (max-width:768px){
#service02_sec01{ margin-top: 0;}
#service02_sec01 h2{ font-size: 1.8rem; margin-bottom: 10%;}
#service02_sec01 ul{ display: block; width: 100%; margin: 0 auto;}
#service02_sec01 ul li{ width: 100%; margin: 10vw 0 0; border-radius: 1.25vw; padding: 7.5% 3.75vw;}
#service02_sec01 ul li figure.ico{ right: 3.75vw; top: -7.5vw; width: 12.5vw;}
#service02_sec01 ul li h3{ margin-bottom: 2.5%;}
#service02_sec01 ul li h3 strong{ font-size: 2.4rem; margin-bottom: 3.75%;}
#service02_sec01 ul li h3 span{ font-size: 1.2rem; min-height: 1em;}
#service02_sec01 ul li p{ font-size: 0.9rem; margin: 0;}
#service02_sec01 ul li p strong{ font-size: 1.2rem;}
}

#service02_sec02{ margin-top: 100px;}
#service02_sec02 .lead h3{ display: flex; align-items: center; justify-content: center;}
#service02_sec02 .lead h3 strong{ font-size: 1.5rem; font-feature-settings: "palt"; font-weight: 500;}
#service02_sec02 .lead h3 span{ width: 30px; margin: 0 15px;}
#service02_sec02 ul{ display: flex; width: calc(100% + 30px); margin: 100px 0 0 -15px;}
#service02_sec02 ul li{ width: calc(50% - 30px); margin: 0 15px; padding: 50px 50px 50px 120px; border: 2px solid #707070; border-left: none; border-radius: 0 12px 12px 0; position: relative;}
#service02_sec02 ul li h3{ -ms-writing-mode: tb-rl; writing-mode: vertical-rl; display: inline-block; background: #fff; padding: 0.75em 0.25em 0.25em; position: absolute; left: 25px; top: -50px; font-size: 1.3rem; font-weight: 500; letter-spacing: 0.25em;}
#service02_sec02 ul li:nth-child(1) h3 strong{ color: #BEAC4F;}
#service02_sec02 ul li:nth-child(2) h3 strong{ color: #3D8A5F;}
#service02_sec02 ul li p{ font-size: 0.8rem;}
@media screen and (max-width:768px){
#service02_sec02{ margin-top: 15%;}
#service02_sec02 .lead h3{ margin-bottom: 2.5%;}
#service02_sec02 .lead h3 strong{ font-size: 1.33rem;}
#service02_sec02 .lead h3 span{ width: 5vw; margin: 0 2.5%;}
#service02_sec02 ul{ display: block; width: 100%; margin: 0;}
#service02_sec02 ul li{ width: 100%; margin: 10vw auto 0; padding: 7.5% 3.75% 7.5% 15vw; border-radius: 0 1.25vw 1.25vw 0;}
#service02_sec02 ul li h3{ padding: 0.75em 0.25em 0.25em; left: 1.875vw; top: -7.5vw; font-size: 1.2rem;}
#service02_sec02 ul li p{ font-size: 0.8rem;}
}

#service02_sec03{ margin-top: 100px; padding: 80px 0; background: rgba(255,255,255,1.0);}
#service02_sec03 .concrete_list01{ margin: 60px auto 0;}
#service02_sec03 .concrete_list01 ul{ display: flex; width: calc(100% + 60px); margin-left: -30px;}
#service02_sec03 .concrete_list01 ul li{ width: calc(33.33% - 60px); margin: 0 30px;}
#service02_sec03 .concrete_list01 ul li a{ display: block; position: relative;}
#service02_sec03 .concrete_list01 ul li a figure{ overflow: hidden;}
#service02_sec03 .concrete_list01 ul li a figure img{ transition: 0.3s; object-fit: cover;}
#service02_sec03 .concrete_list01 ul li a:hover figure img{ transform: scale(1.1);}
#service02_sec03 .concrete_list01 ul li a:after{ content: ""; width: calc(54px + 16px); height:  calc(54px + 16px); background: #fff; border-radius: 8px; position: absolute; right: -8px; bottom: -8px; z-index: 1;}
#service02_sec03 .concrete_list01 ul li a span{ background: #BEAC4F; width: 54px; height: 54px; padding-bottom: 4px; display: flex; align-items: center; justify-content: center; position: absolute; right: 0; bottom: 0; border-radius: 8px; z-index: 3;}
#service02_sec03 .concrete_list01 ul li a span img{ height: 8px; position: relative; left: 0; transition: 0.3s;}
#service02_sec03 .concrete_list01 ul li a:hover span img{ left: 4px;}
#service02_sec03 .concrete_list01 ul li .txt{ margin-top: 10px;}
#service02_sec03 .concrete_list01 ul li .txt h3{ font-size: 1.2rem; margin-bottom:0;}
#service02_sec03 .concrete_list01 ul li .txt p{ font-size: 0.8rem;}
@media screen and (max-width:768px){
#service02_sec03{ margin-top: 15%; padding: 10% 0;}
#service02_sec03 .concrete_list01{ margin: 10% auto 0;}
#service02_sec03 .concrete_list01 ul{ display: block; width: 100%; margin-left: 0;}
#service02_sec03 .concrete_list01 ul li{ display: flex; align-items: center; justify-content: space-between; width: 100%; margin: 7.5% auto 0;}
#service02_sec03 .concrete_list01 ul li:nth-child(2n){ flex-direction: row-reverse;}
#service02_sec03 .concrete_list01 ul li a{ width: 47.5%;}
#service02_sec03 .concrete_list01 ul li a:after{ width: calc(7.5vw + 8px); height: calc(7.5vw + 8px); border-radius: 1vw; right: -4px; bottom: -4px;}
#service02_sec03 .concrete_list01 ul li a span{ width: 7.5vw; height: 7.5vw; border-radius: 1vw; padding-bottom: 0;}
#service02_sec03 .concrete_list01 ul li a span img{ height: 1.25vw;}
#service02_sec03 .concrete_list01 ul li a:hover span img{ left: 1.25vw;}
#service02_sec03 .concrete_list01 ul li .txt{ width: 50%; margin-top: 0;}
#service02_sec03 .concrete_list01 ul li .txt h3{ font-size: 1.1rem; letter-spacing: 0;}
#service02_sec03 .concrete_list01 ul li .txt p{ font-size: 0.8rem;}
}

#service02_insert{ padding: 80px 0; position: relative; z-index: 1;}
#service02_insert:before{ content: ""; width: 100%; height: 50%; background: rgba(255,255,255,1.0); position: absolute; left: 0; right: 0; top: 0; z-index: -1;}
#service02_insert .maincontent{ position: relative;}
#service02_insert figure.ico01{ position: absolute; left: 130px; bottom: -80px; width: 246px;}
#service02_insert figure.insert_img{ width: 1330px; margin-left: -125px;}
@media screen and (max-width:768px){
#service02_insert{ padding: 10% 0;}
#service02_insert figure.ico01{ left: 5vw; bottom: -5vw; width: 22.5vw;}
#service02_insert figure.insert_img{ width: calc(100% + 44vw); margin-left: -22vw;}
}

#service02_sec04{ margin-top: 100px;}
#service02_sec04 .maincontent{ position: relative;}
#service02_sec04 ul{ position: relative;}
#service02_sec04 ul li{ margin-bottom: 30px; background: #fff; display: flex; align-items: center; height: 70px; padding: 7px 14px; border-radius: 70px 12px 12px 70px;}
#service02_sec04 ul li span.num{ display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; font-size: 1.5rem; background: #BEAC4F; color: #fff; border-radius: 50%;}
#service02_sec04 ul li h3{ width: 180px; text-align: center; font-size: 1rem; color: #BEAC4F;}
#service02_sec04 ul li p{ margin-left: 90px; font-size: 0.8rem; line-height: 1.5em;}
#service02_sec04 .txt{ text-align: center; margin-top: 120px; padding-bottom: 90px; position: relative;}
#service02_sec04 .txt p{ margin: 0 100px 0 0; font-size: 0.9rem;}
@media screen and (max-width:768px){
#service02_sec04{ margin-top: 15%;}
#service02_sec04 ul li{ margin-bottom: 5%; flex-wrap: wrap; height: auto; padding: 2.5vw 2.5vw 2.5vw 2.5vw; border-radius: 10vw 1.25vw 1.25vw 1.25vw;}
#service02_sec04 ul li span.num{ width: 10vw; height: 10vw; font-size: 1.25rem;}
#service02_sec04 ul li h3{ width: calc(100% - 10vw); padding-left: 2.5vw; text-align: left; font-size: 1rem;}
#service02_sec04 ul li p{ width: 100%; margin-left: 0; padding-left: 12.5vw; font-size: 0.8rem;}
#service02_sec04 .txt{ margin-top: 10%; padding-bottom: 0;}
#service02_sec04 .txt p{ margin: 0; font-size: 0.9rem; text-align: left;}
}

#service02_sec05{ background: #fff; margin-top: 100px; padding: 80px 0;}
#service02_sec05 .maincontent{ position: relative;}
#service02_sec05 figure.ico{ width: 220px; position: absolute; right: 40px; top: -40px;}
#service02_sec05 ul{ font-size: 0.8rem; line-height: 1.5em; margin-top: 10px;}
#service02_sec05 ul li{ padding-left: 1.25em; position: relative;}
#service02_sec05 ul li:before{ content: "※"; position: absolute; left: 0; top: 0;}
@media screen and (max-width:768px){
#service02_sec05{ margin-top: 15%; padding: 10% 0;}
#service02_sec05 figure.ico{ width: 20vw; right: -5vw; top: 7.5vw;}
#service02_sec05 ul{ font-size: 0.7rem; margin-top: 2.5%;}
}

#service02_sec06{ padding-top: 200px;}
#service02_sec06 .maincontent{ position: relative;}
#service02_sec06 figure.ico{ width: 215px; position: absolute; left: 120px; top: -20px;}
#service02_sec06 table{ width: 940px; border-collapse: collapse; border-spacing: 0; margin: auto;}
#service02_sec06 table th{ vertical-align: middle; background: #D5D5D5; border: 1px solid #4A4A4A; text-align: center; padding: 0.75em; font-size: 0.9rem; line-height: 1.5em;}
#service02_sec06 table td{ vertical-align: middle; background: #fff; border: 1px solid #4A4A4A; text-align: center; padding: 0.75em; font-size: 0.8rem; line-height: 1.5em;}
#service02_sec06 table td{ border-top: 1px dotted #4A4A4A;}
#service02_sec06 table td.first{ border-bottom: none; border-top: 1px solid #4A4A4A;}

#service02_sec06 table th:first-child{ border-left: none;}
#service02_sec06 table td:last-child{ border-right: none;}
@media screen and (max-width:768px){
#service02_sec06{ padding-top: 20%;}
#service02_sec06 figure.ico{ width: 20vw; left: -3.75vw; top: 2.5vw;}
#service02_sec06 table{ width: 100%;}
#service02_sec06 table th{ padding: 0.75em 0.5em; font-size: 0.9rem;}
#service02_sec06 table td{ padding: 0.75em 0.5em; font-size: 0.8rem;}
}

#service02_sec07{ margin-top: 100px;}
#service02_sec07 table{ width: 940px; border-collapse: collapse; border-spacing: 0; margin: auto;}
#service02_sec07 table th{ vertical-align: middle; background: #D5D5D5; border: 1px solid #4A4A4A; text-align: center; padding: 0.75em; font-size: 0.9rem; line-height: 1.5em;}
#service02_sec07 table td{ vertical-align: middle; background: #fff; border: 1px solid #4A4A4A; text-align: center; padding: 0.75em; font-size: 0.8rem; line-height: 1.5em;}
#service02_sec07 table td{ border-top: 1px dotted #4A4A4A;}
#service02_sec07 table td.first{ border-bottom: none; border-top: 1px solid #4A4A4A;}

#service02_sec07 table th:first-child{ border-left: none;}
#service02_sec07 table td:last-child{ border-right: none;}
@media screen and (max-width:768px){
#service02_sec07{ margin-top: 15%;}
#service02_sec07 table{ width: 100%;}
#service02_sec07 table th{ padding: 0.75em 0.5em; font-size: 0.9rem;}
#service02_sec07 table td{ padding: 0.75em 0.5em; font-size: 0.8rem;}
}



/*service02_01-フレッシュコンクリート*/
#service02_01_howto{ padding-bottom: 100px;}
#service02_01_howto .maincontent{ position: relative;}
#service02_01_howto figure.ico{ position: absolute; left: 90px; top: 0; width: 190px;}
#service02_01_howto h3{ text-align: center; font-size: 1.1rem; margin-bottom: 50px;}
@media screen and (max-width:768px){
#service02_01_howto{ padding-bottom: 15%;}
#service02_01_howto figure.ico{ left: -3.75vw; top: 17.5vw; width: 20vw;}
#service02_01_howto h3{ font-size: 1.1rem; margin-bottom: 7.5%;}
}

#service02_01_howto .material{ margin: 50px auto 150px;}
#service02_01_howto .material ul{ display: flex; justify-content: space-between;}
#service02_01_howto .material ul li{ width: calc(20% - 20px);}
@media screen and (max-width:768px){
#service02_01_howto .material{ margin: 7.5% auto 15%;}
#service02_01_howto .material ul{ display: flex; flex-wrap: wrap; justify-content: center;}
#service02_01_howto .material ul li{ width: calc(33.33% - 2.5vw); margin: 1.25vw;}
#service02_01_howto .material ul li:nth-child(1){ margin-left: 2.5vw;}
#service02_01_howto .material ul li:nth-child(2){ margin-right: 2.5vw;}
}

#service02_01_howto .flow{ position: relative;}
#service02_01_howto .flow .flow_zu ul{ width: 144px; margin: 0 auto; position: relative; z-index: 1;}
#service02_01_howto .flow .flow_zu ul:after{ content: ""; width: 0; height: 100%; border-left: 2px dotted #BEAC4F; position: absolute; left: calc(50% - 1px); top: 0; z-index: -1;}

#service02_01_howto .flow .flow_zu ul li{ display: flex; align-items: center; justify-content: center; width: 100%; height: 70px; background: #fff; border: 2px solid #BEAC4F; color: #BEAC4F; font-size: 1.1rem; margin-bottom: 80px; border-radius: 4px;}
#service02_01_howto .flow .flow_zu p.txt01{ position: absolute; right: 20px; top: 420px; font-size: 0.8rem; background: #fff; width: 400px; padding: 1em; border-radius: 12px;}
#service02_01_howto .flow .flow_zu p.txt01:before{ content: ""; width: 0; height: 0; border-style: solid; border-color: transparent #ffffff transparent transparent; border-width: 12px 24px 12px 0px; position: absolute; left: -23px; top: 50px;}
#service02_01_howto .flow .flow_zu p.txt02{ position: absolute; left: 20px; top: 580px; font-size: 0.8rem; background: #fff; width: 400px; padding: 1em; border-radius: 12px;}
#service02_01_howto .flow .flow_zu p.txt02:before{ content: ""; width: 0; height: 0; border-style: solid; border-color: transparent transparent transparent #ffffff;
border-width: 12px 0px 12px 24px; position: absolute; right: -23px; top: 40px;}
@media screen and (max-width:768px){
#service02_01_howto .flow .flow_zu ul{ width: 6em; font-size: 1rem; margin: 0;}
#service02_01_howto .flow .flow_zu ul li{ height: 10vw; font-size: 1rem; margin: 0 0 10vw;}
#service02_01_howto .flow .flow_zu p.txt01{ right: 0; top: 50vw; font-size: 0.7rem; width: 57.5vw;}
#service02_01_howto .flow .flow_zu p.txt01:before{ border-width: 1.875vw 3.75vw 1.875vw 0; left: -3.5vw; top: 12.5vw;}
#service02_01_howto .flow .flow_zu p.txt02{ left: auto; right: 0; top: 80vw; font-size: 0.7rem; width: 57.5vw;}
#service02_01_howto .flow .flow_zu p.txt02:before{ border-color: transparent #ffffff transparent transparent; border-width: 1.875vw 3.75vw 1.875vw 0; left: -3.5vw; right: auto; top: 3.75vw;}
}

#service02_01_howto .flow .flow_img ul li{ position: absolute;}
#service02_01_howto .flow .flow_img ul li:nth-child(1){ left: 120px; top: 0px;}
#service02_01_howto .flow .flow_img ul li:nth-child(3){ left: 120px; top: 340px;}
#service02_01_howto .flow .flow_img ul li:nth-child(2){ right: 120px; top: 130px;}
#service02_01_howto .flow .flow_img ul li:nth-child(4){ right: 120px; top: 590px;}
#service02_01_howto .flow .flow_img ul li img{ width: 300px; border-radius: 12px;}
@media screen and (max-width:768px){
#service02_01_howto .flow .flow_img ul li:nth-child(1){ left: auto; right: 30vw; top: 0;}
#service02_01_howto .flow .flow_img ul li:nth-child(3){ left: auto; right: 30vw; top: 25vw;}
#service02_01_howto .flow .flow_img ul li:nth-child(2){ right: 0; top: 0vw;}
#service02_01_howto .flow .flow_img ul li:nth-child(4){ right: 0; top: 25vw;}
#service02_01_howto .flow .flow_img ul li img{ width: 27.5vw; height: 22.5vw; object-fit: cover;}
}

#service02_01_howto .flow .att{ display: flex; align-items: center; justify-content: center; margin-top: 160px;}
#service02_01_howto .flow .att span{ width: 36px; margin-right: 4px;}
#service02_01_howto .flow .att p{ font-size: 1.3rem;}
@media screen and (max-width:768px){
#service02_01_howto .flow .att{ margin-top: 15%;}
#service02_01_howto .flow .att span{ width: 7.5vw; margin-right: 2.5vw;}
#service02_01_howto .flow .att p{ font-size: 1.2rem; line-height: 1.5em;}
}

#service02_01_quality{ background: url("../images/service02_01/quality_bg.jpg") center center no-repeat; background-size: cover; padding: 100px 0;}
#service02_01_quality p.lead{ text-align: center; font-size: 1.3rem; line-height: 1.75em;}
#service02_01_quality p.lead strong{ background: linear-gradient(to bottom, rgba(237,233,211,0) 0%, rgba(237,233,211,0) 50%, rgba(237,233,211,1) 51%, rgba(237,233,211,1) 100%);}

#service02_01_quality ul{ display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: -35px; position: relative;}
#service02_01_quality ul h3{ display: flex; align-items: center; justify-content: center; text-align: center; width: 224px; height: 126px; background: #3D8A5F; color: #fff; border-radius: 12px; font-size: 1.3rem; line-height: 1.25em; font-weight: bold; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); z-index: 5;}
#service02_01_quality ul h3 strong{ font-size: 2rem; line-height: 1.25em;}
#service02_01_quality ul li{ width: 400px; height: 300px; margin: 35px 30px; padding: 30px 40px; border: 2px solid #3D8A5F; border-radius: 12px; position: relative;}
#service02_01_quality ul li span.tit{ display: flex; align-items: center; justify-content: center; width: 80px; height: 80px; background: #3D8A5F; color: #fff; font-size: 1.3rem; border-radius: 8px; position: absolute;}
#service02_01_quality ul li h4{ text-align: center; font-size: 1.2rem; margin-bottom: 10px;}
#service02_01_quality ul li p{ text-align: justify; font-size: 0.8rem; line-height: 2em;}
#service02_01_quality ul li p strong{ font-size: 1rem; background: linear-gradient(to bottom, rgba(237,233,211,0) 0%, rgba(237,233,211,0) 50%, rgba(237,233,211,1) 51%, rgba(237,233,211,1) 100%);}
#service02_01_quality ul li p.link{ font-size: 1rem; font-weight: bold;}
#service02_01_quality ul li p.link a{ transition: 0.3s;}
#service02_01_quality ul li p.link a i{ margin-left: 1em; color: #B2A149; font-size: 75%;}
#service02_01_quality ul li p.link a:hover{ color: #B2A149;}
#service02_01_quality ul li:nth-child(3),
#service02_01_quality ul li:nth-child(4){ border-color: #BEAC4F;}
@media screen and (max-width:768px){
#service02_01_quality{ padding: 15% 0;}
#service02_01_quality p.lead{ text-align: justify; font-size: 1.1rem;}
#service02_01_quality ul{ display:block; margin-top: 10%; margin-bottom: 0;}
#service02_01_quality ul h3{ width: 100%; height: auto; border-radius: 1.25vw; font-size: 1.25rem; padding: 0.5em; position: static; transform: none;}
#service02_01_quality ul h3 strong{ font-size: 2rem; line-height: 1.25em;}
#service02_01_quality ul li{ width: 100%; height: auto; margin: 7.5% auto 0; padding: 3.75%;}
#service02_01_quality ul li span.tit{ width: 12.5vw; height: 12.5vw; font-size: 1.2rem;}
#service02_01_quality ul li h4{ font-size: 1.2rem; margin-bottom: 2.5%;}
#service02_01_quality ul li p{ font-size: 0.8rem;}
#service02_01_quality ul li p strong{ font-size: 1rem;}
#service02_01_quality ul li:nth-child(3){ border-color: #3D8A5F;}
#service02_01_quality ul li:nth-child(4){ border-color: #BEAC4F;}
#service02_01_quality ul li:nth-child(3) span.tit{ background: #3D8A5F;}
#service02_01_quality ul li:nth-child(4) span.tit{ background: #BEAC4F;}
#service02_01_quality ul li:nth-child(1) span.tit{ right: -3.75vw; bottom: auto; top: -3.75vw;}
#service02_01_quality ul li:nth-child(2) span.tit{ left: -3.75vw; bottom: auto; top: -3.75vw;}
#service02_01_quality ul li:nth-child(3) span.tit{ right: -3.75vw; top: -3.75vw;}
#service02_01_quality ul li:nth-child(4) span.tit{ left: -3.75vw; top: -3.75vw;}
}

#service02_01_quality figure.arrow{ margin: 80px auto 40px;}
#service02_01_quality figure.arrow img{ width: 160px;}
@media screen and (max-width:768px){
#service02_01_quality figure.arrow{ margin: 15% auto 7.5%;}
#service02_01_quality figure.arrow img{ width: 25%;}
}

#service02_01_quality .cement_standard h3{ display: flex; align-items: center; justify-content: center; font-size: 1.3rem; color: #B21D23; margin-bottom: 30px;}
#service02_01_quality .cement_standard h3 span{ width: 145px; margin-right: 30px;}
#service02_01_quality .cement_standard .tit{ margin-bottom: 30px; display: flex;}
#service02_01_quality .cement_standard .tit dl{ display: flex; align-items: center; justify-content: center; margin: auto;}
#service02_01_quality .cement_standard .tit dl dt{ width: 164px;}
#service02_01_quality .cement_standard .tit dl dd{ flex: 1; margin-left: 30px;}
#service02_01_quality .cement_standard .tit dl dd p{ font-size: 1.2rem; line-height: 1.5em; font-weight: bold;}
#service02_01_quality .cement_standard .tit dl dd p strong{ font-size: 1.4rem; color: #B21D23;}
#service02_01_quality .cement_standard .cement_standard_list{ display: flex; justify-content: space-between;}
#service02_01_quality .cement_standard .cement_standard_box{ width: 525px; padding: 50px; position: relative; z-index: 1;}
#service02_01_quality .cement_standard .cement_standard_box:before{ content: ""; width: 100%; height: 100%; border: 2px solid #4A4A4A; border-left: 0; border-radius: 0 12px 12px 0; position: absolute; left: 0; top: 0; z-index: -1;}
#service02_01_quality .cement_standard .cement_standard_box:after{ content: ""; width: 100%; height: 100%; background: #fff; border-radius: 0 12px 12px 0; position: absolute; left: 10px; top: 10px; z-index: -3;}
#service02_01_quality .cement_standard .cement_standard_box dl{ display: flex; align-items: center; margin-bottom: 30px;}
#service02_01_quality .cement_standard .cement_standard_box dl dt{ width: 75px;}
#service02_01_quality .cement_standard .cement_standard_box dl dd{ width: calc(100% - 75px); padding-left: 25px;}
#service02_01_quality .cement_standard .cement_standard_box dl dd h4{ display: flex; flex-direction: column;}
#service02_01_quality .cement_standard .cement_standard_box dl dd h4 strong{ font-size: 1.4rem; line-height: 1em; margin-bottom: 0.25em;}
#service02_01_quality .cement_standard .cement_standard_box dl dd h4 span{ font-size: 0.8rem; font-weight: 500; line-height: 1em;}
#service02_01_quality .cement_standard .cement_standard_box p{ text-align: justify; font-size: 0.8rem;}
@media screen and (max-width:768px){
#service02_01_quality .cement_standard h3{ font-size: 1.2rem; margin-bottom: 5%;}
#service02_01_quality .cement_standard h3 span{ width: 20vw; margin-right: 5%;}
#service02_01_quality .cement_standard .tit{ margin-bottom:5%;}
#service02_01_quality .cement_standard .tit dl dt{ width: 20vw;}
#service02_01_quality .cement_standard .tit dl dd{ width: calc(100% - 23.75vw); margin-left: 3.75vw;}
#service02_01_quality .cement_standard .tit dl dd p{ font-size: 1rem;}
#service02_01_quality .cement_standard .tit dl dd p strong{ font-size: 1.2rem;}
#service02_01_quality .cement_standard .cement_standard_list{ display: block;}
#service02_01_quality .cement_standard .cement_standard_box{ width: 100%; padding: 7.5% 5% 5% 7.5%; margin: 5% auto 0;}
#service02_01_quality .cement_standard .cement_standard_box:after{ left: 1.875vw; top: 1.875vw;}
#service02_01_quality .cement_standard .cement_standard_box dl{ margin-bottom: 5%;}
#service02_01_quality .cement_standard .cement_standard_box dl dt{ width: 12.5vw;}
#service02_01_quality .cement_standard .cement_standard_box dl dt img{ width: 100%;}
#service02_01_quality .cement_standard .cement_standard_box dl dd{ width: calc(100% - 12.5vw); padding-left: 3.75vw;}
#service02_01_quality .cement_standard .cement_standard_box dl dd h4 strong{ font-size: 1.4rem;}
#service02_01_quality .cement_standard .cement_standard_box dl dd h4 span{ font-size: 0.8rem;}
#service02_01_quality .cement_standard .cement_standard_box p{ font-size: 0.8rem;}
}

#service02_01_cement{ margin: 250px auto 100px;}
#service02_01_cement .maincontent{ position: relative;}
#service02_01_cement figure.ico{ width: 410px; position: absolute; left: -30px; top: -150px;}
@media screen and (max-width:768px){
#service02_01_cement{ margin: 15% auto;}
#service02_01_cement figure.ico{ width: 30vw; left: -7.5vw; top: -10vw;}
}

#service02_01_cement .cement_list{ display: flex; width: calc(100% + 30px); margin-left: -15px;}
#service02_01_cement .cement_box{ width: calc(33.33% - 30px); margin: 0 15px; display: flex; flex-direction: column; justify-content: space-between; padding: 30px; background: #fff; border-radius: 12px;}
#service02_01_cement .cement_box h3{ text-align: center; font-size: 1.3rem; line-height: 1.5em; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid #B2A149;}
#service02_01_cement .cement_box h4{ text-align: center; font-size: 0.9rem; line-height: 1.5em;}
#service02_01_cement .cement_box figure{ margin: 20px auto;}
#service02_01_cement .cement_box figure img{ border-radius: 12px;}
#service02_01_cement .cement_box p{ font-size: 0.8rem; text-align: justify; letter-spacing: 0.04em; margin: 0 auto 20px;}
#service02_01_cement .cement_box ul{ background: #FAF9F0; padding: 30px; border-radius: 12px; margin: auto 0 0;}
#service02_01_cement .cement_box ul li{ font-size: 0.8rem; line-height: 1.5em; padding-left: 24px; margin-bottom: 0.75em; position: relative;}
#service02_01_cement .cement_box ul li:last-child{ margin-bottom: 0;}
#service02_01_cement .cement_box ul li:before{ content: ""; width: 10px; height: 10px; background: #BEAC4F; border-radius: 50%; position: absolute; left: 0; top: 0.33em;}
@media screen and (max-width:768px){
#service02_01_cement .cement_list{ display: block; width: 100%; margin: 0;}
#service02_01_cement .cement_box{ width: 100%; margin: 5% auto 0; padding: 3.75%;}
#service02_01_cement .cement_box h3{ font-size: 1.2rem; padding-bottom: 2.5%; margin-bottom: 3.75%;}
#service02_01_cement .cement_box h4{ font-size: 0.9rem;}
#service02_01_cement .cement_box figure{ margin: 3.75% auto;}
#service02_01_cement .cement_box p{ font-size: 0.8rem; margin: 0 auto 3.75%;}
#service02_01_cement .cement_box ul{ padding: 5% 7.5%;}
#service02_01_cement .cement_box ul li{ font-size: 0.8rem; padding-left: 5vw;}
#service02_01_cement .cement_box ul li:before{ width: 2.5vw; height: 2.5vw;}
}

#service02_01_cement .cement_table{ margin: 70px auto;}
#service02_01_cement .cement_table h3{ text-align: center; font-size: 1.3rem; margin-bottom: 20px;}
#service02_01_cement .cement_table table{ width: 980px; margin: auto; border-collapse: collapse; border-spacing: 0;}
#service02_01_cement .cement_table table thead th{ text-align: center; vertical-align: middle; background: #D5D5D5; border: 1px solid #4A4A4A; font-size: 0.8rem; line-height: 1.5em; padding: 0.5em;}
#service02_01_cement .cement_table table thead tr:nth-child(1) th:nth-child(1){ font-size: 0.9rem;}
#service02_01_cement .cement_table table tbody td{ text-align: center; vertical-align: middle; background: #fff; border: 1px solid #4A4A4A; font-size: 0.8rem; line-height: 1.5em; padding: 0.5em;}
#service02_01_cement .cement_table table tbody tr:nth-child(1) td:nth-child(1){ font-size: 0.9rem; border-bottom: 1px solid #4A4A4A;}
#service02_01_cement .cement_table table tbody tr:not(:last-child) td{ border-bottom: none;}
#service02_01_cement .cement_table table tbody tr:not(:first-child) td{ border-top: 1px dotted #4A4A4A;}
#service02_01_cement .cement_table table thead th:first-child{ border-left: none;}
#service02_01_cement .cement_table table thead th:last-child{ border-right: none;}
#service02_01_cement .cement_table table tbody td:first-child{ border-left: none;}
#service02_01_cement .cement_table table tbody td:last-child{ border-right: none;}
@media screen and (max-width:768px){
#service02_01_cement .cement_table{ margin: 10% auto;}
#service02_01_cement .cement_table h3{ font-size: 1.2rem; margin-bottom: 5%;}
#service02_01_cement .cement_table .cement_table_wrap{ width: 100%; overflow-x: scroll; overflow-y: hidden;}
#service02_01_cement .cement_table table{ width: 150%;}
#service02_01_cement .cement_table table thead th{ font-size: 0.8rem;}
#service02_01_cement .cement_table table thead tr:nth-child(1) th:nth-child(1){ font-size: 0.9rem;}
#service02_01_cement .cement_table table tbody td{ font-size: 0.8rem;}
#service02_01_cement .cement_table table tbody tr:nth-child(1) td:nth-child(1){ font-size: 0.9rem;}
}

#service02_01_faq .maincontent{ position: relative;}
#service02_01_faq figure.ill{ width: 186px; position: absolute; right: 220px; top: -40px;}
@media screen and (max-width:768px){
#service02_01_faq figure.ill{ width: 20vw; right: 0; top: -2.5vw;}
}



/*service02_02-透水性コンクリート*/
body.service02_02:after{ background: url("../images/bg_top2.png") center top no-repeat;}
.page.service02_02{ padding-top: 0 !important;}
.page.service02_02 #content{ margin-top: 0;}
body.service02_02 h2.tit_h2 strong{ color: #7FBEE9;}
@media screen and (max-width:768px){
.page.service02_02 #content{ margin-top: 0;}
}

#mv_service02_02{ background: url("../images/service02_02/mv.png") right top no-repeat; background-size: 964px;}
#mv_service02_02 .mv_in{ max-width: 1200px; margin: auto; padding-top: 130px; height: 690px;}
#mv_service02_02 .mv_in{ position: relative; z-index: 1;}
#mv_service02_02 .mv_in h1{ width: 660px;}
#mv_service02_02 .mv_in h2{ width: 555px; position: absolute; left: 460px; bottom: 0; z-index: -1;}
@media screen and (max-width:768px){
#mv_service02_02{ background-size: 72.5vw; height: auto;}
#mv_service02_02 .mv_in{ width: 97.5%; padding-top: 12.5%; height: 75vw}
#mv_service02_02 .mv_in h1{ width: 66vw;}
#mv_service02_02 .mv_in h2{ width: 60vw; left: auto; right: 0; bottom: 0;}
}

.page.service02_02 .pankuzu{ width: 1080px; margin: 20px auto 140px;}
@media screen and (max-width:768px){
.page.service02_02 .pankuzu{ width: 88%; margin: 2.5% auto 15%;}
}

#service02_02_nav .maincontent{ position: relative; background: #fff; padding: 30px 80px 60px; border-radius: 20px;}
#service02_02_nav figure.ill{ width: 154px; position: absolute; right: 150px; top: -40px;}
#service02_02_nav span.ico01{ width: 127px; position: absolute; left: -30px; top: -20px;}
#service02_02_nav span.ico02{ width: 167px; position: absolute; right: -60px; bottom: 10px;}
#service02_02_nav .nav_list{ display: flex;}
#service02_02_nav .nav_list ul{ width: calc(50% - 160px); margin: 0 80px;}
#service02_02_nav .nav_list ul li{ margin-top: 30px;}
#service02_02_nav .nav_list ul li:first-child{ margin-top: 0;}
#service02_02_nav .nav_list ul li a{ display: flex; align-items: center;}
#service02_02_nav .nav_list ul li a span.num{ width: 42px; margin-right: 10px;}
#service02_02_nav .nav_list ul li a strong{ display: inline-block; position: relative; font-size: 1rem;}
#service02_02_nav .nav_list ul li a i{ color: #7FBEE9; font-size: 0.8rem; margin-left: 10px;}
#service02_02_nav .nav_list ul li a strong:after{ content: ""; width: 100%; height: 0.5em; background: #7FBEE9; opacity: 0; position: absolute; left: 0; bottom: 0; transition: 0.3s;}
#service02_02_nav .nav_list ul li a:hover strong:after{ opacity: 0.4;}
@media screen and (max-width:768px){
#service02_02_nav .maincontent{ padding: 5% 7.5% 10%; border-radius: 2.5vw;}
#service02_02_nav figure.ill{ width: 20vw; right: 1.25vw; top: -2.5vw;}
#service02_02_nav span.ico01{ width: 15vw; left: -5vw; top: -2.5vw;}
#service02_02_nav span.ico02{ width: 20vw; right: -5vw; bottom: 2.5vw;}
#service02_02_nav .nav_list{ display: block;}
#service02_02_nav .nav_list ul{ width: 100%; margin: 0;}
#service02_02_nav .nav_list ul li{ margin-top: 7.5%;}
#service02_02_nav .nav_list ul li:first-child{ margin-top: 7.5%;}
#service02_02_nav .nav_list ul li a span.num{ width: 7.5vw; margin-right: 2.5%;}
#service02_02_nav .nav_list ul li a strong{ font-size: 1rem;}
#service02_02_nav .nav_list ul li a i{ font-size: 0.8rem; margin-left: 2.5%;}
}

#service02_02_works{ margin-bottom: 100px;}
#service02_02_works .maincontent{ position: relative;}
#service02_02_works figure.ill{ width: 95px; position: absolute; left: 50px; top: 110px;}
#service02_02_works p.lead{ text-align: center; font-size: 0.9rem; margin-bottom: 50px;}
#service02_02_works .slider_wrap ul li{ cursor: pointer; transition: 0.3s;}
#service02_02_works .slider_wrap ul li:hover{ opacity: 0.7;}
#service02_02_works ul li figure{ position: relative;}
#service02_02_works ul li figure img{ border-radius: 12px;}
#service02_02_works ul li figure span{ position: absolute; left: 0; top: 0; display: flex; align-items: center; justify-content: center; font-size: 0.7rem; padding: 0.25em 0.5em; border: 1px solid #4A4A4A; background: #fff; border-radius: 8px 0 0 0;}
#service02_02_works ul li h4{ font-size: 1rem; margin: 20px auto 10px;}
#service02_02_works ul li p{ font-size: 0.8rem; text-align: justify;}
@media screen and (max-width:768px){
#service02_02_works{ margin-bottom: 15%;}
#service02_02_works figure.ill{ width: 12.5vw; left: 0; top: 2.5vw;}
#service02_02_works p.lead{ font-size: 0.9rem; margin-bottom: 7.5%;}
#service02_02_works ul li figure img{ border-radius: 1.25vw;}
#service02_02_works ul li figure span{ font-size: 0.7rem;}
#service02_02_works ul li h4{ font-size: 1rem; margin: 3.75% auto 2.5%;}
#service02_02_works ul li p{ font-size: 0.8rem;}
}

#service02_02_about{ margin-top: 270px;}
#service02_02_about .maincontent{ padding: 60px 540px 30px 0; position: relative; z-index: 1;}
#service02_02_about .maincontent:after{ content: ""; width: 1920px; height: 100%; background: #fff; border-radius: 0 20px 20px 0; position: absolute; right: 30px; top: 0; z-index: -1;}
#service02_02_about h2{ font-size: 5rem; line-height: 1em; color: #fff; position: absolute; left: -60px; top: -0.8em;}
#service02_02_about figure.ill{ width: 260px; position: absolute; left: 320px; top: -140px;}
#service02_02_about h3{ font-size: 1.3rem; margin-bottom: 60px;}
#service02_02_about h4{ font-size: 1.1rem; margin-bottom: 30px; padding-left: 70px; position: relative;}
#service02_02_about h4:before{ content: ""; width: 50px; height: 2px; background: #7FBEE9; position: absolute; left: 0; top: 0.75em;}
#service02_02_about p{ font-size: 0.8rem; margin: 0;}
#service02_02_about p strong{ background: linear-gradient(to bottom, rgba(127,190,233,0) 0%, rgba(127,190,233,0) 50%, rgba(127,190,233,0.2) 51%, rgba(127,190,233,0.2) 100%);}

#service02_02_about .img_list ul li.img01{ width: 530px; position: absolute; right: -110px; top: -40px;}
#service02_02_about .img_list ul li.img02{ width: 280px; position: absolute; right: -60px; top: 310px;}
#service02_02_about .img_list ul li.img01 img,
#service02_02_about .img_list ul li.img02 img{ border-radius: 12px;}
@media screen and (max-width:768px){
#service02_02_about{ margin-top: 25%;}
#service02_02_about .maincontent{ padding: 10% 0 5% 0;}
#service02_02_about .maincontent:after{ width: 100vw; border-radius: 0 2.5vw 2.5vw 0; right: -3.75vw;}
#service02_02_about h2{ font-size: 3.6rem; top: -0.8em; left: -3.75vw}
#service02_02_about figure.ill{ width: 30vw; left: 55vw; top: -15vw;}
#service02_02_about h3{ font-size: 1.2rem; margin-bottom: 7.5%;}
#service02_02_about h4{ font-size: 1rem; margin-bottom: 5%; padding-left: 6.25vw;}
#service02_02_about h4:before{ width: 5vw; top: 0.75em;}
#service02_02_about p{ font-size: 0.8rem;}

#service02_02_about .img_list{ margin-top: 7.5%;}
#service02_02_about .img_list ul{ display: flex; justify-content: space-between; align-items: flex-end;}
#service02_02_about .img_list ul li.img01{ width: 60%; position: static;}
#service02_02_about .img_list ul li.img02{ width: 33.33%; position: static;}
}

#service02_02_recom{ padding-top: 60px;}
#service02_02_recom .maincontent{ padding: 40px 120px 40px 240px; border: 2px solid #4A4A4A; border-left: 0; border-radius: 0 20px 20px 0; position: relative; left: -40px;}
#service02_02_recom h2{ width: 110px; position: absolute; left: 70px; top: -60px;}
#service02_02_recom figure.ill{ width: 130px; position: absolute; right: 40px; top: -60px;}
#service02_02_recom ul li{ font-size: 1rem; line-height: 1.5em; margin-bottom: 25px; padding-left: 34px; position: relative;}
#service02_02_recom ul li:before{ content: ""; width: 24px; height: 24px; background: url("../images/service02_02/recom_check.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0.2em;}
#service02_02_recom ul li strong{ font-size: 1.1rem; background: linear-gradient(to bottom, rgba(127,190,233,0) 0%, rgba(127,190,233,0) 50%, rgba(127,190,233,0.2) 51%, rgba(127,190,233,0.2) 100%);}
#service02_02_recom p.txt{ margin-left: 34px; margin-top: 40px; font-size: 1.1rem; line-height: 1.75em;}
#service02_02_recom p.txt strong{ font-weight: bold; background: linear-gradient(to bottom, rgba(127,190,233,0) 0%, rgba(127,190,233,0) 50%, rgba(127,190,233,0.2) 51%, rgba(127,190,233,0.2) 100%);}
@media screen and (max-width:768px){
#service02_02_recom{ padding-top: 10vw;}
#service02_02_recom .maincontent{ width: calc(100% + 2.25vw); padding: 7.5% 5% 5% 22.5%; border-radius: 0 2.5vw 2.5vw 0; left: -6vw;}
#service02_02_recom h2{ width: 7.5vw; left: 9.75vw; top: -10vw;}

#service02_02_recom figure.ill{ width: 17.5vw; right: -5vw; top: -10vw;}
#service02_02_recom ul li{ font-size: 0.9rem; margin-bottom: 3.75%; padding-left: 7.5vw;}
#service02_02_recom ul li:before{ width: 5vw; height: 5vw; top: 0.2em;}
#service02_02_recom ul li strong{ font-size: 1rem; line-height: 1.5em;}
#service02_02_recom p.txt{ margin-left: 7.5vw; margin-top: 7.5%; font-size: 1rem;}
}

#service02_02_types{ margin-top: 100px;}
#service02_02_types p.lead{ text-align: center; font-size: 1.1rem; margin-bottom: 40px;}
#service02_02_types p.txt{ text-align: center; font-size: 0.9rem;}

#service02_02_types .types_list{ display: flex; width: calc(100% + 30px); margin-left: -15px; margin-bottom: 40px;}
#service02_02_types .types_box{ width: calc(33.33% - 30px); margin: 0 15px; background: #fff; border-radius: 20px; overflow: hidden;}
#service02_02_types .types_box h3{ display: flex; align-items: center; justify-content: center; background: #7FBEE9; color: #fff; font-size: 1.2rem; padding: 0.5em;}
#service02_02_types .types_box h4{ display: flex; align-items: center; justify-content: center; text-align: center; font-size: 1.2rem; line-height: 1.5em; min-height: 3em; margin: 30px auto 10px;}
#service02_02_types .types_box .check01{ margin: 0 30px; display: flex; flex-direction: column; align-items: center; justify-content: center;}
#service02_02_types .types_box .check01 ul{ display: inline-block;}
#service02_02_types .types_box .check01 ul li{ display: flex; align-items: center; margin-top: 10px;}
#service02_02_types .types_box .check01 ul li span{ width: 24px; margin-right: 10px;}
#service02_02_types .types_box .check01 ul li strong{ font-size: 1rem;}
#service02_02_types .types_box .check01 ul li:nth-child(1) strong{ color: #40668B;}
#service02_02_types .types_box .check01 ul li:nth-child(2) strong{ color: #B21D23;}
#service02_02_types .types_box .check01 ul li:nth-child(3) strong{ color: #3D8A5F;}
#service02_02_types .types_box .check01 ul li:nth-child(4) strong{ color: #4A4A4A;}
#service02_02_types .types_box .check01 ul li:nth-child(5) strong{ color: #CC7805;}
#service02_02_types .types_box h5{ margin: 20px 30px 20px;}
#service02_02_types .types_box h5 strong{ display: flex; align-items: center; justify-content: center; background: #EBEBEB; font-size: 0.9rem; font-weight: 500; padding: 0.5em; border-radius: 12px; position: relative;}
#service02_02_types .types_box h5 strong:after{ content: ""; width: 0; height: 0; border-style: solid; border-color: #ebebeb transparent transparent transparent; border-width: 24px 14px 0px 14px; position: absolute; left: 0; right: 0; bottom: -14px; margin: auto;}
#service02_02_types .types_box .check02{ margin: 20px 30px 30px; display: flex; flex-direction: column; align-items: center; justify-content: center;}
#service02_02_types .types_box .check02 ul{ display: inline-block;}
#service02_02_types .types_box .check02 ul li{ display: flex; align-items: center; margin-top: 10px;}
#service02_02_types .types_box .check02 ul li span{ width: 24px; margin-right: 10px;}
#service02_02_types .types_box .check02 ul li strong{ font-size: 1rem; font-weight: 500;}

#service02_02_types .comment{ margin-top: 50px;}
#service02_02_types .comment dl{ display: flex; align-items: center; justify-content: center;}
#service02_02_types .comment dl dt{ width: 240px; margin-right: 60px;}
#service02_02_types .comment dl dd{ display: flex; flex-direction: column; width: 515px; height: 299px; background: url("../images/service02_02/types_message_bg.png") center center no-repeat; background-size: 100% 100%; padding: 70px 80px 0 100px}
#service02_02_types .comment dl dd h5{ font-size: 1rem; margin-bottom: 20px;}
#service02_02_types .comment dl dd h5 strong{ display: inline-block; position: relative;}
#service02_02_types .comment dl dd h5 strong:before{ content: ""; width: 25px; height: 25px; background: url("../images/service02_02/types_message_tit_ico1.png") center center no-repeat; background-size: 100%; position: absolute; left: -30px; bottom: 0;}
#service02_02_types .comment dl dd h5 strong:after{ content: ""; width: 25px; height: 25px; background: url("../images/service02_02/types_message_tit_ico2.png") center center no-repeat; background-size: 100%; position: absolute; right: -30px; bottom: 0;}
#service02_02_types .comment dl dd p{ font-size: 0.8rem;}
@media screen and (max-width:768px){
#service02_02_types{ margin-top: 15%;}
#service02_02_types p.lead{ font-size: 1rem; margin-bottom: 7.5%;}
#service02_02_types p.txt{ text-align: justify; font-size: 0.9rem;}

#service02_02_types .types_list{ display: block; width: 100%; margin-left: 0; margin-bottom: 7.5%;}
#service02_02_types .types_box{ width: 90%; margin: 5% auto 0; border-radius: 2.5vw;}
#service02_02_types .types_box h3{ font-size: 1.2rem; padding: 0.5em;}
#service02_02_types .types_box h4{ font-size: 1.2rem; min-height: 1.5em; margin: 5% auto 2.5%;}
#service02_02_types .types_box .check01{ margin: 0 5%;}
#service02_02_types .types_box .check01 ul li{ margin-top: 5%;}
#service02_02_types .types_box .check01 ul li span{ width: 5vw; margin-right: 2.5vw;}
#service02_02_types .types_box .check01 ul li strong{ font-size: 1rem;}
#service02_02_types .types_box h5{ margin: 5% 5%;}
#service02_02_types .types_box h5 strong{ font-size: 0.9rem; border-radius: 1.25vw;}
#service02_02_types .types_box h5 strong:after{ border-width: 3.6vw 2.1vw 0 2.1vw; bottom: -2.1vw;}
#service02_02_types .types_box .check02{ margin: 5% 5%;}
#service02_02_types .types_box .check02 ul li{ margin-top: 5%;}
#service02_02_types .types_box .check02 ul li span{ width: 5vw; margin-right: 2.5vw;}
#service02_02_types .types_box .check02 ul li strong{ font-size: 1rem;}

#service02_02_types .comment{ margin-top: 5%;}
#service02_02_types .comment dl{ display: block; position: relative;}
#service02_02_types .comment dl dt{ width: 20vw; margin: 0; position: absolute; right: 0; top: -2.5vw;}
#service02_02_types .comment dl dd{ width: 90vw; height: 52.3vw; padding: 15% 15% 0 12.5%;}
#service02_02_types .comment dl dd h5{ font-size: 1rem; margin-bottom: 2.5%;}
#service02_02_types .comment dl dd h5 strong:before{ width: 3.75vw; height: 3.75vw; left: -5vw; bottom: 1.25vw;}
#service02_02_types .comment dl dd h5 strong:after{ width: 3.75vw; height: 3.75vw; right: -5vw; bottom: 1.25vw;}
#service02_02_types .comment dl dd p{ font-size: 0.8rem;}
}

#service02_02_price{ margin-top: 100px;}
#service02_02_price .maincontent{ padding: 80px 0; position: relative; z-index: 1;}
#service02_02_price .maincontent:after{ content: ""; width: 1920px; height: 100%; background: #fff; border-radius: 0 20px 20px 0; position: absolute; right: -60px; top: 0; z-index: -1;}
#service02_02_price p.lead{ text-align: center; margin-bottom: 50px;}
#service02_02_price p.lead strong{ background: linear-gradient(to bottom, rgba(127,190,233,0) 0%, rgba(127,190,233,0) 50%, rgba(127,190,233,0.2) 51%, rgba(127,190,233,0.2) 100%);}

#service02_02_price table{ table-layout: fixed; width: 100%; border-collapse: collapse; border-spacing: 0; text-align: center;}
#service02_02_price table td{ border: 1px solid #4A4A4A}
#service02_02_price table th{ border: 1px solid #4A4A4A}
#service02_02_price table thead td{ border-right: none; font-size: 0.9rem; font-weight: bold; line-height: 1.5em; padding: 0.75em;}
#service02_02_price table thead th{ border-left: 1px dotted #4A4A4A; font-size: 0.9rem; font-weight: bold; line-height: 1.5em; padding: 0.75em;}
#service02_02_price table thead th:nth-child(2){ border-right: none;}
#service02_02_price table thead td{ background: #fff;}
#service02_02_price table thead th:nth-child(2){ background: #D5D5D5;}
#service02_02_price table thead th:nth-child(3){ background: #7FBEE9;}
#service02_02_price table tbody th{ border-right: none;}
#service02_02_price table tbody td:nth-child(2){ border-right: none;}
#service02_02_price table tbody td{ border-left: 1px dotted #4A4A4A;}
#service02_02_price table tbody th{ height: 80px; vertical-align: middle; font-size: 0.9rem; line-height: 1.5em; font-weight: bold; padding: 0.75em;}
#service02_02_price table tbody th span{ display: block; font-size: 0.65rem; line-height: 1.5em; font-weight: 500;}
#service02_02_price table tbody td{ height: 80px; vertical-align: middle; font-size: 0.8rem; line-height: 1.5em; padding: 0.75em;}
#service02_02_price table tbody td span{ margin-right: 10px;}
#service02_02_price table tbody td span img{ width: 24px;}
#service02_02_price table tbody td strong{ font-size: 0.9rem;}
#service02_02_price table tbody td strong b{ font-size: 1rem; font-weight: bold;}

#service02_02_price table thead td:first-child{ border-left: none;}
#service02_02_price table thead th:last-child{ border-right: none;}
#service02_02_price table tbody th:first-child{ border-left: none;}
#service02_02_price table tbody td:last-child{ border-right: none;}

#service02_02_price .comment{ margin: 60px auto 30px;}
#service02_02_price .comment dl{ display: flex; align-items: center; justify-content: center; margin: auto;}
#service02_02_price .comment dl dt{ display: flex; align-items: center; justify-content: center; text-align: center; width: 210px; height: 140px; padding-right: 20px; background: url("../images/service02_02/price_message_bg.png") center center no-repeat; background-size: 100% 100%; font-size: 1.1rem; color: #fff; font-weight: bold;}
#service02_02_price .comment dl dd{ margin-left: 30px;}
#service02_02_price .comment dl dd ul li{ padding-left: 34px; font-size: 1.1rem; margin-bottom: 0.5em; font-weight: bold; position: relative;}
#service02_02_price .comment dl dd ul li:last-child{ margin-bottom: 0;}
#service02_02_price .comment dl dd ul li:before{ content: ""; width: 24px; height: 24px; background: url("../images/service02_02/price_ico2.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0.33em;}
#service02_02_price .comment dl dd ul li strong{ background: linear-gradient(to bottom, rgba(127,190,233,0) 0%, rgba(127,190,233,0) 50%, rgba(127,190,233,0.2) 51%, rgba(127,190,233,0.2) 100%);}

#service02_02_price h4{ text-align: center; font-size: 1.4rem; line-height: 1.5em;}
#service02_02_price h4 strong{ background: linear-gradient(to bottom, rgba(127,190,233,0) 0%, rgba(127,190,233,0) 50%, rgba(127,190,233,0.2) 51%, rgba(127,190,233,0.2) 100%);}
#service02_02_price p.txt{ text-align: center; font-size: 1rem; line-height: 1.8rem; margin: 20px auto 0;}
@media screen and (max-width:768px){
#service02_02_price{ margin-top: 15%;}
#service02_02_price .maincontent{ padding: 10% 0;}
#service02_02_price .maincontent:after{ width: 100vw; border-radius: 0 2.5vw 2.5vw 0; right: -3.75vw;}

#service02_02_price p.lead{ margin-bottom: 7.5%;}

#service02_02_price table thead td{ width: 30%; font-size: 0.9rem; padding: 0.75em 0.25em;}
#service02_02_price table thead th{ font-size: 0.9rem; padding: 0.75em 0.25em;}
#service02_02_price table tbody th{ height: 80px; font-size: 0.8rem; padding: 0.75em 0.25em;}
#service02_02_price table tbody th span{ font-size: 0.65rem;}
#service02_02_price table tbody td{ height: 80px; font-size: 0.7rem; padding: 0.75em 0.25em;}
#service02_02_price table tbody td span{ margin-right: 1.25vw;}
#service02_02_price table tbody td span img{ width: 3.75vw;}
#service02_02_price table tbody td strong{ font-size: 0.8rem;}
#service02_02_price table tbody td strong b{ font-size: 0.9rem;}

#service02_02_price .comment{ margin: 10% auto 7.5%;}
#service02_02_price .comment dl dt{ width: 31.2vw; height: 20.8vw; padding-right: 2.5vw; font-size: 0.9rem;}
#service02_02_price .comment dl dd{ margin-left: 3.75%;}
#service02_02_price .comment dl dd ul li{ padding-left: 5vw; font-size: 0.9rem;}
#service02_02_price .comment dl dd ul li:before{ width: 3.75vw; height: 3.75vw;}

#service02_02_price h4{ font-size: 1.2rem;}
#service02_02_price p.txt{ text-align: justify; font-size: 0.9rem; margin: 5% auto 0;}
}

#service02_02_merit{ margin-top: 210px;}
#service02_02_merit .maincontent{ position: relative; z-index: 1;}
#service02_02_merit figure.ill{ width: 220px; position: absolute; left: 90px; top: -110px;}
#service02_02_merit span.bg01{ width: 790px; position: absolute; right: -530px; top: 40px; z-index: -1;}
#service02_02_merit span.bg02{ width: 680px; position: absolute; left: -400px; bottom: 20px; z-index: -1;}
#service02_02_merit span.ico01{ width: 170px; position: absolute; right: 10px; top: 70px; z-index: -1}
#service02_02_merit span.ico02{ width: 170px; position: absolute; left: -110px; bottom: 150px; z-index: -1}

#service02_02_merit .merit_list ul{ display: flex; width: calc(100% + 30px); margin-left: -15px; margin-top: 40px;}
#service02_02_merit .merit_list ul:nth-child(1){ align-items: flex-start;}
#service02_02_merit .merit_list ul:nth-child(2){ align-items: flex-end;}
#service02_02_merit .merit_list ul li{ width: calc(33.33% - 30px); margin: 0 15px; background: #fff; border-radius: 40px; padding: 50px 40px; position: relative;}
#service02_02_merit .merit_list ul li span.num{ width: 40px; position: absolute; left: 20px; top: -20px;}
#service02_02_merit .merit_list ul li h4{ display: flex; align-items: center; justify-content: center; text-align: center; font-size: 1rem; line-height: 1.5em; min-height: 3em; margin-bottom: 10px;}
#service02_02_merit .merit_list ul li p{ font-size: 0.8rem; text-align: justify;}
#service02_02_merit .merit_list ul li p strong{ background: linear-gradient(to bottom, rgba(127,190,233,0) 0%, rgba(127,190,233,0) 50%, rgba(127,190,233,0.2) 51%, rgba(127,190,233,0.2) 100%);}
@media screen and (max-width:768px){
#service02_02_merit{ margin-top: 20%;}
#service02_02_merit figure.ill{ width: 25vw; left: 0; top: -10vw;}
#service02_02_merit span.bg01{ width: 79vw; right: -53vw; top: 4vw;}
#service02_02_merit span.bg02{ width: 68vw; left: -40vw; bottom: 2vw;}
#service02_02_merit span.ico01{ width: 17vw; right: 1vw; top: 7vw;}
#service02_02_merit span.ico02{ width: 17vw; left: -11vw; bottom: 15vw;}

#service02_02_merit .merit_list ul{ display: block; width: 100%; margin: 0;}
#service02_02_merit .merit_list ul li{ width: 100%; margin: 5% 0 0; border-radius: 2.5vw; padding: 5%;}
#service02_02_merit .merit_list ul li span.num{ width: 7.5vw; left: 2.5vw; top: -2.5vw;}
#service02_02_merit .merit_list ul li h4{ font-size: 1rem; min-height: 1.5em; margin-bottom: 2.5%;}
#service02_02_merit .merit_list ul li p{ font-size: 0.8rem; text-align: justify;}
}

#service02_02_disadvantages{ margin-top: 100px;}
#service02_02_disadvantages .maincontent{ position: relative;}
#service02_02_disadvantages figure.ill{ width: 250px; position: absolute; right: 60px; top: 30px;}
#service02_02_disadvantages .disadvantages_list{ background: #fff; padding: 50px 70px; border-radius: 12px;}
#service02_02_disadvantages .disadvantages_list dl{ margin-bottom: 40px;}
#service02_02_disadvantages .disadvantages_list dl:last-child{ margin-bottom: 0;}
#service02_02_disadvantages .disadvantages_list dl dt{ padding-left: 24px; font-size: 1rem; font-weight: bold; position: relative;}
#service02_02_disadvantages .disadvantages_list dl dt:before{ content: ""; width: 10px; height: 10px; background: #AFAFAF; border-radius: 50%; position: absolute; left: 0; top: 0.5em;}
#service02_02_disadvantages .disadvantages_list dl dd{ padding-left: 24px; margin-top: 10px;}
#service02_02_disadvantages .disadvantages_list dl dd p{ font-size: 0.8rem; line-height: 1.5em;}
@media screen and (max-width:768px){
#service02_02_disadvantages{ margin-top: 15%;}
#service02_02_disadvantages figure.ill{ width: 30vw; right: -5vw; top: 7.5vw;}

#service02_02_disadvantages .disadvantages_list{ padding: 5%; border-radius: 1.25vw;}
#service02_02_disadvantages .disadvantages_list dl{ margin-bottom: 5%;}
#service02_02_disadvantages .disadvantages_list dl dt{ padding-left: 3.75vw; font-size: 1rem;}
#service02_02_disadvantages .disadvantages_list dl dt:before{ width: 2.5vw; height: 2.5vw; top: 0.33em;}
#service02_02_disadvantages .disadvantages_list dl dd{ padding-left: 3.75vw; margin-top: 2.5%;}
#service02_02_disadvantages .disadvantages_list dl dd p{ font-size: 0.8rem;}
}

#service02_02_flow{ margin-top: 150px;}
#service02_02_flow .maincontent{ position: relative; width: 800px;}
#service02_02_flow figure.ill{ width: 120px; position: absolute; right: 10px; top: 0;}
#service02_02_flow .movie{ margin: 80px auto 60px;}
#service02_02_flow .movie iframe{ border-radius: 12px;}

#service02_02_flow .flow_list{ position: relative; z-index: 1;}
#service02_02_flow .flow_list:after{ content: ""; width: 0; height: 100%; border-left: 2px dashed #7FBEE9; position: absolute; left: 50%; top: 0; z-index: -1;}
#service02_02_flow .flow_list dl{ margin-bottom: 30px; background: #fff; padding: 20px 30px 20px 10px; display: flex; align-items: center; border-radius: 100px 0 0 100px;}
#service02_02_flow .flow_list dl dt{ width: 56px;}
#service02_02_flow .flow_list dl dt strong{ width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; background: #7FBEE9; color: #fff; font-size: 1.5rem; line-height: 1em; border-radius: 50%;}
#service02_02_flow .flow_list dl dd{ width: calc(100% - 86px); margin-left: 30px;}
#service02_02_flow .flow_list dl dd h4{ font-size: 1rem; margin-bottom: 10px;}
#service02_02_flow .flow_list dl dd p{ font-size: 0.8rem; line-height: 1.5em;}

#service02_02_flow .att{ border: 2px solid #7FBEE9; border-radius: 12px; padding: 30px; margin-top: 30px;}
#service02_02_flow .att h4{ text-align: center; font-size: 0.9rem; margin-bottom: 10px;}
#service02_02_flow .att p{ text-align: center; font-size: 0.8rem;}
@media screen and (max-width:768px){
#service02_02_flow{ margin-top: 20%;}
#service02_02_flow .maincontent{ width: 88%;}
#service02_02_flow figure.ill{ width: 15vw; right: 2.5vw; top: 0;}
#service02_02_flow .movie{ margin: 10% auto 10%;}
#service02_02_flow .movie iframe{ border-radius: 1.25vw;}

#service02_02_flow .flow_list dl{ margin-bottom: 7.5%; padding: 2.5%; border-radius: 50vw 0 0 50vw;}
#service02_02_flow .flow_list dl dt{ width: 10vw;}
#service02_02_flow .flow_list dl dt strong{ width: 10vw; height: 10vw; font-size: 1.5rem;}
#service02_02_flow .flow_list dl dd{ width: calc(100% - 13.75vw); margin-left: 3.75vw;}
#service02_02_flow .flow_list dl dd h4{ font-size: 1rem; margin-bottom: 2.5%;}
#service02_02_flow .flow_list dl dd p{ font-size: 0.8rem;}

#service02_02_flow .att{ border-radius: 1.25vw; padding: 5%; margin-top: 7.5%;}
#service02_02_flow .att h4{ font-size: 0.9rem; margin-bottom: 2.5%;}
#service02_02_flow .att p{ text-align: justify; font-size: 0.8rem;}
}

#service02_02_method{ margin-top: 150px;}
#service02_02_method .maincontent{ position: relative; width: 800px;}
#service02_02_method figure.ill{ width: 390px; position: absolute; left: -220px; top: -50px;}
#service02_02_method p.lead{ text-align: center; font-size: 0.9rem; margin-bottom: 60px;}
#service02_02_method h3{ text-align: center; font-size: 1.3rem; margin-bottom: 40px;}

#service02_02_method .method_list{ position: relative; z-index: 1;}
#service02_02_method .method_list:after{ content: ""; width: 0; height: 100%; border-left: 2px dashed #7FBEE9; position: absolute; left: 50%; top: 0; z-index: -1;}
#service02_02_method .method_list dl{ margin-bottom: 30px; background: #fff; padding: 20px 30px 20px 10px; display: flex; align-items: center; border-radius: 100px 0 0 100px;}
#service02_02_method .method_list dl dt{ width: 56px;}
#service02_02_method .method_list dl dt strong{ width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; background: #7FBEE9; color: #fff; font-size: 1.5rem; line-height: 1em; border-radius: 50%;}
#service02_02_method .method_list dl dd{ width: calc(100% - 86px); margin-left: 30px;}
#service02_02_method .method_list dl dd h4{ font-size: 1rem; margin-bottom: 10px;}
#service02_02_method .method_list dl dd p{ font-size: 0.8rem; line-height: 1.5em;}

#service02_02_method .att{ border: 2px solid #7FBEE9; border-radius: 12px; padding: 30px; margin-top: 30px;}
#service02_02_method .att h4{ text-align: center; font-size: 0.9rem; margin-bottom: 10px;}
#service02_02_method .att p{ text-align: center; font-size: 0.8rem;}
@media screen and (max-width:768px){
#service02_02_method{ margin-top: 15%;}
#service02_02_method .maincontent{ width: 88%;}
#service02_02_method figure.ill{ width: 40vw; left: -15vw; top: 0;}
#service02_02_method p.lead{ text-align: justify; font-size: 0.9rem; margin-bottom: 10%;}
#service02_02_method h3{ font-size: 1.2rem; margin-bottom: 7.5%;}

#service02_02_method .method_list dl{ margin-bottom: 7.5%; padding: 2.5%; border-radius: 50vw 0 0 50vw;}
#service02_02_method .method_list dl dt{ width: 10vw;}
#service02_02_method .method_list dl dt strong{ width: 10vw; height: 10vw; font-size: 1.5rem;}
#service02_02_method .method_list dl dd{ width: calc(100% - 13.75vw); margin-left: 3.75vw;}
#service02_02_method .method_list dl dd h4{ font-size: 1rem; margin-bottom: 2.5%;}
#service02_02_method .method_list dl dd p{ font-size: 0.8rem;}

#service02_02_method .att{ border-radius: 1.25vw; padding: 5%; margin-top: 7.5%;}
#service02_02_method .att h4{ font-size: 0.9rem; margin-bottom: 2.5%;}
#service02_02_method .att p{ text-align: justify; font-size: 0.8rem;}
}

#service02_02_responsibility{ margin-top: 100px;}
#service02_02_responsibility ul{ display: flex; width: calc(100% + 20px); margin-left: -10px;}
#service02_02_responsibility ul li{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: calc(50% - 20px); margin: 0 10px; border: 2px solid #4A4A4A; padding: 40px; border-radius: 12px;}
#service02_02_responsibility ul li h4{ font-size: 1rem; margin-bottom: 10px;}
#service02_02_responsibility ul li p{ font-size: 0.8rem;}
#service02_02_responsibility ul li p strong{ background: linear-gradient(to bottom, rgba(127,190,233,0) 0%, rgba(127,190,233,0) 50%, rgba(127,190,233,0.2) 51%, rgba(127,190,233,0.2) 100%);}

#service02_02_responsibility .comment{ margin-top: 40px; position: relative;}
#service02_02_responsibility .comment figure.ill01{ width: 110px; position: absolute; left: 80px; top: 30px;}
#service02_02_responsibility .comment figure.ill02{ width: 90px; position: absolute; right: 30px; bottom: 60px;}
#service02_02_responsibility .comment .message{ width: 564px; height: 320px; display: flex; flex-direction: column; margin: auto; background: url("../images/service02_02/responsibility_message_bg.png") center center; background-size: 100% 100%; padding: 80px 30px 0 100px;}
#service02_02_responsibility .comment .message h4{ width: 100%; font-size: 1rem; margin-bottom: 20px;}
#service02_02_responsibility .comment .message p{ width: 100%; font-size: 0.8rem;}
@media screen and (max-width:768px){
#service02_02_responsibility{ margin-top: 15%;}
#service02_02_responsibility ul{ display: block; width: 100%; margin: 0;}
#service02_02_responsibility ul li{ width: 100%; margin: 5% auto 0; padding: 5%; border-radius: 1.25vw;}
#service02_02_responsibility ul li h4{ font-size: 1rem; margin-bottom: 2.5%;}
#service02_02_responsibility ul li p{ font-size: 0.8rem;}

#service02_02_responsibility .comment{ margin-top: 7.5%;}
#service02_02_responsibility .comment figure.ill01{ width: 15vw; left: -5vw; top: 2.5vw;}
#service02_02_responsibility .comment figure.ill02{ width: 10vw; right: -5vw; bottom: 5vw;}
#service02_02_responsibility .comment .message{ width: 80vw; height: 45.4vw; padding: 10% 5% 0 12.5%;}
#service02_02_responsibility .comment .message h4{ width: 100%; font-size: 0.8rem; margin-bottom: 2.5%;}
#service02_02_responsibility .comment .message p{ width: 100%; font-size: 0.7rem;}
}

#service02_02_faq.faq .maincontent{ position: relative;}
#service02_02_faq.faq figure.ill{ width: 180px; position: absolute; right: 220px; top: -20px;}
#service02_02_faq.faq dl dt span{ color: #7FBEE9; border-color: #7FBEE9;}
#service02_02_faq.faq dl dt i{ background: #7FBEE9;}
#service02_02_faq.faq dl dd .movie_txt{ width: calc(100% - 50px); margin: 0;}
#service02_02_faq.faq dl dd .movie_txt p{ width: 100%;}
#service02_02_faq.faq dl dd .movie_txt .movie{ width: 800px; margin: 30px auto 0;}
#service02_02_faq.faq dl dd .movie_txt .movie iframe{ border-radius: 12px;}
@media screen and (max-width:768px){
#service02_02_faq.faq figure.ill{ width: 20vw; right: 2.5vw; top: -2.5vw;}
#service02_02_faq.faq dl dd .movie_txt{ width: calc(100% - 7.5vw); margin: 0;}
#service02_02_faq.faq dl dd .movie_txt .movie{ width: 92.5%; margin: 5% auto 0;}
#service02_02_faq.faq dl dd .movie_txt .movie iframe{ border-radius: 1.25vw;}
}

#service02_02_company{ margin-top: 100px;}
#service02_02_company p.lead{ text-align: center; font-size: 0.9rem; margin-bottom: 40px;}
#service02_02_company p.txt{ text-align: center; font-size: 1.3rem; line-height: 1.75em; font-weight: bold; margin-bottom: 40px;}
#service02_02_company p.txt2{ text-align: center; font-size: 0.9rem;}
#service02_02_company p.txt2 a{ color: #40668B; text-decoration: underline;}
#service02_02_company p.txt2 a:hover{ text-decoration: none;}

#service02_02_company .list{ margin: 40px auto 50px;}
#service02_02_company .list ul{ display: flex; width: calc(100% + 60px); margin-left: -30px;}
#service02_02_company .list ul li{ width: calc(33.33% - 60px); margin: 0 30px;}
#service02_02_company .list ul li a{ display: block; position: relative;}
#service02_02_company .list ul li a .box{ background: #fff; height: 490px; padding: 30px;}
#service02_02_company .list ul li a span{ background: #BEAC4F; width: 54px; height: 54px; padding-bottom: 4px; display: flex; align-items: center; justify-content: center; position: absolute; right: 0; bottom: 0; border-radius: 8px; z-index: 3;}
#service02_02_company .list ul li a span img{ height: 8px; position: relative; left: 0; transition: 0.3s;}
#service02_02_company .list ul li a figure img{ width: 120px; transition: 0.3s; object-fit: cover;}
#service02_02_company .list ul li a:hover figure img{ transform: scale(1.1);}
#service02_02_company .list ul li a:hover span img{ left: 4px;}
#service02_02_company .list ul li .txt{ margin-top: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center;}
#service02_02_company .list ul li .txt h3{ font-size: 1.2rem; margin-bottom: 0px;}
#service02_02_company .list ul li .txt p{ font-size: 0.8rem;}
@media screen and (max-width:768px){
#service02_02_company{ margin-top: 15%;}
#service02_02_company h2.tit_h2 strong{ line-height: 1.25em;}
#service02_02_company h2.tit_h2 span{ line-height: 1.5em;}
#service02_02_company p.lead{ text-align: justify; font-size: 0.9rem; margin-bottom: 7.5%;}
#service02_02_company p.txt{ text-align: justify; font-size: 1rem; margin-bottom: 5%;}
#service02_02_company p.txt2{ font-size: 0.8rem;}
#service02_02_company p.txt2 a{ font-size: 0.75rem;}

#service02_02_company .list{ margin: 7.5% auto;}
#service02_02_company .list ul{ display: block; width: 100%; margin-left: 0;}
#service02_02_company .list ul li{ width: 100%; margin: 5% auto 0; display: block;}
#service02_02_company .list ul li a .box{ display: flex; align-items: center; justify-content: space-between; background: #fff; height: 60vw; padding: 2.5vw 7.5vw 2.5vw 0;}
#service02_02_company .list ul li a span{ width: 8.75vw; height: 8.75vw; border-radius: 1.5vw; padding-bottom: 0;}
#service02_02_company .list ul li a span img{ height: 1.25vw;}
#service02_02_company .list ul li a:hover span img{ left: 1.25vw;}
#service02_02_company .list ul li a figure{ width: 25%;}
#service02_02_company .list ul li a figure img{ width: 100%}
#service02_02_company .list ul li a:hover span img{ left: 1.25vw;}
#service02_02_company .list ul li .txt{ align-items: flex-start; width: 66.66%; margin: 0;}
#service02_02_company .list ul li .txt h3{ text-align: left; font-size: 1rem; margin-bottom: 2.5%;}
#service02_02_company .list ul li .txt p{ font-size: 0.8rem; line-height: 2em;}
}

#service02_02_company figure.nr_logo{ margin: 50px auto 10px;}
#service02_02_company figure.nr_logo img{ height: 80px;}
@media screen and (max-width:768px){
#service02_02_company figure.nr_logo{ margin: 7.5% auto 1.25%;}
#service02_02_company figure.nr_logo img{ height: 12.5vw;}
}



/*service02_03-再生コンクリート*/
.page.service02_03{ padding-top: 0 !important;}
.page.service02_03 #content{ margin-top: -40px;}
@media screen and (max-width:768px){
.page.service02_03 #content{ margin-top: -5vw;}
}

#mv_service02_03{ background: url("../images/service02_03/mv.png") center bottom no-repeat; background-size: 1366px; height: 760px;}
#mv_service02_03 .mv_in{ max-width: 1200px; margin: auto; padding-top: 200px;}
#mv_service02_03 .mv_in h1{ display: flex; flex-direction: column; align-items: flex-start;}
#mv_service02_03 .mv_in h1 span{ display: flex; align-items: center; justify-content: center; background: #fff; font-size: 1.1rem; line-height: 1em; padding: 0.5em 1.9em; margin-bottom: 15px;}
#mv_service02_03 .mv_in h1 strong{ display: flex; align-items: center; justify-content: center; background: #fff; font-size: 2.7rem; line-height: 1em; padding: 0.25em 0.75em; margin-bottom: 10px;}
#mv_service02_03 .mv_in h1 strong:nth-child(2){ padding-right: 0;}
#mv_service02_03 .mv_in h1 strong b{ color: #BEAC4F;}
@media screen and (min-width:1366px){
#mv_service02_03{ background: url("../images/service02_03/mv.png") center bottom no-repeat; background-size: 100%; height: 760px;}
}
@media screen and (max-width:768px){
#mv_service02_03{ background: url("../images/service02_03/mv.png") center bottom no-repeat; background-size: 110vw; height: 60vw;}
#mv_service02_03 .mv_in{ width: 88%; padding-top: 15vw;}
#mv_service02_03 .mv_in h1 span{ font-size: 0.8rem; padding: 0.5em 1em; margin-bottom: 2.5%;}
#mv_service02_03 .mv_in h1 strong{ font-size: 1.8rem; padding: 0.25em 0.75em; margin-bottom: 1.875%;}
}

.page.service02_03 .pankuzu{ width: 1080px; margin: 0px auto 40px;}
@media screen and (max-width:768px){
.page.service02_03 .pankuzu{ width: 88%; margin: 0 auto 3.75%;}
}

#service02_03_lead{ margin-top: 0; margin-bottom: 80px;}
#service02_03_lead .maincontent{ position: relative; z-index: 1;}
#service02_03_lead .bg_ico01{ width: 320px; position: absolute; right: -280px; top: -100px; z-index: -1;}
#service02_03_lead .bg_ico02{ width: 480px; position: absolute; left: -260px; top: 0; z-index: -1;}
#service02_03_lead .ill01{ width: 110px; position: absolute; left: 150px; top: 50px;}
#service02_03_lead .ill02{ width: 85px; position: absolute; right: 110px; top: 50px;}
#service02_03_lead h2{ text-align: center; margin-top: 100px;}
#service02_03_lead h2 img{ width: 100px;}
@media screen and (max-width:768px){
#service02_03_lead{ margin-bottom: 10%;}
#service02_03_lead .bg_ico01{ width: 32vw; right: -28vw; top: -15vw;}
#service02_03_lead .bg_ico02{ width: 48vw;  left: -26vw;}
#service02_03_lead .ill01{ width: 15vw; left: 0; top: 5vw;}
#service02_03_lead .ill02{ width: 10vw; right: 0; top: 5vw;}
#service02_03_lead h2{ margin-top: 15%;}
#service02_03_lead h2 img{ width: 20vw;}
}

#service02_03_structure{ margin-top: 180px; margin-bottom: 60px;}
#service02_03_structure .maincontent{ display: flex; flex-direction: column; align-items: center; background: #fff; border: 2px solid #707070; border-radius: 20px; padding: 50px 50px; position: relative; z-index: 1;}
#service02_03_structure figure.ill{ width: 230px; position: absolute; right: 20px; top: -60px;}
#service02_03_structure h4{ font-size: 2.2rem; line-height: 1.33em; color: #B21D23; margin-bottom: 40px;}
#service02_03_structure p{ font-size: 0.8rem;}
#service02_03_structure h5{ font-size: 1.1rem; margin-top: 40px;}
#service02_03_structure .structure_list{ margin: 40px auto 0; display: flex; justify-content: center;}
#service02_03_structure .structure_list dl{ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; width: 320px; background: #fff; border: 2px solid #707070; padding: 20px 20px 10px; border-radius: 12px; margin: 0 25px;}
#service02_03_structure .structure_list dl dt{ width: 100%; font-size: 1rem; font-weight: bold; color: #3D8A5F; padding-bottom: 10px; margin-bottom: 10px; border-bottom: 2px solid #707070;}
#service02_03_structure .structure_list dl dd p{ font-size: 0.8rem; line-height: 1.75em; font-weight: bold; margin-bottom: 0;}
#service02_03_structure .structure_list dl dd i{ margin-top: 10px; line-height: 1em; position: relative; top: 0; transition: 0.3s;}
#service02_03_structure .structure_list a:hover dl dd i{ top: 0.25em;}
#service02_03_structure figure.zu01{ margin: 100px auto 0; width: 1080px;}
@media screen and (max-width:768px){
#service02_03_structure{ margin-top: 20%; margin-bottom: 10%;}
#service02_03_structure .maincontent{ border-radius: 2.5vw; padding: 5% 3.75%;}
#service02_03_structure figure.ill{ width: 25vw; right: 2.5vw; top: -10vw;}
#service02_03_structure h3{ font-size: 1.2rem; letter-spacing: 0.1em; left: 2.5vw; top: -7.5vw;}
#service02_03_structure h4{ font-size: 1.2rem; margin-bottom: 5%;}
#service02_03_structure p{ font-size: 0.8rem;}
#service02_03_structure h5{ font-size: 0.9rem; margin-top: 7.5%}
#service02_03_structure .structure_list{ margin: 7.5% auto 0; display: block; width: 100%;}
#service02_03_structure .structure_list dl{ width: 100%; padding: 3.75% 3.75% 2.5%; border-radius: 1.25vw; margin: 5% auto 0;}
#service02_03_structure .structure_list dl dt{ font-size: 1rem; padding-bottom: 2.5%; margin-bottom: 2.5%;}
#service02_03_structure .structure_list dl dd p{ font-size: 0.8rem;}
#service02_03_structure .structure_list dl dd i{ margin-top: 3.75%;}
#service02_03_structure figure.zu01{ margin: 15% auto 0; width: 100%;}
}

#service02_03_yona{ margin-bottom: 60px;}
#service02_03_yona .maincontent{ padding: 100px 0; position: relative; z-index: 1;}
#service02_03_yona .maincontent:after{ content: ""; width: 1920px; height: 100%; background: #fff; border-radius: 0 20px 20px 0; position: absolute; right: -60px; top: 0; z-index: -1;}
#service02_03_yona .lead dl{ display: flex; justify-content: space-between;}
#service02_03_yona .lead dl dt{ width: 500px;}
#service02_03_yona .lead dl dd{ width: 500px;}
#service02_03_yona .lead dl dd img{ border-radius: 12px;}
#service02_03_yona .lead dl dt p{ font-size: 0.8rem; text-align: justify;}

#service02_03_yona .feature{ margin: 80px auto;}
#service02_03_yona .feature h3{ text-align: center; font-size: 1.3rem; margin-bottom: 50px;}
#service02_03_yona .feature figure img{ width: 900px;}

#service02_03_yona .explain{ background: #fff; padding: 50px; border: 1px solid #707070; border-radius: 20px;}
#service02_03_yona .explain h3{ text-align: center; font-size: 1.3rem; margin-bottom: 50px;}
#service02_03_yona .explain figure{ width: 720px; margin-top: 50px;}
#service02_03_yona .explain figure.zu01{ padding-right: 50px;}
@media screen and (max-width:768px){
#service02_03_yona{ margin-bottom: 10%;}
#service02_03_yona h2.tit_h2 span{ line-height: 1.5em;}
#service02_03_yona .maincontent{ padding: 10% 0;}
#service02_03_yona .maincontent:after{ width: 100vw; border-radius: 0 2.5vw 2.5vw 0; right: -3.75vw;}
#service02_03_yona .lead dl{ flex-direction: column;}
#service02_03_yona .lead dl dt{ width: 100%; margin-bottom: 5%;}
#service02_03_yona .lead dl dd{ width: 100%;}
#service02_03_yona .lead dl dd img{ border-radius: 1.25vw;}
#service02_03_yona .lead dl dt p{ font-size: 0.8rem;}

#service02_03_yona .feature{ margin: 10% auto;}
#service02_03_yona .feature h3{ font-size: 1.2rem; margin-bottom: 5%;}
#service02_03_yona .feature figure img{ width: 100%;}

#service02_03_yona .explain{ padding: 5% 3.75%; border-radius: 2.5vw;}
#service02_03_yona .explain h3{ font-size: 1.2rem; margin-bottom: 5%;}
#service02_03_yona .explain figure{ width: 100%; margin-top: 5%;}
#service02_03_yona .explain figure.zu01{ padding-right: 7.5%;}
}

#service02_03_works{ margin-bottom: 100px;}
#service02_03_works .maincontent{ position: relative;}
#service02_03_works figure.ill{ width: 95px; position: absolute; left: 50px; top: 110px;}
#service02_03_works p.lead{ text-align: center; font-size: 0.9rem; margin-bottom: 50px;}
#service02_03_works ul{ display: flex; width: calc(100% + 30px); margin-left: -15px; position: relative; z-index: 5;}
#service02_03_works ul li{ width: calc(33.33% - 30px); margin: 0 15px;}
#service02_03_works ul li figure img{ border-radius: 12px;}
#service02_03_works ul li h4{ font-size: 1rem; margin: 20px auto 10px;}
#service02_03_works ul li p{ font-size: 0.8rem; text-align: justify;}
@media screen and (max-width:768px){
#service02_03_works{ margin-bottom: 15%;}
#service02_03_works figure.ill{ width: 12.5vw; left: 0; top: 2.5vw;}
#service02_03_works p.lead{ font-size: 0.9rem; margin-bottom: 7.5%;}
#service02_03_works ul{ display: block; width: 100%; margin: 0;}
#service02_03_works ul li{ width: 75%; margin: 5% auto 0 0;}
#service02_03_works ul li:nth-child(2n){ margin: 5% 0 0 auto;}
#service02_03_works ul li figure img{ border-radius: 1.25vw;}
#service02_03_works ul li h4{ font-size: 1rem; margin: 3.75% auto 2.5%;}
#service02_03_works ul li p{ font-size: 0.8rem;}
}

#service02_03_attention{ margin-bottom: 100px;}
#service02_03_attention h2.tit_h2{ margin-bottom: 40px;}
#service02_03_attention p.lead{ text-align: center; font-size: 0.9rem;}
#service02_03_attention p.att{ text-align: center; font-size: 0.9rem;}
#service02_03_attention .box{ margin: 30px auto; border: 1px solid #4A4A4A; background: #fff; border-radius: 12px; padding: 60px 100px;}
#service02_03_attention .box ul li{ font-size: 0.8rem; line-height: 1.5em; padding-left: 24px; margin-bottom: 1em; position: relative;}
#service02_03_attention .box ul li:before{ content: ""; width: 10px; height: 10px; background: #BEAC4F; border-radius: 50%; position: absolute; left: 0; top: 0.5em;}
#service02_03_attention .box h4{ font-size: 0.9rem;}
#service02_03_attention .box h4 strong.bg_y{ background: linear-gradient(to bottom, rgba(237,233,211,0) 0%, rgba(237,233,211,0) 50%, rgba(237,233,211,1) 51%, rgba(237,233,211,1) 100%);}
@media screen and (max-width:768px){
#service02_03_attention{ margin-bottom: 15%;}
#service02_03_attention h2.tit_h2{ margin-bottom: 5%;}
#service02_03_attention p.lead{ font-size: 0.9rem;}
#service02_03_attention p.att{ font-size: 0.8rem;}
#service02_03_attention .box{ margin: 5% auto; border-radius: 1.25vw; padding: 5%;}
#service02_03_attention .box ul li{ font-size: 0.7rem; padding-left: 5vw;}
#service02_03_attention .box ul li:before{ width: 2.5vw; height: 2.5vw; top: 0.33em;}
#service02_03_attention .box h4{ font-size: 0.8rem;}
}

#service02_03_blocks{ margin-bottom: 100px;}
#service02_03_blocks .maincontent{ padding: 60px 0 0; position: relative; z-index: 1;}
#service02_03_blocks .maincontent:after{ content: ""; width: 1920px; height: calc(100% - 200px); background: #fff; border-radius: 0 20px 20px 0; position: absolute; right: -60px; top: 0; z-index: -1;}
#service02_03_blocks figure.ill{ width: 180px; position: absolute; right: 160px; top: 10px;}

#service02_03_blocks .lead dl{ display: flex; justify-content: space-between;}
#service02_03_blocks .lead dl dt{ width: 520px;}
#service02_03_blocks .lead dl dd{ width: 500px;}
#service02_03_blocks .lead dl dd p{ font-size: 0.8rem; text-align: justify;}
#service02_03_blocks .lead dl dd p strong.bg_y{ background: linear-gradient(to bottom, rgba(237,233,211,0) 0%, rgba(237,233,211,0) 50%, rgba(237,233,211,1) 51%, rgba(237,233,211,1) 100%);}

#service02_03_blocks .feature{ margin-top: 80px;}
#service02_03_blocks .feature h3{ text-align: center; font-size: 1.3rem; margin-bottom: 50px;}
#service02_03_blocks .feature ul{ display: flex;}
#service02_03_blocks .feature ul li{ width: 320px; height: 320px; margin: 0 15px; display: flex; flex-direction: column; align-items: center; text-align: center; border: 2px solid #3D8A5F; border-radius: 50%; padding: 40px;}
#service02_03_blocks .feature ul li figure img{ width: 76px;}
#service02_03_blocks .feature ul li h4{ font-size: 1rem; color: #3D8A5F; margin: 15px auto;}
#service02_03_blocks .feature ul li p{ font-size: 0.75rem;}

#service02_03_blocks .exsample{ margin-top: 80px;}
#service02_03_blocks .exsample h3{ text-align: center; font-size: 1.3rem; margin-bottom: 50px;}
/*
#service02_03_blocks .exsample ul{ display: flex; width: calc(100% + 30px); margin-left: -15px;}
#service02_03_blocks .exsample ul li{ width: calc(33.33% - 30px); margin: 0 15px;}
#service02_03_blocks .exsample ul li img{ border-radius: 12px;}
#service02_03_blocks .exsample ul li h4{ font-size: 1rem; margin: 20px 0 10px;}
#service02_03_blocks .exsample ul li p{ font-size: 0.8rem; text-align: justify;}
*/
@media screen and (max-width:768px){
#service02_03_blocks{ margin-bottom: 15%;}
#service02_03_blocks .maincontent{ padding: 7.5% 0 0;}
#service02_03_blocks .maincontent:after{ width: 100vw; height: calc(100% - 40vw); border-radius: 0 2.5vw 2.5vw 0; right: -3.75vw;}
#service02_03_blocks figure.ill{ width: 20vw; right: 0; top: 1.25vw;}

#service02_03_blocks .lead dl{ flex-direction: column-reverse;}
#service02_03_blocks .lead dl dt{ width: 100%; margin-top: 5%;}
#service02_03_blocks .lead dl dd{ width: 100%;}
#service02_03_blocks .lead dl dd p{ font-size: 0.8rem;}

#service02_03_blocks .feature{ margin-top: 10%;}
#service02_03_blocks .feature h3{ font-size: 1.2rem; margin-bottom: 5%;}
#service02_03_blocks .feature ul{ display: flex; flex-wrap: wrap; justify-content: center; width: calc(100% + 10vw); margin-left: -6.25vw;}
#service02_03_blocks .feature ul li{ width: 44vw; height: 44vw; margin: 0 1.25vw; padding: 5% 1.875%;}
#service02_03_blocks .feature ul li:first-child{ margin: 0 5vw -2.5vw;}
#service02_03_blocks .feature ul li figure img{ width: 10vw;}
#service02_03_blocks .feature ul li h4{ font-size: 0.8rem; margin: 2.5% auto;}
#service02_03_blocks .feature ul li p{ font-size: 0.66rem;}

#service02_03_blocks .exsample{ margin-top: 10%;}
#service02_03_blocks .exsample h3{ font-size: 1.2rem; margin-bottom: 5%;}
/*
#service02_03_blocks .exsample ul{ display: block; width: 100%; margin: 0;}
#service02_03_blocks .exsample ul li{ width: 75%; margin: 5% auto 0 0;}
#service02_03_blocks .exsample ul li:nth-child(2n){ margin: 5% 0 0 auto;}
#service02_03_blocks .exsample ul li img{ border-radius: 1.25vw;}
#service02_03_blocks .exsample ul li h4{ font-size: 1rem; margin: 3.75% auto 2.5%;}
#service02_03_blocks .exsample ul li p{ font-size: 0.8rem;}
*/
}

.service02_03 .faq .maincontent{ position: relative;}
.service02_03 .faq figure.ill{ width: 180px; position: absolute; right: 200px; top: -50px;}
@media screen and (max-width:768px){
.service02_03 .faq figure.ill{ width: 20vw; right: 0; top: -2.5vw;}
}

#service02_03_message{ margin: 160px auto;}
#service02_03_message .maincontent{ position: relative;}
#service02_03_message .bg_ico03{ width: 320px; position: absolute; right: -220px; top: -160px;}
#service02_03_message .bg_ico04{ width: 480px; position: absolute; left: -400px; top: 150px;}
#service02_03_message h2{ text-align: center; font-size: 1.5rem; margin-bottom: 40px;}
#service02_03_message figure img{ width: 800px;}
@media screen and (max-width:768px){
#service02_03_message{ margin: 20% auto;}
#service02_03_message .bg_ico03{ width: 32vw; right: -22vw; top: -16vw;}
#service02_03_message .bg_ico04{ width: 48vw;  left: -40vw; top: 15vw;}
#service02_03_message h2{ font-size: 1.4rem; margin-bottom: 5%;}
#service02_03_message figure img{ width: 100%;}
}



/*service03*/
@media screen and (max-width:768px){
.page.service03 #mv02 .mv_in dl dt h1 strong{ font-size: 2.8rem;}
}

#service03_lead{ margin-bottom: 120px;}
#service03_lead h2{ text-align: center; font-size: 1.8rem; margin-bottom: 30px;}
#service03_lead p{ text-align: center; font-size: 0.9rem;}
@media screen and (max-width:768px){
#service03_lead{ margin-bottom: 15%;}
#service03_lead h2{ font-size: 1.5rem; margin-bottom: 5%;}
#service03_lead p{ text-align: justify;}
}

#service03_about{ margin-bottom: 180px;}
#service03_about .maincontent{ position: relative; z-index: 1; padding: 60px 0;}
#service03_about .maincontent:after{ content: ""; width: 1920px; height: 100%; background: #fff; border-radius: 0 20px 20px 0; position: absolute; right: -60px; top: 0; z-index: -1;}
#service03_about h2{ font-size: 5rem; line-height: 1em; color: #fff; position: absolute; left: -60px; top: -0.85em;}
#service03_about h3{ font-size: 1.3rem; margin-bottom: 60px;}
#service03_about .about_zu{ margin: 40px auto; padding-right: 40px; position: relative;}
#service03_about figure img{ width: 926px;}
#service03_about span.ico01{ width: 190px; position: absolute; left: -60px; top: 100px;}
#service03_about span.ico02{ width: 190px; position: absolute; right: -20px; top: 100px;}
#service03_about p{ text-align: center; font-size: 1.3rem; line-height: 1.75em;}
@media screen and (max-width:768px){
#service03_about{ margin-bottom: 20%;}
#service03_about .maincontent{ padding: 7.5% 0;}
#service03_about .maincontent:after{ width: 100vw; border-radius: 0 2.5vw 2.5vw 0; right: -3.75vw;}
#service03_about h2{ font-size: 3.6rem; left: -6vw; top: -0.85em;}
#service03_about h3{ font-size: 1.2rem; margin-bottom: 7.5%;}
#service03_about .about_zu{ margin: 5%; padding-right: 3.75vw;}
#service03_about figure img{  width: calc(100% + 7.5vw); max-width: calc(100% + 7.5vw); margin-left: -3.75vw;}
#service03_about span.ico01{ width: 15vw; left: -5vw; top: 3.75vw;}
#service03_about span.ico02{ width: 15vw; right: -1.25vw; top: 3.75vw;}
#service03_about p{ text-align: justify; font-size: 1.2rem;}
}

#service03_about .infomation{ margin-top: 120px; background: #EFF5F0; padding: 30px 60px 40px; border-radius: 12px; position: relative;}
#service03_about .infomation h4{ font-size: 3.5rem; line-height: 1em; color: #EFF5F0; position: absolute; left: 0; top: -0.85em;}
#service03_about .infomation h5{ font-size: 1.3rem; margin-bottom: 20px;}
#service03_about .infomation ul li{ padding-left: 24px; margin-bottom: 0.5em; font-size: 0.9rem; line-height: 1.5em; position: relative;}
#service03_about .infomation ul li strong{ font-size: 1rem; color: #B21D23;}
#service03_about .infomation ul li:before{ content: ""; width: 10px; height: 10px; background: #3D8A5F; border-radius: 50%; position: absolute; left: 0; top: 0.5em;}
@media screen and (max-width:768px){
#service03_about .infomation{ margin-top: 15%; padding: 3.75% 7.5%; border-radius: 1.25vw;}
#service03_about .infomation h4{ font-size: 2.4rem; top: -0.85em;}
#service03_about .infomation h5{ font-size: 1.2rem; margin-bottom: 3.75%;}
#service03_about .infomation ul li{ padding-left: 5vw; font-size: 0.8rem;}
#service03_about .infomation ul li strong{ font-size: 0.9rem;}
#service03_about .infomation ul li:before{ width: 2.5vw; height: 2.5vw; top: 0.33em;}
}

#service03_product{ margin-bottom: 100px;}
#service03_product .maincontent{ position: relative;}
#service03_product figure.ill{ width: 220px; position: absolute; right: 100px; top: -120px;}
#service03_product .product_list{ display: flex; justify-content: space-between;}
#service03_product .product_list .product_box{ width: calc(50% - 30px); background: #fff; border: 2px solid #4A4A4A; border-radius: 12px; padding: 30px 40px 40px}
#service03_product .product_list .product_box h4{ text-align: center; font-size: 1.3rem; margin-bottom: 30px;}
#service03_product .product_list .product_box figure.img{ margin-bottom: 20px;}
#service03_product .product_list .product_box figure.img img{ border-radius: 12px;}
#service03_product .product_list .product_box ul li{ font-size: 0.9rem; line-height: 1.5em; margin-bottom: 0.5em; padding-left: 24px; position: relative;}
#service03_product .product_list .product_box ul li:before{ content: ""; width: 10px; height: 10px; background: #B2A149; border-radius: 50%; position: absolute; left: 0; top: 0.5em;}
#service03_product .product_list .product_box .price{ margin: 20px 0 0; padding-bottom: 10px; border-bottom: 1px solid #4A4A4A;}
#service03_product .product_list .product_box .price dl{ display: flex; align-items: center;}
#service03_product .product_list .product_box .price dl dt{ font-size: 1rem; font-weight: bold; width: 3em;}
#service03_product .product_list .product_box .price dl dd{ font-size: 1rem; font-weight: bold; flex: 1;}
#service03_product .product_list .product_box .price dl dd strong{ font-size: 1.2rem;}
#service03_product .product_list .product_box .price dl dd span{ font-size: 0.9rem;}
#service03_product .product_list .product_box p.att{ font-size: 0.9rem; line-height: 1.5em; margin: 15px 0 -40px;}
#service03_product .product_list .product_box figure.btn a{ display: flex; align-items: center; justify-content: center; width: 100%; height: 60px; background: #B2A149; color: #fff; font-size: 0.8rem; font-weight: bold; border-radius: 12px; margin-top: 50px; transition: 0.3s;}
#service03_product .product_list .product_box figure.btn a:hover{ opacity: 0.7;}
@media screen and (max-width:768px){
#service03_product{ margin-bottom: 15%;}
#service03_product figure.ill{ width: 20vw; right: 0; top: -7.5vw;}
#service03_product .product_list{ display: block;}
#service03_product .product_list .product_box{ width: 100%; border-radius: 1.25vw; padding: 5%; margin-top: 7.5%;}
#service03_product .product_list .product_box h4{ font-size: 1.2rem; margin-bottom: 5%;}
#service03_product .product_list .product_box figure.img{ margin-bottom: 3.75%;}
#service03_product .product_list .product_box figure.img img{ border-radius: 1.25vw;}
#service03_product .product_list .product_box ul li{ font-size: 0.8rem; padding-left: 5vw;}
#service03_product .product_list .product_box ul li:before{ width: 2.5vw; height: 2.5vw; top: 0.33em;}
#service03_product .product_list .product_box .price{ margin: 3.75% 0 0; padding-bottom: 1.25%;}
#service03_product .product_list .product_box .price dl dt{ font-size: 1rem;}
#service03_product .product_list .product_box .price dl dd{ font-size: 1rem;}
#service03_product .product_list .product_box .price dl dd strong{ font-size: 1.2rem;}
#service03_product .product_list .product_box .price dl dd span{ font-size: 0.9rem;}

#service03_product .product_list .product_box p.att{ font-size: 0.9rem; margin: 3.75% 0 -5%;}

#service03_product .product_list .product_box figure.btn a{ width: 100%; height: 10vw; font-size: 0.8rem; border-radius: 1.25vw; margin-top: 7.5%;}
}

#service03_features{ margin-bottom: 100px;}
#service03_features ul{ width: 860px; margin: auto;}
#service03_features ul li{ display: flex; align-items: center; margin-bottom: 10px; background: #fff; width: 100%; height: 160px; padding: 30px 40px; border-radius: 80px 12px 12px 80px;}
#service03_features ul li dl{ display: flex; width: 100%;}
#service03_features ul li dl dt{ display: flex; align-items: center; width: 90px;}
#service03_features ul li dl dd{ flex: 1; margin-left: 30px;}
#service03_features ul li dl dd h4{ font-size: 1.2rem; color: #3D8A5F; margin-bottom: 5px;}
#service03_features ul li dl dd p{ font-size: 0.8rem;}
@media screen and (max-width:768px){
#service03_features{ margin-bottom: 15%;}
#service03_features ul{ width: 100%;}
#service03_features ul li{ height: auto; padding: 5%; border-radius: 12.5vw 1.25vw 1.25vw 12.5vw;}
#service03_features ul li dl dt{ width: 15vw;}
#service03_features ul li dl dd{ margin-left: 5%;}
#service03_features ul li dl dd h4{ font-size: 1.2rem; margin-bottom: 1.25%;}
#service03_features ul li dl dd p{ font-size: 0.8rem;}
}

.service03 .pictures .maincontent{ position: relative;}
.service03 .pictures figure.ill{ width: 95px; position: absolute; left: 225px; top: 25px;}
@media screen and (max-width:768px){
.service03 .pictures figure.ill{ width: 15vw; left: 3.75vw; top: 1.25vw;}
}



/*service04*/
#service04_sec01{ margin-bottom: 100px;}
#service04_sec01 p.lead{ text-align: center; font-size: 1.8rem; margin-bottom: 20px;}
#service04_sec01 .sec01_img01{ margin: 20px auto 50px; width: 920px; position: relative;}
#service04_sec01 .sec01_img01 figure img{ border-radius: 12px;}
#service04_sec01 .sec01_img01 p.txt01{ margin: 0; width: 270px; position: absolute; left: -70px; top: 40px;}
#service04_sec01 .sec01_img01 p.txt02{ margin: 0; width: 270px; position: absolute; right: -75px; bottom: 50px;}
#service04_sec01 .sec01_img01 figure.ico{ width: 340px; position: absolute; left: -60px; bottom: 40px;}
#service04_sec01 .movie{ width: 920px; margin: auto;}
#service04_sec01 .movie figure.youtube iframe{ border-radius: 12px;}
@media screen and (max-width:768px){
#service04_sec01{ margin-bottom: 15%;}
#service04_sec01 p.lead{ font-size: 0.9rem; margin-bottom: 7.5%;}
#service04_sec01 .sec01_img01{ margin: 7.5% auto; width: 100%;}
#service04_sec01 .sec01_img01 figure img{ border-radius: 1.25vw;}
#service04_sec01 .sec01_img01 p.txt01{ width: 27.5vw; left: -6vw; top: 2.5vw;}
#service04_sec01 .sec01_img01 p.txt02{ width: 27.5vw; right: -10vw; bottom: 2.5vw;}
#service04_sec01 .sec01_img01 figure.ico{ width: 34vw; left: -6vw; bottom: -3vw;}
#service04_sec01 .movie{ width: 100%;}
}

#service04_sec02{ margin-bottom: 160px;}

#service04_sec02 .service04_comparison p.txt{ width: 840px; margin: 0 auto 15px; font-size: 1rem; font-weight: bold;}
#service04_sec02 .service04_comparison ul{ display: flex; justify-content: center; margin: 0 auto 50px; width: 880px;}
#service04_sec02 .service04_comparison ul li{ display: flex; align-items: center; justify-content: center; text-align: center; width: calc(25% - 30px); margin: 0 15px; background: #E2EBE4; border-radius: 12px; font-size: 1.1rem; padding: 15px; position: relative;}
#service04_sec02 .service04_comparison ul li:before{ content: ""; width: 50px; height: 1px; background: #3D8A5F; position: absolute; right: -40px; top: 50%; transform: translateY(-50%); z-index: 3;}
#service04_sec02 .service04_comparison ul li:after{ content: ""; width: 10px; height: 10px; background: #3D8A5F; border-radius: 50%; position: absolute; left: 5px; top: 50%; transform: translateY(-50%); z-index: 3;}
#service04_sec02 .service04_comparison ul li:first-child:after{ display: none;}
#service04_sec02 .service04_comparison ul li:last-child:before{ display: none;}
#service04_sec02 .service04_comparison h3{ text-align: center; font-size: 1.3rem; color: #BEAC4F; margin-bottom: 10px;}
#service04_sec02 .service04_comparison h3 strong{ display: inline-block; position: relative;}
#service04_sec02 .service04_comparison h3 strong:before{ content: ""; width: 17px; height: 34px; background: url("../images/service04/sec02_ico01.png") center center no-repeat; background-size: 100%; position: absolute; left: -30px; top: 50%; transform: translateY(-50%);}
#service04_sec02 .service04_comparison h3 strong:after{ content: ""; width: 17px; height: 34px; background: url("../images/service04/sec02_ico02.png") center center no-repeat; background-size: 100%; position: absolute; right: -30px; top: 50%; transform: translateY(-50%);}
#service04_sec02 .service04_comparison h4{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: 850px; margin: 0 auto; background: #BEAC4F; color: #fff; padding: 30px; border-radius: 12px;}
#service04_sec02 .service04_comparison h4 strong{ font-size: 1.5rem; line-height: 1em;}
@media screen and (max-width:768px){
#service04_sec02{ margin-bottom: 20%;}
#service04_sec02 .service04_comparison p.txt{ width: 75%; margin: 10% auto 2.5%;}
#service04_sec02 .service04_comparison ul{ display: block; margin: 0 auto 7.5%; width: 75%;}
#service04_sec02 .service04_comparison ul li{ width: 100%; margin: 2.5vw 0 0; border-radius: 1.25vw; font-size: 1.1rem; padding: 5vw;}
#service04_sec02 .service04_comparison ul li:before{ width: 2px; height: 7.5vw; left: 50%; top: auto; bottom: -5vw; transform: translateY(0) translateX(-50%);}
#service04_sec02 .service04_comparison ul li:after{ width: 2.5vw; height: 2.5vw; left: 50%; top: 1.25vw; transform: translateY(0) translateX(-50%);}
#service04_sec02 .service04_comparison h3{ font-size: 1.2rem; margin-bottom: 2.5%;}
#service04_sec02 .service04_comparison h3 strong:before{ width: 3.75vw; height: 10vw; left: -5vw;}
#service04_sec02 .service04_comparison h3 strong:after{ width: 3.75vw; height: 10vw; right: -5vw;}
#service04_sec02 .service04_comparison h4{ width: 100%; padding: 3.75%; border-radius: 1.25vw;}
#service04_sec02 .service04_comparison h4 strong{ font-size: 1.25rem; text-align: center; line-height: 1.5em;}
}

#service04_sec02 .maincontent{ padding: 60px 0; position: relative; z-index: 1;}
#service04_sec02 .maincontent:after{ content: ""; width: 1920px; height: 100%; background: #fff; border-radius: 0 20px 20px 0; position: absolute; right: -60px; top: 0; z-index: -1;}
@media screen and (max-width:768px){
#service04_sec02 .maincontent{ padding: 7.5vw 0 0;}
#service04_sec02 .maincontent:after{ width: 100vw; border-radius: 0 2.5vw 2.5vw 0; right: -3.75vw;}
}

#service04_point{ position: relative;}
#service04_point figure.img{ width: 710px; position: absolute; right: -180px; bottom: -75px;}
#service04_point h2{ font-size: 5rem; line-height: 1em; color: #fff; position: absolute; left: 0; top: -0.8em;}

#service04_point .point_zu{ width: 480px; margin: 60px 0 0 120px;}
#service04_point .point_zu h3{ text-align: center; font-size: 1.5rem; margin-bottom: 40px;}
#service04_point .point_zu h3 strong{ display: inline-block; position: relative;}
#service04_point .point_zu h3 strong:before{ content: ""; width: 2px; height: 40px; background: #707070; position: absolute; left: -40px; bottom: 0.1em; transform: rotate(-22.5deg);}
#service04_point .point_zu h3 strong:after{ content: ""; width: 2px; height: 40px; background: #707070; position: absolute; right: -40px; bottom: 0.1em; transform: rotate(22.5deg);}
#service04_point .point_zu figure.zu{ width: 475px; margin: 0;}
#service04_point .point_zu figure.zu img{ margin-left: -30px;}
#service04_point .point_zu p{ width: 800px; text-align: left; font-size: 1.2rem; line-height: 1.5em; font-weight: bold; margin: 60px 0 0;}

#service04_point .box{ width: 850px; background: #FAF8EA; margin: 50px auto; padding: 40px; border-radius: 12px;}
#service04_point .box h4{ text-align: center; font-size: 1rem; margin-bottom: 40px;}
#service04_point .box dl{ display: flex; align-items: center; justify-content: center;}
#service04_point .box ul li{ padding-left: 24px; font-size: 1.3rem; font-weight: bold; margin-bottom: 0.5em; position: relative;}
#service04_point .box ul li:before{ content: ""; width: 10px; height: 10px; background: #BEAC4F; border-radius: 50%; position: absolute; left: 0; top: 0.5em;}
#service04_point .box ul li:last-child{ margin-bottom: 0;}
#service04_point .box p{ margin-left: 40px; text-align: left; font-size: 1.3rem; line-height: 1.5em; color: #BEAC4F; font-weight: bold;}
#service04_point .box p .bg_wh{ background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, rgba(255,255,255,1) 51%, rgba(255,255,255,1) 100%);}
@media screen and (max-width:768px){
#service04_point figure.img{ margin-top: 3.75%; position: static; width: 100%;}
#service04_point figure.img img{ position: relative; bottom: -1.875vw; width: calc(100% + 3.75vw); max-width: calc(100% + 3.75vw);}
#service04_point h2{ font-size: 3.6rem; top: -0.8em; left: -3.75vw}

#service04_point .point_zu{ width: 100%; margin: 5% 0 0;}
#service04_point .point_zu h3{ font-size: 1.4rem; margin-bottom: 5%;}
#service04_point .point_zu h3 strong:before{ height: 7.5vw; left: -7.5vw;}
#service04_point .point_zu h3 strong:after{ height: 7.5vw; right: -7.5vw;}
#service04_point .point_zu figure.zu{ width: 100%; margin: 5% auto 7.5%;}
#service04_point .point_zu figure.zu img{ margin-left: -3.75vw;}
#service04_point .point_zu p{ width: 100%; font-size: 1em; margin: 0 0 0;}

#service04_point .box{ width: 100%; margin: 5% auto; padding: 5%; border-radius: 1.25vw; display: flex; flex-direction: column; align-items: center; justify-content: center;}
#service04_point .box h4{ font-size: 1rem; margin-bottom: 5%;}
#service04_point .box dl{ display: block;}
#service04_point .box p{ margin: 0; font-size: 1.2rem;}
#service04_point .box ul{ margin: 0 auto 5%;}
#service04_point .box ul li{ padding-left: 3.75vw; font-size: 1.2rem;}
#service04_point .box ul li:before{ width: 1.875vw; height: 1.875vw; top: 0.5em;}
}

#service04_works{ margin-bottom: 200px;}
#service04_works .maincontent{ position: relative;}
#service04_works figure.ill{ width: 140px; position: absolute; left: 260px; top: -10px;}
@media screen and (max-width:768px){
#service04_works{ margin-bottom: 15%;}
#service04_works figure.ill{ width: 15vw; left: 10vw; top: 1.25vw;}
}

#service04_works .slider_wrap_out{ position: relative;}
#service04_works .slider_wrap{ width: 780px; margin: auto;}
#service04_works .slider_wrap ul{ display: flex; justify-content: center; width: calc(780px * 3); margin-left: calc(780px * -1); position: static;}
#service04_works .slider_wrap ul li{ width: 740px; margin: 0 20px; background: #fff; padding: 20px; position: relative; border-radius: 12px;}
#service04_works .slider_wrap ul li h4{ font-size: 1rem; margin-bottom: 15px; text-align: center;}
#service04_works .slider_wrap ul li p.map{ display: flex; align-items: center; position: absolute; right: 20px; top: 30px;}
#service04_works .slider_wrap ul li p.map span{ width: 18px; margin-right: 10px;}
#service04_works .slider_wrap ul li p.map strong{ font-size: 0.7rem; line-height: 1em; font-weight: 500;}
#service04_works .slider_wrap ul li .ba_img{ display: flex; justify-content: space-between; position: relative;}
#service04_works .slider_wrap ul li .ba_img:after{ content: ""; width: 64px; height: 32px; background: url("../images/service04/works_arrow.png") center center no-repeat; background-size: 100%; margin: auto; position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); z-index: 3;}
#service04_works .slider_wrap ul li .ba_img figure{ width: calc(50% - 10px); margin: 0; text-align: center;}
#service04_works .slider_wrap ul li .ba_img figure img{ border-radius: 12px;}
#service04_works .slider_wrap ul li .ba_img figure span{ display: block; font-size: 0.9rem; margin-top: 20px;}
@media screen and (max-width:768px){
#service04_works .slider_wrap{ width: 100%;}
#service04_works .slider_wrap ul{ width: calc(100% + 150vw); margin-left: -75vw; position: static;}
#service04_works .slider_wrap ul{ padding: 0; margin-bottom: 7.5%;}
#service04_works .slider_wrap ul li{ width: calc(100% - 3.75vw); margin: 0 1.875vw; padding: 3.75vw 3.75vw 1.875vw;}
#service04_works .slider_wrap ul li h4{ font-size: 0.9rem; margin-bottom: 2.5%;}
#service04_works .slider_wrap ul li p.map{ right: 3.75vw; top: 5.75vw;}
#service04_works .slider_wrap ul li p.map span{ width: 2.5vw; margin-right: 1.25vw;}
#service04_works .slider_wrap ul li p.map strong{ font-size: 0.66rem;}
#service04_works .slider_wrap ul li .ba_img:after{ width: 7.5vw; height: 3.75vw;}
#service04_works .slider_wrap ul li .ba_img figure{ width: calc(50% - 1vw);}
#service04_works .slider_wrap ul li .ba_img figure img{ border-radius: 1.25vw;}
#service04_works .slider_wrap ul li .ba_img figure span{ font-size: 0.8rem; margin-top: 3.75%;}
}

/*slick調整*/
#service04_works .slider_wrap .slick-prev,
#service04_works .slider_wrap .slick-next{ display: flex; width: 54px; height: 54px; border-radius: 8px; background: #fff; border: 2px solid #4A4A4A; position: absolute; right: 0; bottom: 0; transition: 0.3s;}
#service04_works .slider_wrap .slick-prev{ left: -104px; top: 50%; transform: translateY(-50%); z-index: 99;}
#service04_works .slider_wrap .slick-next{ right: -104px; top: 50%; transform: translateY(-50%); z-index: 99;}
#service04_works .slider_wrap .slick-prev:before{ content: ""; width: 21px; height: 8px; background: url("../images/ico_arrow.svg") center center no-repeat; background-size: 100% 100%; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); transition: 0.3s;}
#service04_works .slider_wrap .slick-next:after{ content: ""; width: 21px; height: 8px; background: url("../images/ico_arrow.svg") center center no-repeat; background-size: 100% 100%; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%) rotateY(180deg); transition: 0.3s;}
#service04_works .slider_wrap .slick-prev:hover:before{ left: calc(50% - 8px);}
#service04_works .slider_wrap .slick-next:hover:after{ left: calc(50% + 8px);}
@media screen and (max-width:768px){
#service04_works .slider_wrap .slick-prev,
#service04_works .slider_wrap .slick-next{ width: 7.5vw; height: 7.5vw; border-radius: 1.25vw;}
#service04_works .slider_wrap .slick-prev{ left: -3.75vw;}
#service04_works .slider_wrap .slick-next{ right: -3.75vw;}
#service04_works .slider_wrap .slick-prev:before{ width: 3.2vw; height: 1.2vw;}
#service04_works .slider_wrap .slick-next:after{ width: 3.2vw; height: 1.2vw;}
#service04_works .slider_wrap .slick-prev:hover:before{ left: calc(50% - 1.25vw);}
#service04_works .slider_wrap .slick-next:hover:after{ left: calc(50% + 1.25vw);}
}

#service04_recom{ margin-bottom: 180px;}
#service04_recom .maincontent{ max-width: 1000px; border: 2px solid #4A4A4A; background: #fff; padding: 40px 40px; border-radius: 12px; position: relative;}
#service04_recom figure.ill{ width: 445px; position: absolute; bottom: -80px; right: -120px;}
#service04_recom h3{ font-size: 1.3rem; margin-bottom: 1em;}
#service04_recom ul{ margin: 20px auto 0;}
#service04_recom ul li{ padding-left: 24px; font-size: 1.25rem; font-weight: bold;margin-bottom: 0.5em; position: relative;}
#service04_recom ul li:before{ content: ""; width: 10px; height: 10px; background: #BEAC4F; border-radius: 50%; position: absolute; left: 0; top: 0.5em;}
@media screen and (max-width:768px){
#service04_recom{ margin-bottom: 17.5%;}
#service04_recom .maincontent{ max-width: 88%; padding: 3.75% 5%; border-radius: 1.25vw;}
#service04_recom figure.ill{ width: 48.75vw; position: absolute; bottom: auto; bottom: -8.75vw; right: -11.25vw;}
#service04_recom h3{ font-size: 1rem; margin-bottom: 1em;}
#service04_recom ul{ margin: 3.75% auto 0;}
#service04_recom ul li{ padding-left: 5vw; font-size: 1rem;}
#service04_recom ul li:before{ content: ""; width: 2.5vw; height: 2.5vw; top: 0.5em;}
}





/*form*/
.page.form #mv02 .mv_in dl dd img{ object-position: center bottom;}

/*form-parts*/
#form ::placeholder{ color: #AFAFAF; font-size: 0.8rem; font-weight: 400; line-height: 1.75em;}
#form ::-ms-input-placeholder{ color: #AFAFAF; font-size: 0.8rem; font-weight: 400; line-height: 1.75em;}
#form select, #form input[type=submit], #form button{ -webkit-appearance: none; appearance: none;}
#form input, #form textarea, #form select, #form button{ width:100%; padding: 1em 1.5em; font-size: 0.8rem; line-height: 1.75em; font-weight: 400; box-sizing: border-box; outline: none; border: none; background: #F7F7F7; color: #4A4A4A; font-family: "Lexend", "Noto Sans JP", sans-serif; border-radius: 4px;}
#form textarea{ text-align: left; height: 18em;}
#form input[type=radio],
#form input[type=checkbox]{ width: auto; padding: 0;}
#form input[type=checkbox]{ position: relative; cursor: pointer; width: 28px; height: 28px; margin-top: -1px; border-radius: 4px; background: #fff;
border: 2px solid #D5D5D5; -webkit-appearance: none; -moz-appearance: none; appearance: none; vertical-align: middle; transition: .3s;}
#form input[type=checkbox]:checked{ background: #B2A149 !important; border-color: #B2A149 !important;}
#form input[type=checkbox]:checked::before{ position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); color: #fff; font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 0.8rem; line-height: 1em; content: '\f00c';}
#form select{ cursor: pointer;}
#form .select_wrap{ cursor: pointer; position: relative;}
#form .select_wrap:after{ font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f107"; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); pointer-events: none;}
@media screen and (max-width:768px){
#form input, #form textarea, #form select, #form button{ font-size: 0.9rem; padding: 1em;}
#form textarea{ height: 10em;}
}

/*form_table*/
#form p{ text-align: center; font-size: 0.9rem;}
#form .form_table{ background: #fff; border-radius: 12px; margin: 70px auto 100px; padding: 100px 150px;}
#form .form_table dl{ margin-bottom: 40px;}
#form .form_table dl dt{ display: flex; align-items: center; font-size: 0.9rem; font-weight: bold; margin-bottom: 10px;}
#form .form_table dl dt span{ display: flex; align-items: center; justify-content: center; width: 36px; height: 18px; background: #B21D23; color: #fff; font-size: 0.6rem; line-height: 1em; border-radius: 4px; margin-left: 10px;}
#form .form_table dl dd.name ul{ display: flex; justify-content: space-between;}
#form .form_table dl dd.name ul li{ width: calc(50% - 8px);}
#form .form_table dl dd p.att{ font-size: 0.65rem; line-height: 1em; font-weight: 400; text-align: left; margin-top: 1em;}
#form .form_table dl.address{ display: flex; align-items: flex-start;}
#form .form_table dl.address dt{ width: 100px; padding-top: 1em;}
#form .form_table dl.address dd{ width: calc(100% - 100px);}
#form .form_table dl.address dd ul li{ display: flex; align-items: center; margin-bottom: 20px;}
#form .form_table dl.address dd ul li:last-child{ margin-bottom: 0;}
#form .form_table dl.address dd ul li strong{ font-size: 0.85rem; width: 120px; text-align: right; padding-right: 15px;}
#form .form_table dl.address dd ul li input{ width: calc(100% - 135px);}
@media screen and (max-width:768px){
#form p{ font-size: 0.8rem; text-align: justify;}
#form .form_table{ border-radius: 1.25vw; width: calc(100% + 2.5vw); margin: 10% 0 15% -1.25vw; padding: 7.5% 5%;}
#form .form_table dl{ margin-bottom: 7.5%;}
#form .form_table dl dt{ font-size: 0.9rem; margin-bottom: 2.5%;}
#form .form_table dl dt span{ width: 7.5vw; height: 3.75vw; font-size: 0.6rem; margin-left: 2.5%;}
#form .form_table dl dd.name ul li{ width: calc(50% - 1.25vw);}
#form .form_table dl dd p.att{ font-size: 0.65rem;}
#form .form_table dl.address{ display: block;}
#form .form_table dl.address dt{ width: 100%; padding-top: 0;}
#form .form_table dl.address dd{ width: 100%;}
#form .form_table dl.address dd ul li{ width: 100%; margin-bottom: 3.75%;}
#form .form_table dl.address dd ul li strong{ font-size: 0.85rem; width: 25vw; padding-right: 2.5vw;}
#form .form_table dl.address dd ul li input{ width: calc(100% - 25vw);}
}

#form .form_table .form_notice{ margin: 40px auto; border: 2px solid #BEAC4F; border-radius: 12px; padding: 30px;}
#form .form_table .form_notice h4{ text-align: center; font-size: 0.9rem; margin-top: 40px; margin-bottom: 20px;}
#form .form_table .form_notice h4:nth-child(1){ margin-top: 0;}
#form .form_table .form_notice p{ font-size: 0.8rem; line-height: 1.5em; text-align: left;}
#form .form_table .form_notice ul li{ font-size: 0.8rem; line-height: 1.5em; padding-left: 24px; margin-bottom: 20px; position: relative;}
#form .form_table .form_notice ul li:last-child{ margin-bottom: 0;}
#form .form_table .form_notice ul li:before{ content: ""; width: 10px; height: 10px; background: #BEAC4F; border-radius: 50%; position: absolute; left: 0; top: 8px;}
#form .form_table .form_notice ol li{ font-size: 0.8rem; line-height: 1.5em; padding-left: 24px; margin-bottom: 20px; position: relative;}
#form .form_table .form_notice ol li:last-child{ margin-bottom: 0;}
#form .form_table .form_notice ol li span{ position: absolute; left: 0; top: 0;}
@media screen and (max-width:768px){
#form .form_table .form_notice{ margin: 7.5% auto; border-radius: 1.25vw; padding: 5% 3.75%;}
#form .form_table .form_notice h4{ font-size: 0.9rem; margin-bottom: 3.75%;}
#form .form_table .form_notice ul li{ font-size: 0.8rem; padding-left: 5vw; margin-bottom: 2.5%;}
#form .form_table .form_notice ul li:before{ width: 2.5vw; height: 2.5vw; top: 1.25vw;}
#form .form_table .form_notice ol li{ font-size: 0.8rem; padding-left: 5vw; margin-bottom: 2.5%;}
#form .form_table .form_notice ol li span{ top: 1.25vw;}
}

#form .form_table .pv_check_wrap{ display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 40px 0;}
#form .form_table .pv_check{ text-align: center; display: flex; align-items: center; justify-content: center;}
#form .form_table .pv_check input{ margin-right: 10px; cursor: pointer;}
#form .form_table .pv_check p{ font-size: 0.8rem; line-height: 1em;}
#form .form_table .pv_check p a{ color: #B2A149; text-decoration: underline;}
#form .form_table .pv_check p a:hover{ text-decoration: none;}
@media screen and (max-width:768px){
#form .form_table .pv_check_wrap{ margin: 7.5% 0;}
#form .form_table .pv_check input{ margin-right: 2.5vw;}
#form .form_table .pv_check p{ font-size: 0.8rem;}
}

#form .form_table .submit_btn{ margin-top: 40px; display: flex; align-items: center; justify-content: center;}
#form .form_table .submit_btn button{ display: flex; align-items: center; justify-content: center; width: 330px; height: 60px; background: #B2A149; color: #fff; font-size: 0.8rem; font-weight: bold; margin: 0 10px; transition: 0.3s; cursor: pointer;}
#form .form_table .submit_btn button.cancel{ background: #AFAFAF;}
#form .form_table .submit_btn button:hover{ opacity: 0.7;}
@media screen and (max-width:768px){
#form .form_table .submit_btn{ margin-top: 7.5%;}
#form .form_table .submit_btn button{ width: 40vw; height: 12.5vw; font-size: 1rem; margin: 0 1.25vw;}
}

/*form-error*/
#form input.error, #form textarea.error, #form select.error, #form  input[type=checkbox].error{ background: #FAEAEB;}
#form .form_table .error_txt{ display: flex; margin-top: 16px;}
#form .form_table .error_txt p{ display: flex; align-items: center; justify-content: center; margin: 0; border: 1px solid #B21D23; background: #fff; border-radius: 8px; font-size: 0.8rem; line-height: 1.25em; padding: 0.5em 0.75em; color: #B21D23; position: relative; z-index: 1;}
#form .form_table .error_txt p:before{ content: ""; width: 0; height: 0; border-style: solid; border-color: transparent transparent #b21d23 transparent; border-width: 0px 8px 14px 8px; position: absolute; left: 24px; top: -14px; z-index: -3;}
#form .form_table .error_txt p:after{ content: ""; width: 0; height: 0; border-style: solid; border-color: transparent transparent #fff transparent; border-width: 0px 7px 12px 7px; position: absolute; left: 25px; top: -12px; z-index: -1;}
#form .form_table .pv_check_wrap .error_txt{ width: 264px;}
@media screen and (max-width:768px){
#form .form_table .error_txt{ margin-top: 16px;}
#form .form_table .error_txt p{ border-radius: 1.25vw; font-size: 0.7rem;}
#form .form_table .error_txt p:before{ left: 24px; top: -14px;}
#form .form_table .error_txt p:after{ left: 25px; top: -12px;}
#form .form_table .pv_check_wrap .error_txt{ width: 52.5vw;}
}

/*form-confirm*/
#form.confirm .form_table dl{ padding-bottom: 30px; margin-bottom: 30px; border-bottom: 2px dotted #4A4A4A;}
#form.confirm .form_table dl dd{ font-size: 0.9rem; line-height: 1.66em; font-weight: 400;}
@media screen and (max-width:768px){
#form.confirm .form_table dl{ padding-bottom: 5%; margin-bottom: 5%;}
}

/*form-thanks*/
#form.thanks h3{ text-align: center; font-size: 1.5rem; color: #B2A149; margin-bottom: 40px;}
@media screen and (max-width:768px){
#form.thanks h3{ font-size: 1.25rem; margin-bottom: 7.5%;}
}

/*form-cv*/
.form_cv{ margin-top: 80px; background: #fff; padding: 40px 100px;}
.form_cv ul{ display: flex;}
.form_cv ul li{ width: 50%; display: flex; flex-direction: column; border-right: 2px solid #D5D5D5;}
.form_cv ul li:last-child{ padding-left: 50px; border-right: none;}
.form_cv ul li h5{ font-size: 1rem; line-height: 1em; margin-bottom: 10px;}
.form_cv ul li a{ font-size: 2.8rem; line-height: 1em; font-weight: 400; color: #B2A149;}
.form_cv ul li p{ display: flex; font-size: 0.8rem; line-height: 1em; font-weight: bold; margin-top: 20px;}
.form_cv ul li p span{ margin-right: 40px;}
@media screen and (max-width:768px){
.form_cv{ margin-top: 15%; padding: 7.5%;}
.form_cv ul{ flex-direction: column;}
.form_cv ul li{ width: 100%; padding: 0 0 7.5%; border: none; border-bottom: 2px solid #D5D5D5; text-align: center;}
.form_cv ul li:last-child{ padding: 7.5% 0 0; border: none;}
.form_cv ul li h5{ font-size: 1rem; margin-bottom: 2.5%;}
.form_cv ul li a{ font-size: 2.4rem;}
.form_cv ul li p{ font-size: 0.8rem; margin-top: 3.75%; justify-content: center;}
.form_cv ul li p span{ margin-right: 7.5%;}
}



/*plan*/
#plan p.lead{ text-align: center; font-size: 0.9rem; margin-bottom: 100px;}
@media screen and (max-width:768px){
#plan p.lead{ text-align: justify; margin-bottom: 15%;}
}

/*form-parts*/
#plan ::placeholder{ color: #AFAFAF; font-size: 0.8rem; font-weight: 400; line-height: 1.75em;}
#plan ::-ms-input-placeholder{ color: #AFAFAF; font-size: 0.8rem; font-weight: 400; line-height: 1.75em;}
#plan select, #plan input[type=submit], #plan button{ -webkit-appearance: none; appearance: none;}
#plan input, #plan textarea, #plan select, #plan button{ width:100%; padding: 1em 1.5em; font-size: 0.8rem; line-height: 1.75em; font-weight: 400; box-sizing: border-box; outline: none; border: none; background: #F7F7F7; color: #4A4A4A; font-family: "Lexend", "Noto Sans JP", sans-serif; border-radius: 4px;}
#plan textarea{ text-align: left; height: 18em;}
#plan input[type=radio],
#plan input[type=checkbox]{ width: auto; padding: 0;}
#plan input[type=checkbox]{ position: relative; cursor: pointer; width: 28px; height: 28px; margin-top: -1px; border-radius: 4px; background: #fff;
border: 2px solid #D5D5D5; -webkit-appearance: none; -moz-appearance: none; appearance: none; vertical-align: middle; transition: .3s;}
#plan input[type=checkbox]:checked{ background: #B2A149 !important; border-color: #B2A149 !important;}
#plan input[type=checkbox]:checked::before{ position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); color: #fff; font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 0.8rem; line-height: 1em; content: '\f00c';}
#plan select{ cursor: pointer;}
#plan .select_wrap{ cursor: pointer; position: relative;}
#plan .select_wrap:after{ font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f107"; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); pointer-events: none;}
#plan .calender_wrap{ position: relative;}
#plan .calender_wrap i{ position: absolute; right: 1em; top: 50%; transform: translateY(-50%); pointer-events: none;}
@media screen and (max-width:768px){
#plan input, #plan textarea, #plan select, #plan button{ font-size: 0.9rem; padding: 1em;}
#plan textarea{ height: 10em;}
#plan .calender_wrap i{ right: 0.75em;}
}

/*plan_table*/
#plan .plan_table{ background: #fff; border-radius: 12px; margin: 70px auto 100px; padding: 100px 150px;}
#plan .plan_table dl{ margin-bottom: 40px;}
#plan .plan_table dl dt{ display: flex; align-items: center; font-size: 0.9rem; font-weight: bold; margin-bottom: 10px;}
#plan .plan_table dl dt span{ display: flex; align-items: center; justify-content: center; width: 36px; height: 18px; background: #B21D23; color: #fff; font-size: 0.6rem; line-height: 1em; border-radius: 4px; margin-left: 10px;}
#plan .plan_table dl dd p.att{ font-size: 0.65rem; line-height: 1em; font-weight: 400; text-align: left; margin-top: 1em;}
#plan .plan_table dl dd.map figure.map_btn{ margin-bottom: 20px;}
#plan .plan_table dl dd.map figure.map_btn button{ display: flex; align-items: center; justify-content: center; width: 280px; height: 60px; border-radius: 12px; background: #B2A149; color: #fff; font-size: 0.8rem; font-weight: bold; cursor: pointer; transition: 0.3s;}
#plan .plan_table dl dd.map figure.map_btn button:hover{ opacity: 0.7;}
#plan .plan_table dl dd.date-date ul{ display: flex; align-items: center; justify-content: space-between;}
#plan .plan_table dl dd.date-date ul li{ width: calc(50% - 1.5em);}
#plan .plan_table dl dd.date-date ul li:nth-child(2){ width: 3em; text-align: center; font-size: 0.8rem; font-weight: 400;}
#plan .plan_table dl dd.radio_list ul{ display: flex;}
#plan .plan_table dl dd.radio_list ul li{ font-size: 0.8rem; margin-right: 2em;}
#plan .plan_table dl dd.radio_list ul li label{ padding-left: 42px; position: relative; cursor: pointer;}
#plan .plan_table dl dd.radio_list ul li input[type=radio]{ accent-color: #3D8A5F; inline-size: 1.2rem; block-size: 1.2rem; margin-right: 0.5em; cursor: pointer;}
#plan .plan_table dl dd.radio_list ul li input[type=radio]{ display: none;}
#plan .plan_table dl dd.radio_list ul li label:before{ content: ""; display: inline-block; width: 28px; height: 28px; border: 2px solid #D5D5D5; background: #F5F5F5; border-radius: 50%; position: absolute; left: 0; top: 50%; transform: translateY(-50%); transition: 0.3s;}
#plan .plan_table dl dd.radio_list ul li label:after{ content: ""; display: inline-block; width: 20px; height: 20px; background: #F5F5F5; border-radius: 50%; position: absolute; left: 6px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
#plan .plan_table dl dd.radio_list ul li input[type=radio]:checked+label:before{ border-color: #3D8A5F;}
#plan .plan_table dl dd.radio_list ul li input[type=radio]:checked+label:after{ background: #3D8A5F;}
#plan .plan_table dl dd.mix_seat table{ width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0;}
#plan .plan_table dl dd.mix_seat table thead th{ border: 2px solid #D5D5D5; border-left-width: 1px; border-right-width: 0; background: #F7F7F7; padding: 1em 0.75em; font-size: 0.7rem; font-weight: bold;}
#plan .plan_table dl dd.mix_seat table thead th:first-child{ border-radius: 4px 0 0 0; border-left-width: 2px;}
#plan .plan_table dl dd.mix_seat table thead th:last-child{ border-radius: 0 4px 0 0; border-right-width: 2px;}
#plan .plan_table dl dd.mix_seat table tbody td{ background: #fff; border: 1px solid #D5D5D5; border-top-width: 0; border-right-width: 0;}
#plan .plan_table dl dd.mix_seat table tbody td:first-child{ border-left-width: 2px;}
#plan .plan_table dl dd.mix_seat table tbody td:last-child{ border-right-width: 2px;}
#plan .plan_table dl dd.mix_seat table tbody tr:last-child td{ border-bottom-width: 2px;}
#plan .plan_table dl dd.mix_seat table tbody tr:last-child td:first-child{ border-radius: 0 0 0 4px;}
#plan .plan_table dl dd.mix_seat table tbody tr:last-child td:last-child{ border-radius: 0 0 4px 0;}
#plan .plan_table dl dd.mix_seat textarea{ resize: none; background: #fff; width: 100%; height: 6em; padding: 0.75em 0.75em; font-size: 0.65rem; font-weight: 400; line-height: 1.5em;}
#plan .plan_table dl dd.mix_seat ::placeholder{ font-size: 0.65rem; font-weight: 400; line-height: 1.5em;}
#plan .plan_table dl dd.mix_seat ::-ms-input-placeholder{ font-size: 0.65rem; font-weight: 400; line-height: 1.5em;}
#plan .plan_table dl dd .check_box{ border: 2px solid #D5D5D5; border-radius: 8px; padding: 30px; margin-top: 24px;}
#plan .plan_table dl dd .check_box p{ display: flex; align-items: center; line-height: 1em; font-size: 0.9rem; font-weight: bold; padding-top: 20px; margin: 24px 0 12px; border-top: 1px solid #D5D5D5;}
#plan .plan_table dl dd .check_box p:first-child{ padding-top: 0; margin-top: 0; border-top: none;}
#plan .plan_table dl dd .check_box p span{ display: flex; align-items: center; justify-content: center; width: 36px; height: 18px; background: #B21D23; color: #fff; font-size: 0.6rem; line-height: 1em; border-radius: 4px; margin-left: 10px;}
#plan .plan_table dl dd.submit_kind ul{ flex-direction: column;}
#plan .plan_table dl dd.submit_kind ul li{ display: flex; align-items: center; margin-bottom: 12px;}
#plan .plan_table dl dd.submit_kind ul li label{ width: 12.5em;}
#plan .plan_table dl dd.submit_kind ul li .select_wrap{ margin-right: 0.5em;}
#plan .plan_table dl dd.submit_kind ul li select{ padding-right: 3em;}
#plan .plan_table dl dd.submit_kind ul li .radio06_in{ display: flex; align-items: center; justify-content: flex-end;}
#plan .plan_table dl dd.submit_kind ul li .radio06_in2{ display: flex; align-items: center; justify-content: flex-end;}
@media screen and (max-width:768px){
#plan p{ font-size: 0.8rem; text-align: justify;}
#plan .plan_table{ border-radius: 1.25vw; width: calc(100% + 2.5vw); margin: 10% 0 15% -1.25vw; padding: 7.5% 5%;}
#plan .plan_table dl{ margin-bottom: 7.5%;}
#plan .plan_table dl dt{ font-size: 0.9rem; margin-bottom: 2.5%;}
#plan .plan_table dl dt span{ width: 7.5vw; height: 3.75vw; font-size: 0.6rem; margin-left: 2.5%;}
#plan .plan_table dl dd p.att{ font-size: 0.65rem;}
#plan .plan_table dl dd.map figure.map_btn{ margin-bottom: 2.5%;}
#plan .plan_table dl dd.map figure.map_btn button{ width: 37.5vw; height: 7.5vw; border-radius: 1.25vw; font-size: 0.8rem;}
#plan .plan_table dl dd.date-date ul li{ width: calc(50% - 1em);}
#plan .plan_table dl dd.date-date ul li:nth-child(2){ font-size: 0.8rem; width: 2em;}
#plan .plan_table dl dd.radio_list ul{ margin-top: 3.75%;}
#plan .plan_table dl dd.radio_list ul li{ font-size: 0.8rem;}
#plan .plan_table dl dd.submit_kind ul li{ justify-content: space-between; margin-right: 0;}
#plan .plan_table dl dd.submit_kind ul li .radio06_in{ display: flex; align-items: center; justify-content: flex-end;}
#plan .plan_table dl dd.submit_kind ul li:last-child .radio06_in{ flex-direction: column; align-items: flex-end;}
#plan .plan_table dl dd.submit_kind ul li .radio06_in2:last-child{ margin-top: 0.5em;}
#plan .plan_table dl dd.radio_list ul li label{ padding-left: 5vw;}
#plan .plan_table dl dd.radio_list ul li label:before{ width: 3.75vw; height: 3.75vw;}
#plan .plan_table dl dd.radio_list ul li label:after{ width: 2.5vw; height: 2.5vw; left: calc(3px + 2px);}
#plan .plan_table dl dd.mix_seat table thead th{ padding: 1em 0; text-align: center; font-size: 0.65rem; letter-spacing: -0.05em; word-break: keep-all;}
#plan .plan_table dl dd.mix_seat textarea{ height: 7em; padding: 0.5em 0.5em; font-size: 0.65rem; letter-spacing: -0.05em;}
#plan .plan_table dl dd.mix_seat ::placeholder{ font-size: 0.65rem; letter-spacing: -0.05em;}
#plan .plan_table dl dd.mix_seat ::-ms-input-placeholder{ font-size: 0.65rem; letter-spacing: -0.05em;}
#plan .plan_table dl dd .check_box{ border-radius: 1.25vw; padding: 5% 3.75%; margin-top: 3.75%;}
#plan .plan_table dl dd .check_box p{ font-size: 0.9rem; padding-top: 3.75%; margin: 3.75% 0 2.5%;}
#plan .plan_table dl dd .check_box p span{ width: 7.5vw; height: 3.75vw; font-size: 0.6rem; margin-left: 2.5%;}
#plan .plan_table dl dd.submit_kind ul li{ margin-bottom: 2.5%;}
#plan .plan_table dl dd.submit_kind ul li label{ width: 15em;}
}

#plan .plan_table .pv_check_wrap{ display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 40px 0;}
#plan .plan_table .pv_check{ text-align: center; display: flex; align-items: center; justify-content: center;}
#plan .plan_table .pv_check input{ margin-right: 10px; cursor: pointer;}
#plan .plan_table .pv_check p{ font-size: 0.8rem; line-height: 1em;}
#plan .plan_table .pv_check p a{ color: #B2A149; text-decoration: underline;}
#plan .plan_table .pv_check p a:hover{ text-decoration: none;}
@media screen and (max-width:768px){
#plan .plan_table .pv_check_wrap{ margin: 7.5% 0;}
#plan .plan_table .pv_check input{ margin-right: 2.5vw;}
#plan .plan_table .pv_check p{ font-size: 0.8rem;}
}

#plan .plan_table .submit_btn{ margin-top: 40px; display: flex; align-items: center; justify-content: center;}
#plan .plan_table .submit_btn button{ display: flex; align-items: center; justify-content: center; width: 330px; height: 60px; background: #B2A149; color: #fff; font-size: 0.8rem; font-weight: bold; margin: 0 10px; transition: 0.3s; cursor: pointer;}
#plan .plan_table .submit_btn button.cancel{ background: #AFAFAF;}
#plan .plan_table .submit_btn button:hover{ opacity: 0.7;}
@media screen and (max-width:768px){
#plan .plan_table .submit_btn{ margin-top: 7.5%;}
#plan .plan_table .submit_btn button{ width: 40vw; height: 12.5vw; font-size: 1rem; margin: 0 1.25vw;}
}

/*plan-error*/
#plan input.error, #plan textarea.error, #plan select.error, #plan  input[type=checkbox].error{ background: #FAEAEB;}
#plan .plan_table .error_txt{ display: flex; margin-top: 16px;}
#plan .plan_table .error_txt p{ display: flex; align-items: center; justify-content: center; margin: 0; border: 1px solid #B21D23; background: #fff; border-radius: 8px; font-size: 0.8rem; line-height: 1.25em; padding: 0.5em 0.75em; color: #B21D23; position: relative; z-index: 1;}
#plan .plan_table .error_txt p:before{ content: ""; width: 0; height: 0; border-style: solid; border-color: transparent transparent #b21d23 transparent; border-width: 0px 8px 14px 8px; position: absolute; left: 24px; top: -14px; z-index: -3;}
#plan .plan_table .error_txt p:after{ content: ""; width: 0; height: 0; border-style: solid; border-color: transparent transparent #fff transparent; border-width: 0px 7px 12px 7px; position: absolute; left: 25px; top: -12px; z-index: -1;}
#plan .plan_table .pv_check_wrap .error_txt{ width: 264px;}
@media screen and (max-width:768px){
#plan .plan_table .error_txt{ margin-top: 16px;}
#plan .plan_table .error_txt p{ border-radius: 1.25vw; font-size: 0.7rem;}
#plan .plan_table .error_txt p:before{ left: 24px; top: -14px;}
#plan .plan_table .error_txt p:after{ left: 25px; top: -12px;}
#plan .plan_table .pv_check_wrap .error_txt{ width: 52.5vw;}
}

/*plan-confirm*/
#plan.confirm .plan_table dl{ padding-bottom: 30px; margin-bottom: 30px; border-bottom: 2px dotted #4A4A4A;}
#plan.confirm .plan_table dl dd{ font-size: 0.9rem; line-height: 1.66em; font-weight: 400;}
#plan.confirm .plan_table dl dd.mix_seat table tbody td{ font-size: 0.65rem; line-height: 1.5em; padding: 0.75em;}
@media screen and (max-width:768px){
#plan.confirm .plan_table dl{ padding-bottom: 5%; margin-bottom: 5%;}
#plan.confirm .plan_table dl dd.mix_seat table tbody td{ font-size: 0.65rem; line-height: 1.5em; padding: 0.5em;}
}

/*plan-thanks*/
#plan.thanks h3{ text-align: center; font-size: 1.5rem; color: #B2A149; margin-bottom: 40px;}
#plan.thanks p{ text-align: center; font-size: 0.9rem;}
@media screen and (max-width:768px){
#plan.thanks h3{ font-size: 1.25rem; margin-bottom: 7.5%;}
#plan.thanks p{ font-size: 0.8rem; text-align: justify;}
}

/*order_flow*/
#order_flow{ padding: 100px 0; background: #fff;}
#order_flow .order_flow_list{ width: 1000px; margin: auto;}
#order_flow .order_flow_list ul{ position: relative;}
#order_flow .order_flow_list ul li{ margin-bottom: 30px; background: #F5F5F5; display: flex; align-items: center; padding: 24px 14px; border-radius: 70px 12px 12px 70px;}
#order_flow .order_flow_list ul li span.num{ display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; font-size: 1.5rem; background: #BEAC4F; color: #fff; border-radius: 50%;}
#order_flow .order_flow_list ul li h3{ width: 200px; text-align: center; font-size: 1rem; color: #BEAC4F;}
#order_flow .order_flow_list ul li p{ margin-left: 90px; font-size: 0.8rem; line-height: 1.5em;}
@media screen and (max-width:768px){
#order_flow{ padding: 15% 0;}
#order_flow .order_flow_list{ width: 100%;}
#order_flow .order_flow_list ul li{ margin-bottom: 5%; flex-wrap: wrap; height: auto; padding: 2.5vw 2.5vw 2.5vw 2.5vw; border-radius: 10vw 1.25vw 1.25vw 1.25vw;}
#order_flow .order_flow_list ul li span.num{ width: 10vw; height: 10vw; font-size: 1.25rem;}
#order_flow .order_flow_list ul li h3{ width: calc(100% - 10vw); padding-left: 2.5vw; text-align: left; font-size: 1rem;}
#order_flow .order_flow_list ul li p{ width: 100%; margin-left: 0; padding-left: 12.5vw; font-size: 0.8rem;}
}

#order_flow .notice{ width: 880px; margin: 40px auto 0; border: 2px solid #BEAC4F; border-radius: 12px; padding: 30px 80px;}
#order_flow .notice h4{ text-align: center; font-size: 0.9rem; margin-bottom: 20px;}
#order_flow .notice ul li{ font-size: 0.8rem; line-height: 1.5em; padding-left: 24px; margin-bottom: 20px; position: relative;}
#order_flow .notice ul li:last-child{ margin-bottom: 0;}
#order_flow .notice ul li:before{ content: ""; width: 10px; height: 10px; background: #BEAC4F; border-radius: 50%; position: absolute; left: 0; top: 8px;}
@media screen and (max-width:768px){
#order_flow .notice{ width: 100%; margin: 7.5% auto 0; border-radius: 1.25vw; padding: 5% 3.75%;}
#order_flow .notice h4{ font-size: 0.9rem; margin-bottom: 3.75%;}
#order_flow .notice ul li{ font-size: 0.8rem; padding-left: 5vw; margin-bottom: 2.5%;}
#order_flow .notice ul li:before{ width: 2.5vw; height: 2.5vw; top: 1.25vw;}
}





/*FAQ*/
.faq{ margin: 100px auto;}
.faq dl{ margin-top: 20px;}
.faq dl dt{ position: relative; padding: 20px 30px; background: #fff; display: flex; cursor: pointer;}
.faq dl dt span{ font-size: 1.4rem; color: #3D8A5F; border-right: 2px solid #3D8A5F; width: 50px;}
.faq dl dt p{ width: calc(100% - 50px); padding: 2px 50px 2px 20px; font-size: 0.8rem; font-weight: bold; line-height: 2em; margin: 0;}
.faq dl dt i{ display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: #3D8A5F; color: #fff; position: absolute; right: 30px; top: 50%; transform: translateY(-50%); border-radius: 50%; font-size: 0.6rem; line-height: 1em; padding-top: 0.25em; transition: 0.3s;}
.faq dl dt.active i{ background: #BEAC4F; transform: translateY(-50%) rotateX(180deg);}
.faq dl dd{ position: relative; padding: 20px 30px; background: #F2F1ED; /*display: flex;*/ display: none;}
.faq dl dd span{ font-size: 1.4rem; color: #BEAC4F; border-right: 2px solid #BEAC4F; width: 50px;}
.faq dl dd p{ width: calc(100% - 50px); padding: 2px 20px 2px 20px; font-size: 0.8rem; font-weight: 500; line-height: 2em;}
@media screen and (max-width:768px){
.faq{ margin: 15% auto;}
.faq dl{ margin-top: 2.5%;}
.faq dl dt{ padding: 3.75%;}
.faq dl dt span{ font-size: 1.2rem; width: 7.5vw;}
.faq dl dt p{ width: calc(100% - 7.5vw); padding: 0 8.75vw 0 3.75%; font-size: 0.8rem;}
.faq dl dt i{ width: 5vw; height: 5vw; right: 2.5vw; top: 50%; font-size: 0.6rem;}
.faq dl dd{ padding: 3.75%;}
.faq dl dd span{ font-size: 1.2rem; width: 7.5vw;}
.faq dl dd p{ width: calc(100% - 7.5vw); padding: 0 3.75%; font-size: 0.8rem;}
}



/*.service .column*/
.service .column{ margin: 100px auto;}
.service .column p.lead{ text-align: center; font-size: 0.9rem; margin-bottom: 50px;}
.service .column_list ul{ display: flex; flex-wrap: wrap; width: calc(100% + 40px); margin: -20px 0 -20px -20px;}
.service .column_list ul li{ width: calc(25% - 40px); margin: 20px;}
.service .column_list ul li a{ display: block; transition: 0.3s;}
.service .column_list ul li a:hover{ opacity: 0.7;}
.service .column_list ul li figure{ margin-bottom: 10px;}
.service .column_list ul li figure img{ border-radius: 12px;}
.service .column_list ul li span.date{ display: block; font-size: 0.7rem; color: #989898; margin-bottom: 10px;}
.service .column_list ul li p{ font-size: 0.7rem; font-weight: bold; line-height: 1.5em; margin: 0;}
.service .column_list ul li .cat{ display: flex; margin-top: 10px;}
.service .column_list ul li .cat span{ display: flex; align-items: center; justify-content: center; text-align: center; font-size: 0.7rem; font-weight: bold; padding: 0.25em 1em; background: #fff; border: 1px solid #4A4A4A; border-radius: 8px;}
.service .column figure.column_btn_more{ margin-top: 50px; display: flex; justify-content: flex-end;}
.service .column figure.column_btn_more a{ display: flex; align-items: center; justify-content: flex-end; font-size: 0.8rem; font-weight: bold; transition: 0.3s;}
.service .column figure.column_btn_more a span{ display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: #fff; border: 1px solid #4A4A4A; border-radius: 8px; position: relative; margin-left: 12px; transition: 0.3s;}
.service .column figure.column_btn_more a span:before{ content: ""; width: 16px; height: 6px; background: url("../images/ico_arrow2.svg") center center no-repeat; background-size: 100% 100%; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); transition: 0.3s;}
.service .column figure.column_btn_more a:hover span:before{ left: calc(50% + 8px);}
@media screen and (max-width:768px){
.service .column{ margin: 15% auto;}
.service .column p.lead{ text-align: justify; margin-bottom: 7.5%;}
.service .column_list ul{ display: block; width: 100%; margin: 0;}
.service .column_list ul li{ width: 100%; margin: 5% auto 0;}
.service .column_list ul li a{ display: flex;}
.service .column_list ul li figure{ width: 40%; margin: 0;}
.service .column_list ul li .txt{ width: 60%; padding-left: 3.75%;}
.service .column_list ul li span.date{ font-size: 0.7rem; margin-bottom: 2.5%;}
.service .column_list ul li p{ font-size: 0.8rem;}
.service .column_list ul li .cat{ margin-top: 2.5%;}
.service .column_list ul li .cat span{ font-size: 0.7rem;}
.service .column figure.column_btn_more{ margin-top: 7.5%;}
.service .column figure.column_btn_more a{ font-size: 0.9rem;}
.service .column figure.column_btn_more a span{ width: 7.5vw; height: 7.5vw; margin-left: 1.875vw; border-radius: 1.25vw;}
.service .column figure.column_btn_more a span:before{ width: 3.75vw; height: 1.25vw;}
.service .column figure.column_btn_more a:hover span:before{ left: calc(50% + 1.25vw);}
}





/*#column*/
#column{ display: flex; justify-content: space-between; width: 100%; max-width: 1200px; margin: auto;}
#column_main{ flex: 1; margin-right: 60px;}
#column_side{ width: 340px;}
@media screen and (max-width:768px){
#column{ display:block; max-width: 100%}
#column_main{ width: 88%; margin: 0 auto 10%;}
#column_side{ width: 88%; margin: 0 auto;}
}

#column_side .widget{ margin-bottom: 50px;}
#column_side .widget:last-child{ margin-bottom: 0;}
#column_side .widget h4{ font-size: 1rem; padding-bottom: 10px; margin-bottom: 20px; border-bottom: 2px dotted #4A4A4A;}
#column_side .widget.cat{ margin-bottom: 30px;}
#column_side .widget.cat ul{ display: flex; flex-wrap: wrap; margin: -5px 0 -5px -5px;}
#column_side .widget.cat ul li{ margin: 5px;}
#column_side .widget.cat ul li a{ display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #4A4A4A; font-size: 0.7rem; line-height: 1rem; font-weight: bold; padding: 0.25em 1em; border-radius: 8px; transition: 0.3s;}
#column_side .widget.cat ul li a:hover{ background: #4A4A4A; color: #fff;}
#column_side .widget.post ul li{ margin-bottom: 20px;}
#column_side .widget.post ul li a{ display: block; transition: 0.3s;}
#column_side .widget.post ul li a:hover{ opacity: 0.7;}
#column_side .widget.post dl{ display: flex;}
#column_side .widget.post dl dt{ width: 146px;}
#column_side .widget.post dl dd{ width: 184px; margin-left: 10px;}
#column_side .widget.post dl dd p{ font-size: 0.7rem; font-weight: bold; line-height: 1.5em; margin-bottom: 10px;}
#column_side .widget.post dl dd .date{ display: block; font-size: 0.7rem; color: #989898;}
#column_side .widget.archive ul li{ font-size: 0.9rem; line-height: 1.5em; color: #989898; display: flex;}
#column_side .widget.archive ul li a{ display: flex; align-items: center; transition: 0.3s;}
#column_side .widget.archive ul li a strong{ width: 4.5em;}
#column_side .widget.archive ul li a:hover{ text-decoration: underline;}
#column_side .widget.btn figure{ margin-bottom: 10px;}
#column_side .widget.btn figure:last-child{ margin-bottom: 0;}
@media screen and (max-width:768px){
#column_side .widget{ margin-bottom: 7.5%;}
#column_side .widget h4{ font-size: 1.2rem; padding-bottom: 1.25%; margin-bottom: 2.5%;}
#column_side .widget.cat{ margin-bottom: 5%;}
#column_side .widget.cat ul{ justify-content: center; margin: -1.25vw 0 -1.25vw -1.25vw;}
#column_side .widget.cat ul li{ margin: 1.25vw;}
#column_side .widget.cat ul li a{ font-size: 0.8rem;}
#column_side .widget.post ul li{ margin-bottom: 5%;}
#column_side .widget.post dl dt{ width: 40%;}
#column_side .widget.post dl dd{ width: calc(60% - 3.75%); margin-left: 3.75%;}
#column_side .widget.post dl dd p{ font-size: 0.8rem; margin-bottom: 2.5%;}
#column_side .widget.post dl dd .date{ font-size: 0.7rem;}
#column_side .widget.archive ul li{ font-size: 1rem; margin: 0 0 0.25em;}
#column_side .widget.btn figure{ margin-bottom: 2.5%;}
}

/*archive*/
.column_archive ul li{ margin-bottom: 45px;}
.column_archive ul li:last-child{ margin-bottom: 0;}
.column_archive ul li a{ display: block; transition: 0.3s;}
.column_archive ul li a:hover{ opacity: 0.7;}
.column_archive dl{ display: flex; justify-content: space-between;}
.column_archive dl dt{ width: 340px;}
.column_archive dl dt img{ border-radius: 12px;}
.column_archive dl dd{ flex: 1; padding: 20px 0 0 20px}
.column_archive dl dd .cat{ display: flex; flex-wrap: wrap; margin-bottom: 15px;}
.column_archive dl dd .cat span{ display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #4A4A4A; font-size: 0.7rem; padding: 0.25em 1em; border-radius: 8px;}
.column_archive dl dd p{ font-size: 1rem; font-weight: bold; margin-bottom: 15px;}
.column_archive dl dd .date{ display: block; font-size: 0.9rem; color: #989898;}
@media screen and (max-width:768px){
.column_archive ul li{ margin-bottom: 5%;}
.column_archive dl{ display: flex; justify-content: space-between;}
.column_archive dl dt{ width: 40%;}
.column_archive dl dd{ width: 60%; padding: 0 0 0 3.75%;}
.column_archive dl dd .cat{ margin-bottom: 2.5%;}
.column_archive dl dd .cat span{ font-size: 0.7rem;}
.column_archive dl dd p{ font-size: 0.8rem; line-height: 1.5em; margin-bottom: 2.5%;}
.column_archive dl dd .date{ font-size: 0.7rem;}
}

/*page_nav*/
.page_nav{ margin-top: 60px;}
.page_nav ul{ display: flex; align-items: center; justify-content: center;}
.page_nav ul li{ margin: 0 4px;}
.page_nav ul li a{ width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: bold; border-radius: 50%; transition: 0.3s;}
.page_nav ul li:first-child a,
.page_nav ul li:last-child a{ border: 1px solid #4A4A4A; background: #fff;}
.page_nav ul li.active a{ background: #4A4A4A; color: #fff;}
.page_nav ul li a:hover{ background: #4A4A4A; color: #fff;}
@media screen and (max-width:768px){
.page_nav{ margin-top: 10%;}
.page_nav ul li{ margin: 0 1.25vw;}
.page_nav ul li a{ width: 7.5vw; height: 7.5vw; font-size: 0.8rem;}
}

/*post*/
body.post:after{ display: none;}
body.post header{ background: #fff;}
.post #column{ margin-top: 60px;}
.post .pankuzu{ margin: 0 auto 60px;}
@media screen and (max-width:768px){
.post #column{ margin-top: 7.5%;}
.post .pankuzu{ margin: 0 auto 7.5%;}
}

.column_post .column_post_tit{ margin-bottom: 50px;}
.column_post .column_post_tit h1{ font-size: 2rem; line-height: 1.4em;}
.column_post .column_post_tit .date{ display: block; font-size: 0.9rem; color: #989898; margin: 5px auto 10px;}
.column_post .column_post_tit .cat{ display: flex; flex-wrap: wrap;}
.column_post .column_post_tit .cat span{ display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #4A4A4A; font-size: 0.7rem; padding: 0.25em 1em; border-radius: 8px;}
@media screen and (max-width:768px){
.column_post .column_post_tit{ margin-bottom: 7.5%;}
.column_post .column_post_tit h1{ font-size: 1.6rem;}
.column_post .column_post_tit .date{ font-size: 0.8rem; margin: 2.5% auto 3.75%;}
.column_post .column_post_tit .cat span{ font-size: 0.7rem;}
}

.column_post figure.post_mv{ margin: 50px auto;}
.column_post .bg_y{ background: linear-gradient(to bottom, rgba(237,233,211,0) 0%, rgba(237,233,211,0) 50%, rgba(237,233,211,1) 51%, rgba(237,233,211,1) 100%);}
.column_post p{ text-align: justify; font-size: 0.9rem; line-height: 1.8em; font-weight: 400;}
.column_post h2{ margin: 100px auto 30px; font-size: 1.5rem; color: #BEAC4F; padding-left: 24px; border-left: 6px solid #BEAC4F;}
.column_post h3{ margin: 30px auto 15px; font-size: 1rem;}
.column_post .list{ margin: 30px auto;}
.column_post .list dl{ margin: 30px auto;}
.column_post .list dl dt{ font-size: 1.2rem; font-weight: bold; padding-bottom: 15px; margin-bottom: 20px; border-bottom: 2px dotted #4A4A4A;}
.column_post .list dl dd p{ font-size: 0.9rem;}
.column_post .comment{ margin: 60px auto; background: #EDE9D3; padding: 20px 30px; border-radius: 12px;}
.column_post .comment dl{ display: flex; align-items: center;}
.column_post .comment dl dt{ width: 130px; margin-right: 30px;}
.column_post .comment dl dt figure img{ border-radius: 50%;}
.column_post .comment dl dd{ width: calc(100% - 160px);}
.column_post .comment dl dd strong{ display: block; font-size: 0.9rem; margin-bottom: 0.5em;}
.column_post .comment dl dd p{ font-size: 0.9rem; font-weight: 400;}
.column_post figure.post_btn{ margin: 30px auto;}
@media screen and (max-width:768px){
.column_post figure.post_mv{ margin: 7.5% auto;}
.column_post p{ font-size: 0.9rem;}
.column_post h2{ margin: 15% auto 5%; font-size: 1.25rem; padding-left: 2.5vw; border-left-width: 1.25vw;}
.column_post h3{ margin: 5% auto 2.5%; font-size: 1rem;}
.column_post .list{ margin: 5% auto;}
.column_post .list dl{ margin: 5% auto;}
.column_post .list dl dt{ font-size: 1.1rem; padding-bottom: 1.25vw; margin-bottom: 2.5%;}
.column_post .list dl dd p{ font-size: 0.9rem;}
.column_post .comment{ margin: 10% auto; padding: 3.75%;}
.column_post .comment dl dt{ width: 17.5vw; margin-right: 2.5vw;}
.column_post .comment dl dd{ width: calc(100% - 20vw);}
.column_post .comment dl dd strong{ font-size: 0.8rem;}
.column_post .comment dl dd p{ font-size: 0.8rem;}
.column_post figure.post_btn{ margin: 5% auto;}
}

#column_main .share{ margin: 60px auto;}
#column_main .share dl{ display: flex; align-items: center; justify-content: center;}
#column_main .share dl dt{ width: 86px; margin-right: 20px;}
#column_main .share dl dd ul{ display: flex;}
#column_main .share dl dd ul li{ margin-left: 10px;}
#column_main .share dl dd ul li:first-child{ margin-left: 0;}
#column_main .share dl dd ul li img{ width: 50px;}
@media screen and (max-width:768px){
#column_main .share{ margin: 10% auto;}
#column_main .share dl dt{ width: 15vw; margin-right: 3.75vw;}
#column_main .share dl dd ul{ display: flex;}
#column_main .share dl dd ul li{ margin-left: 2.5vw;}
#column_main .share dl dd ul li img{ width: 10vw;}
}

.relation_post{ margin-top: 60px;}
.relation_post h4{ font-size: 1.3rem; padding-bottom: 10px; margin-bottom: 30px; border-bottom: 2px dotted #4A4A4A;}
.relation_post ul{ display: flex; width: calc(100% + 30px); margin-left: -15px;}
.relation_post ul li{ width: calc(33.33% - 30px); margin: 0 15px;}
.relation_post ul li a{ display: block; transition: 0.3s;}
.relation_post ul li a:hover{ opacity: 0.7;}
.relation_post ul li dl dt{ margin-bottom: 10px;}
.relation_post ul li dl dt img{ border-radius: 12px;}
.relation_post ul li dl dd .date{ display: block; font-size: 0.7rem; color: #989898; margin-bottom: 10px;}
.relation_post ul li dl dd p{ text-align: justify; font-size: 0.7rem; font-weight: bold; line-height: 1.5em;}
.relation_post ul li dl dd .cat{ display: flex; flex-wrap: wrap;}
.relation_post ul li dl dd .cat span{ display: flex; align-items: center; justify-content: center; text-align: center; font-size: 0.7rem; font-weight: bold; padding: 0.25em 1em; background: #fff; border: 1px solid #4A4A4A; border-radius: 8px;}
@media screen and (max-width:768px){
.relation_post{ margin-top: 10%;}
.relation_post h4{ font-size: 1.2rem; padding-bottom: 1.25%; margin-bottom: 2.5%;}
.relation_post ul{ display: block; width: 100%; margin: 0;}
.relation_post ul li{ width: 100%; margin: 5% auto 0;}
.relation_post ul li dl{ display: flex;}
.relation_post ul li dl dt{ width: 40%; margin: 0;}
.relation_post ul li dl dd{ width: 60%; padding-left: 3.75%;}
.relation_post ul li span.date{ font-size: 0.7rem; margin-bottom: 2.5%;}
.relation_post ul li p{ font-size: 0.8rem;}
.relation_post ul li .cat{ margin-top: 2.5%;}
.relation_post ul li .cat span{ font-size: 0.7rem;}
}





/*slider*/
.pictures{ margin: 100px auto;}
.pictures .slider_wrap{ width: 1080px; margin: auto; position: relative;}
.pictures .slider_wrap ul{ display: flex; justify-content: center; width: calc(360px * 5); margin-left: calc(360px * -1); position: static;}
.pictures .slider_wrap ul li{ width: 340px; margin: 0 10px;}
.pictures .slider_wrap ul li h4{ font-size: 1rem; margin-top: 10px;}
@media screen and (max-width:768px){
.pictures{ margin: 15% auto;}
.pictures .slider_wrap{ width: 100%; position: relative;}
.pictures .slider_wrap ul{ width: calc(100% + 150vw); margin-left: -75vw; position: static;}
.pictures .slider_wrap ul{ padding: 0; margin-bottom: 7.5%;}
.pictures .slider_wrap ul li{ width: calc(100% - 7.5vw); margin: 0 3.75vw;}
}

/*slick調整*/
.pictures .slider_wrap .slick-prev,
.pictures .slider_wrap .slick-next{ display: flex; width: 54px; height: 54px; border-radius: 8px; background: #fff; border: 2px solid #4A4A4A; position: absolute; right: 0; bottom: 0; transition: 0.3s;}
.pictures .slider_wrap .slick-prev{ left: -104px; top: 50%; transform: translateY(-50%); z-index: 99;}
.pictures .slider_wrap .slick-next{ right: -104px; top: 50%; transform: translateY(-50%); z-index: 99;}
.pictures .slider_wrap .slick-prev:before{ content: ""; width: 21px; height: 8px; background: url("../images/ico_arrow.svg") center center no-repeat; background-size: 100% 100%; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); transition: 0.3s;}
.pictures .slider_wrap .slick-next:after{ content: ""; width: 21px; height: 8px; background: url("../images/ico_arrow.svg") center center no-repeat; background-size: 100% 100%; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%) rotateY(180deg); transition: 0.3s;}
.pictures .slider_wrap .slick-prev:hover:before{ left: calc(50% - 4px);}
.pictures .slider_wrap .slick-next:hover:after{ left: calc(50% + 4px);}
@media screen and (max-width:768px){
.pictures .slider_wrap .slick-prev,
.pictures .slider_wrap .slick-next{ width: 7.5vw; height: 7.5vw; border-radius: 1.25vw;}
.pictures .slider_wrap .slick-prev{ left: -3.75vw;}
.pictures .slider_wrap .slick-next{ right: -3.75vw;}
.pictures .slider_wrap .slick-prev:before{ width: 3.2vw; height: 1.2vw;}
.pictures .slider_wrap .slick-next:after{ width: 3.2vw; height: 1.2vw;}
.pictures .slider_wrap .slick-prev:hover:before{ left: calc(50% - 1.25vw);}
.pictures .slider_wrap .slick-next:hover:after{ left: calc(50% + 1.25vw);}
}




@media print, screen and (min-width:769px){
.smp{ display:none !important;}
}
@media screen and (max-width:768px){
.pc{ display:none !important;}
}

