@charset "utf-8";

/* common
-----------------------------------------------------*/
br.sp{
	display: inline;
}
br.pc{
	display: none;
}
br.sphide{
	display: none;
}
a.btn{
	height: 40px;
	line-height: 40px;
}
a.btn span.txt:before,
a.btn span.ico:before{
	display: none;
}
a.btn span.txt{
	height: 40px;
}
a.btn span.txt:before,
a.btn span.ico:before{
	height: 40px;
}
a.btn span.ico{
	width: 40px;
	height: 40px;
}
a.btn span.ico img{
	width: 8px;
}
span.ico_blank.large:after{
	width: 12px;
	height: 12px;
}
span.ico_blank:after{
	vertical-align: -1px;
}

/* header
-----------------------------------------------------*/
body{
	padding-top: 60px;
}
header{
	height: 60px;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	font-size: 1rem;
	z-index: 20;
}
header #logo{
	padding-left: 15px;
	display: block;
}
header #logo img{
	width: 160px;
	display: block;
	margin-bottom: 5px;
}
header nav#global{
	position: fixed;
	top: 60px;
	left: 0;
	width: 100%;
	height: calc(100% - 60px);
	background: #fff;
	overflow: scroll;
	padding-bottom: 30px;
}
header nav#global > ul{
	display: block;
	height: auto;
}
.menubtn{
	display: block;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 30;
	padding: 20px 12px 19px 12px;
	width: 60px;
	background: #050000;
}
.hamburger{
  display: inline-block;
  cursor: pointer;
	width: 36px;
}
.bar1, .bar2, .bar3 {
	display: block;
  width: 36px;
  height: 2px;
  background-color: #fff;
  transition: 0.4s;
}
.hamburger:hover .bar1,
.hamburger:hover .bar2,
.hamburger:hover .bar3{
	background-color: #8C8C8C;
}
.bar2{
	margin: 7px 0;
}
.active .bar1 {
  transform: rotate(-45deg) translate(-7px, 6px);
}
.active .bar2 {
  opacity: 0;
}
.active .bar3 {
  transform: rotate(45deg) translate(-6px, -6px);
}
header nav#global{
	opacity: 0;
	visibility: hidden;
	transition: all 0.5s ease;
	pointer-events: none;
}
header nav#global.active{
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
header nav#global > ul > li > a,
header nav#global > ul > li > span{
	justify-content: space-between;
	font-size: 1.6rem;
	padding: 15px;
}
header nav#global > ul > li.haschild span.ico{
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-right: 28px;
	position: relative;
}
header nav#global > ul > li.haschild span.ico:before,
header nav#global > ul > li.haschild span.ico:after{
	content: "";
	display: block;
	width: 15px;
	height: 1px;
	background: #000;
	position: absolute;
	top: 7px;
	left: 0;
}
header nav#global > ul > li.haschild.entry span.ico:before,
header nav#global > ul > li.haschild.entry span.ico:after{
	background: #3cb3ad;
}

header nav#global > ul > li.haschild span.ico.disabled:before,
header nav#global > ul > li.haschild span.ico.disabled:after{
	background: #b2b2b2;
}
header nav#global > ul > li.haschild span.ico:after{
	transform: rotate(90deg);
	transition: all 0.2s linear;
}
header nav#global > ul > li.haschild a.active span.ico:after{
	transform: rotate(0deg);
}

