@charset "utf-8";

/* 変数 -----------------------------------------------------------------------------------------*/
:root {
	--family-go: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;

	--wrapper: 86%;
	--wrapper-max: 1120px;
	--wrapper-max-s: 1024px;
	--wrapper-max-w: 1600px;

	--header-msr-h: 25px;
	--logo-msr-h: 15px;
	--header-h: 72px;
	--logo-h: 42px;
	--logo-margin: 15px;
	--global-t: calc(var(--header-msr-h) + var(--header-h));

	--color-black: #2d2d2d;
	--color-white: #fff;
	--color-background-1: rgba(232, 232, 232, 0.4);
	--color-background-2: rgba(232, 234, 212, 0.4);
	--color-background-2-img: #dc7373;
	--color-background-3: rgba(190, 194, 247, 0.28);

	--color-bg-message: rgba(90, 215, 217, 0.3);
	--color-bg-partner: rgba(248, 212, 80, 0.24);
	--color-bg-point: rgba(223, 207, 171, 0.2);
	--color-bg-history: rgba(160, 239, 243, 0.2);
	--color-bg-gallery: rgba(250, 201, 201, 0.3);
	--color-bg-future: rgba(108, 117, 255, 0.2);

	--font-menu: 1.6rem;

	--font-midashi: 1.9rem;/*2.2rem;*/
	--font-read-l: 3.3rem;/*5.5rem;*/
	--font-read-s: 1.7rem;/*1.8rem;/*2.0rem;*/

	--font-main: 1.6rem;
	--font-small: 1.4rem;
	--font-vsmall: 1.2rem;

	--font-name: 1.9rem;/*2.1rem;*/
	--font-h4: 2.2rem;/*2.8rem;*/

	--weight-m: 400;
	--weight-b: 600;

	--line: 1.4;
	--line-list: 1.25;
	--line-comment: 2;
	--line-h4: 1.6;

	--margin-5: 5px;
	--margin-10: 10px;
	--margin-15: 15px;
	--margin-20: 20px;
	--margin-30: 30px;
	--margin-40: 40px;
	--margin-50: 50px;
	--margin-60: 60px;
	--margin-80: 80px;
	--margin-100: 80px;/*100px;*/
	--margin-150: 120px;/*150px;*/
	--margin-200: 160px;/*200px;*/
	--margin-250: 200px;/*250px;*/
	--margin-300: 240px;/*300px;*/
}
/*-----------------------------------------------------------------------------------------------*/


/*html, body { height: 100%; }*/
html { font-size: 62.5%; }
body {
	background-color: var(--color-white);
	/*background-image: url("../images/background.svg");
	background-size: 5px auto;*/
	color: var(--color-black);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	/*font-feature-settings: "palt";*/
	line-height: 1;
	overflow-x: hidden;
	min-width: 320px;
}
img/*,
svg*/ {
	height: auto;
	width: 100%;
	max-width: 100%;
}
a:link, a:visited, .hover {
	color: var(--color-black);
	transition: 0.2s ease-out;
	transition-property: background-color, color, opacity;
	text-decoration: none;
}
a:focus { outline: none; }
@media(hover: hover) {
	a:hover, .hover:hover {
		/*color: var(--color-active);
		opacity: 0.7;*/
		text-decoration: underline;
	}
}
@media(hover: none) {
	a:active {
		/*color: var(--color-active);
		opacity: 0.7;*/
		text-decoration: underline;
	}
}

a[href*="tel:"] { text-decoration: underline; }

strong { font-weight: var(--weight-b); }

th,
dt { font-weight: var(--weight-m); }

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*::selection {
	background-color: var(--color-black);
	color: var(--color-white);
}*/

.indent {
	padding-left: 1em;
	text-indent: -1em;
}

.fc::first-letter { font-feature-settings: "palt"; }



/* フォント -------------------------------------------------------------------------------------*/
body {
	font-family: var(--family-go);
	font-weight: var(--weight-m);
}
/*-----------------------------------------------------------------------------------------------*/


