@charset "utf-8";

/*	レイアウト
---------------------------------*/
html {
	font-size: 62.5%;
}
body {
	position: relative;
	padding: 0;
	width: 100%;
	line-height: 1.6;
	color: #000;
	font-family: 'Noto Sans JP', sans-serif;
	font-style: normal;
	font-weight: 500;
}
#wrapper {
	overflow: hidden;
}

/*	ヘッダー
---------------------------------*/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	line-height: 1;
	z-index: 1010;
	transition: 0.6s;
}
header.nav-fix {
	background: rgba(255,255,255,0.95);
}
.hd-inr {
	margin: 0 auto;
	padding: 20px 15px;
	width: 100%;
	max-width: 1950px;
}
.hd-logo {
	position: relative;
	margin: 0;
	padding: 0;
}
.hd-info {
	width: calc(100% - 286px);
}
.hd-contact {
	position: relative;
	padding: 10px 0;
}
.hd-tel {
	display: inline-block;
	margin: 0 25px 0 0;
	text-align: left;
}
.hd-tel__num {
	display: block;
	position: relative;
	padding: 0 0 0 30px;
	font-size: 3rem;
	font-weight: 600;
	font-family: 'Barlow', sans-serif;
}
.hd-tel__num::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 25px;
	height: 25px;
	background: url(../img/cmn/icon_tel.png);
}
.hd-tel__txt {
	display: block;
	margin-top: 5px;
	padding: 5px 10px;
	border: 1px solid #333;
	text-align: center;
	font-size: 1.4rem;
}
.hd-mail {
	position: relative;
	width: 320px;
	height: 80px;
}
.hd-mail a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: #011558;
	border-radius: 100px;
}
.hd-mail a span {
	display: inline-block;
	position: relative;
	padding: 0 0 0 40px;
	font-size: 1.8rem;
	color: #fff;
}
.hd-mail a span::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 29px;
	background: url(../img/cmn/icon_entry.png) no-repeat center center / contain;
}
@media screen and (max-width: 1279px) {
	.hd-inr {
		padding: 30px 15px;
	}
	.hd-logo {
		margin: 0;
		padding: 0;
		width: 250px;
	}
	.hd-contact {
		padding: 0;
	}
	.hd-tel {
		display: block;
		margin: 0 10px 0 0;
		padding: 0;
		width: auto;
		height: auto;
	}
	.hd-tel__num {
		padding: 0;
	}
	.hd-tel a {
		display: block;
		position: relative;
		padding: 0;
		width: 40px;
		height: 40px;
		border: 3px solid #000;
		border-radius: 0;
	}
	.hd-tel a::before {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		margin: 0;
		width: 20px;
		height: 20px;
		background: url(../img/cmn/icon_tel.png) no-repeat center center;
		background-size: contain;
	}
	.hd-tel__num::before,
	.hd-tel__num span,
	.hd-tel__txt {
		display: none;
	}
	.hd-mail {
		display: block;
		margin: 0 50px 0 0;
		width: 40px;
		height: 40px;
		background: #f39600;
	}
	.hd-mail a {
		display: block;
		position: relative;
		padding: 0;
		width: 40px;
		height: 40px;
		border-radius: 0;
	}
	.hd-mail a::before {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		margin: 0;
		width: 20px;
		height: 20px;
		background: url(../img/cmn/icon_entry.png) no-repeat center center;
		background-size: contain;
	}
	.hd-mail a span {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.hd-inr {
		padding: 10px 15px;
		align-items: center;
	}
	.hd-contact {
		padding: 0;
	}
	.hd-logo {
		padding: 0;
		width: 180px;
	}
	.hd-info {
		width: calc(100% - 180px);
	}
	.hd-menu {
		margin: 0;
	}
}

/*	フッター
---------------------------------*/
footer {
	position: relative;
	padding: 0;
}
.ft-inr {
	padding: 55px 0;
	background: #011558;
	text-align: center;
	color: #fff;
}
.ft-nav ul {
	margin-bottom: 50px;
}
.ft-nav ul li {
	margin: 0 0 15px 20px;
	padding-left: 20px;
	border-left: 1px solid #fff;
	font-size: 1.6rem;
	line-height: 1;
}
.ft-nav ul li:first-of-type {
	margin-left: 0;
	padding-left: 0;
	border-left: none;
}
.ft-guide__logo {
	margin-bottom: 30px;
}
.ft-guide__add {
	margin-bottom: 30px;
	font-size: 1.6rem;
}
.ft-endline {
	padding: 60px 0 0;
}
.ft-copyright {
	padding: 0;
	width: 100%;
	text-align: center;
	font-size: 1.2rem;
	color: #fff;
}
@media screen and (max-width: 767px) {
	.ft-inr {
		padding: 25px 0;
	}
	.ft-nav {
		display: none;
	}
	.ft-guide__logo {
		margin: 0 auto 20px;
		max-width: 200px;
	}
	.ft-guide__add {
		margin-bottom: 10px;
	}
	.ft-endline {
		padding: 20px 0 0;
	}
}

/*	グローバナビ（PC用）
---------------------------------*/
.pc-nav {
	line-height: 1;
}
.pc-nav > ul {
	margin: 0;
}
.pc-nav > ul > li {
	position: relative;
	margin: 0 0 0 55px;
	height: 40px;
}
.pc-nav > ul > li > a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	padding: 0;
	width: 100%;
	height: 100%;
	text-align: center;
}
.pc-nav > ul > li > a span {
	display: block;
	position: relative;
	font-size: 16px;
	font-weight: 500;
}
.pc-nav > ul > li.current a,
.pc-nav > ul > li a:hover {
	opacity: 1;
	color: #011558;
}
.pc-nav > ul > li.parent div {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	padding: 30px 35px;
	min-width: 100%;
	background: rgba(0,0,0,0.4);
	border-top: 2px solid #1f8dda;
	text-align: left;
	z-index: 100;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.pc-nav > ul > li.parent div ul {
	display: inline-block;
}
.pc-nav > ul > li.parent div li + li {
	margin-top: 20px;
}
.pc-nav > ul > li.parent div li a {
	display: block;
	white-space: nowrap;
	font-size: 11px;
	color: #fff;
}
.pc-nav > ul > li.parent:hover div {
	visibility: visible;
	opacity: 1;
}
@media screen and (max-width:1199px) {
	.pc-nav {
		display: none;
	}
}

/*	グローバナビ（スマホ用）
---------------------------------*/
header .navToggle,
header nav.sp-nav {
	display:none;
}
@media screen and (max-width:1199px) {
	header nav.sp-nav {
		display: block;
		position: fixed;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		padding: 10% 15%;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.8);
		font-size: 1.6rem;
		font-weight: 400;
		z-index: 1000;
		visibility: hidden;
		opacity: 0;
		transform: scale(0.9);
		-webkit-transition: -webkit-transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
		transition: transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
	}
	/* ナビゲーション アニメーション */
	header.open nav.sp-nav {
		visibility: visible;
		opacity: 1;
		transform: scale(1);
		-webkit-transition: -webkit-transform 0.4s, opacity 0.4s;
		transition: transform 0.4s, opacity 0.4s;
	}
	header nav.sp-nav a {
		color:#fff;
	}
	header nav.sp-nav a * {
		transition: 0s;
	}
	header nav.sp-nav > ul {
		display: block;
		position :absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%);
		width: 100%;
	}
	header nav.sp-nav > ul > li {
		margin: 20px 0;
		overflow: hidden;
		text-align: center;
		line-height: 1;
		text-transform: uppercase;
	}
	header nav.sp-nav > ul > li > a {
		display: inline-block;
	}
	header nav.sp-nav > ul > li.parent {
		margin: 25px 0;
	}
	header nav.sp-nav > ul > li.parent > a {
		text-decoration: none;
		border: none;
	}
	header nav.sp-nav > ul > li.parent div ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 5px 0 0;
	}
	header nav.sp-nav > ul > li.parent div li {
		margin: 10px 0 0;
		font-size: 0.875em;
	}
	header nav.sp-nav > ul > li.parent div li a {
		display: inline-block;
		color: #ccc;
	}
	header nav.sp-nav > ul > li.parent div li a:hover {
		display: inline-block;
		border-bottom: none;
	}
	header nav.sp-nav > ul > li.parent div li:last-of-type {
		margin: 10px 0 0;
	}
	header nav.sp-nav > ul > li.parent div li::after {
		content: "/";
		display: inline;
		margin: 0 5px;
		color: #999;
	}
	header nav.sp-nav > ul > li.parent div li:last-of-type::after {
		content: "";
	}
	header nav.sp-nav ul li small,
	header nav.sp-nav ul li br {
		display: none;
	}
	/*ハンバーガーボタン*/
	header .navToggle {
		display: block;
		position: absolute;
		right: 15px;
		top: 15px;
		margin: auto;
		width: 40px;
		height: 40px;
		background: #1c1c1c;
		cursor: pointer;
		z-index: 1002;
	}
	header .navToggle div {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 25px;
		height: 16px;
	}
	header .navToggle span {
		display: block;
		position: absolute;
		height:2px;
		width:100%;
		background: #fff;
		left:0;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}
	header .navToggle span:nth-child(1) {
		top: 0;
	}
	header .navToggle span:nth-child(2) {
		top: 7px;
	}
	header .navToggle span:nth-child(3) {
		top: 14px;
	}
	/* ハンバーガーボタン 切り替えアニメーション */
	header.open .navToggle span {
	}
	header.open .navToggle span:nth-child(1) {
		top: 7px;
		transform: rotate(315deg);
	}
	header.open .navToggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	header.open .navToggle span:nth-child(3) {
		top: 7px;
		transform: rotate(-315deg);
	}
}
@media screen and (max-width:1279px) {
	header .navToggle {
		top: 34px;
	}
}
@media screen and (max-width:767px) {
	header nav.sp-nav {
		font-size: 14px;
	}
	header .navToggle {
		display: block;
		position: absolute;
		right: 15px;
		top: 10px;
	}
}

