@charset "UTF-8";

body{
	-webkit-text-size-adjust: 100%;
	padding:0;
	margin: 0;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
	font-feature-settings: "palt" 1;
	-webkit-font-feature-settings: "palt" 1;
}

/* default */

div,dl,dt,dd,ul,ol,
li,h1,h2,h3,h4,h5,
h6,pre,code,form,fieldset,legend,
input,textarea,p,blockquote,
th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;word-break: break-all;font-size:inherit;width:100%;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q::before,q::after{content:'';}
abbr{border:0;font-variant:normal;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select{*font-size:100%;}
legend{color:#000;}
select,input,button,textarea{font:99%;}
pre,code,kbd,samp{font-family:monospace;*font-size:108%;line-height:100%;}
.aligncenter{text-align:center;}
img{vertical-align: bottom;line-height: 1;}

a img{transition: all .5s ease;}
a img:hover{opacity:0.7;}


/* common item ---------------------------------------*/

.clearfix::after,
.inner::after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.sp{display: none;}
.spbr{display: none;}

@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .foo { color: red } /* IE11 */
}

@media all and (-ms-high-contrast:none){
  .foo { color: green } /* IE10〜Edge */
}


/* header ---------------------------------------*/

header{
	position:relative;
}

.header-inner{
	margin:0 auto;
	position:relative;
}

.header-logo{
	display: block;
	background: url(../img/logo.png) center center no-repeat;
	background-size: 94px;
	width:94px;
	height:130px;
	text-indent: -999em;
	overflow: hidden;
	position: absolute;
	left:30px;
	top:25px;
	z-index: 2;
}


/* gnav ---------------------------------------*/

.gnav{
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	background: #23262B;
	z-index: 150;
	display: none;
	padding: 0 40px;
	box-sizing: border-box;
}

.gnav-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 60%;
	height: 100%;
	background-color: #fff;
	z-index: 1;
}

.gnav-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	max-width: 1160px;
	margin: 0 auto;
	width: 100%;
}

.gnav-list{
	width:calc(10vw + 580px);
	max-width: 62%;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	padding: 68px 0 48px;
	box-sizing: border-box;
}

.gnav-list-item{
	width: 31.7%;
	padding-right: 15px;
	box-sizing: border-box;
	margin-bottom: 17px;
}

.gnav-list-item:last-of-type{width: 68.3%;}
.gnav-list-item:nth-last-of-type(3){width: 68.3%;}

.gnav-list-item > a{display: block;}

.gnav-list-item > a{
	display: block;
	text-decoration: none;
	transition: 0.4s cubic-bezier(0.55, 0.085, 0.68, 0.53);
	padding: 15px 0 10px 0;
}

.gnav-list-item > a span{
	display: block;
	color:#23262B;
	text-decoration: none;
	font-size: 20px;
	line-height: 1.1;
}

.gnav-list-item > a small{
	display: inline-block;
	font-size: 12px;
	color: #23262B;
	line-height: 1.4;
	letter-spacing: 0.04em;
	padding: 0 15px;
	position: relative;
}

.gnav-list-item > a small::before {
	display: block;
	content: '';
	background: #23262B;
	width: 7px;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0,-50%);
}

.gnav-list-item > a small::after {
	display: block;
	content: '';
	background: #23262B;
	width: 7px;
	height: 1px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0,-50%);
}

.gnav-list-item > a:hover{opacity:0.7;}

.gnav-contact {
	position: relative;
	width:calc(580px - 10vw);
	max-width: 38%;
	z-index: 5;
}

.gnav-consultation-btn {
	text-align: right;
	margin-bottom: 7px;
}

.gnav-consultation-btn a {
	display: inline-block;
	background: #00ABB2;
	padding: 14px 10px;
	color: #FFF;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
	width: 90%;
	max-width: 314px;
	white-space: nowrap;
	line-height: 1.1;
	transition: all .3s ease;
}

.gnav-consultation-btn a:hover {
	background: #3BC8CE;
}

.gnav-consultation-btn a span {
	display: block;
	font-size: 16px;
	line-height: 1.1;
	margin-bottom: 2px;
}
.gnav-consultation-btn a small{
	display: inline-block;
	font-size: 11px;
}

.gnav-contact-btn {text-align: right;}

.gnav-contact-btn a {
	display: inline-block;
	background: #00ABB2;
	padding: 0 10px;
	background-color: #FFF;
	color: #23262B;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
	width: 90%;
	max-width: 314px;
	transition: all .3s ease;
}

.gnav-contact-btn a:hover {
	opacity: 0.9;
}

.gnav-contact-btn a span{
	display: block;
	height: 64px;
	line-height: 64px;
}

#openmenu{
	display:block;
	width:131px;
	height:140px;
	background: rgba(255,255,255,0.7);
	overflow: hidden;
	position:fixed;
	right:0px;
	top:0px;
	cursor: pointer;
	z-index: 200;
}

#openmenu.open {background: none;}

#openmenu span{
	content:'';
	display: block;
	width:37px;
	height:3px;
	background: #23262B;
	position: absolute;
	left:47px;
	transition: 0.4s all ease;
}

#openmenu span:nth-child(1){top:46px;}
#openmenu span:nth-child(2){top:54px;}
#openmenu span:nth-child(3){top:62px;}

#openmenu.open span {background: #6E727C;}

#openmenu.open span:nth-child(1){
	transform:rotate(30deg);
	width: 50px;
	top:54px;
	left:40px;
}

