@charset "utf-8";

/*----------------------------------------------------
 elements
----------------------------------------------------*/
html {
	font-size: 62.5%;
}

body {
	color: #161616;
	font-family: "Noto Serif JP", ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, sans-serif;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.020em;
	line-height: 2;
	background: #fff;
}

div {
	box-sizing: border-box;
}

img{
	vertical-align:top;
	max-width: 100%;
	height: auto;
}

a {
	outline: none;
	color: #000;
	text-decoration: none;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

a:focus, *:focus {
	outline:none;
}

a:visited {
	color: #212121;
}

a img {
	-webkit-transition: opacity .5s ease-out;
	-moz-transition: opacity .5s ease-out;
	-ms-transition: opacity .5s ease-out;
	transition: opacity .5s ease-out;
}

.post, .page {
	margin: 0;
}


.center {
	text-align: center;
}

.clearfix:after {
	content:" ";
	display:block;
	clear:both;
}

.clear {
	clear:both;
	height: 0;
}

small {
	font-weight: 500;
}

ul, ol {
	padding: 0;
	margin: 0;
}

li > ul, li > ol {
	margin-left: 0;
}

ul li {
	list-style: none;
	box-sizing: border-box;
}

dl {
	margin: 0;
}

dt {
	font-weight: 500;
	box-sizing: border-box;
}

dd {
	margin: 0;
	box-sizing: border-box;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

table th,
table td {
	box-sizing: border-box;
}

h1, h2, h3, h4, h5 {
	font-weight: 500;
}

p {
	margin: 0;
}

/*----------------------------------------------------
 fadeIn
----------------------------------------------------*/

.fadeIn {
	transform: translate3d(0, -10px, 0);
	transition: 1s;
	opacity: 0;
}

.fadeIn.animated {
	transform: translate3d(0, 0, 0);
	opacity: 1;
}

/*----------------------------------------------------
 inner
----------------------------------------------------*/
.inner {
	width: calc(100% - 3.6rem);
	max-width: 1440px;
	margin: 0 auto;
}

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

#header {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	background: #fff;
	box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
	transform: translateY(-100%);
	-webkit-transform: translateY(-100%);
	-moz-transform: translateY(-100%);
	transition: all 0.4s ease;
	z-index: 100;
}

#header.fixed {
	transform: translateY(0);
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
}

#header .inner {
	max-width: initial;
}

#header .headerFlex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 13px 15px 12px;
}

#header .headerFlex .logo {
	width: 100%;
	max-width: 281px;
}

#header .headerFlex .button {
	width: 100%;
	max-width: 400px;
}

#header .headerFlex .button a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	background: #feeb49;
	border-radius: 30px;
	padding: 20px 0;
}

#header .headerFlex .button a .tex {
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.025em;
	color: #171717;
}

#header .headerFlex .button a .icon {
	width: 100%;
	max-width: 15px;
	line-height: 11px;
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

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

#footer {
	background: #00004b;
	padding: 44px 69px 19px 69px;
	box-sizing: border-box;
}

#footer .inner {
	max-width: initial;
}

#footer .logo {
	width: 100%;
	max-width: 232px;
	margin-bottom: 23px;
}

#footer nav {
	position: relative;
	z-index: 1;
}

#footer nav ul {
	display: flex;
}

#footer nav ul li {
	margin-right: 14px;
}

#footer nav ul li a {
	display: flex;
	align-items: center;
}

#footer nav ul li a .tex {
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.025em;
	color: #ffffff;
	margin-right: 6px;
}

#footer nav ul li a .arrow {
	width: 100%;
	max-width: 6px;
	line-height: 9px;
	margin: 1px 0 0 0;
}

#footer .copy {
	display: flex;
	justify-content: center;
	transform: translate(8px, -14px);
	-webkit-transform: translate(8px, -14px);
	-moz-transform: translate(8px, -14px);
}

#footer .copy p {
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.025em;
	color: #ffffff;
	margin: 0 8px;
}

/*----------------------------------------------------
 #goTop
----------------------------------------------------*/

#goTop a {
	width: 60px;
	height: 60px;
	background: #feeb49;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	right: 30px;
	bottom: 30px;
}

#goTop a .icon {
	width: 100%;
	max-width: 13px;
	line-height: 20px;
}


/*----------------------------------------------------
 #visual
----------------------------------------------------*/

#visual {
	overflow: hidden;
	padding: 0 0 310px 0;
	background: url('../img/visualBg@2x.jpg') center bottom no-repeat;
	background-size: cover;
}

#visual .visualHead {
	margin-bottom: 130px;
}

#visual .visualHead .inner {
	max-width: initial;
}

#visual .visualFlex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 13px 15px 12px;
}

#visual .visualFlex .logo {
	width: 100%;
	max-width: 281px;
}

#visual .visualFlex .button {
	width: 100%;
	max-width: 400px;
}

#visual .visualFlex .button a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	background: #feeb49;
	border-radius: 30px;
	padding: 20px 0;
}

#visual .visualFlex .button a .tex {
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.025em;
	color: #171717;
}

#visual .visualFlex .button a .icon {
	width: 100%;
	max-width: 15px;
	line-height: 11px;
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

#visual .visualConts {
	position: relative;
}

#visual .visualConts .inner {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

#visual .visualConts .head {
	width: 100%;
	max-width: 762px;
	margin-bottom: 94px;
	transform: translateX(14px);
	-webkit-transform: translateX(14px);
	-moz-transform: translateX(14px);
}

#visual .visualConts .enTex {
	width: 100%;
	max-width: 248px;
	margin-right: 34px;
}

/*----------------------------------------------------
 #recruit
----------------------------------------------------*/

#recruit {
	overflow: hidden;
	position: relative;
	padding: 122px 0 0 0;
}

#recruit .head {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 45px;
}

#recruit .head .enTex {
	position: relative;
	margin-bottom: 33px;
}

#recruit .head .enTex:before {
	content: '';
	width: 1px;
	height: 50px;
	background: #161616;
	position: absolute;
	top: 60%;
	left: calc(50% - 3px);
	transform: translate(-50%, -50%) rotate(26deg);
	-webkit-transform: translate(-50%, -50%) rotate(26deg);
	-ms-transform: translate(-50%, -50%) rotate(26deg);
}

#recruit .head .enTex:after {
	content: '';
	width: 1px;
	height: 50px;
	background: #161616;
	position: absolute;
	top: 60%;
	left: calc(50% + 3px);
	transform: translate(-50%, -50%) rotate(26deg);
	-webkit-transform: translate(-50%, -50%) rotate(26deg);
	-ms-transform: translate(-50%, -50%) rotate(26deg);
}

#recruit .head .enTex span {
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.025em;
	font-family: "Crimson Text", serif;
	text-align: center;
	color: #161616;
	background: #fff;
	position: relative;
	z-index: 1;
}

#recruit .head h2 {
	font-size: 46px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.13em;
	text-align: center;
	color: #161616;
}

#recruit .recruitFlex {
	display: flex;
	justify-content: space-between;
	padding: 0 33px 0 62px;
}

#recruit .recruitFlex .box {
	width: 100%;
	max-width: 320px;
}

#recruit .recruitFlex .box .topBox {
	min-height: 170px;
	position: relative;
	background: #f5f4f4;
	margin-bottom: 17px;
	padding: 26px 38px 37px 38px;
}

#recruit .recruitFlex .box .topBox p {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.1em;
	color: #161616;
}

#recruit .recruitFlex .box .topBox .arrow {
	width: 100%;
	max-width: 39px;
	position: absolute;
	bottom: -31px;
	left: 52%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	z-index: 1;
}

#recruit .recruitFlex .box .bottomBox {
	position: relative;
	background: #ffffff;
	border-bottom: 8px solid #005ba9;
	padding: 45px 28px 50px 38px;
	box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
}

#recruit .recruitFlex .box .bottomBox h3 {
	font-size: 32px;
	font-weight: 600;
	line-height: 1.375;
	letter-spacing: 0.13em;
	color: #005ba9;
}

#recruit .recruitFlex .box .bottomBox .icon {
	width: 100%;
	max-width: 51px;
	position: absolute;
	top: -9px;
	left: 23px;
}

