@charset "UTF-8";

/* =======================================================
   Sunmedic Theme - sunpharmacy.css（サン薬局ページ専用）
   ※ common.css を前提に、home.css をベースに調整
======================================================= */


/* =======================================================
   0. ページ全体
======================================================= */

.sunpharmacy-page {
	font-family: "Noto Sans JP", system-ui, -apple-system,
		BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: #333;
	line-height: 1.7;
}


/* =======================================================
   1. HERO（home.css と同じ見え方）
======================================================= */

.sunpharmacy-page .hero {
	position: relative;
	width: 100%;
}

/* キャッチコピー */
.sunpharmacy-page .hero-catch {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 20;
	width: 90%;
	max-width: 1200px;
	text-align: center;
	color: #fff;
	pointer-events: none;
}

.sunpharmacy-page .hero-catch h1 {
	font-size: 48px;
	line-height: 1.6;
	font-weight: 700;
	text-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}

/* スライダー */
.sunpharmacy-page .hero-slider {
	position: relative;
}

.sunpharmacy-page .hero-slider>div {
	height: 100%;
}

/* =======================================================
   2. 3カラムリンク（home.css と同じ箱＋薬局カラー統一）
======================================================= */

.sunpharmacy-page .top-links-section {
	position: relative;
	margin-top: -80px;
	z-index: 30;
}

