/*
Theme Name: Cocoon Child
Template: cocoon-master
Version: 1.1.3
*/

/* =====================================================
   遊漁船すい丸 style.css 上書き用 完全版
   - トップページ用デザイン
   - 下層ページ共通ヘッダー・フッター用デザイン
   - 不要になった旧スライダーCSSを整理
===================================================== */

:root {
	--suimaru-navy: #002d62;
	--suimaru-deep: #001b42;
	--suimaru-blue: #075fb8;
	--suimaru-light-blue: #eaf5fb;
	--suimaru-gold: #dfb94f;
	--suimaru-cream: #faf7ef;
	--suimaru-green: #25d366;
	--suimaru-text: #17314f;
	--suimaru-white: #ffffff;
	--suimaru-max: 1180px;
}

/* =========================
   基本設定
========================= */
.suimaru-home,
.suimaru-home * {
	box-sizing: border-box;
}

.suimaru-home {
	background:
		linear-gradient(rgba(0, 35, 77, 0.93), rgba(0, 35, 77, 0.93)),
		radial-gradient(circle at 50% 10%, #087bb8 0%, #002d62 55%, #001b42 100%);
	color: #ffffff;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	line-height: 1.8;
	overflow: hidden;
}

.suimaru-home h1,
.suimaru-home h2,
.suimaru-home h3,
.suimaru-home p {
	margin-top: 0;
}

.suimaru-home a {
	text-decoration: none;
}

.suimaru-inner {
	width: min(calc(100% - 40px), var(--suimaru-max));
	margin-inline: auto;
}

.suimaru-section {
	position: relative;
	padding: 88px 0;
}

.suimaru-home .suimaru-section:not(.suimaru-target):not(.suimaru-section--dark):not(.suimaru-reservation) {
	background: var(--suimaru-cream);
	color: var(--suimaru-text);
}

.suimaru-section--pale,
.suimaru-home .suimaru-section--pale {
	background: #f4f8fb;
}

.suimaru-section--dark {
	background: var(--suimaru-deep);
	color: #d9e8ed;
}

.suimaru-section--dark h2 {
	color: #ffffff;
}

.suimaru-kicker {
	margin-bottom: 8px;
	color: #a67c20;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.22em;
}

.suimaru-kicker--light {
	color: #f3d578;
}

.suimaru-home h2 {
	margin-bottom: 28px;
	color: var(--suimaru-navy);
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: clamp(1.8rem, 3vw, 2.7rem);
	letter-spacing: .08em;
	line-height: 1.35;
}

.suimaru-section-lead {
	max-width: 820px;
	margin-bottom: 38px;
	font-size: 1.05rem;
}

.suimaru-two-column {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 70px;
	align-items: start;
}

/* =========================
   ヘッダー
========================= */
.suimaru-site-header {
	position: sticky;
	top: 0;
	z-index: 9998;
	border-bottom: 2px solid var(--suimaru-gold);
	background: rgba(0, 27, 66, 0.97);
	box-shadow: 0 8px 24px rgba(0, 17, 45, 0.24);
	backdrop-filter: blur(10px);
}

.suimaru-site-header__inner {
	display: flex;
	width: min(calc(100% - 32px), var(--suimaru-max));
	min-height: 92px;
	align-items: center;
	justify-content: space-between;
	margin: auto;
	gap: 26px;
}

.suimaru-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #ffffff !important;
	text-decoration: none !important;
}

.suimaru-brand__mark {
	display: grid;
	width: 64px;
	height: 64px;
	place-items: center;
	border: 2px solid #ffffff;
	border-radius: 50%;
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1;
}

.suimaru-brand__text {
	display: grid;
	line-height: 1.05;
}

.suimaru-brand__text small {
	font-size: 0.8rem;
	letter-spacing: 0.16em;
}

.suimaru-brand__text strong {
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: 2.1rem;
	letter-spacing: 0.12em;
}

.suimaru-global-nav {
	display: flex;
	gap: 22px;
	align-items: center;
}

.suimaru-global-nav a {
	position: relative;
	color: #ffffff !important;
	font-size: 0.9rem;
	font-weight: 700;
	white-space: nowrap;
}

.suimaru-global-nav a::after {
	position: absolute;
	right: 0;
	bottom: -8px;
	left: 0;
	height: 2px;
	background: var(--suimaru-gold);
	content: "";
	transform: scaleX(0);
	transition: transform 0.2s;
}

.suimaru-global-nav a:hover::after {
	transform: scaleX(1);
}

.suimaru-header-contact {
	display: grid;
	min-width: 180px;
	min-height: 62px;
	place-content: center;
	padding: 10px 22px;
	border-radius: 4px;
	background: linear-gradient(135deg, #237de3, #0753b3);
	color: #ffffff !important;
	text-align: center;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.2);
}

.suimaru-header-contact span {
	font-size: 0.72rem;
}

.suimaru-header-contact strong {
	font-size: 1rem;
}