/*	基本レイアウト
---------------------------------*/
.contents-inr {
	position: relative;
	margin: 0 auto;
	padding-left: 15px;
	padding-right: 15px;
	max-width: 1230px;
}
.contents-inr.full {
	max-width: 100%;
	padding: 0;
}
.contents-inr.middle {
	max-width: 1590px;
}
.contents-inr.large {
	max-width: 1710px;
}

/*	汎用タイトル
---------------------------------*/
.ttl-cmn {
	margin-bottom: 30px;
}
.ttl-cmn--center {
	text-align: center;
}
.ttl-cmn__en {
	display: block;
	margin-bottom: 20px;
	font-size: 2.1rem;
	font-weight: 600;
	color: #011558;
	line-height: 1;
	font-family: 'Barlow', sans-serif;
}
.ttl-cmn__en span {
	display: inline-block;
	margin-left: 20px;
	font-size: 6rem;
	font-weight: 600;
	color: #fcdd36;
	vertical-align: sub;
}
.ttl-cmn__jp {
	display: inline-block;
	position: relative;
	padding: 0;
	font-size: 3.6rem;
	font-weight: 500;
}
.ttl-cmn__jp span {
	font-weight: 600;
	color: #011558;
}
.ttl-cmn__jp__sub {
	display: block;
	position: relative;
	padding: 0;
	font-size: 3rem;
	font-weight: 500;
	color: #011558;
}
.ttl-cmn__jp + .ttl-cmn__jp__sub {
	margin-top: 15px;
}
.ttl-cmn__txt {
	display: block;
	position: relative;
	margin-top: 15px;
	padding: 0;
	font-size: 1.6rem;
}
@media screen and (max-width:767px) {
	.ttl-cmn {
		margin-bottom: 20px;
	}
	.ttl-cmn__en {
		margin-bottom: 10px;
		font-size: 1.6rem;
	}
	.ttl-cmn__jp {
		font-size: 2.4rem;
	}
	.ttl-cmn__jp__sub {
		font-size: 2rem;
	}
	.ttl-cmn__jp + .ttl-cmn__jp__sub {
		margin-top: 10px;
	}
	.ttl-cmn__txt {
		margin-top: 10px;
		font-size: 1.6rem;
	}
}

/*	汎用ボタン
---------------------------------*/
.btn-cmn01 {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	margin: auto;
	width: 100%;
	max-width: 390px;
	height: 80px;
	border: 2px solid #011558;
	background: #011558;
	border-radius: 100px;
	transition: 0.6s;
}
.btn-cmn01--connect {
	margin-top: 10px;
}
.btn-cmn01:hover {
	border: 2px solid #0777bb;
	background: #0777bb;
}
.btn-cmn01--left {
	margin-left: 0;
}
.btn-cmn01 a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	padding: 0;
	width: 100%;
	height: 100%;
}
.btn-cmn01 a:hover {
	opacity: 1;
}
.btn-cmn01 span {
	position: relative;
	padding: 0 50px;
	font-size: 1.6rem;
	color: #fff;
	transition: 0.6s;
}
.btn-cmn01:hover span {
	color: #fff;
}
.btn-cmn01 a::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	text-align: center;
	width: 20px;
	height: 11px;
	background: url(../img/cmn/icon_arw01.png);
	transition: 0.6s;
}
.btn-cmn02 {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	margin: auto;
	width: 100%;
	max-width: 250px;
	height: 50px;
	border: 2px solid #fff;
	border-radius: 100px;
}
.btn-cmn02--col01 {
	border: 2px solid #011558;
	background: #011558;
}
.btn-cmn02 a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	width: 100%;
	height: 100%;
}
.btn-cmn02 span {
	position: relative;
	padding: 0;
	font-size: 1.6rem;
	color: #fff;
}
@media screen and (max-width:767px) {
	.btn-cmn01 {
		height: 60px;
	}
	.btn-cmn01--left {
		margin-left: auto;
	}
	.btn-cmn01 a:hover {
		opacity: 1;
	}
	.btn-cmn02 {
		max-width: 200px;
		height: 40px;
	}
	.btn-cmn02 span {
		font-size: 1.5rem;
	}
}

/*	汎用テーブル
---------------------------------*/
.tbl-cmn01 {}
.tbl-cmn01 table {
	width: 100%;
	font-size: 1.6rem;
}
.tbl-cmn01 th {
	padding: 20px 15px 20px 50px;
	width: 220px;
	border-bottom: 1px solid #000;
	text-align: left;
	color: #666;
}
.tbl-cmn01 td {
	padding: 20px 50px;
	border-bottom: 1px solid #ccc;
	text-align: left;
}
.tbl-cmn01 tr:first-of-type th {
	border-top: 1px solid #000;
}
.tbl-cmn01 tr:first-of-type td {
	border-top: 1px solid #ccc;
}
@media screen and (max-width:767px) {
	.tbl-cmn01 {}
	.tbl-cmn01 table {
		font-size: 1.6rem;
	}
	.tbl-cmn01 th {
		display: block;
		padding: 15px;
		padding-bottom: 0;
		width: 100%;
		border: none;
	}
	.tbl-cmn01 tr:first-of-type th {
		border-top: 1px solid #ccc;
	}
	.tbl-cmn01 tr:first-of-type td {
		border-top: none;
		border-bottom: 1px solid #ccc;
	}
	.tbl-cmn01 td {
		display: block;
		padding: 2rem;
		width: 100%;
	}
}


