@charset "UTF-8";
/*
 * ================================================
 *
 * [content]
 *
 * ================================================
 */
img {
	vertical-align: middle;
	max-width: 100%;
}
/**
 * webfont
*/
.ftSerif {
	font-family: 'Noto Serif JP';
}
.ftSans {
	font-family: 'Noto Sans JP', sans-serif;
}
.ftBebas {
	font-family: 'Bebas Neue';
	font-weight: 500;
	letter-spacing: 0.05em;
	color: #000000;
}
.ftHeebo {
	font-family: 'Heebo';
}
.ftJosefin {
	font-family: 'Josefin';
}
/**
 * 見出し用スタイル
*/
h2,h3,h4 {
	/*font-weight: bold;*/
}
.h1S01 {
	display: inline-block;
	font-weight: normal;
}
	.h1S01 .en,
	.h1S01 .subTxt {
		position: relative;
		display: block;
		text-align: center;
		line-height: 1.1;
		color: #000000;
	}
	.h1S01 .en {
		font-size: 8rem;
		font-family: 'Bebas Neue';
		font-weight: 500;
		letter-spacing: 0.05em;
	}
	.h1S01 .subTxt {
		font-size: 2.2rem;
		font-weight: bold;
	}


.h2s01 {
	display: inline-block;
}
.h2s01 .en,
.h2s01 .subTxt {
	position: relative;
	display: block;
	text-align: center;
	line-height: 1.2;
}
	.h2s01 .en {
		font-family: 'Bebas Neue';
		color: #000;
		font-size: 6.4rem;
		letter-spacing: 0.03em;
		font-weight: 500;
	}
	.h2s01 .en .fRed {
		color: #D70F19;
	}
	.h2s01 .en .fWhite {
		color: #fff;
	}
	.h2s01 .subTxt {
		font-size: 1.6rem;
		font-weight: 500;
		color: #000000;
	}
	.h2s01 .subTxt::before {
		content: '';
		position: absolute;
		margin: auto;
		width: 100%;
		height: 2px;
		background: #000;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
	}
		.h2s01 .subTxt > span {
			display: inline-block;
			background: #E6E6E6;
			position: relative;
			z-index: 2;
			padding: 0 1em;
		}
.h2S02 > span {
	display: block;
}
.h2S02 .en {
	color: #d70f19;
	line-height: 1;
	font-size: 3rem;
}
	.h2S02 .en span {
		position: relative;
	}
	.h2S02 .en span::after {
		content: '';
		position: absolute;
		margin: auto;
		width: 100%;
		height: 2px;
		background: #d70f19;
		bottom: 4px;
		left: 0;
	}
.h2S02 .ja {
	font-size: 2.6rem;
	font-weight: bold;
	padding: 0.35em 0 0;
	letter-spacing: 0.06em;
}
/**
 * linkBtnS01
*/
a.linkBtnS01 {
	position: relative;
	display: inline-block;
	min-width: 100px;
	text-align: center;
	background: #969696;
	color: #fff;
	padding: 0.2em 0.4em 0.2em 0.1em;
	font-size: 1.4rem;
}
a.linkBtnS01::before,
a.linkBtnS01::after {
	content: '';
	position: absolute;
	margin: auto;
}
a.linkBtnS01::before {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 5px 5px 0;
	border-color: transparent #e6e6e6 transparent transparent;
	top: 0;
	right: 0;
}
a.linkBtnS01::after {
	content: '>';
	position: absolute;
	margin: auto;
	top: 50%;
	right: 5px;
	margin-top: -10px;
	font-size: 1.3rem;
	font-weight: 500;
	color: #fff;
}

/**
 * リンクスタイル
*/
#topLInk {
	display: block;
	text-align: center;
	font-size: 4.6rem;
	font-weight: normal;
	color: #000;
	font-family: 'Bebas Neue';
	letter-spacing: 0.02em;
}
	#topLInk span {
		position: relative;
		line-height: 1;
		display: block;
		width: 1000px;
		margin: 0 auto;
	}
	#topLInk span::before,
	#topLInk span::after {
		content: '';
		position: absolute;
		margin: auto;
		height: 1px;
		background: #000;
	}
	#topLInk span::before {
		-webkit-transform: rotate(-45deg);
				transform: rotate(-45deg);
		width: 30px;
		left: -4px;
		bottom: 18px;
	}
	#topLInk span::after {
		width: 570px;
		left: 0;
		bottom: 7px;
	}
/**
 * ボックス用スタイル
*/
.cntInner {
	max-width: 1000px;
	margin: 0 auto;
}
.cntInner02 {
	max-width: 900px;
	margin: 0 auto;
}
.cntInner03 {
	max-width: 880px;
	margin: 0 auto;
}
/**
 * bgColor
*/
.bgColor01 {
	width: 100%;
	background: #F6E7E8;
}
/**
 * リスト用スタイル
*/
.listOrg {
	counter-reset: count;
}
	.listOrg > li {
		counter-increment: count;
		position: relative;
		padding-left: 1.25em;
	}
		.listOrg > li::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
		}
		.listOrg.circle > li::before {
			content: '●';
		}
		.listOrg.square > li::before {
			content: '■';
		}
		.listOrg.note > li::before {
			content: '※';
		}
		.listOrg.dot > li::before {
			content: '・';
		}
