/*
----------------------------------------
reset
----------------------------------------
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

body {
	line-height: 1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display: block;
}

nav ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote: before, blockquote:after,
q: before, q:after {
	content: '';
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor:help;
}

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

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

input, select {
	vertical-align: middle;
}

#contents .slick-dotted.slick-slider {
	margin-bottom: 60px;
}

#contents .slick-dots {
	bottom: -56px;
}

#contents .slick-dots li {
	margin: 0 2px;
}

#contents .slick-dots li button:before {
	font-size: 10px;
	color: #ccc;
	opacity: 1;
	transform: scale( .9 );
}

#contents .slick-dots li.slick-active button::before {
	color: #13a158;
	opacity: 1;
}

html[lang=ja] {
	margin-top: 0 !important;
}

#wpadminbar {
	display: none;
}


/*
----------------------------------------
common
----------------------------------------
*/

.left {
	text-align: left;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.video {
	max-width: 800px;
	margin: 30px auto;
}

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.pc-none, .sp {
	display: none;
}

/* clearfix */

.clearfix:before,
.clearfix:after {
	display: table;
	content: '';
}
.clearfix:after {
	clear: both;
}

/* scrollbar */

/*
::-webkit-scrollbar {
	width: 5px;
	background: transparent;
}

::-webkit-scrollbar-track {
	box-shadow: none;
}

::-webkit-scrollbar-thumb {
	background-color: #ccc;
	box-shadow: none;
}

.addtoany_list.a2a_kit_size_32 a:not(.addtoany_special_service) > span {
	border-radius: 50%;
	padding: 3px;
	transition: all .2s;
}
*/


/*
----------------------------------------
default
----------------------------------------
*/

html {
	font-size: 62.5%;
}

body {
	font-size: 1.6rem;
	line-height: 2;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	text-align: center;
	font-feature-settings: 'palt';
	color: #222834;
	background: #fafafa;
	width: 100vw;
	overflow-scrolling: touch;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
}

body * {
	box-sizing: border-box;
}

a {
	color: #000;
	text-decoration: none;
	transition: all .2s;
	-webkit-transition: -webkit-transform all .2s;
}

ul, ol {
	list-style: none;
	margin: 0;
}

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

.ofi img {
	object-fit: cover;
	font-family: 'object-fit: cover;' /* ie */
}

div.wpcf7 .ajax-loader {
	display: none !important;
}

/* linkcard */

.post .lkc-external-wrap,
.post .lkc-internal-wrap,
.post .lkc-this-wrap {
	max-width: 100%;
	background: transparent;
	border: none;
}

.post .lkc-external-wrap a,
.post .lkc-internal-wrap a,
.post .lkc-this-wrap a {
	display: block;
	border: solid 1px #ccc;
	padding: 10px 50px 10px 10px;
}

.post .lkc-info {
	display: none !important;
}

.post .lkc-internal-wrap a {
	background: url( assets/img/common/icon-link.svg ) right 26px center / 8px no-repeat;
}

.post .lkc-internal-wrap a:hover {
	background: #fafafa url( assets/img/common/icon-link.svg ) right 20px center / 8px no-repeat;
}

.post .lkc-external-wrap a {
	background: url( assets/img/common/icon-link-external.svg ) right 20px center / 20px no-repeat;
}

.post .lkc-external-wrap a:hover {
	background: #fafafa url( assets/img/common/icon-link-external.svg ) right 20px center / 20px no-repeat;
}

.post .linkcard {
	margin: 0 0 20px;
}

.post .lkc-card {
	margin: 0;
}

.post .lkc-content {
	height: 100px;
	margin: 0;
}

.post .lkc-thumbnail {
	width: 100px;
	max-width: 100px;
	height: 100px;
	overflow: hidden;
	margin: 0 15px 0 0;
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
}

.post .lkc-thumbnail-img {
	width: auto;
	max-width: 100px;
	max-height: initial;
}

.post .lkc-url {
	display: inline-block;
	margin: 5px 0;
	color: #999;
}

.post .lkc-excerpt {
	display: block !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.post .lkc-title-text:hover {
	text-decoration: none;
}


/*
----------------------------------------
form
----------------------------------------
*/

input[type=text],
input[type=search],
input[type=tel],
input[type=number],
input[type=url],
input[type=email],
input[type=password],
input[type=date],
textarea, select {
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 100%;
	appearance: none;
	border: solid 1px #ccc;
	padding: 20px;
}

input.l {
	width: 100%;
	margin: 0 !important;
}

textarea {
	margin: 0 !important;
	width: 100% !important;
	height: 15rem !important;
}

select {
	width: auto;
	min-width: 120px;
	border: solid 2px #a6a6a6 !important;
	border-radius: 6px !important;
	padding: 3.5px 30px 3.5px 10px !important;
	background: #f8f8f8 url( ../img/common/2x/arrow-select.png ) right 6px center / 8px no-repeat !important;
}

.mwform-radio-field input[type=radio],
.mwform-checkbox-field input[type=checkbox] {
	display: none;
}

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
	color: #ccc;
	font-size: 1.6rem;
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
	color:#ccc;
}

::placeholder{ /* Others */
	color:#ccc
}


/*
----------------------------------------
flex
----------------------------------------
*/

.flex {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
}

.flex.nowrap {
	flex-wrap: nowrap;
}

.flex.reverce {
	flex-direction: row-reverse;
}

.flex.item-center {
	align-items: center;
}

/* column */

.flex.col-02 > * {
	width: calc( ( 100% - 20px ) / 2 );
}

.flex.col-02 > *:nth-child( odd ) {
	margin-right: 20px;
}

.flex.col-02.reverce > *:nth-child( odd ) {
	margin: 0 0 0 20px;
}

.flex.col-03 > * {
	width: calc( ( 100% - 40px ) / 3 );
	margin-right: 20px;
}

.flex.col-03.reverce > * {
	margin: 0 0 0 20px;
}

.flex.col-03 > *:nth-child( 3n ) {
	margin: 0 !important;
}

.flex.col-04 > * {
	width: calc( ( 100% - 60px ) / 4 );
	margin-right: 20px;
}

.flex.col-04.reverce > * {
	margin: 0 0 0 20px;
}

.flex.col-04 > *:nth-child( 4n ) {
	margin: 0 !important;
}


/*
----------------------------------------
font
----------------------------------------
*/

.en {
	font-family: 'Alata', sans-serif;
	font-weight: 400;
}

.gothic {
	font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}

.mincho {
	font-family: ’游明朝’, YuMincho, ’ヒラギノ明朝 ProN W3’, ’Hiragino Mincho ProN’, ’ＭＳ Ｐ明朝’, ’ＭＳ 明朝’, serif;
}

strong {
	font-weight: normal;
}

.dummy {
	color: #f33;
}


/*
----------------------------------------
animation
----------------------------------------
*/

@keyframes fade {
	0% {
		opacity: 0;
		visibility: hidden;
	}
	100% {
		opacity: 1;
		visibility: visible;
	}

}

@keyframes fade-up {
	0% {
		opacity: 0;
		visibility: hidden;
		transform: translateY( 40px );
	}
	100% {
		opacity: 1;
		visibility: visible;
		transform: translateY( 0 );
	}

}

@keyframes fade-hover {
	0% {
		opacity: 1;
	}
	100% {
		opacity: .8;
	}

}

@keyframes mov-box {
	0% {
		width: 0;
		left: 0;
		right: auto;
	}
	35% {
		width: 100%;
		left: 0;
		right: 0;
	}
	36% {
		width: 100%;
		left: auto;
		right: 0;
	}
	100% {
		width: 0;
		left: auto;
		right: 0;
	}
}

@keyframes mov-box-02 {
	0% {
		left: 0;
	}
	100% {
		left: auto;
	}
}

@keyframes mov-box-03 {
	0% {
		width: 0;
		right: auto;
	}
	100% {
		width: 100%;
		right: 0;
	}

}

@keyframes mov-btn {
	0% {
		left: 0;
		right: 100%;
	}
	100% {
		left: 0;
		right: 0;
	}

}

.inview {
	transform: scale( .95 );
	opacity: 0;
	position: relative;
	transition: all .6s;
	-webkit-transition: -webkit-transform all .6s;
}

.inview.view {
	opacity: 1;
	transform: none;
}

.inview::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #fafafa;
	z-index: 99;
}

.inview.view::after {
	animation: mov-box-02 .4s ease-in-out .2s 1 normal forwards;
}

.inview.wh {
	transform: none;
}

.inview.wh::after {
	background: #fff;
}

.inview.tp {
	transform: none;
}

.inview.tp::after {
	display: none;
}

/* link-01 */

@keyframes link-01 {
	0% {
		left: 0;
		right: 0;
	}
	49.9999% {
		left: 100%;
		right: 0;
	}
	50% {
		left: 0;
		right: 100%;
		
	}
	100% {
		left: 0;
		right: 0;
	}

}

.link-01 a:hover span:after {
	animation: link-01 .6s ease-in-out .2s 1 normal forwards;
}

/* mov-ttl */

@keyframes mov-ttl {
	0% {
		opacity: 0;
		transform: rotateX( 45deg );
	}
	100% {
		opacity: 1;
		transform: none;
	}
}

.mov-ttl .mov-txt-wrap {
	display: inline-block;
	position: relative;
	z-index: 99;
}

.mov-ttl .mov-txt-wrap::after {
	content: '';
	width: 0;
	background: #13a158;
	position: absolute;
	top: 10%;
	right: auto;
	bottom: 10%;
	left: 0;
}

.mov-ttl .mov-txt {
	display: inline-block;
	transform: rotateX( 45deg );
	opacity: 0;
}

.view .mov-ttl .mov-txt-wrap::after {
	animation: mov-box .8s ease-in-out .6s 1 normal forwards;
}

.view .mov-ttl .mov-txt-wrap.mov-02::after {
	animation: mov-box .8s ease-in-out 1s 1 normal forwards;
}