header nav#global > ul > li.bg{
	background: none !important;
	width: auto;
}
header nav#global > ul > li.bg a{
	color: #3cb3ad;
	font-weight: 600;
}
header nav#global > ul > li.bg.entry{
	margin-left: 0;
}
header nav#global > ul > li.bg.mypage a{
	background: #fff;
}
header nav#global .megamenu{
	position: static;
	display: block;
	padding: 10px 15px 30px 15px;
	visibility: visible;
	opacity: 1;
	transition: none;
}
header nav#global .megamenu{
}
header nav#global .megamenu ul.imgnav{
	display: block;
}
header nav#global .megamenu ul.imgnav span.img{
	display: none;
}
header nav#global .megamenu ul.imgnav li{
	text-align: left;
}
header nav#global .megamenu ul.imgnav li + li{
	margin-left: 0;
}
header nav#global > ul > li.entry span.ico_blank:after{
	background-image: url("../img/ico_blank.svg");
}
header nav#global > ul > li.bg.entry .megamenu{
	background: #fff;
}
header nav#global > ul > li.bg.entry .megamenu a:hover{
	color: #3cb3ad;
}
header nav#global > ul > li.entry a:after{
	background-image: url("../img/ico_plus_green.svg");
}
header nav#global > ul > li.entry a.active:after{
	background-image: url("../img/ico_minus_green.svg");
}
header nav#global .megamenu dl{
	margin-left: 0;
}
header nav#global .megamenu ul.imgnav,
header nav#global .megamenu dl{
}
header nav#global .megamenu ul.imgnav li:before,
header nav#global .megamenu dl dd:before,
header nav#global .megamenu ul.teamnav li:before,
header nav#global .megamenu ul.peoplenav li:before{
	content: '';
	display: inline-block;
	width: 12px;
	height: 1px;
	background: #000;
	margin-right: 5px;
	position: absolute;
	top: 7px;
	left: 13px;
}
header nav#global .entry .megamenu ul li:before{
	background: #3cb3ad;
}
header nav#global .megamenu ul.imgnav li,
header nav#global .megamenu dl dd,
header nav#global .megamenu ul.teamnav li,
header nav#global .megamenu ul.peoplenav li{
	font-size: 1.4rem;
	line-height: 1.5rem;
	position: relative;
	padding-left: 30px;
}
header nav#global .megamenu ul.imgnav li + li,
header nav#global .megamenu dl dd + dd,
header nav#global .megamenu ul.teamnav li + li,
header nav#global .megamenu ul.peoplenav li + li{
	margin-top: 1em;
}
header nav#global .megamenu dl dt{
	margin-top: 2em;
}
header nav#global .megamenu ul.teamnav{
	display: block;
}
header nav#global .megamenu ul.teamnav li{
	width: auto;
}
header nav#global .megamenu ul.teamnav li + li{
	margin-left: 0;
}
header nav#global .megamenu ul.teamnav li .label + p{
	text-align: left;
}
header nav#global .megamenu ul.teamnav li:nth-child(2) .label + p{
	margin-left: 0;
}
header nav#global .megamenu ul.teamnav li .imgtxt .text{
	padding-left: 0;
}
header nav#global .megamenu ul.teamnav li .imgtxt .img{
	display: none;
}
header nav#global .megamenu ul.teamnav li .label{
	display: none;
}
header nav#global .megamenu ul.teamnav li a,
header nav#global .megamenu ul.peoplenav li a{
	display: inline-block;
}
header nav#global .megamenu ul.teamnav li .imgtxt .text .jost{
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 400;
}
header nav#global .megamenu ul.teamnav li .imgtxt .text .jost + p{
	font-family: 'Noto Sans JP', "Yu GothicM", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif !important;
	font-weight: normal;
	font-weight: 500;
	font-size: 1.4rem;
	margin-top: 4px;
	margin-bottom: 4px;
}
header nav#global .megamenu ul.teamnav li .label + p{
	white-space: normal;
}
header nav#global .megamenu ul.teamnav li .label + p span{
	display: inline-block;
	margin-bottom: 4px;
}
header nav#global .megamenu ul.peoplenav{
	display: block;
}
header nav#global .megamenu ul.peoplenav li{
	text-align: left;
}
header nav#global .megamenu ul.peoplenav li .img{
	display: none;
}
header nav#global .megamenu ul.peoplenav li .jost{
	display: none;
}
header nav#global .megamenu ul.peoplenav li + li{
	margin-left: 0;
}
header nav#global .megamenu ul.peoplenav li .jost + p{
	display: flex;
	flex-direction: column-reverse;
	font-size: 1.4rem;
}
header nav#global .megamenu ul.peoplenav li .jost + p small{
	margin-top: 4px;
	margin-bottom: 0;
	font-size: 1.2rem;
	font-weight: 400;
}
header nav#global .megamenu ul.peoplenav li:before{
	top: 10px;
}
header #headersns{
  top: 13px;
  right: 76px;
}
header #headersns a + a{
	margin-left: 16px;
}
header #headersns img{
  width: 34px;
  height: auto;
}
/* footer
-----------------------------------------------------*/
#topcsr + footer{
	margin-top: 0;
}
footer{
	margin-top: 30px;
}
footer .copy{
	padding: 30px 0;
}
footer .copy p:first-child{
	font-size: 2.5rem;
}
footer .copy p:last-child{
	font-size: 1.2rem;
}
footer nav#row01{
	display: none;
}
footer #row02{
	margin-top: 0;
}
footer #row02 p.links{
	line-height: 1.5em;
	font-size: 1rem;
	max-width: 460px;
	margin: auto;
}
footer #row02 p.links a{
	margin-bottom: 1em;
}
footer #row02 .logo{
	margin: 30px 0 20px 0;
}
footer #row02 .logo img{
	width: 210px;
}
footer #row02 .copyright{
	font-size: 0.7rem;
}