/* wrapper --------------------------------------------------------------------------------------*/
.wrapper {
	margin: 0 auto;
	width: var(--wrapper);
	max-width: var(--wrapper-max);
}
/*-----------------------------------------------------------------------------------------------*/


/* lazy -----------------------------------------------------------------------------------------*/
/*.js-lazy {
	opacity: 0;
	transform: translateY(10%) scale(1);
	transition-duration: 0.8s;
	transition-property: opacity, transform;
	transition-timing-function: cubic-bezier(0.61, 1, 0.88, 1);
}*/
/*-----------------------------------------------------------------------------------------------*/


/* swiper ---------------------------------------------------------------------------------------*/
.swiper-container { position: relative; }

.swiper-pagination { bottom: -20px !important; }
.swiper-pagination-bullet {
	background-color: var(--color-gray);
	height: 6px;
	opacity: 1;
	margin: 0 4px !important;
	width: 6px;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active { background-color: var(--color-black); }
/*-----------------------------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------------------------------*/
/* ヘッダー -------------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------*/
.header {
	background-color: var(--color-white);
	/*height: var(--header-h);*/
	position: sticky;
	top: calc(var(--header-msr-h) * -1);
	left: 0;
	width: 100%;
	z-index: 102;
}

.header .msr {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	height: var(--header-msr-h);
}
.header .msr img {
	height: var(--logo-msr-h);
	width: auto;
}

.header .th40 {
	display: flex;
	align-items: center;
	height: var(--header-h);
	padding-left: var(--logo-margin);
}
.header .th40 img {
	height: var(--logo-h);
	width: auto;
}
/*-----------------------------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------------------------------*/
/* ナビ -----------------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------*/
/* ＝ -------------------------------------------------------------------------------------------*/
.nav {
	cursor: pointer;
	height: var(--header-h);
	margin-top: calc(var(--header-h) * -1);
	margin-left: auto;
	position: sticky;
	top: 0;
	transition: 0.2s ease-out;
	transition-property: color top transform;
	width: var(--header-h);
	z-index: 103;
}

.nav::before,
.nav::after {
	background-color: var(--color-black);
	content: "";
	height: 2px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	transition: background-color 0.2s ease-out;
	width: 28px;
}
.nav::before { top: 42px; }
.nav::after { bottom: 22px; }
.nav.actived::before { top: 45px; transform: translateX(-50%)rotate(45deg); }
.nav.actived::after { bottom: 25px; transform: translateX(-50%)rotate(-45deg); }

/*.nav:hover { color: var(--color-active); }
.nav:hover::before,
.nav:hover::after { background-color: var(--color-active); }*/

/* × */
@keyframes navt {
	0% { top: 42px; transform: translateX(-50%) rotate(0deg); }
	50% { top: 45px; transform: translateX(-50%) rotate(0deg); }
	100% { top: 45px; transform: translateX(-50%) rotate(45deg); }
}
.nav.active::before { animation: navt 0.2s linear forwards; }
.nav.reverse::before { animation: navt 0.2s linear reverse both; }
@keyframes navb {
	0% { bottom: 22px; transform: translateX(-50%) rotate(0deg); }
	50% { bottom: 25px; transform: translateX(-50%) rotate(0deg); }
	100% { bottom: 25px; transform: translateX(-50%) rotate(-45deg); }
}
.nav.active::after { animation: navb 0.2s linear forwards; }
.nav.reverse::after { animation: navb 0.2s linear reverse both; }
/*-----------------------------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------------------------------*/
/* グローバル -----------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------*/
.global {
	background-color: var(--color-white);
	overflow-y: auto;
	padding: var(--margin-30) 0;
	position: fixed;
	top: var(--global-t);
	left: 0;
	transform: translateX(100%);
	width: 100%;
	z-index: 101;
}
.global.ready { transition: transform 0.2s ease-out; }
.global.active { transform: translateX(0); }

.globallayer {
	background-color: rgba(0, 0, 0, 0);
	display: none;
	height: 100svh;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}
.globallayer.active { display: block; }


/* メニュー -------------------------------------------------------------------------------------*/
.global .menu {
	display: flex;
	flex-direction: column;
}
.global .menu > li { position: relative; }
.global .menu a {
	color: var(--color-black);
	display: block;
	font-size: var(--font-menu);
	font-weight: var(--weight-b);
	padding: 15px 0 16px 8%;
	position: relative;
	text-decoration: none;
}
.global .menu a::after {
	background-color: transparent;
	content: "";
	height: 2px;
	position: absolute;
	bottom: 5px;
	left: -5px;
	transform: scaleX(0);
	transition: 0.2s ease-out;
	transition-property: background-color transform;
	width: calc(100% + 10px);
}
@media(hover: hover) {
	.global .menu a:hover::after {
		background-color: var(--color-black);
		transform: scaleX(1);
	}
}
/*-----------------------------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------------------------------*/
/* フッター -------------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------*/
.footer {
	background-color: var(--color-white);
	font-size: 1.1rem;
	padding: var(--margin-20) 0;
	text-align: center;
}
/*-----------------------------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------------------------------*/
/* ボディー -------------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------*/
.main {
	background-image: url("../images/background.svg?ver=202603131835");
	background-size: 5px auto;
	/*mix-blend-mode: multiply;*/

	line-break: strict; /* 禁則処理を厳格に適用 */
	overflow-wrap: anywhere; /* 収まらない場合に折り返す */
	word-break: normal; /* 単語の分割はデフォルトに依存 */
}
.main br.pc { display: none; }

/* コンテナー */
.main .container { padding: var(--margin-200) 0; }
.main .container:first-of-type { padding-top: var(--margin-100); }

/* コンテンツ */
.main .contents { margin-top: var(--margin-100); }

/* 見出し */
.main .midashi { text-align: center; }
.main .midashi img {
	width: var(--wrapper);
	max-width: 446px;/*744px;*/
}
.main .midashi span {
	display: inline-block;
	font-size: var(--font-midashi);
	line-height: var(--line);
	letter-spacing: 0.14em;
	margin-top: var(--margin-30);
	position: relative;
}
.main .midashi span::before,
.main .midashi span::after {
	background-color: var(--color-black);
	content: "";
	height: 1px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 60px;
}
.main .midashi span::before { left: -70px; }
.main .midashi span::after { right: -70px; }

/* コメント */
.main .comment {
	font-size: var(--font-main);
	/*font-weight: var(--weight-b);*/
	line-height: var(--line-comment);
	text-align: justify;
}
.main .comment p:not(:first-of-type) { margin-top: 2em; }

/* プロフィール */
.main .profile {
	font-size: var(--font-small);
	line-height: var(--line);
	margin-top: var(--margin-20);
}
.main .profile .name { margin-top: var(--margin-10); }
.main .profile .name span { font-size: var(--font-name); }

/* ↑TOP */
.main .pagetop {
	background-color: rgba(255, 255, 255, 0.4);
	height: 364px;/*456px;*/
	opacity: 0;
	padding-top: 10px;
	pointer-events: none;
	position: fixed;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	transition: 0.2s ease-out;
	transition-property: background-color opacity;
	width: 48px;/*60px;*/
}
.main .pagetop span {
	background-color: var(--color-black);
	display: inline-block;
	height: 348px;/*436px;*/
	-webkit-mask-image: url("../images/pagetop.svg");
	mask-image: url("../images/pagetop.svg");
	-webkit-mask-size: 48px auto;/*60px auto;*/
	mask-size: 48px auto;/*60px auto;*/
	transition: background-color 0.2s ease-out;
	width: 48px;/*60px;*/
}
.main .pagetop.active {
	opacity: 1;
	pointer-events: auto;
}

@media(hover: hover) {
	.main .pagetop.active:hover { background-color: var(--color-black); }
	.main .pagetop.active:hover span { background-color: var(--color-white); }
}
/*@media(hover: none) {
	@keyframes hovera {
		0% { background-color: transparent; }
		50% { background-color: var(--color-black); }
		100% { background-color: transparent; }
	}
	.main .pagetop.active a:hover { animation: hovera 0.4s linear forwards; }
	@keyframes hoverspan {
		0% { background-color: var(--color-black); }
		50% { background-color: var(--color-white); }
		100% { background-color: var(--color-black); }
	}
	.main .pagetop.active a:hover span { animation: hoverspan 0.4s linear forwards; }
}*/

/* more */
.main .more {
	cursor: pointer;
	font-size: var(--font-main);
	margin-top: var(--margin-20);
	position: relative;
	text-align: center;
}
.main .more::after {
	border-right: var(--color-black) solid 1px;
	border-bottom: var(--color-black) solid 1px;
	content: "";
	height: 10px;
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: rotate(45deg) translateX(-50%);
	width: 10px;
}
.main .wrap.active .more { display: none; }




/* タイトル -------------------------------------------------------------------------------------*/
.main .title { position: relative; }

/* イメージ */
.main .title .mainimage {
	aspect-ratio: 16 / 9;
	opacity: 0;
	overflow: hidden;
	position: relative;
	z-index: -2;
}
.main .title .mainimage.active { opacity: 1; }

/* Movie */
.main .title .movie {
	background-color: var(--color-white);
	height: 100%;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	transition: opacity 0.2s ease-out;
	width: 100%;
	z-index: -1;
}
.main .title .movie.active { opacity: 1; }
.main .title .movie.complete { opacity: 0; }

.main .title .mainimage video,
.main .title .movie video {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.main .title .movie::after {
	background-color: var(--color-white);
	content: "";
	height: 2px;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}

/* ロゴ */
.main .title h1 {
	opacity: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: opacity 0.2s ease-out;
	width: 40%;/*60%;*/
	max-width: 253px;/*317px;/*454px;*/
}
.main .title h1.active { opacity: 1; }

/* scroll */
/*
.main .title::after {
	background-image: url("../images/icon_scroll.svg");
	background-size: 56px auto;
	content: "";
	height: 15px;
	position: absolute;
	bottom: 70px;
	left: 50%;
	transform: translateX(-50%);
	width: 56px;
}
.main .title .scroll,
.main .title .scroll::before {
	content: "";
	height: 60px;
	position: absolute;
	bottom: 0;
	width: 1px;
}
.main .title .scroll {
	background-color: rgba(255, 255, 255, 0.4);
	overflow: hidden;
	left: 50%;
	transform: translateX(-50%);
}
.main .title .scroll::before {
	animation: bar 2s linear infinite;
	background-color: var(--color-white);
	left: 0;
}
@keyframes bar {
	0% { transform: scaleY(1); transform-origin: bottom; }
	50% { transform: scaleY(0); transform-origin: bottom; opacity: 1; }
	50.001% { transform: scaleY(0); opacity: 0; transform-origin: bottom; }
	50.002% { transform: scaleY(0); opacity: 1; transform-origin: top; }
	100% { transform: scaleY(1); transform-origin: top; }
}
*/


/* リード ---------------------------------------------------------------------------------------*/
.main .read { text-align: center; }
.main .catch {
	font-size: var(--font-read-l);
	font-weight: var(--weight-b);
	line-height: var(--line);
}
.main .read .comment {
	font-size: var(--font-read-s);
	font-weight: var(--weight-b);
	margin-top: var(--margin-40);
}


/* President's Message --------------------------------------------------------------------------*/
.main #message { background-color: var(--color-bg-message); }

.main #message .contents {
	display: flex;
	flex-direction: column;
	row-gap: var(--margin-30);
}

.main #message .president {
	margin: 0 auto;
	text-align: center;
	max-width: 228px;
}
.main #message .president .image {
	margin: 0 auto;
	width: 80%;
}


