@charset "UTF-8";
/* AKG 施設ページ（2026年10月 改訂）。数値はデザインの PC 1920 / SP 365 の実寸 */

.f26 {
	--f26-green: #189a98;
	--f26-ink: #222;
	font-family: "游明朝", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
	font-weight: 500;
	color: var(--f26-ink);
	-webkit-text-size-adjust: 100%;
	overflow-x: clip;
	clear: both;
	background: #fff;
}
.f26 *, .f26 *::before, .f26 *::after { box-sizing: border-box; }
.f26 :where(h1, h2, h3, p, ul, li, dl, dt, dd) {
	margin: 0; padding: 0; border: 0; background: none;
	font: inherit; color: inherit; letter-spacing: 0; text-align: inherit;
}
.f26 :where(h1, h2, h3)::before, .f26 :where(h1, h2, h3)::after { content: none; display: none; }
.f26 :where(ul) { list-style: none; }
.f26 :where(a) { color: inherit; text-decoration: none; }
.f26 :where(img) { display: block; max-width: none; border: 0; }
/* ページ内リンクの着地点（固定ヘッダーの分だけ上にずらす。旧サイトの #chapel 等の padding/margin 指定より優先） */
.f26 .f26-anchor { display: block; height: 0; padding: 90px 0 0 !important; margin: -90px 0 0 !important; visibility: hidden; pointer-events: none; }
.f26 .f26-br-sp { display: none; }

.f26-en, .f26-fv__en, .f26-intro__en, .f26-card__en, .f26-card__name, .f26-head__en, .f26-sub__en,
.f26-room__name, .f26-report__en, .f26-fair__en {
	font-family: "Sorts Mill Goudy", serif !important;
	font-weight: 400 !important;
}

