@charset "UTF-8";

/* mainimageSec
-------------------------------------------------- */
.mainimageSec {
	height: 100vh;
	background: url(../images/home/mainimage_bg.jpg) no-repeat;
	background-size: cover;
	color: #FFF;
}
.mainimageSec .messageBlock {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	width: 66.6666666666667vw;
	padding: 30px;
	background: rgba(255,255,255,0.5);
}
@media (min-width: 480px) {
	.mainimageSec .messageBlock {
		width: 66%;
	}
}
.mainimageSec .btn {
	position: relative;
	font-size: 18px;
	background: rgba(26,26,26,0.9);
	box-shadow: 0 0 0 1px rgba(255,255,255,0.5),0 0 0 4px rgba(26,26,26,0.9);
	line-height: 45px;
	padding: 0;
	margin-top: 20px;
}
.mainimageSec .btn::after {
	position: absolute;
	display: block;
	content: " ";
	width: 1px;
	height: 14px;
	background: #FFF;
	-ms-transform: rotate(45deg) translate(-4px, -6px);
	-webkit-transform: rotate(45deg) translate(-4px, -6px);
	transform: rotate(45deg) translate(-4px, -6px);
	left: 50%;
	top: 50%;
}
.mainimageSec .btn::before {
	position: absolute;
	display: block;
	content: " ";
	width: 14px;
	height: 1px;
	background: #FFF;
	-ms-transform: rotate(45deg) translate(-4px,3px);
	-webkit-transform: rotate(45deg) translate(-4px,3px);
	transform: rotate(45deg) translate(-4px,3px);
	left: 50%;
	top: 50%;
}
.mainimageSec .presenterBlock {
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 100vw;
	line-height: 1;
}
@media (min-width: 480px) {
	.mainimageSec .presenterBlock {
		width: 100%;
	}
}

/* specialSec
-------------------------------------------------- */
.specialSec {
	padding-top: 20px;
}
.specialSec h2 {
	position: relative;
	line-height: 1.5;
}
.specialSec h2::before {
	display: block;
	content: " ";
	position: absolute;
	top: 20px;
	left: 10vw;
	width: 13px;
	height: 21px;
	background: url(../images/home/special_h2_before.svg) no-repeat;
	background-size: cover;
}
@media (min-width: 480px) {
	.specialSec h2::before {
		left: 10%;
	}
}
.specialSec h2::after {
	display: block;
	content: " ";
	position: absolute;
	top: 20px;
	right: 10vw;
	width: 13px;
	height: 21px;
	background: url(../images/home/special_h2_after.svg) no-repeat;
	background-size: cover;
}
@media (min-width: 480px) {
	.specialSec h2::after {
		right: 10%;
	}
}