/*----------------------------------------------------
 #sustainable
----------------------------------------------------*/

#sustainable {
	overflow: hidden;
	position: relative;
	padding: 122px 0 0 0;
}

#sustainable .head {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 61px;
}

#sustainable .head .enTex {
	position: relative;
	margin-bottom: 33px;
}

#sustainable .head .enTex:before {
	content: '';
	width: 1px;
	height: 50px;
	background: #161616;
	position: absolute;
	top: 60%;
	left: calc(50% - 3px);
	transform: translate(-50%, -50%) rotate(26deg);
	-webkit-transform: translate(-50%, -50%) rotate(26deg);
	-ms-transform: translate(-50%, -50%) rotate(26deg);
}

#sustainable .head .enTex:after {
	content: '';
	width: 1px;
	height: 50px;
	background: #161616;
	position: absolute;
	top: 60%;
	left: calc(50% + 3px);
	transform: translate(-50%, -50%) rotate(26deg);
	-webkit-transform: translate(-50%, -50%) rotate(26deg);
	-ms-transform: translate(-50%, -50%) rotate(26deg);
}

#sustainable .head .enTex span {
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.025em;
	font-family: "Crimson Text", serif;
	text-align: center;
	color: #161616;
	background: #fff;
	position: relative;
	z-index: 1;
}

#sustainable .head h2 {
	font-size: 46px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.13em;
	text-align: center;
	color: #161616;
}

#sustainable .sustainaTop {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: flex-start;
	width: calc(100% + 120px);
	margin: 0 0 44px -33px;
	padding: 0 38px 0 0;
}

#sustainable .sustainaTop .image {
	width: 100%;
	max-width: 932px;
}

#sustainable .sustainaTop .conts {
	position: relative;
	width: 539px;
	margin: 60px 0 0 0;
	padding: 70px 0 73px 40px;
}

#sustainable .sustainaTop .conts .border01 {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	max-width: 56px;
	z-index: 1;
}

#sustainable .sustainaTop .conts .border02 {
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	max-width: 56px;
	z-index: 1;
}

#sustainable .sustainaTop .conts .border03 {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	max-width: 56px;
	z-index: 1;
}

#sustainable .sustainaTop .conts .border04 {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	max-width: 56px;
	z-index: 1;
}

#sustainable .sustainaTop .conts .yellowTop {
	position: absolute;
	right: -66px;
	top: -39px;
	width: 100%;
	max-width: 207.5px;
	z-index: 0;
}

#sustainable .sustainaTop .conts .yellowBottom {
	position: absolute;
	left: -75px;
	bottom: -39px;
	width: 100%;
	max-width: 207.5px;
	z-index: 0;
}

#sustainable .sustainaTop .conts h3 {
	font-size: 36px;
	font-weight: 600;
	line-height: 1.7777;
	letter-spacing: 0.3em;
	color: #161616;
}

#sustainable .sustainaBoxes {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin-bottom: 109px;
}

#sustainable .sustainaBoxes:after {
	content: '';
	width: 1px;
	height: 108px;
	background: #000;
	position: absolute;
	bottom: -82px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

#sustainable .sustainaBoxes .box {
	width: 360px;
	margin: 0 25px;
}

#sustainable .sustainaBoxes .box:nth-child(1) {
	margin-top: 42px;
}

#sustainable .sustainaBoxes .box:nth-child(3) {
	margin-top: 47px;
}

#sustainable .sustainaBoxes .box h3 {
	width: 283px;
	height: 51px;
	font-size: 23.61px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.13em;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #ffffff;
	text-align: center;
	background: url('../img/sustinaBoxHead@2x.png') no-repeat;
	background-size: cover;
	margin: 0 auto 0;
}

#sustainable .sustainaBoxes .box .innerBox {
	position: relative;
	border: 10px solid #d5e6f5;
	padding: 44px 29px 43px;
}

#sustainable .sustainaBoxes .box .innerBox .obj {
	width: 100%;
	max-width: 167.5px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	z-index: 0;
}

#sustainable .sustainaBoxes .box .innerBox p {
	position: relative;
	z-index: 1;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.7333;
	letter-spacing: -0.025em;
	color: #161616;
	display: flex;
	flex-direction: column;
}

#sustainable .sustainaBoxes .box .innerBox p span {
	border-top: 2px dotted #d5e6f5;
	padding: 0 0 0 44px;
}

#sustainable .sustainaBoxes .box:nth-child(1) .innerBox p span {
	padding: 0 0 0 30px;
}

#sustainable .sustainaBoxes .box:nth-child(3) .innerBox p span {
	padding: 0 0 0 40px;
}

#sustainable .sustainaBoxes .box .innerBox p span:last-child {
	border-bottom: 2px dotted #d5e6f5;
}

#sustainable .sustainaFull {
	margin-bottom: 81px;
}

#sustainable .sustainaFull h3 {
	font-size: 30px;
	font-weight: 500;
	line-height: 1.46666;
	letter-spacing: 0.2em;
	text-align: center;
	color: #161616;
	margin-bottom: 41px;
}

#sustainable .sustainaFull .image {
	width: calc(100% + 60px);
	margin-left: -30px;
}

#sustainable .sustainaBottom {
	display: flex;
	justify-content: space-between;
	margin-bottom: 57px;
	padding: 0 103px 0 99px;
}

#sustainable .sustainaBottom .image {
	width: 100%;
	max-width: 697px;
}

#sustainable .sustainaBottom .conts {
	width: 500px;
}

#sustainable .sustainaBottom .conts p {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.13em;
}

#sustainable .sustainaBottom .conts p:first-child {
	margin: -13px 0 32px 0;
}

#sustainable .sustainaBottom .conts h3 {
	font-size: 30px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.2em;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 33px;
}

#sustainable .sustainaBottom .conts h3 span {
	background: #feeb49;
	margin: 0 0 6px -6px;
	padding: 12px 0 13px 13px;
}



#sustainable .sustainaBorder {
	position: relative;
	width: 979px;
	margin: 0 auto 0;
	padding: 53px 0 51px 0;
}

#sustainable .sustainaBorder .border01 {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	max-width: 56px;
	z-index: 1;
}

#sustainable .sustainaBorder .border02 {
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	max-width: 56px;
	z-index: 1;
}

#sustainable .sustainaBorder .border03 {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	max-width: 56px;
	z-index: 1;
}

#sustainable .sustainaBorder .border04 {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	max-width: 56px;
	z-index: 1;
}

#sustainable .sustainaBorder .yellowTop {
	position: absolute;
	right: -77px;
	top: -32px;
	width: 100%;
	max-width: 207.5px;
	z-index: 0;
}

#sustainable .sustainaBorder .yellowBottom {
	position: absolute;
	left: -59px;
	bottom: -39px;
	width: 100%;
	max-width: 207.5px;
	z-index: 0;
}

#sustainable .sustainaBorder p {
	font-size: 30px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.09em;
	text-align: center;
}

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

#interview {
	position: relative;
	padding: 90px 0 48px 0;
}

#interview .head {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 26px;
}

#interview .head .enTex {
	position: relative;
	margin-bottom: 27px;
}

#interview .head .enTex:before {
	content: '';
	width: 1px;
	height: 50px;
	background: #161616;
	position: absolute;
	top: 60%;
	left: calc(50% - 3px);
	transform: translate(-50%, -50%) rotate(26deg);
	-webkit-transform: translate(-50%, -50%) rotate(26deg);
	-ms-transform: translate(-50%, -50%) rotate(26deg);
}

#interview .head .enTex:after {
	content: '';
	width: 1px;
	height: 50px;
	background: #161616;
	position: absolute;
	top: 60%;
	left: calc(50% + 3px);
	transform: translate(-50%, -50%) rotate(26deg);
	-webkit-transform: translate(-50%, -50%) rotate(26deg);
	-ms-transform: translate(-50%, -50%) rotate(26deg);
}

#interview .head .enTex span {
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.025em;
	font-family: "Crimson Text", serif;
	text-align: center;
	color: #161616;
	background: #fff;
	position: relative;
	z-index: 1;
}