/* =========================
   ファーストビュー
========================= */
.suimaru-hero {
	position: relative;
	display: grid;
	min-height: 620px;
	align-items: center;
	overflow: hidden;
	border-bottom: 1px solid rgba(223, 185, 79, 0.55);
	background: var(--suimaru-deep);
}

.suimaru-hero__image {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(6, 56, 77, 0.08), rgba(6, 56, 77, 0.1)),
		url("https://suimaru.net/wp-content/uploads/suimaru-boat-placeholder.svg") center / cover no-repeat;
}

.suimaru-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(0, 19, 51, .92), rgba(0, 45, 98, .58), rgba(0, 40, 83, .18)),
		linear-gradient(180deg, transparent 65%, rgba(0, 27, 66, .72));
}

.suimaru-hero__content {
	position: relative;
	z-index: 2;
	width: min(calc(100% - 40px), var(--suimaru-max));
	margin: auto;
	padding: 80px 0;
	color: #ffffff;
}

.suimaru-eyebrow {
	display: inline-block;
	margin-bottom: 22px;
	padding: 7px 14px;
	border: 1px solid var(--suimaru-gold);
	color: #fff6cf;
	font-size: 0.85rem;
	letter-spacing: 0.1em;
}

.suimaru-hero h1 {
	margin-bottom: 24px;
	color: #ffffff;
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: clamp(2.5rem, 6vw, 5rem);
	line-height: 1.17;
	letter-spacing: 0.05em;
	text-shadow: 0 4px 20px rgba(0, 14, 42, .65);
}

.suimaru-hero__lead {
	font-size: clamp(1rem, 2vw, 1.2rem);
}

.suimaru-image-note {
	margin-top: 18px;
	font-size: 0.76rem;
	opacity: 0.78;
}

.suimaru-capacity {
	position: absolute;
	right: max(20px, calc((100vw - var(--suimaru-max)) / 2));
	bottom: 34px;
	z-index: 3;
	display: flex;
	width: 132px;
	height: 132px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--suimaru-gold);
	border-radius: 50%;
	background: rgba(0, 31, 76, .72);
	color: #ffffff;
	backdrop-filter: blur(7px);
}

.suimaru-capacity small {
	font-size: 0.62rem;
	letter-spacing: 0.18em;
}

.suimaru-capacity strong {
	font-size: 2.7rem;
	line-height: 1;
}

.suimaru-capacity span {
	font-size: 0.7rem;
}

/* =========================
   ボタン
========================= */
.suimaru-buttons {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 34px;
}

.suimaru-buttons--center {
	justify-content: center;
}

.suimaru-btn {
	display: inline-flex;
	min-height: 54px;
	align-items: center;
	justify-content: center;
	padding: 13px 28px;
	border-radius: 4px;
	font-weight: 800;
	transition: transform 0.2s, opacity 0.2s;
}

.suimaru-btn:hover {
	transform: translateY(-2px);
	opacity: 0.92;
}

.suimaru-btn--line {
	background: var(--suimaru-green);
	color: #073a30 !important;
}

.suimaru-btn--ghost {
	border: 1px solid #ffffff;
	background: rgba(255, 255, 255, 0.07);
	color: #ffffff !important;
}

.suimaru-btn--dark {
	background: var(--suimaru-navy);
	color: #ffffff !important;
}

.suimaru-btn--shop {
	background: #9a7439;
	color: #ffffff !important;
}

.suimaru-text-link {
	color: var(--suimaru-blue) !important;
	font-weight: 800;
}

/* =========================
   コンセプト・船長紹介
========================= */
.suimaru-concept::after,
.suimaru-access::before {
	position: absolute;
	right: 0;
	left: 0;
	height: 24px;
	background:
		radial-gradient(28px 12px at 28px 0, transparent 27px, rgba(7, 95, 184, .16) 28px, transparent 30px) 0 0 / 56px 24px repeat-x;
	content: "";
	pointer-events: none;
}

.suimaru-concept::after {
	bottom: 0;
}

.suimaru-access::before {
	top: 0;
	transform: rotate(180deg);
}

.suimaru-captain {
	display: grid;
	grid-template-columns: minmax(280px, 0.8fr) 1.2fr;
	gap: 70px;
	align-items: center;
}

