@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Amiri:wght@400;700&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');
/* CSS Document */
*{ margin:0; padding:0; box-sizing:border-box; word-break:break-all;}
div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;}
ul,ol{ list-style:none;}
html,body {
margin:0 auto;
padding:0;
font-family: 'Zen Kaku Gothic New', sans-serif;
font-size:20px;
font-size-adjust: "none";
letter-spacing: 0.08em;
text-align:justify;
color:#000;
min-width:1100px;
}
@media screen and (max-width:767px){
html,body{ font-size:4.2vw; min-width:240px; max-width:767px; letter-spacing: 0.04em;}
}

#benefit01 p,
#benefit01 .list,
#benefit01 table,
#benefit01 figure {
	margin-bottom: 3rem;
}

#mv_bg_video img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	object-position: right center;
}

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

header .entry .entry_parent span {
	display: inline-block;
	width: 100%;
}

/*txt*/
p{ line-height:2em; margin:0 0 1em; padding:0;}
p:last-child{ margin:0;}
strong{ font-weight: inherit;}
b{ font-weight: inherit;}
.bold { font-weight:bold;}
.normal{ font-weight:normal;}
.under_line{ text-decoration:underline;}
.line_through{ text-decoration:line-through;}

.gothic{ font-family: 'Zen Kaku Gothic New', sans-serif;}
.mincho{ font-family: 'Zen Old Mincho', serif; font-weight: 400;}
.amiri{ font-family: 'Amiri', serif; font-weight: 400;}
.white{ color:#fff;}
.black{ color:#333;}
.blue{ color:#115DA6;}

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

/*link*/
a{ color:inherit; text-decoration:none;}
a:hover{}
.opa{ transition: all 0.3s ease;}
.opa:hover{ opacity: 0.7;}
.career1 {
	background: #115DA6 !important;
}
.career2 {
	background: #1AAA3E !important;
}



/* 追加分 */
.cf {
	width:100%;
	clear: both;
}
#home_topics .topics_list .more{ width: 7em; float: right; margin-top: 2rem;}
#home_topics .topics_list .more a{ display: flex !important; width: 100%; height: 42px; border-bottom: 1px solid #000; position: relative; transition: 0.3s;}
#home_topics .topics_list .more a svg{ fill: #000; width: 24px; position: absolute; right: 10px; top: 0.5em; transition: 0.3s;}
#home_topics .topics_list .more a:hover{ opacity: 0.7; background: none !important;}
#home_topics .topics_list .more a:hover svg{ right: 0;}
@media screen and (max-width:767px){
#home_topics .topics_list .more a{ font-size: 1.2rem; height: 10vw;}
#home_topics .topics_list .more a svg{ width: 6vw; right: 2.5vw;}
#home_topics .topics_list .more a:hover svg{ right: 2.5vw;}
}


#topics .topics_nav .prev{ width: 140px; position: absolute; left: 0; margin:0 !important; padding: 0 !important; border:none !important;}
#topics .topics_nav .topics_nav_prev { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; width: 100%; height: 45px; border-bottom: 1px solid #000; font-size: 0.9rem; position: relative; transition: 0.3s;}
#topics .topics_nav .topics_nav_prev svg{ fill: #000; width: 24px; position: absolute; left: 10px; top: 50%; transform: rotateY(180deg) translateY(-50%); transition: 0.3s;}
#topics .topics_nav a.prev:hover{ opacity: 0.7;}
#topics .topics_nav a.prev:hover svg{ left: 0;}
#topics .topics_nav .next{ width: 140px; position: absolute; right: 0; margin: 0 !important; padding: 0 !important; border:none !important;}
#topics .topics_nav .topics_nav_next { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; width: 100%; height: 45px; border-bottom: 1px solid #000; font-size: 0.9rem; position: relative; transition: 0.3s;}
#topics .topics_nav .topics_nav_next svg{ fill: #000; width: 24px; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
#topics .topics_nav a.next:hover{ opacity: 0.7;}
#topics .topics_nav a.next:hover svg{ right: 0;}
#topics .topics_nav{ display: flex; align-items: center; justify-content: center; position: relative; margin: 100px auto;}
#topics .page-numbers { padding: 0 0.3em; margin:0 0.5em; border-bottom: 1px solid #fff;}
#topics .topics_nav .current,
#topics .page-numbers:hover{ border-bottom: 1px solid #333;}
#topics .page-numbers.dots:hover{ border-bottom: 1px solid #fff;}


/*#topics .topics_nav ul{ display: flex; align-items: center; justify-content: center;}*/

#topics .topics_nav ul li a{ display: flex; align-items: center; justify-content: center; width: 1.25em; height: 45px; border-bottom: 1px solid transparent; transition: 0.3s;}
#topics .topics_nav ul li.active a,
#topics .topics_nav ul li.ellipsis a{ pointer-events: none;}






@media screen and (max-width:767px){
#topics .topics_nav{ margin: 20vw auto;}
#topics .topics_nav ul li{ margin: 0 0.33em; font-size: 0.8rem;}
#topics .topics_nav ul li a{ height: 10vw;}
#topics .topics_nav .topics_nav_prev{ width: 4em;}
#topics .topics_nav .topics_nav_prev a{ height: 10vw; font-size: 0.8rem;}
#topics .topics_nav .topics_nav_prev a svg{ content: ""; width: 6vw; left: 1.5vw;}
#topics .topics_nav .topics_nav_prev a:hover svg{ left: 1.25vw;}
#topics .topics_nav .topics_nav_next{ width: 4em;}
#topics .topics_nav .topics_nav_next a{ height: 10vw; font-size: 0.8rem;}
#topics .topics_nav .topics_nav_next a svg{ content: ""; width: 6vw; right: 1.5vw;}
#topics .topics_nav .topics_nav_next a:hover svg{ right: 1.25vw;}
}




/*tmpl*/
/*ヘッダー*/
body{ padding-top: 80px;}
header{ position: fixed; left: 0; right: 0; top: 0; z-index: 99; background: #fff; width: 100%; min-width: 1100px; margin: auto; display: flex; align-items: center; justify-content: space-between; padding-left: 20px; letter-spacing: 0.04em;}
header h1{ /*width: 264px;*/ width: 550px;}
header h1 span{ display: inline-block; font-size: 0.75rem; line-height: 1.33em; margin-left: 10px;}
@media screen and (max-width:1140px){
header h1{ width: 264px;}
header h1 span{ display: block; text-align: center; margin: 0.25em 0 0;}
header h1 span br{ display: none;}
}
header nav{ margin: 0 0 0 auto;}
header nav ul{ display: flex; align-items: center; justify-content: flex-end; margin-right: 16px;}
header nav ul li{ margin: 0 16px; font-size: 0.8rem; letter-spacing: 0;}
header nav ul li a{ position: relative;}
header nav ul li a:after{ content: ""; width: 0; height: 1px; background: #000; position: absolute; left: 0; right: 0; bottom: 0; margin: auto; transition: 0.3s;}
header nav ul li a:hover:after{ width: 100%;}
header nav ul li.parent{ position: relative;}
header nav ul ul.child{ opacity: 0; pointer-events: none;}
header nav ul li.parent:hover ul.child{ opacity: 1.0; pointer-events: all;}
header nav ul ul.child{ position: absolute; left: -0.5em; top: 1.5em; display: block; width: auto; background: rgba(255,255,255,1.0); padding: 0 1em 0.5em 0.5em; transition: 0.3s;}
header nav ul ul.child li{ margin: 0.5em 0; padding-left: 1.25em; position: relative;}
header nav ul ul.child li:before{ content: "└"; position: absolute; left: 0; top: 0.125em;}
header nav ul ul.child li a{ display: inline-block; word-break: keep-all; font-size: 0.65rem;}
header nav ul ul.child li a span{ display: block; word-break: keep-all; font-size: 0.55rem;}
header .entry{ width: 200px;}
header .entry .entry_parent{ display: flex; justify-content: center; flex-direction: column; width: 100%; height: 80px; padding-left: 20px; background: #000; color: #fff; font-size: 1.2rem; line-height: 1em; position: relative; transition: 0.3s; cursor: pointer;}
header .entry .entry_parent span{ font-size: 0.65rem; font-weight: bold; margin-bottom: 0.25em;}
header .entry .entry_parent svg{ fill: #fff; width: 24px; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
header .entry .entry_parent:hover svg{ right: 10px;}
header .entry .entry_child{ position: absolute; left: 0; top: 80px; width: 100%; background: #000; font-size: 0.65rem; line-height: 1em; padding: 0 20px 20px;}
header .entry .entry_child ul li{ margin-top: 15px; padding-left: 1.25em; position: relative;}
header .entry .entry_child ul li:before{ content: "└"; position: absolute; left: 0; top: 0.125em;}
header .entry .entry_child ul li a{ position: relative;}
header .entry .entry_child ul li a:after{ content: ""; width: 0; height: 1px; background: #fff; position: absolute; left: 0; right: 0; bottom: 0; margin: auto; transition: 0.3s;}
header .entry .entry_child ul li a:hover:after{ width: 100%;}
@media print, screen and (min-width:768px){
#smp_nav_btn{ display: none !important;}
header nav{ display: block !important; opacity: 1.0 !important; height: auto !important;}
header .entry .entry_child{ display: block !important; height: auto !important; opacity: 0; pointer-events: none; transition: 0.3s;}
header .entry .entry_parent:hover .entry_child{ opacity: 1.0 !important; pointer-events: all !important;}
}
@media screen and (max-width:767px){
body{ padding-top: 12.5vw;}
header{ min-width: 100%; padding-left: 12.5vw;}
header h1{ width: 55vw; margin: auto; text-align: center;}
header h1 img{ width: 44vw;}
header h1 span{ font-size: 0.6rem;}
header nav{ display: none; position: fixed; left: 0; right: 0; top: 12.5vw; /*display: flex;*/ align-items: center; justify-content: center; width: 100%; background: rgba(255,255,255,0.95); overflow-x: hidden; overflow-y: auto;}
header nav ul{ display: flex; flex-direction: column; align-items: center; justify-content: flex-end; margin: 0;}
header nav ul li{ margin: 1em auto; font-size: 1.2rem; width: 100%; text-align: center;}
header nav ul ul.child{ opacity: 1.0; pointer-events: all;}
header nav ul ul.child{ position: static; padding: 0;}
header nav ul ul.child li{ margin: 0.5em 0; padding: 0;}
header nav ul ul.child li:before{ display: none;}
header nav ul ul.child li a{ font-size: 0.9rem;}
header nav ul ul.child li a span{ font-size: 0.8rem;}
header .entry{ width: 12.5vw; text-align: center;}
header .entry .entry_parent{ justify-content: flex-end; height: 12.5vw; padding: 1.25vw 0; font-size: 0.6rem; line-height: 1em;}
header .entry .entry_parent svg{ width: 6vw; height: 1.5vw; left: 0; right: 0; top: calc(50% - 1.5vw); transform: translateY(-50%); margin: auto;}
header .entry .entry_parent:hover svg{ right: 0;}
header .entry .entry_child{ display: none; position: fixed; left: 0; right: 0; top: 12.5vw; /*display: flex;*/ flex-direction: column; align-items: center; justify-content: center; width: 100%; background: #000; overflow-x: hidden; overflow-y: auto; font-size: 1rem; padding: 8vw;}
header .entry .entry_child h4{ font-size: 2rem; line-height: 1em;}
header .entry .entry_child h4 span{ display: block; font-size: 0.8rem; font-weight: normal; line-height: 1em; margin-bottom: 0.5em;}
header .entry .entry_child ul li{ margin-top: 2em; padding-left: 0;}
header .entry .entry_child ul li:before{ display: none;}
#smp_nav_btn{ display: flex; align-items: flex-end; justify-content: center; padding: 1.25vw 0; width:12.5vw; height:12.5vw; background: #F7F7F7; position: fixed; left:0; top:0; z-index:999; transition:0.3s; cursor:pointer;}
#smp_nav_btn strong{ font-size: 0.6rem; line-height: 1em; letter-spacing: 0.04em; font-weight: normal;}
#smp_nav_btn span{ display:block; height:1px; width:4.2vw; background:#000; position:absolute; left:0; right:0; top: calc(50% - 2.1vw); transform: translateY(-50%); margin:auto; transition:0.3s;}
#smp_nav_btn span:before{ content: ""; display:block; height:1px; width:4.2vw; background:#000; position:absolute; bottom:1.25vw; transition:0.3s;}
#smp_nav_btn span:after{ content: ""; display:block; height:1px; width:4.2vw; background:#000; position:absolute; top:calc(1.25vw + 1px); transition:0.3s;}
#smp_nav_btn.active span{ background:rgba(255,255,255,0);}
#smp_nav_btn.active span:before{ bottom:0; transform: rotate(45deg);}
#smp_nav_btn.active span:after{ top:0; transform: rotate(-45deg);}
}

/*フッター*/
footer #footer{ background: url("../images/footer_bg.jpg") center bottom no-repeat; background-size: cover; padding: 30px 30px 30px;}

footer #footer .entry{ width: 1100px; padding: 30px 40px; margin: 0 auto 60px; border: 1px solid #000; color: #000;}
footer #footer .entry dl{ display: flex; align-items: center;}
footer #footer .entry dl dt{ width: 210px;}
footer #footer .entry dl dt h4{ font-size: 2rem; line-height: 1em;}
footer #footer .entry dl dt h4 span{ display: block; font-size: 0.75rem; font-weight: normal; line-height: 1em; margin-bottom: 0.5em;}
footer #footer .entry dl dd{ width: calc(100% - 210px);}
footer #footer .entry dl dd ul{ display: flex; width: calc(100% + 40px); margin-left: -20px;}
footer #footer .entry dl dd ul li{ width: calc(33.33% - 40px); margin: 0 20px;}
footer #footer .entry a{ display: flex; flex-direction: column; align-items: flex-start; justify-content: center; width: 100%; height: 45px; border-bottom: 1px solid #000; font-size: 0.9rem; position: relative; transition: 0.3s;}
footer #footer .entry a svg{ fill: #000; width: 24px; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
footer #footer .entry a:hover{ opacity: 0.7;}
footer #footer .entry a:hover svg{ right: 0;}
footer #footer nav{ background: rgba(255,255,255,0.85); margin: 0; padding: 40px 30px 30px;}
footer #footer nav p{ font-size: 0.8rem; margin-top: 1em; text-align: center;}
footer #footer nav ul{ display: flex; justify-content: center; margin-top: 40px;}
footer #footer nav ul li{ font-size: 0.8rem; margin: 0 30px;}
footer #footer nav ul li a{ display: inline-block; position: relative;}
footer #footer nav ul li a:after{ content: ""; width: 0; height: 1px; background: #000; position: absolute; left: 0; right: 0; bottom: 0; margin: auto; transition: 0.3s;}
footer #footer nav ul li a:hover:after{ width: 100%;}
footer #footer nav ul ul{ display: block; margin: 15px 0 0;}
footer #footer nav ul ul li{ font-size: 0.65rem; margin: 10px 0 0;}
footer #footer nav ul ul li span{ display: block; font-size: 0.55rem;}
@media screen and (max-width:767px){
footer #footer{ background: url("../images/footer_bg_sp.jpg") center center no-repeat; background-size: cover; padding: 10vw 5vw 5vw;}
footer #footer .entry{ width: 100%; padding: 10%; margin: 0 auto 10vw;}
footer #footer .entry dl{ display: block;}
footer #footer .entry dl dt{ width: 100%; margin-bottom: 4vw;}
footer #footer .entry dl dt h4{ text-align: center; font-size: 2rem;}
footer #footer .entry dl dt h4 span{ font-size: 0.8rem;}
footer #footer .entry dl dd{ width: 100%;}
footer #footer .entry dl dd ul{ display: block; width: 100%; margin: 0 auto;}
footer #footer .entry dl dd ul li{ width: 100%; margin: 5% auto 0;}
footer #footer .entry a{ height: 10vw; font-size: 1.0rem;}
footer #footer .entry a svg{ content: ""; width: 6vw; right: 1.5vw;}
footer #footer .entry a:hover svg{ right: 1.25vw;}
footer #footer nav{ padding: 10vw;}
footer #footer nav p{ font-size: 0.9rem;}
footer #footer nav figure.logo img{ width: 27.5vw}
footer #footer nav ul{ display: block; text-align: center; margin-top: 0;}
footer #footer nav ul li{ font-size:1rem; margin: 8vw auto 0;}
footer #footer nav ul ul{margin: 4vw 0 0;}
footer #footer nav ul ul li{ font-size: 0.8rem; margin: 2.5vw 0 0;}
footer #footer nav ul ul li span{ display: block; font-size: 0.7rem;}
}

footer #footer_foot{ display: flex; align-items: center; justify-content: space-between; padding: 0 0 0 30px;}
footer #footer_foot p{ font-size: 0.7rem; letter-spacing: 0; line-height: 1em; margin: 0;}
footer #footer_foot .corp_link{ width: 320px;}
footer #footer_foot .corp_link a{ display: flex; align-items: center; justify-content: center;width: 100%; height: 60px; background: #393939; color: #fff; font-size: 0.8rem; position: relative; transition: 0.3s;}
footer #footer_foot .corp_link a svg{ fill: #fff; width: 24px; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
footer #footer_foot .corp_link a:hover{ opacity: 0.7;}
footer #footer_foot .corp_link a:hover svg{ right: 10px;}
@media screen and (max-width:767px){
footer #footer_foot{ flex-direction: column-reverse; padding: 0;}
footer #footer_foot p{ font-size: 0.7rem; padding: 2.5em;}
footer #footer_foot .corp_link{ width: 100%;}
footer #footer_foot .corp_link a{ height: 16vw; font-size: 1rem;}
footer #footer_foot .corp_link a svg{ width: 6vw; right: 8vw;}
footer #footer_foot .corp_link a:hover svg{ right: 8vw;}
}

/*section*/
#content{ overflow:hidden;}
section{ width:100%; background:#fff; margin:0 auto; position: relative; z-index: 3;}
.maincontent{ padding:0; margin:0 auto; width:1100px;}
@media screen and (max-width:767px){
.maincontent{ padding:0; margin:0 auto; width:84vw;}
}





/*home*/
/*tit*/
.home h2 span{ display: block; font-weight: normal; line-height: 1em; margin-bottom: 1.25em;}
@media screen and (max-width:767px){
.home h2 strong img{ height: 32vw}
}

/*mv*/
#mv{ background: url("../images/mv.jpg") center bottom no-repeat; background-size: cover; width: calc(100% - 40px); height: calc(100vh - 70px - 40px); min-height: 657px; margin: 20px;}
#mv .maincontent{ height: 100%;}
#mv .tit {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3rem 5rem;
	height: auto;
	background: rgba(255,255,255,0.8);
	position: absolute;
	left: 0;
	top:48%;
	font-family: 'Zen Old Mincho', serif;
}
#mv .tit h2 {
	margin:0 !important;
}
#mv h2{ display: flex; flex-direction: row-reverse;}
#mv h2 span{ margin-left: 1.25em; width: 1em; line-height: 1em; font-size: 0.8rem; letter-spacing: 0.2em; font-weight: normal; -ms-writing-mode: tb-rl; writing-mode: vertical-rl;}
#mv h2 strong img{ width: 128px; height: auto;}
@media screen and (max-width:767px){
#mv{ background: url("../images/mv_sp.jpg") center bottom no-repeat; background-size: cover; width: calc(100% - 8vw); height: calc(100vh - 12.5vw - 8vw); min-height: 160vw; margin: 4vw;}
#mv .maincontent{ width: 100%;}
#mv .tit{ width: 46vw; height: 80vw; position: absolute; left: 0; right: 0; bottom: 0; margin: auto;}
#mv h2{ display: flex; flex-direction: row-reverse; background: rgba(255,255,255,0.95);}
#mv h2 strong img{ width: 20vw; height: auto;}
}

/*home_topics*/
#home_topics{ margin: 60px auto;}
#home_topics .maincontent{ display: flex; align-items: flex-start; justify-content: space-between;}
#home_topics .maincontent h2{ width: calc(100% - 930px); font-size: 1.6rem; margin-top: 42px;}
#home_topics .maincontent h2 span{ font-size: 1rem; margin-bottom: 0;}
#home_topics .maincontent .topics_list{ width: 930px;}
#home_topics .maincontent .topics_list a{ display: block; background: #fff; margin-bottom: 20px; transition: 0.3s;}
#home_topics .maincontent .topics_list a dl{ border: 1px solid #707070; padding: 15px; display: flex; align-items: center;}
#home_topics .maincontent .topics_list a dl dt{ width: 180px;}
#home_topics .maincontent .topics_list a dl dd{ width: calc(100% - 180px); padding: 0 30px; position: relative;}
#home_topics .maincontent .topics_list a dl dd span.date{ display: block; font-size: 0.9rem; margin-bottom: 0.25em;}
#home_topics .maincontent .topics_list a dl dd p{ font-size: 1rem; line-height: 1.25em; margin: 0;}
#home_topics .maincontent .topics_list a dl dd svg{ fill: #000; width: 24px; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
#home_topics .maincontent .topics_list a:hover dl dd svg{ right: 0;}
#home_topics .maincontent .topics_list a:hover{ background: #F7F7F7;}
@media screen and (max-width:767px){
#home_topics{ margin: 12.5vw auto;}
#home_topics .maincontent{ display: block;}
#home_topics .maincontent h2{ width: 100%; font-size: 1.6rem; text-align: center; margin-bottom: 5vw;}
#home_topics .maincontent h2 span{ font-size: 1rem;}
#home_topics .maincontent .topics_list{ width: 100%;}
#home_topics .maincontent .topics_list a dl{ padding: 2.5vw;}
#home_topics .maincontent .topics_list a dl dt{ width: 30%;}
#home_topics .maincontent .topics_list a dl dd{ width: 70%; padding: 0 7.5vw 0 2.5vw;}
#home_topics .maincontent .topics_list a dl dd span.date{ dfont-size: 0.7rem;}
#home_topics .maincontent .topics_list a dl dd p{ font-size: 0.7rem; margin: 0;}
#home_topics .maincontent .topics_list a dl dd svg{ content: ""; width: 5vw; right: -1.25vw;}
#home_topics .maincontent .topics_list a:hover dl dd svg{ right: -1.25vw;}
}

/*home_message*/
#home_message{ margin: 60px auto 140px;}
/*
#home_message:after{ content: ""; width: 432px; height: 912px; background: url("../images/message_ico.png") center center no-repeat; background-size: 100%; position: absolute; right: 0; bottom: 0; z-index: 3;}
*/
#home_message .maincontent{ background: #F7F7F7; padding: 70px 0 100px 140px; position: relative; z-index: 1;}
#home_message .maincontent:after{ content: ""; width: 200%; height: 100%; background: #F7F7F7; position: absolute; left: 0; top: 0; z-index: -1;}
#home_message h2{ /*margin: -140px 0 100px;*/ margin: 0 0 60px;}
#home_message p{ line-height: 2.5em; margin-bottom: 2.5em;}
#home_message p:last-child{ margin-bottom: 0;}
@media screen and (max-width:767px){
#home_message{ margin: 12.5vw auto 25vw;}
/*
#home_message:after{ content: ""; width: 94vw; height: 210vw; background: url("../images/message_ico_sp.png") left bottom no-repeat; background-size: 100%; position: absolute; right: auto; left: 6vw; bottom: -6vw; z-index: 3;}
*/
#home_message .maincontent{ padding: 12vw 6vw 12vw 6vw; position: relative; z-index: 1;}
/*
#home_message .maincontent:after{width: calc(100% + 8vw); left: -4vw;}
*/
#home_message h2{ /*margin: -24vw 0 10vw;*/ margin: 0 0 10vw;}
#home_message h2 strong img{ width: 100%; height: auto;}
#home_message p{ line-height: 2.5em; margin-bottom: 2.5em;}
}

/*home_recruit*/
#home_recruit{ margin: 140px auto; background: url("../images/recruit.jpg") center center no-repeat; background-size: cover;}
#home_recruit .maincontent{ height: 768px;}
#home_recruit .home_recruit_box{ width: 365px; height: 100%; margin: 0 0 0 auto; background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 60px;}
#home_recruit .home_recruit_box h2{ display: flex; flex-direction: row-reverse;}
#home_recruit .home_recruit_box h2 span{ margin-left: 1.25em; width: 1em; line-height: 1em; font-size: 0.8rem; letter-spacing: 0.2em; font-weight: normal; -ms-writing-mode: tb-rl; writing-mode: vertical-rl;}
#home_recruit .home_recruit_box h2 strong img{ width: 172px; height: auto;}
#home_recruit .home_recruit_box .more{ width: 100%;}
#home_recruit .home_recruit_box .more a{ display: flex; width: 100%; height: 42px; border-bottom: 1px solid #000; position: relative; transition: 0.3s;}
#home_recruit .home_recruit_box .more a svg{ fill: #000; width: 24px; position: absolute; right: 10px; top: 0.5em; transition: 0.3s;}
#home_recruit .home_recruit_box .more a:hover{ opacity: 0.7;}
#home_recruit .home_recruit_box .more a:hover svg{ right: 0;}
@media screen and (max-width:767px){
#home_recruit{ margin: 25vw auto; background: #fff;}
#home_recruit .maincontent{ height: auto;}
#home_recruit .home_recruit_box{ width: 100%; height: 100%; margin: 0 auto; padding: 10vw;}
#home_recruit .home_recruit_box h2{ margin-bottom: 12.5vw;}
#home_recruit .home_recruit_box h2 strong img{ width: 30vw; height: auto;}
#home_recruit .home_recruit_box .more a{ font-size: 1.2rem; height: 10vw;}
#home_recruit .home_recruit_box .more a svg{ width: 6vw; right: 2.5vw;}
#home_recruit .home_recruit_box .more a:hover svg{ right: 2.5vw;}
}

/*home_mission*/
#home_mission{ background: #F7F7F7; padding: 90px 0 120px;}
/*
#home_mission:after{ content: ""; width: 1530px; height: 332px; background: url("../images/mission_ico.png") center top no-repeat; background-size: 100%; position: absolute; left: 50%; top: -50px; transform: translateX(-50%); margin: auto;}
*/
#home_mission h2{ text-align: center; margin-bottom: 90px;}
#home_mission span{ line-height: 1em; font-size: 0.8rem; letter-spacing: 0.2em; font-weight: normal;}
#home_mission ul li{ margin: 70px auto 0; position: relative;}
#home_mission ul li img{ width: calc(100% + 130px); max-width: calc(100% + 130px);}
#home_mission ul li .txt{ display: flex; flex-direction: column;}
#home_mission ul li h3{ font-size: 2rem; line-height: 1.5em; margin-bottom: 0.5em;}
#home_mission ul li .btn{ width: 220px; margin: 0;}
#home_mission ul li .btn a{ display: flex; align-items: center; width: 100%; height: 42px; padding: 0 20px; background: #393939; color: #fff; font-size: 0.8rem; position: relative; transition: 0.3s;}
#home_mission ul li .btn a svg{ fill: #fff; width:16px; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
#home_mission ul li .btn a:hover{ opacity: 0.7;}
#home_mission ul li .btn a:hover svg{ right: 10px;}

#home_mission ul li.mission h3{ width: 600px; position: absolute; left: 130px; top: 100px; margin: auto;}
#home_mission ul li.mission .mission_txt_wrap{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center; position: absolute; right: 0; top: 100px; width: 280px; margin: auto;}
#home_mission ul li.mission .txt{ width: 280px; margin: 0 auto 15px;}
#home_mission ul li.mission .txt .btn{ width: 100%;}
#home_mission ul li.company img{ margin-left: -130px;}
#home_mission ul li.company .txt{ width: 280px; position: absolute; right: 130px; top: 100px;}
#home_mission ul li.company .btn{ width: 280px;}
#home_mission ul li.work img{ margin-left: -130px;}
#home_mission ul li.work h3{ width: 600px; position: absolute; left: 0; top: 100px; margin: auto;}
#home_mission ul li.work .work_txt_wrap{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center; position: absolute; right: 130px; top: 100px; width: 280px; margin: auto;}
#home_mission ul li.work .txt{ width: 280px; margin: 0 auto 15px;}
#home_mission ul li.work .txt .btn{ width: 100%;}
#home_mission ul li.staff img{ margin-left: -130px;}
#home_mission ul li.staff .txt{ flex-direction: row; align-items: flex-end; justify-content: center; position: absolute; left: 0; right: 130px; top: 70px; margin: auto;}
#home_mission ul li.staff .txt h3{ margin-bottom: 0; margin-right: 1em;}
#home_mission ul li.staff .txt .btn{ margin-bottom: 10px;}
@media screen and (max-width:767px){
#home_mission{ padding: 25vw 0;}
/*
#home_mission:after{ content: ""; width: 100vw; height: 112vw; background: url("../images/mission_ico_sp.png") center top no-repeat; background-size: 100%; position: absolute; left: 0; right: 0; top: -25vw; margin: auto;}
*/
#home_mission h2{ margin-bottom: 10vw;}
#home_mission h2 strong img{ width: 60vw; height: auto;}
#home_mission ul li{ margin: 20vw auto 0; position: relative;}
#home_mission ul li:first-child{ margin-top: 10vw;}
#home_mission ul li img{ width: calc(100% + 8vw); max-width: calc(100% + 8vw);}
#home_mission ul li .txt{ display: flex; flex-direction: column;}
#home_mission ul li h3{ font-size: 1.4rem; margin-bottom: 1.5em;}
#home_mission ul li .btn{ width: 60vw; margin: 0;}
#home_mission ul li .btn a{ font-size: 1.0rem; height: 10vw;}
#home_mission ul li .btn a svg{ width: 4vw; height: 1vw; right: 2.5vw;}
#home_mission ul li .btn a:hover svg{ right: 2.5vw;}

#home_mission ul li.mission h3{ width: 100%; position: static; margin: 5vw auto; text-align: left;}
#home_mission ul li.mission .mission_txt_wrap{ display: block; position: static; width: 66.66vw; margin: 0;}
#home_mission ul li.mission .txt{ width: 100%; margin: 5% auto;}
#home_mission ul li.mission .txt:nth-child(1){ margin: 5% auto;}
#home_mission ul li.company img{ margin-left: -8vw;}
#home_mission ul li.company .txt{ width: 100%; position: static; margin: 10vw auto 0;}
#home_mission ul li.company .btn{ width: 66.66vw;}
#home_mission ul li.work img{ margin-left: -8vw;}
#home_mission ul li.work h3{ width: 100%; position: static; margin: 5vw auto; text-align: left;}
#home_mission ul li.work .work_txt_wrap{ display: block; position: static; width: 66.66vw; margin: 0;}
#home_mission ul li.work .txt{ width: 100%; margin: 5% auto;}
#home_mission ul li.staff img{ margin-left: -8vw;}
#home_mission ul li.staff .txt{ flex-direction: column; align-items: flex-start; justify-content: flex-start; width: 100%; position: static; margin: 10vw auto 0;}
#home_mission ul li.staff .txt h3{ margin-bottom: 1.5em; margin-right: 0;}
#home_mission ul li.staff .txt .btn{ margin-bottom: 0;}
}

/*home_crosstalk*/
#home_crosstalk{ margin: 100px auto;}
/*
#home_crosstalk:after{ content: ""; width: 1450px; height: 259px; background: url("../images/crosstalk_ico.png") center top no-repeat; background-size: 100%; position: absolute; left: 50%; top: 20px; transform: translateX(-50%); margin: auto;}
*/
#home_crosstalk h2{ text-align: center; margin-bottom: 60px;}
#home_crosstalk h2 span{ line-height: 1em; font-size: 0.8rem; letter-spacing: 0.2em; font-weight: normal;}
#home_crosstalk ul li{ background: #F7F7F7; padding: 40px 70px; margin-top: 160px; position: relative;}
#home_crosstalk ul li a{ display: block; transition: 0.3s;}
#home_crosstalk ul li a:hover{ opacity: 0.7;}
#home_crosstalk ul li a figure.img img{ transform: scale(1.0); transition: 0.3s;}
#home_crosstalk ul li a:hover figure.img img{ transform: scale(1.05);}
#home_crosstalk ul li figure.img{ margin-top: -140px;}
#home_crosstalk ul li dl{ display: flex; margin: 40px 0 0 60px;}
#home_crosstalk ul li dl dt{ font-size: 4rem; line-height: 1em; width: 1.5em;}
#home_crosstalk ul li dl dd h3{ font-size: 1.35rem; line-height: 1.5em; margin-bottom: 0.5em;}
#home_crosstalk ul li dl dd p{ font-size: 1rem; line-height: 1.5em; display: flex;}
#home_crosstalk ul li dl dd p strong{ font-weight: normal;}
#home_crosstalk ul li .arrow{ position: absolute; right: 0; bottom: 0; width: 64px; height: 64px; padding: 16px 12px; display: flex; align-items: flex-end; justify-content: flex-end; z-index: 1; transition: 0.3s;}
#home_crosstalk ul li .arrow:after{ content: ""; width: 0; height: 0; border-style: solid; border-width: 0 0 64px 64px; border-color: transparent transparent #000 transparent; position: absolute; right: 0; bottom: 0; z-index: -1;}
#home_crosstalk ul li .arrow svg{ fill: #fff; width: 20px; position: relative;}
@media screen and (max-width:767px){
#home_crosstalk{ margin: 35vw auto 12.5vw;}
/*
#home_crosstalk:after{ content: ""; width: 100vw; height: 97.5vw; background: url("../images/crosstalk_ico_sp.png") center top no-repeat; background-size: 100%; top: -40vw;}
*/
#home_crosstalk h2{ margin-bottom: 40vw;}
#home_crosstalk h2 strong img{ width: 60vw; height: auto;}
#home_crosstalk ul li{ padding: 12.5vw 2.5vw; margin-top: 25vw;}
#home_crosstalk ul li figure.img{ margin-top: -30vw; width: 100%;}
#home_crosstalk ul li dl{ display: block; text-align: center; margin:0;}
#home_crosstalk ul li dl dt{ font-size: 4rem; width: 100%; margin: 0.33em 0;}
#home_crosstalk ul li dl dd{ margin: 7.5vw auto 0;}
#home_crosstalk ul li dl dd h3{ margin-bottom: 1em;}
#home_crosstalk ul li dl dd p{ display: block;}
#home_crosstalk ul li dl dd p span{ display: block; margin-bottom: 0.5em;}
#home_crosstalk ul li .arrow{ width: 17.5vw; height: 17.5vw; padding: 4vw 3vw;}
#home_crosstalk ul li .arrow:after{ border-width: 0 0 17.5vw 17.5vw;}
#home_crosstalk ul li .arrow svg{ width: 5vw; height: 1.25vw;}
}





/*pages*/
/*section*/
.pages section{ margin: 60px auto 120px;}
@media screen and (max-width:767px){
.pages section{ margin: 12.5vw auto 25vw;}
}

/*tit*/
.pages h2{ text-align: center; font-size: 1.6rem; line-height: 1.75em; margin-bottom: 40px;}
@media screen and (max-width:767px){
.pages h2{ font-size: 1.5rem; margin-bottom: 10vw;}
}

/*mv2*/
#mv2{ background: #000; width: calc(100% - 40px); height: 480px; margin: 20px;}
#mv2 .maincontent{ height: 100%;}
#mv2 .tit{ background: rgba(255,255,255,0.95); padding: 40px 60px; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
#mv2 .tit h2{ display: block; text-align: left; margin-bottom: 1em;}
#mv2 .tit h2:last-child{ margin-bottom: 0;}
#mv2 .tit h2 span{ display: block; font-size: 0.8rem; line-height: 1em; margin: 0 0 1em;}
#mv2 .tit h2 strong{ font-size: 2rem; line-height: 1em; letter-spacing: 0.1em;}
#mv2 .tit h2 strong b{ font-weight: 400;}
#mv2 .tit h3{ font-size: 1.2rem; font-weight: normal; margin-bottom: 1em;}
#mv2 .tit p{ font-size: 0.8rem;}
@media screen and (max-width:767px){
#mv2{ width: calc(100% - 8vw); height: auto; margin: 4vw;}
#mv2 .maincontent{ width: 100%;}
#mv2 .tit{ padding: 8vw 2vw 4vw; position: static; transform: translateY(0); background: #fff;}
}

/*bread*/
#bread{ width: calc(100% - 40px); margin: 20px 20px 60px;}
#bread ul{ display: flex; flex-wrap: wrap; font-size: 0.7rem;}
#bread ul li:not(:last-child):after{ content: ">"; margin: 0 1em;}
#bread ul li a:hover{ text-decoration: underline;}
@media screen and (max-width:767px){
#bread{ width: calc(100% - 8vw); margin: 4vw 4vw 12.5vw; padding: 2vw; border-top: 1px solid #000; border-bottom: 1px solid #000;}
}

/*back*/
#back{ margin: 100px auto;}
#back .btn{ width: 280px;}
#back .btn a{ display: flex; width: 100%; height: 42px; border-bottom: 1px solid #000; font-size: 0.9rem; position: relative; transition: 0.3s;}
#back .btn a svg{ fill: #000; width: 24px; position: absolute; right: 10px; top: 0.5em; transition: 0.3s;}
#back .btn.row2 a{ height: 63px;}
#back .btn.row2 a svg{ top: 1em;}
#back .btn a:hover{ opacity: 0.7;}
#back .btn a:hover svg{ right: 0;}
@media screen and (max-width:767px){
#back{ margin: 20vw auto;}
#back .btn{ width: 60vw;}
#back .btn a{ font-size: 1rem; height: 10vw;}
#back .btn a svg{ width: 6vw; height: 1.5vw; right: 2.5vw;}
#back .btn.row2 a{ height: 15vw;}
#back .btn.row2 a svg{ top: 1em;}
#back .btn a:hover svg{ right: 2.5vw;}
}



/*work*/
.work #mv2{ background: #CDE3EF url("../images/work/map.png") center bottom no-repeat; height: auto; padding: 60px 0 940px 0;}
/*
.work #mv2 .maincontent{ padding-left: 320px; margin: 0; width: 100%; max-width: 1100px;}
*/
.work #mv2 .maincontent{ display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0;}
@media screen and (max-width:1460px){
.work #mv2 .maincontent{ padding-left: 360px; margin: 0; align-items: flex-start;}
}
@media screen and (max-width:767px){
.work #mv2 .maincontent{ padding-left: 0;}
}

.work #mv2 .tit{ transform: none; top: 70px; text-align: left;}
.work #mv2 .txt{ display: inline-block; text-align: left; position: relative; z-index: 5;}
.work #mv2 h3{ font-size: 1.2rem; margin-bottom: 1em;}
.work #mv2 p{ font-size: 0.8rem; letter-spacing: 0.04em;}
@media screen and (max-width:767px){
.work #mv2{ background: #E1EDF4; padding: 5vw 0 2vw; position: relative; z-index: 1;}
.work #mv2:after{ content: ""; width: 100%; height: 50%; background: #B8DBE5; position: absolute; left: 0; bottom: 0; z-index: -1;}
.work #mv2 .tit{ transform: none; top: 5vw; width: 50vw; padding: 8vw 4vw 4vw;}
.work #mv2 .txt{ display: block; margin: 4vw;}
.work #mv2 h3{ font-size: 1rem;}
}

/*sub*/
.work #mv2 .map_sub{ position: relative; width: 1060px; margin: 0 auto; z-index: 5;}
.work #mv2 .map_sub .hover_area{ background: rgba(0,0,0,0.0); position: absolute; cursor: pointer;}
.work #mv2 .map_sub .hover_area span{ position: absolute; border: 2px solid #115DA6; color: #115DA6; background: #fff; font-size: 0.7rem; font-weight: bold; padding: 10px 20px; border-radius: 4px; text-align: center; transition: 0.3s; opacity: 0; pointer-events: none; word-break: keep-all;}
.work #mv2 .map_sub .hover_area:hover span{ opacity: 1.0;}
.work #mv2 .map_sub .hover_area.area01{ width: 80px; height: 50px; left: 530px; top: 80px;}
.work #mv2 .map_sub .hover_area.area01 span{ left: 50%; top: -50px; transform: translateX(-50%);}
.work #mv2 .map_sub .hover_area.area02{ width: 60px; height: 60px; left: 150px; top: 140px;}
.work #mv2 .map_sub .hover_area.area02 span{ left: 50%; top: -50px; transform: translateX(-50%);}
.work #mv2 .map_sub .hover_area.area03{ width: 80px; height: 40px; right: 140px; top: 170px;}
.work #mv2 .map_sub .hover_area.area03 span{ right: -40px; top: -50px;}
.work #mv2 .map_sub .hover_area.area04{ width: 280px; height: 120px; left: 220px; top: 160px;}
.work #mv2 .map_sub .hover_area.area04 span{ left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%);}
.work #mv2 .map_sub .hover_area.area05{ width: 120px; height: 60px; left: 580px; top: 220px;}
.work #mv2 .map_sub .hover_area.area05 span{ left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%);}
.work #mv2 .map_sub .hover_area.area06{ width: 100px; height: 60px; right: 165px; top: 210px;}
.work #mv2 .map_sub .hover_area.area06 span{ left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%);}
.work #mv2 .map_sub .hover_area.area07{ width: 320px; height: 200px; left: 0; top: 360px;}
.work #mv2 .map_sub .hover_area.area07 span{ left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%);}
.work #mv2 .map_sub .hover_area.area08{ width: 180px; height: 70px; right: -30px; top: 390px;}
.work #mv2 .map_sub .hover_area.area08 span{ left: 0; top: 0;}
.work #mv2 .map_sub .hover_area.area09{ width: 90px; height: 50px; left: 0; top: 690px;}
.work #mv2 .map_sub .hover_area.area09 span{ left: 50%; top: -50px; transform: translateX(-50%);}
.work #mv2 .map_sub .hover_area.area10{ width: 360px; height: 100px; left: 100px; top: 620px;}
.work #mv2 .map_sub .hover_area.area10 span{ left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%);}
.work #mv2 .map_sub .hover_area.area11{ width: 320px; height: 180px; right: 0; top: 490px;}
.work #mv2 .map_sub .hover_area.area11 span{ left: 90px; bottom: 60px; transform: translateX(-50%);}
.work #mv2 .map_sub .hover_area.area12{ width: 300px; height: 100px; left: 120px; top: 780px;}
.work #mv2 .map_sub .hover_area.area12 span{ left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%);}
.work #mv2 .map_sub .hover_area.area13{ width: 300px; height: 160px; right: -40px; top: 720px;}
.work #mv2 .map_sub .hover_area.area13 span{ left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%);}
@media screen and (max-width:767px){
.work #mv2 .map_sub{ display: none !important;}
}

/*nav*/
.work #mv2 .map{ position: relative; width: 1060px; margin: 0 auto; z-index: 10;}
.work #mv2 .map ul{ width: 1060px; height: 100%; position: absolute; left: 50%; top: 50%; transform: translateY(-50%) translateX(-50%); z-index: 10;}
.work #mv2 .map ul li{ position: absolute;}
.work #mv2 .map ul li a{ display: block; background: #115DA6; color: #fff; padding: 15px 45px 15px 15px; border-radius: 4px; position: relative; transition: 0.3s; z-index: 1;}
.work #mv2 .map ul li a:hover{ opacity: 0.7;}
.work #mv2 .map ul li a h4{ font-size: 0.7rem; line-height: 1.5em; margin-bottom: 0.25em;}
.work #mv2 .map ul li a p{ font-size: 0.6rem; line-height: 1.66em; margin: 0;}
.work #mv2 .map ul li a span{ display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; border: 1px solid #fff; border-radius: 50%; position: absolute; right: 15px; top: 50%; transform: translateY(-50%);}
.work #mv2 .map ul li a span svg{ fill: #fff; width: 8px;}

.work #mv2 .map ul li:nth-child(1){ left: 390px; top: 540px;}
.work #mv2 .map ul li:nth-child(1) a{ padding-right: 90px;}
.work #mv2 .map ul li:nth-child(1) a:after{ content: ""; width: 0; height: 0; border-style: solid; border-width: 10px 0 10px 24px; border-color: transparent transparent transparent #115ea6; position: absolute; right: -14px; top: 50%; transform: translateY(-50%); z-index: -1;}
.work #mv2 .map ul li:nth-child(1) a:before{ content: ""; width: 0; height: 0; border-style: solid; border-width: 24px 10px 0 10px; border-color: #115ea6 transparent transparent transparent; position: absolute; left: 40px; bottom: -14px; z-index: -1;}
.work #mv2 .map ul li:nth-child(2){ left: 670px; top: 330px;}
.work #mv2 .map ul li:nth-child(2) a:after{ content: ""; width: 0; height: 0; border-style: solid; border-width: 10px 0 10px 24px; border-color: transparent transparent transparent #115ea6; position: absolute; right: -14px; top: 50%; transform: translateY(-50%); z-index: -1;}
.work #mv2 .map ul li:nth-child(3){ left: 60px; top: 210px;}
.work #mv2 .map ul li:nth-child(3) a:after{ content: ""; width: 0; height: 0; border-style: solid; border-width: 24px 10px 0 10px; border-color: #115ea6 transparent transparent transparent; position: absolute; right: 80px; bottom: -14px; z-index: -1;}
.work #mv2 .map ul li:nth-child(4){ right: 200px; top: 20px;}
.work #mv2 .map ul li:nth-child(4) a:after{ content: ""; width: 0; height: 0; border-style: solid; border-width: 24px 10px 0 10px; border-color: #115ea6 transparent transparent transparent; position: absolute; right: 60px; bottom: -14px; z-index: -1;}
.work #mv2 .map ul li:nth-child(5){ left: 500px; top: 750px;}
.work #mv2 .map ul li:nth-child(5) a:after{ content: ""; width: 0; height: 0; border-style: solid; border-width: 10px 0 10px 24px; border-color: transparent transparent transparent #115ea6; position: absolute; right: -14px; top: 50%; transform: translateY(-50%); z-index: -1;}
@media screen and (max-width:767px){
.work #mv2 .map{ margin: 0; width: 100%;}
.work #mv2 .map ul{ width: 80vw; margin: -4vw auto 0; position: static; transform: none;}
.work #mv2 .map ul li{ position: static; margin-bottom: 2vw;}
.work #mv2 .map ul li a{ padding: 2.5vw;}
.work #mv2 .map ul li a h4{ font-size: 0.9rem;}
.work #mv2 .map ul li a p{ font-size: 0.8rem;}
.work #mv2 .map ul li a span{ width: 20px; height: 20px; right: 2.5vw;}
.work #mv2 .map ul li a span svg{ fill: #fff; width: 8px;}
.work #mv2 .map ul li a{ width: 100% !important; height: auto !important;}
.work #mv2 .map ul li a:after,
.work #mv2 .map ul li a:before{ display: none !important;}
}
.work #work_list{ margin: 120px auto;}
.work #work_list .work_list_anker{ padding: 1px 0 0;}
.work #work_list dl{ margin: 120px 80px 0 0; padding: 60px; background: #F7F7F7;}
.work #work_list dl dt{ margin: -140px -140px 20px 40px; width: 650px; float: right;}
.work #work_list .work_list_anker:nth-child(2n) dl{ margin: 120px 0 0 80px;}
.work #work_list .work_list_anker:nth-child(2n) dl dt{ margin: -140px 40px 20px -140px; float: left;}

.work #work_list dl dd{ position: relative; z-index: 1;}
.work #work_list dl dd h3{ font-size: 1.2rem; margin-bottom: 0.75em;}
.work #work_list dl dd p{ font-size: 0.8rem; letter-spacing: 0.05em;}
@media screen and (max-width:767px){
.work #work_list{ margin: 12.5vw auto;}
.work #work_list dl{ margin: 12.5vw auto 0; padding: 4vw; display: block;}
.work #work_list dl dt{ float: none; margin: 0 0 6vw; width: 100%;}
.work #work_list .work_list_anker:nth-child(2n) dl{ margin: 12.5vw auto 0;}
.work #work_list .work_list_anker:nth-child(2n) dl dt{ margin: 0 0 6vw;}
}
.work #work_cycle p.txt{ text-align: center; font-size: 0.8rem;}
.work #work_cycle .cycle_nav{ width: 800px; margin: 60px auto; position: relative;}
.work #work_cycle .cycle_nav{ text-align: center;}
.work #work_cycle .cycle_nav ul li a{ text-align: left; display: inline-block; font-size: 1.2rem; line-height: 1.25em; color: #115DA6; padding-right: 45px; position: relative;}
.work #work_cycle .cycle_nav ul li a span{ border: 1px solid #115DA6; border-radius: 50%; width: 32px; height: 32px; position: absolute; right: 0; top: 50%; transform: translateY(-50%); transition: 0.3s;}
.work #work_cycle .cycle_nav ul li a svg{ fill: #115DA6; width: 16px; position: absolute; left: 0; right: 0; top: 0.5em; margin: auto; transition: 0.3s;}
.work #work_cycle .cycle_nav ul li a:hover span{ background: #115DA6;}
.work #work_cycle .cycle_nav ul li a:hover svg{ fill: #fff;}
.work #work_cycle .cycle_nav ul li.nav01{ position: absolute; left: 0; right: 0; top: 80px;}
.work #work_cycle .cycle_nav ul li.nav02{ position: absolute; right: 40px; top: calc(290px - 0.625em);}
.work #work_cycle .cycle_nav ul li.nav03{ position: absolute; right: 160px; top: calc(630px - 0.625em);}
.work #work_cycle .cycle_nav ul li.nav04{ position: absolute; left: 150px; top: 630px;}
.work #work_cycle .cycle_nav ul li.nav05{ position: absolute; left: 45px; top: 290px;}
@media screen and (max-width:767px){
.work #work_cycle .cycle_nav{ width: calc(100% + 8vw); margin: 10vw 0 10vw -4vw;}
.work #work_cycle .cycle_nav ul li a{ font-size: 0.75rem; letter-spacing: 0; padding-right: 6vw;}
.work #work_cycle .cycle_nav ul li a span{ width: 5vw; height: 5vw;}
.work #work_cycle .cycle_nav ul li a svg{ width: 3.6vw; height: 0.9vw; top: 0.5em;}
.work #work_cycle .cycle_nav ul li.nav01{ top: 8vw;}
.work #work_cycle .cycle_nav ul li.nav02{ right: 4vw; top: calc(33vw - 0.625em);}
.work #work_cycle .cycle_nav ul li.nav03{ right: 16vw; top: calc(72vw - 0.625em);}
.work #work_cycle .cycle_nav ul li.nav04{ left: 15vw; top: 72vw;}
.work #work_cycle .cycle_nav ul li.nav05{ left: 4.5vw; top: 33vw;}
}

.work #work_cycle .cycle_list ul li{ border-bottom: 1px solid #000; padding: 50px 0; display: flex;}
.work #work_cycle .cycle_list ul li:first-child{ border-top: 1px solid #000;}
.work #work_cycle .cycle_list ul li h3{ font-size: 1.2rem; width: 300px; padding: 0 20px; position: relative;}
.work #work_cycle .cycle_list ul li h3:after{ content: ""; width: 1px; height: 1em; background: #000; position: absolute; right: 0; top: 0.25em;}
.work #work_cycle .cycle_list ul li p{ font-size: 0.8rem; width: calc(100% - 300px); padding-left: 50px;}
@media screen and (max-width:767px){
.work #work_cycle figure.zu{ margin: 12.5vw auto;}
.work #work_cycle .cycle_list ul li{ padding: 10vw 0; display: block;}
.work #work_cycle .cycle_list ul li h3{ width: 100%; padding: 0 0; margin-bottom: 1.5em;}
.work #work_cycle .cycle_list ul li h3:after{ width: 1em; height: 1px; left: 0; right: auto; top: auto; bottom: -0.75em;}
.work #work_cycle .cycle_list ul li p{  width: 100%; padding: 0;}
}



/*staff*/
.staff #mv2{ background: url("../images/staff/mv.jpg") right top no-repeat; background-size: cover;}
@media screen and (max-width:1280px){
.staff #mv2 .tit{ top: auto; bottom: 20px; transform: none;}
}
@media screen and (max-width:767px){
.staff #mv2{ background: none;}
}
.staff #staff_list h3{ text-align: center; font-size: 2rem; margin-bottom: 30px;}
.staff #staff_list ul{ display: flex; flex-wrap: wrap; width: calc(100% + 40px); margin: -30px 0 -30px -20px;}
.staff #staff_list ul li{ width: calc(50% - 40px); margin: 60px 20px; position: relative;}
.staff #staff_list ul li a{ display: block; transition: 0.3s;}
.staff #staff_list ul li a:hover{ opacity: 0.7;}
.staff #staff_list ul li a dl dt img{ transform: scale(1.0); transition: 0.3s;}
.staff #staff_list ul li a:hover dl dt img{ transform: scale(1.05);}
.staff #staff_list ul li dl{ position: relative; z-index: 1;}
.staff #staff_list ul li dl dt{ width: calc(100% - 30px); margin: 0 auto 0 0; position: relative; z-index: 2;}
.staff #staff_list ul li dl dd{ width: calc(100% - 30px); padding: 40px; margin: -50px 0 0 auto; background: #F7F7F7; position: relative; z-index: 3;}
.staff #staff_list ul li dl dd h3{ font-size: 1.0rem; line-height: 1.66em; margin-bottom: 1.5em;}
/*
.staff #staff_list ul li:nth-child(1) dl dd h3,
.staff #staff_list ul li:nth-child(5) dl dd h3{ min-height: calc(1.66 * 3em);}
*/
.staff #staff_list ul li dl dd p.date{ display: flex; align-items: center; margin: 0 auto 1em;}
.staff #staff_list ul li dl dd p.date span{ background: #000; color: #fff; font-size: 0.65rem; line-height: 1em; padding: 0.25em 0.5em 0.33em;}
.staff #staff_list ul li dl dd p.date span.area{ background: none; color: #000; font-size: 0.8rem; line-height: 1em; padding: 0; margin-left: 0.5em;}
.staff #staff_list ul li dl dd p.name{ font-size: 0.8rem; line-height: 1em;}
.staff #staff_list ul li dl dd p.name strong{ font-size: 2.0rem; line-height: 1em;}
.staff #staff_list ul li .arrow{ position: absolute; right: 0; bottom: 0; width: 64px; height: 64px; padding: 16px 12px; display: flex; align-items: flex-end; justify-content: flex-end; z-index: 1;}
.staff #staff_list ul li .arrow:after{ content: ""; width: 0; height: 0; border-style: solid; border-width: 0 0 64px 64px; border-color: transparent transparent #000 transparent; position: absolute; right: 0; bottom: 0; z-index: -1;}
.staff #staff_list ul li .arrow svg{ fill: #fff; width: 20px; position: relative;}
@media screen and (max-width:767px){
.staff #staff_list h3{ font-size: 2rem; margin-bottom: 4vw;}
.staff #staff_list ul{ display: block; width: 100%; margin: 0;}
.staff #staff_list ul li{ width: 100%; margin: 12.5vw auto; position: relative;}
.staff #staff_list ul li dl{ display: block;}
.staff #staff_list ul li dl dt{ margin: 0 4vw -4vw 0; width: calc(100% - 4vw);}
.staff #staff_list ul li dl dd{ padding: 8vw 4vw 4vw; margin-left: 4vw; width: calc(100% - 4vw);}
.staff #staff_list ul li dl dd:after{ display: none;}
.staff #staff_list ul li dl dd h3{ font-size: 0.9rem;}
.staff #staff_list ul li .arrow{ width: 17.5vw; height: 17.5vw; padding: 4vw 3vw;}
.staff #staff_list ul li .arrow:after{ border-width: 0 0 17.5vw 17.5vw;}
.staff #staff_list ul li .arrow svg{ width: 5vw; height: 1.25vw}
}

.staff #staff_crosstalk h3{ text-align: center; font-size: 2rem; margin-bottom: 30px;}
.staff #staff_crosstalk ul li{ background: #F7F7F7; padding: 40px 70px; margin-top: 160px; position: relative;}
.staff #staff_crosstalk ul li a{ display: block; transition: 0.3s;}
.staff #staff_crosstalk ul li a:hover{ opacity: 0.7;}
.staff #staff_crosstalk ul li a figure.img img{ transform: scale(1.0); transition: 0.3s;}
.staff #staff_crosstalk ul li a:hover figure.img img{ transform: scale(1.05);}
.staff #staff_crosstalk ul li figure.img{ margin-top: -140px;}
.staff #staff_crosstalk ul li dl{ display: flex; margin: 40px 0 0 60px;}
.staff #staff_crosstalk ul li dl dt{ font-size: 4rem; line-height: 1em; width: 1.5em;}
.staff #staff_crosstalk ul li dl dd h3{ font-size: 1.35rem; line-height: 1.5em; margin-bottom: 0.5em; text-align: left;}
.staff #staff_crosstalk ul li dl dd p{ font-size: 1rem; line-height: 1.5em; display: flex;}
.staff #staff_crosstalk ul li dl dd p strong{ font-weight: normal;}
.staff #staff_crosstalk ul li .arrow{ position: absolute; right: 0; bottom: 0; width: 64px; height: 64px; padding: 16px 12px; display: flex; align-items: flex-end; justify-content: flex-end; z-index: 1; transition: 0.3s;}
.staff #staff_crosstalk ul li .arrow:after{ content: ""; width: 0; height: 0; border-style: solid; border-width: 0 0 64px 64px; border-color: transparent transparent #000 transparent; position: absolute; right: 0; bottom: 0; z-index: -1;}
.staff #staff_crosstalk ul li .arrow svg{ fill: #fff; width: 20px; position: relative;}
@media screen and (max-width:767px){
.staff #staff_crosstalk h3{ font-size: 2rem; margin-bottom: 4vw;}
.staff #staff_crosstalk ul li{ padding: 12.5vw 2.5vw; margin-top: 25vw;}
.staff #staff_crosstalk ul li figure.img{ margin-top: -30vw; width: 100%;}
.staff #staff_crosstalk ul li dl{ display: block; text-align: center; margin:0;}
.staff #staff_crosstalk ul li dl dt{ font-size: 4rem; width: 100%; margin: 0.33em 0;}
.staff #staff_crosstalk ul li dl dd{ margin: 7.5vw auto 0;}
.staff #staff_crosstalk ul li dl dd h3{ margin-bottom: 1em; text-align: center;}
.staff #staff_crosstalk ul li dl dd p{ display: block;}
.staff #staff_crosstalk ul li dl dd p span{ display: block; margin-bottom: 0.5em;}
.staff #staff_crosstalk ul li .arrow{ width: 17.5vw; height: 17.5vw; padding: 4vw 3vw;}
.staff #staff_crosstalk ul li .arrow:after{ border-width: 0 0 17.5vw 17.5vw;}
.staff #staff_crosstalk ul li .arrow svg{ width: 5vw; height: 1.25vw}
}




/*interview*/
.interview #mv2 .tit h2{ font-size: 1.1rem; font-weight: normal;}
.interview #mv2 .tit h2 small{ font-size: 0.8rem; margin-right: 2em;}
.interview01 #mv2{ background: url("../images/interview/01/mv.jpg") center center no-repeat; background-size: cover;}
.interview02 #mv2{ background: url("../images/interview/02/mv.jpg") center center no-repeat; background-size: cover;}
.interview03 #mv2{ background: url("../images/interview/03/mv.jpg") center center no-repeat; background-size: cover;}
.interview04 #mv2{ background: url("../images/interview/04/mv.jpg") center center no-repeat; background-size: cover;}
.interview05 #mv2{ background: url("../images/interview/05/mv.jpg") center center no-repeat; background-size: cover;}
.interview06 #mv2{ background: url("../images/interview/06/mv.jpg") center center no-repeat; background-size: cover;}
@media screen and (max-width:767px){
.interview #mv2{ background: none !important;}
}
.interview .interview_sec h2{ font-size: 2rem; line-height: 1.5em; margin-bottom: 90px;}
.interview .interview_sec dl{ margin: 90px auto;}
.interview .interview_sec dl.col2{ display: flex;}
.interview .interview_sec dl.col2 dt{ width: 50%; padding-right: 30px;}
.interview .interview_sec dl.col2 dd{ width: 50%; padding-left: 30px;}
.interview .interview_sec dl.col2 dd img{ width: 652px; max-width: 652px;}
.interview .interview_sec dl.col2.even{ flex-direction: row-reverse;}
.interview .interview_sec dl.col2.even dt{ padding: 0 0 0 30px;}
.interview .interview_sec dl.col2.even dd{ padding: 0 30px 0 0;}
.interview .interview_sec dl.col2.even dd img{ margin-left: -132px;}
.interview .interview_sec h3{ font-size: 1.6rem; margin-bottom: 1em; margin-top: 90px;}
.interview .interview_sec h3:first-child{ margin-top: 0;}
.interview .interview_sec h4{ font-size: 1.2rem; margin-bottom: 1em; padding-left: 1.5em; position: relative;}
.interview .interview_sec h4 span{ position: absolute; left: 0; top: 0;}
.interview .interview_sec p{ font-size: 0.8rem;}
@media screen and (max-width:767px){
.interview .interview_sec h2{ font-size: 1.5rem; letter-spacing: 0; margin-bottom: 15vw;}
.interview .interview_sec dl{ margin: 15vw auto;}
.interview .interview_sec dl.col2{ display: block;}
.interview .interview_sec dl.col2 dt{ width: 100%; padding-right: 0; margin-bottom: 10vw;}
.interview .interview_sec dl.col2 dd{ width: 100%; padding-left: 0;}
.interview .interview_sec dl.col2 dd img{ width: 100%; max-width: 100%;}
.interview .interview_sec dl.col2.even dt{ padding: 0;}
.interview .interview_sec dl.col2.even dd{ padding: 0;}
.interview .interview_sec dl.col2.even dd img{ margin-left: 0;}
.interview .interview_sec h3{ font-size: 1.3rem; margin-top: 15vw;}
.interview .interview_sec h4{ font-size: 1.1rem;}
}
.interview .interview_schedule table{ margin: 40px auto; width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid #808080; font-size: 0.8rem; line-height: 2em;}
.interview .interview_schedule table th{ width: 220px; padding: 20px; background: #F7F7F7; border: 1px solid #D3D3D3; border-bottom: none; border-left: none; border-right: none;}
.interview .interview_schedule table td{ width: calc(100% - 220px); padding: 20px 30px; background: #FFF; border: 1px solid #D3D3D3; border-bottom: none; border-left: none; border-right: none;}
.interview .interview_schedule table tr:first-child th,
.interview .interview_schedule table tr:first-child td{ border-top: none;}
@media screen and (max-width:767px){
.interview .interview_schedule table{ margin: 10vw auto; font-size: 0.8rem; line-height: 2em;}
.interview .interview_schedule table th{ width: 5em; padding: 4vw 0; text-align: center;}
.interview .interview_schedule table td{ width: calc(100% - 5em); padding: 4vw;}
.interview .interview_schedule table tr:first-child td{ border-top: 1px solid #D3D3D3;}
}



/*crosstalk*/
.crosstalk01 #mv2{ background: url("../images/crosstalk/01/mv.jpg") right top no-repeat; background-size: cover;}
.crosstalk02 #mv2{ background: url("../images/crosstalk/02/mv.jpg") right top no-repeat; background-size: cover;}
@media screen and (max-width:1280px){
.crosstalk01 #mv2 .tit{ top: auto; bottom: 20px; transform: none;}
}
@media screen and (max-width:1200px){
.crosstalk02 #mv2 .tit{ top: auto; bottom: 20px; transform: none;}
}
@media screen and (max-width:767px){
.crosstalk #mv2{ background: none !important;}
}

.crosstalk #crosstalk_lead h2{ font-size: 2rem; text-align: center;}
.crosstalk #crosstalk_lead h3{ font-size: 1.6rem; text-align: center; margin-bottom: 1em;}
.crosstalk #crosstalk_lead p{ font-size: 1.2rem; letter-spacing: 0; text-align: center;}
.crosstalk #crosstalk_lead figure{ margin: 70px auto -30px; position: relative; z-index: 3;}
.crosstalk #crosstalk_lead .member{ background: #F7F7F7; padding: 90px 0 60px;}
.crosstalk #crosstalk_lead .member ul{ display: flex; align-items: center; justify-content: center;}
.crosstalk #crosstalk_lead .member ul li{ text-align: center; font-size: 0.8rem;}
.crosstalk #crosstalk_lead .member ul li strong{ font-size: 1.6rem;}
.crosstalk #crosstalk_lead .member ul li.ico{ margin: 0 70px;}
@media screen and (max-width:767px){
.crosstalk #crosstalk_lead h2{ font-size: 1.6rem;}
.crosstalk #crosstalk_lead h3{ font-size: 1.2rem;}
.crosstalk #crosstalk_lead p{ font-size: 0.8rem;}
.crosstalk #crosstalk_lead figure{ margin: 15vw auto -5vw;}
.crosstalk #crosstalk_lead .member{ padding: 10vw 5vw 5vw;}
.crosstalk #crosstalk_lead .member ul{ display: block;}
.crosstalk #crosstalk_lead .member ul li strong{ font-size: 1.4rem; display: inline-block; margin-left: 1em;}
.crosstalk #crosstalk_lead .member ul li.ico{ width: 100%; margin: 2.5vw 0; border-bottom: 1px dotted #000;}
.crosstalk #crosstalk_lead .member ul li.ico img{ display: none;}
}

.crosstalk #crosstalk_prof ul{ width: 780px; margin: 0 auto;}
.crosstalk #crosstalk_prof ul li{ margin: 40px auto; text-align: center;}
.crosstalk #crosstalk_prof ul li dl dt{ margin-bottom: 20px;}
.crosstalk #crosstalk_prof ul li dl dt figure{ margin-bottom: 20px;}
.crosstalk #crosstalk_prof ul li dl dt h3{ font-size: 1.2rem;}
.crosstalk #crosstalk_prof ul li dl dd p{ font-size: 0.8rem; text-align: justify;}
@media screen and (max-width:767px){
.crosstalk #crosstalk_prof ul{ width: 100%;}
.crosstalk #crosstalk_prof ul li{ margin: 10% auto;}
.crosstalk #crosstalk_prof ul li dl dt{ margin-bottom: 2.5%;}
.crosstalk #crosstalk_prof ul li dl dt figure{ margin-bottom: 2.5%;}
}

.crosstalk #crosstalk_nav ul{ width: 780px; margin: 0 auto;}
.crosstalk #crosstalk_nav ul li{ margin: 20px auto;}
.crosstalk #crosstalk_nav ul li a{ display: flex; align-items: center; background: #F7F7F7; width: 100%; height: 64px; padding: 20px 40px; font-size: 1.2rem; position: relative; transition: 0.3s;}
.crosstalk #crosstalk_nav ul li a:hover{ opacity: 0.7;}
.crosstalk #crosstalk_nav ul li a span.num{ margin-right: 1em;}
.crosstalk #crosstalk_nav ul li a span.ico{ position: absolute; right: 0; bottom: 0; width: 64px; height: 64px; padding: 16px 8px 16px; display: flex; align-items: flex-end; justify-content: flex-end; z-index: 1; transition: 0.3s;}
.crosstalk #crosstalk_nav ul li a span.ico:after{ content: ""; width: 0; height: 0; border-style: solid; border-width: 0 0 64px 64px; border-color: transparent transparent #000 transparent; position: absolute; right: 0; bottom: 0; z-index: -1;}
.crosstalk #crosstalk_nav ul li a span.ico svg{ fill: #fff; width: 24px; transform: rotate(90deg) rotateX(180deg); position: relative;}
@media screen and (max-width:767px){
.crosstalk #crosstalk_nav ul{ width: 100%;}
.crosstalk #crosstalk_nav ul li{ margin: 5vw auto;}
.crosstalk #crosstalk_nav ul li a{ height: 15vw; padding: 2.5vw 12.5vw 2.5vw 5vw; font-size: 1.0rem;}
.crosstalk #crosstalk_nav ul li a span.num{ width: 1.5em;}
.crosstalk #crosstalk_nav ul li a strong{ width: calc(100% - 2em);}
.crosstalk #crosstalk_nav ul li a span.ico{ width: 15vw; height: 15vw; padding: 4vw 1.5vw;}
.crosstalk #crosstalk_nav ul li a span.ico:after{ border-width: 0 0 15vw 15vw;}
.crosstalk #crosstalk_nav ul li a span.ico svg{ width: 6vw; height: 1.5vw}
}

.crosstalk .crosstalk_sec .crosstalk_sec_box{ margin: auto;}
.crosstalk .crosstalk_sec h2{ text-align: left; padding-left: 2.5em; position: relative;}
.crosstalk .crosstalk_sec h2 span{ display: inline-block; margin-right: 1em; position: absolute; left: 0; top: 0;}
.crosstalk .crosstalk_sec h3{ font-size: 1.2rem; line-height: 1.75em; margin: 60px auto;}
@media screen and (max-width:767px){
.crosstalk .crosstalk_sec .crosstalk_sec_box{ width: 100%;}
.crosstalk .crosstalk_sec h2{ font-size: 1.5rem; padding-left: 0;}
.crosstalk .crosstalk_sec h2 span{ display: block; position: static;}
.crosstalk .crosstalk_sec h3{ margin: 10vw auto;}
}
/*01*/
.crosstalk.crosstalk01 .crosstalk_sec dl{ display: flex; align-items: flex-start; flex-direction: row-reverse; width: calc(100% - 160px); margin: 60px 0 60px 160px;}
.crosstalk.crosstalk01 .crosstalk_sec dl dt{ width: 110px; margin-left: 50px; display: flex; align-items: center; flex-direction: column;}
.crosstalk.crosstalk01 .crosstalk_sec dl dt span{ font-size: 0.8rem; margin-top: 0.5em;}
.crosstalk.crosstalk01 .crosstalk_sec dl dt figure img{ width: 110px; border-radius: 50%;}
.crosstalk.crosstalk01 .crosstalk_sec dl dd{ width: calc(100% - 160px); padding: 30px; background: #F7F7F7; position: relative;}
.crosstalk.crosstalk01 .crosstalk_sec dl dd:after{ content: ""; width: 0; height: 0; border-style: solid; border-width: 15px 0 15px 40px; border-color: transparent transparent transparent #f7f7f7; position: absolute; right: -30px; top: 30px;}
.crosstalk.crosstalk01 .crosstalk_sec dl dd p{ font-size: 0.8rem; letter-spacing: 0.04em;}
.crosstalk.crosstalk01 .crosstalk_sec dl.even{ flex-direction: row; margin: 60px 160px 60px 0;}
.crosstalk.crosstalk01 .crosstalk_sec dl.even dt{ margin: 0 50px 0 0; display: flex; align-items: center; flex-direction: column;}
.crosstalk.crosstalk01 .crosstalk_sec dl.even dd:after{ content: ""; width: 0; height: 0; border-style: solid; border-width: 15px 40px 15px 0; border-color: transparent #f7f7f7 transparent transparent; right: auto; left: -30px; top: 30px;}
@media screen and (max-width:767px){
.crosstalk.crosstalk01 .crosstalk_sec dl{  margin: 10vw auto; width: 100%;}
.crosstalk.crosstalk01 .crosstalk_sec dl dt{ width: 16vw; margin-left: 4vw;}
.crosstalk.crosstalk01 .crosstalk_sec dl dt span{ font-size: 0.7rem; letter-spacing: 0; margin: 0.25em auto 0;}
.crosstalk.crosstalk01 .crosstalk_sec dl dt figure img{ width: 100%;}
.crosstalk.crosstalk01 .crosstalk_sec dl dd{ width: calc(100% - 20vw); padding: 2vw 4vw;}
.crosstalk.crosstalk01 .crosstalk_sec dl dd:after{ border-width: 3vw 0 3vw 8vw; right: -4vw; top: 4vw;}
.crosstalk.crosstalk01 .crosstalk_sec dl.even{ margin: 10vw auto;}
.crosstalk.crosstalk01 .crosstalk_sec dl.even dt{ margin: 0 4vw 0 0;}
.crosstalk.crosstalk01 .crosstalk_sec dl.even dd:after{ border-width: 3vw 8vw 3vw 0; right: auto; left: -4vw; top: 4vw;}
}
/*02*/
.crosstalk.crosstalk02 .crosstalk_sec .crosstalk_sec_box{ width: 780px; margin: auto;}
.crosstalk.crosstalk02 .crosstalk_sec dl{ display: flex; align-items: flex-start; width: 100%; margin: 60px auto;}
.crosstalk.crosstalk02 .crosstalk_sec dl dt{ width: 140px; margin-right: 20px; display: flex; align-items: center; flex-direction: row-reverse;}
.crosstalk.crosstalk02 .crosstalk_sec dl dt span{ font-size: 0.8rem; margin-right: 0; text-align: left; width: 4.5em;}
.crosstalk.crosstalk02 .crosstalk_sec dl dt figure img{ width: 60px; border-radius: 50%;}
.crosstalk.crosstalk02 .crosstalk_sec dl dd{ width: calc(100% - 140px);}
.crosstalk.crosstalk02 .crosstalk_sec dl dd p{ font-size: 0.8rem;}
@media screen and (max-width:767px){
.crosstalk.crosstalk02 .crosstalk_sec .crosstalk_sec_box{ width: 100%;}
.crosstalk.crosstalk02 .crosstalk_sec dl{  margin: 10vw auto; align-items: flex-start;}
.crosstalk.crosstalk02 .crosstalk_sec dl dt{ width: 15vw; margin-right: 5vw; flex-direction: column;}
.crosstalk.crosstalk02 .crosstalk_sec dl dt span{ font-size: 0.8rem; margin: 0.25em auto 0;}
.crosstalk.crosstalk02 .crosstalk_sec dl dt figure img{ width: 100%;}
.crosstalk.crosstalk02 .crosstalk_sec dl dd{ width: calc(100% - 20vw);}
}



/*projectstory*/
.projectstory #mv2{ background: url("../images/projectstory/mv.jpg") center center no-repeat; background-size: cover;}
@media screen and (max-width:767px){
.projectstory #mv2{ background: none !important;}
}

.projectstory #projectstory_lead{ margin: 40px auto;}
.projectstory #projectstory_lead h2{ font-size: 2rem; text-align: center;}
.projectstory #projectstory_lead h3{ font-size: 1.6rem; text-align: center; margin-bottom: 1em;}
.projectstory #projectstory_lead p{ font-size: 0.8rem; letter-spacing: 0; text-align: center;}
.projectstory #projectstory_lead figure{ margin: 40px auto; position: relative; z-index: 3;}
@media screen and (max-width:767px){
.projectstory #projectstory_lead{ margin: 10vw auto;}
.projectstory #projectstory_lead h2{ font-size: 1.5rem; letter-spacing: 0;}
.projectstory #projectstory_lead h3{ font-size: 1.1rem;}
.projectstory #projectstory_lead p{ font-size: 0.8rem;}
.projectstory #projectstory_lead figure{ margin: 10vw auto;}
}

.projectstory #projectstory_nav{ margin: 40px auto;}
.projectstory #projectstory_nav ul{ width: 800px; margin: 0 auto;}
.projectstory #projectstory_nav ul li{ margin: 20px auto;}
.projectstory #projectstory_nav ul li a{ display: flex; align-items: center; background: #F7F7F7; width: 100%; height: 64px; padding: 20px 40px 20px 20px; font-size: 1.2rem; position: relative; transition: 0.3s;}
.projectstory #projectstory_nav ul li a:hover{ opacity: 0.7;}
.projectstory #projectstory_nav ul li a span.num{ margin-right: 1em;}
.projectstory #projectstory_nav ul li a span.ico{ position: absolute; right: 0; bottom: 0; width: 64px; height: 64px; padding: 16px 8px 16px; display: flex; align-items: flex-end; justify-content: flex-end; z-index: 1; transition: 0.3s;}
.projectstory #projectstory_nav ul li a span.ico:after{ content: ""; width: 0; height: 0; border-style: solid; border-width: 0 0 64px 64px; border-color: transparent transparent #000 transparent; position: absolute; right: 0; bottom: 0; z-index: -1;}
.projectstory #projectstory_nav ul li a span.ico svg{ fill: #fff; width: 24px; transform: rotate(90deg) rotateX(180deg); position: relative;}
@media screen and (max-width:767px){
.projectstory #projectstory_nav{ margin: 10vw auto;}
.projectstory #projectstory_nav ul{ width: 100%;}
.projectstory #projectstory_nav ul li{ margin: 5vw auto;}
.projectstory #projectstory_nav ul li a{ flex-direction: column; height: 15vw; padding: 2.5vw 12.5vw 2.5vw 2.5vw; font-size: 0.8rem; letter-spacing: 0.05em;}
.projectstory #projectstory_nav ul li a span.num{ width: 100%; margin: 0;}
.projectstory #projectstory_nav ul li a strong{ width: 100%;}
.projectstory #projectstory_nav ul li a span.ico{ width: 10vw; height: 15vw; padding: 4vw 1.5vw;}
.projectstory #projectstory_nav ul li a span.ico:after{ border-width: 0 0 15vw 10vw;}
.projectstory #projectstory_nav ul li a span.ico svg{ width: 5vw; height: 1.25vw}
}

.projectstory .episode{ margin: 100px auto;}
.projectstory .episode .episode_box h2{ font-size: 1.2rem; text-align: left; margin-bottom: 30px;}
.projectstory .episode .episode_box h3{ font-size: 1.6rem; margin-bottom: 40px;}
.projectstory .episode .episode_box p{ font-size: 0.8rem;}
@media screen and (max-width:767px){
.projectstory .episode{ margin: 25vw auto;}
.projectstory .episode .episode_box h2{ font-size: 1rem; margin-bottom: 7.5vw;}
.projectstory .episode .episode_box h3{ font-size: 1.25rem; margin-bottom: 10vw;}
}
.projectstory .episode .episode_box .comment{ display: flex; align-items: flex-start; width: 100%; margin: 30px auto;}
.projectstory .episode .episode_box .comment:last-child{ margin-bottom: 0;}
.projectstory .episode .episode_box .comment figure{ width: 110px; text-align: center;}
.projectstory .episode .episode_box .comment figure img{ width: 100px;}
.projectstory .episode .episode_box .comment figure span{ display: block; font-size: 0.75rem; letter-spacing: 0; margin-top: 0.5em;}
.projectstory .episode .episode_box .comment p{ letter-spacing: 0.04em; width: calc(100% - 130px); margin-left: 20px; background: #F7F7F7; padding: 30px; position: relative; z-index: 1;}
.projectstory .episode .episode_box .comment p:after{ content: ""; width: 0; height: 0; border-style: solid; border-width: 20px 40px 20px 0; border-color: transparent #f7f7f7 transparent transparent; position: absolute; top: 30px; left: -12px; z-index: -1;}
@media screen and (max-width:767px){
.projectstory .episode .episode_box .comment{ margin: 10vw auto;}
.projectstory .episode .episode_box .comment figure{ width: 20vw; text-align: center;}
.projectstory .episode .episode_box .comment figure img{ width: 100%;}
.projectstory .episode .episode_box .comment figure span{ font-size: 0.7rem; letter-spacing: -0.05em; margin-top: 0.25em;}
.projectstory .episode .episode_box .comment p{ width: calc(100% - 24vw); margin-left: 4vw; padding: 2vw 4vw;}
.projectstory .episode .episode_box .comment p:after{ border-width: 3vw 8vw 3vw 0; right: auto; left: -4vw; top: 4vw;}
}
.projectstory .episode .episode_box dl{ display: flex; justify-content: space-between; width: 100%; margin: 40px auto;}
.projectstory .episode .episode_box dl.column{ margin-top: 100px;}
.projectstory .episode .episode_box dl dt{ width: 530px;}
.projectstory .episode .episode_box dl dd{ width: 520px;}
.projectstory .episode .episode_box dl dd img{ width: 650px; max-width: 650px;}
.projectstory .episode .episode_box dl dd figure span{ display: block; text-align: left; font-size: 0.8rem; margin-top: 0.5em;}
.projectstory .episode .episode_box dl.even{ flex-direction: row-reverse;}
.projectstory .episode .episode_box dl.even dd img{ margin-left: -130px;}
@media screen and (max-width:767px){
.projectstory .episode .episode_box dl{ display: block; margin: 10vw auto;}
.projectstory .episode .episode_box dl.column{ margin-top: 10vw;}
.projectstory .episode .episode_box dl dt{ width: 100%; margin-bottom: 10vw;}
.projectstory .episode .episode_box dl dd{ width: 100%;}
.projectstory .episode .episode_box dl dd img{ width: 100%; max-width: 100%;}
.projectstory .episode .episode_box dl.even dd img{ margin-left: 0;}
}
.projectstory .ins_img{ margin: 100px auto; width: 1100px;}
.projectstory .ins_img img{ width: 1366px; max-width: 1366px; margin-left: -133px;}
@media screen and (max-width:767px){
.projectstory .ins_img{ margin: 10vw auto; width: 100%;}
.projectstory .ins_img img{ width: calc(100% + 16vw); max-width: calc(100% + 16vw); margin-left: -8vw;}
}




/*company*/
.company #mv2{ background: url("../images/company/mv.jpg") center center no-repeat; background-size: cover;}
@media screen and (max-width:767px){
.company #mv2{ background: none;}
}
.company #company_lead p{ text-align: center;}
.company #company_lead #company_nav{ margin-top: 60px; background: #fff;}
.company #company_lead #company_nav ul{ display: flex; align-items: center; justify-content: space-between; width: 100%;}
.company #company_lead #company_nav ul li{ width: 140px;}
.company #company_lead #company_nav ul li:nth-child(1){ width: 260px;}
.company #company_lead #company_nav ul li:nth-child(2){ width: 260px;}
.company #company_lead #company_nav ul li a{ display: flex; width: 100%; height: 42px; border-bottom: 1px solid #000; font-size: 0.8rem; position: relative; transition: 0.3s;}
.company #company_lead #company_nav ul li a svg{ fill: #000; width: 24px; position: absolute; right: 10px; top: 0.5em; transition: 0.3s;}
.company #company_lead #company_nav ul li a:hover{ opacity: 0.7;}
.company #company_lead #company_nav ul li a:hover svg{ right: 0;}
@media screen and (max-width:767px){
.company #company_lead p{ text-align: left;}
.company #company_lead #company_nav{ margin-top: 12.5vw;}
.company #company_lead #company_nav ul{ flex-wrap: wrap; width: calc(100% + 5vw); margin: -2.5vw -2.5vw;}
.company #company_lead #company_nav ul li{ width: calc(33.33% - 2.5vw); margin: 2.5vw 1.25vw;}
.company #company_lead #company_nav ul li:nth-child(1){ width: calc(50% - 2.5vw); margin: 1.25vw;}
.company #company_lead #company_nav ul li:nth-child(2){ width: calc(50% - 2.5vw); margin: 1.25vw;}
.company #company_lead #company_nav ul li a{ font-size: 0.7rem; letter-spacing: 0; height: 7.5vw;}
.company #company_lead #company_nav ul li a svg{ width: 4vw; right: 1.25vw;}
.company #company_lead #company_nav ul li a:hover svg{ right: 1.25vw;}
}
.company #company_purpose{ margin-top: 160px;}
.company #company_purpose .maincontent{ background: #F7F7F7; padding: 80px 100px; position: relative; z-index: 1;}
.company #company_purpose .maincontent:after{ content: ""; width: 100vw; height: 100%; background: #F7F7F7; position: absolute; left: 0; top: 0; z-index: -1;}
.company #company_purpose h2{ text-align: left; /*margin: -140px 0 60px;*/ margin: 0 0 60px;}
.company #company_purpose h2 span{ display: block; font-size: 1rem; font-weight: normal; line-height: 1em; margin-bottom: 1em;}
.company #company_purpose h2 strong{ font-size: 2.8rem; line-height: 1em;}
.company #company_purpose h3{ font-size: 1.2rem; line-height: 1.66em; margin-bottom: 40px;}
.company #company_purpose p{ font-size: 0.8rem;}
@media screen and (max-width:767px){
.company #company_purpose{ margin-top: 25vw;}
.company #company_purpose .maincontent{ padding: 4vw;}
.company #company_purpose h2{ /*margin: -8vw 0 10vw;*/ margin: 0 0 10vw;}
.company #company_purpose h2 span{ margin-bottom: 0.5em;}
.company #company_purpose h2 strong{ font-size: 2.4rem; line-height: 1.5em;}
.company #company_purpose h3{ font-size: 1.2rem; text-align: justify; margin-bottom: 8vw;}
}
.company #company_ins_img{ background: url("../images/company/ins_img01.jpg") center center no-repeat; background-size: cover; height: 420px; margin-bottom: 60px;}
.company #company_ins_img img{ display: none;}
@media screen and (max-width:767px){
.company #company_ins_img{ background: none; height: auto;}
.company #company_ins_img img{ display: block;}
}
.company #company_about dl{ display: flex; align-items: center; width: 100%; margin-bottom: 90px;}
.company #company_about dl:last-child{ margin-bottom: 0;}
.company #company_about dl dt{ width: 50%; padding: 0 30px 0 0;}
.company #company_about dl dd{ width: 50%; padding: 0 0 0 30px;}
.company #company_about dl dd img{ width: calc(100% + 120px); max-width: calc(100% + 120px);}
.company #company_about dl.even{ flex-direction: row-reverse;}
.company #company_about dl.even dt{ padding: 0 0 0 30px;}
.company #company_about dl.even dd{ padding: 0 30px 0 0;}
.company #company_about dl.even dd img{ margin-left: -120px;}
.company #company_about h3{ font-size: 1.2rem; margin-bottom: 40px;}
.company #company_about p{ font-size: 0.8rem; letter-spacing: 0.04em;}
@media screen and (max-width:767px){
.company #company_about h3{ margin-bottom: 4vw;}
.company #company_about dl{ display: block; margin-bottom: 12vw;}
.company #company_about dl dt{ width: 100%; padding: 0; margin-bottom: 5vw;}
.company #company_about dl dd{ width: 100%; padding: 0;}
.company #company_about dl dd img{ width: calc(100% + 6vw); max-width: calc(100% + 6vw);}
.company #company_about dl.even dt{ padding: 0;}
.company #company_about dl.even dd{ padding: 0;}
.company #company_about dl.even dd img{ margin-left: -6vw;}
}

.company p.lead{ font-size: 0.8rem;}
.company .graph_list{ margin: 40px auto 0;}
.company .graph_list ul{ display: flex; flex-wrap: wrap; width: calc(100% + 20px); margin: -15px 0 -15px -10px;}
.company .graph_list ul li{ display: flex; align-items: center; justify-content: center; width: calc(50% - 20px); margin: 15px 10px; background: #F7F7F7; padding: 30px 20px;}
.company .graph_list ul li dl{ display: flex; align-items: center; justify-content: space-between;}
.company .graph_list ul li dl dt{ width: 160px; margin-right: 40px;}
.company .graph_list ul li dl dd h4{ font-size: 1.2rem; line-height: 1em; font-weight: normal; font-family: 'Zen Old Mincho', serif;}
.company .graph_list ul li dl dd h5{ color: #115DA6; margin: 10px auto;}
.company .graph_list ul li dl dd h5 strong{ font-size: 4.2rem; line-height: 1em; font-family: 'Zen Old Mincho', serif;}
.company .graph_list ul li dl dd h5 span{ font-size: 1.6rem; line-height: 1em; font-weight: normal; margin-left: 0;}
.company .graph_list ul li dl dd p{ font-size: 1rem; line-height: 1.5em;}
@media screen and (max-width:767px){
.company .graph_list{ margin: 0 auto;}
.company .graph_list ul{ display: block; width: 100%; margin: 0;}
.company .graph_list ul li{ display: block; width: 100% !important; margin: 4vw 0; padding: 7.5% 7.5%;}
.company .graph_list ul li dl dt{ width: 33.33%; margin-right: 6.66%}
.company .graph_list ul li dl dd{ width: 60%;}
.company .graph_list ul li dl dd h4{ font-size: 1rem;}
.company .graph_list ul li dl dd h5{ margin: 3.75% auto;}
.company .graph_list ul li dl dd h5 strong{ font-size: 2.6rem;}
.company .graph_list ul li dl dd h5 span{ font-size: 1.4rem;}
.company .graph_list ul li dl dd p{ font-size: 0.8rem;}
}

.company .graph_list ul li.graph_list01{ width: calc(45% - 20px);}
.company .graph_list ul li.graph_list02{ width: calc(55% - 20px);}
.company .graph_list ul li.graph_list02 dl dt{ width: 210px; margin-right: 40px;}
.company .graph_list ul li.graph_list03{ width: calc(55% - 20px);}
.company .graph_list ul li.graph_list04{ width: calc(45% - 20px);}
.company .graph_list ul li.graph_list05{ width: calc(55% - 20px);}
.company .graph_list ul li.graph_list06{ width: calc(45% - 20px);}
.company .graph_list ul li.graph_list07{ width: calc(45% - 20px);}
.company .graph_list ul li.graph_list08{ width: calc(55% - 20px);}
@media screen and (max-width:767px){
.company .graph_list ul li.graph_list02 dl dt{ width: 45%; margin-right: 5%;}
.company .graph_list ul li.graph_list02 dl dd{ width: 50%;}
}

/*
.company #company_graph01 ul,
.company #company_graph02 ul{ width: calc(100% + 20px); margin: 25px 0 -15px -10px; display: flex; flex-wrap: wrap;}
.company #company_graph01 ul li,
.company #company_graph02 ul li{ margin: 15px 10px;}
@media screen and (max-width:767px){
.company #company_graph01 ul,
.company #company_graph02 ul{ width: 100%; margin: 0; display: block;}
.company #company_graph01 ul li,
.company #company_graph02 ul li{ width: 100%; margin: 4vw 0;}
}
*/

/*back*/
.company #company_graph02 .btn{ width: 280px; margin-top: 40px;}
.company #company_graph02 .btn a{ display: flex; width: 100%; height: 42px; border-bottom: 1px solid #000; font-size: 0.9rem; position: relative; transition: 0.3s;}
.company #company_graph02 .btn a svg{ fill: #000; width: 24px; position: absolute; right: 10px; top: 0.5em; transition: 0.3s;}
.company #company_graph02 .btn a:hover{ opacity: 0.7;}
.company #company_graph02 .btn a:hover svg{ right: 0;}
@media screen and (max-width:767px){
.company #company_graph02 .btn{ width: 60vw; margin-top: 5vw;}
.company #company_graph02 .btn a{ font-size: 1rem; height: 10vw;}
.company #company_graph02 .btn a svg{ width: 5vw; right: 2.5vw;}
.company #company_graph02 .btn a:hover svg{ right: 2.5vw;}
}

.company table.company_table{ margin: 40px auto; width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid #808080; font-size: 0.8rem; line-height: 2em;}
.company table.company_table th{ width: 220px; padding: 20px; background: #F7F7F7; border: 1px solid #D3D3D3; border-bottom: none; border-left: none; border-right: none;}
.company table.company_table td{ width: calc(100% - 220px); padding: 20px 30px; background: #FFF; border: 1px solid #D3D3D3; border-bottom: none; border-left: none; border-right: none;}
.company table.company_table tr:first-child th,
.company table.company_table tr:first-child td{ border-top: none;}
.company table.company_table a{ text-decoration: underline;}
.company table.company_table a:hover{ text-decoration: none;}
@media screen and (max-width:767px){
.company table.company_table{ margin: 10vw auto; font-size: 0.8rem; line-height: 2em;}
.company table.company_table th{ display: block; width: 100%; padding: 4vw;}
.company table.company_table td{ display: block; width: 100%; padding: 4vw;}
.company table.company_table tr:first-child td{ border-top: 1px solid #D3D3D3;}
}
.company #company_graph03 h2{ font-size: 2rem;}
.company #company_graph03 .col2{ width: calc(100% + 40px); margin: 0 0 0 -20px; display: flex;}
.company #company_graph03 .col2 .col2_box{ width: calc(50% - 40px); margin: 0 20px;}
.company #company_graph03 th{ width: 370px;}
.company #company_graph03 td{ width: calc(100% - 370px); text-align: center;}
@media screen and (max-width:767px){
.company #company_graph03 .col2{ width: 100%; margin: 0; display: block;}
.company #company_graph03 .col2 .col2_box{ width: 100%; margin: 10vw 0 0;}
.company #company_graph03 th{ display: table-cell; width: 80%; padding: 4vw 0 4vw 4vw;}
.company #company_graph03 td{ display: table-cell; width: 20%; padding: 4vw;}
.company table.company_table tr:first-child td{ border-top: none;}
}
.company #company_graph04 h2{ font-size: 2rem;}
.company #company_graph04 td dl{ display: flex;}
.company #company_graph04 td dl dt{ display: flex; align-items: center; width: 50%; padding-right: 30px;}
.company #company_graph04 td dl dd{ display: flex; align-items: center; width: 50%; padding-left: 30px; border-left: 1px solid #D3D3D3;}
@media screen and (max-width:767px){
.company #company_graph04 td dl dt{ padding-right: 0;}
.company #company_graph04 td dl dd{ padding-left: 6vw;}
}
.company #company_graph05 h2{ font-size: 2rem;}
.company #company_graph05 p.center{ font-size: 0.8rem;}
.company #company_graph05 table{ margin-bottom: 20px;}
.company #company_graph05 p.att{ text-align: right; font-size: 0.8rem;}
@media screen and (max-width:767px){
.company #company_graph05 table{ margin-bottom: 4vw;}
}



/*benefit*/
.benefit #mv2{ background: url("../images/benefit/mv.jpg") center center no-repeat; background-size: cover;}
@media screen and (max-width:767px){
.benefit #mv2{ background: none;}
}
.benefit #benefit_lead p{ text-align: center;}
.benefit dl.list{ display: flex; align-items: center; justify-content: center;}
.benefit dl.list dt{ width: 520px; margin-right: 30px;}
.benefit dl.list dd{ width: 510px; margin-left: 40px;}
.benefit dl.list dd img{ width: 640px; max-width: 640px;}
.benefit dl.list.even{ flex-direction: row-reverse;}
.benefit dl.list.even dt{ margin: 0 0 0 30px;}
.benefit dl.list.even dd{ margin: 0 40px 0 0;}
.benefit dl.list.even dd img{ margin-left: -130px;}
.benefit dl.list dt h2{ text-align: left; margin-bottom: 60px;}
.benefit dl.list dt h3{ font-size: 1.2rem; line-height: 1.33em; margin: 60px auto 30px;}
.benefit dl.list dt h3:first-child{ margin-top: 0;}
.benefit dl.list dt h4{ font-size: 0.8rem; margin-bottom: 0;}
.benefit dl.list dt p{ font-size: 0.8rem; margin-bottom: 20px;}
.benefit dl.list dt p:last-child{ margin-bottom: 0;}
.benefit dl.list dt ul.att{ font-size: 0.7rem;}
.benefit dl.list dt ul.att li{ padding-left: 1.25em; margin-bottom: 0.5em; line-height: 1.66em; position: relative;}
.benefit dl.list dt ul.att li:before{ content: "※"; position: absolute; left: 0; top: 0;}
@media screen and (max-width:767px){
.benefit #benefit_lead p{ text-align: justify;}
.benefit dl.list{ display: block;}
.benefit dl.list dt{ width: 100%; margin: 0 auto 4vw;}
.benefit dl.list dd{ width: 100%; margin: 0;}
.benefit dl.list dd img{ width: calc(100% + 8vw); max-width: calc(100% + 8vw);}
.benefit dl.list.even dt{ margin: 0 auto 4vw;}
.benefit dl.list.even dd{ margin: 0;}
.benefit dl.list.even dd img{ margin-left: -8vw;}
.benefit dl.list dt h2{ margin-bottom: 7.5vw;}
.benefit dl.list dt h3{ margin: 7.5vw auto 3.75vw;}
.benefit dl.list dt p{ margin-bottom: 1em;}
}

.benefit #benefit05 p{ text-align: center; font-size: 0.8rem;}
.benefit #benefit05 table{ margin: 40px auto; width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid #808080; font-size: 0.8rem; line-height: 2em;}
.benefit #benefit05 table th{ padding: 20px; background: #F7F7F7; border: 1px solid #D3D3D3; border-top: none; border-bottom: none; border-right: none;}
.benefit #benefit05 table td{ padding: 20px; background: #FFF; border: 1px solid #D3D3D3; border-bottom: none; border-right: none;}
.benefit #benefit05 table th:nth-child(1){ width: 310px;}
.benefit #benefit05 table th:nth-child(2){ width: 430px;}
.benefit #benefit05 table th:nth-child(3){ width: 360px;}
.benefit #benefit05 table tr th:first-child,
.benefit #benefit05 table tr td:first-child{ border-left: none; font-weight: bold;}
@media screen and (max-width:767px){
.benefit #benefit05 .smp_scroll{ overflow-x: scroll; overflow-y: hidden; margin: 7.5vw auto;}
.benefit #benefit05 table{ width: 250%; margin: 0 auto; font-size: 0.8rem; line-height: 2em;}
.benefit #benefit05 table th{ padding: 4vw;}
.benefit #benefit05 table td{ padding: 4vw;}
.benefit #benefit05 table th:nth-child(1),
.benefit #benefit05 table th:nth-child(2),
.benefit #benefit05 table th:nth-child(3){ width: 33.33%;}
}



/*entry*/
.entry #mv2{ background: url("../images/entry/mv.jpg") center center no-repeat; background-size: cover;}
@media screen and (max-width:767px){
.entry #mv2{ background: none;}
}
.entry .entry_sec table{ margin: 40px auto; width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid #808080; font-size: 0.8rem; line-height: 2em;}
.entry .entry_sec table th{ vertical-align: top; width: 220px; padding: 20px; background: #F7F7F7; border: 1px solid #D3D3D3; border-bottom: none; border-left: none;}
.entry .entry_sec table td{ width: calc(100% - 220px); padding: 20px 30px; background: #FFF; border: 1px solid #D3D3D3; border-bottom: none; border-left: none; border-right: none;}
.entry .entry_sec table tr:first-child th,
.entry .entry_sec table tr:first-child td{ border-top: none;}
.entry .entry_sec table dl{ display: flex; align-items: center;}
.entry .entry_sec table dl dt{ width: calc(100% - 180px); margin-right: 40px;}
.entry .entry_sec table dl dd{ width: 140px;}
.entry .entry_sec table dl dd ul li{ position: relative; padding-left: 3.5em;}
.entry .entry_sec table dl dd ul li span{ position: absolute; left: 0; top: 0;}
.entry .entry_sec table dl dd a{ display: flex; width: 100%; height: 42px; border-bottom: 1px solid #000; font-size: 0.8rem; position: relative; transition: 0.3s;}
.entry .entry_sec table dl dd a svg{ fill: #000; width: 24px; position: absolute; right: 10px; top: 0.75em; transition: 0.3s;}
.entry .entry_sec table dl dd a:hover{ opacity: 0.7;}
.entry .entry_sec table dl dd a:hover svg{ right: 0;}
@media screen and (max-width:767px){
.entry .entry_sec table{ margin: 10vw auto; font-size: 0.8rem; line-height: 2em;}
.entry .entry_sec table th{ display: block; width: 100%; padding: 4vw;}
.entry .entry_sec table td{ display: block; width: 100%; padding: 4vw;}
.entry .entry_sec table tr:first-child td{ border-top: 1px solid #D3D3D3;}
.entry .entry_sec table dl{ display: block;;}
.entry .entry_sec table dl dt{ width: 100%; margin: 0 auto 4vw;}
.entry .entry_sec table dl dd{ width: 100%; padding-left: 45vw}
.entry .entry_sec table dl dd a{ font-size: 0.8rem; height: 7.5vw;}
.entry .entry_sec table dl dd a svg{ width: 6vw; height: 1.5vw; right: 2.5vw;}
.entry .entry_sec table dl dd a:hover svg{ right: 2.5vw;}
}
.entry .entry_sec .entry_btn{ width: 300px; margin: 60px auto 0;}
.entry .entry_sec .entry_btn a{ display: flex; align-items: center; width: 100%; height: 60px; padding: 0 20px; background: #393939; color: #fff; font-size: 0.9rem; position: relative; transition: 0.3s;}
.entry .entry_sec .entry_btn a svg{ fill: #fff; width: 16px; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
.entry .entry_sec .entry_btn a:hover{ opacity: 0.7;}
.entry .entry_sec .entry_btn a:hover svg{ right: 10px;}
@media screen and (max-width:767px){
.entry .entry_sec .entry_btn{ width: 60vw; margin: 12.5vw auto 0;}
.entry .entry_sec .entry_btn a{ height: 12.5vw}
.entry .entry_sec .entry_btn a svg{ width: 4vw; height: 1vw; right: 4vw;}
.entry .entry_sec .entry_btn a:hover svg{ right: 4vw;}
}
.entry .entry_sec .submit_btn{ margin: 60px auto 0; display: flex; align-items: center; justify-content: center;}
.entry .entry_sec .submit_btn button{ display: flex; align-items: center; justify-content: center; margin: 0 20px; width: 300px; height: 60px; padding: 0 20px; background: #393939; color: #fff; font-size: 0.9rem; border: none; position: relative; cursor: pointer; transition: 0.3s;}
.entry .entry_sec .submit_btn button svg{ fill: #fff; width: 16px; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
.entry .entry_sec .submit_btn button:hover{ opacity: 0.7;}
.entry .entry_sec .submit_btn button:hover svg{ right: 10px;}
.entry .entry_sec .submit_btn button.reset{ background: #fff; border: 1px solid #000; color: #000;}
.entry .entry_sec .submit_btn button.reset svg{ fill: #000; right: auto; left: 20px; transform: translateY(-50%) rotateY(180deg);} 
.entry .entry_sec .submit_btn button.reset:hover svg{ left: 10px;}
@media screen and (max-width:767px){
.entry .entry_sec .submit_btn{ margin: 10vw auto 0; justify-content: space-between;}
.entry .entry_sec .submit_btn button{ margin: 0 auto; width: 39.5vw; height: 12.5vw; padding: 0 4vw;}
.entry .entry_sec .submit_btn button svg{ width: 4vw; height: 1vw; right: 4vw;}
.entry .entry_sec .submit_btn button:hover svg{ right: 4vw;}
.entry .entry_sec .submit_btn button.reset svg{ left: 4vw;}
.entry .entry_sec .submit_btn button.reset:hover svg{ left: 4vw;}
}

/*form_parts*/
.entry ::placeholder{ color: #aaa; line-height: 1.25em;}
.entry ::-ms-input-placeholder{ color: #aaa; line-height: 1.25em;}
.entry input[type=submit], .entry button{ -webkit-appearance: none; }
.entry input, .entry textarea, .entry select, .entry button{ width:100%; padding:0.75em 1em; font-size: 0.8rem; line-height: 1.25em; box-sizing: border-box; border: 1px solid #D6D6D6; background: #fff; outline: none;}
.entry textarea{ text-align: left; height: 10em; font-weight: normal;}
.entry input[type=radio],
.entry input[type=checkbox]{ width: auto; padding: 0; cursor: pointer;}
.entry input[type=file]{ width: auto; padding: 0; border: none; cursor: pointer;}
.entry label{ cursor: pointer;}
@media screen and (max-width:767px){
.entry input, .entry textarea, .entry select, .entry button{ font-size: 0.8rem;}
}

/*entry-form*/
.entry .entry_sec.form p{ text-align: center; font-size: 0.8rem;}
.entry .entry_sec.form p.error{ color: #c80000; text-align: left; font-size: 0.8rem;}
.entry .entry_sec.form table th{ width: 250px;}
.entry .entry_sec.form table td{ width: calc(100% - 250px);}
@media screen and (max-width:767px){
.entry .entry_sec.form table th{ width: 100%;}
.entry .entry_sec.form table td{ width: 100%;}
}
.entry .entry_sec.form form .birth ul{ display: flex; align-items: center;}
.entry .entry_sec.form form .birth ul li{ margin-right: 1em;}
.entry .entry_sec.form form .birth ul li.select{ background: #fff; border: 1px solid #000; margin-right: 0.25em;}
.entry .entry_sec.form form .birth ul li select{ background: none; border: none; box-shadow: none; cursor: pointer;}
.entry .entry_sec.form form .birth ul li:nth-child(1) select{ width: 6em;}
.entry .entry_sec.form form .birth ul li:nth-child(3) select,
.entry .entry_sec.form form .birth ul li:nth-child(5) select{ width: 4em;}
.entry .entry_sec.form form ul.radio{ display: flex;}
.entry .entry_sec.form form ul.radio li{ margin-right: 2em;}
.entry .entry_sec.form form ul.radio li input[type=radio]{ margin-right: 0.25em;}
.entry .entry_sec.form form .job-type ul.radio{ flex-direction: column;}
.entry .entry_sec.form .pv_check{ margin: 60px auto; text-align: center; font-size: 0.8rem;}
.entry .entry_sec.form .pv_check p{ margin-bottom: 1em; line-height: 1.5em;}
.entry .entry_sec.form .pv_check p.error{ text-align: center;}
.entry .entry_sec.form .pv_check label{ font-size: 0.9rem;}
.entry .entry_sec.form .pv_check input[type=checkbox]{ margin-right: 0.25em;}
@media screen and (max-width:767px){
.entry .entry_sec.form .pv_check{ margin: 12.5vw auto;}
}

/*entry-confirm*/
.entry .entry_sec.confirm p{ text-align: center; font-size: 0.8rem;}
.entry .entry_sec.confirm table th{ width: 250px;}
.entry .entry_sec.confirm table td{ width: calc(100% - 250px);}
@media screen and (max-width:767px){
.entry .entry_sec.confirm table th{ width: 100%;}
.entry .entry_sec.confirm table td{ width: 100%;}
}

/*entry-thanks*/
.entry .entry_sec.thanks p{ text-align: center; font-size: 0.8rem;}
@media screen and (max-width:767px){
}



/*topics*/
.topics #mv2{ background: url("../images/topics/mv.jpg") center center no-repeat; background-size: cover;}
@media screen and (max-width:767px){
.topics #mv2{ background: none;}
}

#topics{ margin: 60px auto 100px;}
#topics .topics_list a{ display: block; background: #fff; margin-bottom: 30px; transition: 0.3s;}
#topics .topics_list a dl{ border: 1px solid #707070; padding: 15px; display: flex; align-items: center;}
#topics .topics_list a dl dt{ width: 180px;}
#topics .topics_list a dl dd{ width: calc(100% - 180px); padding: 0 30px; position: relative;}
#topics .topics_list a dl dd span.date{ display: block; font-size: 0.9rem; margin-bottom: 0.25em;}
#topics .topics_list a dl dd p{ font-size: 1rem; line-height: 1.25em; margin: 0;}
#topics .topics_list a dl dd svg{ fill: #000; width: 24px; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
#topics .topics_list a:hover dl dd svg{ right: 0;}
#topics .topics_list a:hover{ background: #F7F7F7;}
@media screen and (max-width:767px){
#topics{ margin: 12.5vw auto 20vw;}
#topics .topics_list a{ margin-bottom: 3.75vw;}
#topics .topics_list a dl{ padding: 2.5vw;}
#topics .topics_list a dl dt{ width: 30%;}
#topics .topics_list a dl dd{ width: 70%; padding: 0 7.5vw 0 2.5vw;}
#topics .topics_list a dl dd span.date{ dfont-size: 0.7rem;}
#topics .topics_list a dl dd p{ font-size: 0.7rem; margin: 0;}
#topics .topics_list a dl dd svg{ content: ""; width: 5vw; right: -1.25vw;}
#topics .topics_list a:hover dl dd svg{ right: -1.25vw;}
}





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