/* Congratulation Messages ----------------------------------------------------------------------*/
.main #partner { background-color: var(--color-bg-partner); }

.main #partner .midashi:not(:first-of-type) { margin-top: var(--margin-80); }

.main #partner .contents {
	display: flex;
	flex-direction: column;
	row-gap: var(--margin-100);
}
.main #partner .item {
	display: flex;
	flex-direction: column;
	row-gap: var(--margin-30);
}

.main #partner .image {
	display: flex;
	align-items: flex-end;
	column-gap: var(--margin-20);
}
.main #partner .img { width: 120px;/*150px;*/ }
.main #partner .profile { flex: 1; }

.main #partner .comment {
	max-height: 120px;
	overflow: hidden;
	position: relative;
	transition: max-height 0.2s ease-out;

	background-image: linear-gradient(0deg, transparent, #2d2d2d);
	-webkit-background-clip: text;
	color: transparent;
}
.main #partner .wrap.active .comment {
	background-image: none;
	color: var(--color-black);
}

.main #partner sup {
	font-size: var(--font-midashi);
	top: -0.2em;
}
.main #partner .sup {
	display: flex;
	column-gap: 0.3em;
	font-size: var(--font-small);
}
.main #partner .sup span { font-size: var(--font-midashi); }



/* Turning point --------------------------------------------------------------------------------*/
.main #point { background-color: var(--color-bg-point); }