#interview .head h2 {
	font-size: 46px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.13em;
	text-align: center;
	color: #161616;
}

#interview .interviewBox {
	margin-bottom: 8px;
}

#interview .interviewBox .boxHead {
	display: flex;
	justify-content: space-between;
	margin-bottom: 72px;
	padding: 0 146px 0 84px;
}

#interview .interviewBox.box02 .boxHead {
	flex-direction: row-reverse;
	padding: 0 107px 0 131px;
}

#interview .interviewBox .boxHead .no {
	position: relative;
}

#interview .interviewBox .boxHead .no .noImage {
	width: 100%;
	max-width: 495px;
}

#interview .interviewBox .boxHead .no h3 {
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.13em;
	text-align: right;
	margin: 20px 49px 0 0;
}

#interview .interviewBox.box02 .boxHead .no h3 {
	text-align: left;
	margin: 23px 0 0 23px;
}

#interview .interviewBox .boxHead .image {
	width: 100%;
	max-width: 628px;
	margin-top: 47px;
}

#interview .interviewBox.box02 .boxHead .image {
	margin-top: 35px;
}

#interview .interviewBox .faqBox {
	display: flex;
	justify-content: center;
	overflow: hidden;
}

#interview .interviewBox .faqBox .left {
	width: 628px;
}

#interview .interviewBox .faqBox .right {
	width: 628px;
}

#interview .interviewBox .faqBox dl {
	padding: 35px 50px 30px 36px;
	border-bottom: 1px solid #c5c3c4;
}

#interview .interviewBox .faqBox .right dl {
	padding-right: 29px;
	padding-left: 52px;
}

#interview .interviewBox .faqBox dl:first-child {
	padding-top: 0;
}

#interview .interviewBox .faqBox dl:last-child {
	border-bottom: initial;
	padding-bottom: 91px;
}

#interview .interviewBox .faqBox .left dl {
	border-right: 1px solid #c5c3c4;
}

#interview .interviewBox .faqBox dl dt {
	display: flex;
	margin-bottom: 18px;
}

#interview .interviewBox .faqBox dl dt .icon {
	width: 100%;
	max-width: 40px;
	margin: 0 4px 0 0;
}

#interview .interviewBox .faqBox dl dt .tex {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.05em;
	width: calc(100% - 44px);
}

#interview .interviewBox .faqBox dl dd p {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.875;
	letter-spacing: 0.04em;
	text-align: justify;
}

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

#contact {
	overflow: hidden;
	position: relative;
	padding: 83px 0 0 0;
	background: url('../img/contactBg@2x.jpg') center no-repeat;
	background-size: cover;
}

#contact .head {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 36px;
}

#contact .head .enTex {
	position: relative;
	width: 100%;
	max-width: 55px;
	margin: 0 auto 18px;
}

#contact .head h2 {
	font-size: 46px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.13em;
	text-align: center;
	color: #161616;
}

#contact .blueBox {
	position: relative;
	background: url('../img/contactBg_blue@2x.jpg') center no-repeat;
	background-size: cover;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	padding: 0 0 0 0;
}

#contact .blueBox .images {
	position: relative;
	width: 658px;
	height: 444px;
}

#contact .blueBox .images .enTex {
	position: absolute;
	left: -32px;
	top: -120px;
	width: 100%;
	max-width: 104px;
}

#contact .blueBox .images .humanObj {
	position: absolute;
	left: 112px;
	bottom: -34px;
	width: 100%;
	max-width: 523.5px;
}

#contact .blueBox .conts {
	width: calc(100% - 661px);
	padding: 41px 0 0 0;
}

#contact .blueBox .conts p {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.27em;
	color: #ffffff;
	margin-bottom: 14px;
	padding: 0 0 0 17px;
}

#contact .blueBox .conts h3 {
	font-size: 36px;
	font-weight: 600;
	line-height: 1.444;
	letter-spacing: 0.26em;
	color: #ffffff;
	margin-bottom: 23px;
	padding: 0 0 0 11px;
}

#contact .blueBox .conts .logo {
	width: 100%;
	max-width: 366px;
	margin: 0 0 0 97px;
}

#contact .blueBox .conts .button {
	width: 580px;
	margin: -3px 0 0 0;
	position: relative;
}

#contact .blueBox .conts .button a {
	background: #feeb49;
	border-radius: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 26px 0;
}

#contact .blueBox .conts .button a .tex {
	font-size: 25.25px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.025em;
	color: #171717;
	margin: 0 9px;
	transform: translateX(-7px);
	-webkit-transform: translateX(-7px);
	-moz-transform: translateX(-7px);
}

#contact .blueBox .conts .button a .icon {
	width: 100%;
	max-width: 19px;
	line-height: 13px;
}

/*----------------------------------------------------
 #program
----------------------------------------------------*/

#program {
	overflow: hidden;
	position: relative;
	padding: 123px 0 48px 0;
}

#program .head {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 62px;
}

#program .head .enTex {
	position: relative;
	margin-bottom: 27px;
}

#program .head .enTex:before {
	content: '';
	width: 1px;
	height: 50px;
	background: #161616;
	position: absolute;
	top: 60%;
	left: calc(50% - 3px);
	transform: translate(-50%, -50%) rotate(26deg);
	-webkit-transform: translate(-50%, -50%) rotate(26deg);
	-ms-transform: translate(-50%, -50%) rotate(26deg);
}

#program .head .enTex:after {
	content: '';
	width: 1px;
	height: 50px;
	background: #161616;
	position: absolute;
	top: 60%;
	left: calc(50% + 3px);
	transform: translate(-50%, -50%) rotate(26deg);
	-webkit-transform: translate(-50%, -50%) rotate(26deg);
	-ms-transform: translate(-50%, -50%) rotate(26deg);
}

#program .head .enTex span {
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.025em;
	font-family: "Crimson Text", serif;
	text-align: center;
	color: #161616;
	background: #fff;
	position: relative;
	z-index: 1;
}

#program .head h2 {
	font-size: 46px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.13em;
	text-align: center;
	color: #161616;
}

#program .programTop {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: flex-start;
	width: calc(100% + 57px);
	margin: 0 0 35px 0;
	padding: 0 0 0 58px;
}

#program .programTop .image {
	width: 100%;
	max-width: 960px;
}

#program .programTop .conts {
	width: 407px;
	padding: 36px 0 0 0;
}

#program .programTop .conts p {
	font-size: 20px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.11em;
	text-align: justify;
	margin-bottom: 19px;
}

#program .programTop .conts h3 {
	font-size: 30px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.2em;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 33px;
}

#program .programTop .conts h3 span {
	background: #feeb49;
	margin: 0 0 6px 0;
	padding: 12px 13px 13px 13px;
}

#program .programBottom {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	margin: 0 0 69px 0;
	padding: 0 30px 0 58px;
}

#program .programBottom .image {
	width: 100%;
	max-width: 702px;
}

#program .programBottom .conts {
	width: 570px;
	padding: 42px 0 0 0;
}

#program .programBottom .conts p {
	font-size: 20px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.11em;
	text-align: justify;
	margin-bottom: 19px;
}

#program .startBox {
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto 56px;
}

#program .startBox .enTex {
	width: 100%;
	max-width: 293px;
	margin: 0 auto 0;
}

#program .startBox .innerBox {
	position: relative;
	padding: 27px 0;
	background: #f5f4f4;
}

#program .startBox:after {
	content: '';
	width: 1px;
	height: 60px;
	background: #000;
	position: absolute;
	bottom: -50px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

#program .startBox .innerBox .image {
	width: 100%;
	max-width: 869px;
	margin: 0 auto 0;
}

#program .companyBox {
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto 38px;
}

#program .companyBox h3 {
	font-size: 34px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.13em;
	text-align: center;
	margin: 0 auto 61px;
}

#program .companyBox .innerBox {
	position: relative;
	padding: 30px 0 89px;
	background: #f5f4f4;
}

#program .companyBox .innerBox:before {
	content: '';
	width: 1px;
	height: 60px;
	background: #000;
	position: absolute;
	top: -50px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