/* 暗い背景の白文字（Mac で太って見えるのを防ぐ） */
.f26-fv, .f26-block--dark, .f26-room--dark, .f26-fair { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* 共通の箱 */
.f26-inner { width: min(1050px, calc(100% - 60px)); margin: 0 auto; }
.f26-inner--wide { width: min(1201px, calc(100% - 60px)); }
.f26-main { aspect-ratio: 1920 / 600; overflow: hidden; }
.f26-main img, .f26-main picture { width: 100%; height: 100%; object-fit: cover; }

/* 写真の組み写真（Figma の座標をそのまま割合にする） */
.f26-col { position: relative; aspect-ratio: var(--W) / var(--H); }
.f26-col > img, .f26-col > picture {
	position: absolute;
	left: calc(var(--x) / var(--W) * 100%);
	top: calc(var(--y) / var(--H) * 100%);
	width: calc(var(--w) / var(--W) * 100%);
	height: calc(var(--h) / var(--H) * 100%);
	object-fit: cover;
}
.f26-col > picture img { width: 100%; height: 100%; object-fit: cover; }

/* 見出し（左寄せ） */
.f26-head { display: flex; flex-direction: column; gap: 10px; }
.f26-head__en { font-size: 16px; line-height: 20px; letter-spacing: .05em; color: var(--f26-green); }
.f26-head__ja { font-size: 32px; line-height: 48px; letter-spacing: .03em; font-weight: 500; }
.f26-block--dark .f26-head__en { letter-spacing: .03em; }
.f26-text { margin-top: 30px !important; font-size: 14px; line-height: 35px; }
.f26-text--location { max-width: 792px; }
.f26-text--ceremony { max-width: 867px; }

/* 丸に矢印 */
.f26-arrow {
	display: block; width: 25px; height: 25px; margin: 0 auto;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25' fill='none'%3E%3Cpath d='M12.6152 18.6348C12.8105 18.8301 13.127 18.8301 13.3223 18.6348L16.5043 15.4528C16.6995 15.2576 16.6995 14.941 16.5043 14.7457C16.309 14.5505 15.9924 14.5505 15.7972 14.7457L12.9688 17.5741L10.1403 14.7457C9.94506 14.5505 9.62848 14.5505 9.43322 14.7457C9.23795 14.941 9.23795 15.2576 9.43322 15.4528L12.6152 18.6348ZM12.9688 5.78125H12.4688V18.2812H12.9688H13.4688V5.78125H12.9688Z' fill='%23189A98'/%3E%3Ccircle cx='12.5' cy='12.5' r='12' stroke='%23189A98'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* FV */
.f26-fv { position: relative; aspect-ratio: 1920 / 410; overflow: hidden; background: #000; }
.f26-fv > img { width: 100%; height: 100%; object-fit: cover; }
.f26-fv__text {
	position: absolute; top: 50%; transform: translateY(-50%);
	left: max(30px, calc(50% - 597px));
	display: flex; flex-direction: column; gap: 29px; color: #fff;
}
.f26-fv__en { font-size: 48px; line-height: 48px; }
.f26-fv__ja { font-size: 20px; line-height: 20px; font-weight: 600; }

/* Unknown Higashiyama */
.f26-intro { padding: 100px 0; }
.f26-intro__inner { width: min(656px, calc(100% - 60px)); margin: 0 auto; text-align: center; }
.f26-intro__en { font-size: 16px; line-height: 20px; letter-spacing: .03em; color: var(--f26-green); }
.f26-intro__ja { margin-top: 10px !important; font-size: 32px; line-height: 48px; letter-spacing: .03em; }
.f26-intro__text { margin-top: 30px !important; font-size: 14px; line-height: 35px; }

/* 鳥瞰図と引き出し線 */
.f26-map { position: relative; width: min(612px, 100%); margin: 60px auto 0; aspect-ratio: 612 / 376; text-align: left; }
.f26-map__img { position: absolute; left: 0; top: 9.04%; width: 86.6%; height: auto; }
.f26-map__lines {
	position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible;
	fill: none; stroke: var(--f26-ink); stroke-width: 1;
	filter: drop-shadow(2px 2px 2px #fff);
}
.f26-map__lines--sp { display: none; }
.f26-map__label {
	position: absolute; right: 0; top: calc(var(--t) / 376 * 100%);
	font-size: 16px; line-height: 16px; letter-spacing: .03em; font-weight: 600; white-space: nowrap;
	text-shadow: 2px 2px 4px #fff, 0 0 2px #fff;
	transition: opacity .3s;
}
.f26-map__label:hover { opacity: .5; }

/* ページ内リンクのカード */
.f26-nav { width: min(1050px, calc(100% - 60px)); margin: 130px auto 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.f26-card { display: flex; flex-direction: column; align-items: center; text-align: center; transition: opacity .3s; }
.f26-card:hover { opacity: .5; }
.f26-card__img { display: block; width: 100%; aspect-ratio: 250 / 150; overflow: hidden; }
.f26-card__img img { width: 100%; height: 100%; object-fit: cover; }
.f26-card__en { margin-top: 15px; font-size: 12px; line-height: 12px; letter-spacing: .03em; color: var(--f26-green); }
.f26-card__ja { margin-top: 8px; font-size: 20px; line-height: 20px; letter-spacing: .1em; font-weight: 600; }
.f26-card .f26-arrow { margin-top: 15px; }

/* 各ブロック（写真→見出し→本文→組み写真） */
.f26-block { padding-bottom: 100px; }
.f26-block > .f26-inner { margin-top: 75px; }
.f26-block .f26-col { margin-top: 75px; }
.f26-block--dark { background: #222; color: #fff; padding-bottom: 150px; }
.f26-block--gray { background: #f7f7f7; }

/* セレモニー */
.f26-cer { margin-top: 75px; }
.f26-block .f26-cer .f26-col { margin-top: 20px; }
.f26-sub__en { font-size: 12px; line-height: 18px; letter-spacing: .03em; color: var(--f26-green); }
.f26-sub__ja { font-size: 24px; line-height: 36px; letter-spacing: .03em; }
.f26-btn-line {
	display: flex; align-items: center; gap: 30px;
	width: 351px; height: 55px; margin: 75px auto 0; padding: 0 25px 0 50px;
	border: 1px solid #000; color: var(--f26-ink);
	font-size: 14px; line-height: 15px; white-space: nowrap;
	transition: background-color .3s, color .3s, border-color .3s;
}
.f26-btn-line svg { width: 9px; height: 15px; flex: none; fill: currentColor; }
.f26-btn-line:hover { background: var(--f26-green); border-color: var(--f26-green); color: #fff; }

/* パーティー（会場カード） */
.f26-party { background: #f7f7f7; padding: 75px 0; }
.f26-rooms { display: flex; justify-content: center; gap: 30px; margin-top: 30px; }
.f26-card--room { width: 250px; }
.f26-card__kana { margin-top: 10px; font-size: 14px; line-height: 35px; color: var(--f26-green); }
.f26-card__name { font-size: 20px; line-height: 20px; letter-spacing: .03em; }
.f26-card__cap { margin-top: 10px; font-size: 14px; line-height: 24px; letter-spacing: .1em; }
.f26-card--room .f26-arrow { margin-top: 15px; }

/* 会場（AKAGANE / HISUI） */
.f26-room { padding-bottom: 100px; text-align: center; }
.f26-room--dark { background: #222; color: #fff; }
.f26-room__line { display: block; width: 0; height: 50px; margin: 0 auto; border-left: .5px solid rgba(34, 34, 34, .5); }
.f26-room--dark .f26-room__line { border-left-color: rgba(255, 255, 255, .5); }
.f26-room__title { margin: 50px auto; }
.f26-room__name { font-size: 30px; line-height: 30px; letter-spacing: .03em; }
.f26-room__kana { font-size: 14px; line-height: 35px; }
.f26-room__cap { font-size: 14px; line-height: 24px; letter-spacing: .1em; }
.f26-room__text { margin: 75px auto 0 !important; width: min(935px, calc(100% - 60px)); font-size: 14px; line-height: 35px; }
.f26-room__text--hisui { width: min(620px, calc(100% - 60px)); }
.f26-room > .f26-inner { margin-top: 75px; }

/* PARTY REPORT */
.f26-report { width: min(530px, calc(100% - 60px)); margin: 75px auto 0; }
.f26-report__en { font-size: 24px; line-height: 24px; letter-spacing: .03em; color: var(--f26-green); }
.f26-report__lead { margin-top: 10px !important; font-size: 14px; line-height: 14px; letter-spacing: .07em; }
.f26-report__list { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: auto auto auto; column-gap: 30px; margin-top: 30px !important; text-align: left; }
.f26-report__list li { display: grid; grid-row: span 3; grid-template-rows: subgrid; }
.f26-report__list a { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0; transition: opacity .3s; }
.f26-report__list a:hover { opacity: .5; }
.f26-report__list img { width: 100%; height: auto; aspect-ratio: 250 / 169; object-fit: cover; }
.f26-report__title {
	display: flex; align-items: center; min-height: 36px; margin-top: 15px; padding-bottom: 9px;
	border-bottom: .5px solid rgba(34, 34, 34, .5);
	font-size: 12px; line-height: 18px; letter-spacing: .03em; font-weight: 600;
}
.f26-room--dark .f26-report__title { border-bottom-color: rgba(255, 255, 255, .5); letter-spacing: .1em; }
.f26-report dl { display: grid; grid-template-columns: 74px auto; column-gap: 20px; margin-top: 9px; font-size: 12px; line-height: 24px; letter-spacing: .03em; }
.f26-report dt { font-weight: 600; }

/* BRIDAL FAIR */
.f26-fair { position: relative; overflow: hidden; padding: 121px 30px 74px; color: #fff; text-align: center; }
.f26-fair__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.f26-fair::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .2); z-index: 1; }
.f26-fair__inner { position: relative; z-index: 2; width: min(637px, 100%); margin: 0 auto; }
.f26-fair__en { font-size: 48px; line-height: 48px; }
.f26-fair__text { margin-top: 45px !important; font-size: 15px; line-height: 28px; font-weight: 600; }
.f26-fair__btns { display: flex; justify-content: center; gap: 25px; margin-top: 45px; }
.f26-btn {
	position: relative; display: flex; align-items: center; justify-content: center;
	width: 306px; height: 50px; padding: 0 45px 0 25px;
	background: var(--f26-green); color: #fff; font-size: 16px; line-height: 23px; white-space: nowrap;
	transition: background-color .3s, opacity .3s;
}
.f26-btn svg { position: absolute; right: 25px; top: 50%; width: 9px; height: 15px; margin-top: -7.5px; fill: #fff; }
.f26-btn:hover { background: #93dcdb; opacity: .5; color: #fff; }

/* aspect-ratio 非対応のブラウザ（Safari 14 以前）向け：高さを確保する */
@supports not (aspect-ratio: 1 / 1) {
	.f26-col::before { content: ""; display: block; padding-top: calc(var(--H) / var(--W) * 100%); }
	.f26-map::before { content: ""; display: block; padding-top: 61.44%; }
	@media (max-width: 767px) {
		.f26-col::before { padding-top: calc(var(--SH) / var(--SW) * 100%); }
		.f26-map::before { padding-top: 60.91%; }
	}
}

/* ---------- SP ---------- */
@media (max-width: 767px) {
	/* 767px 以下はサイトのヘッダーが固定（高さ 70px）になる */
	.f26 { padding-top: 70px; }
	.f26 .f26-br-sp { display: inline; }
	.f26 .f26-br-pc { display: none; }
	.f26 .f26-anchor { padding-top: 70px !important; margin-top: -70px !important; }

	.f26-main { aspect-ratio: 365 / 234; }
	.f26-col { aspect-ratio: var(--SW) / var(--SH); }
	.f26-col > img, .f26-col > picture {
		left: calc(var(--sx) / var(--SW) * 100%);
		top: calc(var(--sy) / var(--SH) * 100%);
		width: calc(var(--sw) / var(--SW) * 100%);
		height: calc(var(--sh) / var(--SH) * 100%);
	}

	.f26-head__en { font-size: 16px; line-height: 16px; letter-spacing: .03em; }
	.f26-head__ja { font-size: 20px; line-height: 30px; }
	.f26-block--dark .f26-head__ja { color: rgba(255, 255, 255, .87); }
	.f26-text { font-size: 12px; line-height: 24px; }

	.f26-arrow { width: 20px; height: 20px; }

	.f26-fv { aspect-ratio: 365 / 185; }
	.f26-fv__text { left: 42px; gap: 15px; }
	.f26-fv__en { font-size: 25px; line-height: 25px; }
	.f26-fv__ja { font-size: 14px; line-height: 14px; }

	.f26-intro { padding: 50px 0; }
	.f26-intro__inner { width: calc(100% - 60px); }
	.f26-intro__ja { font-size: 20px; line-height: 30px; color: rgba(34, 34, 34, .87); }
	.f26-intro__text { font-size: 12px; line-height: 24px; }
	.f26-map { width: min(296px, 100%); aspect-ratio: 296 / 180.3; margin: 30px auto 0; }
	.f26-map__lines--pc { display: none; }
	.f26-map__lines--sp { display: block; stroke-width: .5; }
	.f26-map__label { top: calc(var(--st) / 180.3 * 100%); font-size: 10px; line-height: 12px; }

	.f26-nav { width: calc(100% - 60px); margin-top: 75px; grid-template-columns: repeat(2, 1fr); gap: 20px 10px; }
	.f26-card__en { margin-top: 13px; font-size: 10px; line-height: 10px; }
	.f26-card__ja { margin-top: 5px; font-size: 14px; line-height: 14px; }
	.f26-card .f26-arrow { margin-top: 10px; }

	.f26-block, .f26-block--dark { padding-bottom: 75px; }
	.f26-block > .f26-inner { margin-top: 50px; }
	.f26-block .f26-col { margin-top: 50px; }

	.f26-cer { margin-top: 50px; }
	.f26-block .f26-cer .f26-col { margin-top: 15px; }
	.f26-sub__en { font-size: 10px; line-height: 10px; }
	.f26-sub__ja { font-size: 18px; line-height: 30px; }
	.f26-btn-line { width: 280px; height: 50px; margin-top: 50px; padding: 0 20px 0 30px; gap: 27px; font-size: 12px; line-height: 12px; }

	.f26-party { padding: 50px 0; }
	.f26-rooms { gap: 10px; margin-top: 50px; }
	.f26-card--room { width: calc((100% - 10px) / 2); }
	.f26-card--room .f26-card__img { aspect-ratio: 148 / 89; }
	.f26-card__kana { margin-top: 5px; font-size: 12px; line-height: 21px; }
	.f26-card__name { font-size: 14px; line-height: 20px; }
	.f26-card__cap { margin-top: 0; font-size: 12px; line-height: 24px; letter-spacing: 0; }
	.f26-card--room .f26-arrow { margin-top: 7px; }

	.f26-room { padding-bottom: 75px; }
	.f26-room__line { height: 30px; }
	.f26-room__title { margin: 25px auto; }
	.f26-room__name { font-family: "游明朝", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif !important; font-weight: 500 !important; font-size: 18px; line-height: 27px; }
	.f26-room__kana, .f26-room__cap { font-size: 12px; line-height: 24px; letter-spacing: 0; }
	.f26-room .f26-main { aspect-ratio: 365 / 243; }
	.f26-room__text, .f26-room__text--hisui { margin-top: 50px !important; width: calc(100% - 44px); font-size: 12px; line-height: 24px; letter-spacing: .03em; }
	.f26-room > .f26-inner { margin-top: 50px; }

	.f26-report { width: calc(100% - 60px); margin-top: 50px; }
	.f26-report__en { font-size: 18px; line-height: 18px; }
	.f26-report__lead { margin-top: 5px !important; font-size: 12px; line-height: 12px; letter-spacing: .03em; }
	.f26-report__list { column-gap: 10px; margin-top: 25px !important; }
	.f26-report__list img { aspect-ratio: 148 / 100; }
	.f26-report__title { justify-content: center; text-align: center; margin-top: 5px; padding-bottom: 5px; letter-spacing: .03em; }
	.f26-room--dark .f26-report__title { letter-spacing: .03em; }
	.f26-report dl { grid-template-columns: 62px auto; margin-top: 5px; font-size: 10px; line-height: 20px; }

	.f26-fair { padding: 63px 30px 44px; }
	.f26-fair__en { font-size: 28px; line-height: 28px; }
	.f26-fair__text { margin-top: 25px !important; font-size: 12px; line-height: 24px; }
	.f26-fair__btns { flex-direction: column; align-items: center; gap: 20px; margin-top: 25px; }
	.f26-btn { width: 100%; max-width: 306px; height: 55px; }
}
