@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexAround,.flexBetween,.flexCenter {display: flex;flex-wrap: wrap;}
.flexAround {justify-content: space-around;}
.flexBetween {justify-content: space-between;}
.flexCenter {justify-content: center;}
.en {
	font-weight: 600;
	font-family: "Montserrat", sans-serif;
}
.mic {
	font-weight: 400;
	font-family: "Michroma", sans-serif;
}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	padding: 0 2rem;
	margin: 0 auto;
	max-width: 122rem;
}
@media all and (max-width: 896px) {
	.content {
		max-width: 100% !important;
	}
}
/*------------------------------------------------------------
	comNaviBox
------------------------------------------------------------*/
.comNaviBox ul {
	gap: 3rem;
	align-items: center;
	font-family: "Montserrat", sans-serif;
}
.comNaviBox a {
	font-size: 1.4rem;
	font-weight: 400;
	color: #FEFEFE;
	display: inline-block;
}
.comNaviBox .contact a {
	padding-top: 0.2rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	min-height: 4rem;
	background-color: #FEFEFE;
	border-radius: 2rem;
	text-align: center;
	width: 10rem;
	color: #232323;
}
.comNaviBox a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	.comNaviBox ul {
		display: block;
	}
	.comNaviBox a {
		padding: 2.5rem 0;
		font-size: 2.4rem;
		display: block;
		border-bottom: 1px solid #FEFEFE;
	}
	.comNaviBox li:nth-last-child(2) a {
		border-bottom: 0;
	}
	.comNaviBox .contact a {
		padding: 1rem 0.5rem;
		margin: 3.5rem auto 0;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		min-height: 6rem;
		background-color: #FEFEFE;
		border-radius: 3rem;
		text-align: center;
		width: 20rem;
		color: #232323;
	}
}
/*------------------------------------------------------------
	fixedBg
------------------------------------------------------------*/
.fixedBg {
	position: fixed;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 45rem;
	background-color: rgba(0, 0, 0, 0.10);
}
.fixedBg::after {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 16.9rem;
	content: "";
	z-index: 1;
	background: linear-gradient(0deg, #EAEFF3 0%, rgba(234, 239, 243, 0.00) 100%);
	pointer-events: none;
}
.fixedBg::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 28rem;
	content: "";
	z-index: 1;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.00) 100%);
}
.fixedBg video {
	width: 100%;
	height: 100%;
	object-position: center top;
	object-fit: cover;
	mix-blend-mode: multiply;
}
@media all and (max-width: 896px) {
	.fixedBg {
		height: 28.7rem;
		background-color: rgba(0, 0, 0, 0.20);
	}
	.fixedBg::after {
		bottom: 0;
		height: 10rem;
	}
	.fixedBg::before {
		height: 15rem;
		content: "";
		z-index: 1;
		background: linear-gradient(180deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.00) 100%);
	}
}
/*------------------------------------------------------------
	comBgBox
------------------------------------------------------------*/
.comBgBox {
	padding: 0 2rem;
}
.comBgBox .outBox {
	padding: 10rem 0;
	margin: 0 auto;
	max-width: 124rem;
	border-radius: 5rem;
	border: 1px solid var(--White, #FEFEFE);
	background: rgba(255, 255, 255, 0.50);
	backdrop-filter: blur(2.5px);
}
.comBgBox .content {
	max-width: 108rem;
}
@media all and (max-width: 896px) {
	.comBgBox .outBox {
		padding: 5rem 0 !important;
		max-width: 100% !important;
		border-radius: 3rem;
	}
}
/*------------------------------------------------------------
	pageTitle
------------------------------------------------------------*/
.pageTitle {
	padding: 23.5rem 0 7rem;
}
.pageTitle .content {
	max-width: 118rem;
}
@media all and (max-width: 896px) {
	.pageTitle {
		padding: 9.5rem 0 2.5rem;
	}
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	padding-right: 40rem;
	color: #FEFEFE;
	font-weight: 400;
}
.headLine01 .en {
	margin-right: 3rem;
	display: inline-block;
	font-size: 5rem;
	font-weight: 400;
}
.headLine01 .jp {
	font-size: 1.8rem;
	vertical-align: 1rem;
	display: inline-block;
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 2.5rem;
		padding-right: 0;
	}
	.headLine01 .en {
		margin: 0 0 0.5rem;
		display: block;
		font-size: 3rem;
	}
	.headLine01 .jp {
		font-size: 1.4rem;
		vertical-align: normal;
		display: block;
	}
}
/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	margin-bottom: 5rem;
	font-size: 2.4rem;
	color: #003873;
}
@media all and (max-width: 896px) {
	.headLine02 {
		margin-bottom: 2rem;
	}
}
/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
	margin-bottom: 2rem;
	font-size: 3rem;
	font-weight: 400;
	color: #003873;
}
@media all and (max-width: 896px) {
	.headLine03 {
		margin-bottom: 1rem;
		font-size: 2.5rem;
	}
}
/*------------------------------------------------------------
	headLine04
------------------------------------------------------------*/
.headLine04 {
	margin-bottom: 3rem;
	font-size: 4rem;
	font-weight: 400;
	color: #003873;
}
@media all and (max-width: 896px) {
	.headLine04 {
		margin-bottom: 2rem;
		font-size: 2.5rem;
	}
}
/*------------------------------------------------------------
	headLine05
------------------------------------------------------------*/
.headLine05 {
	margin-bottom: 2rem;
	font-weight: 400;
	color: #003873;
	line-height: 1;
}
.headLine05 .en {
	margin-top: 1.5rem;
	display: block;
	font-size: 3rem;
	font-family: "Gen Interface JP", "Montserrat", sans-serif;
}
@media all and (max-width: 896px) {
	
}
/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/
#pagePath {	
	margin: -5rem 0 0 auto;
	width: fit-content;
    font-family: "Montserrat", "Gen Interface JP", sans-serif;
}
#pagePath li {
	position: relative;
	margin-left: 3rem;
	font-weight: 700;
	font-size: 1.4rem;
	color: #FEFEFE;
	display: inline-block;
	text-align: right;
}
#pagePath li:not(:last-child):after {
	position: absolute;
	left: calc(100% + 1rem);
	top: 41%;
	height: 1px;
	content: "";
	z-index: 1;
	background-color: #FEFEFE;
	width: 1.5rem;
}
#pagePath li:first-child {
	font-weight: 400;
}
#pagePath a {
	color: #FEFEFE;
}
#pagePath a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	#pagePath {	
		margin: 0 0 0 auto;
	}
	#pagePath li {
		margin-left: 3rem;
		font-size: 1.2rem;
	}
	#pagePath li:not(:last-child):after {
		left: calc(100% + 1rem);
		top: 41%;
	}
}
/*------------------------------------------------------------
	comFilterBox
------------------------------------------------------------*/
.comFilterBox {
	margin-bottom: 5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: right;
	gap: 1.5rem;
	align-items: center;
}
.comFilterBox label {
	color: #003873;
	font-family: "Montserrat", sans-serif;
}
.comFilterBox select {
	padding: 0.5rem 1.5rem;
	width: 20rem;
	display: block;
	height: 4rem;
	color: #003873;
	font-size: 1.6rem;
	border-radius: 0;
	border: 1px solid #003873;
	box-sizing: border-box;
	box-shadow: none;
	background: transparent url(../img/common/icon01.webp) no-repeat right 1.8rem center / 0.9rem;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
}
@media all and (max-width: 896px) {
	.comFilterBox {
		margin-bottom: 2rem;
		gap: 1.5rem;
	}
	.comFilterBox label {
		font-size: 1.6rem;
	}
	.comFilterBox select {
		padding: 0.5rem 1.5rem;
		width: 15rem;
		font-size: 1.6rem;
	}
}
/*------------------------------------------------------------
	comNewsBox
------------------------------------------------------------*/
.comNewsBox {
	margin-bottom: 5rem;
}
.comNewsBox .news-grid {
	border-bottom: 1px solid #CCC;
}
.comNewsBox .news-card {
	padding: 3rem 2rem;
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #CCC;
	gap: 3rem;
}
.comNewsBox .news-card .news-info {
	width: 21.8rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.comNewsBox .news-card .news-info .news-date {
	width: 9rem;
	color: #003873;
	font-weight: 600;
	line-height: 1;
}
.comNewsBox .news-card .news-info .tagUl {
	width: 10rem;
}
.comNewsBox .news-card .news-info li {
	padding: 0.3rem 0.5rem;
	width: 10rem;
	background-color: #003873;
	text-align: center;
	color: #FEFEFE;
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: 0.06rem;
	font-family: "Montserrat", sans-serif;
}
.comNewsBox .news-card .news-info li.cat-event {
	background-color: #008A5B;
}
.comNewsBox .news-card .news-info li:not(:last-child) {
	margin-bottom: 0.5rem;
}
.comNewsBox .news-card .news-content {
	flex: 1;
}
.comNewsBox .news-card .news-content a {
	color: #003873;
}
.comNewsBox .news-card .news-content a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	.comNewsBox .news-card {
		padding: 2rem 1.5rem 2rem 2rem;
		display: block;
	}
	.comNewsBox .news-card .news-info {
		margin-bottom: 1.5rem;
		width: auto;
		justify-content: left;
	}
	.comNewsBox .news-card .news-info .news-date {
		width: 9.7rem;
	}
	.comNewsBox .news-card .news-info .tagUl {
		width: auto;
		flex: 1;
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem;
	}
	.comNewsBox .news-card .news-info li {
		margin: 0 !important;
		min-width: 10rem;
		width: fit-content;
		letter-spacing: 0.03em;
	}
}
/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn {
	margin: 0 auto;
	width: 18rem;
}
.comBtn a {
	display: flex;
	flex-wrap: wrap;
	gap: 1px;
}
.comBtn a .txt {
	padding: 1.5rem 2rem 1.4rem;
	flex: 1;
	color: #FEFEFE;
	font-weight: 600;
	font-size: 1.4rem;
	font-family: "Montserrat", sans-serif;
	background-color: #003873;
	letter-spacing: 0.04em;
}
.comBtn a .ico {
	width: 5rem;
	background: #003873 url(../img/common/icon02.webp) no-repeat center center / 1.6rem;
}
.comBtn.style01 a .ico {
	background-image: url(../img/common/icon05.webp);
}
.comBtn a:hover {
	opacity: 0.7;
}
/*------------------------------------------------------------
	contactBox
------------------------------------------------------------*/
.contactBox {
	position: relative;
	z-index: 2;
	padding: 5rem 0;
	background-color: #222;
	color: #FEFEFE;
}
.contactBox .content {
	align-items: center;
}
.contactBox .lBox {
	padding-right: 5rem;
	flex: 1;
	text-align: right;
}
.contactBox .en {
	margin-right: 3rem;
	display: inline-block;
	font-size: 2.4rem;
}
.contactBox .jp {
	font-size: 1.4rem;
	vertical-align: 0.3rem;
}
.contactBox .rBox {
	width: 55.5%;
	padding-left: 5rem;
	border-left: 1px solid #FEFEFE;
}
.contactBox a {
	display: inline-block;
	padding: 0.3rem 6rem 0.3rem 0;
	color: #FEFEFE;
	background: url(../img/common/icon03.webp) no-repeat right top calc(50% - 1px) / 1.1rem;
}
.contactBox a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	.contactBox {
		padding: 5rem 0;
	}
	.contactBox .content {
		display: block;
	}
	.contactBox .lBox {
		margin-bottom: 2rem;
		padding-right: 0;
		text-align: center;
	}
	.contactBox .en {
		margin: 0 0 0.5rem;
		display: block;
	}
	.contactBox .rBox {
		text-align: center;
		width: auto;
		padding-left: 0;
		border-left: 0;
	}
	.contactBox a {
		font-size: 1.4rem;
		padding: 0 0 4.5rem;
		background: url(../img/common/icon03.webp) no-repeat center bottom / 1.1rem;
	}
}
/*------------------------------------------------------------
	comSpiritUl
------------------------------------------------------------*/
.comSpiritUl {
	gap: 3rem calc(5.2% / 3);
}
.comSpiritUl li {
	width: 23.7%;
}
.comSpiritUl a {
	display: block;
	height: 100%;
}
.comSpiritUl a:hover {
	opacity: 0.7;
}
.comSpiritUl .photo {
	margin-bottom: 1rem;
	position: relative;
	aspect-ratio: 280/158;
}
.comSpiritUl .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.comSpiritUl .photo span {
	padding: 0.4rem 0.5rem 0.3rem;
	position: absolute;
	top: 0;
	left: 0;
	min-width: 10rem;
	width: fit-content;
	background-color: #003873;
	text-align: center;
	color: #FEFEFE;
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	font-family: "Montserrat", sans-serif;
}
.comSpiritUl .textBox {
	margin: 0 1rem;
}
.comSpiritUl .textBox .time {
	margin-bottom: 1rem;
	font-size: 1.4rem;
	font-weight: 600;
	color: #003873;
}
.comSpiritUl .textBox .text {
	text-decoration: underline;
	font-size: 1.8rem;
	font-weight: 600;
	color: #003873;
	line-height: 1.5;
}
@media all and (max-width: 896px) {
	.comSpiritUl {
		display: block;
	}
	.comSpiritUl li {
		margin-bottom: 3rem;
		width: auto !important;
	}
	.comSpiritUl li:last-child {
		margin-bottom: 0;
	}
	.comSpiritUl .textBox {
		margin: 0 1rem;
	}
	.comSpiritUl .textBox .time {
		margin-bottom: 0.5rem;
	}
}
/*------------------------------------------------------------
	comAccessBox
------------------------------------------------------------*/
.comAccessBox {
	flex-direction: row-reverse;
}
.comAccessBox .mapBox {
	width: 55.5%;
	aspect-ratio: 800/450;
	line-height: 0;
}
.comAccessBox .mapBox iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.comAccessBox .rBox {
	flex: 1;
	padding: 4.5rem 5rem;
	background-color: #FEFEFE;
}
.comAccessBox .rBox .sub {
	max-width: 45rem;
}
.comAccessBox .rBox .headLine02 {
	margin-bottom: 4.5rem;
}
.comAccessBox .rBox .add {
	margin-bottom: 0.5rem;
	line-height: 2;
}
.comAccessBox .rBox .link {
	margin-bottom: 4.5rem;
}
.comAccessBox .rBox .link a {
	display: inline-block;
	padding: 0 0 0.5rem 2rem;
	color: #003873;
	text-decoration: underline;
	background: url(../img/common/icon-pin.webp) no-repeat left 0.2rem top 0.5rem / 1.2rem;
}
.comAccessBox .rBox .link a:hover {
	opacity: 0.7;
}
.comAccessBox .rBox .comBtn {
	margin: 0;
}
@media all and (max-width: 896px) {
	.comAccessBox {
		display: block;
		background-color: #505050;
	}
	.comAccessBox .mapBox {
		width: auto;
		aspect-ratio: 1/1;
		border-radius: 0 0 1.6rem 1.6rem;
		overflow: hidden;
	}
	.comAccessBox .rBox {
		padding: 5rem 2rem;
	}
	.comAccessBox .rBox .sub {
		max-width: 100%;
	}
	.comAccessBox .rBox .headLine02 {
		margin-bottom: 1.5rem;
	}
	.comAccessBox .rBox .link {
		margin-bottom: 2rem;
	}
}
/*------------------------------------------------------------
	comResearchUl
------------------------------------------------------------*/
.comResearchUl {
    position: relative;
    z-index: 1;
    margin: 0 auto 10rem;
    max-width: 84.8rem;
}
.comResearchUl::after {
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 115rem;
    height: 60rem;
    content: "";
	pointer-events: none;
    background: url(../img/common/research_bg.webp) no-repeat left top / cover;
}
.comResearchUl li {
    position: relative;
    margin: 0 -2.5rem -5rem;
    padding: 1rem;
    width: 45rem;
    border-radius: 12.5rem;
}
.comResearchUl li::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    z-index: 2;
    border: 1px dashed #003873;
    border-radius: 12.5rem;
	pointer-events: none;
}
.comResearchUl .li01 {
    margin: 0 1rem -5rem;
}
.comResearchUl .sub {
    position: relative;
    z-index: 1;
    padding: 4.5rem 0;
    border-radius: 125px;
    background: linear-gradient(254deg, #FFF 0%, rgba(255, 255, 255, 0.00) 100%);
}
.comResearchUl .sub .image {
    width: 6rem;
    margin: 0 auto 2rem;
}
.comResearchUl .sub p {
	margin: 0 auto;
	max-width: 35rem;
    text-align: center;
    font-size: 1.6rem;
}
.comResearchUl .sub p span {
    margin-bottom: 0.5rem;
    color: #003873;
    font-size: 2.4rem;
    font-weight: 600;
    display: block;
    font-family: "Montserrat", "Gen Interface JP", sans-serif;
}
@media all and (max-width: 896px) {
	.comResearchUl {
        margin-bottom: 7.5rem;
        max-width: 40rem;
    }
    .comResearchUl::after {
        width: 39rem;
        height: 45rem;
        background-image: url(../img/common/research_bg_sp.png);
    }
    .comResearchUl li {
        margin: 0 -2rem -4.5rem;
        width: 26rem;
    }
    .comResearchUl li:nth-child(2) {
        margin-left: -10rem !important;
    }
    .comResearchUl li:nth-child(3) {
        margin-right: -10rem !important;
    }
    .comResearchUl .li01 {
        margin: 0 1rem -4.5rem !important;
    }
    .comResearchUl .sub {
        padding: 6rem 0 8.5rem;
    }
    .comResearchUl .sub .image {
        margin-bottom: 1.5rem;
    }
    .comResearchUl .sub p {
		max-width: 100%;
		width: 65%;
        font-size: 1.4rem;
    }
    .comResearchUl .sub p span {
        margin-bottom: 0;
    }
}
/*------------------------------------------------------------
	comTitle
------------------------------------------------------------*/
.comTitle {
	margin-bottom: 5rem;
	text-align: center;
	font-size: 4rem;
	color: #003873;
	line-height: 1.2;
}
@media all and (max-width: 896px) {
	.comTitle {
		margin-bottom: 3rem;
		font-size: 2rem;
		line-height: 1.5;
	}
}
/*------------------------------------------------------------
	fadeInUp
------------------------------------------------------------*/
.fadeInUp {
	opacity: 0;
	-webkit-transform: translateY(40px);
	transform: translateY(40px);
	transition: all .5s ease;
}
.fadeInUp.on {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0); 
}