/*	メインイメージ
---------------------------------*/
.main-img-otr {
	position: relative;
	padding: 180px 0 0;
	background: url(../img/top/bg_main.png) no-repeat left top;
}
.main-img-inr {
	position: relative;
	margin: 0;
	width: 100%;
}
.main-img-item {
	margin: 0 0 0 auto;
	width: 64%;
}
.main-img {
	position: relative;
	height: 850px;
	background: no-repeat left center / auto 100%;
	overflow: hidden;
}
.main-img.img01 {
	background-image: url(../img/top/img_main01.png)
}
.main-img.img02 {
	background-image: url(../img/top/img_main02.png);
}
.main-img.img03 {
	background-image: url(../img/top/img_main03.png);
}
.main-img-cap {
	flex-wrap: nowrap;
	position: absolute;
	top: 150px;
	left: 50%;
	transform: translateX(-50%);
	padding: 0 15px;
	width: 100%;
	max-width: 1710px;
	text-align: left;
	z-index: 1001;
}
.main-img-otr .bx-pager {
	display: inline;
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	padding: 0 15px;
	width: 100%;
	max-width: 1630px;
	height: 16px;
	text-align: center;
	z-index: 100;
}
.main-img-otr .bx-pager-item {
	display: inline;
	padding: 0 20px;
}
.main-img-otr .bx-pager-item a {
	border: 1px solid #166678;
	background: #fff;
	display: inline-block;
	width: 16px;
	height: 16px;
	border-radius: 100px;
	text-indent: 9999px;
	overflow: hidden;
}
.main-img-otr .bx-pager-item a.active {
	background: #166678;
}
.main-img__bnr {
	position: absolute;
	bottom: -50px;
	left: 0;
}
@media screen and (max-width:1279px) {
	.main-img-otr {
		padding: 110px 0 0;
	}
	.main-img-item {
		width: 60%;
	}
	.main-img {
		height: 60vw;
	}
	.main-img-cap {
		top: 5vw;
	}
	.main-img-cap img {
		width: 36%;
	}
}
@media screen and (max-width:1023px) {
	.main-img__bnr {
		position: absolute;
		bottom: -5vw;
		left: 0;
		width: 30%;
	}
}
@media screen and (max-width:767px) {
	.main-img-otr {
		padding: 60px 0 0;
		background-size: auto 330px;
	}
}

/*	下層イメージ
---------------------------------*/
.sub-img-otr {
	position: relative;
	padding: 180px 0 100px;
	background: url(../img/top/bg_main.png) no-repeat left top;
}
.sub-img-inr {
	position: relative;
	margin: 0;
	width: 100%;
}
.sub-img-item {
	margin: 0 0 0 auto;
	width: 64%;
}
.sub-img {
	position: relative;
	height: 470px;
	background: no-repeat left center / auto 100%;
	overflow: hidden;
}
.sub-img.img01 {
	background-image: url(../img/cmn/img_ttl01.png)
}
.sub-img-cap {
	flex-wrap: nowrap;
	position: absolute;
	top: calc(50% + 40px);
	left: 50%;
	transform: translate(-50%,-50%);
	padding: 0 15px;
	width: 100%;
	max-width: 1710px;
	text-align: left;
	z-index: 1001;
}
.sub-img-cap__en {
	font-size: 2.5rem;
	font-weight: 600;
	color: #0777bb;
}
.sub-img-cap__jp {
	margin-top: 20px;
	font-size: 4.2rem;
	font-weight: 600;
	color: #011558;
}
@media screen and (max-width:767px) {
	.sub-img-otr {
		padding: 60px 0 50px;
		background-size: auto 330px;
	}
	.sub-img-item {
		margin: 0 0 0 auto;
		width: 64%;
	}
	.sub-img {
		height: 230px;
	}
	.sub-img-cap {
		top: calc(50% + 10px);
		padding: 0 15px;
	}
	.sub-img-cap__en {
		font-size: 1.6rem;
	}
	.sub-img-cap__jp {
		margin-top: 10px;
		font-size: 2.1rem;
	}
}

/*	トップページ
---------------------------------*/