.main #point .img {
	margin: var(--margin-100) auto 0;
	padding-bottom: var(--margin-100);
	max-width: var(--wrapper-max-w);
}

.main #point .contents,
.main #point .item,
.main #point .text,
.main #point .image {
	display: flex;
	flex-direction: column;
	row-gap: var(--margin-200);
}
.main #point .item { row-gap: var(--margin-30); }
.main #point .text { row-gap: var(--margin-20); }
.main #point .image { row-gap: var(--margin-10); }

.main #point h3 img { width: 89px;/*128px;*/ }

.main #point h4 {
	font-size: var(--font-h4);
	line-height: var(--line-h4);
	text-align: justify;
}


/* History --------------------------------------------------------------------------------------*/
.main #history { background-color: var(--color-bg-history); }

/*.main #history .image {
	margin: var(--margin-100) auto 0;
	padding-bottom: var(--margin-100);
	max-width: var(--wrapper-max-w);
}*/

.main #history .contents {
	display: flex;
	flex-direction: column;
	row-gap: var(--margin-100);
}
.main #history .item {
	display: flex;
	flex-direction: column;
	row-gap: var(--margin-20);
}

.main #history .images {
	display: flex;
	flex-wrap: wrap;
}
.main #history .images li { width: 50%; }

.main #history h3 {
	margin-top: var(--margin-100);
	text-align: center;
}
.main #history h3 img { width: 163px;/*204px;*/ }
.main #history .list {
	margin-top: var(--margin-30);

	max-height: 120px;
	overflow: hidden;
	position: relative;
	transition: max-height 0.2s ease-out;

	-webkit-mask-image: linear-gradient(to bottom, black, transparent);
	mask-image: linear-gradient(to bottom, black, transparent);
}
.main #history .wrap.active .list {
	-webkit-mask-image: none;
	mask-image: none;
}