/* top
-----------------------------------------------------*/
#topvisual{
	height: calc(100% - 60px);
	margin-top: 60px;
}
#topvisual #sliderpro .sp-slide .text img{
	width: 140px;
}
#topvisual #sliderpro .sp-slide.slide01 .text{
	right: auto;
	left: 40px;
	top: 42%;
}
#topvisual #sliderpro .sp-slide.slide02 .text{
	left: auto;
	right: 40px;
	top: 42%;
}
#topvisual #sliderpro .sp-slide.slide03 .text{
	right: auto;
	left: 40px;
	top: 42%;
}
#topvisual #sliderpro .sp-slide.slide04 .text{
	right: 40px;
	left: auto;
	top: 42%;
}
#topvisual .scrollbtn{
	bottom: 110px;
	right: -106px;
}
#toplead{
	padding: 60px 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
#toplead .jost{
	font-size: 13vw;
	text-align: left;
}
#toplead h1.mincho{
	text-align: left;
	line-height: 2em;
	font-size: 1.8rem;
	margin-top: 15px;
	margin-bottom: 30px;
}
.personlayout{
	padding: 50px 0;
}
.personlayout .inner{
	padding: 0;
}
.personlayout .inner .text{
	float: none;
	width: auto;
	padding: 0 20px;
	margin-bottom: 30px;
}
.personlayout .inner .img{
	float: none;
	width: auto;
}
#topbusiness.personlayout .inner .text h2{
	white-space: normal;
}
.personlayout .inner .text .jost{
	margin-top: 0;
	font-size: 4.3rem;
}
.personlayout .inner .text h2{
	font-size: 1.8rem;
	line-height: 1.5em;
}
.personlayout .inner .text h2 + p{
	font-size: 1.2rem;
	line-height: 1.75em;
}
.personlayout .inner .text h2 + p small{
	font-size: 1rem;
}
.personlayout .inner .text h2 + p.name{
	font-size: 1.8rem;
	line-height: 1.25em;
}
.personlayout .bg{
	width: 100%;
}
.personlayout .bg:after{
	transform: rotate(-350deg);
	right: -460px;
}
.personlayout .inner .links{
	float: none;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.personlayout .inner .btn{
	margin-top: 30px;
}
.personlayout .links .btnbox + .btnbox{
	margin-top: 25px;
}
#topteam{
	margin: 60px 0;
	background-size: auto 50%;
	background-position: top 19px center;
}
#topteam .row{
	margin-top: 30px;
}
#topteam .text{
	padding: 0 20px;
}
#topteam > .text h2.jost{
	font-size: 4.2rem;
}
#topteam > .text p.mincho{
	font-size: 1.8rem;
	line-height: 1.75em;
}
#topteam > .text p.mincho + p{
	font-size: 1.2rem;
	line-height: 1.75em;
}
#topteam .sliderwrap,
#topteam.teamnav .sliderwrap{
	padding: 0 40px;
}
#topteam .row .col{
	padding: 0;
}
p.label{
	font-size: 1.4rem;
}
p.label span:first-child{
	font-size: 2.5rem;
	width: 32px;
}
p.label span.en{
	display: inline-block;
	font-size: 0.9rem;
}
#topteam .row .col p.vol{
	font-size: 1.6rem;
	margin: 1.2em 0 0.8em 0;
}
#topteam .row .col h2{
	font-size: 1.9rem;
}
#topteam .row .col h2 + p,
#topteam .row .col h2 + p + p,
#topteam .row .col .setheight p{
	font-size: 1.2rem;
}
#topteam.teamnav .setheight{
	height: auto;
}
#topteam .row .col a:hover .img img{
	transform: scale(1);
}
#topteam .sp-horizontal .sp-arrows{
	top: 30vw;
}
#topteam .sp-horizontal .sp-arrow{
	width: 40px;
	height: 40px;
}
#topteam .sp-horizontal .sp-arrow:before{
	border-left: 2px solid #3cb2ac;
	border-bottom:2px solid #3cb2ac;
	top: 15px;
	left: 17px;	
}
#topteam .sp-horizontal .sp-next-arrow{
	right: -20px;
}
#topteam .sp-horizontal .sp-previous-arrow{
	left: -20px;
}
#topinterview{
	margin-top: 100px;
	padding: 0;
	padding-top: 1px;
	padding-bottom: 30px;
}
#topinterview > h2{
	font-size: 4rem;
	margin-top: -1.1em;
	padding: 0 20px;
}
#topinterview > h2 .textbox{
	width: 3em;
}
#topinterview > h2 + p{
	padding: 0 20px;
	font-size: 1.2rem;
	line-height: 1.75em;
}
#topinterview .col{
	padding: 0;
}
#topinterview .col .img p{
}
#topinterview .col .jost{
}
#topinterview .col .img .hover img{
	transform: scale(1);
	transition: all 0.5s ease !important;
}
#topinterview .col .img{
	padding-top: 7vw;
}
#topinterview .col.sp-selected .img .hover img{
	transform: scale(1.2);
}
#topinterview .col .img p small{
	font-size: 1rem;
}
#topinterview .col .img p{
	font-size: 1.8rem;
	bottom: 0;
}
#topinterview .col.interview02 .img p{
	right: -18px;
}
#topinterview .col.interview03 .img p{
	right: 0;
}
#topinterview .col .img{
	padding-bottom: 15px;
	margin-bottom: 15px;
}
#topinterview .col a:hover .img .hover img:nth-child(1){
	opacity: 1;
}
#topinterview .col a:hover .img .hover img:nth-child(2){
	opacity: 0;
}