.sunpharmacy-page .top-links-wrapper {
	width: 1200px;
	margin: 0 auto;
	background: #ffffff;
	padding: 30px 40px;
	border-radius: 20px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.sunpharmacy-page .top-link-list {
	display: flex;
	gap: 30px;
	justify-content: space-between;
	padding: 0;
	list-style: none;
	margin: 0;
}

.sunpharmacy-page .top-link-list li {
	width: 32%;
	background: #ffffff;
	border-radius: 12px;
	overflow: hidden;
	position: relative;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.sunpharmacy-page .top-link-list li .img-box {
	width: 100%;
	height: 220px;
	overflow: hidden;
}

.sunpharmacy-page .top-link-list li .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ▼ キャプション：3つとも薬局ブルーで統一 */
.sunpharmacy-page .top-link-list li .caption {
	height: 60px;
	line-height: 60px;
	text-align: center;
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	background: #52BDF8;
}

.sunpharmacy-page .link-cover {
	position: absolute;
	inset: 0;
	z-index: 5;
}


/* =======================================================
   3. 企業メッセージ（class名は sunpharmacy-message）
======================================================= */

.sunpharmacy-page .sunpharmacy-message {
	padding: 80px 0;
	text-align: center;
}

.sunpharmacy-page .sunpharmacy-message h2 {
	margin-top: 0;
	margin-bottom: 1.5em;
	font-size: 1.8rem;
}

.sunpharmacy-page .sunpharmacy-message .lead {
	margin: 1em auto 0;
	line-height: 1.8;
}


/* =======================================================
   4. 店舗一覧（store）2カラム・将来3店舗対応
======================================================= */

/* セクション全体 */
.sunpharmacy-page .store.section-padding {
	padding: 4em 0;
}

.sunpharmacy-page .store .section-title {
	font-size: 1.8rem;
	text-align: center;
	margin-bottom: 2em;
}

/* ▼ カード一覧：1200px内で中央寄せ、将来3店舗もOK */
.sunpharmacy-page .store-grid {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	justify-content: center;
}

/* ▼ 店舗カード：基本2カラム想定、幅 360?400px */
.sunpharmacy-page .store-card {
	flex: 1 1 360px;
	/* 2店舗なら2列、3店舗でも3列に収まりやすい */
	max-width: 400px;
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
	display: flex;
	flex-direction: column;
}

/* サムネイル */
.sunpharmacy-page .store-thumb {
	width: 100%;
	height: 220px;
	overflow: hidden;
}

.sunpharmacy-page .store-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sunpharmacy-page .store-catch {
	font-size: 14px;
	color: #666;
	margin: 16px 0 6px;
}

.sunpharmacy-page .store-name {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 10px;
}

.sunpharmacy-page .store-address {
	font-size: 14px;
	margin: 0 0 8px;
}

.sunpharmacy-page .map-link {
	color: #52BDF8;
	font-size: 13px;
	text-decoration: underline;
}

.sunpharmacy-page .store-tel {
	font-size: 14px;
	margin: 4px 0 16px;
	font-weight: 600;
}

/* 営業時間ボックス */
.sunpharmacy-page .store-hours {
	background: #E4EDF5;
	border: 1px solid #52BDF8;
	padding: 12px;
	width: 350px;
	margin: 18px auto;
	border-radius: 6px;
}

.sunpharmacy-page .store-hours .hours-row {
	display: flex;
	justify-content: space-between;
	padding: 4px 0;
	font-size: 13px;
}

.sunpharmacy-page .store-hours .hours-row.dotted {
	border-bottom: 1px dotted #52BDF8;
	margin: 6px 0;
}

/* ボタンエリア */
.sunpharmacy-page .store-buttons {
	display: flex;
	gap: 10px;
	justify-content: space-between;
	padding: 0 20px 20px;
	margin-top: auto;
}

.sunpharmacy-page .store-btn {
	flex: 1;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: #fff;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 600;
}

.sunpharmacy-page .store-btn.detail {
	background: #52BDF8;
}

.sunpharmacy-page .store-btn.recruit {
	background: #66CDAA;
}

.store-text {
	margin: 0 25px;
}

/* =======================================
   5. About バナー（薬局専用に分離）
======================================= */

.sunpharmacy-page .about-banner {
	width: 100%;
	padding: 150px 0;
	text-align: center;
	background-size: cover;
	background-position: center;
}

/* ▼ 薬局専用の背景画像 */
.sunpharmacy-page .about-type-pharmacy {
	background-image: url('../img/pharmacy-about-bg.jpg');
}

/* ▼ 薬局専用のボタン色（ブルー） */
.sunpharmacy-page .about-btn {
	display: inline-block;
	padding: 14px 30px;
	color: #fff;
	background: #52BDF8;
	/* ここ重要！薬局ブルー */
	border-radius: 4px;
	font-weight: 600;
	text-decoration: none;
}


/* =======================================================
   6. レスポンシブ（SP）
======================================================= */

@media (max-width: 799px) {

	/* ▼ HERO（home.css と同じ動き） */
	.sunpharmacy-page .hero {
		min-height: clamp(380px, 60svh, 520px);
	}

	.sunpharmacy-page .hero-catch {
		top: calc(50% - 28px);
	}

	.sunpharmacy-page .hero-catch h1 {
		font-size: 26px;
		line-height: 1.5;
	}

	/* ▼ 3カラム被り防止 */
	.sunpharmacy-page .top-links-section {
		margin-top: 0;
	}

	.sunpharmacy-page .hero-slider {
		height: auto;
	}

	.sunpharmacy-page .hero-slider>div {
		height: 100% !important;
	}

	/* ▼ 3カラム → 1カラム */
	.sunpharmacy-page .top-links-wrapper {
		width: 92%;
		padding: 20px;
	}

	.sunpharmacy-page .top-links-section {
		margin-top: 20px;
		/* PC の -80px を解除 */
	}

	.sunpharmacy-page .top-link-list {
		flex-direction: column;
		gap: 24px;
	}

	.sunpharmacy-page .top-link-list li {
		width: 100%;
	}

	.sunpharmacy-page .top-link-list li .img-box {
		height: 200px;
	}

	.sunpharmacy-page .top-link-list li .caption {
		font-size: 18px;
		height: 56px;
		line-height: 56px;
	}

	/* ▼ 店舗一覧：1カラム表示 */
	.sunpharmacy-page .store-grid {
		gap: 24px;
	}

	.sunpharmacy-page .store-card {
		flex: 1 1 100%;
		max-width: 100%;
	}

	.sunpharmacy-page .store-thumb {
		height: 200px;
	}
}

/* =======================================================
   7. サービス（薬局・新規）
======================================================= */

.sunpharmacy-page.pharmacy-service .ps-service {
	max-width: 1000px;
	margin: 0 auto;
	padding: 100px 20px;
}

.sunpharmacy-page.pharmacy-service .ps-title {
	text-align: center;
	font-size: 32px;
	letter-spacing: 0.08em;
	margin-bottom: 80px;
}

.sunpharmacy-page.pharmacy-service .ps-block {
	max-width: 1200px;
	margin: 80px auto 80px;
	padding: 0 20px;
	/* 端末幅が狭いときの保険 */
}

.sunpharmacy-page.pharmacy-service .ps-heading {
	text-align: center;
	font-size: 22px;
	margin-bottom: 40px;
	position: relative;
}

.sunpharmacy-page.pharmacy-service .ps-heading::after {
	content: "";
	display: block;
	width: 50px;
	height: 2px;
	background: #52BDF8;
	margin: 18px auto 0;
}

.sunpharmacy-page.pharmacy-service .ps-col3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

.sunpharmacy-page.pharmacy-service .ps-item {
	font-size: 15px;
	line-height: 1.9;
}

.sunpharmacy-page.pharmacy-service .ps-lead {
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
	line-height: 1.9;
}

/* SP */
@media (max-width: 799px) {

	.sunpharmacy-page.pharmacy-service .ps-service {
		padding: 70px 16px;
	}

	.sunpharmacy-page.pharmacy-service .ps-title {
		font-size: 26px;
		margin-bottom: 60px;
	}

	.sunpharmacy-page.pharmacy-service .ps-col3 {
		grid-template-columns: 1fr;
		gap: 30px;
	}
}

/* =======================================================
   ページタイトル（会社案内と同構造｜薬局サービス用）
======================================================= */

.company-banner-pharmacy {
	background-image: url('../img/pharmacy-about-bg.jpg');
	background-size: cover;
	background-position: center;
}

/* =======================================================
   ページタイトル（会社案内と同一デザイン｜薬局サービス用）
======================================================= */

.company-banner-pharmacy {
	background-image: url('../img/pharmacy-about-bg.jpg');
}

/* ================================
   Company Banner（共通）
================================ */

.company-banner {
	width: 100%;
	height: 400px;
	background-size: cover;
	background-position: center;
}

.company-banner-inner {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* 中央の白い箱 */
.company-banner-box {
	width: 220px;
	height: 200px;
	background: rgba(255, 255, 255, 0.85);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

/* タイトル */
.company-banner-title {
	font-size: 22px;
	letter-spacing: 0.15em;
	font-weight: 500;
	color: #222;
}

/* =======================================================
   OTC 商品一覧（アコーディオン）
======================================================= */
/* アコーディオン全体 */
.ps-accordion {
	max-width: 1200px;
	margin: 40px auto 0;
	text-align: center;
}

/* ボタン */
.ps-accordion-btn {
	padding: 14px 40px;
	background: #52BDF8;
	color: #fff;
	border: none;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	border-radius: 4px;
}

/* 中身（初期は閉じる） */
.ps-accordion-body {
	display: none;
	margin-top: 30px;
}

/* 商品リスト */
.ps-product-list {
	max-width: 900px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	text-align: left;
	column-count: 2;
	column-gap: 40px;
}

.ps-product-list li {
	padding: 6px 0;
	font-size: 14px;
	line-height: 1.8;
}

/* =======================================================
   OTC 商品一覧（アコーディオン｜アニメーション＋枠付き）
======================================================= */

/* ラッパー */
.sunpharmacy-page.pharmacy-service .ps-accordion {
	max-width: 1200px;
	margin: 40px auto 0;
	text-align: center;
}

/* ボタン */
.sunpharmacy-page.pharmacy-service .ps-accordion-btn {
	padding: 14px 48px;
	background: #52BDF8;
	color: #fff;
	border: none;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	border-radius: 4px;
	transition: background 0.2s ease;
	width: 1200px;
}

.sunpharmacy-page.pharmacy-service .ps-accordion-btn:hover {
	background: #5a8db8;
}

/* 本体（初期は閉じ） */
.sunpharmacy-page.pharmacy-service .ps-accordion-body {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease, padding 0.3s ease;
	padding: 0 20px;
	border: 1px solid #ddd;
	border-top: none;
}

/* 開いた状態 */
.sunpharmacy-page.pharmacy-service .ps-accordion-body.is-open {
	max-height: 2000px;
	/* 十分大きければOK */
	padding: 30px 20px;
}

/* 中の枠 */
.sunpharmacy-page.pharmacy-service .ps-product-wrap {
	max-width: 1000px;
	margin: 30px auto 0;
	padding: 30px 40px;
	border: 1px solid #ddd;
	background: #fafafa;
}

/* 商品一覧 */
.sunpharmacy-page.pharmacy-service .ps-product-list {
	margin: 0;
	padding: 0;
	list-style: none;
	column-count: 2;
	column-gap: 40px;
}

.sunpharmacy-page.pharmacy-service .ps-product-list li {
	padding: 6px 0;
	font-size: 14px;
	line-height: 1.8;
	break-inside: avoid;
}

/* SP */
@media (max-width: 799px) {
	.sunpharmacy-page.pharmacy-service .ps-product-list {
		column-count: 1;
	}
}

/* =======================================================
   FAQ（よくある質問）
======================================================= */

.sunpharmacy-page.pharmacy-faq {
	padding: 100px 20px;
}

/* タイトル */
.faq-title {
	text-align: center;
	margin-bottom: 60px;
}

.faq-title h2 {
	font-size: 28px;
	letter-spacing: 0.08em;
}

/* 一覧 */
.faq-list {
	max-width: 1000px;
	margin: 0 auto;
	border: 1px solid #ddd;
}

/* 1項目 */
.faq-item {
	border-bottom: 1px solid #ddd;
}

/* 質問 */
.faq-question {
	width: 100%;
	padding: 20px 60px 20px 20px;
	text-align: left;
	font-size: 16px;
	font-weight: 500;
	background: #fff;
	border: none;
	cursor: pointer;
	position: relative;
}

/* ▼ アイコン */
.faq-question::after {
	content: "∨";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 14px;
	transition: transform 0.3s ease;
}

/* 開いた状態 */
.faq-item.is-open .faq-question::after {
	transform: translateY(-50%) rotate(180deg);
}

/* 回答 */
.faq-answer {
	max-height: 0;
	overflow: hidden;
	background: #f7f7f7;
	transition: max-height 0.4s ease;
}

.faq-answer p {
	padding: 20px;
	margin: 0;
	line-height: 1.8;
	font-size: 14px;
}

/* 開いた状態 */
.faq-item.is-open .faq-answer {
	max-height: 500px;
}

/* SP */
@media (max-width: 799px) {
	.sunpharmacy-page.pharmacy-faq {
		padding: 70px 16px;
	}
}

/* =======================================================
   デジタル掲示板
======================================================= */

.sunpharmacy-page.pharmacy-digital .digital-board {
	max-width: 900px;
	margin: 0 auto;
	padding: 100px 20px;
}

.sunpharmacy-page.pharmacy-digital .digital-lead {
	margin-bottom: 40px;
	font-size: 16px;
	line-height: 1.8;
	color: #444;
}

/* 一覧 */
.sunpharmacy-page.pharmacy-digital .digital-list {
	list-style: none;
	padding: 0;
	margin: 0;
	border-top: 1px solid #ddd;
}

.sunpharmacy-page.pharmacy-digital .digital-list li {
	border-bottom: 1px solid #ddd;
}

.sunpharmacy-page.pharmacy-digital .digital-list a {
	display: block;
	padding: 18px 10px;
	color: #2f6fa5;
	text-decoration: none;
	font-size: 15px;
	line-height: 1.6;
}

.sunpharmacy-page.pharmacy-digital .digital-list a:hover {
	background: #f5f8fb;
	text-decoration: underline;
}

/* SP */
@media (max-width: 799px) {

	.sunpharmacy-page.pharmacy-digital .digital-board {
		padding: 70px 16px;
	}

	.sunpharmacy-page.pharmacy-digital .digital-list a {
		padding: 16px 8px;
		font-size: 14px;
	}
}

/* =======================================================
   サン薬局について
======================================================= */

.sunpharmacy-page.pharmacy-about {
	padding: 100px 20px 0;
}

/* greeting レイアウト（会社案内と共通） */
.pharmacy-about-section .greeting-inner {
	max-width: 1000px;
	margin: 0 auto 120px;
	display: flex;
	align-items: center;
	gap: 60px;
}

/* テキスト */
.pharmacy-about-section .greeting-text {
	flex: 1;
	font-size: 16px;
	line-height: 1.9;
	color: #333;
}

.pharmacy-about-section .greeting-text p {
	margin-bottom: 20px;
}

/* 画像 */
.pharmacy-about-section .greeting-photo {
	width: 320px;
	flex-shrink: 0;
}

.pharmacy-about-section .greeting-photo img {
	width: 100%;
	height: auto;
	display: block;
}

/* SP */
@media (max-width: 799px) {

	.pharmacy-about-section .greeting-inner {
		flex-direction: column;
		gap: 40px;
		margin-bottom: 80px;
	}

	.pharmacy-about-section .greeting-photo {
		width: 220px;
	}

	.pharmacy-about-section .greeting-text {
		font-size: 15px;
	}
}

/* =======================================================
   サン薬局について（社長あいさつと完全一致）
   scope: .sunpharmacy-page.pharmacy-about
======================================================= */

/* セクション外枠 */
.sunpharmacy-page.pharmacy-about .greeting-section {
	padding: 120px 0;
	background: #fff;
}

/* グレーの大枠（正方形） */
.sunpharmacy-page.pharmacy-about .greeting-inner {
	width: 1200px;
	height: 1200px;
	margin: 0 auto;
	background: #F2F3F5;
	position: relative;
	padding: 100px 100px;
	box-sizing: border-box;
}

/* 本文 */
.sunpharmacy-page.pharmacy-about .greeting-text {
	max-width: 1000px;
	font-size: 24px;
	line-height: 2.1;
	color: #333;
}

.sunpharmacy-page.pharmacy-about .greeting-text p {
	margin-bottom: 32px;
}

/* 写真（右下固定） */
.sunpharmacy-page.pharmacy-about .greeting-photo {
	position: absolute;
	right: 2em;
	bottom: 2em;
	width: 500px;
}

.sunpharmacy-page.pharmacy-about .greeting-photo img {
	width: 100%;
	height: auto;
	display: block;
}

/* =======================================================
   SP対応（社長あいさつと同等）
======================================================= */
@media (max-width: 799px) {

	.sunpharmacy-page.pharmacy-about .greeting-section {
		padding: 80px 0;
	}

	.sunpharmacy-page.pharmacy-about .greeting-inner {
		width: 90%;
		height: auto;
		padding: 40px 20px;
	}

	.sunpharmacy-page.pharmacy-about .greeting-text {
		font-size: 16px;
		line-height: 1.9;
	}

	.sunpharmacy-page.pharmacy-about .greeting-photo {
		position: static;
		width: 70%;
		margin: 40px auto 0;
	}
}

/* 署名（サン薬局について） */
.sunpharmacy-page.pharmacy-about .greeting-sign {
	margin-top: 80px;
}

.sunpharmacy-page.pharmacy-about .greeting-sign .role {
	font-size: 24px;
	color: #666;
	margin-bottom: 6px;
	display: block;
}

.sunpharmacy-page.pharmacy-about .greeting-sign .name {
	font-size: 56px;
	letter-spacing: 0.15em;
	font-weight: 500;
	font-family: "Noto Serif JP", serif;
}

@media (max-width: 799px) {
	.sunpharmacy-page.pharmacy-about .greeting-sign {
		margin-top: 40px;
	}

	.sunpharmacy-page.pharmacy-about .greeting-sign .role {
		font-size: 16px;
	}

	.sunpharmacy-page.pharmacy-about .greeting-sign .name {
		font-size: 32px;
		letter-spacing: 0.1em;
	}
}

@charset "UTF-8";

/* =======================================================
   Sun薬局 店舗ページ（福間店）
======================================================= */

.sunpharmacy-shop {
	font-family: "Noto Sans JP", sans-serif;
	color: #333;
	line-height: 2.1;
	font-size: 1.3em;
}

/* 共通 */
.shop-inner,
.shop-map-inner {
	width: 92%;
	max-width: 980px;
	margin: 0 auto;
}

.shop-section-title {
	text-align: center;
	font-size: 26px;
	margin-bottom: 40px;
}

/* アクセス */
.shop-access {
	padding: 70px 0;
}

.shop-access-info p {
	margin: 0;
}

.shop-hours {
	margin-top: 20px;
}

.shop-transport {
	margin-top: 30px;
}

.shop-transport h3 {
	font-size: 1em;
	margin: 24px 0 6px;
	font-family: sans-serif;
}

/* MAP */
.shop-map {
	padding: 70px 0;
	background: #f7f7f7;
}

.shop-map-embed iframe {
	width: 100%;
	height: 400px;
	border: 0;
}

.shop-map-btn {
	text-align: center;
	margin-top: 20px;
}

.shop-map-btn a {
	display: inline-block;
	background: #f6a623;
	color: #fff;
	padding: 12px 30px;
	border-radius: 4px;
	font-weight: 600;
}

/* ギャラリー */
.shop-gallery {
	padding: 80px 0;
}

.shop-gallery-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	list-style: none;
	padding: 0;
	margin: 0 auto;
	width: 92%;
	max-width: 1100px;
}

.shop-gallery-list li {
	text-align: center;
}

.shop-gallery-list span {
	display: block;
	margin-top: 8px;
	font-size: 14px;
	color: #555;
}

/* SP */
@media (max-width: 768px) {

	.shop-section-title {
		font-size: 22px;
	}

	.shop-gallery-list {
		grid-template-columns: 1fr;
	}

	.shop-map-embed iframe {
		height: 300px;
	}
}

/* =========================================================
   アニメーション追加分
========================================================= */
.sunpharmacy-page .hero-catch h1 {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.6s ease, transform 1.6s ease;
	will-change: opacity, transform;
}

.sunpharmacy-page .hero-catch h1.is-show {
	opacity: 1;
	transform: translateY(0);
}

/* ============================================
   サン薬局 3カラム：初期フェードイン
============================================ */
.sunpharmacy-page .top-links-wrapper {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.4s ease, transform 1.4s ease;
	will-change: opacity, transform;
}

/* 表示状態 */
.sunpharmacy-page .top-links-wrapper.is-show {
	opacity: 1;
	transform: translateY(0);
}

/* ============================================
   サン薬局 メッセージ / 店舗一覧：初期状態
============================================ */
.sunpharmacy-page .sunpharmacy-message,
.sunpharmacy-page .store {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.4s ease, transform 1.4s ease;
	will-change: opacity, transform;
}

/* 表示状態 */
.sunpharmacy-page .sunpharmacy-message.is-show,
.sunpharmacy-page .store.is-show {
	opacity: 1;
	transform: translateY(0);
}

/* 店舗カード：初期 */
.sunpharmacy-page .store-card {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.9s ease, transform 0.9s ease;
}

/* 表示状態 */
.sunpharmacy-page .store.is-show .store-card {
	opacity: 1;
	transform: translateY(0);
}

/* =======================================================
   サン薬局 店舗ページ 本文運用
======================================================= */

.shop-content {
	padding: 70px 0 80px;
}

.shop-content h2 {
	text-align: center;
	font-size: 26px;
	margin: 0 0 40px;
}

.shop-content h3 {
	font-size: 1em;
	margin: 24px 0 10px;
	font-family: sans-serif;
}

.shop-content p {
	margin: 0 0 16px;
}

.shop-content a {
	word-break: break-all;
}

.shop-content table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	margin: 0 0 40px;
	border-top: 1px solid #d9e4ef;
}

.shop-content table[style] {
	width: 100% !important;
	height: auto !important;
}

.shop-content tbody[style],
.shop-content tr[style],
.shop-content th[style],
.shop-content td[style] {
	height: auto !important;
}

.shop-content th,
.shop-content td {
	border-bottom: 1px solid #d9e4ef;
	padding: 18px 20px;
	vertical-align: top;
	font-size: 16px;
	line-height: 1.9;
	text-align: left;
	box-sizing: border-box;
}

.shop-content th {
	width: 220px;
	background: #f7fafd;
	color: #2f4f68;
	font-weight: 700;
	word-break: break-word;
}

.shop-content td {
	word-break: break-word;
	overflow-wrap: anywhere;
}

.shop-content td ul {
	margin: 0;
	padding-left: 1.2em;
}

.shop-content td li {
	margin: 0 0 6px;
}

.shop-content .shop-map-btn {
	text-align: center;
	margin: 30px 0 40px;
}

.shop-content .shop-map-btn a {
	display: inline-block;
	background: #f6a623;
	color: #fff;
	padding: 12px 30px;
	border-radius: 4px;
	font-weight: 600;
	text-decoration: none;
}

.shop-content .shop-gallery {
	padding: 0;
}

.shop-content .shop-gallery-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	list-style: none;
	padding: 0;
	margin: 0 auto;
	width: 100%;
	max-width: 1100px;
}

.shop-content .shop-gallery-list li {
	text-align: center;
}

.shop-content .shop-gallery-list span,
.shop-content .wp-caption-text,
.shop-content .gallery-caption {
	display: block;
	margin-top: 8px;
	font-size: 14px;
	color: #555;
	text-align: center;
}

.shop-content img {
	max-width: 100%;
	height: auto;
}

.shop-content .wp-caption {
	max-width: 100%;
}

.shop-content .gallery {
	margin: 0 auto 40px !important;
}

.shop-content .gallery .gallery-item {
	margin-top: 0 !important;
}

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

.shop-content .gallery.gallery-columns-3 .gallery-item {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.shop-content .gallery.gallery-columns-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
}

.shop-content .gallery.gallery-columns-2 .gallery-item {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.shop-content .gallery.gallery-columns-1 .gallery-item {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

@media (max-width: 768px) {

	.shop-content {
		padding: 50px 0 60px;
	}

	.shop-content h2 {
		font-size: 22px;
		margin-bottom: 30px;
	}

	.shop-content table {
		border-top: none;
		margin: 0 0 32px;
	}

	.shop-content tbody,
	.shop-content tr,
	.shop-content th,
	.shop-content td {
		display: block;
		width: 100%;
	}

	.shop-content tr {
		margin: 0 0 18px;
		border: 1px solid #d9e4ef;
		background: #fff;
	}

	.shop-content tr:last-child {
		margin-bottom: 0;
	}

	.shop-content th,
	.shop-content td,
	.shop-content th[style],
	.shop-content td[style],
	.shop-content tr[style] {
		height: auto !important;
		min-height: 0 !important;
	}

	.shop-content th {
		padding: 14px 16px 8px;
		border-bottom: none;
		background: #f7fafd;
	}

	.shop-content td {
		padding: 0 16px 16px;
		border-bottom: none;
	}

	.shop-content .shop-gallery-list,
	.shop-content .gallery.gallery-columns-3,
	.shop-content .gallery.gallery-columns-2 {
		grid-template-columns: 1fr;
	}
}

/* =======================================================
   サン薬局 ＰＤＦリンク用
======================================================= */
.pdf-link-buttons {
	width: 100%;
	max-width: 90%;
	margin: 0;
}

.pdf-link-button {
	margin: 0 0 16px 0;
}

.pdf-link-button:last-child {
	margin: 0;
}

.pdf-link-button a {
	display: block;
	width: 100%;
	padding: 18px 24px;
	background: #52BDF8;
	border: 1px solid #0b4d89;
	border-radius: 8px;
	box-sizing: border-box;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.03em;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
	transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.pdf-link-button a:hover {
	background: #0c538f;
	color: #ffffff;
	text-decoration: none;
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.12);
	transform: translateY(-1px);
}

.pdf-link-button a:visited {
	color: #ffffff;
}

.pdf-link-button a:focus {
	outline: none;
	color: #ffffff;
	text-decoration: none;
	box-shadow: 0 0 0 3px rgba(15, 94, 168, 0.18), 0 6px 14px rgba(0, 0, 0, 0.12);
}

@media screen and (max-width: 767px) {
	.pdf-link-button {
		margin: 0 0 12px 0;
	}

	.pdf-link-button a {
		padding: 15px 16px;
		font-size: 18px;
		line-height: 1.5;
		border-radius: 6px;
	}
}

/* =======================================================
   サン薬局 店舗ページ用 デジタル掲示板
======================================================= */

.sunpharmacy-shop .digital-list {
	list-style: none;
	padding: 0;
	margin: 40px 0 0 0;
	border-top: 1px solid #ddd;
}

.sunpharmacy-shop .digital-list li {
	border-bottom: 1px solid #ddd;
}

.sunpharmacy-shop .digital-list a {
	display: block;
	padding: 18px 10px;
	color: #2f6fa5;
	text-decoration: none;
	font-size: 15px;
	line-height: 1.6;
}

.sunpharmacy-shop .digital-list a:hover {
	background: #f5f8fb;
	text-decoration: underline;
}

/* SP */
@media (max-width: 799px) {
	.sunpharmacy-shop .digital-list a {
		padding: 16px 8px;
		font-size: 14px;
	}
}