.main #history .list,
.main #history .list dt {
	font-size: var(--font-main);
	font-weight: var(--weight-b);
	line-height: var(--line);/*var(--line-list);*/
}
.main #history .list span {
	display: inline-block;
	font-size: var(--font-small);
	font-weight: var(--weight-m);
	margin-top: var(--margin-5);
}

.main #history .list,
.main #history .list > div,
.main #history .list dl,
.main #history .list ul {
	display: flex;
	flex-direction: column;
	row-gap: var(--margin-10);
}
.main #history .list,
.main #history .list > div { row-gap: var(--margin-20); }
.main #history .list dl {
	flex-direction: row;
	column-gap: var(--margin-10);
}
.main #history .list dd { flex: 1; }
.main #history .list li {
	padding-left: 15px;
	position: relative;
}
.main #history .list li::before {
	background-color: #a7a28d;
	border-radius: 50%;
	content: "";
	height: 10px;
	position: absolute;
	top: 7px;
	left: 0;
	width: 10px;
}


/* Album ----------------------------------------------------------------------------------------*/
.main #gallery { background-color: var(--color-bg-gallery); }

.main #gallery ul {
	display: flex;
	flex-wrap: wrap;
	margin: var(--margin-60) auto 0;
	max-width: var(--wrapper-max-w);
}