.view .mov-ttl .mov-txt-wrap.mov-03::after {
	animation: mov-box .8s ease-in-out 1.4s 1 normal forwards;
}

.view .mov-ttl .mov-txt-wrap.mov-04::after {
	animation: mov-box .8s ease-in-out 1.8s 1 normal forwards;
}

.view .mov-ttl .mov-txt-wrap .mov-txt {
	animation: mov-ttl .4s ease-in-out 1.2s 1 normal forwards;
}

.view .mov-ttl .mov-txt-wrap.mov-02 .mov-txt {
	animation: mov-ttl .4s ease-in-out 1.6s 1 normal forwards;
}

.view .mov-ttl .mov-txt-wrap.mov-03 .mov-txt {
	animation: mov-ttl .4s ease-in-out 2s 1 normal forwards;
}

.view .mov-ttl .mov-txt-wrap.mov-04 .mov-txt {
	animation: mov-ttl .4s ease-in-out 2.4s 1 normal forwards;
}

/* smile */

@keyframes smile {
	0% {
		opacity: 0;
		transform: translateY( 50% ) scale( .8, 1.25 );;
	}
	65% {
		opacity: 1;
		transform: translateY( -25% ) scale( 1.25, .8 );
	}
	100% {
		opacity: 1;
		transform: none;
	}
}

.smile {
	opacity: 0;
		transform: translateY( 50% ) scale( .8, 1.25 );;
}

.view .smile {
	animation: smile .8s ease-in-out .8s 1 normal forwards;
}


/*
----------------------------------------
ttl
----------------------------------------
*/

.ttl-01 {
	text-align: center;
	font-weight: normal;
	line-height: 1.6;
	margin-bottom: 25px;
}

.ttl-01 .en {
	font-size: 4rem;
	letter-spacing: 6.5px;
}

.ttl-01 .jp {
	font-size: 1.8rem;
	font-weight: 300;
	letter-spacing: 9px;
}

.ttl-02 {
	display: inline-block;
	text-align: center;
	margin-bottom: 30px;
}

.ttl-02 .en {
	font-size: 12rem;
	line-height: 1;
	letter-spacing: 15px;
	white-space: nowrap;
	margin-bottom: -24px;
}

.ttl-02 .jp {
	padding-right: 15px;
}

.ttl-03 {
	text-align: center;
	padding-top: 9rem;
	position: relative;
}

.ttl-03 .bg-txt {
	font-size: 18rem;
	line-height: 1;
	white-space: nowrap;
	color: #f5f5f5;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 1;
}

.ttl-03 .sub {
	font-size: 2rem;
	line-height: 1.6;
	letter-spacing: 4px;
	color: #13a158;
	position: relative;
	z-index: 2;
}

.ttl-03 .jp {
	font-size: 4.8rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 2px;
	position: relative;
	z-index: 3;
}

.ttl-03 .bg-txt + .jp {
	font-size: 3.6rem;
	margin-top: 4.5rem;
}

.ttl-03 .read {
	margin-top: 2rem;
	font-size: 1.8rem;
	letter-spacing: 1.2px;
}

.ttl-04 h1 {
	font-size: 2.8rem;
	font-weight: 300;
	letter-spacing: 17px;
	text-indent: 4px;
}

.ttl-04 .en {
	font-size: 12rem;
	letter-spacing: 10px;
	line-height: 1.12;
	text-indent: 4px;
}

.ttl-04 .copy {
	margin-top: -46px;
}

.ttl-05 .info {
	margin-bottom: 15px;
}

.ttl-05 .info .tab {
	display: inline-block;
	min-width: 110px;
	line-height: 1.6;
	text-align: center;
	font-weight: 500;
	padding: .5px 10px;
	margin-right: 15px;
	border: solid 2px #13a158;
	color: #13a158;
}

.ttl-05 .info .txt {
	font-size: 1.8rem;
	letter-spacing: 1.2px;
	color: #13a158;
}

.ttl-05 .en {
	font-size: 7rem;
	letter-spacing: 2.2px;
	line-height: 1;
	color: #222834;
}

.ttl-05 .name {
	font-size: 2.4rem;
	font-weight: 300;
	color: #222834;
}

.ttl-06 {
	display: inline-block;
	text-align: center;
	margin-bottom: 30px;
}

.ttl-06 .en {
	font-size: 8rem;
	line-height: 1;
	letter-spacing: 6px;
	white-space: nowrap;
	margin-bottom: -30px;
}

.ttl-06 .jp {
	font-size: 2.8rem;
	font-weight: 300;
	letter-spacing: 14px;
	margin-left: 6px;
	color: #13a158;
}


/*
----------------------------------------
block
----------------------------------------
*/

/* mov-block */

.mov-block .img img {
	opacity: 0;
}

.view .mov-block .img img,
.mov-block.view .img img {
	animation: fade .4s ease-in-out 1.2s 1 normal forwards;
}

.view .mov-block .img::after,
.mov-block.view .img::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	background: #13a158;
	z-index: 99;
	animation: mov-box .8s ease-in-out .6s 1 normal forwards;
}

/* block-01 */

.block-01 {
	position: relative;
	overflow-x: hidden;
}

.block-01 .img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: calc( 50% - 25px );
	line-height: .5;
	overflow: hidden;
	z-index: 99;
}

.block-01 .img img {
	width: 100%;
	height: 500px;
}

.block-01 .txt {
	padding-top: 17rem;
	position: relative;
	text-align: justify;
}

.block-01 .img + .txt {
	padding-right: calc( 50% + 95px );
	min-height: 500px;
}

.block-01 .ttl-02 {
	position: absolute;
	top: -16px;
	left: 0;
	transform: translateX( -10.5rem );
	z-index: 99;
}

.block-01 h3 {
	/*font-size: 3.6rem;*/
	font-size: 3.4rem;
	font-weight: 500;
	line-height: 1.5;
	/*letter-spacing: 4px;*/
	margin: 10px 0 22px;
}

.block-01 .read {
	line-height: 2.4;
	letter-spacing: 1.5px;
}

.block-01 .btn-01 {
	text-align: left;
	margin-top: 40px;
}

.block-01 .name {
	text-align: right;
	margin-top: 3rem;
	letter-spacing: 1.5px;
}

.block-01 .name img {
	transform: translateY( 2px );
	margin: 2px 0;
}

.block-01.bg::after {
	content: '';
	position: absolute;
	top: 50px;
	right: 100px;
	bottom: 0;
	left: 0;
	background: #f7f7f7;
	z-index: -2;
}

.block-01.bg .txt-wrap {
	position: relative;
	padding: 65px 0 95px 30px;
}

.block-01.bg .txt-wrap::after {
	content: '';
	position: absolute;
	top: 0;
	right: -235px;
	bottom: 0;
	left: -60px;
	background: #fff;
	z-index: -1;
}

/* block-02 */

.block-02 > a {
	display: block;
	width: 100%;
	position: relative;
	padding: 145px 0 124px;
}

.block-02 a > .img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transition: all .2s;
}

.block-02 a > .img img {
	width: 100%;
	height: 100%;
}

.block-02 .box {
	display: inline-block;
	position: relative;
	z-index: 99;
}

.block-02 .box .sub {
	font-size: 1.8rem;
	line-height: 1.8;
	letter-spacing: 3px;
	color: #8fc31f;
}

.block-02 .box h2 {
	font-size: 5rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 1px;
	margin-bottom: 10px;
}

.block-02 .box .read {
	margin-bottom: 35px;
	letter-spacing: 1.2px;
}

.block-02 .box .more span {
	display: inline-block;
	width: 240px;
	text-align: center;
	padding: 6px;
	color: #8fc31f;
	border: solid 2px #8fc31f;
	border-radius: 25px;
	transition: all .2s;
}

/* block-03 */

.block-03 {
	position: relative;
	margin: 55px 0;
}

.block-03 .img {
	position: absolute;
	top: 0;
	right: calc( 50% - 25px );
	bottom: 0;
	left: 0;
	height: 500px;
}