.suimaru-captain__photo {
	display: grid;
	min-height: 480px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: linear-gradient(145deg, #144d63, #082d3c);
	color: #b8d3dc;
	text-align: center;
	letter-spacing: 0.1em;
}

.suimaru-profile {
	margin-top: 30px;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.suimaru-profile div {
	display: grid;
	grid-template-columns: 110px 1fr;
	padding: 12px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.suimaru-profile dt {
	color: #8fc6d8;
	font-size: 0.78rem;
}

.suimaru-profile dd {
	margin: 0;
	color: #ffffff;
	font-weight: 700;
}

/* =========================
   料金・プラン
========================= */
.suimaru-home #suimaru-plans .suimaru-inner {
	padding: 48px;
	border-radius: 6px;
	background: #fffdf8;
	box-shadow: 0 20px 50px rgba(0, 31, 70, .12);
}

.suimaru-home #suimaru-plans .suimaru-kicker,
.suimaru-home #suimaru-plans h2,
.suimaru-home .suimaru-access .suimaru-kicker,
.suimaru-home .suimaru-access h2 {
	text-align: center;
}

.suimaru-home #suimaru-plans h2 {
	color: var(--suimaru-navy);
}

.suimaru-home #suimaru-plans h2::before,
.suimaru-home #suimaru-plans h2::after {
	display: inline-block;
	width: 70px;
	height: 1px;
	margin: 0 18px 9px;
	background: var(--suimaru-navy);
	content: "";
}

.suimaru-price-list {
	overflow: hidden;
	border: 1px solid #bcc8d5;
	border-radius: 4px;
}

.suimaru-price-list::before {
	display: grid;
	grid-template-columns: 1fr 220px;
	padding: 12px 0;
	background: linear-gradient(180deg, #063c79, #002d62);
	color: #ffffff;
	font-weight: 800;
	content: "プラン　　　　　　　　　　　　　　　料金";
	text-align: center;
	white-space: pre;
}

.suimaru-price-list article {
	display: grid;
	grid-template-columns: 82px minmax(0, 1fr) 220px;
	gap: 22px;
	align-items: center;
	padding: 18px 24px;
	border-bottom: 1px solid #c8d1da;
	background: #ffffff;
}

.suimaru-price-list article:last-child {
	border-bottom: 0;
}

.suimaru-plan-icon {
	display: grid;
	width: 66px;
	height: 66px;
	place-items: center;
	border: 1px solid #c7d7e5;
	border-radius: 50%;
	background: #edf5fb;
}

.suimaru-plan-icon svg {
	width: 42px;
	height: 42px;
	fill: none;
	stroke: #07569c;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.suimaru-plan-number {
	color: var(--suimaru-blue);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.15em;
}

.suimaru-price-list h3 {
	margin: 6px 0 4px;
	color: #102b50;
	font-size: 1.35rem;
}

.suimaru-plan-copy p {
	margin-bottom: 0;
	font-size: .9rem;
}

.suimaru-price {
	display: grid;
	padding-left: 30px;
	border-left: 1px solid #c8d1da;
	text-align: right;
}

.suimaru-price small,
.suimaru-price em {
	color: #6c8088;
	font-size: 0.72rem;
	font-style: normal;
}

.suimaru-price strong {
	color: #102b50;
	font-size: 1.2rem;
}

.suimaru-notice {
	margin-top: 38px;
	padding: 28px;
	border-left: 4px solid var(--suimaru-blue);
	background: #ffffff;
}

.suimaru-notice h3 {
	color: var(--suimaru-navy);
	font-size: 1.05rem;
}

.suimaru-notice ul {
	margin-bottom: 0;
}

/* =========================
   セクション装飾
========================= */
.suimaru-section-symbol {
	display: grid;
	width: 110px;
	height: 44px;
	place-items: center;
	margin: 0 auto 8px;
}

.suimaru-section-symbol svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: var(--suimaru-gold);
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* =========================
   最新釣果
========================= */
.suimaru-heading-row {
	display: flex;
	gap: 20px;
	align-items: end;
	justify-content: space-between;
	margin-bottom: 28px;
}

.suimaru-heading-row h2 {
	margin-bottom: 0;
}

.suimaru-post-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
}

.suimaru-post-card,
.suimaru-shop-card,
.suimaru-experience-grid article {
	border-radius: 5px;
	box-shadow: 0 10px 30px rgba(0, 31, 70, .11);
}

.suimaru-post-card a {
	color: inherit;
}

.suimaru-post-card__image,
.suimaru-shop-card__image {
	position: relative;
	display: grid;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	place-items: center;
	background: linear-gradient(145deg, #b9dce8, #5b9cb3);
	color: #ffffff;
	font-weight: 800;
}

.suimaru-post-card__image::after,
.suimaru-shop-card__image::after {
	position: absolute;
	right: 13px;
	bottom: 11px;
	width: 32px;
	height: 18px;
	background:
		linear-gradient(135deg, transparent 42%, rgba(255,255,255,.72) 43% 56%, transparent 57%) right center / 13px 18px no-repeat,
		ellipse at 38% 50%;
	content: "";
	opacity: .58;
}

.suimaru-post-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
}

.suimaru-post-card a:hover img {
	transform: scale(1.04);
}

.suimaru-post-card time {
	display: block;
	margin: 14px 0 4px;
	color: #6b7d84;
	font-size: 0.78rem;
}

.suimaru-post-card h3 {
	color: var(--suimaru-navy);
	font-size: 1rem;
	line-height: 1.6;
}