.noteTxt {
	position: relative;
	padding-left: 1.25em;
}
	.noteTxt::before {
		content: '※';
		position: absolute;
		top: 0;
		left: 0;
	}

/**
 * pageHeaderS01
*/
.pageHeaderS01 {
	text-align: center;
}
	.pageHeaderS01 .h2s01 {
		text-align: center;
		font-size: 5.6rem;
		margin-bottom: 10px;
	}
		.pageHeaderS01 .h2s01 .en {
			font-size: 5.6rem;
			letter-spacing: 0.05em;
		}
		.pageHeaderS01 .h2s01 .fSmall {
			font-size: 4.4rem;
		}
		.future .pageHeader .h2s01 .fSmall {
			font-size: 4.4rem;
		}
			.pageHeaderS01 .h2s01 .subTxt > span {
				background: #fff;
				font-size: 1.4rem;
				font-weight: 500;
			}
	.pageHeaderS01 .h1S01 {
		position: relative;
		z-index: 100;
		display: block;
		text-align: center;
	}
/**
 * mainVS01
*/
.mainVS01 {
	position: relative;
	top: -70px;
	width: 100%;
	padding-top: 35.15%;
	margin-bottom: 100px;
	background: url(../../images/content/work/page_mv01.jpg) center / cover no-repeat;
}


/**
 * transition
*/
.trOp01 {
	transition: .2s;
}
	.trOp01:hover {
		opacity: .6;
	}
.trScl01 {
	transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
	.trScl01:hover,
	.trScl01.active {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
		z-index: 1;
	}
.trSwR01 {
	display: inline-block;
	vertical-align: middle;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	position: relative;
	transition: color 0.5s linear;
}
	.trSwR01::before {
		content: '';
		position: absolute;
		z-index: -1;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
		-webkit-transform-origin: 0 50% 50%;
		transform-origin: 0 50% 50%;
		transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
		transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
		transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.trSwR01.active::before,
	.trSwR01:hover::before {
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
	}


/**
 ****************************************************
 *
 * screens larger than 768
 *
 ****************************************************
*/
@media only screen and (min-width: 768px) {
	.pcDspNone {
		display: none;
	}
}
/**
 ****************************************************
 *
 * screens smaller than 767
 *
 ****************************************************
*/
@media only screen and (max-width: 767px) {
	.spDspNone {
		display: none;
	}
	/**
	 * transition series
	 */
	.trOp01 {
		transition: none;
	}
		.trOp01:hover {
			opacity: 1.0;
		}
	.trScl01 {
		transition: none;
	}
		.trScl01:hover {
			-webkit-transform: scale(1);
			transform: scale(1);
		}
	/**
	 * form
	 */
	input.formText[type=text],
	input.formText[type=password],
	input.formText[type=number],
	input.formText[type=email],
	textarea,
	select {
		font-size: 1.6rem;
	}
	input.formText[type=text],
	input.formText[type=password],
	input.formText[type=number],
	input.formText[type=email],
	select {
		line-height: 16px;
	}
	/**
	 * 見出し用スタイル
	*/
	.h1S01 {}
		.h1S01 .en,
		.h1S01 .subTxt {}
		.h1S01 .en {
			font-size: 4.2rem;
			margin-bottom: 0.1em;
		}
		.h1S01 .subTxt {
			font-size: 1.6rem;
			font-weight: 500;
		}
	.h2s01 {}
	.h2s01 .en,
	.h2s01 .subTxt {}
		.h2s01 .en {
			font-size: 4rem;
		}
	.h2S02 {}
		.h2S02 > span {}
		.h2S02 .en {
			font-size: 2.4rem;
		}
			.h2S02 .en span::after {
				bottom: 2px;
			}
		.h2S02 .ja {
			font-size: 1.8rem;
		}
	.pageHeaderS01 .h2s01 {}
		.pageHeaderS01 .h2s01 .en {
			font-size: 3.5rem;
			line-height: 1;
		}
		.pageHeaderS01 .h2s01 .fSmall {
			font-size: 2.8rem;
		}
		.future .pageHeader .h2s01 .fSmall {
			font-size: 2.8rem;
		}
	/**
	 * mainVS01
	*/
	.mainVS01 {
		padding-top: 48%;
		top: -44px;
		margin-bottom: 40px;
	}
	/**
	 * リンクスタイル
	*/
	#topLInk {
		font-size: 4rem;
	}
		#topLInk span {
			display: inline-block;
			width: auto;
		}
		#topLInk span::before {
			left: -85px;
			bottom: 17px;
		}
		#topLInk span::after {
			width: 200px;
			left: auto;
			right: 0;
			bottom: 6px;
		}
	/**
	 * ボックス用スタイル
	*/
	.cntInner,
	.cntInner02,
	.cntInner03 {
		padding: 0 5%;
	}
	/**
	 * 横スクロール
	*/
	.scrollX {
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
	}
}