.block-03 .img > div,
.block-03 .img img {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.block-03 .wrap .txt {
	flex-direction: column;
	justify-content: center;
}

.block-03 .img + .wrap .txt {
	margin-left: calc( 50% + 95px );
	min-height: 500px;
}

.block-03 h3 {
	font-size: 3.6rem;
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: 15px;
}

.block-03 h3 b {
	font-weight: 500;
	background: -moz-linear-gradient( transparent 80%, #13a158 80%, #13a158 95%, transparent 95% );
	background: -webkit-linear-gradient( transparent 80%, #13a158 80%, #13a158 95%, transparent 95% );
	background: linear-gradient( transparent 80%, #13a158 80%, #13a158 95%, transparent 95% );
}

.block-03 .txt p b {
	font-weight: 500;
	background: -moz-linear-gradient( transparent 75%, #13a158 75%, #13a158 96%, transparent 96% );
	background: -webkit-linear-gradient( transparent 75%, #13a158 75%, #13a158 96%, transparent 96% );
	background: linear-gradient( transparent 75%, #13a158 75%, #13a158 96%, transparent 96% );
}

.block-03 .txt p {
	line-height: 2.4;
	letter-spacing: 1.5px;
	margin-bottom: 20px;
}

.block-03.img-right .img {
	right: 0;
	left: calc( 50% - 25px );
}

.block-03.img-right .img + .wrap .txt {
	margin: 0;
	margin-right: calc( 50% + 95px );
}

.block-03.img-center .ttl {
	text-align: center;
	position: relative;
	margin-bottom: 2.5rem;
}

.block-list .block-03.img-center .num {
	top: -25px;
	right: auto;
	left: 50%;
	transform: translateX( -50% );
}

.block-03.img-center .img {
	position: relative;
	right: 0;
	height: auto;
}

.block-03.img-center .img img {
	width: 100%;
	height: 500px;
	min-height: 250px;
}

.block-03.img-center .read {
	margin: 2rem 0;
	line-height: 2.4;
	letter-spacing: 1.4px;
}

.block-list {
	margin: 6rem 0 0;
}

.block-list .block-03 {
	margin: 0 0 10rem;
}

.block-list .block-03 .wrap .txt {
	position: relative;
}

.block-list .block-03 .img + .wrap .txt {
	padding: 1.2rem 0 .5rem;
}

.block-list .block-03 h3 {
	margin: 0 0 30px 0;
	letter-spacing: 4px;
}

.block-list .block-03 .num {
	font-size: 14rem;
	line-height: 1;
	color: #f5f5f5;
	position: absolute;
	top: 4rem;
	right: -1.5rem;
	z-index: -1;
}

.block-list .block-03 .mov-ttl {
	position: relative;
	z-index: 9;
}

.block-list .block-03 .mov-ttl .en {
	font-size: 2rem;
	letter-spacing: 2px;
	color: #13a158;
	margin-bottom: 10px;
}

.block-list .block-03 .mov-ttl .q {
	margin-bottom: 3rem;
}

.block-list .block-03 .mov-ttl .q > span {
	color: #13a158;
	font-size: 2rem;
	font-weight: 300;
	font-style: italic;
	letter-spacing: 1.5px;
	padding-left: 5rem;
	position: relative;
}

.block-list .block-03 .mov-ttl .q > span::before {
	content: '';
	width: 40px;
	height: 1px;
	background: #13a158;
	position: absolute;
	top: 15px;
	left: 0;
}

/* block-04 */

.block-04 .box {
	background: #f5f5f5;
	position: relative;
}

.block-04 .txt {
	padding: 80px 70px 75px;
	position: relative;
}

.block-04 figure + .txt {
	margin-right: calc( 50% - 80px );
}

.block-04 .txt .mov-ttl {
	position: absolute;
	top: -50px;
	left: -45px;
}

.block-04 .txt h3 {
	font-size: 2.4rem;
	letter-spacing: 1.2px;
	font-weight: 500;
	margin: 0 0 20px;
}

.block-04 .txt .read {
	letter-spacing: 1.5px;
}

.block-04 .img {
	width: calc( 50% - 150px );
	position: absolute;
	right: 70px;
	bottom: 70px;
	line-height: .5;
}

.block-04 .img img {
	width: 450px;
	max-width: 100%;
	height: 338px;
}

/* box-list */

.flow-box .box-list {
	margin-right: auto;
	margin-left: auto;
}

.box-list .box {
	margin: 0 8px 30px 0;
	padding: 40px;
	background: #f7f7f7;
	border-radius: 5px;
	position: relative;
	text-align: center;
	transform: translateY( 50% ) scale( .5 );
	opacity: 0;
	transition: all .8s;
}

.box-list.cont-01 {
	max-width: 300px;
}

.box-list.cont-01 .box {
	margin-right: 0 !important;
}

.box-list.cont-02 {
	max-width: 600px;
}

.box-list.cont-02 .box {
	width: calc( ( 100% - 8px ) / 2 );
}

.box-list.cont-02 .box:nth-child( 2n ) {
	margin-right: 0;
}

.box-list.cont-03 {
	max-width: 900px;
}

.box-list.cont-03 .box {
	width: calc( ( 100% - 16px ) / 3 );
}

.box-list.cont-03 .box:nth-child( 3n ) {
	margin-right: 0;
}

.box-list.cont-04 .box {
	width: calc( ( 100% - 24px ) / 4 );
}

.box-list.cont-04 .box:nth-child( 4n ) {
	margin-right: 0;
}

.box-list.flow .box::before {
	content: '';
	width: 20px;
	height: 36px;
	background: url( ../img/common/flow-arrow.png ) center center / contain no-repeat;
	position: absolute;
	top: 50%;
	left: -2px;
	transform: translate( -50%, -50% );
	z-index: 99;
}

.box-list.flow .box:first-child::before {
	display: none;
}

.box-list .box.view {
	transform: translateY( 0 ) scale( 1 );
	opacity: 1;
}

.box-list .num {
	font-size: 2.8rem;
	color: #13a158;
	position: absolute;
	top: 0;
	left: 20px;
	transform: translateY( -50% );
}

.box-list figure {
	display: inline-block;
	width: 180px;
	height: 180px;
	background: #fff;
	border-radius: 50%;
}

.box-list h3 {
	font-size: 2.4rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.8;
	margin: 8px 0;
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
}

.box-list h3.s-size {
	font-size: 2rem;
}

.box-list .read {
	font-size: 1.4rem;
	letter-spacing: .8px;
	text-align: left;
}

/* message-box */

.message-box {
	padding: 13.5rem 0 12rem;
}

.message-box .en-bg {
	font-size: 18rem;
	line-height: 1;
	letter-spacing: 1.4px;
	white-space: nowrap;
	color: #f5f5f5;
	position: absolute;
	top: -10px;
	right: 5vw;
}


/*
----------------------------------------
btn
----------------------------------------
*/

.btn-01 {
	text-align: center;
}

.btn-01 a {
	display: inline-block;
	width: 250px;
	background: url( ../img/common/2x/btn-bg-01.png ) center center / cover no-repeat;
	color: #fff;
	box-shadow: 0 0 10px rgba( 0, 0, 0, .1 );
	padding: 14px;
	text-align: center;
	letter-spacing: 2.4px;
	position: relative;
}

.btn-01 a::before {
	content: '';
	position: absolute;
	top: 0;
	right: 100%;
	bottom: 0;
	left: 0;
	background: #13a158;
	z-index: 1;
	transition: all .2s;
}

.btn-01 a::after {
	content: '';
	display: inline-block;
	width: 31px;
	height: 8px;
	background: url( ../img/common/2x/arrow-01.png ) center center / contain no-repeat;
	position: absolute;
	top: calc( 50% - 4px );
	right: 20px;
	z-index: 99;
	transition: all .2s;
}

.btn-01.center a {
	padding: 14px 5px 14px 14px;
}

.btn-01.center a::after {
	position: relative;
	top: 0;
	right: 0;
	margin: 0 0 3px 15px;
}

.btn-01.link a::after {
	position: relative;
	width: 16px;
	height: 17px;
	background: url( ../img/common/2x/icon-link.png ) center center / contain no-repeat;
	top: 0;
	right: 0;
	margin: 0 0 0 8px;
	transform: translateY( 2px ) !important;
}

.btn-01 a span {
	position: relative;
	z-index: 99;
}

.btn-02 a {
	display: inline-block;
	width: 250px;
	color: #13a158;
	letter-spacing: 2.2px;
	border: solid 1px #13a158;
	text-align: center;
	padding: 13px;
}

.btn-02 a:hover {
	background: #13a158;
	color: #fff;
}

.bnr-single {
	text-align: center;
}

.bnr-single a {
	display: block;
	margin: 0 auto;
	width: 970px;
	max-width: 100%;
	text-align: left;
	padding: 60px 58px 56px;
	border: solid 2px #13a158;
	box-shadow: 0 0 10px rgba( 0, 0, 0, .1 );
	border-radius: 3px;
	position: relative;
}

.bnr-single a::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.bnr-single .bnr-entry-new a::after {
	background: url( ../img/entry/2x/bnr-entry-new.png ) center center / cover no-repeat;
	transition: all .2s;
}

.bnr-single a .box {
	position: relative;
	z-index: 99;
}

.bnr-single a .ttl {
	line-height: 1.3;
	margin-bottom: 15px;
}

.bnr-single a .en {
	font-size: 1.4rem;
	letter-spacing: 2.2px;
	color: #666f;
	margin-left: 5px;
}

.bnr-single a h3 {
	font-size: 4.6rem;
	font-weight: 500;
	letter-spacing: 2px;
	text-shadow:
		0 0 21px rgba( 255, 255, 255, 1 ),
		0 0 21px rgba( 255, 255, 255, 1 ),
		0 0 42px rgba( 255, 255, 255, 1 ),
		0 0 42px rgba( 255, 255, 255, 1 ),
		0 0 84px rgba( 255, 255, 255, 1 ),
		0 0 84px rgba( 255, 255, 255, 1 );
}

.bnr-single a .copy {
	padding-left: 5px;
}

.bnr-set.flex {
	justify-content: center;
}

.bnr-set.flex .bnr {
	width: calc( ( 100% - 40px ) / 2 );
	margin-right: 40px;
}

.bnr-set.flex .bnr:nth-child( even ),
.bnr-set.flex .bnr:last-child {
	margin-right: 0;
}

.bnr-set .bnr a {
	display: block;
	padding: 55px 40px;
	border-radius: 5px;
	box-shadow: 0 0 10px rgba( 0, 0, 0, .1 );
	position: relative;
}

.bnr-set .bnr a::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	transition: all .2s;
}

.bnr-set .bnr.bnr-entry-new a::after {
	background-image: url( ../img/interview/2x/bnr-entry-new.png );
}

.bnr-set .bnr.bnr-entry-mid a::after {
	background-image: url( ../img/interview/2x/bnr-entry-mid.png );
}

.bnr-set .bnr .box {
	position: relative;
	z-index: 99;
}

.bnr-set .bnr .ttl {
	line-height: 1.3;
	letter-spacing: 3px;
	margin-bottom: 15px;
}

.bnr-set .bnr .ttl .en {
	font-size: 1.4rem;
	letter-spacing: 2.5px;
	color: #13a158;
}

.bnr-set .bnr .ttl h3 {
	font-size: 4.6rem;
	font-weight: 500;
	text-shadow:
		0 0 21px rgba( 255, 255, 255, 1 ),
		0 0 21px rgba( 255, 255, 255, 1 ),
		0 0 42px rgba( 255, 255, 255, 1 ),
		0 0 42px rgba( 255, 255, 255, 1 ),
		0 0 84px rgba( 255, 255, 255, 1 ),
		0 0 84px rgba( 255, 255, 255, 1 );
	transition: all .2s;
}

.bnr-set .bnr .copy,
.bnr-single .bnr .copy {
	margin: -22.5px -25px;
}

.bnr-set .bnr .btn {
	margin-top: 15px;
}

.bnr-set .bnr .btn .txt {
	display: inline-block;
	width: 170px;
	text-align: center;
	letter-spacing: 1.2px;
	color: #13a158;
	border: solid 2px #13a158;
	padding: 8px;
	position: relative;
}

.bnr-set .bnr .btn .txt::after {
	content: '';
	position: absolute;
	top: 0;
	right: 100%;
	bottom: 0;
	left: 0;
	background: #13a158;
	transition: all .2s;
}

.bnr-set .bnr .btn .txt span {
	position: relative;
	z-index: 99;
	transition: all .2s;
}

/* fix-bnr-entry */

#fix-bnr-entry {
	width: 280px;
	position: fixed;
	right: 0;
	bottom: 20px;
	opacity: 0;
	visibility: hidden;
	z-index: -1;
	transform: translateY( 40px );
	transition: all .2s;
}

#fix-bnr-entry.active {
	opacity: 1;
	visibility: visible;
	z-index: 9999;
	transform: none;
}

#fix-bnr-entry .bnr a {
	display: block;
	text-align: left;
	padding: 20px 20px 16px;
	position: relative;
}

#fix-bnr-entry .bnr a::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	transition: all .2s;
}

#fix-bnr-entry .bnr.bnr-entry-new a::after {
	background-image: url( ../img/interview/2x/fix-bnr-entry-new.png );
}

#fix-bnr-entry .bnr.bnr-entry-mid a::after {
	background-image: url( ../img/interview/2x/fix-bnr-entry-mid.png );
}