/* =========================
   狙う魚と魚図鑑
========================= */
.suimaru-target {
	padding: 80px 0 92px;
	background:
		linear-gradient(rgba(0, 35, 77, .82), rgba(0, 35, 77, .95)),
		repeating-linear-gradient(0deg, transparent 0, transparent 34px, rgba(255,255,255,.035) 35px);
	color: #ffffff;
}

.suimaru-target::before {
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 50% -20%, rgba(30, 135, 192, .6), transparent 52%);
	content: "";
	pointer-events: none;
}

.suimaru-target .suimaru-inner {
	position: relative;
	z-index: 1;
}

.suimaru-home .suimaru-target h2 {
	margin-bottom: 12px;
	color: #ffffff !important;
	font-size: clamp(2rem, 4vw, 3.4rem);
	text-align: center;
	text-shadow: 0 3px 14px rgba(0,0,0,.4);
}

.suimaru-home .suimaru-target > .suimaru-inner > .suimaru-kicker,
.suimaru-home .suimaru-target .suimaru-kicker {
	color: #ffffff !important;
	text-align: center;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
	opacity: 0.92;
}

.suimaru-target-lead {
	max-width: 840px;
	margin: 0 auto 34px;
	color: rgba(255, 255, 255, 0.9);
	font-size: 1.02rem;
	line-height: 1.9;
	text-align: center;
}

.suimaru-target-random-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
	margin-top: 34px;
}