/*	ABOUT	*/
.top-about {
	position: relative;
	padding: 120px 0 225px;
}
.top-about::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 65%;
	background: #f6f0e9;
	z-index: -1;
}
.top-about__ph {
	position: relative;
	margin: 0;
	width: 57.14%;
	max-width: 800px;
	height: 550px;
}
.top-about__ph__item01 {
	position: absolute;
	top: 0;
	right: 170px;
}
.top-about__ph__item02 {
	position: absolute;
	bottom: -165px;
	right: 0;
}
.top-about__ph__item01 img,
.top-about__ph__item02 img {
	max-width: initial;
}
.top-about__info {
	position: relative;
	margin: 0;
	width: 39.28%;
	max-width: 550px;
}
.top-about__txt {
	margin-bottom: 50px;
	font-size: 1.8rem;
}
.top-about__txt p {
	line-height: 2;
	word-break: break-word;
}
@media screen and (max-width: 1023px) {
	.top-about__ph {
		position: relative;
		margin: 0;
		width: 100%;
		max-width: 800px;
		height: initial;
	}
	.top-about__ph__item01 {
		position: relative;
		top: 0;
		right: 0;
	}
	.top-about__ph__item02 {
		position: absolute;
		bottom: -10vw;
		right: 0;
		width: 50%;
	}
	.top-about__ph__item01 img,
	.top-about__ph__item02 img {
		max-width: 100%;
	}
	.top-about__info {
		margin-top: 15vw;
		width: 100%;
		max-width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.top-about {
		padding: 60px 0 100px;
	}
	.top-about__info {
		position: relative;
	}
	.top-about__txt {
		margin-bottom: 30px;
		font-size: 1.6rem;
	}
}

/*	EFFORT	*/
.top-effort {
	position: relative;
	padding: 80px 0 160px;
	background: #f6f0e9;
}
.top-effort::before {
	content: "";
	position: absolute;
	top: 0;
	right: calc(50vw - 780px);
	width: 100%;
	height: calc(100% - 80px);
	background: #fff;
	border-radius: 0 20px 20px 0;
}
.top-effort .btn-cmn01 {
	position: absolute;
	right: 15px;
	top: 0;
}
.top-effort__list__item {
	margin: 0 60px 0 0;
	width: calc((100% - 120px) / 3);
}
.top-effort__list__item:nth-of-type(1),
.top-effort__list__item:nth-of-type(3) {
	margin-top: 75px;
}
.top-effort__list__item:nth-of-type(3n) {
	margin-right: 0;
}
.top-effort__list__item__ph {
	margin: 0 0 25px;
}
.top-effort__list__item__txt {
	text-align: center;
	font-size: 2.4rem;
	font-weight: 500;
}
.top-effort__list__item__txt span {
	font-weight: inherit;
	color: #011558;
}
@media screen and (max-width: 1023px) {
	.top-effort::before {
		right: calc(50vw - 250px);
		width: 200%;
	}
	.top-effort .btn-cmn01 {
		position: relative;
		right: 0;
		top: 0;
	}
	.top-effort__list__item {
		margin: 0 30px 30px 0;
		width: calc((100% - 60px) / 3);
	}
	.top-effort__list__item:nth-of-type(1),
	.top-effort__list__item:nth-of-type(3) {
		margin-top: 75px;
	}
	.top-effort__list__item__ph {
		margin: 0 0 15px;
	}
	.top-effort__list__item__txt {
		font-size: 1.8rem;
	}
}
@media screen and (max-width: 767px) {
	.top-effort {
		padding: 40px 0 80px;
	}
	.top-effort::before {
		right: calc(50vw - 120px);
		height: calc(100% - 80px);
	}
	.top-effort__list__item {
		margin: 0 auto 30px;
		width: 100%;
		max-width: 400px;
	}
	.top-effort__list__item:nth-of-type(1),
	.top-effort__list__item:nth-of-type(3) {
		margin: 0 auto 30px;
	}
	.top-effort__list__item:nth-of-type(3n) {
		margin: 0 auto 30px;
	}
	.top-effort__list__item__ph {
		margin: 0 0 15px;
	}
	.top-effort__list__item__txt {
		text-align: center;
		font-size: 1.6rem;
	}
}

/*	COMPANY	*/
.top-company {
	position: relative;
	padding: 100px 0;
}
.top-company__cap {
	width: 120px;
	text-align: left;
}
.top-company__cap * {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.top-company__list {
	width: calc(100% - 120px);
}
.top-company__list__item {
	position: relative;
	margin: 0 30px 0 0;
	padding: 50px;
	width: calc((100% - 60px) / 3);
	background: #fff;
	border: 2px solid #011558;
	border-radius: 20px;
	box-shadow: 5px 5px 0 #011558;
	overflow: hidden;
}
.top-company__list__item:nth-of-type(3n) {
	margin-right: 0;
}
.top-company__list__item a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 20px;
	text-align: center;
	overflow: hidden;
}
.top-company__list__item__icon {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 20px;
	width: 100%;
	height: 125px;
}
.top-company__list__item__about {
	width: 100%;
}
.top-company__list__item__about__ttl {
	margin-bottom: 30px;
	text-align: center;
}
.top-company__list__item__about__ttl__jp {
	display: block;
	font-size: 2.4rem;
	font-weight: 500;
	color: #011558;
}
.top-company__list__item__about__ttl__en {
	display: block;
	margin-top: 5px;
	font-size: 1.6rem;
	font-weight: 500;
}
@media screen and (max-width: 1023px) {
	.top-company__list__item {
		display: flex;
		margin: 0 auto 30px;
		padding: 50px 20px;
		width: 100%;
	}
	.top-company__list__item:nth-of-type(3n) {
		margin: 0 auto 30px;
	}
}
@media screen and (max-width: 767px) {
	.top-company {
		padding: 50px 0;
	}
	.top-company__cap {
		width: 100%;
		text-align: left;
	}
	.top-company__cap * {
		-ms-writing-mode: initial;
		writing-mode: initial;
	}
	.top-company__list {
		width: 100%;
	}
	.top-company__list__item {
		justify-content: space-between;
		align-items: center;
		margin: 0 auto 30px;
		padding: 20px;
		width: 100%;
	}
	.top-company__list__item:nth-of-type(3n) {
		margin: 0 auto 30px;
	}
	.top-company__list__item__icon {
		width: 30%;
		height: 125px;
	}
	.top-company__list__item__about {
		width: 60%;
	}
	.top-company__list__item__about__ttl {
		margin-bottom: 10px;
	}
	.top-company__list__item__about__ttl__jp {
		font-size: 1.8rem;
	}
	.top-company__list__item__about__ttl__en {
		margin-top: 0;
		font-size: 1.4rem;
	}
}


/*	MEMBER	*/
.top-member {
	position: relative;
	padding: 0;
}
.top-member__ph {
	position: relative;
	margin: 0;
	width: 57.14%;
	max-width: 800px;
	height: 750px;
}
.top-member__ph__item01 {
	position: absolute;
	top: 0;
	right: 0;
}
.top-member__ph__item01 img {
	max-width: initial;
}
.top-member__info {
	position: relative;
	margin: 0;
	width: 39.28%;
	max-width: 550px;
}
.top-member__txt {
	margin-bottom: 50px;
	font-size: 1.8rem;
}
.top-member__txt p {
	line-height: 2;
	word-break: break-word;
}
@media screen and (max-width: 1023px) {
	.top-member {
		position: relative;
		padding: 0;
	}
	.top-member__ph {
		margin: 0 auto 30px;
		width: 100%;
		height: auto;
	}
	.top-member__ph__item01 {
		position: relative;
		top: 0;
		right: 0;
	}
	.top-member__ph__item01 img {
		max-width: 100%;
	}
	.top-member__info {
		margin: 0 auto;
		width: 100%;
		max-width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.top-member__ph {
		margin: 0 auto 30px;
		width: 100%;
		max-width: 800px;
	}
	.top-member__info {
		width: 100%;
		max-width: 100%;
	}
	.top-member__txt {
		margin-bottom: 30px;
		font-size: 1.6rem;
	}
}

/*	MENU	*/
.top-menu {
	position: relative;
	padding: 100px 0 0;
}
.top-menu__list {
}
.top-menu__list__item {
	position: relative;
	margin: 0 30px 0 0;
	width: calc((100% - 30px) / 2);
	height: 360px;
	overflow: hidden;
}
.top-menu__list__item:nth-of-type(1) {
	margin-top: 70px;
}
.top-menu__list__item:nth-of-type(2n) {
	margin-right: 0;
}
.top-menu__list__item a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 20px;
	text-align: center;
	overflow: hidden;
}
.top-menu__list__item > img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 20px;
}
.top-menu__list__item__about {
	width: 100%;
}
.top-menu__list__item__about__ttl {
	margin-bottom: 30px;
	color: #fff;
}
.top-menu__list__item__about__ttl__jp {
	display: block;
	font-size: 2.4rem;
	font-weight: 500;
}
.top-menu__list__item__about__ttl__en {
	display: block;
	margin-top: 5px;
	font-size: 1.6rem;
	font-weight: 500;
}
@media screen and (max-width: 1023px) {
	.top-menu__list__item {
		margin: 0 auto 30px;
		width: 100%;
		height: 360px;
	}
	.top-menu__list__item:nth-of-type(1) {
		margin-top: 0;
	}
	.top-menu__list__item:nth-of-type(2n) {
		margin-right: auto;
	}
	.top-menu__list__item a {
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 20px;
		text-align: center;
		overflow: hidden;
	}
	.top-menu__list__item > img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		border-radius: 20px;
	}
	.top-menu__list__item__about {
		width: 100%;
	}
	.top-menu__list__item__about__ttl {
		margin-bottom: 30px;
		color: #fff;
	}
	.top-menu__list__item__about__ttl__jp {
		display: block;
		font-size: 2.4rem;
		font-weight: 500;
	}
	.top-menu__list__item__about__ttl__en {
		display: block;
		margin-top: 5px;
		font-size: 1.6rem;
		font-weight: 500;
	}
}
@media screen and (max-width: 767px) {
	.top-menu {
		padding: 50px 0 0;
	}
	.top-menu__list__item {
		margin: 0 auto 30px;
		height: 240px;
	}
	.top-menu__list__item:nth-of-type(1) {
		margin: 0 auto 30px;
	}
	.top-menu__list__item:nth-of-type(2n) {
		margin: 0 auto 30px;
	}
	.top-menu__list__item__about {
		width: 100%;
	}
	.top-menu__list__item__about__ttl {
		margin-bottom: 10px;
	}
	.top-menu__list__item__about__ttl__jp {
		font-size: 1.8rem;
	}
	.top-menu__list__item__about__ttl__en {
		margin-top: 0;
		font-size: 1.4rem;
	}
}

