@charset "utf-8";

/* ir
--------------------------------------------------------------------------------------------------------*/
.animated {
	animation-duration: 0.6s;
	-webkit-animation-duration: 0.6s;
}
.sec-title {
	font-size: 4.6rem;
	font-weight: 600;
	line-height: 1;
}
.sec-title .ja {
	margin-left: 19px;
	font-size: 1.8rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}
.sec-title .ja::before {
	content: '／ ';
}
.flex-box {
	display: -webkit-flex;
	display: flex;
}
article {
	background-color: #fff;
}

/* fadeInRight2
-----------------------------------------------*/
@-webkit-keyframes fadeInRight2 {
	from { opacity: 0; -webkit-transform: translate3d(15%, 0, 0); transform: translate3d(15%, 0, 0);}
	to { opacity: 1; -webkit-transform: none; transform: none;}
}
@keyframes fadeInRight2 {
	from { opacity: 0; -webkit-transform: translate3d(15%, 0, 0); transform: translate3d(15%, 0, 0);}
	to { opacity: 1; -webkit-transform: none; transform: none;}
}
.fadeInRight2 {
	-webkit-animation-name: fadeInRight2;
	animation-name: fadeInRight2;
}
/* fadeInLeft2
-----------------------------------------------*/
@-webkit-keyframes fadeInLeft2 {
	from { opacity: 0; -webkit-transform: translate3d(-15%, 0, 0); transform: translate3d(-15%, 0, 0);}
	to { opacity: 1; -webkit-transform: none; transform: none;}
}
@keyframes fadeInLeft2 {
	from { opacity: 0; -webkit-transform: translate3d(-15%, 0, 0); transform: translate3d(-15%, 0, 0);}
	to { opacity: 1; -webkit-transform: none; transform: none;}
}
.fadeInLeft2 {
	-webkit-animation-name: fadeInLeft2;
	animation-name: fadeInLeft2;
}

/* mv
------------------------ */
#mv .mv-inner {
	position: relative;
	max-width: 1680px;
	height: 640px;
	margin: 0 auto;
	background: url(../images/ir/bg_mv.jpg) no-repeat top center;
	background-size: cover;
}
#mv .text-box {
	padding: 237px 0 0 20.23%;
	color: #fff;
}
#mv .text-box > * {
	text-shadow: 0 0 0.75em rgba(14, 5, 10, 0.3);
}
#mv .text-box .article-title {
	margin-bottom: 17px;
	font-size: 6.4rem;
	font-weight: 600;
	line-height: 1.1;
}
#mv .text-box .article-title span {
	font-weight: 300;
}
#mv .text-box .ja {
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#mv .text-box .ja::before {
	display: inline-block;
	margin-right: 13px;
	font-weight: 400;
	content: '／ ';
}


/* #sec01
------------------------------------------------*/
#sec01 {
	overflow: hidden;
	background-color: #f4f4f4;
}
#sec01 .inner {
	padding-top: 17.5rem;
	padding-bottom: 12.0rem;
}
#sec01 .item {
	position: relative;
	background-color: #fff;
}
#sec01 .item::before {
	content: '';
	z-index: 1;
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
}
#sec01 .item:not(:last-child) {
	margin-bottom: 12.0rem;
}
#sec01 .item:nth-of-type(2n+1) {
	flex-direction: row-reverse;
	-webkit-flex-direction: row-reverse;
}
#sec01 .item:nth-of-type(2n+1)::before {
	left: -100%;
}
#sec01 .item:nth-of-type(2n)::before {
	right: -100%;
}
#sec01 .item .photo {
	position: relative;
	top: -6.0rem;
	flex: 1;
	-webkit-flex: 1;
}
#sec01 .item:nth-of-type(2n+1) .photo {
	margin-right: -34.0rem;
}
#sec01 .item:nth-of-type(2n) .photo {
	margin-left: -34.0rem;
}
#sec01 .item dl {
	width: 66.0rem;
	padding-top: 8.0rem;
	padding-right: 1.5rem;
	animation-delay: 0.2s;
	-webkit-animation-delay: 0.2s;
}
#sec01 .item:nth-of-type(2n+1) dl {
	padding-right: 10.0rem;
}
#sec01 .item:nth-of-type(2n) dl {
	padding-left: 9.0rem;
}
#sec01 .item:nth-of-type(6) dl {
	padding-bottom: 10.0rem;
}
#sec01 .item dl dt {
	flex-direction: column;
	-webkit-flex-direction: column;
}
#sec01 .item:nth-of-type(3) dl dt {
	display: block;
}
#sec01 .item:nth-of-type(3) dl dt small {
	display: inline-block;
	vertical-align: baseline;
	padding-left: 0.75em;
}
#sec01 .item dl dt span {
	font-size: 4.6rem;
	font-weight: 600;
	line-height: 1.217;
}
#sec01 .item dl dt small {
	font-size: 1.8rem;
	line-height: 1.33;
	margin-top: 1.0rem;
}
#sec01 .item:nth-of-type(4) dl dt span {
	font-size: 4.5rem;
	letter-spacing: -0.02em;
}
#sec01 .item dl dt small::before {
	content: '／ ';
	margin-right: 0.15em;
}
#sec01 .item dl dd {
	padding-top: 4.0rem;
}
#sec01 .item dl dd p {
	display: flex;
	display: -webkit-flex;
}
#sec01 .item dl dd .lead {
	font-size: 1.6rem;
	line-height: 1.5;
	color: #2a2a2a;
	margin-bottom: 3.5rem;
}
#sec01 .item dl dd p a {
	border-bottom: 3px solid #004ea2;
}
#sec01 .item dl dd p a span {
	display: block;
	background: url(../images/common/ico_arrow-03.png) no-repeat right center;
	font-size: 2.0rem;
	font-weight: 400;
	letter-spacing: 0.025em;
	color: #004ea2;
	padding-right: 3.5em;
	margin-bottom: 0.35em;
}