.suimaru-target-card {
	display: flex;
	min-height: 0;
	flex-direction: column;
	overflow: hidden;
	padding: 0;
	border: 1px solid rgba(223, 185, 79, .42);
	border-radius: 5px;
	background: linear-gradient(180deg, #fbf8f0 0 48%, #003167 48% 100%);
	box-shadow: 0 14px 30px rgba(0, 14, 40, .3);
}

.suimaru-target-image {
	display: grid;
	min-height: 250px;
	place-items: center;
	padding: 20px 10px;
	background: transparent !important;
}

.suimaru-target-image img {
	display: block;
	width: 100%;
	max-width: 300px;
	height: 180px;
	margin: auto;
	object-fit: contain !important;
	background: transparent !important;
	filter: drop-shadow(0 10px 9px rgba(0, 34, 66, .14));
}

.suimaru-target-title {
	display: block !important;
	padding: 0 18px 14px;
	border-bottom: 1px dotted rgba(255,255,255,.52);
}

.suimaru-target-title span {
	display: none !important;
}

.suimaru-target-title h3 {
	margin: 0 0 12px !important;
	color: #ffffff;
	font-size: 1.35rem;
	line-height: 1.2;
	text-align: center;
}

.suimaru-target-card p {
	margin: 0;
	padding: 18px;
	background: linear-gradient(180deg, #00366f, #002657);
	color: #ffffff;
	font-size: .91rem;
	line-height: 1.85;
	flex: 1;
}

.suimaru-target-note {
	margin: 24px 0 0;
	color: rgba(255,255,255,.82);
	font-size: .82rem;
	text-align: center;
}

.suimaru-target-guide-links {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 30px;
}

.suimaru-target-guide-links .suimaru-btn--light {
	background: #ffffff;
	color: var(--suimaru-navy) !important;
}

/* 旧スライダーHTMLが残っていても非表示 */
.suimaru-target-slider,
.suimaru-target-track {
	display: none !important;
}

/* =========================
   鮮魚販売
========================= */
.suimaru-shop {
	background: #f7f2e9;
}

.suimaru-shop-heading {
	display: flex;
	gap: 30px;
	align-items: flex-start;
	justify-content: space-between;
}

.suimaru-shop-heading > div {
	max-width: 820px;
}

.suimaru-shop-status {
	flex: 0 0 auto;
	padding: 8px 16px;
	border: 1px solid #a77c3c;
	border-radius: 999px;
	background: rgba(255, 255, 255, .78);
	color: #725321;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.suimaru-shop-message {
	margin: -10px 0 32px;
	padding: 24px 28px;
	border-left: 4px solid #b68b48;
	background: rgba(255, 255, 255, 0.72);
}

.suimaru-shop-message p {
	margin-bottom: 0;
	color: #243b4a;
	font-weight: 700;
	line-height: 1.9;
}

.suimaru-shop-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.suimaru-shop-card {
	overflow: hidden;
	background: #ffffff;
}

.suimaru-shop-card__image--order,
.suimaru-shop-card__image--network,
.suimaru-shop-card__image--seasonal,
.suimaru-shop-card__image--suimaru {
	background:
		linear-gradient(rgba(0, 45, 98, .62), rgba(0, 45, 98, .62)),
		linear-gradient(135deg, #dcecf1, #7baec2);
}

.suimaru-shop-card__image--order::before,
.suimaru-shop-card__image--network::before,
.suimaru-shop-card__image--seasonal::before,
.suimaru-shop-card__image--suimaru::before {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: rgba(255,255,255,.22);
	font-size: 5rem;
	font-weight: 900;
	line-height: 1;
}

.suimaru-shop-card__image--order::before { content: "注"; }
.suimaru-shop-card__image--network::before { content: "鹿"; }
.suimaru-shop-card__image--seasonal::before { content: "旬"; }
.suimaru-shop-card__image--suimaru::before { content: "釣"; }

.suimaru-shop-card__body {
	padding: 25px;
}

.suimaru-shop-card__body small {
	color: #9a7439;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.13em;
}

.suimaru-shop-card__body h3 {
	margin: 8px 0 12px;
	color: var(--suimaru-navy);
	font-size: 1.22rem;
}

.suimaru-shop-external {
	margin-top: 38px;
	padding: 34px;
	background: #ffffff;
	text-align: center;
}

.suimaru-shop-external p {
	margin-bottom: 18px;
	color: var(--suimaru-navy);
	font-weight: 700;
}

.suimaru-shop-external small {
	display: block;
	margin-top: 14px;
	color: #6b7478;
	font-size: 0.76rem;
}

.suimaru-shop-note {
	margin-top: 34px;
	padding: 24px;
	border-left: 4px solid #b68b48;
	background: rgba(255, 255, 255, 0.72);
}

.suimaru-shop-note h3 {
	margin-bottom: 8px;
	color: var(--suimaru-navy);
	font-size: 1rem;
}

.suimaru-shop-note p {
	margin-bottom: 0;
	font-size: 0.88rem;
}

/* =========================
   海の体験
========================= */
.suimaru-experience {
	background: #ffffff;
}

.suimaru-experience-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

.suimaru-experience-grid article {
	position: relative;
	min-height: 280px;
	padding: 32px;
	border-top: 3px solid var(--suimaru-blue);
	background: #f5f9fa;
}

.suimaru-experience-grid h3 {
	margin-top: 52px;
	color: var(--suimaru-navy);
	font-size: 1.25rem;
}

.suimaru-status {
	position: absolute;
	top: 26px;
	left: 32px;
	display: inline-block;
	padding: 4px 11px;
	border-radius: 20px;
	background: var(--suimaru-gold);
	color: #263b43;
	font-size: 0.72rem;
	font-weight: 800;
}

.suimaru-wildlife-note {
	margin-top: 28px;
	padding: 17px 20px;
	border: 1px solid #d7e5e9;
	color: #50666f;
	font-size: 0.88rem;
}

/* =========================
   初めての方
========================= */
.suimaru-steps {
	margin: 0;
	padding: 0;
	list-style: none;
}

.suimaru-steps li {
	display: flex;
	gap: 18px;
	align-items: center;
	padding: 18px 0;
	border-bottom: 1px solid #cbdce2;
}

.suimaru-steps b {
	color: var(--suimaru-blue);
	font-size: 0.8rem;
	letter-spacing: 0.1em;
}

.suimaru-steps span {
	color: var(--suimaru-navy);
	font-weight: 700;
}

/* =========================
   集合場所・駐車場
========================= */
.suimaru-access {
	background: #ffffff;
}

.suimaru-access-grid {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 50px;
	align-items: start;
}

.suimaru-access-map__placeholder {
	display: flex;
	min-height: 350px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
	padding: 30px;
	background:
		linear-gradient(rgba(5, 49, 68, 0.72), rgba(5, 49, 68, 0.72)),
		linear-gradient(135deg, #7eb4c5, #d9edf3);
	color: #ffffff;
	text-align: center;
}

.suimaru-access-map__placeholder span {
	margin-bottom: 14px;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.22em;
}

.suimaru-access-map__placeholder strong {
	font-size: 2rem;
	letter-spacing: 0.08em;
}

.suimaru-access-map__placeholder small {
	margin-top: 8px;
	font-size: 0.84rem;
}

.suimaru-access-map .suimaru-btn {
	width: 100%;
}

.suimaru-access-info dl {
	margin: 0;
	border-top: 1px solid #cadbe1;
}

.suimaru-access-info dl > div {
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: 20px;
	padding: 17px 0;
	border-bottom: 1px solid #cadbe1;
}

.suimaru-access-info dt {
	color: var(--suimaru-blue);
	font-size: 0.82rem;
	font-weight: 800;
}

.suimaru-access-info dd {
	margin: 0;
	color: var(--suimaru-text);
}

.suimaru-access-notice {
	margin-top: 28px;
	padding: 25px;
	border-left: 4px solid var(--suimaru-gold);
	background: #f7fafb;
}

.suimaru-access-notice h3 {
	margin-bottom: 12px;
	color: var(--suimaru-navy);
	font-size: 1rem;
}

.suimaru-access-notice ul {
	margin-bottom: 0;
	padding-left: 1.3em;
}

.suimaru-arrival-flow {
	margin-top: 50px;
	padding: 34px;
	background: var(--suimaru-light-blue);
}

.suimaru-arrival-flow h3 {
	margin-bottom: 20px;
	color: var(--suimaru-navy);
}

.suimaru-arrival-flow ol {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.suimaru-arrival-flow li {
	min-height: 145px;
	padding: 20px;
	background: #ffffff;
}

.suimaru-arrival-flow b {
	display: block;
	margin-bottom: 12px;
	color: var(--suimaru-blue);
	font-size: 0.76rem;
	letter-spacing: 0.1em;
}

.suimaru-arrival-flow span {
	color: var(--suimaru-navy);
	font-size: 0.92rem;
	font-weight: 700;
}

/* =========================
   予約
========================= */
.suimaru-reservation {
	padding: 86px 0;
	border-top: 2px solid var(--suimaru-gold);
	background:
		linear-gradient(rgba(0, 36, 80, .9), rgba(0, 27, 66, .96)),
		linear-gradient(135deg, #0b6cab, #001b42);
	color: #ffffff;
	text-align: center;
}

.suimaru-reservation h2 {
	color: #ffffff;
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
}

.suimaru-registration {
	display: flex;
	max-width: 600px;
	gap: 18px;
	justify-content: center;
	flex-wrap: wrap;
	margin: 35px auto 0;
	padding-top: 25px;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	font-size: 0.85rem;
}

.suimaru-registration strong {
	color: #ffffff;
}

/* =========================
   フッター
========================= */
.suimaru-custom-footer {
	border-top: 2px solid var(--suimaru-gold);
	background: #001a3e;
	color: #d8e5f2;
}

.suimaru-custom-footer__grid {
	display: grid;
	grid-template-columns: 1.35fr .85fr;
	gap: 45px 70px;
	padding-top: 55px;
	padding-bottom: 42px;
}

.suimaru-custom-footer__brand {
	display: flex;
	gap: 20px;
	align-items: center;
}

.suimaru-custom-footer__mark {
	display: grid;
	width: 82px;
	height: 82px;
	flex: 0 0 82px;
	place-items: center;
	border: 2px solid #fff;
	border-radius: 50%;
	color: #fff;
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: 1.2rem;
	font-weight: 800;
}

.suimaru-custom-footer__brand small,
.suimaru-custom-footer__brand strong {
	display: block;
}

.suimaru-custom-footer__brand strong {
	margin: 4px 0;
	color: #fff;
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: 1.8rem;
	letter-spacing: .1em;
}

.suimaru-custom-footer__brand p {
	margin-bottom: 0;
	font-size: .84rem;
}

.suimaru-custom-footer__nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 22px;
	align-content: center;
}

.suimaru-custom-footer__nav a {
	padding-bottom: 7px;
	border-bottom: 1px solid rgba(255,255,255,.13);
	color: #fff !important;
	font-size: .85rem;
}

.suimaru-custom-footer__legal {
	grid-column: 1 / -1;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	padding-top: 22px;
	border-top: 1px solid rgba(255,255,255,.13);
	font-size: .76rem;
}

.suimaru-custom-footer__legal a {
	color: #d8e5f2 !important;
}

.suimaru-custom-footer__bottom {
	padding: 14px;
	background: #00132e;
	text-align: center;
}

/* =========================
   スマートフォン固定メニュー
========================= */
.suimaru-mobile-fixed {
	display: none;
}

/* =========================
   Cocoonトップページ調整
========================= */
body.suimaru-front-page #header-container,
body.suimaru-front-page #header-container-in,
body.suimaru-front-page .header-container,
body.suimaru-front-page .navi,
body.suimaru-front-page #navi,
body.suimaru-front-page #footer,
body.suimaru-front-page .footer,
body.suimaru-front-page #footer-in,
body.suimaru-front-page .footer-bottom,
body.suimaru-front-page .mobile-menu-buttons,
body.suimaru-front-page .mobile-footer-menu-buttons,
.suimaru-front-page .entry-title,
.suimaru-front-page .date-tags,
.suimaru-front-page .sns-share,
.suimaru-front-page .sns-follow,
.suimaru-front-page .author-info,
.suimaru-front-page .article-header {
	display: none !important;
}

.suimaru-front-page .entry-content {
	margin-top: 0;
}

.suimaru-front-page #main,
.suimaru-front-page .main {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.suimaru-front-page .content,
.suimaru-front-page .content-in {
	width: 100%;
	max-width: none;
	margin-top: 0 !important;
}

.suimaru-front-page .article {
	margin: 0;
}

/* =========================
   下層ページ調整
   functions.php 側で suimaru-lower-common-final が付く前提
========================= */
body.suimaru-lower-common-final {
	background: var(--suimaru-cream) !important;
	color: var(--suimaru-text) !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
}

body.suimaru-lower-common-final .header-container,
body.suimaru-lower-common-final #header-container,
body.suimaru-lower-common-final #header-container-in,
body.suimaru-lower-common-final #header,
body.suimaru-lower-common-final .site-header:not(.suimaru-site-header),
body.suimaru-lower-common-final #navi,
body.suimaru-lower-common-final .navi,
body.suimaru-lower-common-final #sidebar,
body.suimaru-lower-common-final .sidebar,
body.suimaru-lower-common-final aside,
body.suimaru-lower-common-final #footer,
body.suimaru-lower-common-final .footer,
body.suimaru-lower-common-final #footer-container,
body.suimaru-lower-common-final .footer-container,
body.suimaru-lower-common-final #footer-in,
body.suimaru-lower-common-final .footer-bottom {
	display: none !important;
}

body.suimaru-lower-common-final .content,
body.suimaru-lower-common-final .content-in,
body.suimaru-lower-common-final .main,
body.suimaru-lower-common-final main,
body.suimaru-lower-common-final #content,
body.suimaru-lower-common-final .wrap {
	max-width: 1120px !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 54px 20px 86px !important;
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	float: none !important;
}

body.suimaru-lower-common-final .content-in {
	display: block !important;
}

body.suimaru-lower-common-final .main {
	width: 100% !important;
}

body.suimaru-lower-common-final .archive-title,
body.suimaru-lower-common-final .entry-title,
body.suimaru-lower-common-final h1 {
	margin: 8px 0 34px !important;
	padding: 0 !important;
	font-size: clamp(32px, 5vw, 50px) !important;
	font-weight: 900 !important;
	letter-spacing: 0.06em !important;
	line-height: 1.28 !important;
	color: var(--suimaru-navy) !important;
	text-align: center !important;
	border: none !important;
	background: transparent !important;
}

body.suimaru-lower-common-final.category .archive-title::before,
body.suimaru-lower-common-final.category .entry-title::before,
body.suimaru-lower-common-final.category h1::before {
	content: "SUIMARU";
	display: block;
	margin-bottom: 10px;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.18em;
	color: var(--suimaru-blue);
}

body.suimaru-lower-common-final article,
body.suimaru-lower-common-final .article,
body.suimaru-lower-common-final .entry-card-wrap,
body.suimaru-lower-common-final .ect-entry-card,
body.suimaru-lower-common-final .not-found,
body.suimaru-lower-common-final .no-results,
body.suimaru-lower-common-final .entry-content {
	background: #ffffff !important;
	border-radius: 24px !important;
	margin-bottom: 24px !important;
	padding: 28px !important;
	border: 1px solid rgba(18,49,58,0.10) !important;
	box-shadow: 0 14px 34px rgba(18,49,58,0.10) !important;
	overflow: hidden !important;
}

body.suimaru-lower-common-final article a,
body.suimaru-lower-common-final .entry-card-wrap a {
	color: var(--suimaru-navy) !important;
	text-decoration: none !important;
}

body.suimaru-lower-common-final .entry-card-title,
body.suimaru-lower-common-final article h2 {
	color: var(--suimaru-navy) !important;
	font-weight: 900 !important;
}

body.suimaru-lower-common-final .entry-card-snippet,
body.suimaru-lower-common-final .post-date,
body.suimaru-lower-common-final .entry-card-meta,
body.suimaru-lower-common-final .e-card-info,
body.suimaru-lower-common-final .breadcrumb {
	color: #5f7680 !important;
}

/* =========================
   タブレット
========================= */
@media screen and (max-width: 1050px) {
	.suimaru-global-nav {
		display: none;
	}

	.suimaru-site-header__inner {
		min-height: 80px;
	}

	.suimaru-price-list::before {
		display: none;
	}
}

@media screen and (max-width: 900px) {
	.suimaru-section {
		padding: 68px 0;
	}

	.suimaru-two-column,
	.suimaru-captain {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.suimaru-captain__photo {
		min-height: 360px;
	}

	.suimaru-post-grid,
	.suimaru-experience-grid,
	.suimaru-shop-grid {
		grid-template-columns: 1fr;
	}

	.suimaru-target-random-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.suimaru-price-list article {
		grid-template-columns: 70px minmax(0, 1fr) 170px;
	}

	.suimaru-access-grid {
		grid-template-columns: 1fr;
		gap: 35px;
	}

	.suimaru-arrival-flow ol {
		grid-template-columns: repeat(2, 1fr);
	}

	.suimaru-custom-footer__grid {
		grid-template-columns: 1fr;
	}
}

/* =========================
   スマートフォン
========================= */
@media screen and (max-width: 600px) {
	.suimaru-inner,
	.suimaru-hero__content {
		width: min(calc(100% - 28px), var(--suimaru-max));
	}

	.suimaru-section {
		padding: 54px 0;
	}

	.suimaru-site-header__inner {
		width: calc(100% - 20px);
		min-height: 68px;
		gap: 10px;
	}

	.suimaru-brand__mark {
		width: 48px;
		height: 48px;
		font-size: .75rem;
	}

	.suimaru-brand__text small {
		font-size: .58rem;
	}

	.suimaru-brand__text strong {
		font-size: 1.32rem;
	}

	.suimaru-header-contact {
		min-width: 120px;
		min-height: 48px;
		padding: 8px 10px;
	}

	.suimaru-header-contact span {
		display: none;
	}

	.suimaru-header-contact strong {
		font-size: .78rem;
	}

	.suimaru-hero {
		min-height: 610px;
		align-items: end;
	}

	.suimaru-hero__overlay {
		background: linear-gradient(180deg, rgba(2, 27, 39, 0.28) 0%, rgba(2, 27, 39, 0.9) 72%);
	}

	.suimaru-hero__content {
		padding: 80px 0 74px;
	}

	.suimaru-hero h1 {
		font-size: 2.35rem;
	}

	.suimaru-hero__lead br {
		display: none;
	}

	.suimaru-capacity {
		right: 16px;
		bottom: 18px;
		width: 92px;
		height: 92px;
	}

	.suimaru-capacity strong {
		font-size: 2rem;
	}

	.suimaru-buttons,
	.suimaru-target-guide-links {
		display: grid;
	}

	.suimaru-btn,
	.suimaru-target-guide-links .suimaru-btn {
		width: 100%;
	}

	.suimaru-home #suimaru-plans .suimaru-inner {
		width: calc(100% - 24px);
		padding: 28px 16px;
	}

	.suimaru-home #suimaru-plans h2::before,
	.suimaru-home #suimaru-plans h2::after {
		width: 28px;
		margin-inline: 8px;
	}

	.suimaru-price-list article {
		grid-template-columns: 58px 1fr;
		gap: 12px;
		padding: 18px;
	}

	.suimaru-plan-icon {
		width: 52px;
		height: 52px;
	}

	.suimaru-plan-icon svg {
		width: 34px;
		height: 34px;
	}

	.suimaru-price {
		grid-column: 1 / -1;
		margin-top: 4px;
		padding: 14px 0 0;
		border-top: 1px solid #d5dee7;
		border-left: 0;
		text-align: left;
	}

	.suimaru-heading-row {
		display: block;
	}

	.suimaru-heading-row .suimaru-text-link {
		display: inline-block;
		margin-top: 14px;
	}

	.suimaru-target-lead {
		text-align: left;
	}

	.suimaru-target-random-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.suimaru-target-image {
		min-height: 220px;
	}

	.suimaru-target-image img {
		height: 165px;
	}

	.suimaru-shop-heading {
		display: block;
	}

	.suimaru-shop-status {
		display: inline-block;
		margin-bottom: 28px;
	}

	.suimaru-shop-message,
	.suimaru-shop-external,
	.suimaru-shop-note {
		padding: 22px 18px;
	}

	.suimaru-access-map__placeholder {
		min-height: 250px;
	}

	.suimaru-access-info dl > div {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.suimaru-arrival-flow {
		padding: 22px;
	}

	.suimaru-arrival-flow ol {
		grid-template-columns: 1fr;
	}

	.suimaru-arrival-flow li {
		min-height: auto;
	}

	.suimaru-custom-footer__grid {
		padding-top: 42px;
	}

	.suimaru-custom-footer__brand {
		align-items: flex-start;
	}

	.suimaru-custom-footer__mark {
		width: 62px;
		height: 62px;
		flex-basis: 62px;
		font-size: .9rem;
	}

	.suimaru-custom-footer__brand strong {
		font-size: 1.3rem;
	}

	.suimaru-custom-footer__nav {
		grid-template-columns: 1fr;
	}

	.suimaru-custom-footer__legal {
		display: grid;
	}

	.suimaru-mobile-fixed {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 99999;
		display: grid;
		grid-template-columns: 1fr 1fr;
		box-shadow: 0 -4px 18px rgba(4, 42, 58, 0.18);
	}

	.suimaru-mobile-fixed a {
		display: grid;
		min-height: 58px;
		place-items: center;
		color: #ffffff !important;
		font-size: 0.9rem;
		font-weight: 800;
	}

	.suimaru-mobile-fixed__line {
		background: #20bd5a;
	}

	.suimaru-mobile-fixed__plans {
		background: var(--suimaru-navy);
	}

	body.suimaru-front-page,
	body.suimaru-lower-common-final {
		padding-bottom: 58px;
	}

	body.suimaru-lower-common-final .content,
	body.suimaru-lower-common-final .content-in,
	body.suimaru-lower-common-final .main,
	body.suimaru-lower-common-final main,
	body.suimaru-lower-common-final #content,
	body.suimaru-lower-common-final .wrap {
		padding: 34px 14px 78px !important;
	}

	body.suimaru-lower-common-final article,
	body.suimaru-lower-common-final .article,
	body.suimaru-lower-common-final .entry-card-wrap,
	body.suimaru-lower-common-final .ect-entry-card,
	body.suimaru-lower-common-final .not-found,
	body.suimaru-lower-common-final .no-results,
	body.suimaru-lower-common-final .entry-content {
		border-radius: 18px !important;
		padding: 20px !important;
	}
}