#fix-bnr-entry .bnr .box {
	position: relative;
	z-index: 99;
}

#fix-bnr-entry .bnr .ttl {
	line-height: 1.3;
	letter-spacing: 1px;
	margin-bottom: 5px;
}

#fix-bnr-entry .bnr .ttl .en {
	font-size: 1.2rem;
	letter-spacing: 2px;
	color: #666;
}

#fix-bnr-entry .bnr .ttl h3 {
	font-size: 3rem;
	font-weight: 500;
	text-shadow:
		0 0 15px rgba( 255, 255, 255, 1 ),
		0 0 15px rgba( 255, 255, 255, 1 ),
		0 0 30px rgba( 255, 255, 255, 1 ),
		0 0 30px rgba( 255, 255, 255, 1 ),
		0 0 60px rgba( 255, 255, 255, 1 ),
		0 0 60px rgba( 255, 255, 255, 1 );
}

#fix-bnr-entry .bnr .copy {
	line-height: 1.2;
	margin: -13.7px;
}

#fix-bnr-entry .bnr .copy img {
	height: 42px;
}

#fix-bnr-entry .bnr .btn {
	margin-top: 5px;
	line-height: 1.2;
}

#fix-bnr-entry .bnr .btn .txt {
	display: inline-block;
	width: 140px;
	font-size: 1.4rem;
	line-height: 1.2;
	text-align: center;
	letter-spacing: 1.2px;
	color: #fff;
	background: url( ../img/interview/2x/btn-bg.png ) center center / cover no-repeat;
	padding: 2px 4px;
	margin: 0 2px;
	box-shadow: 0 0 10px rgba( 0, 0, 0, .1 );
	position: relative;
}

#fix-bnr-entry .bnr .btn .txt::after {
	content: '';
	position: absolute;
	top: 0;
	right: 100%;
	bottom: 0;
	left: 0;
	background: #13a158;
	transition: all .2s;
}

#fix-bnr-entry .bnr .btn .txt span {
	position: relative;
	z-index: 99;
	transition: all .2s;
}

/* fix-bnr-recruit */

#fix-bnr-recruit {
	position: fixed;
	right: 0;
	bottom: 20px;
	opacity: 0;
	visibility: hidden;
	z-index: -1;
	transform: translateY( 40px );
	transition: all .4s;
}

#fix-bnr-recruit.active {
	opacity: 1;
	visibility: visible;
	z-index: 9999;
	transform: none;
}

#fix-bnr-recruit a {
	display: block;
	padding: 34px 18px 40px 115px;
	line-height: 1.4;
	letter-spacing: .5px;
	color: #fff;
	background: url( ../img/top/2x/fix-bnr-recruit.png ) center center / cover no-repeat;
	position: relative;
}

#fix-bnr-recruit a::after {
	content: '';
	position: absolute;
	top: 0;
	right: 100%;
	bottom: 0;
	left: 0;
	background: rgba( 19, 161, 88, .5 );
	transition: all .2s;
}

#fix-bnr-recruit a .box {
	position: relative;
	z-index: 99;
}

#fix-bnr-recruit a .en {
	font-size: 3.2rem;
	letter-spacing: 3px;
}

#fix-bnr-recruit a .jp {
	font-size: 1.6rem;
	font-weight: 500;
}


/*
----------------------------------------
table
----------------------------------------
*/


/*
----------------------------------------
list
----------------------------------------
*/

.list-01 {
	margin-top: 6px;
}

.list-01 li {
	position: relative;
	padding-left: 15px;
	margin-bottom: 6px;
	letter-spacing: 1.4px;
}

.list-01 li::before {
	content: '';
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #13a158;
	position: absolute;
	top: 15px;
	left: 0;
}

.list-check {
	display: inline-block;
	margin: 0 auto;
}

.list-check li {
	padding-left: 4.5rem;
	background: url( ../img/common/2x/icon-check.png ) left 4px / 32px no-repeat;
	text-align: left;
	margin-bottom: 18px;
	letter-spacing: 1px;
}


/*
----------------------------------------
dl
----------------------------------------
*/

.dl-01.flex {
	align-items: center;
}

.dl-01 dt {
	width: 170px;
	text-align: center;
	font-weight: 500;
	color: #13a158;
	border: solid 2px #13a158;
	line-height: 1.8;
	padding: 25px;
}

.dl-01 dd {
	width: calc( 100% - 170px );
	padding-left: 3rem;
}

.dl-02 dt {
	width: 200px;
	font-weight: 500;
	letter-spacing: 3px;
	color: #13a158;
	border-bottom: solid 1px #13a158;
	padding: 31px 31px 31px 42px;
}

.dl-02 dt:first-of-type {
	border-top: solid 1px #13a158;
}

.dl-02 dd {
	width: calc( 100% - 200px );
	border-bottom: solid 1px #e5e5e5;
	padding: 31px 60px;
	letter-spacing: 1.6px;
}

.dl-02 dd:first-of-type {
	border-top: solid 1px #e5e5e5;
}

.dl-03 {
	width: 100%;
	text-align: center;
}

.dl-03 dt {
	margin-bottom: -25px;
}

.dl-03 dt span {
	display: inline-block;
	padding: 1px 20px;
	background: #fff;
	font-size: 2.4rem;
	font-weight: 500;
	position: relative;
	z-index: 99;
}

.dl-03 dd {
	border: solid 2px #f0f0f0;
	padding: 48px 20px 24px;
}


/*
----------------------------------------
map
----------------------------------------
*/

.map {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.map iframe,
.map object,
.map embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/*
----------------------------------------
layout
----------------------------------------
*/

#wrapper {
	width: 100%;
	margin: 0 auto;
}

.wrap {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
	text-align: left;
}


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

#wrapper > header {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 9999;
}

#wrapper > header .flex {
	align-items: center;
}

#wrapper > header .logo {
	margin-right: auto;
	padding: 20px 30px 30px;
	line-height: .5;
}

/* g-nav */

#g-nav {
	padding: 30px 20px;
}

#g-nav li {
	margin: 0 10px;
}

#g-nav li a {
	display: inline-block;
	color: #fff;
	padding: 14px 18px;
	font-weight: 500;
	letter-spacing: 2px;
	position: relative;
}

#g-nav li a::before {
	content: '';
	height: 5px;
	position: absolute;
	right: 50%;
	bottom: 5px;
	left: 50%;
	background: #13a158;
	opacity: 0;
	transition: all .2s;
}

#g-nav .link a::after {
	content: '';
	display: inline-block;
	width: 12px;
	height: 13px;
	background: url( ../img/common/2x/icon-ext-link.png ) center center / contain no-repeat;
	margin-left: 8px;
}

#g-nav .btn {
	margin-left: 30px;
}

#g-nav .btn a {
	width: 200px;
	background: url( ../img/common/2x/btn-bg.png ) center center / cover no-repeat;
	box-shadow: 0 0 10px rgba( 0, 0, 0, .1 );
	position: relative;
}

#g-nav .btn a::before {
	display: none;
}

#g-nav .btn a::after {
	content: '';
	position: absolute;
	top: 0;
	right: 100%;
	bottom: 0;
	left: 0;
	background: #13a158;
	z-index: 1;
	transition: all .2s;
}

#g-nav .btn a span {
	position: relative;
	z-index: 99;
}

/* fix-nav */

#fix-nav {
	opacity: 0;
	visibility: hidden;
	z-index: -1;
}

.nav-open #fix-nav,
#fix-nav.active {
	opacity: 1;
	visibility: visible;
	z-index: 999999;
}

#fix-nav .nav-menu {
	position: fixed;
	top: 0;
	right: 0;
	left: auto;
	opacity: 0;
	visibility: hidden;
	z-index: -1;
	transition: all .4s;
	width: 640px;
}

#fix-nav .nav-menu .bg-box {
	position: relative;
	height: 100vh;
	overflow: auto;
}

#fix-nav .nav-menu .bg-box::after {
	content: '';
	width: 640px;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	background: -moz-linear-gradient( top, #AFE69B, #7FE2ED );
	background: -webkit-linear-gradient( top, #AFE69B, #7FE2ED );
	background: linear-gradient( to bottom, #AFE69B, #7FE2ED );
	opacity: .95;
	transition: all .2s;
}

.nav-open #fix-nav .nav-menu {
	opacity: 1;
	visibility: visible;
	z-index: 999999;
}

#fix-nav .nav-menu .logo {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9999999;
}