/*
	less than 767px;
---------------------------------------------------------------------------------------------------------------------------------------------*/
@media (max-width: 767px) {
/* common parts
--------------------------------------------------------------------------------------------------------*/
	.inner {
		width: 100%;
	}
	article {
		background-color: #f4f4f4;
		position: relative;
	}
	article::before {
		position: absolute;
		content: '';
		top: calc(180 / 750 * 100vw);
		left: 0;
		width: 100%;
		height: calc(580 / 750 * 100vw);
		background: rgb(244, 244, 244);
		background: -webkit-linear-gradient(0deg, rgba(244, 244, 244, 1) 0%, rgba(255, 255, 255, 1) 100%);
		background: linear-gradient(0deg, rgba(244, 244, 244, 1) 0%, rgba(255, 255, 255, 1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f4f4f4",endColorstr="#ffffff",GradientType=1);
	}
	#mv {
		padding-right: calc(40 / 750 * 100vw);
		padding-left: calc(40 / 750 * 100vw);
		margin-bottom: calc(90 / 750 * 100vw);
	}
	#mv .mv-inner {
		height: calc(620 / 750 * 100vw);
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
	}
	#mv .text-box {
		padding-top: 0;
		padding-left: 0;
	}
	#mv .text-box .article-title {
		font-size: calc(64 / 750 * 100vw);
		margin-bottom: calc(20 / 750 * 100vw);
	}
	#mv .text-box .ja {
		font-size: calc(24 / 750 * 100vw);
	}
	.sec-title {
		font-size: calc(46 / 750 * 100vw);
		margin-bottom: calc(48 / 750 * 100vw);
	}
	.sec-title .ja {
		font-size: calc(24 / 750 * 100vw);
		margin-left: 1.0em;
	}
	
/* sec01
--------------------------------------------------------------------------------------------------------*/
	#sec01 .inner {
		padding-top: 0;
		padding-right: calc(40 / 750 * 100vw);
		padding-bottom: calc(120 / 750 * 100vw);
		padding-left: calc(40 / 750 * 100vw);
	}
	#sec01 .field {
		width: 100%;
		padding-bottom: calc(120 / 750 * 100vw);
	}
	#sec01 .item {
		padding-top: calc(40 / 750 * 100vw);
	}
	#sec01 .item:nth-of-type(2n+1),
	#sec01 .item:nth-of-type(2n) {
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	#sec01 .item:not(:last-child) {
		margin-bottom: calc(120 / 750 * 100vw);
	}
	#sec01 .item .photo {
		top: 0;
	}
	#sec01 .item:nth-of-type(2n+1) .photo {
		margin-right: calc(40 / 750 * -100vw);
	}
	#sec01 .item:nth-of-type(2n) .photo {
		margin-left: calc(40 / 750 * -100vw);
	}
	#sec01 .item dl {
		width: 100%;
		-webkit-animation-delay: 0s;
		animation-delay: 0s;
		padding-top: calc(45 / 750 * 100vw);
		padding-bottom: calc(55 / 750 * 100vw);
	}
	#sec01 .item:nth-of-type(6) dl {
		padding-bottom: calc(55 / 750 * 100vw);
	}
	#sec01 .item:nth-of-type(2n+1) dl,
	#sec01 .item:nth-of-type(2n) dl {
		padding-right: calc(40 / 750 * 100vw);
		padding-left: calc(40 / 750 * 100vw);
	}
	#sec01 .item dl dt span,
	#sec01 .item:nth-of-type(4) dl dt span {
		font-size: calc(60 / 750 * 100vw);
	}
	#sec01 .item dl dt span br {
		display: none;
	}
	#sec01 .item dl dt span i {
		width: 0.25em;
	}
	#sec01 .item dl dt small {
		font-size: calc(28 / 750 * 100vw);
		margin-top: 0.5em;
	}
	#sec01 .item:nth-of-type(2n+1) dl dd,
	#sec01 .item:nth-of-type(2n) dl dd {
		padding-top: calc(50 / 750 * 100vw);
	}
	#sec01 .item dl dd .lead {
		font-size: calc(26 / 750 * 100vw);
		margin-bottom: calc(40 / 750 * 100vw);
	}
	#sec01 .item dl dd p a {
		border-width: 2px;
	}
	#sec01 .item dl dd p a span {
		font-size: calc(34 / 750 * 100vw);
		background-size: calc(35 / 750 * 100vw) auto;
	}

}