/* 横幅設定
--------------------------------*/

/* 横幅1500pxして中央(margin:auto) */
.width-1500px{ 
	width:95%;
	max-width:1500px;
	margin:0 auto;
}

/* 横幅1200pxして中央(margin:auto) */
.width-1200px{ 
	width:90%;
	max-width:1200px;
	margin:0 auto;
}

/* フォント
--------------------------------*/
/* Futura PT：Demi */
.f-futura-d{
	font-family: futura-pt, sans-serif;
	font-weight: 600;
	font-style: normal;
}

/* Futura PT：Medium */
.f-futura-m{
	font-family: futura-pt, sans-serif;
	font-weight: 500;
	font-style: normal;
}

/* 余白関係
--------------------------------*/
/* 上「のみ」3rem margin */
.sec-wrap-m-t3{
	margin-top:3rem;
}

/* 下「のみ」4rem margin */
.sec-wrap-m-b4{
	margin-bottom:4rem;
}

/* 下「のみ」15rem margin */
.sec-wrap-m-b15{
	margin-bottom:15rem;
}


/* 強制改行(主にspanに使用)
--------------------------------*/
.pc-br{
	display:block;
}

.sp{
	display:none !important;
}

/* トップページタイトル関係
--------------------------------*/
.home-title{
	line-height: 1;
	margin-bottom: 5rem;
	position: relative;
	z-index: 300;
}

.home-title .head-title{
	font-family: futura-pt, sans-serif;
	font-weight: 600;
	font-size:1.8rem;
	font-style: normal;
	letter-spacing: .1em;
}

.home-title .sub-title{
	font-size: 6rem;
	letter-spacing: .05em;
	margin-bottom: 2rem;
	display: block;
	z-index: 300;
	position: relative;
}

.home-btn{
	max-width: 260px;
	height: 50px;
	width: 95%;
}

.btn-link{
	font-size: 1.8rem;
	letter-spacing: .1em;
	font-weight: 500;
	color: #235C9B;
	text-align: center;
	display: block;
	line-height: 1;
	border-radius: 35px;
	padding: 12px 0;
	cursor: pointer;
	position: relative;
	max-width: 260px;
	height: 50px;
	border-width: 2px;
	border-style: solid;
	border-color: #235C9B;
	background-color: #fff;
}

.btn-arrow-r::after{
	content: "";
	background-image: url(img/arrow-right-blue.svg);
	display: inline-block;
	width: 7px;
	height: 12px;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	background-size: cover;
}

.btn-arrow-r:hover {
	background-color: #235C9B;
	color: #fff;
	border-radius: 35px;
	opacity: 1;
}

.btn-arrow-r:hover::after{
	background-image: url(img/arrow-right-white.svg);
}

.btn-arrow-l::after {
	content: "";
	background-image: url(img/arrow-left-blue.svg);
	display: inline-block;
	width: 7px;
	height: 12px;
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	background-size: cover;
}

.btn-arrow-l:hover::after{
	background-image: url(img/arrow-left-white.svg);
}

.sec-bg-wrap::before{
	content: "";
	display: block;
	width: 100%;
	height: 78%;
	background-color:#EFEFEF;
	position: absolute;
	bottom: 0;
}

.home-headline{
	font-size:3rem;
	font-weight:500;
	margin-bottom:7rem;
	line-height:1;
	position:relative;
	color: #235C9B;
	letter-spacing: .05em;
}

.home-headline::after{
	position: absolute;
	bottom: -35px;
	left: 0;
	box-sizing: border-box;
	border-radius: 2em;
	content: "";
	height: 1px;
	width: 90px;
	background:#235C9B;
}

/* フォント関係
--------------------------------*/

/*--- タイトル メインカラー ---*/
.title-m-c{
	color:#235C9B;
}

/*--- タイトル サブカラー ---*/
.title-s-c{
	color:#fff
}


/* デザイン配置関係
--------------------------------*/
.c-fl-column{
	display:flex;
	justify-content:space-between;
}

.c-object-box{
	position: relative;
	margin-bottom:7rem;
}

.box-r{
	margin-left:auto;
}

