@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* リセット
--------------------------------- */
body {
	margin-inline: auto;
}
.global-header,
.breadcrumb {
	line-height: 1;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 10px;
}
.global-header *:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)),
.breadcrumb *:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
    all: unset;
    display: revert;
}
.global-header *,
.global-header *::before,
.global-header *::after,
.breadcrumb *,
.breadcrumb *::before,
.breadcrumb *::after {
    box-sizing: border-box;
}
.global-header a,
.breadcrumb a {
    cursor: revert;
	text-underline-offset: 3px;
}
.global-header ol,
.global-header ul,
.breadcrumb ol,
.breadcrumb ul {
    list-style: none;
}


/* 初回ロード時のアニメーションを止める
--------------------------------- */
@starting-style {
	body * {
		animation: none !important;
		transition: none !important;
	}
}

/* Firefox用 */
@-moz-document url-prefix() {
    .global-header { 
        animation: hide-onload 1s forwards; 
    }
	@keyframes hide-onload {
		0% {opacity: 0;}
		90% {opacity: 0;}
		100% {opacity: 1;}
	}
}


/* ヘッダー
--------------------------------- */
/* PCのみ */
@media screen and (min-width:1100px) {
	/* ヘッダー固定 */
	.global-header {
		position: fixed;
		z-index: 100;
		top: 0px;
		width: 100%;
		border-bottom: 1px solid #4a4a4a;
		padding: 0;
		background-color: #fff;
		z-index: 10000;
		transition: 0.5s all ease-in-out;
	}
	/* グローバルナビゲーション */
	.global-header__container {
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: calc(100% - 40px);
		max-width: 1440px;
		min-width: 1040px;
		margin: 0 auto;
	}
	.global-logo {
		width: 120px;
		margin-right: 36px;
		transition: 0.75s filter ease-in-out;
	}
	.global-inquiry {
		order: 3;
	}
	.global-inquiry__button {
		height: 25px;
		display: inline-flex;
		justify-content: center;
		align-items: center;
		border-radius: 100vw;
		padding: 0 20px;
		background-color: #2b364c;
		letter-spacing: 2px;
		text-decoration: none;
		text-wrap: nowrap;
		font-weight: 700;
		font-size: 1.3em;
		color: #fff;
	}
	.global-hamburger,
	.global-hamburger__checkbox {
		display: none;
	}
	.global-nav {
		display: flex;
		width: calc(100% - 96px);
		justify-content: flex-start;
		align-items: center;
		gap: 16px;
	}

	/* オープン */
	.global-header:hover {
		background: #2b354e;
		transition: 0.5s all ease-in-out;
		
		& .global-nav__logo {
			filter: invert(1);
			transition: 0.5s filter ease-in-out;
		}
		& .global-inquiry__button {
			background-color: #fefefe;
			color: #232a3c;
			transition: 0.5s all ease-in-out;
		}
		& .global-nav__link {
			color: #fff;
			transition: 0.5s all ease-in-out;
		}
	}

	.global-nav__link {
		display: inline-flex;
		align-items: center;
		height: 64px;
		text-decoration: none;
		padding: 0 4px;
		font-weight: 700;
		font-size: 1.3em;
		color: #000;
		transition: 0.5s all ease-in-out;
		cursor: pointer;
	}
	.global-nav__link-text {
		display: inline;
		position: relative;
	}
	.global-nav__link-text::after {
		content: '';
		position: absolute;
		width: 100%;
		transform: scaleX(0);
		height: 3px;
		bottom: -8px;
		left: 0;
		background-color: #fff;
		transform-origin: bottom right;
		transition: transform 0.4s ease-out;
	}
	.global-nav__item:hover .global-nav__link-text::after {
		transform: scaleX(1);
		transform-origin: bottom left;
	}

	.global-nav__sub {
		visibility: hidden;
		opacity: 0;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		position: absolute;
		z-index: 1;
		top: 100%;
		left: -200%;
		width: 500%;
		padding: 48px 0 16px;
		background: linear-gradient(0deg, #232a3c, #2b354e);
		transition: 0.5s all ease-in-out;
	}
	.global-nav__item:hover .global-nav__sub {
		visibility: visible;
		opacity: 1;
		top: 100%;
		transition: 0.75s all ease-in-out;
	}
	.global-nav__sub-row {
		width: clamp(1080px, calc(100dvw - 60px), 1240px);
		border-bottom: 1px solid #6b7181; 
		margin: 0 auto 24px;
	}
	.global-nav__sub-row.-hide__pc {
		display: none;
	}
	.global-nav__sub-link-head {
		margin-bottom: 24px;
	}
	.global-nav__sub-link-head:has(+ .global-nav__sub-list) {
		margin-bottom: 20px;
	}
	.global-nav__sub-list {
		display: flex;
		margin-bottom: 24px;
		gap: 28px;
	}
	.global-nav__sub-link {
		display: inline;
		position: relative;
		letter-spacing: 1px;
		text-decoration: none;
		font-size: 1.3em;
		color: #ddd;
	}
	.global-nav__sub-link::after {
		content: '';
		position: absolute;
		width: 100%;
		transform: scaleX(0);
		height: 1px;
		bottom: -3px;
		left: 0;
		background-color: #ddd;
		transform-origin: bottom right;
		transition: transform 0.4s ease-out;
	}
	.global-nav__sub-link:hover::after {
		transform: scaleX(1);
		transform-origin: bottom left;
	}
	.global-nav__sub-link:hover {
		color: #fff;
	}
	.global-nav__sub-link.-nolink:hover::after {
		transform: scaleX(0);
	}
	.global-nav__sub-link:before {
		display: inline-block;
		width: 6px;
		height: 10px;
		content: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="utf-8"%3F><svg version="1.1" id="global-nav__subarrow" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 6 10" style="enable-background:new 0 0 6 10;" xml:space="preserve"><path fill="%23ffffff" d="M1,9.5c-0.1,0-0.3,0-0.4-0.1c-0.2-0.2-0.2-0.5,0-0.7L4.3,5L0.6,1.4c-0.2-0.2-0.2-0.5,0-0.7s0.5-0.2,0.7,0l4,4c0.2,0.2,0.2,0.5,0,0.7l-4,4C1.3,9.5,1.1,9.5,1,9.5z"/></svg>');
	}
	.global-nav__sub-link--main {
		letter-spacing: 2px;
		font-weight: 700;
		font-size: 1.4em;
		color: #fff;
	}
	.global-nav__sub-link--main:before {
		display: inline-block;
		width: 6px;
		height: 10px;
		content: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="utf-8"%3F><svg version="1.1" id="global-nav__subarrow" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 6 10" style="enable-background:new 0 0 6 10;" xml:space="preserve"><path fill="%239498a3" d="M1,10c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1.1,0-1.5L3.5,5L0.3,1.8c-0.4-0.4-0.4-1.1,0-1.5s1.1-0.4,1.5,0l3.9,3.9c0.4,0.4,0.4,1.1,0,1.5L1.8,9.7C1.6,9.9,1.3,10,1,10z"/></svg>');
	}
}

/* モバイルのみ */
@media screen and (max-width:1099.98px) {
	.global-header {
		position: fixed;
		z-index: 100;
		top: 0px;
		height: 64px;
		width: 100%;
		border-bottom: 1px solid #4a4a4a;
		padding: 0;
		background-color: #fff;
		z-index: 10000;
		transition: 0.5s all ease-in-out;
	}
	.global-header__container {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		height: 60px;
	}
	.global-logo {
		width: 100px;
		height: 64px;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1010;
		margin: 0 auto;
	}
	.global-nav__logo {
		width: 100px;
		position: relative;
		top: 16px;
		left: 16px;
	}
	.global-inquiry__button {
		height: 25px;
		position: absolute;
		top: 20px;
		right: 0px;
		z-index: 1010;
		display: inline-flex;
		justify-content: center;
		align-items: center;
		border-radius: 100vw;
		margin-right: 64px;
		padding: 0 20px;
		background-color: #2b364c;
		letter-spacing: 2px;
		text-decoration: none;
		text-wrap: nowrap;
		font-weight: 700;
		font-size: 1.3em;
		color: #fff;
	}

	.global-hamburger__checkbox {
		position: absolute;
		display: block;
		height: 64px;
		width: 64px;
		top: -4px;
		right: -4px;
		z-index: 1012;
		opacity: 0;
		cursor: pointer;
	}
	.global-hamburger {
		display: block;
		height: 26px;
		width: 32px;
		position: absolute;
		top: 20px;
		right: 10px;
		z-index: 1011;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.global-hamburger span {
		display: block;
		height: 4px;
		width: 100%;
		border-radius: 10px;
		background: #000;
	}
	.global-hamburger span:nth-of-type(1) {
		transform-origin: 0% 0%;
		transition-property: rotate, translate, background;
		transition-duration: 0.4s;
		transition-timing-function: ease-in-out;
	}
	.global-hamburger span:nth-of-type(2)  {
		transition-property: translate, opacity;
		transition-duration: 0.4s;
		transition-timing-function: ease-in-out;
	}
	.global-hamburger span:nth-of-type(3)  {
		transform-origin: 0% 100%;
		transition-property: rotate, translate, background;
		transition-duration: 0.4s;
		transition-timing-function: ease-in-out;
	}
	.global-hamburger__checkbox:checked ~ .menu-items {
		translate: 0;
	}
	.global-hamburger__checkbox:checked ~ .global-hamburger span:nth-of-type(1) {
		translate: 4px;
		rotate: 45deg;
		background: #eee;
	}
	.global-hamburger__checkbox:checked ~ .global-hamburger span:nth-of-type(2) {
		opacity: 0;
	}
	.global-hamburger__checkbox:checked ~ .global-hamburger span:nth-of-type(3) {
		translate: 4px;
		rotate: -45deg;
		background: #eee;
	}
	.global-hamburger__checkbox:checked ~ .global-logo {
		filter: invert(1);
		background: #d4cab1;
		width: 100%;
		border-bottom: 1px solid #888888;
	}
	.global-hamburger__checkbox:checked ~ .global-inquiry .global-inquiry__button {
		background-color: #fefefe;
		color: #232a3c;
		transition: 0.5s all ease-in-out;
	}
	.global-hamburger__checkbox:checked ~ .global-nav {
		opacity: 1;
		visibility: visible;
		transition: 0.5s all ease-in-out;
	}

	.global-nav {
		height: 100vh;
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1000;
		padding: 64px 0px 0;
		background: #2b354e;
		overflow-y: scroll;
		scrollbar-width: none; /*thin */
		overflow-wrap: anywhere;
		word-break: normal;
		line-break: strict;
		opacity: 0;
		visibility: hidden;
	}
	.global-nav__checkbox {
		position: absolute;
		cursor: pointer;
		width: 100%;
		height: calc(1.4em + 40px);
		z-index: 1;
	}
	.global-nav__checkbox:checked ~ .global-nav__sub {
		margin-top: 0;
		max-height: 0;
		opacity: 0;
		visibility: hidden;
	}
	.global-nav__checkbox:not(:checked) ~ .global-nav__sub {
		transition: 0.5s all ease-in-out;
	}
	.global-nav__link-arrow {
		position: absolute;
		transform: translate(-6px, 0);
		margin-top: 25px;
		right: 22px;
	}
	.global-nav__link-arrow:before,
	.global-nav__link-arrow:after {
		content: "";
		position: absolute;
		background-color: #fff;
		width: 3px;
		height: 11px;
		border-radius: 10px;
	}
	.global-nav__link-arrow:before {
		transform: translate(3px, 0) rotate(45deg);
		transition: all 0.25s ease-in-out;
	}
	.global-nav__link-arrow:after {
		transform: translate(-3px, 0) rotate(-45deg);
		transition: all 0.25s ease-in-out;
	}
	.global-nav__checkbox:checked ~ .global-nav__link-arrow:before {
		transform: translate(0, 0) rotate(45deg);
	}
	.global-nav__checkbox:checked ~ .global-nav__link-arrow:after {
		transform: translate(0, -6px) rotate(-45deg);
	}
	.global-nav__item:last-of-type {
		border-bottom: 1px solid #404a66;
	}
	.global-nav__link {
		display: block;
		width: 100%;
		border-top: 1px solid #404a66;
		padding: 20px 20px;
		font-size: 1.4em;
		font-weight: 700;
		text-decoration: none;
		color: #fff;
		cursor: pointer;
	}
	.global-nav__link.-expandable {
		padding-bottom: 0;
	}
	.global-nav__checkbox:not(:checked) ~ .global-nav__link.-expandable {
		padding-bottom: 20px;
	}
	.global-nav__sub {
		padding: 0 0 20px 2.5em;
		opacity: 1;
	}
	.global-nav__sub-row.-hide__pc {
		display: block;
	}
	.global-nav__sub-link {
		display: block;
		padding: 8px 0 8px 2.5em;
		line-height: 1.4;
		letter-spacing: 1px;
		font-size: 1.25em;
		font-weight: 700;
		text-decoration: none;
		text-indent: -4px;
		color: #f4f5f6;
	}
	.global-nav__sub-link:before {
		display: inline-block;
		width: 6px;
		height: 10px;
		content: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="utf-8"%3F><svg version="1.1" id="global-nav__subarrow" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 6 10" style="enable-background:new 0 0 6 10;" xml:space="preserve"><path fill="%23ffffff" d="M1,9.5c-0.1,0-0.3,0-0.4-0.1c-0.2-0.2-0.2-0.5,0-0.7L4.3,5L0.6,1.4c-0.2-0.2-0.2-0.5,0-0.7s0.5-0.2,0.7,0l4,4c0.2,0.2,0.2,0.5,0,0.7l-4,4C1.3,9.5,1.1,9.5,1,9.5z"/></svg>');
	}
	.global-nav__sub-link.-nolink {
		color: #f4f5f6;
	}
	.global-nav__sub-link.-nolink:before {
		transform: rotate(90deg) translate(1.1em,0.3em);
	}
	.global-nav__sub-link--main {
		margin-left: 1em;
		padding: 8px 0 8px 1em;
		text-indent: calc(-1em + 4px);
		font-size: 1.4em;
		color: #fff;
	}
}

/* パンくずリスト
--------------------------------- */
.breadcrumb {
	margin-top: 64px;
	min-height: 30px;
	border-bottom: 1px solid #4a4a4a;
	background: #fff;
	display: flex;
	justify-items: space-between;
	align-items: center;
	color: #000;
}
.breadcrumb__container {
	width: calc(100% - 36px);
	max-width: 1438px;
	margin: 0 auto;
	position: relative;
	font-size: 1.2em;
}
.breadcrumb__list {
	display: flex;
}
.breadcrumb__item + .breadcrumb__item:before {
	display: inline-block;
	padding: 0 0.8em 0 1em;
	content: ">";
	font-family: "ＭＳ Ｐゴシック", san-serif;
}
.breadcrumb__item--current {
	overflow: hidden;
	text-overflow: ellipsis "…";
	white-space: nowrap;
}
.breadcrumb__item {
	white-space: nowrap;
}
.breadcrumb__item a {
	text-decoration: none;
	color: #000;
}
.breadcrumb__item a:hover {
	text-decoration: underline;
}

@media screen and (max-width:767.98px) {
	.breadcrumb__item + .breadcrumb__item:before {
		padding: 0 0.4em 0 0.6em;
	}
}