/* Base */

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

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

/* HTML5 display-role reset for older browsers */

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

body {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

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

table {
	border-collapse: collapse;
	border-spacing: 0;
}
sup {
	font-size: 11px;
	vertical-align: top;
	position: relative;
	top: -0.1em;
}

sub {
	font-size: 11px;
	vertical-align: bottom;
	position: relative;
	bottom: 0.2em;
}

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

.text-align-right {
	text-align: right;
}

.display-block {
	display: block;
}

.hidden {
	display: none !important;
	visibility: hidden;
}

.clearfix::before,
.clearfix::after {
	content: "";
	display: table;
}

.clearfix::after {
	clear: both;
}

.clear {
	clear: both;
}

.va-middle {
	vertical-align: middle;
}

/* show only  SP/PC
-------------------------------*/

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

.bold {
	font-weight: 700;
}

/* margin
-------------------------------*/

.mb0 {
	margin-bottom: 0px !important;
}

/* padding
-------------------------------*/

/* base */

html {
	font-size: 62.5%;
}

body {
	font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif;
	font-size: 1.4rem;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	color: #000;
}

.hige {
	font-family: YakuHanMP_Noto, "Noto Serif JP", serif !important;
	font-weight: 500;
}

a {
	color: inherit;
	text-decoration: none;
}

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

input,
textarea,
select {
	font-family: inherit;
}

button {
	font-family: inherit;
}

/* Layput */

.l-body {
	width: 100%;
	overflow-x: hidden;
	padding-bottom: 70px;
	background: #F5F5F5;
}

.l-body--home {
	background: none;
}

.l-body.is-fixed {
	position: fixed;
}

.l-header__inner {
	pointer-events: none;
	position: fixed;
	background: #FFFFFF;
	width: 100%;
	left: 0;
	bottom: 0;
	height: 70px;
	padding-left: 4.6vw;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	z-index: 6000;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}

.l-body.is-menu-opend .l-header__inner {
	background: none;
}

.l-footer {
	background: #E9E9E9;
	padding: 24px 0 30px;
	font-size: 1.2rem;
	color: #666666;
}

.l-footer__main {
	margin-bottom: 34px;
}

.l-wrapper {
	width: 89.3%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.l-wrapper--lg {
	width: 92%;
}

.l-wrapper-md {
	width: 89.3%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.l-navi {
	color: #FFFFFF;
	background: rgba(16, 36, 81, 0.95);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 5000;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}

.l-body.is-menu-opend .l-navi {
	opacity: 1;
	visibility: visible;
}

.l-navi__inner {
	width: 100%;
	height: calc(100% - 70px);
	margin-left: auto;
	margin-right: auto;
	padding: 20px 5.35vw;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.l-navi__head {
	border-bottom: 1px solid #FFFFFF;
	padding-bottom: 10px;
}

.l-navi__sub {
	border-top: 1px solid #FFFFFF;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 20px 0;
}

.l-main {
	margin-bottom: 30px;
  position: relative;
  z-index: 10;
}

/* HEADER */

.header-logo {
	pointer-events: auto;
	width: 220px;
	position: relative;
	z-index: 100;
}

.header-logo__link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.header-logo__logo {
	width: 74px;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	margin-right: 10px;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
	background: url(../img/logo_kcs_white.svg) no-repeat center/contain;
}

.header-logo__logo img {
	display: block;
	width: 100%;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}

.l-body.is-menu-opend .header-logo__logo img {
	opacity: 0;
}

.header-logo__title {
	font-family: 1.551rem;
	letter-spacing: 0.2em;
	font-weight: 500;
	line-height: 1.45;
	-webkit-transform: scale(0.57);
	-ms-transform: scale(0.57);
	transform: scale(0.57);
	-webkit-transform-origin: center left;
	-ms-transform-origin: center left;
	transform-origin: center left;
	white-space: nowrap;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}

.header-logo__title span {
	font-size: 1.883rem;
	letter-spacing: 0.1em;
	display: block;
}

.l-body.is-menu-opend .header-logo__title {
	color: #FFFFFF;
}

.header-univ-logo {
	display: block;
	position: absolute;
	top: 12px;
	right: 4vw;
	z-index: 5000;
	transition: 0.3s;
}

.l-body--home .header-univ-logo {
	opacity: 0;
}

.l-body--home .header-univ-logo.is-visible {
	opacity: 1;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s;
}

.header-univ-logo img {
	display: block;
	width: 120px;
}

.navi {
	padding: 26px 0;
}

.navi__item:not(:last-child) {
	margin-bottom: 24px;
}

.navi__heading {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}

.navi__heading__en {
	display: block;
	font: 100 italic 2.567rem "Roboto", sans-serif;
	letter-spacing: 0.05em;
	line-height: 1;
}

.navi__heading__jp {
	display: block;
	padding-left: 15px;
	position: relative;
	margin-bottom: 5px;
	margin-left: 13px;
	font-size: 1.11rem;
	letter-spacing: 0.2em;
}

.navi__heading__jp::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 1px;
	height: 100%;
	background: #FFFFFF;
	-webkit-transform: skew(-14deg);
	-ms-transform: skew(-14deg);
	transform: skew(-14deg);
}

.navi__detail {
	padding: 4px 0 0 20px;
}

.navi__children {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.navi__child {
	margin: 0.6em 1em 0.6em 0;
}

.navi__child:last-child {
	margin-right: 0;
}

.navi__feature {
	font-size: 1.3rem;
	margin-top: 13px;
}

.navi__feature__heading {
	position: relative;
	color: #FFF100;
	font-weight: 300;
	letter-spacing: 0.2em;
	margin-bottom: 10px;
}

.navi__feature__heading span {
	letter-spacing: 0.07em;
	font: 100 italic 1.5rem "Roboto", sans-serif;
}

.navi__feature__heading::after {
	content: "";
	display: block;
	width: calc(100% - 14em);
	height: 1px;
	background: #FFF100;
	position: absolute;
	top: 50%;
	right: 0;
}

.navi__feature__main {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.navi__feature__item {
	margin: 0 2px 2px 0;
}

.navi__feature__item:last-child {
	margin-right: 0;
}

.navi__feature__item a {
	display: block;
	padding: 9px 11px;
	border: 1px solid #fff100;
	background: #FFF100;
	color: #1f3b80;
}

.navi__feature__item--sm {
	letter-spacing: -0.08em;
}

.navi__feature__item--sm a {
	padding-left: 8px;
	padding-right: 10px;
}

.navi__feature__item--md {
	letter-spacing: 0.05em;
}

.navi__feature__item--lg {
	letter-spacing: 0.15em;
}

.menu-btn {
	width: 65px;
	height: 100%;
	padding: 0;
	border: none;
	position: relative;
	background: none;
	pointer-events: auto;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	cursor: pointer;
	outline: none;
	background: #FFFFFF;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}

.l-body.is-menu-opend .menu-btn {
	background: none;
}

.l-body--home .menu-btn {
	opacity: 0;
}

.l-body--home .menu-btn.is-visible {
	opacity: 1;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s;
}

.menu-btn span {
	display: block;
	width: 30px;
	height: 1px;
	background: #000;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}

.menu-btn span:nth-child(1) {
	margin-top: -12px;
}

.menu-btn span:nth-child(3) {
	margin-top: 12px;
}

.l-body.is-menu-opend .menu-btn span {
	background: #FFFFFF;
}

.l-body.is-menu-opend .menu-btn span:nth-child(1) {
	margin-top: 0;
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	-ms-transform: translate(-50%, -50%) rotate(45deg);
	transform: translate(-50%, -50%) rotate(45deg);
}

.l-body.is-menu-opend .menu-btn span:nth-child(2) {
	opacity: 0;
}

.l-body.is-menu-opend .menu-btn span:nth-child(3) {
	margin-top: 0;
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	-ms-transform: translate(-50%, -50%) rotate(-45deg);
	transform: translate(-50%, -50%) rotate(-45deg);
}

/* NAVI */

.navi-logo {
	display: none;
}

.navi-logo__text {
	display: block;
	font-size: 1.7rem;
	letter-spacing: 0.14em;
	margin-bottom: 8px;
}

.navi-logo img {
	display: block;
}

.navi-logo__link {
	display: block;
}

.navi-movie__text {
	display: block;
	position: relative;
	padding: 15px 0;
}

.navi-movie__text.keyvisual {
	padding-top: 20px;
	border-top: 1px solid #fff;
}

.navi-movie__text::after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-top: 1px solid #FFFFFF;
	border-right: 1px solid #FFFFFF;
	-webkit-transform: rotate(45deg) translate(-50%, -50%);
	-ms-transform: rotate(45deg) translate(-50%, -50%);
	transform: rotate(45deg) translate(-50%, -50%);
	position: absolute;
	top: 50%;
	right: 7px;
}

.navi-movie__text.keyvisual::after {
	top: calc(50% + 5px);
}

.navi-movie__text__en {
	display: block;
	font: 600 italic 2.2rem "Roboto", sans-serif;
	letter-spacing: 0.05em;
	margin-bottom: 5px;
}

.navi-movie__text__jp {
	display: block;
	font-size: 1.3rem;
	letter-spacing: 0.2em;
}

.navi-movie__button {
	display: none;
}

.navi-link {
	font-size: 1.3rem;
	letter-spacing: 0.15em;
}

.navi-link::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 10px;
	margin: 0 7px 0 0;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
	background: url(../img/icon_triangle_white.svg) no-repeat center/contain;
}

.navi-sns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.navi-sns__item {
	margin: 0 0 0 15px;
}

.navi-sns__item svg {
	width: 20px;
}

.navi-sns__item .cls-1 {
	fill: #FFFFFF;
}

.navi-sns__item--twitter svg {
	width: 19px;
}

.navi-sns__item--instagram svg {
	width: 18px;
}

.navi-sns__item--youtube svg {
	width: 20px;
}

.navi-sns__item--line svg {
	width: 20px;
}

/* FOOTER */

.entrance {
	position: relative;
}

.entrance__image {
	position: absolute;
	top: 0;
	right: 0;
	width: calc(100% - 130px);
	height: 100%;
}

.entrance__image img {
	display: block;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	width: 100%;
	height: 100%;
}

.entrance__inner {
	position: relative;
	color: #FFFFFF;
	padding: 62px 40px 77px;
	background: -webkit-linear-gradient(349deg, #1f3b80 0%, #1f3b80 188px, rgba(255, 255, 255, 0) 188px, rgba(255, 255, 255, 0) 100%);
	background: -o-linear-gradient(349deg, #1f3b80 0%, #1f3b80 188px, rgba(255, 255, 255, 0) 188px, rgba(255, 255, 255, 0) 100%);
	background: linear-gradient(101deg, #1f3b80 0%, #1f3b80 188px, rgba(255, 255, 255, 0) 188px, rgba(255, 255, 255, 0) 100%);
}

.entrance__heading {
	letter-spacing: 0.2em;
	font-size: 1.9rem;
	font-weight: 300;
	margin-bottom: 10px;
}

.entrance__text {
	letter-spacing: 0.12em;
	font: 200 1rem "Roboto", sans-serif;
	line-height: 1.75;
	margin-bottom: 20px;
}

.entrance__button {
	width: 150px;
	height: 40px;
	border-top: 1px solid #FFFFFF;
	border-right: 1px solid #FFF100;
	border-bottom: 1px solid #FFF100;
	border-left: 1px solid #FFFFFF;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	background: #1f3b80;
	font: 300 1.3rem "Roboto", sans-serif;
	letter-spacing: 0.12em;
	position: relative;
	z-index: 2;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.entrance__button svg {
	width: 6px;
	position: absolute;
	top: 50%;
	right: 16px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.entrance__button polyline {
	fill: none;
	stroke: #FFFFFF;
	stroke-miterlimit: 10;
	stroke-width: 1px;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.entrance__button span {
	display: block;
}

.entrance__button span::before,
.entrance__button span::after {
	content: "";
	position: absolute;
	top: -1px;
	left: -1px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	z-index: 3;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.entrance__button span::before {
	-webkit-transform: scale(0);
	-ms-transform: scale(0);
	transform: scale(0);
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
	border-top: 1px solid #FFF100;
	border-left: 1px solid #FFF100;
}

.entrance__button span::after {
	-webkit-transform-origin: right bottom;
	-ms-transform-origin: right bottom;
	transform-origin: right bottom;
	border-right: 1px solid #FFFFFF;
	border-bottom: 1px solid #FFFFFF;
}

.footer-info {
	margin-bottom: 23px;
}

.footer-info__logo {
	width: 200px;
	height: 44px;
	margin: 0 auto;
	padding-right: 6vw;
}

.footer-info__logo a {
	display: block;
}

.footer-info__text {
	display: none;
}

.footer-link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.footer-link__item:not(:last-child) {
	margin-right: 2.5em;
}

.footer-link__item svg {
	margin-left: 4px;
	display: inline-block;
}

.footer-link__item path {
	fill: #666;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.footer-link__item polyline {
	fill: none;
	stroke: #666;
	stroke-miterlimit: 10;
	stroke-width: 0.5px;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.footer-sns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-bottom: 30px;
}

.footer-sns__item {
	margin: 0 10px;
}

.footer-sns__item .cls-1 {
	fill: #4d4d4d;
}

.copyright {
	text-align: center;
	font: 300 1.2rem "Roboto", sans-serif;
	letter-spacing: 0.05em;
}

/* PAGE common module */

.heading-1 {
	text-align: center;
	margin-bottom: 20px;
}

.heading-1__en {
	font: 300 italic 3rem "Roboto", sans-serif;
	display: block;
	margin-bottom: 5px;
}

.heading-1__jp {
	font-size: 1.2rem;
	letter-spacing: 0.1em;
}

.heading-2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.heading-2__number {
	font: 100 italic 5.22rem "Roboto", sans-serif;
	color: #1f3b80;
	padding-top: 4px;
	margin-right: 4px;
}

.heading-2__en {
	font: 300 italic 3.011rem "Roboto", sans-serif;
	margin-bottom: -2px;
	letter-spacing: 0.05em;
	display: block;
}

.heading-2__jp {
	font-size: 1.1rem;
	letter-spacing: 0.2em;
}

.heading-2--white {
	color: #FFFFFF;
}

.heading-2--white * {
	color: #FFFFFF;
}

.heading-3 {
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	position: relative;
	padding: 1.1em 0 1.2em 32px;
	line-height: 1.375;
	text-indent: -32px;
}

.heading-3::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 1px;
	background: #000;
	vertical-align: middle;
	margin: 0 12px 5px 0;
}

.heading-3 span {
	font: 300 italic 2.3rem "Roboto", sans-serif;
	letter-spacing: 0.05em;
	color: #1f3b80;
	margin-right: 10px;
}

.heading-3--sp-left {
	text-indent: -73px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.heading-3--sp-left::before {
	width: 34px;
}

.heading-3--sm {
	font-size: 1.5rem;
}

.heading-4 {
	text-align: center;
	color: #1f3b80;
	font-size: 1.6rem;
	letter-spacing: 0.14em;
	line-height: 1.4375;
	padding-bottom: 16px;
}

.heading-4--left {
	text-align: left;
}

.heading-4--medium {
	font-weight: 500;
}

.heading-5 {
	background: #1f3b80;
	color: #FFFFFF;
	padding: 14px 10px;
	line-height: 1.5;
	font-size: 1.5rem;
	position: relative;
	text-align: center;
	margin-bottom: 20px;
}

.heading-5:after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-top: 10px solid #1f3b80;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	position: absolute;
	top: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

.heading-6 {
	font: 300 italic 2.3rem "Roboto", sans-serif;
	color: #1f3b80;
	letter-spacing: 0.05em;
	position: relative;
	margin-left: -5.35vw;
	margin-bottom: 10px;
}

.heading-6:before {
	content: "";
	display: inline-block;
	width: 34px;
	height: 1px;
	background: #000;
	vertical-align: middle;
	margin: 0 8px 5px 0;
}

.heading-7 {
	color: #1f3b80;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	line-height: 1.3;
	margin-bottom: 6px;
}

.heading-8 {
	border: 1px solid #1f3b80;
	border-left: none;
	color: #1f3b80;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	margin-bottom: 20px;
	padding: 12px 10px 12px 0;
}

.heading-8--va-center {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.heading-8__number {
	font: 300 italic 3.3rem "Roboto", sans-serif;
	position: relative;
	padding-right: 7px;
	margin-right: 14px;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	line-height: 1;
}

.heading-8__number:after {
	content: "";
	display: block;
	width: 1px;
	height: 24px;
	background: #1f3b80;
	-webkit-transform: rotate(10deg);
	-ms-transform: rotate(10deg);
	transform: rotate(10deg);
	position: absolute;
	top: 4px;
	right: 0;
}

.heading-8__text {
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	line-height: 1.3;
}

.heading-8__text span {
	font-size: 1.3rem;
	display: block;
	margin-top: 4px;
}

.heading-9 {
	position: relative;
	color: #FFFFFF;
	padding: 12px 0 13px;
	font-size: 1.5rem;
	margin-bottom: 20px;
}

.heading-9:before {
	content: "";
	display: block;
	width: 107.7%;
	left: -7.7%;
	height: 100%;
	top: 0;
	background: #1f3b80;
	position: absolute;
}

.heading-9 span {
	position: relative;
}

.heading-10 {
	font-size: 1.5rem;
	line-height: 1.2;
	color: #1f3b80;
	text-align: center;
	margin-bottom: 12px;
}

.heading-10 span {
	position: relative;
	display: inline-block;
	padding: 12px 1em 0;
	border-top: 4px solid #1f3b80;
}

.heading-10--left {
	text-align: left;
}

.heading-11 {
	font-size: 1.5rem;
	letter-spacing: 0.2em;
	position: relative;
	padding: 1.1em 0 1.2em 0;
	line-height: 1.375;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.heading-11::before {
	content: "";
	display: block;
	width: 34px;
	height: 1px;
	background: #000;
	position: absolute;
	top: 50%;
	left: -41px;
	margin-top: -2px;
}

.heading-11__en {
	font: 300 italic 2.3rem "Roboto", sans-serif;
	letter-spacing: 0.05em;
	color: #1f3b80;
	margin-right: 10px;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.heading-12 {
	font-size: 1.5rem;
	color: #FFFFFF;
	padding: 11px 4.3% 10px;
	line-height: 1.15;
	margin-bottom: 10px;
}

.heading-12 span {
	font-size: 1.4rem;
}

.heading-12--science {
	background: #05A4CE;
}

.heading-12--architecture {
	background: #C7A536;
}

.heading-12--policy {
	background: #B26118;
}

.heading-12--center {
	text-align: center;
}

.heading-13 {
	color: #1f3b80;
	font-size: 1.5rem;
	line-height: 1.5;
	padding-bottom: 2px;
	border-bottom: 1px solid #1f3b80;
	padding-bottom: 8px;
	margin-bottom: 6px;
}

.heading-13--tile {
	border-bottom: none;
	padding-bottom: 4px;
}

.heading-13--brown {
	color: #986649;
}

.heading-13--brown span {
	background: #986649;
	color: #FFFFFF;
	padding: 3px 8px;
	margin-right: 10px;
	display: inline-block;
	font-size: 1.3rem;
}

.button-1 {
	width: 282px;
	height: 39px;
	border-top: 1px solid #808080;
	border-right: 1px solid #1f3b80;
	border-bottom: 1px solid #1f3b80;
	border-left: 1px solid #808080;
	margin-left: auto;
	margin-right: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	background: #FFFFFF;
	font: 300 1.3rem "Roboto", sans-serif;
	letter-spacing: 0.12em;
	position: relative;
	z-index: 2;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.button-1::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border-right: 1px solid #808080;
	border-bottom: 1px solid #808080;
	-webkit-transform: translate(4px, 4px);
	-ms-transform: translate(4px, 4px);
	transform: translate(4px, 4px);
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.button-1 svg {
	width: 6px;
	position: absolute;
	top: 50%;
	right: 16px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.button-1 polyline {
	fill: none;
	stroke: #808080;
	stroke-miterlimit: 10;
	stroke-width: 1px;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.button-1[target="_blank"] svg {
	width: 10px;
}

.button-1[target="_blank"] .cls-1 {
	fill: none;
	stroke: #808080;
	stroke-miterlimit: 10;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.button-1[target="_blank"] .cls-2 {
	fill: #808080;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.button-1--return {
	width: 100%;
	height: 53px;
}

.button-1--return svg {
	right: auto;
	left: 16px;
}

.button-1--return .cls-1 {
	fill: none;
	stroke: gray;
	stroke-miterlimit: 10;
}

.button-1 span {
	display: block;
}

.button-1 span::before,
.button-1 span::after {
	content: "";
	position: absolute;
	top: -1px;
	left: -1px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	z-index: 3;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.button-1 span::before {
	-webkit-transform: scale(0);
	-ms-transform: scale(0);
	transform: scale(0);
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
	border-top: 1px solid #1f3b80;
	border-left: 1px solid #1f3b80;
}

.button-1 span::after {
	-webkit-transform-origin: right bottom;
	-ms-transform-origin: right bottom;
	transform-origin: right bottom;
	border-right: 1px solid #808080;
	border-bottom: 1px solid #808080;
}

.button-1--lg {
	width: 100%;
	height: 51px;
}

.button-1--lg--disabled{
  pointer-events: none;
  border-top: 1px solid #e6e6e6 !important;
  border-left: 1px solid #e6e6e6 !important;
}

.button-1--lg--disabled span{
  color: #ccc !important;
}

.button-1--lg--disabled::after{
  border-right: 1px solid #e6e6e6 !important;
  border-bottom: 1px solid #e6e6e6 !important;
}

.button-1--lg--disabled span::after{
  border-right: 1px solid #e6e6e6 !important;
  border-bottom: 1px solid #e6e6e6 !important;
}


.button-1--ex::before {
	content: "";
	width: 10px;
	height: 8px;
	display: block;
	background: url(../img/icon_ex.svg) no-repeat center/contain;
	position: absolute;
	top: 50%;
	right: 20px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.button-2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	border: 1px solid #1f3b80;
	background: -webkit-linear-gradient(325deg, #1f3b80 0%, #1f3b80 50%, #FFF100 50%, #FFF100 100%) no-repeat right top/220% 100%;
	background: -o-linear-gradient(325deg, #1f3b80 0%, #1f3b80 50%, #FFF100 50%, #FFF100 100%) no-repeat right top/220% 100%;
	background: linear-gradient(125deg, #1f3b80 0%, #1f3b80 50%, #FFF100 50%, #FFF100 100%) no-repeat right top/220% 100%;
	color: #1f3b80;
	font-size: 1.3rem;
	font-weight: 300;
	letter-spacing: 0.12em;
	height: 40px;
	padding: 0 18px;
}

.button-2 svg {
	width: 6px;
	margin-left: 20px;
}

.button-2 polyline {
	fill: none;
	stroke: #000;
	stroke-miterlimit: 10;
	stroke-width: 1px;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.page-head {
	color: #FFFFFF;
	background-position: center;
	background-size: cover;
	text-align: center;
	height: 180px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.page-head--concept {
	background-image: url(/concept/img/ph_mv_sp.jpg);
}

.page-head--topics {
	background-image: url(/topics/img/ph_mv_sp.jpg);
}

.page-head--research {
	background-image: url(/research/img/ph_mv_sp.jpg);
	color: #000;
}

.page-head--sustainable {
	background-image: url(/features/img/ph_mv_sustainable_sp.jpg);
}

.page-head--entrepreneur {
	background-image: url(/features/img/ph_mv_entrepreneur_sp.jpg);
}

.page-head--international {
	background-image: url(/features/img/ph_mv_international_sp.jpg);
}

.page-head--exam {
	background-image: url(/exam/img/ph_mv_exam_sp.jpg);
}

.page-head--camping {
}

.page-head--cross {
	background-image: url(/features/img/ph_mv_cross_sp.jpg);
}

.page-head__en {
	font: 300 italic 1.8rem "Roboto", sans-serif;
	letter-spacing: 0.05em;
	display: block;
	margin-bottom: 3px;
}

.page-head__jp {
	font-weight: 300;
	font-size: 2.0rem;
	letter-spacing: 0.2em;
}

.breadcrumb {
	white-space: nowrap;
	overflow: hidden;
	-o-text-overflow: ellipsis;
	text-overflow: ellipsis;
	font-size: 1.1rem;
	text-align: right;
	padding: 1.3em 0;
	margin-bottom: 15px;
}

.breadcrumb__item {
	display: inline;
}

.breadcrumb__item:not(:last-child)::after {
	content: " ／ ";
}

.breadcrumb__item a {
	display: inline-block;
}

.text {
	line-height: 2;
	text-align: justify;
}

.text p:not(:last-child) {
	margin-bottom: 2em;
}

.link {
	font: 300 1.3rem "Roboto", sans-serif;
	display: inline-block;
	position: relative;
	padding: 0.2em 0 0.2em 0;
	letter-spacing: 0.12em;
	line-height: 1;
}

.link--jp {
	font-size: 1.2rem;
	font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif;
}

.link::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
	background: -webkit-gradient(linear, left top, right top, from(#1f3b80), color-stop(50%, #1f3b80), color-stop(50%, #808080), to(#808080)) no-repeat right top/200% 100%;
	background: -webkit-linear-gradient(left, #1f3b80 0%, #1f3b80 50%, #808080 50%, #808080 100%) no-repeat right top/200% 100%;
	background: -o-linear-gradient(left, #1f3b80 0%, #1f3b80 50%, #808080 50%, #808080 100%) no-repeat right top/200% 100%;
	background: linear-gradient(to right, #1f3b80 0%, #1f3b80 50%, #808080 50%, #808080 100%) no-repeat right top/200% 100%;
}

.link svg {
	width: 6px;
	margin: 0 10px 3px 25px;
	vertical-align: middle;
}

.link polyline {
	fill: none;
	stroke: #808080;
	stroke-miterlimit: 10;
	stroke-width: 1px;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.scrollin,
.scrollins__item {
	opacity: 0;
	-webkit-transform: translate(0, 50px);
	-ms-transform: translate(0, 50px);
	transform: translate(0, 50px);
}

.scrollin.is-visible,
.scrollins__item.is-visible {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	transform: translate(0, 0);
	-webkit-transition: 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	-o-transition: 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition: 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lead {
	padding-bottom: 20px;
}

.lead::before,
.lead::after {
	content: "";
	display: table;
}

.lead::after {
	clear: both;
}

.lead__logo {
	max-width: 309px;
	margin: 0 auto 17px;
}

.lead__logo img {
	width: 100%;
}

.lead__image {
	width: 100vw;
	position: relative;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	margin-bottom: 10px;
}

.lead__image img {
	display: block;
}

.lead__text {
	line-height: 1.98;
	text-align: justify;
}

.lead__text--lg {
	max-width: 100% !important;
	width: 100% !important;
}

.lead__text p:not(:last-child) {
	margin-bottom: 1.98em;
}

.bg-blue {
	background: #EEF2F4;
	padding: 50px 20px 20px;
}

/* Library */

/* Slider */

.slick-slider {
	position: relative;
	display: block;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.slick-list {
	position: relative;
	overflow: hidden;
	display: block;
	margin: 0;
	padding: 0;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	left: 0;
	top: 0;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.slick-track::before,
.slick-track::after {
	content: "";
	display: table;
}

.slick-track::after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	float: left;
	height: 100%;
	min-height: 1px;
	outline: none !important;
	display: none;
}

[dir="rtl"] .slick-slide {
	float: right;
}

.slick-slide img {
	display: block;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}

.slick-slide:focus {
	outline: none;
}

.slick-arrow.slick-hidden {
	display: none;
}

@media screen and (min-width: 1091px) and (max-width: 1279px) {

.d-md-none { /* md */
	display: none !important;
}

.ta-md-center { /* md */
	text-align: center;
}

}

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

.l-body { /* md */
	padding-bottom: 0;
}

.l-header__inner { /* md */
	background: none;
	position: absolute;
	bottom: auto;
	top: 0;
	height: 110px;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	padding-left: 25px;
	z-index: auto;
}

.l-footer { /* md */
	padding: 43px 50px 30px;
}

.l-footer__main { /* md */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.l-footer__sub { /* md */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}

.l-wrapper--lg { /* md */
	width: 89.3%;
}

.l-wrapper--pc-none { /* md */
	width: 100%;
}

.l-wrapper-inner { /* md */
	max-width: 1070px;
	width: 94.65%;
}

.l-wrapper-md { /* md */
	max-width: 840px;
}

.l-pc-wrapper { /* md */
	width: 89.3%;
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.l-navi__inner { /* md */
	height: 100%;
	padding: 30px 110px;
}

.l-main { /* md */
	margin-top: -150px;
	margin-bottom: 110px;
}

.l-pc-white { /* md */
	position: relative;
	background: #FFFFFF;
}

.l-pc-white::before {
	content: "";
	display: block;
	width: calc(50vw + 590px);
	height: 100%;
	background: #FFFFFF;
	position: absolute;
	top: 0;
	right: 0;
}

.l-pc-white > * {
	position: relative;
}

.l-pc-white--pb {
	padding-bottom: 100px;
}

.l-pc-white--pt {
	padding-top: 100px;
}

.l-pc-white--pb-sm {
	padding-bottom: 70px;
}

.l-pc-white--pt-sm {
	padding-top: 50px;
}

.l-pc-gray { /* md */
	position: relative;
	padding-left: 5.2%;
}

.l-pc-gray::before {
	content: "";
	display: block;
	width: calc(50vw - 50%);
	height: 100%;
	background: #FFFFFF;
	position: absolute;
	top: 0;
	right: 100%;
}

.l-pc-gray > * {
	position: relative;
}

.header-logo { /* md */
	color: #FFFFFF;
	width: auto;
}

.header-logo--black { /* md */
	color: #000;
}

.header-logo__logo { /* md */
	width: 128px;
	margin-right: 26px;
}

.header-logo__logo img { /* md */
	opacity: 0;
}

.header-logo__title { /* md */
	-webkit-transform: scale(0.85);
	-ms-transform: scale(0.85);
	transform: scale(0.85);
}

.header-logo__title span { /* md */
}

.header-univ-logo { /* md */
	top: 0;
	right: calc((100vw - (100vw * 0.893))/2);
	width: 200px;
	height: calc((100vw - (100vw * 0.893))/2 - 1px);
	background: url(../img/logo_univ_blue.svg) no-repeat center center/160px auto, #FFFFFF;
}

.header-univ-logo--transparent {
  background: url(../img/logo_univ_white.svg) no-repeat center center/160px auto, none !important;
	background-color: rgba(255, 255, 255, 0);
}

.header-univ-logo img { /* md */
	opacity: 0;
	width: 177px;
}

.navi__feature__item a { /* md */
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.navi__feature__item a:hover {
	color: #fff100;
	background: none;
}

.menu-btn { /* md */
	width: calc((100vw - (100vw * 0.893))/2 - 1px);
	height: calc((100vw - (100vw * 0.893))/2 - 1px);
	background: #FFFFFF;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 6000;
}

.menu-btn--transparent {
	border-left: 1px solid #FFFFFF;
	margin-left: 0;
	background: none;
}

.menu-btn--transparent span {
	background: #FFFFFF;
}

.l-body.is-menu-opend .menu-btn {
	border-left: none;
}

.menu-btn span { /* md */
	width: 40%;
}

.menu-btn span:nth-child(1) { /* md */
	margin-top: -12px;
}

.menu-btn span:nth-child(3) { /* md */
	margin-top: 12px;
}

.navi-link::before { /* md */
	margin-right: 12px;
}

.navi-link { /* md */
	font-size: 1.664rem;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.navi-link:hover {
	color: #fff100;
}

.navi-link:hover::before {
	background: url(../img/icon_triangle_yellow.svg) no-repeat center/contain;
}

.entrance__image { /* md */
	width: 72vw;
}

.entrance__inner { /* md */
	padding: 70px 5.35vw 85px;
	background: -webkit-linear-gradient(335deg, #1f3b80 0%, #1f3b80 45vw, rgba(255, 255, 255, 0) 45vw, rgba(255, 255, 255, 0) 100%);
	background: -o-linear-gradient(335deg, #1f3b80 0%, #1f3b80 45vw, rgba(255, 255, 255, 0) 45vw, rgba(255, 255, 255, 0) 100%);
	background: linear-gradient(115deg, #1f3b80 0%, #1f3b80 45vw, rgba(255, 255, 255, 0) 45vw, rgba(255, 255, 255, 0) 100%);
}

.entrance__heading { /* md */
	font-size: 2.6rem;
	margin-bottom: 16px;
}

.entrance__text { /* md */
	font-size: 1.3rem;
}

.entrance__button { /* md */
	font-size: 1.6rem;
	width: 190px;
}

.entrance__button:hover {
	color: #FFF100;
}

.entrance__button:hover::after {
	-webkit-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	transform: translate(0, 0);
	opacity: 0;
}

.entrance__button:hover polyline {
	stroke: #FFF100;
}

.entrance__button:hover span::before {
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
	-webkit-transition-delay: 0s;
	-o-transition-delay: 0s;
	transition-delay: 0s;
}

.entrance__button:hover span::after {
	-webkit-transform: scale(0);
	-ms-transform: scale(0);
	transform: scale(0);
	-webkit-transition-delay: .4s;
	-o-transition-delay: .4s;
	transition-delay: .4s;
}

.entrance__button::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border-right: 1px solid #FFFFFF;
	border-bottom: 1px solid #FFFFFF;
	-webkit-transform: translate(4px, 4px);
	-ms-transform: translate(4px, 4px);
	transform: translate(4px, 4px);
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.entrance__button span::before { /* md */
	-webkit-transition-delay: .4s;
	-o-transition-delay: .4s;
	transition-delay: .4s;
}

.footer-info { /* md */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 0;
}

.footer-info__logo { /* md */
	width: 225px;
	padding-right: 0;
	margin-right: 42px;
}

.footer-info__logo img {
	width: 100%;
	display: block;
}

.footer-link { /* md */
	padding-top: 8px;
}

.footer-link__item a { /* md */
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.footer-link__item a:hover {
	color: #1f3b80;
}

.footer-link__item a:hover path {
	fill: #1f3b80;
}

.footer-link__item a:hover polyline {
	stroke: #1f3b80;
}

.footer-sns { /* md */
	margin-bottom: 0;
}

.footer-sns__item { /* md */
	margin: 0 0 0 20px;
}

.footer-sns__item a { /* md */
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.footer-sns__item a:hover {
	color: #1f3b80;
}

.footer-sns__item a:hover .cls-1 {
	fill: #1f3b80;
}

.footer-sns__item .cls-1 { /* md */
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.heading-1 { /* md */
	margin-bottom: 44px;
}

.heading-1__en { /* md */
	font-size: 5.784rem;
}

.heading-1__jp { /* md */
	font-size: 1.4rem;
}

.heading-2--pc-center { /* md */
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.heading-2__number { /* md */
	font-size: 10.0rem;
	margin-right: 18px;
}

.heading-2__en { /* md */
	font-size: 5.784rem;
}

.heading-2__jp { /* md */
	font-size: 1.928rem;
}

.heading-3 { /* md */
	font-size: 2.1rem;
	padding: 2.3em 0 2.5em 66px;
	text-indent: -66px;
}

.heading-3::before { /* md */
	width: 50px;
	margin-right: 16px;
}

.heading-3 span { /* md */
	font-size: 3.6rem;
}

.heading-3--sm { /* md */
	font-size: 2rem;
}

.heading-4 { /* md */
	font-size: 2.3rem;
	line-height: 1.7;
	letter-spacing: 0.15em;
	padding-bottom: 46px;
}

.heading-5 { /* md */
	font-size: 2.0rem;
	letter-spacing: 0.1em;
	padding: 20px 10px;
	margin-bottom: 65px;
}

.heading-5:after { /* md */
	border-top: 20px solid #1f3b80;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
}

.heading-6 { /* md */
	margin-left: 0;
	font-size: 3.4rem;
	margin-bottom: 32px;
}

.heading-6:before { /* md */
	width: 50px;
	margin-right: 16px;
}

.heading-7 { /* md */
	font-size: 1.8rem;
	line-height: 1.7;
	letter-spacing: 0;
	margin-bottom: 16px;
}

.heading-8 { /* md */
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding-bottom: 11px;
	margin-bottom: 40px;
}

.heading-8__number { /* md */
	font-size: 7.0rem;
	margin-right: 20px;
	padding-right: 37px;
	margin-right: 40px;
}

.heading-8__number:after { /* md */
	height: 50px;
	top: 9px;
}

.heading-8__text { /* md */
	font-size: 2.0rem;
}

.heading-8__text span { /* md */
	display: inline;
	font-size: 1.5rem;
}

.heading-9 { /* md */
	font-size: 1.8rem;
	padding: 10px 0 12px;
	letter-spacing: 0.1em;
}

.heading-9--right { /* md */
	padding-left: 15px;
}

.heading-9--right:before {
	left: 0%;
}

.heading-9--half { /* md */
}

.heading-9--half:before {
	left: -10%;
	width: 110%;
}

.heading-10 { /* md */
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	margin-bottom: 32px;
}

.heading-10 span { /* md */
	padding: 34px 0.4em 0;
}

.heading-10--left { /* md */
	line-height: 1.8;
	margin-bottom: 17px;
}

.heading-11 { /* md */
	font-size: 2rem;
	padding: 2.3em 0 2.5em 66px;
}

.heading-11::before { /* md */
	width: 50px;
	left: 0;
	margin-right: 16px;
}

.heading-11__en { /* md */
	margin-right: 18px;
	font-size: 3.6rem;
}

.heading-12 { /* md */
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	padding: 14px 2% 15px;
	margin-bottom: 18px;
}

.heading-12 span { /* md */
	font-size: inherit;
}

.heading-13 { /* md */
	font-size: 1.8rem;
	padding-bottom: 11px;
	margin-bottom: 12px;
}

.heading-13--tile { /* md */
	padding-bottom: 0;
	margin-bottom: 8px;
}

.heading-13--brown span { /* md */
	padding: 4px 10px;
	font-size: 1.5rem;
	margin-right: 12px;
}

.button-1 { /* md */
	font-size: 1.6rem;
}

.button-1[target="_blank"] { /* md */
}

.button-1[target="_blank"]:hover .cls-1 {
	stroke: #1f3b80;
}

.button-1[target="_blank"]:hover .cls-2 {
	fill: #1f3b80;
}

.button-1--return { /* md */
	font-size: 1.3rem;
}

.button-1 { /* md */
	width: 280px;
	height: 60px;
}

.button-1:hover {
	color: #1f3b80;
}

.button-1:hover::after {
	-webkit-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	transform: translate(0, 0);
	opacity: 0;
}

.button-1:hover polyline {
	stroke: #1f3b80;
}

.button-1:hover span::before {
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
	-webkit-transition-delay: 0s;
	-o-transition-delay: 0s;
	transition-delay: 0s;
}

.button-1:hover span::after {
	-webkit-transform: scale(0);
	-ms-transform: scale(0);
	transform: scale(0);
	-webkit-transition-delay: .4s;
	-o-transition-delay: .4s;
	transition-delay: .4s;
}

.button-1 span::before { /* md */
	-webkit-transition-delay: .4s;
	-o-transition-delay: .4s;
	transition-delay: .4s;
}

.button-1--lg { /* md */
	width: 100%;
	font-size: 1.3rem;
}

.button-1--lg300 { /* md */
	max-width: 300px;
}

.button-2 { /* md */
	font-size: 1.6rem;
	padding-bottom: 3px;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.button-2:hover {
	background-position: left top;
	color: #FFF100;
}

.button-2:hover polyline {
	stroke: #FFF100;
}

.button-2 svg { /* md */
	margin-left: 16px;
}

.page-head { /* md */
	height: 600px;
	padding-top: 0;
	padding-bottom: 125px;
}

.page-head--concept { /* md */
	background-image: url(/concept/img/ph_mv_pc.jpg);
}

.page-head--topics { /* md */
	background-image: url(/topics/img/ph_mv_pc.jpg);
}

.page-head--research { /* md */
	background-image: url(/research/img/ph_mv_pc.jpg);
}

.page-head--sustainable { /* md */
	background-image: url(/features/img/ph_mv_sustainable_pc.jpg);
}

.page-head--entrepreneur { /* md */
	background-image: url(/features/img/ph_mv_entrepreneur_pc.jpg);
}

.page-head--international { /* md */
	background-image: url(/features/img/ph_mv_international_pc.jpg);
}
	
	.page-head--exam { /* md */
	background-image: url(/exam/img/ph_mv_exam_pc.jpg);
}

.page-head--camping { /* md */
}

.page-head--cross { /* md */
	background-image: url(/features/img/ph_mv_cross_pc.jpg);
}

.page-head__en { /* md */
	font-size: 2.5rem;
}

.page-head__jp { /* md */
	font-size: 3.0rem;
}

.breadcrumb { /* md */
	font-size: 1.2rem;
	padding: 3.3em 5%;
	margin-bottom: 60px;
}

.breadcrumb__item a { /* md */
}

.breadcrumb__item a:hover {
	text-decoration: underline;
}

.text a { /* md */
}

.text a:hover {
	text-decoration: underline;
}

.link { /* md */
	font-size: 1.6rem;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.link:hover {
	color: #1f3b80;
}

.link:hover::after {
	background-position: left top;
}

.link:hover polyline {
	stroke: #1f3b80;
}

.link--jp { /* md */
	font-size: 1.4rem;
}

.lead { /* md */
}

.lead:not(:last-child) {
	padding-bottom: 53px;
}

.lead--pb { /* md */
	padding-bottom: 50px;
}

.lead__logo { /* md */
	max-width: 492px;
	margin-bottom: 60px;
}

.lead__heading { /* md */
	width: 45.3%;
	float: left;
	margin-top: -10px;
	letter-spacing: 0.1em;
	padding-bottom: 36px;
}

.lead__heading--lg {
	width: 100%;
}

.lead__image { /* md */
	width: 49.15%;
	float: right;
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	transform: translateX(0);
	left: 0;
	margin-bottom: 20px;
	margin-left: 5.5%;
}

.lead__text { /* md */
	clear: left;
	line-height: 2.02;
	max-width: 580px;
}

.lead__text p:not(:last-child) { /* md */
	margin-bottom: 2.02em;
}

.bg-blue { /* md */
	padding: 60px 5% 40px;
}

}

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

.header-logo--black .header-logo__logo img { /* md */
	opacity: 1;
}

}

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

.l-navi { /* pc menu */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: 100%;
	overflow: auto;
}

.l-navi__inner { /* pc menu */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
	height: auto;
	padding: 30px 0;
}

.l-navi__head { /* pc menu */
	border-bottom: none;
	padding-bottom: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding-left: 30px;
	padding-right: 30px;
	width: 365px;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.l-navi__main { /* pc menu */
	border-left: 1px solid #FFFFFF;
	padding-left: 30px;
	padding-right: 30px;
	max-width: 100%;
}

.l-navi__sub { /* pc menu */
	border-top: none;
	padding: 0;
	display: block;
}

.navi { /* pc menu */
	padding: 26px 0 35px;
}

.navi__item:not(:last-child) { /* pc menu */
	margin-bottom: 40px;
}

.navi__heading { /* pc menu */
}

.navi__heading__en { /* pc menu */
	font-size: 3.7rem;
}

.navi__heading__jp { /* pc menu */
	font-size: 1.6rem;
	margin-left: 19px;
	padding-left: 24px;
}

.navi__detail { /* pc menu */
	padding: 8px 0 0 3px;
}

.navi__child { /* pc menu */
	margin-right: 2em;
}

.navi__feature { /* pc menu */
	margin-top: 17px;
}

.navi__feature__heading { /* pc menu */
	font-size: 1.6rem;
	margin-bottom: 12px;
}

.navi__feature__heading span { /* pc menu */
	font-size: 1.8rem;
}

.navi-logo { /* pc menu */
	display: block;
}

.navi-logo__text { /* pc menu */
	margin-bottom: 20px;
}

.navi-logo img { /* pc menu */
	width: 294px;
}

.navi-movie__text { /* pc menu */
	margin-bottom: 17px;
}
	
.navi-movie__text.keyvisual {
	display: none;
}

.navi-movie__text::after { /* pc menu */
	content: none;
}

.navi-movie__text__en { /* pc menu */
	font-size: 3.1rem;
}

.navi-movie__text__jp { /* pc menu */
	font-size: 1.5rem;
}

.navi-movie__button { /* pc menu */
	margin: 0 0 14px 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 295px;
	height: 45px;
	border: 1px solid #FFFFFF;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.navi-movie__button::after {
	content: "";
	width: 16px;
	height: 16px;
	opacity: 0.8;
	margin-left: 10px;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
	background: url(../img/icon_link_white.svg) no-repeat center/contain;
}

.navi-movie__button:hover {
	border-color: #fff100;
	color: #fff100;
}

.navi-movie__button:hover::after {
	background: url(../img/icon_link_yellow.svg) no-repeat center/contain;
}

.navi-sns { /* pc menu */
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	margin-top: 40px;
}

.navi-sns__item { /* pc menu */
	margin: 0 25px 0 0;
}

.navi-sns__item a { /* pc menu */
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.navi-sns__item a:hover {
	color: #fff100;
}

.navi-sns__item a:hover .cls-1 {
	fill: #fff100;
}

.navi-sns__item .cls-1 { /* pc menu */
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.navi-sns__item--twitter svg { /* pc menu */
	width: 26px;
}

.navi-sns__item--instagram svg { /* pc menu */
	width: 24px;
}

.navi-sns__item--youtube svg { /* pc menu */
	width: 28px;
}

.navi-sns__item--line svg { /* pc menu */
	width: 27px;
}

}

@media screen and (min-width: 1091px) and (max-height: 570px) {

.l-navi { /* pc 縦570px以下 */
	display: block;
}

.l-navi__inner { /* pc 縦570px以下 */
	margin-left: auto;
	margin-right: auto;
}

}

@media screen and (min-width: 1091px) and (max-height: 730px) {

.l-navi__sub { /* pc 縦730px以下 */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.navi { /* pc 縦730px以下 */
	padding: 15px 0;
}

.navi__item:not(:last-child) { /* pc 縦730px以下 */
	margin-bottom: 30px !important;
}

.navi-sns { /* pc 縦730px以下 */
	margin-top: 0;
}

}

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

.heading-9--half { /* md2 */
}

.heading-9--half:before {
	left: -17%;
	width: 117%;
}

.lead__image { /* md2 */
	margin-bottom: 0;
}

.lead__text { /* md2 */
	width: 45.3%;
}

}

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

.d-lg-none { /* lg */
	display: none !important;
}

.ta-lg-center { /* lg */
	text-align: center;
}

.l-header__inner { /* lg */
	padding-left: 52px;
}

.l-wrapper { /* lg */
	max-width: 1180px;
}

.l-wrapper--pc-none { /* lg */
	max-width: 100%;
}

.l-navi__head { /* lg */
	padding-left: 0;
	padding-right: 0;
	width: auto;
}

.l-navi__main { /* lg */
	padding-left: 6.6vw;
	padding-right: 0;
	margin-left: 6vw;
	width: auto;
}

.l-pc-white { /* lg */
}

.l-pc-white::before {
	width: calc(50vw + 590px);
}

.l-pc-gray { /* lg */
}

.header-logo__logo { /* lg */
	width: 128px;
	margin-right: 26px;
}

.header-logo__title { /* lg */
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
}

.navi__item:not(:last-child) { /* lg */
	margin-bottom: 65px;
}

.entrance__inner { /* lg */
	padding: 70px 11.5vw 85px;
	background: -webkit-linear-gradient(324deg, #1f3b80 0%, #1f3b80 35.5vw, rgba(255, 255, 255, 0) 35.5vw, rgba(255, 255, 255, 0) 100%);
	background: -o-linear-gradient(324deg, #1f3b80 0%, #1f3b80 35.5vw, rgba(255, 255, 255, 0) 35.5vw, rgba(255, 255, 255, 0) 100%);
	background: linear-gradient(126deg, #1f3b80 0%, #1f3b80 35.5vw, rgba(255, 255, 255, 0) 35.5vw, rgba(255, 255, 255, 0) 100%);
}

.footer-info__text { /* lg */
	display: block;
	font-size: 1.2rem;
	border-left: 1px solid #C2C2C2;
	padding: 7px 0 7px 40px;
	line-height: 1.9;
}

.lead__text { /* lg */
	max-width: 100%;
}

.bg-blue { /* lg */
	padding: 80px 55px 60px;
}

}

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

.d-sm-none { /* sm */
	display: none !important;
}

.ta-sm-center { /* sm */
	text-align: center;
}

.l-sp-wide-wrapper { /* sm */
	width: 100vw;
	position: relative;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

.l-sp-bottom-white-line { /* sm */
}

.l-sp-bottom-white-line:after {
	content: "";
	display: block;
	width: 100vw;
	height: 45px;
	background: #FFFFFF;
	position: relative;
	left: -10.666666vw;
	z-index: 1;
}

.l-sp-bottom-white-line--bg-gray:after {
	left: -5.333333vw;
}

.l-sp-top-white-line { /* sm */
	padding-top: 20px;
}

.l-sp-top-white-line:after {
	content: "";
	display: block;
	width: 100vw;
	height: 20px;
	background: #FFFFFF;
	position: absolute;
	top: 0;
	left: 0;
}

.l-sp-white { /* sm */
	position: relative;
}

.l-sp-white::before {
	content: "";
	display: block;
	width: 100vw;
	height: 100%;
	background: #FFFFFF;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

.l-sp-white > * {
	position: relative;
}

.l-sp-white--pt {
	padding-top: 20px;
}

.l-sp-white--pb {
	padding-bottom: 20px;
}

.l-sp-gray { /* sm */
	position: relative;
	padding-left: 6.2%;
}

.l-sp-gray::before {
	content: "";
	display: block;
	width: calc(50vw - 50%);
	height: 100%;
	background: #FFFFFF;
	position: absolute;
	top: 0;
	right: 100%;
}

.l-sp-gray > * {
	position: relative;
}

.l-sp-blue { /* sm */
	position: relative;
}

.l-sp-blue::before {
	content: "";
	display: block;
	width: 100vw;
	height: 100%;
	background: #EEF2F4;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 0;
}

.l-sp-blue > * {
	position: relative;
	z-index: 3;
}

.header-univ-logo { /* sm */
	display: none;
}

.l-body--home .header-univ-logo {
	display: block;
}

.lg-content { /* sm */
	position: relative;
	width: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	overflow-x: auto;
}

.lg-content__inner {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}

.lg-content::after {
	content: "";
	display: block;
	width: 130px;
	height: 102px;
	background: url(../img/img_scroll.png) no-repeat center/contain;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	opacity: 0;
	pointer-events: none;
}

.lg-content.is-announce::after {
	-webkit-animation: scrollAnnounce 3s forwards;
	animation: scrollAnnounce 3s forwards;
}

.bg-blue-sp { /* sm */
	background: #EEF2F4;
	padding: 20px;
}

}

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

.navi-movie__text__en { /* iPhone5s */
	font-size: 2.0rem;
}

}

@media screen and (min-width: 1323px) {
.menu-btn {
	width: calc((100vw - 1180px)/2 - 1px);
	height: calc((100vw - 1180px)/2 - 1px);
}
.header-univ-logo { /* lg */
	width: 225px;
	height: calc((100vw - 1180px)/2 - 1px);
	background-size: 177px auto;
	background-position: 35px ​30px;
	right: calc((100vw - 1180px)/2);
}

}

@media screen and (min-width: 1402px) {
.menu-btn {
	width: 110px;
	height: 110px;
}
.menu-btn span {
	width: 40px;
	height: 1px;
}
.menu-btn span:nth-child(1) {
	margin-top: -16px;
}
.menu-btn span:nth-child(3) {
	margin-top: 16px;
}
.header-univ-logo { /* lg */
	width: 250px;
	height: 110px;
	right: 111px;
}

}


@-webkit-keyframes scrollAnnounce {

0 {
	opacity: 0;
}

20% {
	opacity: 1;
}

80% {
	opacity: 1;
}

100% {
	opacity: 0;
}

}

@keyframes scrollAnnounce {

0 {
	opacity: 0;
}

20% {
	opacity: 1;
}

80% {
	opacity: 1;
}

100% {
	opacity: 0;
}

}