.c-object-txt{
	max-width: 1060px;
	width: 55%;
	background-color: #FFF;
	padding: 7.5rem 12.5rem 7.5rem 9.5rem;
	z-index: 300;
	position: absolute;
	top: 50%;
	max-height: 560px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

.txt-l{
	left: 0;
}

.txt-r{
	right: 0;
}

.c-object-image{
	line-height: 0;
	width: 50%;
}

.image-r{
	margin-left:auto;
}

.image-r img{
	border-radius:35px 0 0 35px;
}

.image-l img{
	border-radius: 0 35px 35px 0;
}

.c-object-image img{
	width:100%;
	height:auto;
}


/* 子ページ用共通部分
--------------------------------*/
.c-bg-container{
	background-color:#EFEFEF;
	padding-bottom:180px;
	overflow: hidden;
	padding-top: 80px;
}

.c-page-bg-white{
	background-color: #fff;
	padding:10rem;
}

.page-title-box{
	margin-top: 85px;
	width: 100%;
	background-color: #000;
	background-size: cover;
	background-repeat: no-repeat;
	background-position-x: center;
	height: 370px;
	position: relative;
	background-position-y: center;
}

.page-title-box h1{
	font-size:1.8rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .2em;
	color: #595757;
	position: relative;
	padding-left: 2.5rem;
	margin-bottom: 2rem;
}

.page-title-box h1::before {
	content: "";
	width: 13px;
	height: 13px;
	background-color: #235C9B;
	border-radius: 50%;
	left: 10px;
	display: inline-block;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

.page-title-box .sub-title{
	font-size:7rem;
	letter-spacing: .05em;
	line-height: 1;
	color: #235C9B;
	font-family: futura-pt, sans-serif;
	font-weight: 500;
	font-style: normal;
	margin-bottom: 1rem;
	text-shadow: 0 0 15px #FFF;
}

.page-title-container{
	width: 95%;
	max-width: 1500px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

.page-wrap {
	position:relative;
}

/* 会社概要・採用情報(table)
--------------------------------*/
.c-table-container{
	width: 100%;
}

.c-table-container tr{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}

.c-table-container th,
.c-table-container td{
	border: 1px;
	border-bottom-style: solid;
	padding:3.5rem 0;
	letter-spacing: .05em;
}

.c-table-container th{
	width:15%;
	border-color: #235C9B;
	font-weight: 500;
	display: flex;
	align-items: center;
}

.c-table-container td{
	width:83%;
	border-color: #C5C5C5;
	padding-left: 2rem;
}

.c-table-container td .disc-mark{
	padding-left:2rem;
}

.c-table-container td .disc-mark li{
	list-style:disc;
}

.c-table-container td .list-number {
	counter-reset: num;
}

.c-table-container td .list-number li::before{
	counter-increment: num;
	content: counter(num);
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 15px;
	height: 15px;
	margin-right: 5px;
	border-radius: 50%;
	border: 1px solid #3D3D3D;
	font-size: 1.4rem;
}

/* お問い合わせ・応募フォーム(step)
--------------------------------*/
.contact-step{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 6.5rem auto 8rem;
	width: 345px;
	position: relative;
	z-index: 1;
}

.contact-step::after{
	background: #C6C6C6;
	content: "";
	z-index: -1;
	margin: auto;
	height: 1px;
	width: 95%;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: -2px;
}

.contact-step .active::before{
	content: "";
	margin: auto;
	height: 1px;
	width: 14rem;
	position: absolute;
	right: 20px;
	top: -1px;
	background-color: #235C9B;
	bottom: 0;
}

.contact-step li {
	text-align: center;
	position: relative;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background-color: #fff;
	color: #C5C5C5;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 5;
	border: 1px solid #C5C5C5;
}

.contact-step .cricle{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	color: #9F9F9F;
	font-size: 1.4rem;
	letter-spacing: .05em;
}

.contact-step li .cricle-in{
	position: absolute;
	top: 6rem;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	color: #b4b4b4;
	font-weight: 500;
	width: 100%;
	font-size: 1.6rem;
}

.contact-step .active:first-child::before{
	content: none;
}

.contact-step .active{
	background-color: #235C9B;
	border: none;
}

.contact-step .active .cricle{
	color:#FFF;
}