#topinterview .col .jost{
	font-size: 3rem;
	opacity: 0;
	transition: opacity 0.3s ease;
}
#topinterview .col .jost img{
	margin: 5px 0 0 0;
}
#topinterview .col .img p,
#topinterview .col .jost,
#topinterview .col .jost img{
	opacity: 0;
	transition: opacity 0.3s ease;
}
#topinterview .col.sp-selected .img p,
#topinterview .col.sp-selected .jost,
#topinterview .col.sp-selected .jost img{
	opacity: 1;
}
#topinterview .sp-horizontal .sp-arrows{
	top: 22vw;
}
#topinterview .sp-horizontal .sp-arrow{
	width: 36px;
	height: 36px;
	background: #3cb2ac;
}
#topinterview .sp-horizontal .sp-arrow:before{
	border-left: 2px solid #fff;
	border-bottom:2px solid #fff;
	top: 13px;
	left: 15px;	
}
#topinterview .sp-horizontal .sp-next-arrow{
	right: 12vw;
}
#topinterview .sp-horizontal .sp-previous-arrow{
	left: 12vw;
}
#topinterview p.bg{
	align-items: flex-start;
	padding-top: 32vw;
}
.personlayout.reverse .inner .text{
	float: none;
	padding: 0 20px;
	text-align: right;
}
.personlayout.reverse .bg:after{
	left: -460px;
	transform: rotate(-10deg);
}
.personlayout.reverse .inner .img{
	float: none;
}
.personlayout.reverse .inner .btn{
	margin-left: 0;
}
#topmessage{
	margin-top: 60px;
}
.sectionh3{
	padding: 50px 20px;
}
.sectionh3 h3{
	font-size: 3rem;
}
.sectionh3 h3 + p{
	font-size: 1.2rem;
	line-height: 1.75em;
}
section ul.imgnav{
	display: block;
}
section ul.imgnav li{
	width: 100%;
}
section ul.imgnav li + li{
	margin-left: 0;
	margin-top: 20px;
}
section ul.imgnav li a{
	display: flex;
	background: #f4f3f0;
	font-size: 1.3rem;
	align-items: center;
}
section ul.imgnav li a span.img{
	width: 50%;
	margin-bottom: 0;
}
section ul.imgnav li a:hover span.img img{
	transform: scale(1);
}
section ul.imgnav li a span.txt{
	width: 50%;
	padding: 0 10px;
	line-height: 1.5em;
}
#topentry{
	padding-left: 10px;
	padding-right: 10px;
}
ul.bnrnav{
	justify-content: center;
	gap: 25px 0;
}
ul.bnrnav li{
	width: 50%;
	padding: 0 10px;
	font-size: 0.9rem;
	line-height: 1.5em;
}
ul.bnrnav li:last-child{
	margin-top: 0;
	width: 100%;
}
ul.bnrnav li:last-child .btnbox{
	width: calc(50% - 20px);
	margin: auto;
}
#topentry .btn,
#topentry a.btn span.txt{
	height: 12.5vw;
	line-height: 12.5vw;
}
ul.bnrnav li:nth-child(2n) ~ li{
	margin-top: 0;
}
ul.bnrnav li .img{
	margin-bottom: 8px;
}
@media only screen and (max-width: 340px) {
	ul.bnrnav li{
		padding: 0 5px;
	}
	ul.bnrnav li:nth-child(2n) ~ li{
		margin-top: 10px;
	}
}
ul.textbnrnav{
	flex-wrap: wrap;
}
ul.textbnrnav li{
	width: 50%;
	padding: 0 10px;
}
ul.textbnrnav li a{
	padding: 0;
	font-size: 1rem;
	height: 12.5vw;
	line-height: 12.5vw;
}
ul.textbnrnav li + li{
	margin-left: 0;
}
ul.textbnrnav li:nth-child(2n) ~ li{
	margin-top: 20px;
}
@media only screen and (max-width: 340px) {
	ul.textbnrnav li{
		padding: 0 5px;
	}
	ul.textbnrnav li:nth-child(2n) ~ li{
		margin-top: 10px;
	}
}
#topcsr{
	padding: 30px 10px;
}
#topcsr h3{
	font-size: 1.5rem;
	margin-bottom: 30px;
}