#fix-nav .nav-menu .logo a {
	display: inline-block;
	padding: 15px;
}

#fix-nav .nav-menu .nav-wrap {
	position: relative;
	padding: 72px 15px 40px;
}

#fix-nav .nav-menu ul {
	margin: 2vh 0;
	position: relative;
	z-index: 99;
}

#fix-nav .nav-menu li {
	padding: 2vh 0;
}

#fix-nav .nav-menu a {
	display: block;
	font-size: 1.6rem;
	letter-spacing: 3px;
	line-height: 1.45;
	text-align: center;
	padding: 10.5px 10px;
	color: #fff;
}

#fix-nav .nav-menu a .en {
	font-size: 3rem;
	letter-spacing: 4.5px;
}

#fix-nav a .link::after {
	content: '';
	display: inline-block;
	width: 12px;
	height: 13px;
	background: url( ../img/common/2x/icon-ext-link.png ) center center / contain no-repeat;
	margin-left: 7px;
	transform: translateY( 1px );
}

#fix-nav #nav-btn {
	width: 60px;
	height: 60px;
	background: url( ../img/common/sp/menu-btn-bg.png ) center center / cover no-repeat;
	border: 10px;
	box-shadow: 0 0 10px rgba( 0, 0, 0, .1 );
	position: fixed;
	top: 15px;
	right: 15px;
	z-index: 9999999;
	cursor: pointer;
	transition: all .2s;
}

.nav-open #fix-nav #nav-btn {
	background: transparent;
	box-shadow: none;
}

#fix-nav #nav-btn > div {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 5px;
	overflow: hidden;
	transition: all .4s;
}

.nav-open #fix-nav #nav-btn > div {
	top: -5px;
	right: -5px;
}

#fix-nav #nav-btn > div::after {
	content: '';
	position: absolute;
	top: 0;
	right: 100%;
	bottom: 0;
	left: 0;
	background: #13a158;
	z-index: 1;
	transition: all .2s;
}

.nav-open #fix-nav #nav-btn > div::after {
	background: transparent;
}

#fix-nav #nav-btn span {
	display: inline-block;
	position: absolute;
	left: 18px;
	right: 18px;
	height: 2px;
	background: #fff;
	transition: all .4s;
	z-index: 99;
}

.nav-open #fix-nav #nav-btn span {
	left: 13px;
	right: 13px;
}

#fix-nav #nav-btn span:nth-of-type( 1 ) {
	top: 21px;
}

#fix-nav #nav-btn span:nth-of-type( 2 ) {
	top: 29px;
}

#fix-nav #nav-btn span:nth-of-type( 3 ) {
	top: 37px;
}

.nav-open #fix-nav #nav-btn span:nth-of-type( 1 ) {
	-webkit-transform: translateY( 8px ) rotate( -45deg );
	transform: translateY( 8px ) rotate( -45deg );
}

.nav-open #fix-nav #nav-btn span:nth-of-type( 2 ) {
	opacity: 0;
}

.nav-open #fix-nav #nav-btn span:nth-of-type( 3 ) {
	-webkit-transform: translateY( -8px ) rotate( 45deg );
	transform: translateY( -8px ) rotate( 45deg );
}

#overlay {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba( 0, 0, 0, .6 );
	opacity: 0;
	visibility: hidden;
	z-index: -1;
}

.nav-open #overlay {
	opacity: 1;
	visibility: visible;
	z-index: 99999;
}


/*
----------------------------------------
contents
----------------------------------------
*/

#contents {
	text-align: left;
	overflow: hidden;
}

.section-wrap {
	min-height: 200px;
	padding-bottom: 40px;
}

.topic-path {
	font-size: 1.4rem;
	line-height: 2.2;
	color: #222;
	padding: 20px 0;
	letter-spacing: 1px;
	overflow: auto;
	white-space: nowrap;
}

.topic-path .wrap a {
	color: #13a158;
	border-bottom: solid 1px #13a158;
	position: relative;
	margin-right: 30px;
}

.topic-path .wrap a::before {
	content: '';
	height: 1px;
	background: 8fc31f;
	position: absolute;
	right: 0;
	bottom: -4px;
	left: 0;
}

.topic-path .wrap a::after {
	content: '＞';
	font-size: 1.2rem;
	color: #222;
	transform: scale( .5, 1 );
	position: absolute;
	right: -22px;
	top: 0;
}

.topic-path .wrap .breadcrumb_last {
	padding-right: 2rem;
}

/* main-img */

.main-img {
	text-align: center;
	position: relative;
}

.main-img .bg-img {
	content: '';
	display: block;
	max-height: 100vh;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: 0;
	transition: all .8s;
	transition-delay: 1.2s;
}

.main-img .bg-img img {
	width: 100%;
	height: 100%;
}

.main-img.view .bg-img {
	opacity: 1;
}

.main-img > .flex {
	width: 100%;
	height: 800px;
	max-height: 100vh;
	justify-content: center;
	align-items: center;
	padding-top: 30px;
	position: relative;
	z-index: 99;
	transition: all .8s;
	transition-delay: 1.2s;
}

.main-img.view .mov-ttl .mov-txt-wrap::after {
	animation: mov-box .8s ease-in-out 1.6s 1 normal forwards;
}

.main-img.view .mov-ttl .mov-txt-wrap.mov-02::after {
	animation: mov-box .8s ease-in-out 2s 1 normal forwards;
}

.main-img.view .mov-ttl .mov-txt-wrap.mov-03::after {
	animation: mov-box .8s ease-in-out 2.4s 1 normal forwards;
}

.main-img.view .mov-ttl .mov-txt-wrap.mov-04::after {
	animation: mov-box .8s ease-in-out 2.8s 1 normal forwards;
}

.main-img .box .read {
	margin-top: -5px;
	margin-left: 5px;
	letter-spacing: 1.5px;
}

.main-img .scroll {
	position: absolute;
	bottom: 55px;
	left: 50%;
	transform: translateX( -50% );
	z-index: 99;
}

.main-img .scroll a {
	display: inline-block;
	padding: 10px 20px;
	font-size: 1.4rem;
	color: #fff;
	letter-spacing: 5.5px;
}

.main-img .scroll-line {
	position: absolute;
	bottom: -70px;
	left: 50%;
}



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

footer {
	background: #222834;
	color: #fff;
}

footer .wrap {
	text-align: center;
}

.bottom-bnr {
	position: relative;
}

@keyframes scroll-line {
	0% {
		height: 0;
		top: 0;
		bottom: 100%;
	}
	20% {
		height: 0;
		top: 0;
		bottom: 100%;
	}
	50% {
		height: 100%;
		top: 0;
		bottom: 0;
	}
	51% {
		height: 100%;
		top: auto;
		bottom: 0;
	}
	80% {
		height: 0;
		top: auto;
		bottom: 0;
	}
	100% {
		height: 0;
		top: auto;
		bottom: 0;
	}
}

.scroll-line {
	display: inline-block;
	width: 1px;
	height: 120px;
	background: #13a158;
	z-index: 99;
}

.scroll-line div {
	position: relative;
	width: 100%;
	height: 100%;
}

.scroll-line div::before {
	content: '';
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 100%;
	left: 0;
	background: #f5f5f5;
	animation: scroll-line 1.6s ease-in-out 2s infinite normal backwards;
}

.bottom-bnr .wrap {
	text-align: center;
}

.bottom-bnr .scroll-line {
	position: absolute;
	top: -50px;
	left: 50%;
}

.bottom-bnr a {
	width: 100%;
	height: 500px;
	justify-content: center;
	align-items: center;
	color: #fff;
	background: -webkit-linear-gradient(35deg, #13a158, #1dd07d );
	background: -moz-linear-gradient(35deg, #13a158, #1dd07d );
	background: linear-gradient( 125deg, #13a158, #1dd07d );
	line-height: 3;
	padding-top: 8px;
}

.bottom-bnr a::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: 0;
	transition: all .2s;
}

.bottom-bnr .entry-bnr a::after {
	background: url( ../img/common/2x/entry-bg.png ) center center / cover no-repeat;
}

.bottom-bnr .recruit-bnr a::after {
	background: url( ../img/common/2x/recruit-bg.png ) center center / cover no-repeat;
}

.bottom-bnr.view a::after {
	opacity: 1;
}

.bottom-bnr .box {
	position: relative;
	z-index: 99;
}

.bottom-bnr .box .en {
	font-size: 7.2rem;
	line-height: 1.2;
	letter-spacing: 4.5px;
}

.bottom-bnr .box .jp {
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 3.6px;
}

.recruit-bnr .box .jp {
	line-height: 1.8;
}

.bottom-bnr .box .read {
	font-size: 1.8rem;
	letter-spacing: 2.2px;
}

.bottom-bnr .txt-img {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	transform: translateY( 80% );
	z-index: 99;
}

footer .bottom-wrap {
	padding: 20rem 0 10rem;
}

footer .bottom-wrap .logo {
	margin-bottom: 12px;
}

footer .copyright {
	font-size: 1.2rem;
	letter-spacing: 1.2px;
	color: #808080;
}



/*
----------------------------------------
slider
----------------------------------------
*/

.slider {
	margin: 40px 0 90px 0;
	text-align: center;
}

.slider .slick-slide figure {
	text-align: center;
}

.slider .slick-slide img {
	display: inline-block;
}

.slider.thumb-slider {
	margin: 0;
}

.slider.thumb-slider + .thumb {
	margin-bottom: 40px;
}

.slider.thumb-slider + .thumb figure {
	padding: 0 5px;
}

.slider.slick-dotted.slick-slider {
	margin: 0 0 80px 0;
}

.slider .slick-dots {
	bottom: -40px;
	margin: 0;
}

.slider .slick-prev,
.slider .slick-next {
	width: 40px;
	height: 40px;
	padding: 0;
}

.slider .slick-prev {
	left: 0;
	z-index: 999;
}

.slider .slick-next {
	right: 0;
	z-index: 999;
}

.slider .slick-prev:before,
.slider .slick-next:before {
	display: inline-block;
	content: '';
	width: 40px;
	height: 40px;
	opacity: 1;
}

.slider .slick-prev:before {
	background: #000 url( assets/img/common/arrow-left-wh.svg) center center / 12px no-repeat;
}

.slider .slick-next:before {
	background: #000 url( assets/img/common/arrow-right-wh.svg) center center / 12px no-repeat;
}


/*
----------------------------------------
page
----------------------------------------
*/

.page .main-img {
	color: #fff;
}

.page .main-img .bg-img {
	background: url( ../img/common/2x/header-bg.png ) center center / cover no-repeat;
}

.page .main-img > .flex {
	height: 300px;
	padding-top: 50px;
}

.page .main-img .box {
	text-align: center;
}

.page .ttl-04 h1 {
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 14px;
}

.page .ttl-04 .en {
	font-size: 5rem;
}

.page .cont {
	text-align: center;
	padding: 2rem 0 10rem;
}

.page footer .bottom-wrap {
	padding-top: 10rem;
}


/*
----------------------------------------
thanks
----------------------------------------
*/

#thanks .ttl-03 {
	margin-bottom: 2rem;
}

#thanks .tel {
	margin: 4rem 0;
}

