/*----------------------------------------------------
 SP
----------------------------------------------------*/

@media screen and (max-width: 768px) {
	.sp_hidden {
		display: none !important;
	}

	/*----------------------------------------------------
	inner
	----------------------------------------------------*/
	.inner {
		width: calc(100% - 5rem);
		max-width: initial;
	}

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

	#header {
		box-shadow: rgba(149, 157, 165, 0.2) 0 2.133vw 6.4vw;
		transform: translateY(0%);
		-webkit-transform: translateY(0%);
		-moz-transform: translateY(0%);
	}

	#header .inner {
		width: 100%;
	}

	#header .headerFlex {
		padding: 2.933vw 4vw 2.4vw 4vw;
	}

	#header .headerFlex .logo {
		max-width: 39.333vw;
		transform: translateY(0.8vw);
		-webkit-transform: translateY(0.8vw);
		-moz-transform: translateY(0.8vw);
	}

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

	#header .headerFlex .button a {
		padding: 3.067vw 0;
	}

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

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

	#footer {
		padding: 8.267vw 0 0 0;
	}

	#footer .logo {
		max-width: 53.6vw;
		margin: 0 auto 7.2vw;
	}

	#footer nav {
		display: flex;
		justify-content: center;
		margin-bottom: 5.6vw;
	}

	#footer nav ul {
		flex-direction: column;
	}

	#footer nav ul li {
		margin-bottom: 4.8vw;
	}

	#footer nav ul li a {
		justify-content: space-between;
	}

	#footer nav ul li a .tex {
		font-size: 3.2vw;
		margin: 0 6.133vw 0 3.467vw;
	}

	#footer nav ul li a .arrow {
		max-width: 1.333vw;
		line-height: 2.133vw;
		margin: 0.267vw 0 0 0;
	}

	#footer .copy {
		flex-direction: column;
		justify-content: center;
		transform: translate(2.133vw, 0);
		-webkit-transform: translate(2.133vw, 0);
		-moz-transform: translate(2.133vw, 0);
	}

	#footer .copy p {
		font-size: 2.667vw;
		line-height: 1.4;
		letter-spacing: 0;
		margin: 0 0 0.533vw;
		text-align: center;
	}

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

	#goTop a {
		width: 12.4vw;
		height: 12.4vw;
		right: 6.667vw;
		bottom: 6.667vw;
	}

	#goTop a .icon {
		max-width: 2.667vw;
		line-height: 4vw;
	}


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

	#visual {
		padding: 21.6vw 0 72.8vw 0;
		background: url('../img/visualBg-sp.jpg') center bottom no-repeat;
		background-size: cover;
	}

	#visual .visualConts {
		position: relative;
	}

	#visual .visualConts .head {
		max-width: 82.533vw;
		margin: 0 auto 0;
		margin-bottom: 13.867vw;
		transform: translateX(0.533vw);
		-webkit-transform: translateX(0.533vw);
		-moz-transform: translateX(0.533vw);
	}

	#visual .visualConts .enTex {
		max-width: 30.933vw;
		margin-right: -1.067vw;
	}

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

	#recruit {
		padding: 12vw 0 6.667vw 0;
	}

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

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

	#recruit .head .enTex:before {
		height: 9.067vw;
		left: calc(50% - 0.533vw);
	}

	#recruit .head .enTex:after {
		height: 9.067vw;
		left: calc(50% + 0.8vw);
	}

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

	#recruit .head h2 {
		font-size: 6.667vw;
		line-height: 1.32;
	}

	#recruit .recruitFlex {
		flex-direction: column;
		padding: 0 3.467vw 0 3.467vw;
	}

	#recruit .recruitFlex .box {
		width: 100%;
		max-width: initial;
		margin-bottom: 5.333vw;
	}

	#recruit .recruitFlex .box .topBox {
		min-height: 25.067vw;
		margin-bottom: 1.867vw;
		padding: 3.467vw 6.4vw 6.933vw 6.4vw;
		box-sizing: border-box;
	}

	#recruit .recruitFlex .box .topBox p {
		font-size: 4.533vw;
		line-height: 1.4705;
		letter-spacing: 0.03em;
	}

	#recruit .recruitFlex .box .topBox .arrow {
		max-width: 9.467vw;
		bottom: -4.8vw;
		left: 50%;
	}

	#recruit .recruitFlex .box .bottomBox {
		display: flex;
		justify-content: center;
		align-items: center;
		border-bottom: 1.067vw solid #005ba9;
		padding: 5.333vw 5.333vw 4.267vw 7.467vw;
	}

	#recruit .recruitFlex .box .bottomBox h3 {
		font-size: 5.6vw;
		line-height: 1.2857;
		letter-spacing: 0.13em;
	}

	#recruit .recruitFlex .box .bottomBox .icon {
		max-width: 11.2vw;
		top: -4vw;
		left: 6.4vw;
	}

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

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

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

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

	#sustainable .head .enTex:before {
		height: 9.067vw;
		left: calc(50% - 0.533vw);
	}

	#sustainable .head .enTex:after {
		height: 9.067vw;
		left: calc(50% + 0.8vw);
	}

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

	#sustainable .head h2 {
		font-size: 6.667vw;
		line-height: 1.32;
	}

	#sustainable .sustainaTop {
		flex-direction: column;
		width: calc(100% + 5rem);
		margin: 0 0 7.2vw -2.5rem;
		padding: 0 0 0 0;
	}

	#sustainable .sustainaTop .image {
		max-width: 92.933vw;
		margin-bottom: 5.6vw;
	}

	#sustainable .sustainaTop .conts {
		width: calc(100% - 5rem);
		margin: 0 auto 0;
		padding: 6.4vw 0 7.467vw 7.733vw;
	}

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

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

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

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

	#sustainable .sustainaTop .conts .yellowTop {
		right: -5.867vw;
		top: -2.133vw;
		max-width: 21.6vw;
	}

	#sustainable .sustainaTop .conts .yellowBottom {
		left: -5.067vw;
		bottom: -4.8vw;
		max-width: 21.6vw;
	}

	#sustainable .sustainaTop .conts h3 {
		font-size: 5.6vw;
		line-height: 1.5714285;
		letter-spacing: 0.3em;
	}

	#sustainable .sustainaBoxes {
		flex-direction: column;
		padding: 0 3.467vw;
		margin-bottom: 17.067vw;
	}

	#sustainable .sustainaBoxes:after {
		height: 14.667vw;
		bottom: -14.4vw;
	}

	#sustainable .sustainaBoxes .box {
		width: 100%;
		margin: 0 0 5.267vw;
	}

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

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

	#sustainable .sustainaBoxes .box h3 {
		width: 55.467vw;
		height: 10vw;
		font-size: 4.533vw;
		background: url('../img/sustinaBoxHead-sp.png') no-repeat;
		background-size: cover;
	}

	#sustainable .sustainaBoxes .box .innerBox {
		border: 1.333vw solid #d5e6f5;
		padding: 4.8vw 1.867vw 5.633vw;
	}

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

	#sustainable .sustainaBoxes .box .innerBox p {
		font-size: 4.8vw;
		line-height: 1.77777;
	}

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

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

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

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

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

	#sustainable .sustainaFull h3 {
		font-size: 5.6vw;
		line-height: 1.4285714;
		margin-bottom: 6.133vw;
	}

	#sustainable .sustainaFull .image {
		width: calc(100% + 5rem);
		margin-left: -2.5rem;
	}

	#sustainable .sustainaBottom {
		flex-direction: column;
		margin-bottom: 8vw;
		padding: 0 3.467vw 0 3.733vw;
	}

	#sustainable .sustainaBottom .image {
		width: calc(100% + 7.2vw);
		max-width: initial;
		margin: 0 auto 0 -3.733vw;
	}

	#sustainable .sustainaBottom .conts {
		width: 100%;
		margin-bottom: 7.2vw;
	}

	#sustainable .sustainaBottom .conts p {
		font-size: 4.8vw;
		line-height: 1.4444;
	}

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

	#sustainable .sustainaBottom .conts h3 {
		font-size: 5.067vw;
		line-height: 1;
		margin-bottom: 2.933vw;
	}

	#sustainable .sustainaBottom .conts h3 span {
		margin: 0 0 0.8vw 0;
		padding: 1.6vw 2.133vw 2.4vw 2.133vw;
		white-space: nowrap;
	}

	#sustainable .sustainaBorder {
		width: 100%;
		margin: 0 auto 0;
		padding: 8.8vw 0 9.067vw 0;
	}

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

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

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

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

	#sustainable .sustainaBorder .yellowTop {
		right: -5.867vw;
		top: -2.133vw;
		max-width: 21.6vw;
	}

	#sustainable .sustainaBorder .yellowBottom {
		left: -5.067vw;
		bottom: -4.8vw;
		max-width: 21.6vw;
	}

	#sustainable .sustainaBorder p {
		font-size: 5.067vw;
		line-height: 1.84;
		letter-spacing: 0.3em;
	}

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

	#interview {
		padding: 6.4vw 0 2.933vw 0;
	}

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

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

	#interview .head .enTex:before {
		height: 9.067vw;
		left: calc(50% - 0.533vw);
	}

	#interview .head .enTex:after {
		height: 9.067vw;
		left: calc(50% + 0.8vw);
	}

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

	#interview .head h2 {
		font-size: 6.667vw;
		line-height: 1.32;
	}

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

	#interview .interviewBox .boxHead {
		flex-direction: column;
		margin-bottom: 9.6vw;
		padding: 0 0 0 0;
	}

	#interview .interviewBox.box02 .boxHead {
		flex-direction: column;
		margin-bottom: 9.6vw;
		padding: 0 0 0 0;
	}

	#interview .interviewBox .boxHead .no {
		padding: 0 0.8vw 0 0;
	}

	#interview .interviewBox .boxHead .no .noImage {
		max-width: 76.667vw;
		margin: 0 auto 0;
	}

	#interview .interviewBox .boxHead .no h3 {
		font-size: 3.2vw;
		margin: 2.667vw 5.6vw 0 0;
	}

	#interview .interviewBox.box02 .boxHead .no h3 {
		text-align: right;
		margin: 2.667vw 5.6vw 0 0;
	}

	#interview .interviewBox .boxHead .image {
		width: 100%;
		max-width: 83.733vw;
		margin: 6.4vw auto 0;
		padding: 0;
	}

	#interview .interviewBox.box02 .boxHead .image {
		margin: 6.4vw auto 0;
	}

	#interview .interviewBox .faqBox {
		flex-direction: column;
	}

	#interview .interviewBox .faqBox .left {
		width: 100%;
	}

	#interview .interviewBox .faqBox .right {
		width: 100%;
	}

	#interview .interviewBox .faqBox dl {
		padding: 4.8vw 1.333vw 4.267vw 3.2vw;
		border-bottom: 0.267vw solid #c5c3c4;
	}

	#interview .interviewBox .faqBox .right dl {
		padding: 4.8vw 1.333vw 4.267vw 3.2vw;
	}

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

	#interview .interviewBox .faqBox dl:last-child {
		border-bottom: 0.267vw solid #c5c3c4;
		padding-bottom: 3.467vw;
		margin-bottom: 5.333vw;
	}

	#interview .interviewBox .faqBox .right dl:last-child {
		border-bottom: initial;
		margin-bottom: 3.467vw;
	}

	#interview .interviewBox .faqBox .left dl {
		border-right: initial;
	}

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

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

	#interview .interviewBox .faqBox dl dt .tex {
		font-size: 4.8vw;
		line-height: 1.444;
		width: calc(100% - 8.533vw);
	}

	#interview .interviewBox .faqBox dl dd p {
		font-size: 4.267vw;
		line-height: 1.75;
	}

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

	#contact {
		padding: 7.733vw 0 0 0;
		background: url('../img/contactBg-sp.jpg') center no-repeat;
		background-size: cover;
	}

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

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

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

	#contact .blueBox {
		background: url('../img/contactBg_blue-sp.jpg') center no-repeat;
		background-size: cover;
		flex-direction: column;
		padding: 0 0 0 0;
	}

	#contact .blueBox .images {
		width: 100%;
		height: 74.933vw;
	}

	#contact .blueBox .images .enTex {
		left: 11.733vw;
		top: 7.467vw;
		max-width: 11.333vw;
	}

	#contact .blueBox .images .humanObj {
    left: 50%;
		bottom: -13.6vw;
		left: 54%;
		transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
		max-width: 69.867vw;
	}

	#contact .blueBox .conts {
		width: 100%;
		padding: 6.933vw 0 0 0;
	}

	#contact .blueBox .conts p {
		font-size: 3.467vw;
		text-align: center;
		margin-bottom: 3.2vw;
		padding: 0 0 0 2.667vw;
	}

	#contact .blueBox .conts h3 {
		font-size: 5.333vw;
		line-height: 1.35;
		text-align: center;
		margin-bottom: 4.267vw;
		padding: 0 0 0 1.6vw;
	}

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

	#contact .blueBox .conts .button {
		width: 74.667vw;
		margin: -0.8vw auto 0;
	}

	#contact .blueBox .conts .button a {
		padding: 5.333vw 0;
	}

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

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

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

	#program {
		padding: 14.4vw 0 0 0;
	}

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

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

	#program .head .enTex:before {
		height: 9.067vw;
		left: calc(50% - 0.533vw);
	}

	#program .head .enTex:after {
		height: 9.067vw;
		left: calc(50% + 0.8vw);
	}

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

	#program .head h2 {
		font-size: 6.667vw;
		line-height: 1.32;
	}

	#program .programTop {
		flex-direction: column;
		width: calc(100% + 5rem);
		margin: 0 0 5.867vw -2.5rem;
		padding: 0 0 0 0;
	}

	#program .programTop .image {
		max-width: 92.933vw;
		margin-bottom: 5.6vw;
	}

	#program .programTop .conts {
		width: calc(100% - 5rem);
		margin: 0 auto 0;
		padding: 0 3.733vw 0 3.733vw;
	}

	#program .programTop .conts p {
		font-size: 4.8vw;
		line-height: 1.5555;
		margin-bottom: 2.4vw;
	}

	#program .programTop .conts h3 {
		font-size: 5.6vw;
		line-height: 1;
		margin-bottom: 0;
	}

	#program .programTop .conts h3 span {
		margin: 0 0 1.6vw 0.8vw;
		padding: 2.133vw 2.667vw 2.4vw 2.667vw;
	}

	#program .programBottom {
		flex-direction: column;
		width: 100%;
		margin: 0 0 2.933vw 0;
		padding: 0 0;
	}

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

	#program .programBottom .conts {
		width: 100%;
		padding: 6.933vw 3.733vw 0;
	}

	#program .programBottom .conts p {
		font-size: 4.8vw;
		line-height: 1.5555;
		letter-spacing: 0.102em;
		margin-bottom: 5.067vw;
	}

	#program .startBox {
		width: 100%;
		max-width: 100%;
		margin: 0 auto 10.133vw;
	}

	#program .startBox .enTex {
		max-width: 50.933vw;
		margin: 0 auto 0;
	}

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

	#program .startBox:after {
		height: 10.667vw;
		bottom: -8.267vw;
	}

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

	#program .companyBox {
		width: 100%;
		max-width: 100%;
		margin: 0 auto 5.333vw;
	}

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

	#program .companyBox .innerBox {
		padding: 4.267vw 0 7.467vw;
	}

	#program .companyBox .innerBox:before {
		height: 10.667vw;
		top: -8.533vw;
	}

	#program .companyBox .innerBox:after {
		height: 10.667vw;
		bottom: -8.533vw;
		z-index: 1;
	}

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

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

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

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

	#program .debutBox {
		width: 100%;
		max-width: 100%;
		margin: 0 auto 5.333vw;
	}

	#program .debutBox h3 {
		font-size: 5.333vw;
		letter-spacing: 0.05em;
		margin: 0 auto 3.733vw;
	}

	#program .debutBox .innerBox {
		padding: 7.467vw 0 8vw;
	}

	#program .debutBox .innerBox:before {
		display: none;
	}

	#program .debutBox .innerBox:after {
		height: 10.667vw;
		bottom: -8.267vw;
		z-index: 1;
	}

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

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

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

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

	#program .careerBox .innerBox:before {
		display: none;
	}

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

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

	#program .polygonArea h3 {
		font-size: 5.6vw;
		line-height: 2.047619;
		margin-bottom: 5.6vw;
	}

	#program .polygonArea h3 span {
		margin: 0 0 1.6vw 0;
		padding: 0.8vw 2.4vw 1.067vw 2.4vw;
	}

	#program .polygonArea h3 span:last-child {
		padding: 0.8vw 2.4vw 1.067vw 2.4vw;
	}

	#program .polygonArea .image {
		width: calc(100% + 8.267vw);
		max-width: 94.933vw;
		margin: 0 auto 8.533vw;
		transform: translateX(-3.2vw);
		-webkit-transform: translateX(-3.2vw);
		-moz-transform: translateX(-3.2vw);
	}

	#program .polygonArea .conts {
		width: 100%;
		max-width: 100%;
		margin: 0 auto 0;
		padding: 0 3.733vw;
	}

	#program .polygonArea .conts p {
		font-size: 4.8vw;
		line-height: 1.5555;
	}

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

	#profile {
		padding: 10.667vw 0 5.067vw 0;
	}

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

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

	#profile .head .enTex:before {
		height: 9.067vw;
		left: calc(50% - 0.533vw);
	}

	#profile .head .enTex:after {
		height: 9.067vw;
		left: calc(50% + 0.8vw);
	}

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

	#profile .head h2 {
		font-size: 6.667vw;
		line-height: 1.32;
	}

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

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

	#profile .trainerBox .boxTop {
		flex-direction: column;
		margin-bottom: -7.467vw;
		padding: 0;
	}

	#profile .trainerBox.box02 .boxTop {
		flex-direction: column;
		margin-bottom: -7.733vw;
		padding: 0;
	}

	#profile .trainerBox .boxTop .image {
		max-width: 83.2vw;
		margin: 0 auto 0;
		transform: translateX(-4vw);
		-webkit-transform: translateX(-4vw);
		-moz-transform: translateX(-4vw);
	}

	#profile .trainerBox.box02 .boxTop .image {
		max-width: 83.2vw;
		margin: 0 auto 0;
		transform: translateX(-4vw);
		-webkit-transform: translateX(-4vw);
		-moz-transform: translateX(-4vw);
	}

	#profile .trainerBox .boxTop .conts {
		width: 100%;
		margin: 0 0 0 0;
		padding: 5.867vw 9.333vw 22.4vw 9.333vw;
	}

	#profile .trainerBox.box02 .boxTop .conts {
		width: 100%;
		padding: 5.867vw 9.333vw 22.4vw 9.333vw;
	}

	#profile .trainerBox .boxTop .conts:before {
		width: 100%;
		height: 100%;
		top: -14.133vw;
	}

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

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

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

	#profile .trainerBox .boxTop .conts h3 small {
		font-size: 3.2vw;
		white-space: normal;
		margin: 0 0 0 -1.333vw;
	}

	#profile .trainerBox .boxTop .conts p {
		font-size: 4.267vw;
		line-height: 1.75;
		text-align: justify;
	}

	#profile .trainerBox .boxBottom {
		flex-direction: column;
		margin-bottom: 0;
		padding: 0;
	}

	#profile .trainerBox.box02 .boxBottom {
		flex-direction: column;
		margin-bottom: 0;
		padding: 0;
	}

	#profile .trainerBox .boxBottom .image {
		max-width: 81.867vw;
		margin: 0 auto 9.067vw;
	}

	#profile .trainerBox .boxBottom .conts {
		width: 100%;
	}

	#profile .trainerBox .boxBottom .conts .innerBox {
		margin-bottom: 9.067vw;
		padding: 15.2vw 9.067vw 6.133vw 9.6vw;
	}

	#profile .trainerBox.box02 .boxBottom .conts .innerBox {
		padding: 15.2vw 9.067vw 7.2vw 9.6vw;
	}

	#profile .trainerBox .boxBottom .conts .innerBox h4 {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	#profile .trainerBox .boxBottom .conts .innerBox h4 span {
		font-size: 5.333vw;
		line-height: 1;
		margin-bottom: 0.8vw;
		padding: 0.8vw 1.867vw;
	}

	#profile .trainerBox .boxBottom .conts p {
		font-size: 4.267vw;
		line-height: 1.75;
	}

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

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

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

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

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

	#data .head .enTex:before {
		height: 9.067vw;
		left: calc(50% - 0.533vw);
	}

	#data .head .enTex:after {
		height: 9.067vw;
		left: calc(50% + 0.8vw);
	}

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

	#data .head h2 {
		font-size: 6.667vw;
		line-height: 1.32;
	}

	#data .head h2 span {
		position: absolute;
		right: 1.6vw;
		bottom: -5.6vw;
		font-size: 3.2vw;
		font-weight: 600;
		line-height: 1;
		letter-spacing: 0.13em;
	}

	#data .dataImage01 {
		width: 100%;
		max-width: 81.2vw;
		margin: 0 auto 8.533vw;
	}

	#data .dataImage02 {
		width: calc(100% + 6.133vw);
		max-width: 92.8vw;
		margin: 0 auto 7.467vw;
		transform: translateX(-1.867vw);
		-webkit-transform: translateX(-1.867vw);
		-moz-transform: translateX(-1.867vw);
	}

	#data .dataImage03 {
		width: calc(100% + 3.067vw);
		max-width: 89.733vw;
		margin: 0 auto 0;
		transform: translateX(-2.933vw);
		-webkit-transform: translateX(-2.933vw);
		-moz-transform: translateX(-2.933vw);
	}

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

	#requirements {
		padding: 6.933vw 0 5.333vw 0;
	}

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

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

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

	#requirements .head .enTex:before {
		height: 9.067vw;
		left: calc(50% - 0.533vw);
	}

	#requirements .head .enTex:after {
		height: 9.067vw;
		left: calc(50% + 0.8vw);
	}

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

	#requirements .head h2 {
		font-size: 6.667vw;
		line-height: 1.32;
	}

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

	#requirements .requireTable table th {
		position: relative;
		display: block;
		width: 100%;
		border-bottom: 0.267vw solid #c5c3c4;
	}

	#requirements .requireTable table th:after {
		content: '';
		width: 24vw;
		height: 0.8vw;
		background: #005ba9;
		position: absolute;
		left: 0;
		bottom: -0.267vw;
	}

	#requirements .requireTable table th p {
		font-size: 4vw;
		line-height: 1.5333;
		text-align: left;
		padding: 0 0 2.933vw 0;
	}

	#requirements .requireTable table td {
		display: block;
		width: 100%;
		padding: 3.067vw 0.8vw 8.933vw 0.267vw;
		box-sizing: border-box;
		border-bottom: initial;
	}

	#requirements .requireTable table tr:last-child td {
		padding: 3.067vw 2.133vw 8.933vw 0.267vw;
	}

	#requirements .requireTable table td p {
		font-size: 4vw;
		line-height: 1.5333;
		text-align: justify;
	}

	#requirements .requireTable table ul li {
		font-size: 4vw;
		line-height: 1.5333;
		text-align: justify;
	}

}