.main #gallery li {
	/*background-color: var(--color-background-2-img);*/
	width: calc(100% / 3);
}

.main #gallery li img {
	/*opacity: 0;
	transform: translateY(10px) scale(0.96);
	/*transition: 0.8s ease-out;
	transition-property: opacity transform;*/
	will-change: transform, opacity;
}
/*.main #gallery li.active img {
	opacity: 1;
	transform: scale(1);
}*/


/* Future ---------------------------------------------------------------------------------------*/
.main #future {
	background-color: var(--color-bg-future);
	padding-bottom: 0;
}
.main #future .catch { margin-top: var(--margin-100); }
.main #future .image { margin-top: var(--margin-100); }
/*-----------------------------------------------------------------------------------------------*/





@media(min-width: 530px) {
}



@media(min-width: 768px) {
	/* 変数 -----------------------------------------------------------------------------------------*/
	:root {
		--font-read-s: 1.8rem;/*2.0rem;*/

		--margin-100: 100px;
		--margin-150: 150px;
		--margin-200: 200px;
		--margin-250: 250px;
		--margin-300: 300px;
	}
	/*-----------------------------------------------------------------------------------------------*/

	/*-----------------------------------------------------------------------------------------------*/
	/* ボディー -------------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	.main br.sp { display: none; }
	.main br.pc { display: inline; }
	/* ↑TOP */
	.main .pagetop {
		height: 456px;
		width: 60px;
	}
	.main .pagetop span {
		height: 436px;
		-webkit-mask-size: 60px auto;
		mask-size: 60px auto;
		width: 60px;
	}
	/* タイトル -------------------------------------------------------------------------------------*/
	/* ロゴ */
	.main .title h1 {
		width: 34%;
		max-width: 408px;/*454px;*/
	}
	/* リード ---------------------------------------------------------------------------------------*/
	.main .read .comment { text-align: center; }
	/* President's Message --------------------------------------------------------------------------*/
	.main #message .contents {
		flex-direction: row;
		column-gap: var(--margin-40);
	}
	.main #message .president {
		margin: 0;
		text-align: left;
		width: 20%;
	}
	.main #message .president .image { width: 100%; }
	.main #message .comment { flex: 1; }
	/* Congratulation Messages ----------------------------------------------------------------------*/
	.main #partner .contents {
		flex-direction: row;
		flex-wrap: wrap;
		column-gap: var(--margin-40);
	}
	.main #partner .item { width: calc((100% - var(--margin-40)) / 2); }
	.main #partner .img {
		width: 110px;/*35%;*/
		/*max-width: 150px;*/
	}
	.main #partner .profile { flex: 1; }
	/*.main #partner .item:last-of-type { width: 100%; }
	.main #partner .item:last-of-type .img { width: 17.5%; }*/
	.main #partner .president .item { width: 100%; }
	/* Turning point --------------------------------------------------------------------------------*/
	.main #point .image {
		flex-direction: row;
		column-gap: var(--margin-20);
	}
	/* History --------------------------------------------------------------------------------------*/
	.main #history .images li { width: 25%; }
	.main #history .text {
		display: flex;
		column-gap: var(--margin-30);
		margin-top: var(--margin-100);
	}
	.main #history h3 {
		margin-top: var(--margin-5);
		width: 163px;
	}
	.main #history .wrap { flex: 1; }
	.main #history .list { margin-top: 0; }
	.main #gallery li { width: calc(100% / 5); }
	/*-----------------------------------------------------------------------------------------------*/
}