#openmenu.open span:nth-child(2){
	opacity:0;
	left:-55px;
}

#openmenu.open span:nth-child(3){
	transform:rotate(-30deg);
	width: 50px;
	top:54px;
	left:40px;
}

#openmenu p{
	position: absolute;
	left: 0;
	top: 78px;
	line-height:1.0;
	font-size:13px;
	text-align:center;
	width: 100%;
	color: #23262B;
}

#openmenu.open p {color: #6E727C;}

.menuopen{
	position: fixed;
	width: 100%;
	height: 100%;
}


/* title ---------------------------------------*/

.section-title {
	margin-bottom: 42px;
	color: #23262B;
}

.section-title span {
	display: block;
	font-size: 46px;
	line-height: 1.5;
	margin-bottom: 8px;
}

.section-title small{
	display: inline-block;
	padding: 0 20px;
	position: relative;
	font-size: 20px;
	line-height: 1;
	letter-spacing: 0.08em;
	margin-bottom: 10px;
}

.section-title small::before {
	display: inline-block;
	position: absolute;
	top: 58%;
	left: 0;
	transform: translate(0,-58%);
	content: '';
	width: 10px;
	height: 1px;
	background-color: #23262B;
}

.section-title small::after {
	display: inline-block;
	position: absolute;
	top: 58%;
	right: 0;
	transform: translate(0,-58%);
	content: '';
	width: 10px;
	height: 1px;
	background-color: #23262B;
}


/* text ---------------------------------------*/

.font-en {font-family: 'Playfair Display', serif;}
.font-serif {font-family: 'Noto Serif JP', serif;}


/* kv ---------------------------------------*/

.kv {
	position: relative;
	width: 100%;
	padding: 0 40px;
	box-sizing: border-box;
	margin: 0 auto;
	overflow: hidden;
}

.kv-inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1145px;
	padding: 286px 0 322px;
	margin: 0 auto;
	color: #FFF;
}

.kv-title {
	font-size: 61px;
	line-height: 1.5;
	margin-bottom: 38px;
}

.kv-text {
	position: relative;
	font-size: 18px;
	line-height: 1.95;
	letter-spacing: 0.16em;
	padding-top: 22px;
	padding-left: 35px;
}

.kv-text::before {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	height: 94%;
	border-left: 1px solid #FFF;
}

.kv-bg {
	position: absolute;
	top: 0;
	left: 0;
	height: 920px;
	padding-right: 20px;
}

.kv-bg img {height: 100%;}

.kv-image {
	position: absolute;
	width: 46.3%;
	top: 50%;
	left: calc(100% - 50px);
	transform: translate(-100%,-50%);
}

.kv-image img {width: 100%;}


/* whats ---------------------------------------*/

.whats {
	position: relative;
	padding: 0 40px;
	max-width: 1600px;
	margin: 0 auto;
	box-sizing: border-box;
	overflow: hidden;
}

.whats-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 53.5%;
	height: 87.55%;
	background-color: #A0948A;
}

.whats-logo {
	position: absolute;
	top: 60px;
	left: 56.2%;
	transform: translate(-50%,0);
	margin-left: 10%;
	max-width: 137px;
}

.whats-logo img {width: 100%;}

.whats-image {
	position: relative;
	float: right;
	width: 58%;
	margin-right: -40px;
	padding: 310px 0 0px;
}

.whats-image img{width: 100%;}

.whats-inner {
	position: relative;
	z-index: 2;
	max-width: 1145px;
	padding: 94px 0 196px;
	margin: 0 auto;
	color: #FFF;
}

.whats-box {max-width: 36%;}