/*	JOB	*/
.top-job {
	position: relative;
	padding: 100px 0;
}
.top-job::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 71%;
	background: #f6f0e9;
	z-index: -1;
}
.top-job__cap {
	width: 120px;
	text-align: left;
}
.top-job__cap * {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.top-job__list {
	width: calc(100% - 120px);
}
.top-job__list__item {
	position: relative;
	margin: 0 35px 0 0;
	width: calc((100% - 70px) / 3);
	border-radius: 20px;
	overflow: hidden;
}
.top-job__list__item:nth-of-type(3n) {
	margin-right: 0;
}
.top-job__list__item a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
}
.top-job__list__item img {
	width: 100%;
}
.top-job__list__item__about {
	position: relative;
	padding: 0 20px 70px;
	background: #fff;
	text-align: center;
	z-index: 10;
}
.top-job__list__item__about::before {
	display: block;
	content: "";
	position: absolute;
	left: 50%;
	top: -60px;
	transform: translateX(-50%);
	width: 260px;
	height: 260px;
	background: #fff;
	border-radius: 1000px;
}
.top-job__list__item__about__ttl::before {
	display: block;
	content: "01";
	position: relative;
	top: -10px;
	margin-bottom: 20px;
	font-size: 6rem;
	font-weight: 900;
	color: #fcdd36;
	line-height: 1;
}
.top-job__list__item:nth-of-type(2) .top-job__list__item__about__ttl::before {
	content: "02";
}
.top-job__list__item:nth-of-type(3) .top-job__list__item__about__ttl::before {
	content: "03";
}
.top-job__list__item__about__ttl {
	margin-bottom: 20px;
}
.top-job__list__item__about__ttl__jp {
	display: block;
	position: relative;
	margin-bottom: 10px;
	font-size: 2.4rem;
	font-weight: 500;
	color: #011558;
}
.top-job__list__item__about__ttl__en {
	display: block;
	position: relative;
	font-size: 1.6rem;
	font-weight: 500;
	color: #666;
}
@media screen and (max-width: 1023px) {
	.top-job__list__item {
		margin: 0 auto 30px;
		width: 100%;
		max-width: 550px;
	}
	.top-job__list__item:nth-of-type(3n) {
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px) {
	.top-job {
		padding: 50px 0;
	}
	.top-job__cap {
		width: 100%;
	}
	.top-job__cap * {
		-ms-writing-mode: initial;
		writing-mode: initial;
	}
	.top-job__list {
		width: 100%;
	}
	.top-job__list__item {
		margin: 0 auto 20px;
		width: 100%;
	}
	.top-job__list__item:nth-of-type(3n) {
		margin: 0 auto 20px;
	}
	.top-job__list__item__about {
		padding: 0 20px 30px;
	}
	.top-job__list__item__about::before {
		top: -30px;
		width: 140px;
		height: 140px;
	}
	.top-job__list__item__about__ttl::before {
		top: -10px;
		margin-bottom: 10px;
		font-size: 3rem;
	}
	.top-job__list__item__about__ttl {
		margin-bottom: 20px;
	}
	.top-job__list__item__about__ttl__jp {
		font-size: 1.8rem;
	}
	.top-job__list__item__about__ttl__en {
		font-size: 1.4rem;
	}
}

/*NEWS*/
.top-news {
	position: relative;
	padding: 100px 0;
}
.top-news .btn-cmn02 {
	position: absolute;
	left: 15px;
	top: 135px;
}
.top-news__cap {
	width: 300px;
}
.top-news__list {
	position: relative;
	padding: 0;
	width: calc(100% - 320px);
	max-width: 850px;
}
.top-news__list li {
	border-top: 1px solid #ccc;
}
.top-news__list li:last-of-type {
	border-bottom: 1px solid #ccc;
}
.top-news__list li a {
	display: block;
	padding: 20px 50px;
}
.top-news__date {
	margin: 0 20px 0 0;
	font-size: 1.6rem;
	color: #666;
}
.top-news__cate {
	display: block;
	margin: 0 35px 0 0;
	padding: 5px 10px;
	width: 100px;
	background: #0777bb;
	border-radius: 100px;
	text-align: center;
	font-size: 1.4rem;
	color: #fff;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.top-news__ttl {
	flex: 1;
	font-size: 1.6rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
@media screen and (max-width: 1023px) {
	.top-news .btn-cmn02 {
		position: relative;
		left: 0;
		top: 0;
	}
	.top-news__cap {
		width: 100%;
	}
	.top-news__list {
		margin-bottom: 40px;
		width: 100%;
		max-width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.top-news {
		padding: 50px 0;
	}
	.top-news__cap {
		width: 100%;
	}
	.top-news__list {
		width: 100%;
		max-width: 100%;
	}
	.top-news__list li a {
		display: block;
		padding: 10px 20px;
	}
	.top-news__date {
		margin: 0 10px 0 0;
		font-size: 1.4rem;
	}
	.top-news__cate {
		margin: 0 15px 0 0;
		padding: 5px 10px;
		width: 100px;
		font-size: 1.4rem;
	}
	.top-news__ttl {
		flex: initial;
		margin-top: 10px;
		font-size: 1.4rem;
		width: 100%;
	}
}

/*	CONTACT	*/
.cmn-contact {
	position: relative;
	padding: 90px 0;
	background: #f6f0e9;
}
.cmn-contact__ttl__txt {
	margin-bottom: 50px;
	text-align: center;
	font-size: 1.8rem;
}
.cmn-contact__item {
	position: relative;
	padding: 0 10px;
	width: 50%;
	text-align: left;
}
.cmn-contact__item:first-of-type {
	text-align: right;
}
.cmn-contact__tel {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 0 auto;
	max-width: 500px;
	height: 120px;
	background: #fff;
	text-align: center;
	border-radius: 200px;
}
.cmn-contact__tel__btn {
	display: inline-block;
}
.cmn-contact__tel__num {
	position: relative;
	display: inline-block;
	padding: 0 0 0 45px;
	font-size: 3rem;
	font-weight: 600;
	font-family: 'Barlow', sans-serif;
	white-space: nowrap;
	line-height: 1;
}
.cmn-contact__tel__num::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 25px;
	height: 25px;
	background: url(../img/cmn/icon_cv_tel.png);
}
.cmn-contact__tel__txt {
	margin-top: 10px;
	padding: 0;
	width: 100%;
	border: 1px solid #666;
	font-size: 1.4rem;
	text-align: center;
}
.cmn-contact__btn {
	margin: 0 auto 0 0;
	max-width: 500px;
	height: 120px;
	text-align: center;
}
.cmn-contact__btn--mail a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: #011558;
	border-radius: 200px;
}
.cmn-contact__btn--mail a span {
	display: inline-block;
	position: relative;
	padding: 0 0 0 50px;
	font-size: 1.8rem;
	color: #fff;
}
.cmn-contact__btn a span::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 29px;
	background: url(../img/cmn/icon_cv_entry.png) no-repeat center center;
}
@media screen and (max-width: 767px) {
	.cmn-contact {
		padding: 40px 0;
	}
	.cmn-contact__ttl__txt {
		margin-bottom: 20px;
		font-size: 1.6rem;
	}
	.cmn-contact__item {
		padding: 10px;
		width: 100%;
	}
	.cmn-contact__item:first-of-type {
		text-align: center;
	}
	.cmn-contact__tel {
		margin: 0 auto;
		height: 100px;
	}
	.cmn-contact__btn {
		margin: 0 auto;
		height: 100px;
	}
}


/*	新着ページ
---------------------------------*/
.news-cnt {
	padding: 60px 0 120px;
}
.news-cnt > div {
	background: #fff;
	min-height: 500px;
}
.news-cnt main {
	width: calc(100% - 230px);
	max-width: 900px;
}
.news-cnt aside {
	width: 200px;
}
.news-side__ttl {
	padding: 15px 15px;
	background: #011558;
	font-size: 1.6rem;
	font-weight: 500;
	color: #fff;
}
.news-side__list li {
	border-bottom: 1px solid #ccc;
}
.news-side__list a {
	display: block;
	padding: 15px 15px;
	font-size: 1.6rem;
	font-weight: 500;
	color: #999;
}
@media screen and (max-width: 767px) {
	.news-cnt {
		padding: 30px 0 60px;
	}
	.news-cnt > div {
		min-height: initial;
	}
	.news-cnt main {
		width: 100%;
		max-width: 100%;
	}
	.news-cnt aside {
		margin-top: 60px;
		width: 100%;
	}
	.news-side__ttl {
		padding: 15px 15px;
		font-size: 1.6rem;
	}
	.news-side__list a {
		padding: 15px 15px;
	}
}