/* introSec
-------------------------------------------------- */
.introSec {
	background: #E25450;
	padding-bottom: 25px;
}
.introSec .container {
	margin-top: 15px;
	text-align: center;
}
.introSec h2 {
	font-size: 20px;
	color: #FFF;
	background: #DD2439 url(../images/home/intro_h2_bg.svg) no-repeat -10px 10px;
	background-size: 50%;
	padding: 30px 0;
	margin-bottom: 0;
	font-weight: bold;
}
.introSec .row {
	margin-top: 15px;
}
.inner {
	background: #FFF;
}
.introSec .inner {
	height: 100%;
}
.introSec .inner p {
	margin-bottom: 12px;
	line-height:1.333333333333333;
}
.introSec .inner p span {
	font-size: 21px;
	font-weight: bold;
	color: #0B8C43;
	-webkit-transition: .3s;
	transition: .3s;
}
.introSec .inner a:hover p span {
	color: #076BAF;
}
.introSec .inner a {
	padding-top: 15px;
	padding-bottom: 20px;
	color: #333;
	text-decoration: none;
	display: block;
	position: relative;
	height: 100%;
}
.introSec .inner a .fa {
	color: #FFF;
	margin: 0;
	line-height: 14px;
}
.introSec a img {
	height: 20vw;
	width: auto;
}
@media (min-width: 480px) {
	.introSec a img {
		height: auto;
		width: 50%;
	}
}
.strength01 .inner {
	background: #FFF url(../images/home/strength01_bg.svg) no-repeat 5px 10px;
	background-size: auto 11.4666666666667vw;
}
.strength02 .inner {
	background: #FFF url(../images/home/strength02_bg.svg) no-repeat 5px 10px;
	background-size: auto 11.4666666666667vw;
}
.strength03 .inner {
	background: #FFF url(../images/home/strength03_bg.svg) no-repeat 5px 10px;
	background-size: auto 11.4666666666667vw;
}
.strength04 .inner {
	background: #FFF url(../images/home/strength04_bg.svg) no-repeat 5px 10px;
	background-size: auto 11.4666666666667vw;
}
.strength05 .inner {
	background: #FFF url(../images/home/strength05_bg.svg) no-repeat 5px 10px;
	background-size: auto 11.4666666666667vw;
}
.strength06 .inner {
	background: #FFF url(../images/home/strength06_bg.svg) no-repeat 5px 10px;
	background-size: auto 11.4666666666667vw;
}
@media (min-width: 480px) {
	.introSec .inner {
		background: #FFF;
	}
}
.introSec p.subtitle {
	font-size: 15px;
	line-height: 1.466666666666667;
}
.linkBtn {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	background: #87BD42;
	-webkit-transition: .3s;
	transition: .3s;
	line-height: 14px;
}
a:hover .linkBtn {
	background: #076BAF;
}
.introSec h3 {
	font-size: 18px;
	font-weight: bold;
	padding-top: 32px;
	padding-bottom: 32px;
	margin-bottom: 35px;
	position: relative;
}
.introSec h3::after {
	display: block;
	content: " ";
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 23.4666666666667vw;
	height: 1px;
	background: #333;
}
@media (min-width: 480px) {
	.introSec h3::after {
		width: 23%;
	}
}
.introSec h3 span {
	font-size: 21px;
	color: #0B8C43;
}
.introSec p.col-12 {
	text-align: left;
	line-height: 1.75;
}
.introSec .careerPath {
	background: url(../images/home/careerPath_bg.png) no-repeat;
	background-size: 100% auto;
	height: 316px;
	position: relative;
	margin: 0 15px 35px;
}
.introSec .careerPathInner {
	position: absolute;
	bottom: 20px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 70.6666666666667vw;
	padding: 15px;
	color: #FFF;
	background: rgba(0,0,0,0.5);
}
@media (min-width: 480px) {
	.introSec .careerPathInner {
		width: 70%;
	}
}
.introSec .careerPathInner p {
	line-height: 1.75;
	font-size: 15px;
	margin-bottom: 0;
}

/* strengthSec
-------------------------------------------------- */
.strengthSec {
	padding-bottom: 40px;
}

/* trainerSec
-------------------------------------------------- */
.trainerSec {
	padding-bottom: 40px;
}

/* messageSec
-------------------------------------------------- */
.messageSec {
	background: url(../images/home/messageSec_bg.jpg) repeat;
	background-size: 100% auto;
	padding-top: 20px;
	padding-bottom: 30px;
}
.photoBlock {
	position: relative;
	text-align: center;
	margin-bottom: 22px;
}
.profileName {
	position: absolute;
	bottom: 0;
	right: 0;
	background: #87BD42;
	box-shadow: 0 0 0 1px #FFF,0 0 0 4px #87BD42;
	font-size: 14px;
	padding: 10px 20px;
	line-height: 1.5;
	color: #FFF;
}
.profileName span {
	font-size: 12px;
}
.photoBlock p {
	margin-bottom: 0;
}
.messageSec .inner {
	padding: 15px;
}

/* outlineSec
-------------------------------------------------- */
.outlineSec h3 {
	position: relative;
	padding-left: 17px;
	line-height: 24px;
	font-size: 18px;
	font-weight: bold;
}
.outlineSec h3::before {
	position: absolute;
	display: block;
	content: " ";
	top: 0;
	left: 0;
	width: 5px;
	height: 24px;
	background: #87BD42;
}
.outlineSec .small {
	font-size: 14px;
}
.confShop {
	color: #31B1CE;
	cursor:pointer;
}
.confShop:hover {
	text-decoration: underline;
}

/* mapSec
-------------------------------------------------- */
.mapSec {
	background: #C5DF9E;
	padding-bottom: 40px;
}
.mapSec h2 {
	font-size: 20px;
	font-weight: bold;
	padding-top: 25px;
}
.mapSec h2 span {
	font-size: 16px;
}
.mapSec .row {
	padding: 15px;
	position: relative;
}
.mapSec .row::after {
	position: absolute;
	content: " ";
	display: block;
	bottom: 0;
	left: 15px;
	right: 15px;
	height: 1px;
	background: #A9A19E;
}
.mapSec .row:last-child::after {
	background: #FFF;
}
.mapSec h3 {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 8px;
	margin-left: -5px;
	letter-spacing: 0.04em;
}
.mapSec p {
	font-size: 12px;
	letter-spacing: 0.04em;
}
.mapSec p:last-child {
	margin-bottom: 0;
}