#program .companyBox .innerBox:after {
	content: '';
	width: 1px;
	height: 60px;
	background: #000;
	position: absolute;
	bottom: -50px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

#program .companyBox h4 {
	display: flex;
	align-items: center;
	flex-direction: column;
	margin-bottom: 19px;
}

#program .companyBox h4 b {
	font-size: 34px;
	font-weight: 600;
	line-height: 1.7647;
	letter-spacing: 0.1em;
	text-align: center;
}

#program .companyBox h4 small {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.7647;
	letter-spacing: 0.15em;
	text-align: center;
}

#program .companyBox .innerBox .image {
	width: 100%;
	max-width: 928px;
	margin: 0 auto 0;
	transform: translateX(5px);
	-webkit-transform: translateX(5px);
	-moz-transform: translateX(5px);
}

#program .debutBox {
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto 38px;
}

#program .debutBox h3 {
	font-size: 34px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.1em;
	text-align: center;
	margin: 0 auto 26px;
}

#program .debutBox .innerBox {
	position: relative;
	padding: 33px 0 63px;
	background: #f5f4f4;
}

#program .debutBox .innerBox:before {
	content: '';
	width: 1px;
	height: 60px;
	background: #000;
	position: absolute;
	top: -50px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

#program .debutBox .innerBox:after {
	content: '';
	width: 1px;
	height: 60px;
	background: #000;
	position: absolute;
	bottom: -50px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

#program .debutBox .innerBox .image {
	width: 100%;
	max-width: 863px;
	margin: 0 auto 0;
}

#program .careerBox {
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto 0;
}

#program .careerBox h3 {
	font-size: 34px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.1em;
	text-align: center;
	margin: 0 auto 31px;
}

#program .careerBox .innerBox {
	position: relative;
	padding: 33px 0 71px;
	background: #f5f4f4;
}

#program .careerBox .innerBox:before {
	content: '';
	width: 1px;
	height: 60px;
	background: #000;
	position: absolute;
	top: -50px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

#program .careerBox .innerBox .image {
	width: 100%;
	max-width: 739px;
	margin: 0 auto 0;
}

#program .polygonArea {
	position: relative;
	padding: 49px 0 0 0;
}

#program .polygonArea h3 {
	font-size: 30px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.2em;
	text-align: center;
	margin-bottom: 63px;
}

#program .polygonArea h3 span {
	background: #feeb49;
	margin: 0 0 6px 0;
	padding: 3px 13px 7px 13px;
}

#program .polygonArea h3 span:last-child {
	padding: 3px 2px 7px 12px;
}

#program .polygonArea .image {
	width: 100%;
	max-width: 1120px;
	margin: 0 auto 38px;
	transform: translateX(7px);
	-webkit-transform: translateX(7px);
	-moz-transform: translateX(7px);
}

#program .polygonArea .conts {
	width: 100%;
	max-width: 879px;
	margin: 0 auto 0;
}

#program .polygonArea .conts p {
	font-size: 20px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.14em;
	text-align: justify;
}

/*----------------------------------------------------
 #profile
----------------------------------------------------*/

#profile {
	overflow: hidden;
	position: relative;
	padding: 67px 0 101px 0;
}

#profile .head {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 62px;
}

#profile .head .enTex {
	position: relative;
	margin-bottom: 27px;
}

#profile .head .enTex:before {
	content: '';
	width: 1px;
	height: 50px;
	background: #161616;
	position: absolute;
	top: 60%;
	left: calc(50% - 3px);
	transform: translate(-50%, -50%) rotate(26deg);
	-webkit-transform: translate(-50%, -50%) rotate(26deg);
	-ms-transform: translate(-50%, -50%) rotate(26deg);
}

#profile .head .enTex:after {
	content: '';
	width: 1px;
	height: 50px;
	background: #161616;
	position: absolute;
	top: 60%;
	left: calc(50% + 3px);
	transform: translate(-50%, -50%) rotate(26deg);
	-webkit-transform: translate(-50%, -50%) rotate(26deg);
	-ms-transform: translate(-50%, -50%) rotate(26deg);
}

#profile .head .enTex span {
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.025em;
	font-family: "Crimson Text", serif;
	text-align: center;
	color: #161616;
	background: #fff;
	position: relative;
	z-index: 1;
}

#profile .head h2 {
	font-size: 46px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.13em;
	text-align: center;
	color: #161616;
}

#profile .trainerBox {
	margin-bottom: 17px;
}

#profile .trainerBox.box02 {
	margin-bottom: 11px;
}

#profile .trainerBox .boxTop {
	display: flex;
	justify-content: space-between;
	margin-bottom: 66px;
	padding: 0 97px 0 103px;
}

#profile .trainerBox.box02 .boxTop {
	flex-direction: row-reverse;
	padding: 0 99px 0 100px;
}

#profile .trainerBox .boxTop .image {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 638px;
}

#profile .trainerBox.box02 .boxTop .image {
	max-width: 614px;
}

#profile .trainerBox .boxTop .conts {
	position: relative;
	width: 543px;
	margin: 70px 0 0 0;
	padding: 41px 48px 66px 0;
}

#profile .trainerBox.box02 .boxTop .conts {
	width: 573px;
	padding: 31px 0 38px 83px;
}

#profile .trainerBox .boxTop .conts:before {
	content: '';
	width: 679px;
	height: 100%;
	background: #fff;
	position: absolute;
	right: 0;
	top: 0;
	box-shadow: rgba(0, 0, 0, 0.25) 0px 25px 50px -12px;
}

#profile .trainerBox.box02 .boxTop .conts:before {
	right: initial;
	left: 0;
}

#profile .trainerBox .boxTop .conts h3 {
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 1;
	margin-bottom: 16px;
}

#profile .trainerBox .boxTop .conts h3 b {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.13em;
	margin-bottom: 12px;
}

#profile .trainerBox .boxTop .conts h3 small {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.15em;
	white-space: nowrap;
	margin: 0 0 0 -8px;
}

#profile .trainerBox .boxTop .conts p {
	font-size: 20px;
	font-weight: 600;
	line-height: 2;
	letter-spacing: 0.13em;
	position: relative;
	z-index: 1;
}

#profile .trainerBox .boxBottom {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	margin-bottom: 0;
	padding: 0 97px 0 96px;
}

#profile .trainerBox.box02 .boxBottom {
	flex-direction: row;
	padding: 0 97px 0 100px;
}

#profile .trainerBox .boxBottom .image {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 560px;
}

#profile .trainerBox .boxBottom .conts {
	position: relative;
	width: 640px;
	margin: 0 0 0 0;
	padding: 0;
}

#profile .trainerBox .boxBottom .conts .innerBox {
	position: relative;
	background: #ffffff;
	margin-bottom: 60px;
	padding: 39px 60px 39px 68px;
	box-shadow: rgba(0, 0, 0, 0.25) 0px 25px 50px -12px;
}

#profile .trainerBox.box02 .boxBottom .conts .innerBox {
	padding: 34px 60px 39px 67px;
}

#profile .trainerBox .boxBottom .conts .innerBox h4 {
	position: absolute;
	top: -13px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

#profile .trainerBox .boxBottom .conts .innerBox h4 span {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0.13em;
	background: #feeb49;
	white-space: nowrap;
	padding: 4px 26px;
}

#profile .trainerBox .boxBottom .conts p {
	font-size: 18px;
	font-weight: 600;
	line-height: 2;
	letter-spacing: 0.1em;
	position: relative;
	z-index: 1;
}

#profile .trainerBox.box02 .boxBottom .conts p {
	line-height: 1.888;
}

/*----------------------------------------------------
 #data
----------------------------------------------------*/

#data {
	overflow: hidden;
	position: relative;
	padding: 123px 0 0 0;
}

#data .head {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 60px;
}

#data .head .enTex {
	position: relative;
	margin-bottom: 27px;
}

#data .head .enTex:before {
	content: '';
	width: 1px;
	height: 50px;
	background: #161616;
	position: absolute;
	top: 60%;
	left: calc(50% - 3px);
	transform: translate(-50%, -50%) rotate(26deg);
	-webkit-transform: translate(-50%, -50%) rotate(26deg);
	-ms-transform: translate(-50%, -50%) rotate(26deg);
}

