@charset "UTF-8";
@import "common.sp.css";

/* ---------------------------------------------------------
	CSS Document main
--------------------------------------------------------- */

#main {
	margin-bottom: 10vw;
	position: relative;
}

#main h2 {
	padding: 3vw 4vw;
	background: #fff;
	text-align: right;
	font-weight: 500;
	font-size: 4.5vw;
	color: #0054A7;
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
	right: 5vw;
}

#main h2 .en {
	display: block;
	margin-bottom: 1vw;
	font-weight: 400;
	font-size: 2.5vw;
	letter-spacing: 0.08em;
	color: #0054A7;
}

#main h2 .en:after {
	display: block;
	content: '';
	width: 30px;
	height: 2px;
	margin: 2vw 0 0 auto;
	background: #4C87C1;
}

/* ---------------------------------------------------------
	CSS Document video
--------------------------------------------------------- */

#video {
	margin: 0 5vw 15vw;
	padding-left: 0;
	position: relative;
}
#video h2 {
	margin-bottom: 8vw;
	text-align: left;
	font-weight: 500;
	font-size: 5vw;
	line-height: 1.5;
}
#video h2:before {
	display: block;
	content: '';
	width: 12vw;
	height: 2px;
	margin-bottom: 7vw;
	background: #76BFF1;
}

#video:before {
	content: '';
	width: 10vw;
	height: 2px;
	background: #76BFF1;
	position: absolute;
	top: 0;
	left: 0;
}
#video img,
#video video {
	max-width: 100%;
}

/* ---------------------------------------------------------
	CSS Document summary
--------------------------------------------------------- */

#summary .flex img {
	height: 67.92076923076923vw;
}

#summary .article {
	margin-bottom: 15vw;
}

#summary .section {
	margin: 8vw 5vw 0;
	text-align: left;
	font-size: 4vw;
}

#summary .section:before {
	display: block;
	content: '';
	width: 60px;
	height: 2px;
	margin-bottom: 5.5vw;
	background: #76BFF1;
}

#summary p em {
	background: linear-gradient(to bottom, transparent 0%, transparent 70%, #FFE2F5 70%, #FFE2F5 100%);
	color: #064FA4;
	position: relative;
	z-index: 0;
}

/* ---------------------------------------------------------
	CSS Document outline
--------------------------------------------------------- */

#outline {
	margin: 0 5vw 20vw;
	text-align: left;
}

#outline .section {
	text-align: justify;
}

#outline h3 {
	margin-bottom: 5vw;
	text-align: left;
	font-weight: 500;
	font-size: 4vw;
	line-height: 5vw;
	color: #0054A7;
}

#outline h3:before {
	display: inline-block;
	vertical-align: 5px;
	content: '';
	width: 60px;
	height: 2px;
	margin-right: 10px;
	background: #76BFF1;
}

#outline .caption {
	display: flex;
	flex-wrap: wrap;
}

#outline .caption .copy {
	margin-bottom: 3vw;
	font-size: 3.2vw;
	line-height: 4vw;
}

#outline .caption .copy span {
	display: inline-block;
	vertical-align: top;
	margin-right: 1em;
	padding: 0 1em;
	border-right: solid 1px #0054A7;
	border-left: solid 1px #0054A7;
	color: #0054A7;
}

#outline p {
	margin-bottom: 5vw;
}

#outline .table {
	border: solid 1px #eee;
	text-align: center;
	font-size: 14px;
	line-height: 1.5;
}

#outline .table dl {
	display: flex;
	border-bottom: solid 1px #eee;
}

#outline .table dt {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #FBFBFB;
	padding: 1em;
	font-weight: 400;
	white-space: nowrap;
}

#outline .table dd {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: .8em 1em;
}

#outline table {
	width: 100%;
	margin-bottom: 10vw;
	line-height: 1.3;
}

#outline caption {
	padding: 1em 0;
	border-left: solid 1px #eee;
	border-right: solid 1px #eee;
	background: #eee;
	text-align: center;
	font-weight: 400;
}

#outline th {
	width: 25%;
	border: solid 1px #eee;
	background: #FBFBFB;
	padding: 1em 0;
	text-align: center;
	font-weight: 400;
}

#outline .th th {
	padding: 0.5em;
	background: #EDFAFC;
}

#outline td {
	border: solid 1px #eee;
	text-align: center;
}

#outline .td th,
#outline .td td {
	background: #F0F8E1;
}

#outline .td td {
	font-weight: 500;
	font-size: 4vw;
	color: #CE0101;
}


/* ---------------------------------------------------------
	CSS Document case
--------------------------------------------------------- */

#case {
	margin: 0 5vw 20vw;
}

#case h2 {
	margin-bottom: 8vw;
	text-align: left;
	font-weight: 500;
	font-size: 5vw;
	line-height: 1.5;
}

#case h2:before {
	display: block;
	content: '';
	width: 12vw;
	height: 2px;
	margin-bottom: 7vw;
	background: #76BFF1;
}

#case .article {
	margin-bottom: 15vw;
	text-align: justify;
}

#case .flex {
	margin-bottom: 6vw;
}

#case h3 {
	margin-bottom: 4vw;
	padding: 0 0 4.5vw 30px;
	font-weight: 500;
	font-size: 5vw;
	line-height: 1;
	position: relative;
}

#case h3:before {
	content: '';
	width: 20px;
	height: 2px;
	background: #76BFF1;
	position: absolute;
	top: 6px;
	left: 0;
}

#case h3:after {
	content: '';
	width: 100%;
	height: 1px;
	background-image: linear-gradient(90deg, transparent 0%, transparent 80%, #0054A7 80%, #0054A7 100%, transparent);
	background-size: 4px 1px;
	position: absolute;
	bottom: 0;
	left: 0;
}

#case h3 .en {
	display: block;
	margin-bottom: 10px;
	font-weight: 400;
	font-size: 3vw;
	letter-spacing: 0.08em;
	color: #0054A7;
}