/* entrySec
-------------------------------------------------- */
.entrySec {
	background: url(../images/home/entry_bg.jpg) no-repeat;
	background-size: cover;
	padding-bottom: 30px;
}
.entrySec h2 {
	background: #333;
	line-height: 108px;
	font-size: 32px;
	font-weight: bold;
	color: #FFF;
}
.entrySec .formBlock {
	position: relative;
}
.entrySec .formBlock .placeholder {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 16px;
	color: #ABABAB;
	line-height: 50px;
	margin: 5px 0;
	padding-left: 18px;
	width: calc(100% - 18px);
	-webkit-transition: .3s;
	transition: .3s;
}
.entrySec .formBlock .placeholder.focus {
	font-size: 12px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.entrySec .formBlock::after {
	position: absolute;
	content:"*";
	color: #E71F19;
	font-size: 18px;
	top: 50%;
	right: 13px;
	margin: 5px 0;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.entrySec .formBlock .placeholder span {
	font-size: 14px;
}
.entrySec .formBlock .placeholder.focus span {
	font-size: 10px;
}
.entrySec .row {
	margin-bottom: 10px;
}
.entrySec p {
	color: #666;
	width: 86.1333333333333vw;
	margin: 15px auto 25px;
	font-size: 14px;
}
@media (min-width: 480px) {
	.entrySec p {
		width: 86%;
	}
}
.entrySec p.notes {
	color: #FF0000;
	-webkit-transition: .7s;
	transition: .7s;
	text-align: center;
	font-size: 18px;
}
/* E77A6D */
.btn-send {
	box-shadow: 0 0 0 1px #FFF, 0 0 0 4px #E25450;
	position: relative;
	color: #FFF;
	line-height: 78px;
	font-size: 38px;
	width: 86.1333333333333vw;
	margin: 16px auto 8px;
	display: block;
	-webkit-transition: .3s;
	transition: .3s;
	z-index: 2;
	font-weight: bold;
}
@media (min-width: 480px) {
	.btn-send {
		width: 86%;
	}
}
.btn-send::before,
.btn-send::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
	-webkit-transition: .3s;
	transition: .3s;
	left: 0;
	width: 100%;
	height: 50%;
	background: #E25450;
}
.btn-send::before {
	top: 0;
}
.btn-send::after {
	bottom: 0;
}
.btn-send:hover {
	background: #FFF;
	box-shadow: 0 0 0 1px #E25450, 0 0 0 3px #FFF, 0 0 0 4px #E25450;
	color: #E25450;
}
.btn-send:hover::before,
.btn-send:hover::after {
	height: 0;
	background-color: #FFF;
}
.btn-send span {
	position: relative;
	width: 100%;
	display: inline-block;
}
.btn-send span::after {
	position: absolute;
	top: 50%;
	right: 15px;
	width: 12px;
	height: 12px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	-ms-transform: rotate(45deg) translateY(-50%);
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%);
	content:" ";
}
.btn-send:hover span::after {
	border-top: 2px solid #E25450;
	border-right: 2px solid #E25450;
}
.btn-tel {
	box-shadow: 0 0 0 1px #FFF, 0 0 0 4px #87BD42;
	position: relative;
	color: #FFF;
	line-height: 62px;
	font-size: 24px;
	width: 86.1333333333333vw;
	margin: 20px auto;
	display: block;
	-webkit-transition: .3s;
	transition: .3s;
	z-index: 2;
	font-weight: bold;
	text-align: center;
}
@media (min-width: 480px) {
	.btn-tel {
		display: none;
	}
}
.btn-tel::before,
.btn-tel::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
	-webkit-transition: .3s;
	transition: .3s;
	left: 0;
	width: 100%;
	height: 50%;
	background: #87BD42;
}
.btn-tel::before {
	top: 0;
}
.btn-tel::after {
	bottom: 0;
}
.btn-tel:hover {
	background: #FFF;
	box-shadow: 0 0 0 1px #87BD42, 0 0 0 3px #FFF, 0 0 0 4px #87BD42;
	color: #87BD42;
}
.btn-tel:hover::before,
.btn-tel:hover::after {
	height: 0;
	background-color: #FFF;
}
.btn-tel span {
	position: relative;
	width: 100%;
	display: inline-block;
}
.btn-tel span::after {
	position: absolute;
	top: 50%;
	right: 15px;
	width: 12px;
	height: 12px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	-ms-transform: rotate(45deg) translateY(-50%);
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%);
	content:" ";
}
.btn-tel:hover span::after {
	border-top: 2px solid #87BD42;
	border-right: 2px solid #87BD42;
}