#thanks .tel a {
	display: block;
	max-width: 600px;
	margin: 0 auto;
	background: #fff;
	border-radius: 10px;
	padding: 20px 20px 34px;
	text-align: center;
	line-height: 1.5;
}

#thanks .tel a .num {
	display: inline-block;
	font-size: 4.8rem;
	padding-left: 45px;
	background: url( ../img/common/2x/icon-tel.png ) left center / 35px no-repeat;
}

#thanks .tel a .num span {
	display: inline-block;
	font-weight: normal;
	transform: translateY( -5px );
}

#thanks .tel a .note {
	color: #999;
}


/*
----------------------------------------
404
----------------------------------------
*/

#not-found .cont h2 {
	font-size: 3.6rem;
	line-height: 1.8;
	margin-bottom: 3rem;
}

#not-found .cont ul {
	display: inline-block;
	margin: 3rem auto;
}

#not-found .cont li {
	text-align: left;
}

#not-found .cont a {
	color: #13a158;
	text-decoration: underline;
}


/*
----------------------------------------
1500
----------------------------------------
*/

@media screen and ( max-width: 1500px ) {

	.ttl-02 .en {
		font-size: 11rem;
	}

	.block-01 .ttl-02 {
		top: 0;
		transform: translateX( -5vw ) !important;
	}

}


/*
----------------------------------------
1400
----------------------------------------
*/

@media screen and ( max-width: 1400px ) {

	.ttl-02 .en {
		font-size: 10rem;
	}

	/* block-01 */

	.block-01 .ttl-02 {
		transform: none !important;
	}

	.block-01 .img {
		left: calc( 50% + 25px );
	}

	.block-01 .img + .txt {
		padding-right: calc( 50% + 25px );
	}

	/* block-02 */

	.block-02 a {
		padding: 100px 0;
	}

	.block-02 .box h2 {
		font-size: 4rem;
	}

	/* block-03 */

	.block-03 h3 {
		font-size: 3rem;
	}

	.block-03 .img {
		right: calc( 50% + 40px );
		height: 450px;
	}

	.block-03 .img + .wrap .txt {
		min-height: 450px;
		margin-left: 50%;
	}

	.block-03.img-right .img {
		left: calc( 50% + 40px );
	}

	.block-03.img-right .img + .wrap .txt {
		margin-right: 50%;
	}

	.block-03 .txt p {
		line-height: 2;
		letter-spacing: .5px;
	}

	.block-04 .txt .mov-ttl {
		left: 0;
	}

	.block-list .block-03 .img + .wrap .txt {
		padding: 0;
	}

	.message-box .en-bg {
		font-size: 15rem;
	}

}


/*
----------------------------------------
1200
----------------------------------------
*/

@media screen and ( max-width: 1200px ) {

	.block-01 .img img {
		height: 40vw;
	}

	.block-01 .txt {
		padding-top: 14rem;
	}

	.block-01 .img + .txt {
		min-height: initial;
	}

	.ttl-02 .en {
		font-size: 10rem;
		letter-spacing: 8px;
	}

	.ttl-04 h1 {
		font-size: 2.6rem;
	}

	.ttl-04 .en {
		font-size: 11rem;
	}

	.ttl-04 .copy {
		margin-top: -42px;
	}

	.ttl-04 .copy img {
		height: 105px;
	}

	.block-01 h3 {
		font-size: 2.8rem;
		margin: 8px 0;
	}

	.block-01 .read {
		line-height: 2;
		letter-spacing: .4px;
	}

	.block-01 .btn-01 {
		margin-top: 20px;
	}

	.block-01.bg .txt-wrap {
		padding: 30px 0 90px 20px;
	}

	.block-03 .img {
		height: 380px;
	}

	.block-03 .img + .wrap .txt {
		min-height: 380px;
	}

	.block-03 .txt p {
		font-size: 1.5rem;
		margin: 0;
	}

	.block-list .block-03 .num {
		top: 3rem;
	}

	.block-list .block-03 h3 {
		margin-bottom: 15px;
	}

	.block-list .block-03 .mov-ttl .en {
		font-size: 1.8rem;
	}

	.block-list .block-03 .mov-ttl .q {
		margin-bottom: 2rem;
	}

	.block-04 .img {
		width: calc( 50% - 110px );
		right: 30px;
		bottom: 30px;
	}

	.block-04 .img img {
		height: 260px;
	}

	.block-04 .txt {
		padding: 75px 30px 30px;
	}

	.block-04 .txt h3 {
		margin: 0 0 15px;
	}

	.box-list .box {
		padding: 30px 20px;
	}

	.main-img > .flex {
		height: 700px;
	}

	.message-box .en-bg {
		font-size: 12rem;
	}

	.bottom-bnr a {
		height: 400px;
	}

	.txt-img img {
		width: 540px;
	}

}


/*
----------------------------------------
1000
----------------------------------------
*/

@media screen and ( max-width: 1000px ) {

	#wrapper > header {
		right: auto;
	}

	#g-nav {
		display: none;
	}

	#fix-nav .nav-menu {
		width: 100%;
		left: 0;
	}

	#fix-nav {
		opacity: 1;
		visibility: visible;
		z-index: 9999;
	}

	#fix-nav .nav-menu .bg-box {
		height: auto;
	}

	#fix-nav .nav-menu .bg-box::after {
		position: absolute;
		width: 100%;
	}

	#fix-nav .nav-menu ul {
		margin: 0;
	}

	#fix-nav .nav-menu li {
		padding: 5px 0;
	}

	#wrapper > header .logo {
		padding: 25px 15px;
	}

	#wrapper > header .logo img {
		height: 30px;
	}

	#fix-nav .nav-menu .logo a {
		padding: 17.5px 15px;
	}

	#fix-nav .nav-menu .logo img {
		height: 30px;
	}

	.ttl-02 .en {
		font-size: 8rem;
	}

	.ttl-03 {
		padding-top: 6rem;
	}

	.ttl-03 .bg-txt {
		font-size: 12rem;
		top: 30px;
	}

	.ttl-03 .bg-txt + .jp {
		margin-top: 2rem;
		font-size: 3.2rem;
	}

	.ttl-03 .read {
		font-size: 1.6rem;
	}

	.ttl-04 h1 {
		font-size: 2.4rem;
	}

	.ttl-04 .en {
		font-size: 10rem;
	}

	.ttl-04 .copy {
		margin-top: -38px;
	}

	.ttl-04 .copy img {
		height: 90px;
	}

	.ttl-05 .en {
		font-size: 6rem;
	}

	.ttl-05 .name {
		font-size: 2.2rem;
	}

	.ttl-06 .en {
		letter-spacing: 2px;
	}

	.block-01 .txt {
		padding-top: 12rem;
	}

	.block-01 .img + .txt {
		padding-right: 50%;
	}

	.block-01 h3 {
		font-size: 2.2rem;
		letter-spacing: 0;
	}

	.block-01 .read {
		font-size: 1.4rem;
	}

	.block-01 .btn-01 {
		text-align: center;
	}

	.block-03 .img {
		right: calc( 50% + 20px );
		height: 330px;
	}

	.block-03.img-right .img {
		left: calc( 50% + 20px );
	}

	.block-03 .img + .wrap .txt {
		min-height: 330px;
	}

	.block-03 h3 {
		font-size: 2.2rem;
	}

	.block-03 .txt p {
		font-size: 1.4rem;
		line-height: 1.8;
	}

	.block-04 .txt h3 {
		font-size: 2.2rem;
		letter-spacing: .2px;
		line-height: 1.6;
	}

	.block-04 .txt .read {
		font-size: 1.4rem;
	}

	.box-list figure {
		width: 140px;
		height: 140px;
	}

	.block-list .block-03 .num {
		top: 0;
		font-size: 11rem;
	}

	.block-list .block-03 .mov-ttl .q > span {
		font-size: 1.8rem;
	}

	.block-list .block-03 .mov-ttl .q > span::before {
		top: 13px;
	}

	.main-img > .flex {
		height: 600px;
	}

	.message-box {
		padding: 11rem 0 9rem;
	}

	.message-box .en-bg {
		font-size: 10rem;
	}

}


/*
----------------------------------------
768
----------------------------------------
*/