/* message
-----------------------------------------------------*/
#message{
	padding: 40px 0 280px 0;
	background-image: url("../../img/message/bg_sp.jpg");
	background-size: 732px auto;
}
#message h1{
	margin-bottom: 60px;
}
#message h1 .jost{
	font-size: 2.3rem;
}
#message h1 .mincho{
	font-size: 1.3rem;
}
#message p.text{
	font-size: 1.6rem;
}
#message > .jost{
	font-size: 2.6rem;
}
#message > .jost + p{
	font-size: 1.8rem;
	line-height: 2em;
}
#message .logo img{
	width: 200px;
}
/* top message
-----------------------------------------------------*/
span.inlineblock{
	display: inline-block;
}
.person_title h1{
	top: calc(50% - 15px);
}
.person_title h1 .jost{
	font-size: 2.3rem;
}
.person_title h1 .mincho{
	font-size: 1.3rem;
	margin-top: 10px;
}
.content h2.center{
	font-size: 2.5rem;
}
.content h2.center + p{
	font-size: 2.2rem;
	margin-bottom: 50px;
}
#top_message .content > h2 + p .en{
	font-size: 1rem;
	display: inline-block;
	margin-top: 15px;
}
#top_message .content section{
	display: block;
	margin-top: 50px;
}
#top_message .content section .text{
	margin-left: 0;
}
#top_message .content section.reverse .text,
#top_message .content section .text{
	margin-right: 0;
	padding: 0;
}
#top_message .content section .text h3{
	font-size: 2.1rem;
	text-align: center;
	margin: 40px 0 20px 0;
}
#top_message .content section .text p{
	font-size: 1.5rem;
	line-height: 1.75em;
}
#top_message .content section .text p + p{
	margin-top: 2em;
}
#top_message .footerimg img{
	margin-top: 60px;
}
/* business
-----------------------------------------------------*/
article#business{
	margin-bottom: 50px;
}
.img_title h1 .jost{
	font-size: 2.8rem;
}
.img_title h1 .mincho{
	font-size: 1.3rem;
	margin-top: 10px;
}
.sectionA{
	padding:  0 20px;
}
.sectionA > p{
	font-size: 1.5rem;
	line-height: 1.75em;
}
.sectionA h2:first-child{
	margin-bottom: 30px;
}
.sectionA .img{
	margin: 30px auto;
}
.sectionA h3{
	font-size: 2.1rem;
	margin: 40px 0 20px 0;
}
#business .img02 img{
	width: 330px;
}
.sectionA h2.imgtitle{
	margin-left: -20px;
	margin-right: -20px;
}
.sectionA .img.graph01 h4{
	font-size: 1.7rem;
}
.graph01 p.note{
	position: static;
	margin-top: 10px;
}
.socialrow {
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 20px 0;
}
.socialrow .col{
	width: calc(50% - 10px);
}
.socialrow .col + .col{
	margin-left: 0;
}
.socialrow .col:nth-child(3){
	margin: 30px auto 0 auto;
}
.socialrow .col ul li{
	font-size: 1.2rem;
}
.socialrow .col p{
	text-align: left;
	margin-top: 5px;
	margin-bottom: 10px;
}
.socialrow .col p br{
	display: none;
}
/* recruit
-----------------------------------------------------*/
nav.pagelink a{
	font-size: 1.2rem;
}
nav.pagelink a:after{
  width: 14px;
  height: 7px;
}
p.title_s{
	display: none;
}
#recruit .content h3{
	font-size: 2.2rem;
}
.sectionA hr{
	margin: 40px auto;
	height: 1px;
	width: 60px;
}
.sectionA.bg{
	padding: 60px 20px;
	margin-top: 60px;
}
#recruit .sectionA h3.lead{
	font-size: 1.4rem;
}
#recruit .sectionA h3.underline:after{
	margin: 20px auto 30px auto;
	height: 1px;
	width: 60px;
}
#recruit .sectionA.bg figure{
	padding: 30px 5px;
	margin: 45px 0;
}
#recruit .row{
	display: block;
	padding: 0;
}
#recruit .row .col + .col{
	margin-left: 0;
	margin-top: 40px;
}
#recruit .row .col h4{
	font-size: 2.1rem;
}
#recruit .row .col h4:after{
	width: 60px;
	margin: 20px auto;
}
#recruit .row .col p{
	line-height: 1.75em;
}
.sectionA + .sectionA{
	margin-top: 60px;
}
#recruit .wrap{
	padding: 0;
}
#recruit table th,
#recruit table td{
	font-size: 1.3rem;
	padding: 20px 10px;
}
#recruit table td strong{
	font-size: 1.4rem;
}
#recruit table td small{
	font-size: 1rem;
}
#recruit .wrap h4{
	font-size: 1.9rem;
	margin-top: 60px;
}
#recruit ol.step li{
	line-height: 45px;
	font-size: 1.5rem;
}
#recruit ol.step li span.num{
	width: 100px;
}
#recruit ol.step li:after{
	border-width: 10px;
	margin-left: -10px;
	bottom: -25px;
}
#recruit ol.step li + li{
	margin-top: 20px;
}
#recruit ol.step li:last-child span.text{
	border-left-width: 2px;
}
#recruit p.note{
	font-size: 1rem;
	margin-top: 1em;
}
#rla > h2 img{
	width: 240px;
	height: auto;
}
#rla .btnbox{
	margin-top: 50px;
}
#rlacontent{
	margin-top: 50px;
}
#recruit .content h3{
	margin-bottom: 30px;
}
#rlacontent .rlasec01{
	padding: 25px 20px 20px 20px;
}
#rlacontent h3 span.logo img{
	width: 26px;
	vertical-align: -7px;
	margin-right: 5px;
}
#rlacontent .rlasec02{
	padding: 25px 20px 40px 20px;
}
#rlacontent .magnifybtn{
	display: block;
	text-align: center;
	margin-top: 20px;
}
#rlacontent .magnifybtn a:before{
  content: "";
  display: inline-block;
  width: 15px;
  height: 18px;
  vertical-align: middle;
  background: url(../img/ico_magnify.svg) no-repeat;
  background-size: contain;
	margin-right: 5px;
}
#rlacontent .magnifybtn a{
	font-weight: 600;
	color: #3cb3ad;
	font-size: 1.4rem;
}
#rlacontent section + section{
	margin-top: 40px;
}
#rlacontent h4{
	font-size: 1.9rem;
}
#rlacontent h4 + p{
	font-size: 1.4rem;
}
#rlacontent h3{
	margin-bottom: 40px !important;
}
#rlacontent h3:after{
	background: #3cb3ad;
	width: 55px;
	height: 2px;
	margin-top: 20px;
}
#rlacontent hr{
	background: #3cb3ad;
	width: 55px;
	height: 2px;
	margin: 55px auto 35px auto;
}
#rla .btnbox a.btn,
#rla a.btn span.txt, #rla a.btn span.txt:before,
#rla a.btn span.ico:before{
	width: 160px;
	height: 50px;
	line-height: 50px;
}
#rla a.btn .plusico{
	top: 17px;
	right: 13px;
}
.plusico{
	width: 14px;
	height: 14px;
	top: 22px;
	right: 5px;
}
.plusico:before,
.plusico:after{
	width: 14px;
	top: 7px;
}
#rlacontent h4 + p + p{
	margin-top: 1.5em;
}
#rlacontent .sp{
	display: block;
}
#rlacontent .pc{
	display: none;
}
#rlacontent section picture img{
	opacity: 1 !important;
}