/*	新着一覧 */
.news-archive__list {
	position: relative;
	margin: 0 0 110px;
	padding: 0;
}
.news-archive__list ul {
	border-top: 1px solid #ccc;
}
.news-archive__list li {
	border-bottom: 1px solid #ccc;
}
.news-archive__list__info {
	position: relative;
	margin: 0;
	padding: 20px 50px;
}
.news-archive__list__date {
	margin: 0 20px 0 0;
	font-size: 1.6rem;
	color: #666;
}
.news-archive__list__cate {
	display: block;
	margin: 0 35px 0 0;
	padding: 5px 10px;
	width: 100px;
	background: #0777bb;
	border-radius: 100px;
	text-align: center;
	font-size: 1.4rem;
	color: #fff;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.news-archive__list__ttl {
	margin: 10px 0 0;
	width: 100%;
	font-size: 1.6rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.news-archive__pagenav span,
.news-archive__pagenav a {
	margin: 0 3px 6px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	font-size: 1.6rem;
}
.news-archive__pagenav span {
	background: #011558;
	border: 1px solid #011558;
	color: #fff;
}
.news-archive__pagenav a {
	border: 1px solid #ccc;
	color: #333;
}
@media screen and (max-width: 767px) {
	.news-archive__list {
		margin: 0 0 60px;
	}
	.news-archive__list__info {
		padding: 15px;
	}
	.news-archive__list__date {
		margin: 0 10px 0 0;
	}
	.news-archive__list__cate {
		margin: 0 10px 0 0;
		padding: 5px 5px;
	}
	.news-archive__list__ttl {
		margin: 10px 0 0;
	}
}

/*	新着一覧 */
.news-post__body {
	position: relative;
	margin: 0 0 70px;
	padding: 0 0 50px;
	border-bottom: 1px solid #ccc;
}
.news-post__ttl {
	margin: 0 0 20px;
	padding: 0 0 20px;
	border-bottom: 1px solid #ccc;
	font-size: 2.1rem;
	font-weight: 500;
}
.news-post__date {
	margin: 0 0 10px;
	font-size: 1.6rem;
	color: #999;
}
.news-post__editor {
	font-size: 1.6rem;
}
.news-post__editor p + p {
	margin-top: 2em;
}
@media screen and (max-width: 767px) {
	.news-post__body {
		margin: 0 0 50px;
		padding: 0 0 30px;
	}
	.news-post__ttl {
		margin: 0 0 20px;
		padding: 0 0 20px;
		font-size: 1.8rem;
	}
	.news-post__date {
		margin: 0 0 10px;
		font-size: 1.6rem;
	}
	.news-post__editor {
		font-size: 1.6rem;
	}
}

/*	藏尾の取り組み
---------------------------------*/
.effort-guide {
	position: relative;
	padding: 0;
	overflow: hidden;
}
.effort-guide::before {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	height: calc(100% - 200px);
	background: #f6f0e9;
	border-spacing: 20px;
	z-index: -1;
}
.effort-guide__list {
	position: relative;
}
.effort-guide__list__item {
	position: relative;
	padding: 100px 0;
	z-index: 10;
}
.effort-guide__list__item + .effort-guide__list__item {
	margin-top: 65px;
}
.effort-guide__list__item::before {
	content: "";
	position: absolute;
	top: 0;
	left: calc(50vw - 400px);
	width: 200%;
	height: 100%;
	background: #fff;
	border-radius: 20px;
	z-index: -1;
}
.effort-guide__list__item.row-reverse::before {
	left: auto;
	right: calc(50vw - 400px);
}
.effort-guide__list__item__ph {
	position: relative;
	margin: 100px 0 0;
	width: 50%;
	max-width: 600px;
}
.effort-guide__list__item__info {
	position: relative;
	margin: 0;
	width: 41.66%;
	max-width: 500px;
}
.effort-guide__list__item__txt {
	margin-bottom: 50px;
	font-size: 1.8rem;
}
.effort-guide__list__item__txt p {
	line-height: 2;
	word-break: break-word;
}
@media screen and (max-width: 767px) {
	.effort-guide::before {
		height: calc(100% - 100px);
	}
	.effort-guide__list__item {
		position: relative;
		padding: 50px 0;
	}
	.effort-guide__list__item + .effort-guide__list__item {
		margin-top: 35px;
	}
	.effort-guide__list__item::before {
		left: calc(50vw - 100px);
	}
	.effort-guide__list__item.row-reverse::before {
		left: auto;
		right: calc(50vw - 100px);
	}
	.effort-guide__list__item__ph {
		margin: 0 0 50px;
		width: 100%;
		max-width: 100%;
	}
	.effort-guide__list__item__ph img {
		width: 100%;
	}
	.effort-guide__list__item__info {
		margin: 0;
		width: 100%;
		max-width: 100%;
	}
	.effort-guide__list__item__txt {
		margin-bottom: 30px;
		font-size: 1.6rem;
	}
}

/*	会社案内
---------------------------------*/
.company-data {
	margin-top: 100px;
	padding: 100px 0 65px;
	background: #f6f0e9;
}
.company-data__list {}
.company-data__list__item {
	margin: 0 35px 35px 0;
	padding: 50px 15px;
	width: calc((100% - 70px) / 3);
	background: #fff;
	border-radius: 15px;
	text-align: center;
}
.company-data__list__item:nth-of-type(3n) {
	margin-right: 0;
}
.company-data__list__item__ttl {
	font-size: 2.4rem;
	font-weight: 500;
	color: #011558;
}
.company-data__list__item__txt {
	font-size: 6rem;
	font-weight: 600;
	color: #fcdd36;
}
.company-data__list__item__txt span {
	font-size: 2.4rem;
	font-weight: inherit;
}
@media screen and (max-width: 1023px) {
.company-data__list__item {
	margin: 0 15px 15px 0;
	width: calc((100% - 15px) / 2);
}
.company-data__list__item:nth-of-type(3n) {
	margin-right: 15px;
}
.company-data__list__item:nth-of-type(2n) {
	margin-right: 0;
}
}
@media screen and (max-width: 767px) {
.company-data {
	margin-top: 50px;
	padding: 50px 0 35px;
}
.company-data__list__item {
	padding: 30px 15px;
}
.company-data__list__item__ttl {
	font-size: 2rem;
}
.company-data__list__item__txt {
	font-size: 3rem;
}
.company-data__list__item__txt span {
	font-size: 1.8rem;
}
}


.company-guide {
	padding: 100px 0;
}
.company-guide__outline {
	padding: 0 0 60px;
}
.company-guide__access {}
.company-guide__access__map {}
.company-guide__access__map__item + .company-guide__access__map__item {
	margin-top: 60px;
}
.company-guide__access__map__item__ttl {
	margin-bottom: 20px;
	font-size: 2.1rem;
	font-weight: 600;
	color: #011558;
}
.company-guide__access__map__item figure {
	position: relative;
	width: 100%;
	height: 450px;
}
.company-guide__access__map__item figure iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 767px) {
.company-guide {
	padding: 50px 0;
}
.company-guide__outline {
	padding: 0 0 30px;
}
.company-guide__access {}
.company-guide__access__map {}
.company-guide__access__map__item + .company-guide__access__map__item {
	margin-top: 30px;
}
.company-guide__access__map__item__ttl {
	margin-bottom: 10px;
	font-size: 1.6rem;
}
.company-guide__access__map__item figure {
	height: 60vw;
}
}