@media screen and ( max-width: 768px ) {

	.pc {
		display: none;
	}

	.sp {
		display: inline-block;
	}

	.topic-path .wrap a::after {
		font-size: 1rem;
		line-height: 2;
		right: -20px;
	}

	body {
		font-size: 1.4rem;
		background: #fff;
	}

	input[type=text],
	input[type=search],
	input[type=tel],
	input[type=number],
	input[type=url],
	input[type=email],
	input[type=password],
	input[type=date],
	textarea,
	select {
		font-size: 1.6rem;
		padding: 10px;
	}

	#wrapper > header .logo {
		display: none;
	}

	#fix-nav #nav-btn {
		top: 10px;
		right: 10px;
	}

	.btn-01 a {
		padding: 16px;
		letter-spacing: 3.6px;
	}

	.btn-01.center a {
		letter-spacing: 3px;
		padding: 16px 5px 16px 10px;
	}

	.btn-02 a {
		letter-spacing: 3.5px;
		padding: 15px;
	}

	.bnr-set .bnr .copy,
	.bnr-single .bnr .copy {
		margin: -13.5px;
	}

	.bnr-set .bnr .copy img,
	.bnr-single .bnr .copy img {
		height: 42px;
	}

	.bnr-single a {
		padding: 23px 20px 24px;
	}

	.bnr-single .bnr-entry-new a::after {
		background: url( ../img/entry/sp/bnr-entry-new-sp.png ) center center / cover no-repeat;
	}

	.bnr-single a .ttl {
		line-height: 1.4;
		margin: 0 0 5px;
	}

	.bnr-single a .copy {
		padding: 0;
		line-height: 1.5;
		margin-left: 3px;
	}

	.bnr-single a .copy img {
		height: 12px;
	}

	.bnr-single a .en {
		font-size: 1rem;
		letter-spacing: 1.6px;
		margin-left: 0;
	}

	.bnr-single a h3 {
		font-size: 2.3rem;
		letter-spacing: 1px;
		text-shadow:
			0 0 10.5px rgba( 255, 255, 255, 1 ),
			0 0 10.5px rgba( 255, 255, 255, 1 ),
			0 0 21px rgba( 255, 255, 255, 1 ),
			0 0 21px rgba( 255, 255, 255, 1 ),
			0 0 42px rgba( 255, 255, 255, 1 ),
			0 0 42px rgba( 255, 255, 255, 1 );
	}

	.ttl-01 {
		margin-bottom: 10px;
	}

	.ttl-01 .en {
		font-size: 3rem;
		letter-spacing: 4.5px;
	}

	.ttl-01 .jp {
		font-size: 1.6rem;
		letter-spacing: 8px;
		text-indent: 2px;
	}

	.ttl-02 .en {
		font-size: 6rem;
		letter-spacing: 7px;
		margin-bottom: -12px;
	}

	.ttl-02 .jp {
		padding-right: 10px;
	}

	.ttl-03 {
		padding-top: 3rem;
	}

	.ttl-03 .bg-txt {
		font-size: 9rem;
		top: 0;
		right: -40px;
		left: -40px;
		text-align: center;
	}

	.ttl-03 .sub {
		font-size: 1.6rem;
		letter-spacing: 5.2px;
	}

	.ttl-03 .jp {
		font-size: 2.5rem;
		letter-spacing: 1px;
	}

	.ttl-03 .bg-txt + .jp {
		font-size: 2.4rem;
		margin-top: 3rem;
	}

	.ttl-03 .read {
		font-size: 1.5rem;
		text-align: left;
		margin-top: 1.5rem;
	}

	.ttl-04 h1 {
		font-size: 1.6rem;
		letter-spacing: 9px;
		text-indent: 3px;
	}

	.ttl-04 .en {
		font-size: 6rem;
		letter-spacing: 5px;
		text-indent: 2px;
	}

	.ttl-04 .copy {
		margin-top: -16px;
	}

	.ttl-04 .copy img {
		width: 335px;
		max-width: 100%;
		height: auto;
	}

	.single .main-img .box {
		width: 100%;
	}

	.main-img .box .read {
		margin-top: -1px;
		margin-left: 2px;
		letter-spacing: 1px;
		line-height: 1.6;
	}

	.ttl-05 .attr {
		max-width: 60%;
	}

	.ttl-05 .info {
		margin-bottom: 8px;
	}

	.ttl-05 .info .tab {
		font-size: 1.6rem;
		padding: 1.5px 10px;
		border: solid 1px #13a158;
	}

	.ttl-05 .info .txt {
		display: block;
		margin-top: 10px;
		font-size: 1.4rem;
		letter-spacing: .4px;
		line-height: 1.5;
	}

	.ttl-05 .en {
		font-size: 2.5rem;
		line-height: 1.1;
		letter-spacing: 1.2px;
	}

	.ttl-05 .name {
		font-size: 1.6rem;
	}

	.ttl-06 .en {
		font-size: 4rem;
		letter-spacing: 3px;
		margin-bottom: -18px;
	}

	.ttl-06 .jp {
		font-size: 2rem;
		letter-spacing: 9px;
		margin-left: 10px;
	}

	.form-box .notice .txt li {
		margin-bottom: 13px;
		line-height: 1.7;
	}

	.list-01 li::before {
		top: 10px;
	}

	.list-check li {
		padding-left: 3.2rem;
		line-height: 1.8;
		background: url( ../img/common/2x/icon-check.png ) left 3px / 24px no-repeat;
		margin-bottom: 10px;
	}

	.dl-01.flex {
		flex-direction: column;
	}

	.dl-01 dt {
		width: 100%;
		line-height: 1.6;
		padding: 12px;
		margin-bottom: 10px;
	}

	.dl-01 dd {
		width: 100%;
		padding-left: 0;
	}

	.dl-02 {
		flex-direction: column;
	}

	.dl-02 dt {
		width: 100%;
		padding: 12px 0;
		font-size: 1.6rem;
		text-align: center;
		border-top: solid 2px #13a158;
		border-bottom: solid 2px #13a158;
	}

	.dl-02 dt:first-of-type {
		border-top: solid 2px #13a158;
	}

	.dl-02 dd {
		width: 100%;
		padding: 21.5px 0;
		font-size: 1.4rem;
		line-height: 2;
		text-align: left;
		border: none;
	}

	.dl-03 dt span {
		font-size: 2.1rem;
	}

	.dl-03 dd {
		padding: 40px 20px 20px;
	}

	.topic-path {
		font-size: 1.2rem;
		padding: 7px 0;
	}

	.topic-path .wrap a {
		margin-right: 26px;
	}

	.scroll-line {
		height: 60px;
	}

	.bottom-bnr .scroll-line {
		top: -30px;
	}

	.main-img > .flex {
		height: 106.666666vw;
		padding: 10px 5px 5px;
		margin-bottom: 30px;
	}

	.main-img .scroll {
		bottom: 32px;
	}

	.main-img .scroll a {
		font-size: 1.2rem;
		letter-spacing: 4.5px;
		text-indent: 3px;
		padding: 2px 20px;
	}

	.main-img .scroll-line {
		bottom: -30px;
	}

	footer .scroll-line {
		top: -30px;
	}

	.bottom-bnr a {
		height: 300px;
		padding: 0;
	}

	.bottom-bnr .entry-bnr a::after {
		background: url( ../img/common/sp/entry-bg-sp.png ) center center / cover no-repeat;
	}

	.bottom-bnr .recruit-bnr a::after {
		background: url( ../img/common/sp/recruit-bg-sp.png ) center center / cover no-repeat;
	}

	.bottom-bnr .box {
		line-height: 1.8;
	}

	.bottom-bnr .box .en {
		font-size: 5rem;
		line-height: 1.1;
		letter-spacing: 2.2px;
	}

	.bottom-bnr .box .read {
		font-size: 1.6rem;
		letter-spacing: 1.8px;
		margin-top: 10px;
		margin-left: 10px;
	}

	.bottom-bnr .box .jp {
		font-size: 1.8rem;
		letter-spacing: 1.8px;
		margin-left: 3px;
	}

	.bottom-bnr .txt-img {
		padding: 0 15px;
		transform: translateY( 76% );
	}

	#fix-bnr-entry {
		width: 100%;
		bottom: 0;
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		justify-content: flex-end;
	}

	#fix-bnr-entry > div {
		width: 50%;
	}

	#fix-bnr-entry .bnr a {
		padding: 12px 13px 10px;
	}

	#fix-bnr-entry .bnr.bnr-entry-new a::after {
		background-image: url( ../img/interview/sp/fix-bnr-entry-new-sp.png );
	}

	#fix-bnr-entry .bnr.bnr-entry-mid a::after {
		background-image: url( ../img/interview/sp/fix-bnr-entry-mid-sp.png );
	}

	#fix-bnr-entry .bnr .ttl {
		margin-bottom: 3px;
	}

	#fix-bnr-entry .bnr .ttl .en {
		display: none;
	}

	#fix-bnr-entry .bnr .ttl h3 {
		font-size: 1.9rem;
	}

	#fix-bnr-entry .bnr .copy {
		margin: -6px;
	}

	#fix-bnr-entry .bnr .copy img {
		height: 26px;
	}

	#fix-bnr-entry .bnr .btn {
		margin: 2px 0 1px;
	}

	#fix-bnr-entry .bnr .btn .txt {
		width: 80px;
		font-size: 1.2rem;
		padding: 3px 4px;
	}

	#fix-bnr-recruit {
		bottom: 0;
		left: 0;
	}

	#fix-bnr-recruit a {
		padding: 15px 15px 24px 54%;
		background: url( ../img/top/sp/fix-bnr-recruit-sp.png ) center center / cover no-repeat;
		line-height: 1.2;
		letter-spacing: 1.2px;
	}

	#fix-bnr-recruit a .en {
		font-size: 3rem;
		letter-spacing: 2.6px;
	}

	#fix-bnr-recruit a .jp {
		font-size: 1.3rem;
	}

	footer .bottom-wrap {
		padding: 10rem 0 4rem;
	}

	footer .bottom-wrap .logo {
		margin-bottom: 4px;
	}

	footer .bottom-wrap .logo img {
		height: 30px;
	}

	footer .copyright {
		font-size: 1rem;
	}

	.block-01 {
		padding-top: 8.6rem;
	}

	.block-01 .ttl-02 {
		position: absolute;
		top: 0;
		left: 2rem;
	}

	.block-01 .img {
		position: relative;
		left: 0;
		margin-right: -20px;
		margin-bottom: 20px;
	}

	.block-01 .img img {
		height: 200px;
	}

	.block-01 .txt {
		position: static;
		padding: 0;
	}

	.block-01 .img + .txt {
		padding: 0;
	}

	.block-01 .btn-01 {
		margin-top: 28px;
	}

	.block-01.bg .txt-wrap {
		padding: 0;
	}

	.block-01.bg .txt-wrap::after {
		display: none;
	}

	.block-01 .name {
		margin-top: 2rem;
	}

	.block-02 a {
		padding: 46px 0 44px;
	}

	.block-02 .box {
		padding: 0;
	}

	.block-02 .box .sub {
		font-size: 1.4rem;
	}

	.block-02 .box h2 {
		font-size: 2.5rem;
		margin-bottom: 8px;
	}

	.block-02 .box .read {
		line-height: 1.8;
		letter-spacing: .4px;
		margin: 0;
	}

	.block-02 .box .more {
		margin-top: 15px;
	}

	.block-02 .box .more span {
		width: 140px;
		font-size: 1.4rem;
	}

	.block-03 {
		margin: 20px 0;
	}

	.block-03 .img {
		position: relative;
		right: 0;
		text-align: center;
		line-height: .5;
		margin-bottom: 20px;
		height: auto;
	}

	.block-03.img-right .img {
		left: 0;
	}

	.block-03 .img img,
	.block-03.img-right .img img {
		border-radius: 0;
		height: 60vw;
	}

	.block-03 .img + .wrap .txt,
	.block-03.img-right .img + .wrap .txt {
		margin: 0;
		min-height: initial;
	}

	.block-03 h3 {
		font-size: 2.1rem;
		text-align: center;
		margin-bottom: 10px;
	}

	.block-03 .txt p {
		font-size: 1.5rem;
		line-height: 1.9;
	}

	.block-list {
		margin-top: 4rem;
	}

	.block-list .block-03 {
		padding-top: 12rem;
		margin: 0 0 4rem;
	}

	.block-list .block-03 .txt {
		padding: 0 !important;
	}

	.block-list .block-03 .img + .wrap .txt {
		position: static;
	}

	.block-list .block-03 .wrap .txt {
		position: static;
	}

	.block-list .block-03 h3 {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		padding: 0 20px;
	}

	.block-list .block-03 .mov-ttl .en {
		font-size: 1.4rem;
		margin-bottom: 5px;
	}

	.block-list .block-03 .num {
		font-size: 10rem;
		top: -3rem;
		right: 0;
		left: 0;
		text-align: center;
	}

	.block-03.img-center .ttl {
		position: static;
		margin: 0;
	}

	.block-list .block-03.img-center .num {
		top: -3rem;
	}

	.block-list .block-03 .mov-ttl .q {
		margin-bottom: .8rem;
	}

	.block-list .block-03 .mov-ttl .q > span {
		font-size: 1.6rem;
		text-align: left;
	}

	.block-list .block-03 .mov-ttl .q > span::before {
		top: 12px;
	}

	.block-04 .box {
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		flex-direction: column;
		background: transparent;
		padding: 7.5rem 0 3rem;
		position: relative;
	}

	.block-04 .img img {
		height: 250px;
	}

	.block-03.img-center .img img {
		min-height: initial;
		height: 60vw;
	}

	.block-03.img-center .read {
		font-size: 1.5rem;
		line-height: 1.9;
		letter-spacing: .5px;
	}

	.block-04 .box::before {
		content: '';
		position: absolute;
		top: 10rem;
		right: -20px;
		bottom: 0;
		left: -20px;
		z-index: -1;
		background: #f5f5f5;
	}

	.block-04 .img {
		position: relative;
		right: 0;
		bottom: 0;
		width: 100%;
		margin-bottom: 2rem;
	}

	.block-04 .txt {
		padding: 0;
		position: static;
	}

	.block-04 figure + .txt {
		margin-right: 0;
	}

	.block-04 .txt .mov-ttl {
		top: 0;
		right: 0;
	}

	.block-04 .txt h3 {
		line-height: 1.5;
		letter-spacing: 2.2px;
	}

	.box-list .box {
		padding: 26px 20px 22px;
		margin-bottom: 12px;
	}

	.box-list.cont-04 .box {
		width: calc( ( 100% - 8px ) / 2 );
		margin-right: 8px !important;
	}

	.box-list.cont-04 .box:nth-child( even ) {
		margin-right: 0 !important;
	}

	.box-list .num {
		font-size: 2rem;
		left: 10px;
	}

	.box-list figure {
		width: 115px;
		height: 115px;
	}

	.box-list h3 {
		font-size: 1.6rem;
		letter-spacing: 1px;
		margin: 4px 0 10px;
	}

	.box-list .read {
		font-size: 1rem;
	}

	.flow-box .box-list .read {
		line-height: 1.8;
	}

	.box-list.flow .box::before {
		width: 24px;
		height: 44px;
		background: url( ../img/common/sp/flow-arrow-sp.png ) center center / contain no-repeat;
		left: -6px;
	}

	.message-box {
		padding: 6.8rem 0 5rem;
	}

	.message-box .en-bg {
		font-size: 9rem;
		letter-spacing: 1px;
		top: 2rem;
		right: auto;
		left: 9.5vw;
	}

	.message-box .ttl-02 .jp img {
		height: 18.8px;
	}

	/* page */

	.page .cont {
		padding: 2rem 0 5rem;
	}

	.page .ttl-04 .en {
		font-size: 4rem;
	}

	.page .main-img > .flex {
		height: 150px;
		padding-top: 0;
		margin-bottom: 0;
	}

	.page footer .bottom-wrap {
		padding-top: 4rem;
	}

	/* not-found */

	#not-found .cont h2 {
		font-size: 2rem;
		margin-bottom: 2rem;
	}

	#not-found .cont ul {
		margin: 1.5rem auto;
	}

	/* thanks */

	#thanks {
		background: #fafafa;
	}

	#thanks .ttl-03 {
		margin: 1.5rem 0 2rem;
	}

	#thanks.page .cont {
		text-align: left;
		padding: 0;
	}

	#thanks .tel {
		margin: 2.5rem 0 3rem;
	}

	#thanks .tel a {
		padding: 10px 10px 20px;
	}

	#thanks .tel a .num {
		font-size: 3.2rem;
	}

	#thanks .tel a .note {
		font-size: 1.2rem;
	}

	#thanks .btn-02 {
		text-align: center;
		margin-bottom: 5rem;
	}

}