/* faq
-----------------------------------------------------*/
.bg_title{
	padding: 30px 0;
}
.bg_title h1 .jost{
	font-size: 3rem;
}
.bg_title h1 .jost small{
	font-size: 2.8rem;
}
.bg_title h1 .mincho{
	font-size: 1.3rem;
	margin-top: 10px;
}
#faq h2{
	font-size: 1.9rem;
	padding-bottom: 15px;
	margin-top: 50px;
}
#faq dl{
	padding: 5px 0;
}
#faq dl dt{
	font-size: 1.3rem;
	padding-right: 25px;
}
#faq dl dd{
	font-size: 1.3rem;
	padding-right: 25px;
}
#faq dl dt:before,
#faq dl dd:before{
	font-size: 1rem;
	width: 20px;
	height: 20px;
	line-height: 20px;
	margin-left: -38px;
	margin-right: 16px;
}
#faq dl dt,
#faq dl dd{
	padding: 10px 0 19px 0;
	padding-left: 40px;
	padding-right: 30px;
	line-height: 1.5em;
}
#faq dl dd{
	padding-top: 0;
}
#faq dl dt .ico{
	width: 14px;
	height: 14px;
	top: 22px;
	right: 5px;
}
#faq dl dt .ico:before,
#faq dl dt .ico:after{
	width: 14px;
	top: 7px;
}
/* team
-----------------------------------------------------*/
#team .content{
	top: -60px;
	margin-left: 20px;
	margin-right: 20px;
}
#team #lead{
	padding: 25px 20px 20px 20px;
}
#team #lead .label{
	margin: 0 10px;
}
#team #lead .jost{
	font-size: 1.8rem;
	margin: 25px 0 15px 0;
}
#team #lead h1{
	font-size: 2.5rem;
	line-height: 1.5em;
}
#lead h3{
	font-size: 1.2rem;
	margin-top: 1.5em;
}
#lead h3 + p{
	font-size: 1.6rem;
	line-height: 1.75em;
}
#lead h3.flex{
	display: block;
}
#lead h3.flex span + span{
	display: block;
	margin-left: 0;
	margin-top: 0.5em;
}
#lead ul.profile{
	gap: 25px 15px;
}
#lead ul.profile li{
	margin: 0 0;
}
#lead ul.profile li img{
	width: 86px;
}
#lead ul.profile li + li{
	margin-left: 0;
}
#lead ul.profile li.ml0{
	margin-left: 0;
}
#lead ul.profile li .img + p{
	font-size: 0.7rem;
	margin-top: 10px;
	line-height: 1.5em;
	letter-spacing: normal;
}
#lead ul.profile li h4{
	font-size: 1.5rem;
	margin-bottom: 10px;
}
#lead ul.profile li h4 + p{
	font-size: 0.7rem;
}
#lead ul.profile.twocol{
	width: 230px;
	margin-left: auto;
	margin-right: auto;
}
#lead ul.profile.twocol li img{
	width: 95px;
}
#bg{
	padding: 20px;
	margin-bottom: 75px;
}
#bg .inner{
	display: block;
}
#bg .inner .col + .col{
	margin-left: 0;
	margin-top: 20px;
}
#bg .inner .col h3{
	font-size: 1.8rem;
}
#bg .inner .col p{
	font-size: 1.3rem;
}
section.talkcontent{
	padding: 0;
	margin: 50px 0;
}
.talkcontent h2{
	font-size: 1.9rem;
	padding: 0 20px 0 50px;
	letter-spacing: normal;
}
.talkcontent h2:before{
	width: 20px;
	left: 20px;
	top: 18px;
}
.talkcontent .talk{
	padding: 0 20px;
	margin: 20px 0;
}
.talkcontent .talk .img{
	width: 50px;
	margin-right: 20px;
}
.talkcontent .talk p{
	line-height: 1.75em;
}
.talkcontent figure{
	margin-bottom: 25px;
}
#topteam.teamnav > .text h2.jost{
	margin-top: -20px;
}
#topteam.teamnav{
	margin-bottom: 0;
	background-color: #fff;
	padding-bottom: 0;
	margin-top: 80px;
}
#topteam.teamnav:after{
	height: 240px;
}
/* people
-----------------------------------------------------*/
#people .title{
	margin: 0 20px;
	margin-top: -50px;
	padding: 30px 0 50px 0;
}
#people .title .jost{
	font-size: 4.6rem;
	margin-bottom: 30px;
}
#people .title .jost img{
	height: 35px;
	margin-right: 0;
	margin-left: 10px;
}
#people .title .name{
	font-size: 2.2rem;
	margin: 15px 0 13px 0;
}
#people .title .name_en{
	font-size: 1rem;
	margin-bottom: 1.5em;
}
#people .title .date{
	font-size: 1.2rem;
}
#people .title .text{
	font-size: 1.5rem;
	line-height: 1.75em;
	text-align: left;
	margin-top: 2.5em;
}
#people .title .text br{
	display: none;
}
#people .bg{
	padding: 45px 0 70px 0;
}
#people .content section{
	display: block;
	margin-top: 50px;
}
#people .content section .text{
	margin-left: 0;
}
#people .content section.reverse .text,
#people .content section .text{
	margin-right: 0;
	padding: 0;
}
#people .content section .text h3{
	font-size: 2.1rem;
	text-align: center;
	margin: 40px 0 20px 0;
}
#people .content section .text p{
	font-size: 1.5rem;
	line-height: 1.75em;
}
#people .content section .text p + p{
	margin-top: 2em;
}
#people .footerimg img,
#people .footerimg.mt img{
	margin-top: 60px;
}
#topinterview.peoplenav > .jost{
	text-align: left;
}
#people #holiday .flex{
	display: block;
}
#people #holiday .flex figure{
	width: 100%;
	padding: 10px 5px 25px 5px;
	margin-bottom: 35px;
}
#people #holiday .flex.reverse figure{
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}
#people #holiday{
	margin: 40px 0 65px 0;
}
#people #holiday .flex h4{
	font-size: 2rem;
	text-align: center;
}
#people #holiday .flex h4:after{
	width: 190px;
	margin: 20px auto;
}
#people #holiday .flex p{
	font-size: 1.5rem;
	line-height: 1.75em;
}
#people #holiday .jost{
	font-size: 2.7rem;
	line-height: 1.5em;
}
#people #holiday .jost + p{
	font-size: 1.3rem;
	margin-bottom: 3em;
	margin-top: 1em;
}
#topinterview.peoplenav{
	margin-top: 110px;
}
#people .footerimg img, #people .footerimg.mt img{
	margin-top: 0;
}