/*	募集要項ページ
---------------------------------*/
.entry-flow {
	margin-top: 100px;
}
.entry-flow__otr {
	padding: 100px 0 65px;
	background: #f6f0e9;
}
.entry-flow__list {}
.entry-flow__list__item {
	position: relative;
	margin: 0 20px 20px 0;
	padding: 50px 15px;
	width: calc((100% - 60px) / 4);
	background: #fff;
	border-radius: 15px;
	text-align: center;
}
.entry-flow__list__item:nth-of-type(4n) {
	margin-right: 0;
}
.entry-flow__list__item:not(:last-child)::after {
	content: "→";
	display: block;
	position: absolute;
	left: 100%;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	text-align: center;
	font-size: 2rem;
	color: #011558;
}
.entry-flow__list__item__num {
	position: absolute;
	bottom: calc(100% - 20px);
	left: 15px;
	font-size: 2.1rem;
	font-weight: 600;
	color: #011558;
	line-height: 1;
}
.entry-flow__list__item__num span {
	font-size: 6rem;
	font-weight: inherit;
}
.entry-flow__list__item__ttl {
	margin-top: 30px;
	padding: 20px 0 0;
	border-top: 2px solid #ccc;
	font-size: 2.1rem;
	font-weight: 500;
	line-height: 1;
}
@media screen and (max-width: 767px) {
.entry-flow {
	margin-top: 50px;
}
.entry-flow__otr {
	padding: 50px 0;
}
.entry-flow__list {}
.entry-flow__list__item {
	margin: 0 auto 20px;
	padding: 30px 15px;
	width: 100%;
}
.entry-flow__list__item:nth-of-type(4n) {
	margin-right: auto;
}
.entry-flow__list__item:not(:last-child)::after {
	content: "↓";
	display: block;
	position: absolute;
	left: 0;
	top: 100%;
	transform: translateY(0);
	width: 100%;
	height: 20px;
	line-height: 20px;
}
.entry-flow__list__item__num {
	font-size: 1.6rem;
}
.entry-flow__list__item__num span {
	font-size: 3rem;
}
	.entry-flow__list__item__icon img {
		height: 55px;
	}
.entry-flow__list__item__ttl {
	margin-top: 20px;
	padding: 10px 0 0;
	font-size: 1.8rem;
}
}

.entry-guide {
	padding: 100px 0;
}
.entry-guide__outline {
	padding: 0;
}
@media screen and (max-width: 767px) {
.entry-guide {
	padding: 50px 0;
}
}

/*	お問い合わせページ
---------------------------------*/
.contact-mail {
	padding: 120px 0 70px;
}
.contact-mail__cap {
	margin-bottom: 45px;
	text-align: center;
}
.contact-mail__box {
	padding: 70px 40px;
	border: 1px solid #ccc;
}
.contact-mail__form {
	max-width: 1000px;
	margin: 0 auto;
	font-size: 1.6rem;
}
.contact-mail__form table {
	width: 100%;
	border-top: 1px solid #ccc;
	font-family: 'Noto Sans JP', sans-serif;
}
.contact-mail__form table tr {
	border-bottom: 1px solid #ccc;
}
.contact-mail__form table th {
	width: 300px;
	padding: 20px 20px 20px 100px;
	text-align: left;
	vertical-align: top;
}
.contact-mail__form table td {
	padding: 20px;
}
.contact-mail__form th .required {
	display: inline-block;
	padding: 1px 5px 2px;
	margin: 0 0 0 15px;
	background: #bd341d;
	border-radius: 3px;
	font-size: 1.2rem;
	color: #fff;
	font-weight: 500;
}
.contact-mail__form a {
	color: #084a81;
	text-decoration: underline;
}
.contact-mail__form td input[type="email"],
.contact-mail__form td input[type="text"],
.contact-mail__form td input[type="tel"],
.contact-mail__form td textarea {
	min-height: 30px;
	vertical-align: middle;
	border: 1px solid #ccc;
	font-size: 1.4rem;
	font-family: 'Noto Sans JP', sans-serif;
	-webkit-appearance: none;
}
.contact-mail__form td select {
	min-height: 30px;
}
.contact-mail__form .field-s {
	width: 40%;
}
.contact-mail__form .field-m {
	width: 60%;
}
.contact-mail__form .field-l {
	width: 100%;
}
.mwform-checkbox-field input, .mwform-radio-field input {
	margin: 0 5px 0 0;
}
.contact-mail__form .age input {
	width: 50px;
}
.mwform-radio-field.horizontal-item {
	display: inline-block;
}
.mw_wp_form .horizontal-item+.horizontal-item {
	margin-left: 20px !important;
}
.contact-mail__btn {
	text-align: center;
	margin-top: 50px;
}
.contact-mail__btn input.send-btn {
	display: inline-block;
	font-family: 'Noto Sans JP';
	width: 100%;
	max-width: 300px;
	line-height: 60px;
	border-radius: 0;
	background: #011558;
	border-radius: 60px;
	font-size: 1.8rem;
	color: #fff;
	text-align: center;
	cursor: pointer;
	-webkit-appearance: none;
	letter-spacing: 0.1em;
	border: none;
}
.contact-mail__btn input.return-btn {
	display: inline-block;
	font-family: 'Noto Sans JP';
	margin: 0 15px 0 0;
	width: 100%;
	max-width: 300px;
	line-height: 60px;
	border-radius: 0;
	background: #333;
	border-radius: 60px;
	border: none;
	font-size: 1.8rem;
	color: #fff;
	text-align: center;
	cursor: pointer;
	-webkit-appearance: none;
	letter-spacing: 0.1em;
	border: none;
}
.contact-privacy {
	padding: 0 0 150px;
}
.contact-privacy__cap {
	margin-bottom: 45px;
	text-align: center;
}
.contact-privacy__box {
	overflow-y: scroll;
	text-align: left;
	height: 300px;
	border: 1px solid #ccc;
	padding: 30px;
	background: #fff;
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', sans-serif;
}
.contact-privacy__box dl {
	margin-top: 50px;
}
.contact-privacy__box dt {
	font-weight: 700;
	border-bottom: 1px solid #ccc;
	margin-bottom: 8px;
	padding-bottom: 3px;
}
.contact-privacy__box dd {
	margin-bottom: 20px;
}
@media screen and (max-width:767px) {
	.contact-mail {
		padding: 60px 0 35px;
	}
	.contact-mail__cap {
		margin-bottom: 2rem;
	}
	.contact-mail__box {
		padding: 35px 20px;
	}
	.contact-mail__form {
		font-size: 1.6rem;
	}
	.contact-mail__form table th {
		display: block;
		width: 100%;
		padding: 15px 15px 0;
	}
	.contact-mail__form table td {
		display: block;
		width: 100%;
		padding: 15px;
	}
	.contact-mail__form th .required {
		padding: 2px 10px;
		margin: 0 0 0 10px;
		border-radius: 5px;
		font-size: 1.2rem;
	}
	.contact-mail__form td input[type="email"],
	.contact-mail__form td input[type="text"],
	.contact-mail__form td input[type="tel"],
	.contact-mail__form td textarea {
		min-height: 30px;
		font-size: 1.4rem;
	}
	.contact-mail__form td select {
		min-height: 20px;
	}
	.contact-mail__form .field-s {
		width: 100%;
	}
	.contact-mail__form .field-m {
		width: 100%;
	}
	.contact-mail__form .field-l {
		width: 100%;
	}
	.mwform-checkbox-field input, .mwform-radio-field input {
		margin: 0 10px 0 0;
	}
	.contact-mail__form .age input {
		width: 10rem;
	}
	.contact-mail__btn {
		text-align: center;
	}
	.contact-mail__btn input.send-btn {
		line-height: 60px;
		font-size: 1.8rem;
	}
	.contact-mail__btn input.return-btn {
		line-height: 60px;
		font-size: 1.8rem;
	}
	.contact-privacy {
		padding: 0 0 15rem;
	}
	.contact-privacy__cap {
		margin-bottom: 25px;
	}
	.contact-privacy__box {
		height: 150px;
		border: 1px solid #ccc;
		padding: 15px;
		font-size: 1.6rem;
	}
	.contact-privacy__box dl {
		margin-top: 25px;
	}
	.contact-privacy__box dt {
		margin-bottom: 10px;
		padding-bottom: 5px;
	}
	.contact-privacy__box dd {
		margin-bottom: 10px;
	}
}