/*
----------------------------------------
hover
----------------------------------------
*/

@media screen and ( min-width: 769px ) {

	#wrapper > header .logo a:hover {
		opacity: .8;
	}

	#g-nav li a:hover::before {
		right: 10px;
		left: 10px;
		opacity: 1;
	}

	#g-nav .btn a:hover::after {
		right: 0;
	}

	#fix-nav #nav-btn > div:hover::after {
		right: 0;
	}

	#fix-nav .nav-menu a:hover {
		background: rgba( 255, 255, 255, .2 );
	}

	.topic-path .wrap a:hover {
		color: #8fc31f;
		border-bottom: solid 1px #8fc31f;
	}

	.btn-01 a:hover {
		box-shadow: 0 0 20px rgba( 0, 0, 0, .2 );
	}

	.btn-01 a:hover::before {
		right: 0;
	}

	.btn-01 a:hover::after {
		transform: translateX( 5px );
	}

	.btn-02 a:hover {
		color: #fff;
		background: #13a158;
	}

	.main-img .scroll a:hover {
		text-shadow: 0 0 20px #13a158;
	}

	.bottom-bnr a:hover {
		text-shadow: 0 0 20px #13a158;
	}

	.bottom-bnr a:hover::after {
		opacity: .75;
	}

	.bnr-single .bnr-entry-new a:hover {
		background: #8fc31f;
	}

	.bnr-single .bnr-entry-new a:hover::after {
		opacity: .8;
	}

	.bnr-set .bnr a:hover {
		background: #8fc31f;
		box-shadow: 0 0 10px rgba( 0, 0, 0, .2 );
	}

	.bnr-set .bnr a:hover::after {
		opacity: .8;
	}

	.bnr-set .bnr a:hover .btn .txt::after {
		right: 0;
	}

	.bnr-set .bnr a:hover .btn .txt span {
		color: #fff;
	}

	.bnr-set .bnr a:hover .ttl h3 {
		text-shadow:
		0 0 21px rgba( 255, 255, 255, .5 ),
		0 0 21px rgba( 255, 255, 255, .5 ),
		0 0 42px rgba( 255, 255, 255, .5 ),
		0 0 42px rgba( 255, 255, 255, .5 ),
		0 0 84px rgba( 255, 255, 255, .5 ),
		0 0 84px rgba( 255, 255, 255, .5 );
	}

	#fix-bnr-entry .bnr a:hover {
		background: #8fc31f;
		box-shadow: 0 0 10px rgba( 0, 0, 0, .2 );
	}

	#fix-bnr-entry .bnr a:hover::after {
		opacity: .8;
	}

	#fix-bnr-entry .bnr a:hover .btn .txt::after {
		right: 0;
	}

	#fix-bnr-entry .bnr a:hover .ttl h3 {
		text-shadow:
		0 0 15px rgba( 255, 255, 255, .5 ),
		0 0 15px rgba( 255, 255, 255, .5 ),
		0 0 30px rgba( 255, 255, 255, .5 ),
		0 0 30px rgba( 255, 255, 255, .5 ),
		0 0 60px rgba( 255, 255, 255, .5 ),
		0 0 60px rgba( 255, 255, 255, .5 );
	}

	#fix-bnr-recruit a:hover::after {
		right: 0;
	}

}