#data .head .enTex:after {
	content: '';
	width: 1px;
	height: 50px;
	background: #161616;
	position: absolute;
	top: 60%;
	left: calc(50% + 3px);
	transform: translate(-50%, -50%) rotate(26deg);
	-webkit-transform: translate(-50%, -50%) rotate(26deg);
	-ms-transform: translate(-50%, -50%) rotate(26deg);
}

#data .head .enTex span {
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.025em;
	font-family: "Crimson Text", serif;
	text-align: center;
	color: #161616;
	background: #fff;
	position: relative;
	z-index: 1;
}

#data .head h2 {
	position: relative;
	font-size: 46px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.13em;
	text-align: center;
	color: #161616;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#data .head h2 span {
	position: absolute;
	right: 6px;
	bottom: -21px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.13em;
}

#data .dataImage01 {
	width: 100%;
	max-width: 1056px;
	margin: 0 auto 83px;
}

#data .dataImage02 {
	width: 100%;
	max-width: 1017px;
	margin: 0 auto 64px;
	transform: translateX(-16px);
	-webkit-transform: translateX(-16px);
	-moz-transform: translateX(-16px);
}

#data .dataImage03 {
	width: 100%;
	max-width: 1115px;
	margin: 0 auto 0;
}

/*----------------------------------------------------
 #requirements
----------------------------------------------------*/

#requirements {
	overflow: hidden;
	position: relative;
	padding: 115px 0 118px 0;
}

#requirements .inner {
	max-width: 1094px;
}

#requirements .head {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 21px;
}

#requirements .head .enTex {
	position: relative;
	margin-bottom: 27px;
}

#requirements .head .enTex:before {
	content: '';
	width: 1px;
	height: 50px;
	background: #161616;
	position: absolute;
	top: 60%;
	left: calc(50% - 3px);
	transform: translate(-50%, -50%) rotate(26deg);
	-webkit-transform: translate(-50%, -50%) rotate(26deg);
	-ms-transform: translate(-50%, -50%) rotate(26deg);
}

#requirements .head .enTex:after {
	content: '';
	width: 1px;
	height: 50px;
	background: #161616;
	position: absolute;
	top: 60%;
	left: calc(50% + 3px);
	transform: translate(-50%, -50%) rotate(26deg);
	-webkit-transform: translate(-50%, -50%) rotate(26deg);
	-ms-transform: translate(-50%, -50%) rotate(26deg);
}

#requirements .head .enTex span {
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.025em;
	font-family: "Crimson Text", serif;
	text-align: center;
	color: #161616;
	background: #fff;
	position: relative;
	z-index: 1;
}

#requirements .head h2 {
	position: relative;
	font-size: 46px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.13em;
	text-align: center;
	color: #161616;
}

#requirements .requireTable table {
	width: 100%;
	box-sizing: border-box;
}

#requirements .requireTable table th {
	width: 163px;
	vertical-align: middle;
	box-sizing: border-box;
	border-bottom: 3px solid #005ba9;
}

#requirements .requireTable table th p {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.7142857;
	letter-spacing: 0.1em;
	text-align: center;
}

#requirements .requireTable table td {
	width: calc(100% - 163px);
	padding: 21.5px 20px 21.5px 43px;
	box-sizing: border-box;
	border-bottom: 1px solid #c5c3c4;
}

#requirements .requireTable table tr:last-child td {
	padding: 26.5px 20px 26.5px 43px;
}

#requirements .requireTable table td p {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.7142857;
	letter-spacing: 0.1em;
}

#requirements .requireTable table ul {
	display: flex;
	flex-direction: column;
}

#requirements .requireTable table ul li {
	display: flex;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.7142857;
	letter-spacing: 0.1em;
}

/*----------------------------------------------------
 Hover
----------------------------------------------------*/

@media screen and (min-width: 769px) {
	.pc_hidden {
		display: none !important;
	}

	#header .headerFlex .button a:hover {
		background: #e5d442;
	}

	#visual .visualFlex .button a:hover {
		background: #e5d442;
	}

	#contact .blueBox .conts .button a:hover {
		background: #e5d442;
	}

	#goTop a:hover {
		background: #e5d442;
	}

	#footer nav ul li a:hover {
		opacity: 0.7;
	}
}

