@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..700&family=Roboto:wght@200..700&display=swap');
body {
		-webkit-text-size-adjust: 100%;
		-webkit-font-smoothing: antialiased;
}
body:lang(en) {
		font-family: 'Roboto', sans-serif;
}
body, ul {
		margin: 0;
		padding: 0;
}
h1, h2, h3, h4, h5, p, li {
		font-feature-settings: "palt";
		letter-spacing: 0.05em;
}
h1:lang(en), h2:lang(en), h3:lang(en), h4, :lang(en) h5:lang(en), p:lang(en), li:lang(en) {
		letter-spacing: 0em;
}
.l-wrapper {
		overflow-x: visible !important;
}
.l-header, .sc_header {
		top: 90px;
		border-top: 1px solid #ededed;
}
.layoutMain {
		padding-top: 92px;
}
.l-main {
		padding-top: 90px;
}
.layoutMain2022 {
		padding-top: 92px;
}
@media(max-width: 767px) {
		.l-header, .sc_header {
				top: 60px;
		}
		.l-main, .layoutMain {
				padding-top: 60px;
		}
		.layoutMain2022 {
				padding-top: 60px;
		}
		.l-side-nav {
				top: 110px !important
		}
		.l-side-nav nav ul li a {
				font-size: 16px;
				padding: 13px 0;
				line-height: 1;
		}
		.l-side-nav nav ul {
				width: 80%;
		}
		.nav_modalmenu {
				top: 112px
		}
		.nav_modalmenu ul li a {
				padding: 23px 0 10px;
		}
}
header.general img, footer img {
		border: none;
		vertical-align: top;
}
header.general {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		/* height: 170px; */
		z-index: 5000
}
.header_logo {
		width: 60px;
}
.header_logo img {
		width: 100%;
		height: auto;
}
.header_upper {
		background: #fff;
		height: 90px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0 40px;
		position: relative;
		z-index: 100
}
.header_inner {
		display: flex;
		justify-content: space-between;
		padding: 0 40px;
		box-sizing: border-box;
		width: 100%;
}
.header_right {
		display: flex;
		align-items: center
}
.header_right .insta {
		margin: 0 35px;
		width: 20px;
}
.header_right ul {
		list-style: none;
		display: flex;
		align-items: center
}
.header_right li {
		margin-right: 30px;
		color: #C8C8C8;
		line-height: 1;
		font-size: 15px;
		font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.header_right li:lang(en) {
		font-family: 'Roboto', sans-serif;
		letter-spacing: 0
}
.header_right li.parent {
		padding-right: 15px;
		padding-bottom: 40px;
		top: 20px;
		position: relative;
}
.header_right li.parent::after {
		content: '';
		display: block;
		position: absolute;
		top: 5px;
		right: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 3px solid transparent;
		border-left: 3px solid transparent;
		border-top: 6px solid #094DA4;
		border-bottom: 0;
}
/*
.header_right li.parent.isOpen::after {
		border-top: 0;
		border-right: 3px solid transparent;
		border-left: 3px solid transparent;
		border-bottom: 6px solid #094DA4;
}
*/
.isOpen > a span.underL::after {
		transform: scaleX(1)
}
.header_right ul li:last-child {
		margin-right: 0;
}
.header_right li a {
		color: #094DA4;
		text-decoration: none;
}
.header_right ul.lang {
		height: 15px;
}
.header_right ul.lang li {
		font-size: 13px;
		height: 15px
}
.header_right ul.lang li:first-child {
		margin-right: 30px;
		position: relative;
}
.header_right ul.lang li:first-child::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		right: -15px;
		width: 1px;
		height: 15px;
		background: #094DA4;
}
.header_right ul.lang li:last-child {
		margin-right: 0;
}
.header_sub_wrap {
		display: none;
		position: fixed;
		top: 89px;
		left: 0;
		width: 100%;
}
.header_sub {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 80px;
		background: #ecf3fb;
		position: relative;
		z-index: 80
}
.header_sub ul {
		list-style: none;
		display: flex;
		justify-content: center;
		align-items: center;
}
.header_sub li {
		margin: 0 15px;
		color: #C8C8C8;
}
.header_sub li a {
		color: #094DA4;
		text-decoration: none;
}
@media(max-width: 1200px) {
		.header_upper {
				padding-left: 20px;
				padding-right: 20px;
		}
		.header_right li {
				margin-right: 25px;
				font-size: 14px;
		}
		.header_sub li {
				margin: 0 10px;
		}
		.header_right .insta {
				margin: 0 20px;
		}
}
@media(max-width: 960px) {
		.header_upper {
				height: 80px
		}
		.header_right {
				display: none
		}
}
@media(max-width: 767px) {
		.header_logo {
				width: 50px;
		}
		header.general, .header_upper {
				height: 60px
		}
}
/* ============= */
.contact_section {
		background: #094DA4;
		color: #fff;
		padding: 80px 40px;
		display: flex;
		justify-content: center;
}
.contact_section_inner h4 {
		font-size: 32px;
		font-weight: 600;
		margin: 0 0 30px;
		text-align: center;
}
.contact_section_inner p {
		line-height: 1.8;
}
.contact_section_inner p.contact_office {
		font-size: 20px;
		font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		text-align: center;
		margin: 0 0 50px;
		line-height: 1.6;
		font-weight: 500;
}
.contact_mail {
		display: flex;
		justify-content: center;
		align-items: center;
		font-family: 'Roboto', sans-serif;
		font-size: 20px;
		font-weight: 500;
		margin: 50px 0;
}
.contact_mail a {
		display: flex;
		justify-content: center;
		align-items: center;
		text-decoration: none;
		color: #fff;
}
.mail_icon {
		width: 64px;
		height: 64px;
		margin-right: 12px;
		border-radius: 50%;
		background-color: #fff;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 64px;
		background-image: url("../images/footer_icon_mail_blu.png");
		box-sizing: border-box;
		border: 1px solid #fff;
		transition: background 0.4s;
}
@media (hover: hover) {
		.contact_mail a:hover .mail_icon {
				background-color: #094DA4;
				background-image: url("../images/footer_icon_mail_wht.png");
		}
}
.contact_notes {
		font-size: 13px;
}
@media(min-width: 768px) {
		.contact_notes:lang(en) {
				text-align: center;
		}
}
.contact_notes li {
		line-height: 1.8;
		list-style: none
}
@media(max-width: 767px) {
		.contact_section {
				padding: 60px 20px;
		}
		.contact_section_inner h4 {
				font-size: 20px;
		}
		.contact_section_inner p.contact_office {
				font-size: 16px;
				margin: 0 0 30px;
		}
		.contact_mail {
				font-size: 16px;
				margin: 30px 0
		}
		.contact_notes {
				font-size: 12px;
				margin-left: 1em;
		}
		.contact_notes li {
				position: relative;
				margin: 0 0 3px;
		}
		.contact_notes li span.mark {
				display: block;
				position: absolute;
				top: 0;
				left: -1em;
		}
}
/* ================== */
.footer_privacy {
		background: #fff;
		text-align: center;
		padding: 30px 20px;
		font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.footer_privacy p {
		font-size: 20px;
		font-weight: 600;
		font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.footer_privacy:lang(en), .footer_privacy p:lang(en) {
		font-family: 'Roboto', sans-serif;
}
.footer_privacy p a {
		color: #094DA4;
		text-decoration: none;
}
footer {
		background: #094DA4;
		color: #fff;
		height: 90px;
		display: flex;
		justify-content: center;
		align-items: center;
		font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.footer_inner {
		font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		display: flex;
		align-items: center;
}
.footer_logo {
		width: 60px;
		margin-right: 34px;
}
.footer_logo img {
		width: 100%;
		height: auto
}
.copyright {
		font-family: 'Roboto', sans-serif;
		font-size: 12px;
}
@media(max-width: 767px) {
		.footer_privacy {
				padding: 40px 15px;
		}
		.footer_privacy p {
				font-size: 16px;
		}
		footer {
				padding: 0 20px;
				height: 80px
		}
		.footer_inner {
				display: flex;
				justify-content: space-between;
				align-items: center;
				width: 100%;
		}
		.footer_logo {
				width: 50px;
				margin-right: 0;
		}
		.copyright {
				font-size: 9px;
				line-height: 1.6;
				letter-spacing: 0
		}
}
/* ========= */
@media(min-width: 961px) {
		.header_upper .header_trigger {
				display: none !important
		}
		.drawer {
				display: none !important
		}
}
.header_upper .header_trigger {
		width: 39px;
		height: 40px;
		cursor: pointer;
		position: absolute;
		right: 14px;
		top: 10px;
		display: flex;
		justify-content: center;
		align-items: center;
}
.header_trigger_in {
		width: 24px;
		height: 15px;
		position: relative;
		pointer-events: none
}
.header_trigger_in .header_trigger_bar {
		width: 24px;
		height: 1px;
		background: #094da4;
		position: absolute;
		left: 0;
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.header_trigger_in .header_trigger_bar:nth-child(2) {
		top: 7px
}
.header_trigger_in .header_trigger_bar:nth-child(3) {
		top: 14px
}
.header_trigger.triggerOpen .header_trigger_in .header_trigger_bar:nth-child(1) {
		top: 7px;
		transform: rotate(20deg)
}
.header_trigger.triggerOpen .header_trigger_in .header_trigger_bar:nth-child(2) {
		opacity: 0
}
.header_trigger.triggerOpen .header_trigger_in .header_trigger_bar:nth-child(3) {
		top: 7px;
		transform: rotate(-20deg)
}
.drawer {
		position: fixed;
		top: 60px;
		left: 0;
		width: 100%;
		height: 100vh;
		background: #094DA4;
		z-index: 2000;
		color: #fff;
		display: none;
}
.drawer * {
		line-height: 1;
}
.drawer li:lang(en) {
		font-family: 'Roboto', sans-serif;
}
.drawer a {
		color: #fff;
		text-decoration: none;
}
.drawer_wrap {
		padding: 0 0 0 20px;
}
.drawer_inner {
		width: 100%;
		overflow: auto;
		padding-top: 30px;
		padding-right: 20px;
		padding-bottom: 80px;
		box-sizing: border-box;
		height: calc(100vh - 60px);
		position: relative;
}
.drawer li {
		list-style: none
}
.drawer_global_gr {
		border-top: 1px solid #fff;
}
.drawer_global li a, span.comingsoon {
		display: block;
		padding: 18px 10px;
		position: relative;
}
.drawer_global li a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 4.5px);
		right: 15px;
		width: 8px;
		height: 8px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		transform: rotate(45deg);
}
.drawer_global li {
		font-size: 18px;
		border-bottom: 1px solid #fff;
}
.drawer_col {
		border-bottom: 1px solid #fff;
}
.drawer_col dt {
		padding: 18px 10px;
		margin: 0;
		font-size: 18px;
		position: relative;
		cursor: pointer
}
.drawer_col dt .drawerTrigger {
		position: absolute;
		width: 15px;
		height: 15px;
		top: calc(50% - 7.5px);
		right: 10px;
}
.drawerTrigger::before, .drawerTrigger::after {
		content: '';
		display: block;
		position: absolute;
		top: 7px;
		left: 0;
		width: 15px;
		height: 1px;
		background: #fff;
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.drawerTrigger::after {
		transform: rotate(90deg)
}
.isOpen .drawerTrigger::before {
		transform: rotate(180deg)
}
.isOpen .drawerTrigger::after {
		opacity: 0;
}
.drawer_col dd {
		padding-top: 10px;
		padding-bottom: 25px;
		display: none
}
.drawer_col dd ul {
		margin-left: 2em;
}
.drawer_col dd li {
		font-size: 15px;
		position: relative;
}
.drawer_col dd li::before {
		content: '・';
		display: block;
		position: absolute;
		top: 10px;
		left: -1em;
}
.drawer_col dd li a, .drawer_col dd li span.comingsoon {
		display: block;
		padding: 10px 0;
}
.drawer_flex {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 10px;
		margin-top: 20px;
}
.drawer_flex ul {
		list-style: none;
		display: flex;
		align-items: center
}
.drawer_flex ul.lang {
		height: 15px;
}
.drawer_flex ul.lang li {
		font-size: 15px;
		height: 15px
}
.drawer_flex ul.lang li:first-child {
		margin-right: 30px;
		position: relative;
}
.drawer_flex ul.lang li:first-child::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		right: -15px;
		width: 1px;
		height: 15px;
		background: #fff;
}
.drawer_flex ul.lang li:last-child {
		margin-right: 0;
}
.drawer_flex ul.lang li .noneLink {
		opacity: 0.5
}
.logo_kaihat {
		width: 280px;
		margin: 70px auto 0;
		position: relative;
		z-index: 5
}
.logo_kaihat img {
		width: 100%;
		height: auto;
}
@media(max-width: 375px) {
		.drawer_global li {
				font-size: 16px;
		}
		.drawer_global li a {
				padding: 14px 10px;
		}
		.drawer_col dt {
				padding: 14px 10px;
				font-size: 16px;
		}
		.logo_kaihat {
				width: 200px;
				margin: 20px auto 0;
		}
}
/* underline */
span.underL {
		position: relative;
}
span.underL::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -3px;
		left: 0;
		width: 100%;
		height: 1px;
		background: #094DA4;
		transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
		transform: scaleX(0);
		transform-origin: left center;
}
span.underL.bgWht::after {
		background: #fff !important;
}
@media (hover: hover) {
		a:hover span.underL::after {
				transform: scaleX(1);
		}
}
@media(max-width: 767px) {
		.pcbr {
				display: none
		}
}
@media(min-width: 768px) {
		.spbr {
				display: none
		}
		.spobj {
				display: none
		}
}
span.comingsoon {
		opacity: 0.5
}
/* ======== */
.movie_col {
		margin: 40px 0;
		width: 100%;
}
.movie_col iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
}

/* ======== */
.container {
	margin-bottom: 15vw;
}
.scroll_banner {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 100;
	width: 100%;

}
.scroll_banner a {
	display: block;

}
.scroll_banner a img {
	width: 100%;
}
@media(min-width: 768px) {
	.container {
		margin-bottom: 0;
	}
	.scroll_banner {
		position: fixed;
		bottom: 55px;
		left: auto;
		right: 30px;
		z-index: 100;
		width: 150px;
	}
}