.whats-title {color: #FFF;}
.whats-title small::before {background-color: #FFF;}
.whats-title small::after {background-color: #FFF;}

.whats-box-text {
	font-size: 14.5px;
	line-height: 2.5;
	letter-spacing: 0.04em;
}

.whats-box-text + .whats-box-text {margin-top: 36px;}


/* for ---------------------------------------*/

.for {padding:0 40px 98px;}

.for-inner {
	max-width: 1145px;
	margin: 0 auto;
}

.for-list {
	display: flex;
	justify-content: space-between;
}

.for-list-item {width: 20.5%;}

.for-list-item-icon {
	text-align: center;
	margin-bottom: 29px;
	height: 115px;
	position: relative;
}

.for-list-item-icon-inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.for-list-title {
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: 0.02em;
	color: #23262B;
	text-align: center;
	margin-bottom: 10px;
}

.for-list-text {
	font-size: 15px;
	line-height: 1.95;
	letter-spacing: 0.02em;
	color: #6E727C;
}


/* story ---------------------------------------*/

.story {
	position: relative;
	padding: 0 40px;
	max-width: 1600px;
	margin: 0 auto;
	box-sizing: border-box;
}


.story-title {
	color: #FFF;
	margin-bottom: 36px;
}

.story-title small::before {background-color: #FFF;}
.story-title small::after {background-color: #FFF;}

.story-bg {
	position: absolute;
	top: 0;
	right: 0;
	width: 70%;
	height: 100%;
	background-color: #A0948A;
}

.story-inner {
	position: relative;
	z-index: 2;
	max-width: 1145px;
	padding: 98px 0 92px;
	margin: 0 auto;
	color: #FFF;
}

.story-box {
	max-width: 50%;
	margin-left: auto;
	margin-right: 0;
}

.story-box-text {
	font-size: 14.5px;
	line-height: 2.5;
	letter-spacing: 0.1em;
}

.story-box-text + .story-box-text {margin-top: 36px;}

.story-image {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 43.1%;
}

.story-image img{width: 100%;}


/* who ---------------------------------------*/

.who {
	position: relative;
	padding: 95px 40px 40px;
	box-sizing: border-box;
	background: url(../img/bg_who.png) no-repeat center center;
	background-size: cover;
	height: 985px;
}

.who-inner {
	position: relative;
	max-width: 1145px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.who-box {width: 58%;}

.who-title {
	color: #FFF;
	margin-bottom: 41px;
}

.who-title small::before {background-color: #FFF;}
.who-title small::after {background-color: #FFF;}

.who-box-text {
	font-size: 14.5px;
	line-height: 2.5;
	letter-spacing: 0.11em;
	color: #FFF;
}

.who-box-text + .who-box-text {margin-top: 37px;}

.who-logo {
	width: 42%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
	padding-right: 60px;
	box-sizing: border-box;
}

.who-logo-inner {width: 60%;}
.who-logo-inner img {width: 100%;}


/* flow ---------------------------------------*/

.flow {padding: 98px 40px 100px;}

.flow-inner {
	max-width: 1145px;
	margin: 0 auto;
}

.flow-title {
	text-align: center;
	margin-bottom: 45px;
}

.flow-text-balloon {
	text-align: center;
	margin-bottom: 37px;
}

.flowcase {margin-bottom: 53px;}

.flowcase-list {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.flowcase-list-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 32%;
	margin-bottom: 41px;
}

.flowcase-list-item:nth-child(n+4) {margin-bottom: 0;}
.flowcase-list-image {width: 81px;}

.flowcase-list-detail {width: calc(100% - 100px);}

.flowcase-list-text {
	font-size: 15px;
	color: #23262B;
	line-height: 2;
	letter-spacing: 0.04em;
}

.flowexam-inner {
	max-width: 964px;
	margin: 0 auto;
}

.flowexam-block {
	position: relative;
	background-color: #F2F2F2;
	border-radius: 10px;
	padding: 29px 98px;
	margin-bottom: 20px;
}

.flowexam-block:first-of-type {
	margin-bottom: 86px;
	padding: 30px 70px 26px 105px;
}

.flowexam-block:nth-of-type(3) {padding: 50px 98px 21px;}

.flowexam-block:first-of-type::after {
	position: absolute;
	display: block;
	content: '';
	background: url('../img/icon_triangle_bottom.png') no-repeat center center; 
	background-size: 138px 25px;
	width: 138px;
	height: 25px;
	left: 50%;
	bottom: -55px;
	transform: translate(-50%,0);
}

.flowexam-block:last-of-type {margin-bottom: 0;}

.flowexam-block-person {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.flowexam-block-person-image {width: 78px;}
.flowexam-block-person-detail {width: calc(100% - 140px);}

.flowexam-block-person-title {
	font-size: 18px;
	color: #23262B;
	line-height: 1.4;
	letter-spacing: 0.02em;
	margin-bottom: 12px;
}

.flowexam-block-person-text {
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.06em;
	color: #6E727C;
}

.flowexam-text {
	text-align: center;
	font-size: 22px;
	color: #131313;
	line-height: 1.4;
	letter-spacing: 0.02em;
	margin-bottom: 20px;
	font-weight: bold;
}

.flowexam-block-title {
	color: #23262B;
	position: relative;
	padding-left: 35px;
	line-height: 1.5;
}

.flowexam-block-title.is-none {
	padding-left: 0;
}

.flowexam-block-title::before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0,-50%);
	display: block;
	text-align: center;
	content: '';
	vertical-align: middle;
	color: #FFF;
	font-family: 'Noto Serif JP', serif;
	font-size: 12px;
	margin-right: 10px;
	background-color: #23262B;
	width: 24px;
	height: 24px;
	line-height: 24px;
	border-radius: 12px;
}

.flowexam-block-title.is-1::before {content: '1';}
.flowexam-block-title.is-2::before {content: '2';}
.flowexam-block-title.is-3::before {content: '3';}
.flowexam-block-title.is-none::before {display: none;}

.flowexam-block-title span {
	display: inline-block;
	font-size: 18px;
	letter-spacing: 0.02em;
}

.flowexam-block-title small {
	display: inline-block;
	font-size: 15px;
	letter-spacing: 0.02em;
}

.flowexam-block-list {margin-top: 29px;}
.flowexam-block-list-item {margin-bottom: 25px;}

.flowexam-block-list-title {
	font-size: 16px;
	color: #23262B;
	line-height: 1.5;
	letter-spacing: 0.02em;
	margin-bottom: 11px;
}

.flowexam-block-list-text {
	font-size: 15px;
	color: #6E727C;
	line-height: 2;
	letter-spacing: 0.1em;
}


/* consultation ---------------------------------------*/

.consultation {
	background-color: #23262B;
	padding: 67px 40px;
	position: relative;
}

.consultation::before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,0);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 40px 39px 0 39px;
	border-color: #ffffff transparent transparent transparent;
}

.instance + .consultation::before {border-color: #F2F2F2 transparent transparent transparent;}

.consultation-inner {
	max-width: 1074px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.consultation-detail {
	width: calc(50% - 50px);
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.consultation-image {
	width: 54px;
	padding-right: 26px;
}

.consultation-text {
	width: calc(100% - 80px);
	color: #FFF;
	font-size: 20px;
	line-height: 2;
	letter-spacing: 0.02em;
}

.consultation-btn {width: calc(50% - 64px);}

.consultation-btn a {
	display: block;
	padding: 20px;
	text-decoration: none;
	background: #00ABB2;
	color: #FFF;
	text-align: center;
	transition: all .3s ease;
}

.consultation-btn a:hover {
	background: #3BC8CE;
}

.consultation-btn a span {
	display: block;
	font-size: 22px;
	line-height: 1.4;
	letter-spacing: 0.02em;
	margin-bottom: 8px;
}

.consultation-btn a small {
	display: block;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.02em;
}


/* instance ---------------------------------------*/

.instance {
	position: relative;
	padding: 100px 40px 37px;
}

.instance::before {
	display: block;
	background:#F2F2F2;
	content:'';
	width: 100%;
	height:calc(100% - 570px);
	position: absolute;
	left: 0;
	bottom: 0;
}

.instance-inner {
	position: relative;
	z-index: 2;
	max-width: 1160px;
	margin: 0 auto;
}

.instance-lead {
	text-align: center;
	font-size: 22px;
	line-height: 1.4;
	letter-spacing: 0.02em;
	margin-bottom: 25px;
	color: #131313;
}

.instance-text {
	text-align: center;
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.06em;
	color: #6E727C;
	margin-bottom: 58px;
}

.instance-panel {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 36px;
}

.instance-panel-item {
	width: 32.4%;
	position: relative;
	margin-bottom: 20px;
}

.instance-panel-image img{width: 100%;}

.instance-panel-detail {
	position: absolute;
	width: 100%;
	bottom: 0;
	left: 0;
	padding: 0 30px 0;
	box-sizing: border-box;
}

.instance-panel-textarea {
	height: 208px;
	margin-bottom: 15px;
}

.instance-panel-title {
	color: #fff;
	margin-bottom: 18px;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

.instance-panel-title span {
	display: block;
	font-size: 19px;
	margin-bottom: 6px;
}

.instance-panel-title small {
	display: block;
	font-size: 15px;
}

.instance-panel-text {
	color: #fff;
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

.instance-panel-changing-list {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	padding:0 0 29px;
}

.instance-panel-changing-list-item {
	color: #FFF;
	text-align: center;
	position: relative;
	line-height: 1.65;
}

.instance-panel-changing-list-item::after {
	display: block;
	content: '';
	background: url(../img/icon_arrow_right.png) no-repeat center center;
	width: 12px;
	height: 12px;
	background-size: 12px;
	position: absolute;
	right: -50%;
	top: 50%;
	transform: translate(50%,-50%);
}

.instance-panel-changing-list-item:last-of-type::after {display: none;}


/* skill ---------------------------------------*/

.skill {padding: 98px 40px 40px;}

.skill-inner {
	max-width: 1145px;
	margin: 0 auto;
}

.skill-title {text-align: center;}

.skill-list {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.skill-list-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	width: 44%;
	margin-bottom: 56px;
}

.skill-list-image {width: 110px;}

.skill-list-item:nth-of-type(1) .skill-list-image img {width: 90px}
.skill-list-item:nth-of-type(2) .skill-list-image img {width: 73px;}
.skill-list-item:nth-of-type(3) .skill-list-image img {width: 85px;}
.skill-list-item:nth-of-type(4) .skill-list-image img {width: 93px;}
.skill-list-item:nth-of-type(5) .skill-list-image img {width: 92px;}
.skill-list-item:nth-of-type(6) .skill-list-image img {width: 83px;}

.skill-list-detail {width: calc(100% - 115px);}

.skill-list-title {
	font-size: 16px;
	color: #23262B;
	line-height: 1.6;
	letter-spacing: 0.02em;
	margin-bottom: 10px;
}

.skill-list-text {
	font-size: 15px;
	color: #6E727C;
	line-height: 2;
	letter-spacing: 0.07em;
}


/* interview ---------------------------------------*/

.interview {
	padding: 98px 40px 100px;
	background: #F2F2F2;
}

.interview-inner {
	max-width: 1145px;
	margin: 0 auto;
}

.interview-title {text-align: center;}

.interview-text {
	text-align: center;
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.06em;
	color: #6E727C;
	margin-bottom: 122px;
}

.interview-block {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	background: #FFF;
	padding: 0 60px;
	margin-top: 100px;
	margin-bottom: 110px;
}

.interview-block:last-of-type {margin-bottom: 0;}

.interview-block-image-wrapper {
	width: 332px;
	margin-top: -66px;
	padding-bottom: 20px;
}

.interview-block:nth-of-type(even) .interview-block-image-wrapper {order: 1;}
.interview-block-image {margin-bottom: 13px;}
.interview-block-image img {width: 100%;}

.interview-block-image-caption {
	font-size: 15px;
	color: #6E727C;
	line-height: 2;
	letter-spacing: 0.04em;
	text-align: center;
}

.interview-block-detail {
	width: calc(100% - 382px);
	padding: 78px 0;
}

.interview-block-title {
	font-size: 18px;
	color: #23262B;
	line-height: 1.4;
	margin-bottom: 10px;
	letter-spacing: 0.04em;
}

.interview-block-text {
	font-size: 15px;
	color: #6E727C;
	line-height: 2;
	letter-spacing: 0.06em;
	margin-bottom: 28px;
}

.interview-block-text:last-of-type {margin-bottom: 0;}


/* outline ---------------------------------------*/

.outline {padding: 98px 40px 65px;}

.outline-inner {
	max-width: 964px;
	margin: 0 auto;
}

.outline-title {
	text-align: center;
	margin-bottom: 16px;
}

.outline-table {margin-bottom: 8px;}
.outline-table tr{border-bottom: 1px solid #EAEAEA;}
.outline-table tr:last-of-type {border-bottom: none;}

.outline-table th{
	width: 21%;
	color: #23262B;
	font-size: 16px;
	padding: 27px 0;
	box-sizing: border-box;
}

.outline-table td{
	width: 79%;
	font-size: 15px;
	color: #6E727C;
	line-height: 2;
	padding: 27px 0 27px 20px;
	box-sizing: border-box;
}

.outline-note {
	font-size: 13px;
	color: #6E727C;
	line-height: 2;
	letter-spacing: 0.06em;
}

.outline-note a {
	color: #00ABB2;
	text-decoration: underline;
}

.outline-note a:hover {text-decoration: none;}


/* contact ---------------------------------------*/

.contact {padding: 98px 40px 100px;}

.contact-inner {
	max-width: 964px;
	margin: 0 auto;
}

.contact-title {
	text-align: center;
	margin-bottom: 45px;
}

.contact-text {
	font-size: 22px;
	color: #131313;
	text-align: center;
	line-height: 1.4;
	letter-spacing: 0.04em;
	margin-bottom: 40px;
}

.contact-btn {
	text-align: center;
	margin-bottom: 86px;
}

.contact-btn a {
	display: inline-block;
	padding: 25px 60px;
	box-sizing: border-box;
	width: 60%;
	max-width: 376px;
	background-color: #23262B;
	color: #FFF;
	letter-spacing: 0.04em;
	line-height: 1.4;
	transition: all .3s ease;
	text-decoration: none;
	font-size: 18px;
}

.contact-btn a:hover {background-color: #565657;}

.contact-table-title {
	font-size: 22px;
	color: #131313;
	line-height: 1.4;
	letter-spacing: 0.02em;
	text-align: center;
}

.contact-table tr {border-bottom: 1px solid #EAEAEA;}

.contact-table th {
	font-size: 16px;
	color: #23262B;
	line-height: 2;
	letter-spacing: 0.02em;
	width: 17.5%;
	box-sizing: border-box;
	padding: 10px 0;
}

.contact-table td {
	font-size: 15px;
	color: #6E727C;
	line-height: 2;
	letter-spacing: 0.02em;
	width: 82.5%;
	box-sizing: border-box;
	padding: 28px 0 28px 30px;
}

.contact-table td a{color: #6E727C;}
.contact-table td a:hover {text-decoration: none;}


/* footer ---------------------------------------*/

footer{
	padding:58px 40px 10px;
	background-color: #202E4D;
}

.footer-inner{
	max-width:1160px;
	margin:0 auto;
	position:relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 56px;
}

.footer-logoarea {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	width: 312px;
}

.footer-logo {
	width: 125px;
	padding-right: 40px;
	border-right: 1px solid #FFF;
}

.footer-logo img {width: 100%;}

.footer-logoarea-copy {
	width: calc(100% - 167px);
	box-sizing: border-box;
	padding-left: 40px;
	color: #FFF;
	font-size: 11px;
	letter-spacing: 0.04em;
}

.footer-address {width: calc(100% - 408px);}

.footer-address-company {
	color: #FFF;
	line-height: 1.8;
	margin-bottom: 24px;
}

.footer-address-company small {
	display: block;
	font-size: 16px;
	margin-bottom: 2px;
}

.footer-address-company span {
	display: block;
	font-size: 18px;
}

.footer-address-detail {
	color: #FFF;
	font-size: 15px;
	line-height: 1.8;
	letter-spacing: 0.04em;
	margin-bottom: 2px;
}

.footer-address-detail span {
	display: inline-block;
	padding-right: 1em;
}

.footer-address-detail span:last-of-type {padding-right: 0;}

.footer-address-webpage a{
	color: #FFF;
	font-size: 15px;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

.footer-address-webpage a:hover{text-decoration: none;}

.copyright {
	text-align: center;
	color: #FFF;
}

.copyright small{font-size: 11px;}


/* pc */
@media screen and (min-width: 769px){
	.sp{display: none !important;}
	.spbr{display: none;}
}


@media screen and (max-width: 1240px){

	.kv-image {
		width: 40%;
		top: auto;
		left: 100%;
		bottom: 0;
		transform: translate(-100%,0);
	}

	.who-box {width: 70%;}
	.who-logo {width: 30%;}

}

@media screen and (min-width: 769px) and (max-width: 1100px){

	.gnav-list-item {width: 50%;}
	.gnav-list-item:nth-last-of-type(3) {width: 50%;}
	.gnav-list-item:last-of-type {width: 50%;}

	.gnav-list-item:nth-of-type(1) {order: 0;}
	.gnav-list-item:nth-of-type(2) {order: 8;}
	.gnav-list-item:nth-of-type(3) {order: 7;}
	.gnav-list-item:nth-of-type(4) {order: 2;}
	.gnav-list-item:nth-of-type(5) {order: 1;}
	.gnav-list-item:nth-of-type(6) {order: 9;}
	.gnav-list-item:nth-of-type(7) {order: 4;}
	.gnav-list-item:nth-of-type(8) {order: 3;}
	.gnav-list-item:nth-of-type(9) {order: 6;}
	.gnav-list-item:nth-of-type(10) {order: 5;}

}

@media screen and (max-width: 1080px){

	.instance-panel-item {
		width: 49.2%;
		position: relative;
		margin-bottom: 15px;
	}

	.who-inner {display: block;}
	.who-box {width: 100%;}
	.who-box-text + .who-box-text {margin-top: 25px;}

	.who-logo {
		width: 100%;
		padding-right: 0;
	}

	.who-logo-inner {
		margin: 20px auto 0;
		width: 22%;
	}

	.interview-block-image-wrapper {width: 250px;}
	.interview-block-detail {width: calc(100% - 300px);}

}

@media screen and (max-width: 860px){

	.instance-panel-textarea {height: 220px;}
	.interview-block-image-wrapper {width: 180px;}
	.interview-block-detail {width: calc(100% - 220px);}

}


@media screen and (max-width: 768px){

	/* default */
	img{max-width:100%;}
	a img{opacity:1;}
	*{box-sizing:border-box;}

	/* common item */
	.pc{display: none !important;}
	.pcbr{display: none;}
	.sp {display: block;}
	.spbr {display: inline;}


	/* header ---------------------------------------*/

	.header-logo {
		background-size: 75px;
		width: 75px;
		height: 104px;
	}


	/* gnav ---------------------------------------*/

	.gnav {
		height: 100%;
		background-color: #fff;
		padding: 70px 0 0;
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
	}

	.gnav-bg {display: none;}
	.gnav-inner {display: block;}

	.gnav-list {
		width: 100%;
		background-color: #fff;
		max-width: 100%;
		display: block;
		padding: 0 0 18px;
	}

	.gnav-list-item {
		width: 100%;
		padding-right: 0;
		text-align: center;
	}

	.gnav-list-item:last-of-type {width: 100%;}
	.gnav-list-item:nth-last-of-type(3) {width: 100%;}

	.gnav-list-item > a {
		padding: 5px 0;
		line-height: 1.1;
	}

	.gnav-list-item > a span {
		font-size: 18px;
		line-height: 1.1;
	}

	.gnav-list-item > a small {
		font-size: 10px;
		line-height: 1.1;
	}

	.gnav-list-item > a small::before {width: 6px;}
	.gnav-list-item > a small::after {width: 6px;}

	.gnav-contact {
		width: 100%;
		background: #23262B;
		max-width: 100%;
		padding: 40px 30px;
	}

	.gnav-consultation-btn {
		text-align: center;
		margin-bottom: 10px;
	}

	.gnav-consultation-btn a {
		padding: 16px 40px;
		width: 100%;
		line-height: 1.1;
	}

	.gnav-consultation-btn a span {font-size: 14px;}
	.gnav-consultation-btn a small {font-size: 8px;}
	.gnav-contact-btn {text-align: center;}

	.gnav-contact-btn a {
		padding: 0 10px;
		line-height: 66px;
		width: 100%;
		line-height: 1.1;
	}

	.gnav-contact-btn a span {font-size: 14px;}

	#openmenu {
		width: 60px;
		height: 70px;
	}

	#openmenu span {
		width: 26px;
		left: 17px;
	}

	#openmenu span:nth-child(1) {top: 22px;}
	#openmenu span:nth-child(2) {top: 28px;}
	#openmenu span:nth-child(3) {top: 34px;}

	#openmenu.open span:nth-child(1) {
		width: 29.5px;
		top: 28px;
		left: 15px;
	}

	#openmenu.open span:nth-child(3) {
		width: 29.5px;
		top: 28px;
		left: 15px;
	}

	#openmenu p {
		top: 44px;
		font-size: 9px;
	}

	#openmenu.open p {color: #23262B;}


	/* title ---------------------------------------*/

	.section-title {margin-bottom: 18px;}

	.section-title span {
		font-size: 36px;
		line-height: 1.45;
	}

	.section-title small {
		padding: 0 16px;
		font-size: 16px;
	}

	.section-title small::before {width: 8px;}
	.section-title small::after {width: 8px;}


	/* kv ---------------------------------------*/

	.kv {padding: 0 30px;}
	.kv-inner {padding: 180px 0 93.5vw;}

	.kv-title {
		font-size: 32px;
		line-height: 1.4;
		margin-bottom: 32px;
	}

	.kv-text {
		font-size: 10px;
		padding-top: 12px;
		padding-left: 15px;
	}

	.kv-bg {
		height: 76%;
		width: calc(100% - 60px);
		background-color: #202E4D;
	}

	.kv-bg img {display: none;}

	.kv-image {
		width: calc(100% - 30px);
		top: auto;
		bottom: 0;
		left: 100%;
		transform: translate(-100%, 0);
	}


	/* whats ---------------------------------------*/

	.whats {padding: 230px 30px 0;}

	.whats-bg {
		top: 230px;
		width: 100%;
		height: 68%;
	}

	.whats-logo {
		top: 35px;
		left: 50%;
		margin-left: 0;
		max-width: 108px;
	}

	.whats-image {
		position: absolute;
		right: 0;
		bottom: 0;
		float: inherit;
		width: calc(100% - 30px);
		margin-right: 0px;
		padding: 0;
	}

	.whats-inner {padding: 68px 0 70.3vw;}
	.whats-box {max-width: 100%;}

	.whats-box-text {
		font-size: 13px;
		line-height: 2.45;
	}

	.whats-box-text + .whats-box-text {margin-top: 32px;}


/* for ---------------------------------------*/

	.for {padding: 64px 30px 46px;}
	.for-title {margin-bottom: 30px;}
	.for-list {display: block;}

	.for-list-item {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
		margin-bottom: 20px;
	}

	.for-list-item-icon {
		text-align: left;
		margin-bottom: 0;
		height: auto;
		width: 78px;
	}

	.for-list-item:last-of-type .for-list-item-icon {
		width: 60px;
		padding-left: 12px;
	}

	.for-list-item-icon img {width: 100%;}

	.for-list-item-icon-inner {
		position: inherit;
		top: auto;
		left: auto;
		transform: translate(0, 0);
	}

	.for-list-detail {width: calc(100% - 100px);}

	.for-list-title {
		font-size: 15px;
		text-align: left;
		margin-bottom: 6px;
	}

	.for-list-text {
		font-size: 13px;
		line-height: 2;
		letter-spacing: 0.04em;
	}


/* story ---------------------------------------*/

	.story {padding: 0 30px;}
	.story-title {margin-bottom: 18px;}
	.story-bg {width: 100%;}
	.story-inner {padding: 68px 0 277px;}

	.story-box {
		max-width: 100%;
		margin-right: auto;
	}

	.story-box-text {
		font-size: 13px;
		line-height: 2.45;
		letter-spacing: 0.06em;
	}

	.story-box-text + .story-box-text {margin-top: 31px;}

	.story-image {
		left: 50%;
		bottom: -232px;
		transform: translate(-50%, 0);
		width: calc(100% - 60px);
		z-index: 1;
		max-width: 315px;
	}


	/* who ---------------------------------------*/

	.who {
		padding: 300px 30px 72px;
		background: url(../img/bg_who_sp.png) no-repeat center center;
		background-size: cover;
		height: auto;
	}

	.who-inner {display: block;}

	.who-box {
		width: 100%;
		margin-bottom: 35px;
	}

	.who-title {margin-bottom: 18px;}

	.who-box-text {
		font-size: 13px;
		line-height: 2.45;
		letter-spacing: 0.09em;
	}

	.who-box-text + .who-box-text {margin-top: 32px;}

	.who-logo {
		width: 100%;
		display: block;
		padding-right: 0;
	}

	.who-logo-inner {
		width: 60%;
		margin: 0 auto;
		max-width: 173px;
	}


	/* flow ---------------------------------------*/

	.flow {padding: 68px 30px 70px;}
	.flow-title {margin-bottom: 25px;}
	.flow-text-balloon {margin-bottom: 40px;}
	.flowcase {margin-bottom: 86px;}
	.flowcase-list {display: block;}

	.flowcase-list-item {
		width: 100%;
		margin-bottom: 25px;
	}

	.flowcase-list-item:nth-child(n+4) {margin-bottom: 25px;}
	.flowcase-list-text {font-size: 13px;}
	.flowexam-block {padding: 25px 15px;}

	.flowexam-block:first-of-type {
		margin-bottom: 65px;
		padding: 42px 15px 35px;
	}

	.flowexam-block:nth-of-type(3) {padding: 42px 15px 15px;}
	.flowexam-block:first-of-type::after {bottom: -45px;}
	.flowexam-block-person {display: block;}

	.flowexam-block-person-image {
		width: 82px;
		margin: 0 auto 20px;
	}

	.flowexam-block-person-image img {width: 100%;}
	.flowexam-block-person-detail {width: 100%;}

	.flowexam-block-person-title {
		font-size: 15px;
		margin-bottom: 14px;
	}

	.flowexam-block-person-text {
		font-size: 13px;
		letter-spacing: 0.04em;
	}

	.flowexam-text {
		font-size: 18px;
		line-height: 1.6;
		margin-bottom: 52px;
	}

	.flowexam-block-title::before {
		top: 3px;
		transform: translate(0, 0);
	}

	.flowexam-block-title span {display: inline;}
	.flowexam-block-title small {display: inline;}
	.flowexam-block-list {margin-top: 22px;}

	.flowexam-block-list-title {
		font-size: 15px;
		line-height: 1.6;
	}

	.flowexam-block-list-text {font-size: 13px;}


	/* consultation ---------------------------------------*/

	.consultation {padding: 76px 30px 80px;}
	.consultation-inner {display: block;}

	.consultation-detail {
		width: 100%;
		margin-bottom: 22px;
	}

	.consultation-text {
		font-size: 14px;
		line-height: 1.8;
	}

	.consultation-btn {width: 100%;}
	.consultation-btn a {padding: 15px 20px;}

	.consultation-btn a span {
		font-size: 14px;
		margin-bottom: 5px;
	}

	.consultation-btn a small {font-size: 8px;}


	/* instance ---------------------------------------*/

	.instance {padding: 68px 30px 40px;}
	.instance::before {height: calc(100% - 828px);}

	.instance-title {
		text-align: center;
		margin-bottom: 23px;
	}

	.instance-lead {
		font-size: 18px;
		line-height: 1.7;
		margin-bottom: 22px;
		padding: 0 10px;
	}

	.instance-text {
		text-align: left;
		margin-bottom: 28px;
		padding: 0 10px;
	}

	.instance-panel {
		display: block;
		margin-bottom: 30px;
	}

	.instance-panel-item {
		width: 100%;
		margin-bottom: 15px;
	}

	.instance-panel-detail {padding: 0 15px 0;}

	.instance-panel-textarea {
		height: 205px;
		margin-bottom: 5px;
	}

	.instance-panel-item:nth-of-type(5) .instance-panel-textarea {height: 220px;}
	.instance-panel-title {margin-bottom: 20px;}

	.instance-panel-title span {
		font-size: 15px;
/*		margin-bottom: 0;*/
	}

	.instance-panel-title small {font-size: 13px;}
	.instance-panel-changing-list {padding: 0 0 14px;}

	.instance-panel-changing-list-item {
		font-size: 13px;
		line-height: 1.65;
	}

	.instance-panel-changing-list-item::after {
		right: -75%;
		transform: translate(50%, -75%);
	}


	/* skill ---------------------------------------*/

	.skill {padding: 66px 30px 20px;}
	.skill-title {margin-bottom: 28px;}
	.skill-title span {margin-bottom: 6px;}
	.skill-list {display: block;}

	.skill-list-item {
		display: block;
		width: 100%;
		margin: 0 auto 50px;
		max-width: 340px;
	}

	.skill-list-image {
		width: 100%;
		text-align: center;
		margin-bottom: 26px;
	}

	.skill-list-item:nth-of-type(1) .skill-list-image img {width: 75px;}
	.skill-list-item:nth-of-type(2) .skill-list-image img {width: 62px;}
	.skill-list-item:nth-of-type(3) .skill-list-image img {width: 70px;}
	.skill-list-item:nth-of-type(4) .skill-list-image img {width: 77px;}
	.skill-list-item:nth-of-type(5) .skill-list-image img {width: 76px;}
	.skill-list-item:nth-of-type(6) .skill-list-image img {width: 69px;}

	.skill-list-detail {width: 100%;}

	.skill-list-title {
		font-size: 15px;
		line-height: 1.8;
	}

	.skill-list-text {font-size: 13px;}


	/* interview ---------------------------------------*/

	.interview {padding: 70px 30px 80px;}

	.interview-title {
		margin-left: -10px;
		margin-right: -10px;
		margin-bottom: 24px;
	}

	.interview-title span {margin-bottom: 6px;}

	.interview-text {
		font-size: 13px;
		margin-bottom: 35px;
	}

	.interview-block {
		display: block;
		position: relative;
		background: none;
		padding: 0 15px 38px;
		margin-top: 0;
		margin-bottom: 50px;
	}

	.interview-block::before {
		position: absolute;
		content: '';
		width: 100%;
		height: calc(100% - 110px);
		background: #fff;
		bottom: 0;
		left: 0;
	}

	.interview-block-image-wrapper {
		width: 100%;
		margin-top: 0;
		position: relative;
		z-index: 1;
		margin-bottom: 35px;
		padding-bottom: 0;
	}

	.interview-block-image {margin-bottom: 10px;}

	.interview-block-detail {
		width: 100%;
		padding: 0;
		position: relative;
		z-index: 1;
	}

	.interview-block-title {
		font-size: 15px;
		margin-bottom: 14px;
	}

	.interview-block-text {
		font-size: 13px;
		margin-bottom: 26px;
	}


	/* outline ---------------------------------------*/

	.outline {padding: 68px 30px 66px;}
	.outline-title {margin-bottom: 22px;}

	.outline-table {
		margin-bottom: 40px;
		display: block;
	}

	.outline-table tbody {display: block;}

	.outline-table tr {
		display: block;
		margin-bottom: 27px;
	}

	.outline-table th {
		display: block;
		width: 100%;
		font-size: 15px;
		padding: 0;
		margin-bottom: 15px;
	}

	.outline-table td {
		display: block;
		width: 100%;
		font-size: 13px;
		padding: 0;
		margin-bottom: 25px;
	}


/* contact ---------------------------------------*/

	.contact {padding: 68px 30px 40px;}
	.contact-title {margin-bottom: 32px;}
	.contact-title span {margin-bottom: 6px;}

	.contact-text {
		font-size: 15px;
		line-height: 1.7;
		margin-bottom: 30px;
	}

	.contact-btn {margin-bottom: 70px;}

	.contact-btn a {
		width: 100%;
		padding: 22px 20px;
		font-size: 15px;
	}

	.contact-table-title {
		font-size: 18px;
		margin-bottom: 20px;
	}

	.contact-table {display: block;}
	.contact-table {display: block;}

	.contact-table tr {
		display: block;
		margin-bottom: 22px;
	}

	.contact-table th {
		display: block;
		font-size: 15px;
		letter-spacing: 0.04em;
		width: 100%;
		padding: 0;
	}

	.contact-table td {
		display: block;
		font-size: 13px;
		letter-spacing: 0.06em;
		width: 100%;
		padding: 0;
		margin-bottom: 20px;
	}


	/* footer ---------------------------------------*/

	footer {padding: 48px 40px 10px 40px;}

	.footer-inner {
		display: block;
		margin-bottom: 65px;
	}

	.footer-logoarea {
		width: 100%;
		margin-bottom: 50px;
	}

	.footer-logo {
		width: 150px;
		padding-right: 30px;
		border-right: 1px solid #FFF;
	}

	.footer-logoarea-copy {
		width: calc(100% - 167px);
		padding-left: 20px;
		font-size: 9px;
	}

	.footer-address {width: 100%;}
	.footer-address-company {margin-bottom: 28px;}
	.footer-address-company small{margin-bottom: 0;}


	.footer-address-detail span {
		display: block;
	}

}