/*	スタッフ紹介
---------------------------------*/

/*	代表	*/
.member-message {
	position: relative;
	padding: 120px 0 300px;
	overflow: hidden;
}
.member-message::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 65%;
	background: #f6f0e9;
	z-index: -1;
}
.member-message__ph {
	position: relative;
	margin: 0;
	width: 50%;
	max-width: 600px;
	height: 610px;
}
.member-message__ph__item01 {
	position: absolute;
	top: 0;
	left: 100px;
}
.member-message__ph__item02 {
	position: absolute;
	bottom: -165px;
	left: 0;
}
.member-message__ph__item01 img,
.member-message__ph__item02 img {
	display: block;
	max-width: initial;
}
.member-message__info {
	position: relative;
	margin: 0;
	padding: 100px 0 0;
	width: 39.28%;
	max-width: 550px;
}
.member-message__txt {
	margin-bottom: 50px;
	font-size: 1.8rem;
}
.member-message__txt p {
	line-height: 2;
	word-break: break-word;
}
@media screen and (max-width: 1023px) {
	.member-message__ph {
		position: relative;
		margin: 0;
		width: 100%;
		max-width: 800px;
		height: initial;
	}
	.member-message__ph__item01 {
		position: relative;
		top: 0;
		right: 0;
	}
	.member-message__ph__item02 {
		position: absolute;
		bottom: -10vw;
		right: 0;
		width: 50%;
	}
	.member-message__ph__item01 img,
	.member-message__ph__item02 img {
		max-width: 100%;
	}
	.member-message__info {
		margin-top: 15vw;
		width: 100%;
		max-width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.member-message {
		padding: 60px 0 100px;
	}
	.member-message__info {
		position: relative;
	}
	.member-message__txt {
		margin-bottom: 30px;
		font-size: 1.6rem;
	}
}

/*	代表	*/
.member-interview {
	position: relative;
	padding: 120px 0;
	overflow: hidden;
}
.member-interview__list__item {
	padding: 50px 100px;
	border: 1px solid #011558;
	border-radius: 20px;
}
.member-interview__list__item + .member-interview__list__item {
	margin-top: 65px;
}
.member-interview__list__item__ph {
	position: relative;
	margin: 0;
	width: 47%;
}
.member-interview__list__item__profile {
	position: relative;
	margin: 0;
	width: 44%;
}
.member-interview__list__item__profile__name {
	margin-bottom: 20px;
	font-size: 3rem;
	font-weight: 600;
	color: #011558;
}
.member-interview__list__item__profile__name span {
	font-size: 1.6rem;
	font-weight: 600;
	color: #333;
}
.member-interview__list__item__profile__about {
	padding: 25px 0;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	font-size: 1.6rem;
	line-height: 2;
}
.member-message__txt {
	margin-bottom: 50px;
	font-size: 1.8rem;
}
.member-message__txt p {
	line-height: 2;
	word-break: break-word;
}
.member-interview__list__item__profile__qa {
	margin-top: 50px;
	width: 100%;
}
.member-interview__list__item__profile__qa dt {
	margin-bottom: 1em;
	font-size: 1.6rem;
	font-weight: 600;
	color: #011558;
}
.member-interview__list__item__profile__qa dd {
	font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
.member-interview {
	padding: 60px 0;
}
.member-interview__list__item {
	padding: 20px 20px;
	border-radius: 10px;
}
.member-interview__list__item + .member-interview__list__item {
	margin-top: 25px;
}
.member-interview__list__item__ph {
	position: relative;
	margin: 0 auto 20px;
	width: 100%;
	text-align: center;
}
.member-interview__list__item__profile {
	position: relative;
	margin: 0;
	width: 100%;
}
.member-interview__list__item__profile__name {
	margin-bottom: 10px;
	font-size: 2rem;
}
.member-interview__list__item__profile__name span {
	font-size: 1.6rem;
}
.member-interview__list__item__profile__about {
	padding: 15px 0;
}
.member-message__txt {
	margin-bottom: 30px;
	font-size: 1.6rem;
}
.member-interview__list__item__profile__qa {
	margin-top: 30px;
	width: 100%;
}
.member-interview__list__item__profile__qa dt {
	margin-bottom: 1em;
	font-size: 1.6rem;
}
.member-interview__list__item__profile__qa dd {
	font-size: 1.6rem;
}
}

/*	仕事を知る
---------------------------------*/
.job-business {
	position: relative;
	margin-top: 100px;
	padding: 0;
}
.job-business::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 15%;
	background: #f6f0e9;
	z-index: -1;
}
.job-business__cap {
	margin: 0 0 80px;
	text-align: center;
}
.job-business__cap__main {
	font-size: 3rem;
	font-weight: 600;
}
.job-business__cap__sub {
	margin-top: 1em;
	font-size: 2.4rem;
	font-weight: 600;
	color: #011558;
}
@media screen and (max-width: 767px) {
.job-business {
	margin-top: 50px;
}
.job-business__cap {
	margin: 0 0 40px;
}
.job-business__cap__main {
	font-size: 2rem;
}
.job-business__cap__sub {
	font-size: 1.8rem;
}
}

.job-flow {
	padding: 100px 0;
	background: #f6f0e9;
}
.job-flow__list {
	margin: 0 auto;
	max-width: 1000px;
}
.job-flow__list__item {
	padding: 100px 50px;
	background: #fff;
	border-radius: 20px;
}
.job-flow__list__item + .job-flow__list__item {
	margin-top: 80px;
}
.job-flow__list__item__time {
	width: 240px;
}
.job-flow__list__item__time span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 80px;
	border: 2px solid #011558;
	border-radius: 20px;
	box-shadow: 5px 5px 0 #011558;
	font-size: 3rem;
	font-weight: 600;
	color: #011558;
}
.job-flow__list__item__info {
	padding: 0 0 0 70px;
	width: calc(100% - 290px);
	border-left: 1px solid #ccc;
}
.job-flow__list__item__info__ttl {
	font-size: 2.4rem;
	font-weight: 600;
}
.job-flow__list__item__info__txt {
	font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
.job-flow {
	padding: 50px 0;
}
.job-flow__list__item {
	padding: 50px 20px;
	border-radius: 10px;
}
.job-flow__list__item + .job-flow__list__item {
	margin-top: 40px;
}
.job-flow__list__item__time {
	width: 240px;
}
.job-flow__list__item__time span {
	width: 100%;
	height: 80px;
	border-radius: 10px;
	box-shadow: 5px 5px 0 #011558;
	font-size: 2rem;
}
.job-flow__list__item__info {
	padding: 20px 0 0;
	width: 100%;
	border-left: none;
}
.job-flow__list__item__info__ttl {
	font-size: 2rem;
}
.job-flow__list__item__info__txt {
	font-size: 1.6rem;
}
}

.job-career {
	position: relative;
	padding: 100px 0;
}
.job-career__list {
	margin: 0 auto;
	max-width: 1000px;
}
.job-career__list__item {
	width: calc((100% - 8px) / 3);
}
.job-career__list__item__icon {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin-bottom: 50px;
}
.job-career__list__item__info__ttl {
	margin-bottom: 15px;
	padding: 0 15px;
	font-size: 2.4rem;
	font-weight: 600;
	color: #011558;
}
.job-career__list__item__info__txt {
	padding: 0 15px;
	font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
.job-career {
	padding: 50px 0;
}
.job-career__list__item {
	margin: 0 auto 20px;
	width: 100%;
}
.job-career__list__item__icon {
	margin-bottom: 10px;
	text-align: center;
}
.job-career__list__item__info__ttl {
	margin-bottom: 15px;
	font-size: 1.6rem;
}
.job-career__list__item__info__txt {
	font-size: 1.4rem;
}	
}