/*----------------------------------------------------
 vw
----------------------------------------------------*/
@media screen and (min-width: 769px) and (max-width: 1440px) {

	/*----------------------------------------------------
	elements
	----------------------------------------------------*/

	body {
		font-size: 1.111vw;
	}

	/*----------------------------------------------------
	fadeIn
	----------------------------------------------------*/

	.fadeIn {
		transform: translate3d(0, -0.694vw, 0);
		transition: 1s;
		opacity: 0;
	}

	/*----------------------------------------------------
	inner
	----------------------------------------------------*/
	.inner {
		max-width: 100vw;
	}

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

	#header {
		box-shadow: rgba(149, 157, 165, 0.2) 0 0.556vw 1.667vw;
	}

	#header .headerFlex {
		padding: 1.042vw 0.903vw 1.042vw 0.833vw;
	}

	#header .headerFlex .logo {
		max-width: 19.514vw;
	}

	#header .headerFlex .button {
		max-width: 27.778vw;
	}

	#header .headerFlex .button a {
		border-radius: 2.083vw;
		padding: 1.389vw 0;
	}

	#header .headerFlex .button a .tex {
		font-size: 1.389vw;
	}

	#header .headerFlex .button a .icon {
		max-width: 1.042vw;
		line-height: 0.764vw;
		right: 2.083vw;
	}

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

	#footer {
		padding: 3.056vw 4.792vw 1.319vw 4.792vw;
	}

	#footer .logo {
		max-width: 16.111vw;
		margin-bottom: 1.597vw;
	}

	#footer nav ul li {
		margin-right: 0.972vw;
	}

	#footer nav ul li a .tex {
		font-size: 0.972vw;
		margin-right: 0.417vw;
	}

	#footer nav ul li a .arrow {
		max-width: 0.417vw;
		line-height: 0.625vw;
		margin: 0.069vw 0 0 0;
	}

	#footer .copy {
		transform: translate(0.556vw, -0.972vw);
		-webkit-transform: translate(0.556vw, -0.972vw);
		-moz-transform: translate(0.556vw, -0.972vw);
	}

	#footer .copy p {
		font-size: 0.833vw;
		margin: 0 0.556vw;
	}

	/*----------------------------------------------------
	#goTop
	----------------------------------------------------*/

	#goTop a {
		width: 4.167vw;
		height: 4.167vw;
		right: 2.083vw;
		bottom: 2.083vw;
	}

	#goTop a .icon {
		max-width: 0.903vw;
		line-height: 1.389vw;
	}


	/*----------------------------------------------------
	#visual
	----------------------------------------------------*/

	#visual {
		padding: 0 0 21.528vw 0;
	}

	#visual .visualHead {
		margin-bottom: 9.028vw;
	}

	#visual .visualFlex {
		padding: 1.042vw 0.903vw 1.042vw 0.833vw;
	}

	#visual .visualFlex .logo {
		max-width: 19.514vw;
	}

	#visual .visualFlex .button {
		max-width: 27.778vw;
	}

	#visual .visualFlex .button a {
		border-radius: 2.083vw;
		padding: 1.389vw 0;
	}

	#visual .visualFlex .button a .tex {
		font-size: 1.389vw;
	}

	#visual .visualFlex .button a .icon {
		max-width: 1.042vw;
		line-height: 0.764vw;
		right: 2.083vw;
	}

	#visual .visualConts {
		padding: 0 2vw;
	}

	#visual .visualConts .head {
		max-width: 52.917vw;
		margin-bottom: 6.528vw;
		transform: translateX(0.972vw);
		-webkit-transform: translateX(0.972vw);
		-moz-transform: translateX(0.972vw);
	}

	#visual .visualConts .enTex {
		max-width: 17.222vw;
		margin-right: 2.361vw;
	}

	/*----------------------------------------------------
	#recruit
	----------------------------------------------------*/

	#recruit {
		padding: 8.472vw 0 0 0;
	}

	#recruit .head {
		margin-bottom: 3.125vw;
	}

	#recruit .head .enTex {
		margin-bottom: 2.292vw;
	}

	#recruit .head .enTex:before {
		width: 0.069vw;
		height: 3.472vw;
		left: calc(50% - 0.208vw);
	}

	#recruit .head .enTex:after {
		width: 0.069vw;
		height: 3.472vw;
		left: calc(50% + 0.208vw);
	}

	#recruit .head .enTex span {
		font-size: 1.111vw;
	}

	#recruit .head h2 {
		font-size: 3.194vw;
	}

	#recruit .recruitFlex {
		padding: 0 1.092vw 0;
	}

	#recruit .recruitFlex .box {
		max-width: 22.222vw;
	}

	#recruit .recruitFlex .box .topBox {
		min-height: 11.806vw;
		margin-bottom: 1.181vw;
		padding: 1.806vw 2.639vw 2.569vw 2.639vw;
	}

	#recruit .recruitFlex .box .topBox p {
		font-size: 1.389vw;
	}

	#recruit .recruitFlex .box .topBox .arrow {
		max-width: 2.708vw;
		bottom: -2.153vw;
	}

	#recruit .recruitFlex .box .bottomBox {
		border-bottom: 0.556vw solid #005ba9;
		padding: 3.125vw 1.944vw 3.472vw 2.639vw;
		box-shadow: rgba(50, 50, 93, 0.25) 0 0.903vw 1.875vw -0.347vw, rgba(0, 0, 0, 0.3) 0 0.556vw 1.111vw -0.556vw;
	}

	#recruit .recruitFlex .box .bottomBox h3 {
		font-size: 2.222vw;
	}

	#recruit .recruitFlex .box .bottomBox .icon {
		max-width: 3.542vw;
		top: -0.625vw;
		left: 1.597vw;
	}

	/*----------------------------------------------------
	#sustainable
	----------------------------------------------------*/

	#sustainable {
		padding: 8.472vw 0 0 0;
	}

	#sustainable .head {
		margin-bottom: 4.236vw;
	}

	#sustainable .head .enTex {
		margin-bottom: 2.292vw;
	}

	#sustainable .head .enTex:before {
		width: 0.069vw;
		height: 3.472vw;
		left: calc(50% - 0.208vw);
	}

	#sustainable .head .enTex:after {
		width: 0.069vw;
		height: 3.472vw;
		left: calc(50% + 0.208vw);
	}

	#sustainable .head .enTex span {
		font-size: 1.111vw;
	}

	#sustainable .head h2 {
		font-size: 3.194vw;
	}

	#sustainable .sustainaTop {
		width: calc(100% + 8.333vw);
		margin: 0 0 3.056vw -2.292vw;
		padding: 0 2.639vw 0 3vw;
	}

	#sustainable .sustainaTop .image {
		max-width: 58.722vw;
	}

	#sustainable .sustainaTop .conts {
		width: 37.431vw;
		margin: 4.167vw 0 0 0;
		padding: 4.861vw 0 5.069vw 2.778vw;
	}

	#sustainable .sustainaTop .conts .border01 {
		max-width: 3.889vw;
	}

	#sustainable .sustainaTop .conts .border02 {
		max-width: 3.889vw;
	}

	#sustainable .sustainaTop .conts .border03 {
		max-width: 3.889vw;
	}

	#sustainable .sustainaTop .conts .border04 {
		max-width: 3.889vw;
	}

	#sustainable .sustainaTop .conts .yellowTop {
		right: -4.583vw;
		top: -2.708vw;
		max-width: 14.41vw;
	}

	#sustainable .sustainaTop .conts .yellowBottom {
		left: -5.208vw;
		bottom: -2.708vw;
		max-width: 14.41vw;
	}

	#sustainable .sustainaTop .conts h3 {
		font-size: 2.5vw;
	}

	#sustainable .sustainaBoxes {
		margin-bottom: 7.569vw;
	}

	#sustainable .sustainaBoxes:after {
		width: 0.069vw;
		height: 7.5vw;
		bottom: -5.694vw;
	}

	#sustainable .sustainaBoxes .box {
		width: 25vw;
		margin: 0 1.736vw;
	}

	#sustainable .sustainaBoxes .box:nth-child(1) {
		margin-top: 2.917vw;
	}

	#sustainable .sustainaBoxes .box:nth-child(3) {
		margin-top: 3.264vw;
	}

	#sustainable .sustainaBoxes .box h3 {
		width: 19.653vw;
		height: 3.542vw;
		font-size: 1.64vw;
	}

	#sustainable .sustainaBoxes .box .innerBox {
		border: 0.694vw solid #d5e6f5;
		padding: 3.056vw 2.014vw 2.986vw;
	}

	#sustainable .sustainaBoxes .box .innerBox .obj {
		max-width: 11.632vw;
	}

	#sustainable .sustainaBoxes .box .innerBox p {
		font-size: 2.083vw;
	}

	#sustainable .sustainaBoxes .box .innerBox p span {
		border-top: 0.139vw dotted #d5e6f5;
		padding: 0 0 0 3.056vw;
	}

	#sustainable .sustainaBoxes .box:nth-child(1) .innerBox p span {
		padding: 0 0 0 2.083vw;
	}

	#sustainable .sustainaBoxes .box:nth-child(3) .innerBox p span {
		padding: 0 0 0 2.778vw;
	}

	#sustainable .sustainaBoxes .box .innerBox p span:last-child {
		border-bottom: 0.139vw dotted #d5e6f5;
	}

	#sustainable .sustainaFull {
		margin-bottom: 5.625vw;
	}

	#sustainable .sustainaFull h3 {
		font-size: 2.083vw;
		margin-bottom: 2.847vw;
	}

	#sustainable .sustainaFull .image {
		width: calc(100% + 4.167vw);
		margin-left: -2.083vw;
	}

	#sustainable .sustainaBottom {
		margin-bottom: 3.958vw;
		padding: 0 7.153vw 0 6.875vw;
	}

	#sustainable .sustainaBottom .image {
		max-width: 48.403vw;
	}

	#sustainable .sustainaBottom .conts {
		width: 34.722vw;
	}

	#sustainable .sustainaBottom .conts p {
		font-size: 1.389vw;
	}

	#sustainable .sustainaBottom .conts p:first-child {
		margin: -0.903vw 0 2.222vw 0;
	}

	#sustainable .sustainaBottom .conts h3 {
		font-size: 2.083vw;
		margin-bottom: 2.292vw;
	}

	#sustainable .sustainaBottom .conts h3 span {
		margin: 0 0 0.417vw -0.417vw;
		padding: 0.833vw 0 0.903vw 0.903vw;
	}

	#sustainable .sustainaBorder {
		width: 67.986vw;
		padding: 3.681vw 0 3.542vw 0;
	}

	#sustainable .sustainaBorder .border01 {
		max-width: 3.889vw;
	}

	#sustainable .sustainaBorder .border02 {
		max-width: 3.889vw;
	}

	#sustainable .sustainaBorder .border03 {
		max-width: 3.889vw;
	}

	#sustainable .sustainaBorder .border04 {
		max-width: 3.889vw;
	}

	#sustainable .sustainaBorder .yellowTop {
		right: -5.347vw;
		top: -2.222vw;
		max-width: 14.41vw;
	}

	#sustainable .sustainaBorder .yellowBottom {
		left: -4.097vw;
		bottom: -2.708vw;
		max-width: 14.41vw;
	}

	#sustainable .sustainaBorder p {
		font-size: 2.083vw;
	}

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

	#interview {
		padding: 6.25vw 0 3.333vw 0;
	}

	#interview .head {
		margin-bottom: 1.806vw;
	}

	#interview .head .enTex {
		margin-bottom: 1.875vw;
	}

	#interview .head .enTex:before {
		width: 0.069vw;
		height: 3.472vw;
		left: calc(50% - 0.208vw);
	}

	#interview .head .enTex:after {
		width: 0.069vw;
		height: 3.472vw;
		left: calc(50% + 0.208vw);
	}

	#interview .head .enTex span {
		font-size: 1.111vw;
	}

	#interview .head h2 {
		font-size: 3.194vw;
	}

	#interview .interviewBox {
		margin-bottom: 0.556vw;
	}

	#interview .interviewBox .boxHead {
		margin-bottom: 5vw;
		padding: 0 10.139vw 0 5.833vw;
	}

	#interview .interviewBox.box02 .boxHead {
		padding: 0 7.431vw 0 9.097vw;
	}

	#interview .interviewBox .boxHead .no .noImage {
		max-width: 34.375vw;
	}

	#interview .interviewBox .boxHead .no h3 {
		font-size: 1.25vw;
		margin: 1.389vw 3.403vw 0 0;
	}

	#interview .interviewBox.box02 .boxHead .no h3 {
		margin: 1.597vw 0 0 1.597vw;
	}

	#interview .interviewBox .boxHead .image {
		max-width: 43.611vw;
		margin-top: 3.264vw;
	}

	#interview .interviewBox.box02 .boxHead .image {
		margin-top: 2.431vw;
	}

	#interview .interviewBox .faqBox .left {
		width: 43.611vw;
	}

	#interview .interviewBox .faqBox .right {
		width: 43.611vw;
	}

	#interview .interviewBox .faqBox dl {
		padding: 2.431vw 3.472vw 2.083vw 2.5vw;
		border-bottom: 0.069vw solid #c5c3c4;
	}

	#interview .interviewBox .faqBox .right dl {
		padding-right: 2.014vw;
		padding-left: 3.611vw;
	}

	#interview .interviewBox .faqBox dl:last-child {
		padding-bottom: 6.319vw;
	}

	#interview .interviewBox .faqBox .left dl {
		border-right: 0.069vw solid #c5c3c4;
	}

	#interview .interviewBox .faqBox dl dt {
		margin-bottom: 1.25vw;
	}

	#interview .interviewBox .faqBox dl dt .icon {
		max-width: 2.778vw;
		margin: 0 0.278vw 0 0;
	}

	#interview .interviewBox .faqBox dl dt .tex {
		font-size: 1.667vw;
		width: calc(100% - 3.056vw);
	}

	#interview .interviewBox .faqBox dl dd p {
		font-size: 1.111vw;
	}

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

	#contact {
		padding: 5.764vw 0 0 0;
	}

	#contact .head {
		margin-bottom: 2.5vw;
	}

	#contact .head .enTex {
		max-width: 3.819vw;
		margin: 0 auto 1.25vw;
	}

	#contact .head h2 {
		font-size: 3.194vw;
	}

	#contact .blueBox .images {
		width: 45.694vw;
		height: 30.833vw;
	}

	#contact .blueBox .images .enTex {
		left: -2.222vw;
		top: -8.333vw;
		width: 100%;
		max-width: 7.222vw;
	}

	#contact .blueBox .images .humanObj {
		left: 7.778vw;
		bottom: -2.361vw;
		max-width: 36.354vw;
	}

	#contact .blueBox .conts {
		width: calc(100% - 45.903vw);
		padding: 2.847vw 0 0 0;
	}

	#contact .blueBox .conts p {
		font-size: 1.667vw;
		margin-bottom: 0.972vw;
		padding: 0 0 0 1.181vw;
	}

	#contact .blueBox .conts h3 {
		font-size: 2.5vw;
		margin-bottom: 1.597vw;
		padding: 0 0 0 0.764vw;
	}

	#contact .blueBox .conts .logo {
		max-width: 25.417vw;
		margin: 0 0 0 6.736vw;
	}

	#contact .blueBox .conts .button {
		width: 40.278vw;
		margin: -0.208vw 0 0 0;
	}

	#contact .blueBox .conts .button a {
		border-radius: 2.778vw;
		padding: 1.806vw 0;
	}

	#contact .blueBox .conts .button a .tex {
		font-size: 1.753vw;
		margin: 0 0.625vw;
		transform: translateX(-0.486vw);
		-webkit-transform: translateX(-0.486vw);
		-moz-transform: translateX(-0.486vw);
	}

	#contact .blueBox .conts .button a .icon {
		max-width: 1.319vw;
		line-height: 0.903vw;
	}

	/*----------------------------------------------------
	#program
	----------------------------------------------------*/

	#program {
		padding: 8.542vw 0 3.333vw 0;
	}

	#program .head {
		margin-bottom: 4.306vw;
	}

	#program .head .enTex {
		margin-bottom: 1.875vw;
	}

	#program .head .enTex:before {
		width: 0.069vw;
		height: 3.472vw;
		left: calc(50% - 0.208vw);
	}

	#program .head .enTex:after {
		width: 0.069vw;
		height: 3.472vw;
		left: calc(50% + 0.208vw);
	}

	#program .head .enTex span {
		font-size: 1.111vw;
	}

	#program .head h2 {
		font-size: 3.194vw;
	}

	#program .programTop {
		width: calc(100% + 3.958vw);
		margin: 0 0 2.431vw 0;
		padding: 0 0 0 4.028vw;
	}

	#program .programTop .image {
		max-width: 63.667vw;
	}

	#program .programTop .conts {
		width: 28.264vw;
		padding: 2.5vw 0 0 0;
	}

	#program .programTop .conts p {
		font-size: 1.389vw;
		margin-bottom: 1.319vw;
	}

	#program .programTop .conts h3 {
		font-size: 2.083vw;
		margin-bottom: 2.292vw;
	}

	#program .programTop .conts h3 span {
		margin: 0 0 0.417vw 0;
		padding: 0.833vw 0.903vw 0.903vw 0.903vw;
	}

	#program .programBottom {
		margin: 0 0 4.792vw 0;
		padding: 0 2.083vw 0 4.028vw;
	}

	#program .programBottom .image {
		max-width: 46.75vw;
	}

	#program .programBottom .conts {
		width: 39.583vw;
		padding: 2.917vw 0 0 0;
	}

	#program .programBottom .conts p {
		font-size: 1.389vw;
		margin-bottom: 1.319vw;
	}

	#program .startBox {
		max-width: 76.389vw;
		margin: 0 auto 3.889vw;
	}

	#program .startBox .enTex {
		max-width: 20.347vw;
	}

	#program .startBox .innerBox {
		padding: 1.875vw 0;
	}

	#program .startBox:after {
		width: 0.069vw;
		height: 4.167vw;
		bottom: -3.472vw;
	}

	#program .startBox .innerBox .image {
		max-width: 60.347vw;
	}

	#program .companyBox {
		max-width: 76.389vw;
		margin: 0 auto 2.639vw;
	}

	#program .companyBox h3 {
		font-size: 2.361vw;
		margin: 0 auto 4.236vw;
	}

	#program .companyBox .innerBox {
		padding: 2.083vw 0 6.181vw;
	}

	#program .companyBox .innerBox:before {
		width: 0.069vw;
		height: 4.167vw;
		top: -3.472vw;
	}

	#program .companyBox .innerBox:after {
		width: 0.069vw;
		height: 4.167vw;
		bottom: -3.472vw;
	}

	#program .companyBox h4 {
		margin-bottom: 1.319vw;
	}

	#program .companyBox h4 b {
		font-size: 2.361vw;
	}

	#program .companyBox h4 small {
		font-size: 1.389vw;
	}

	#program .companyBox .innerBox .image {
		max-width: 64.444vw;
		transform: translateX(0.347vw);
		-webkit-transform: translateX(0.347vw);
		-moz-transform: translateX(0.347vw);
	}

	#program .debutBox {
		max-width: 76.389vw;
		margin: 0 auto 2.639vw;
	}

	#program .debutBox h3 {
		font-size: 2.361vw;
		margin: 0 auto 1.806vw;
	}

	#program .debutBox .innerBox {
		padding: 2.292vw 0 4.375vw;
	}

	#program .debutBox .innerBox:before {
		width: 0.069vw;
		height: 4.167vw;
		top: -3.472vw;
	}

	#program .debutBox .innerBox:after {
		width: 0.069vw;
		height: 4.167vw;
		bottom: -3.472vw;
	}

	#program .debutBox .innerBox .image {
		max-width: 59.931vw;
	}

	#program .careerBox {
		max-width: 76.389vw;
	}

	#program .careerBox h3 {
		font-size: 2.361vw;
		margin: 0 auto 2.153vw;
	}

	#program .careerBox .innerBox {
		padding: 2.292vw 0 4.931vw;
	}

	#program .careerBox .innerBox:before {
		width: 0.069vw;
		height: 4.167vw;
		top: -3.472vw;
	}

	#program .careerBox .innerBox .image {
		max-width: 51.319vw;
	}

	#program .polygonArea {
		padding: 3.403vw 0 0 0;
	}

	#program .polygonArea h3 {
		font-size: 2.083vw;
		margin-bottom: 4.375vw;
	}

	#program .polygonArea h3 span {
		margin: 0 0 0.417vw 0;
		padding: 0.208vw 0.903vw 0.486vw 0.903vw;
	}

	#program .polygonArea h3 span:last-child {
		padding: 0.208vw 0.139vw 0.486vw 0.833vw;
	}

	#program .polygonArea .image {
		max-width: 77.778vw;
		margin: 0 auto 2.639vw;
		transform: translateX(0.486vw);
		-webkit-transform: translateX(0.486vw);
		-moz-transform: translateX(0.486vw);
	}

	#program .polygonArea .conts {
		max-width: 61.042vw;
	}

	#program .polygonArea .conts p {
		font-size: 1.389vw;
	}

	/*----------------------------------------------------
	#profile
	----------------------------------------------------*/

	#profile {
		padding: 4.653vw 0 7.014vw 0;
	}

	#profile .head {
		margin-bottom: 4.306vw;
	}

	#profile .head .enTex {
		margin-bottom: 1.875vw;
	}

	#profile .head .enTex:before {
		width: 0.069vw;
		height: 3.472vw;
		left: calc(50% - 0.208vw);
	}

	#profile .head .enTex:after {
		width: 0.069vw;
		height: 3.472vw;
		left: calc(50% + 0.208vw);
	}

	#profile .head .enTex span {
		font-size: 1.111vw;
	}

	#profile .head h2 {
		font-size: 3.194vw;
	}

	#profile .trainerBox {
		margin-bottom: 1.181vw;
	}

	#profile .trainerBox.box02 {
		margin-bottom: 0.764vw;
	}

	#profile .trainerBox .boxTop {
		margin-bottom: 4.583vw;
		padding: 0 6.736vw 0 7.153vw;
	}

	#profile .trainerBox.box02 .boxTop {
		padding: 0 6.875vw 0 6.944vw;
	}

	#profile .trainerBox .boxTop .image {
		max-width: 41.306vw;
	}

	#profile .trainerBox.box02 .boxTop .image {
		max-width: 40.639vw;
	}

	#profile .trainerBox .boxTop .conts {
		width: 37.708vw;
		margin: 4.861vw 0 0 0;
		padding: 2.847vw 3.333vw 4.583vw 0;
	}

	#profile .trainerBox.box02 .boxTop .conts {
		width: 39.792vw;
		padding: 2.153vw 0 2.639vw 5.764vw;
	}

	#profile .trainerBox .boxTop .conts:before {
		width: 47.153vw;
		box-shadow: rgba(0, 0, 0, 0.25) 0 1.736vw 3.472vw -0.833vw;
	}

	#profile .trainerBox .boxTop .conts h3 {
		margin-bottom: 1.111vw;
	}

	#profile .trainerBox .boxTop .conts h3 b {
		font-size: 1.667vw;
		margin-bottom: 0.833vw;
	}

	#profile .trainerBox .boxTop .conts h3 small {
		font-size: 1.25vw;
		margin: 0 0 0 -0.556vw;
	}

	#profile .trainerBox .boxTop .conts p {
		font-size: 1.389vw;
	}

	#profile .trainerBox .boxBottom {
		padding: 0 6.736vw 0 6.667vw;
	}

	#profile .trainerBox.box02 .boxBottom {
		padding: 0 6.736vw 0 6.944vw;
	}

	#profile .trainerBox .boxBottom .image {
		max-width: 35.889vw;
	}

	#profile .trainerBox .boxBottom .conts {
		width: 44.444vw;
	}

	#profile .trainerBox .boxBottom .conts .innerBox {
		margin-bottom: 4.167vw;
		padding: 2.708vw 4.167vw 2.708vw 4.722vw;
		box-shadow: rgba(0, 0, 0, 0.25) 0 1.736vw 3.472vw -0.833vw;
	}

	#profile .trainerBox.box02 .boxBottom .conts .innerBox {
		padding: 2.361vw 4.167vw 2.708vw 4.653vw;
	}

	#profile .trainerBox .boxBottom .conts .innerBox h4 {
		top: -0.903vw;
	}

	#profile .trainerBox .boxBottom .conts .innerBox h4 span {
		font-size: 1.389vw;
		padding: 0.278vw 1.806vw;
	}

	#profile .trainerBox .boxBottom .conts p {
		font-size: 1.25vw;
	}

	/*----------------------------------------------------
	#data
	----------------------------------------------------*/

	#data {
		padding: 8.542vw 0 0 0;
	}

	#data .head {
		margin-bottom: 4.167vw;
	}

	#data .head .enTex {
		margin-bottom: 1.875vw;
	}

	#data .head .enTex:before {
		width: 0.069vw;
		height: 3.472vw;
		left: calc(50% - 0.208vw);
	}

	#data .head .enTex:after {
		width: 0.069vw;
		height: 3.472vw;
		left: calc(50% + 0.208vw);
	}

	#data .head .enTex span {
		font-size: 1.111vw;
	}

	#data .head h2 {
		font-size: 3.194vw;
	}

	#data .head h2 span {
		right: 0.417vw;
		bottom: -1.458vw;
		font-size: 0.833vw;
	}

	#data .dataImage01 {
		max-width: 73.333vw;
		margin: 0 auto 5.764vw;
	}

	#data .dataImage02 {
		max-width: 70.625vw;
		margin: 0 auto 4.444vw;
		transform: translateX(-1.111vw);
		-webkit-transform: translateX(-1.111vw);
		-moz-transform: translateX(-1.111vw);
	}

	#data .dataImage03 {
		max-width: 77.431vw;
	}

	/*----------------------------------------------------
	#requirements
	----------------------------------------------------*/

	#requirements {
		padding: 7.986vw 0 8.194vw 0;
	}

	#requirements .inner {
		max-width: 75.972vw;
	}

	#requirements .head {
		margin-bottom: 1.458vw;
	}

	#requirements .head .enTex {
		margin-bottom: 1.875vw;
	}

	#requirements .head .enTex:before {
		width: 0.069vw;
		height: 3.472vw;
		left: calc(50% - 0.208vw);
	}

	#requirements .head .enTex:after {
		width: 0.069vw;
		height: 3.472vw;
		left: calc(50% + 0.208vw);
	}

	#requirements .head .enTex span {
		font-size: 1.111vw;
	}

	#requirements .head h2 {
		font-size: 3.194vw;
	}

	#requirements .requireTable table th {
		width: 11.319vw;
		border-bottom: 0.208vw solid #005ba9;
	}

	#requirements .requireTable table th p {
		font-size: 0.972vw;
	}

	#requirements .requireTable table td {
		width: calc(100% - 11.319vw);
		padding: 1.493vw 1.389vw 1.493vw 2.986vw;
		border-bottom: 0.069vw solid #c5c3c4;
	}

	#requirements .requireTable table tr:last-child td {
		padding: 1.84vw 1.389vw 1.84vw 2.986vw;
	}

	#requirements .requireTable table td p {
		font-size: 0.972vw;
	}

	#requirements .requireTable table ul li {
		font-size: 0.972vw;
	}
}

/*----------------------------------------------------
 vw
----------------------------------------------------*/
@media screen and (min-width: 769px) and (max-width: 1000px) {
	#footer {
		padding: 3.056vw 4.792vw 3.319vw 4.792vw;
	}

	#footer .copy {
    transform: translate(0.556vw, 0.972vw);
    -webkit-transform: translate(0.556vw, 0.972vw);
    -moz-transform: translate(0.556vw, 0.972vw);
	}

}
