@charset "utf-8";
html { scroll-behavior: auto!important; }/* スムーズはutility.jsで指定 */ 


.left-navi {
	width: 32vw;
	width: 32dvw;
	margin-left: 2vw;
	margin-left: 2dvw;
	min-height: 100vh;
	min-height: 100dvh;
	overflow-x: hidden;
}



.left-navi .dummy-logo {
	top: 0;
	left: 5vw;
	left: 5dvw;
	width: 90vw!important;
	width: 90dvw!important;
}

h1 {
	margin-block-start: 0!important;
	margin-block-end: 0!important;
}

main {
	position: relative;
	margin-left: 34vw;
	margin-left: 34dvw;
	margin-right: 2vw;
	margin-right: 2dvw;
	width: 64vw;
	width: 64dvw;
	min-height: 100vh;
	min-height: 100dvh;
	align-self: flex-start;
}
main section:last-child {
	margin-bottom: 1.5vw;
	margin-bottom: 1.5dvw;
	}
.contents.top-con {
	min-height: 100vh;
	min-height: 100dvh;
}
.left-navi .inner,
.contents.top-con .inner {
	height: 12vw;
	height: 12dvw;
	height: 14vw;
	height: 14dvw;
}
.contents.top-con .inner .dummy-logo {
	width: 20vw;
	width: 20dvw;
}
.left-navi h1 {
	max-width: 20vw;
	max-width: 20dvw;
}
.contents.top-con .inner .it-area {
	width: 44vw;
	width: 44dvw;
	line-height: 1.35;
}
.contents.top-con .inner .it-area .info-jp {
	width: 15.7vw;
	width: 15.7dvw;
}
.contents.top-con .inner .it-area .info-en {
	width: 18.7vw;
	width: 18.7dvw;
}



@media (max-width: 991.98px) {
	main section:last-child { margin-bottom: 3rem; }
	.left-navi {
		position: relative!important;
		width: 90dvw;
		margin-left: 5dvw;
		min-width: initial;
	}
	.left-navi h1 {
		max-width: 100vw;
		width: 100%;
	}
	.left-navi h1 img { width: 90%; }
	.left-navi .inner { height: 42dvw; }
	main {
		margin-left: 5dvw;
		margin-right: 5dvw;
		width: 90dvw;
		min-height: initial;
	}
	.contents.top-con { min-height: initial; }
	.contents.top-con .inner { height: auto; }
	.contents.top-con .inner .it-area,
	.contents.top-con .inner .it-area .info-jp,
	.contents.top-con .inner .it-area .info-en { width: 100%; }
}
@media (max-height: 519.98px) {
	.left-navi .dummy-logo,
	.dummy-logo-blank { display: none!important; }
	.left-navi .inner { margin-top: 3em!important; }
}

#newsTicker-title {
    height: 1.4em; /* 表示エリアの高さ */
    line-height: 1.4em!important; /* 表示エリアの高さ */
    overflow: hidden;
}
#newsTicker {
    position: relative;
    height: 1.5em; /* 表示エリアの高さ */
    line-height: 1.5em; /* 表示エリアの高さ */
    overflow: hidden;
}

#newsTicker ul {
    position: absolute;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
}

#newsTicker li {
    position: absolute;
    width: 100%;
    transform: translateY(100%);
    opacity: 0;
    transition: transform 1s ease-in-out, opacity 1s ease-in-out;
}

.top-navi {
	position: sticky;
	position: -webkit-sticky;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	opacity: 1;
	transition: opacity .3s ease;
}

/* 非表示状態 */
.top-navi.hide-up {
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s ease;
}


.works-list ul li { margin-bottom: 4em!important; }
.single-work .inner:not(:last-of-type) { margin-bottom: 6em!important; }
.single-work .inner .add-box:not(:last-of-type) { margin-bottom: 6.5em!important; }
.single-work .inner:first-of-type { margin-bottom: 4em!important; }

.works-list ul li h3,
.single-work .inner h2 {
	margin-top: 0.5em!important;
	font-size: 1.07vw;
	font-size: 1.07dvw;
	line-height: 1.5;
	letter-spacing: 0;
	color: #231815;
	font-weight: 400;
	font-feature-settings: 'palt';
}
.works-list.thumb ul li:nth-last-child(-n+2) { margin-bottom: 0!important; }
@media (max-width: 991.98px) {
	.works-list ul li,
	.works-list.thumb ul li:nth-last-child(2) { margin-bottom: 2em!important; }
	.single-work .inner:not(:last-of-type) { margin-bottom: 3.8em!important; }
	.single-work .inner .add-box:not(:last-of-type) { margin-bottom: 3.8em!important; }
	.single-work .inner:first-of-type { margin-bottom: 2em!important; }
	.works-list ul li h3,
	.single-work .inner h2 {
		font-size: 3.8vw!important;
		font-size: 3.8dvw!important;
	}
}


.add-box.tate {
	position: relative;
}
.add-box.tate::before {
	content: "";
	display: block;
	padding-top: 66.6796875%; /* ≒ 66.68% */
}
.add-box.tate > .box-inner {
	position: absolute;
	inset: 0;
}
.add-box.tate img {
	display: block;     /* 画像の余白を消す */
	width: auto;        /* 横幅は可変 */
	height: 100%;       /* 親と高さを揃える */
	max-width: 100%;    /* 横に溢れないよう保険 */
	object-fit: contain;
}
@media (max-width: 991.98px) {
	.add-box.tate::before { display: none; }
	.add-box.tate > .box-inner { position: relative; }
	.add-box.tate img {
		width: 100%;
		height: auto;
		max-width: 100%;
		object-fit: unset;
	}
}



.map {
	position: relative;
	height: 0;
	padding-top: 45%; /* 比率を4:3に固定 */
}
@media (max-width: 991.98px) {
	.map { padding-top: 75%; }
}
.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.contents.not404 { min-height: 100dvh; }
.contents.not404 h2 .title {
	font-size: 3.8vw;
	font-size: 3.8dvw;
}



@media (max-width: 991.98px) {
	.contents.not404 { min-height: 80dvh; }
}