@media(min-width: 1024px) {
	/* 変数 -----------------------------------------------------------------------------------------*/
	:root {
		--header-msr-h: 36px;
		/*--header-h: 92px;
		--logo-h: 51px;
		--logo-margin: 30px;*/
	}
	/*-----------------------------------------------------------------------------------------------*/

	/*-----------------------------------------------------------------------------------------------*/
	/* ヘッダー -------------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	.header .msr {
		justify-content: flex-end;
		padding-right: var(--logo-margin);
	}
	/*-----------------------------------------------------------------------------------------------*/

	/*-----------------------------------------------------------------------------------------------*/
	/* ナビ -----------------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	/* ＝ -------------------------------------------------------------------------------------------*/
	.nav { display: none; }
	/*-----------------------------------------------------------------------------------------------*/

	/*-----------------------------------------------------------------------------------------------*/
	/* グローバル -----------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	.global {
		background-color: transparent;
		height: var(--header-h);
		margin-top: calc(var(--header-h) * -1);
		margin-left: auto;
		padding: 0;
		position: sticky;
		top: 0;
		left: auto;
		transform: none;
		width: auto;
		z-index: 104;
	}
	/* メニュー -------------------------------------------------------------------------------------*/
	.global .menu {
		flex-direction: row;
		column-gap: var(--margin-20);
		margin-top: 20px;
		margin-left: 320px;
	}
	.global .menu a {
		padding-left: 0;
		white-space: nowrap;
	}
	/*-----------------------------------------------------------------------------------------------*/

	/*-----------------------------------------------------------------------------------------------*/
	/* ボディー -------------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	/* 見出し */
	.main .midashi img { max-width: 820px;/*720px;/*1252px;*/ }
	/* more */
	.main .more { display: none; }
	/* President's Message --------------------------------------------------------------------------*/
	.main #message .contents { column-gap: var(--margin-80); }
	/* Congratulation Messages ----------------------------------------------------------------------*/
	.main #partner .contents { column-gap: var(--margin-80); }
	.main #partner .item { width: calc((100% - var(--margin-80)) / 2); }
	.main #partner .comment {
		background-image: none;
		color: var(--color-black);
		max-height: none;
	}
	.main #partner .president .item {
		flex-direction: row;
		align-items: flex-start;
	}
	.main #partner .president .image { width: 340px;/*295px;*/ }
	.main #partner .img { width: 140px; }
	.main #partner .president .wrap { flex: 1; }
	/* Turning point --------------------------------------------------------------------------------*/
	.main #point .item {
		flex-direction: row;
		column-gap: var(--margin-60);
	}
	.main #point .item:nth-child(even) { flex-direction: row-reverse; }
	.main #point .text { flex: 1; }
	.main #point .image {
		flex-direction: column;
		margin-top: var(--margin-80);
		width: 47%;
	}
	/* History --------------------------------------------------------------------------------------*/
	.main #history .text { column-gap: var(--margin-100); }
	.main #history .list {
		max-height: none;
		-webkit-mask-image: none;
		mask-image: none;
	}
	/*-----------------------------------------------------------------------------------------------*/
}



@media(min-width: 1280px) {
	/* 変数 -----------------------------------------------------------------------------------------*/
	:root {
		--header-h: 92px;
		--logo-h: 51px;
		--logo-margin: 30px;
	}
	/*-----------------------------------------------------------------------------------------------*/

	/*-----------------------------------------------------------------------------------------------*/
	/* グローバル -----------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	/* メニュー -------------------------------------------------------------------------------------*/
	.global .menu {
		column-gap: var(--margin-50);
		margin-top: 35px;
		margin-left: 420px;
	}
	/*-----------------------------------------------------------------------------------------------*/

	/*-----------------------------------------------------------------------------------------------*/
	/* ボディー -------------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	/* Congratulation Messages ----------------------------------------------------------------------*/
	/*.main #partner .president .image { width: 340px; }*/
	/* Turning point --------------------------------------------------------------------------------*/
	.main #point .item { align-items: center; }
	.main #point .image { margin-top: 0; }
	/* History --------------------------------------------------------------------------------------*/
	.main #history .text { column-gap: var(--margin-100); }
	.main #history .list {
		flex-direction: row;
		column-gap: var(--margin-100);
	}
	.main #history .list > div { width: calc((100% - var(--margin-100)) / 2); }
	/*-----------------------------------------------------------------------------------------------*/
}