/**
 * Peer Smile Child
 * Page and temporary common styles
 */

.ps-post__thumbnail {
	margin: 32px 0;
	overflow: hidden;
	border-radius: var(--ps-radius-md);
}

.ps-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 36px;
}

.ps-post-card {
	overflow: hidden;
	border: 1px solid var(--ps-color-border);
	border-radius: var(--ps-radius-md);
	background: #fff;
	box-shadow: var(--ps-shadow-card);
}

.ps-post-card__link {
	display: block;
	height: 100%;
	padding: 20px;
	text-decoration: none;
}

.ps-post-card__image {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	margin: -20px -20px 20px;
}

.ps-post-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Footer remains foundation-level until final footer DDD pass */
.site-footer__cta {
	background: linear-gradient(90deg, #edf8fd, #fff8e8);
}

.site-footer__cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding-block: 44px;
}

.site-footer__cta-kicker {
	margin: 0 0 8px;
	color: var(--ps-color-secondary);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .15em;
}

.site-footer__cta-title {
	margin: 0;
	font-size: clamp(26px, 3vw, 38px);
	line-height: 1.5;
	font-weight: 600;
}

.site-footer__cta-title span {
	color: var(--ps-color-primary);
}

.site-footer__cta-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.site-footer__main {
	background: #fff;
	border-top: 1px solid var(--ps-color-border);
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 1.1fr 1.5fr 1fr;
	gap: 44px;
	padding-block: 42px;
}

.site-footer__brand-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--ps-color-primary);
	text-decoration: none;
}

.site-footer__brand-mark {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 2px solid var(--ps-color-primary);
	border-radius: 50%;
	font-size: 22px;
}

.site-footer__brand-link > span:last-child {
	display: flex;
	flex-direction: column;
	line-height: 1.1;
}

.site-footer__brand-link small {
	font-size: 9px;
}

.site-footer__brand-link strong {
	font-size: 22px;
	font-weight: 500;
}

.site-footer__menu {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__menu a,
.site-footer__legal a {
	font-size: 13px;
	text-decoration: none;
}

.site-footer__legal {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.site-footer__bottom {
	padding-block: 18px;
	border-top: 1px solid var(--ps-color-border);
	color: var(--ps-color-text-light);
	text-align: right;
}


/* ==========================================================
   v2.1.0 ABOUT PAGE
   ========================================================== */
.sub-hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(90deg, #fff8ef 0%, #fffdf9 100%);
	border-bottom: 1px solid var(--ps-color-border);
}
.sub-hero::before {
	content: "";
	position: absolute;
	left: -45px;
	top: 36px;
	width: 110px;
	height: 110px;
	border-radius: 50%;
	background: rgba(242,138,36,.12);
}
.sub-hero::after {
	content: "";
	position: absolute;
	right: -35px;
	bottom: 20px;
	width: 90px;
	height: 90px;
	border-radius: 50%;
	background: rgba(105,184,223,.12);
}
.sub-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(390px, .8fr);
	align-items: center;
	gap: 60px;
	min-height: 360px;
	padding-block: 48px;
}
.sub-hero__eyebrow,
.about-section-label {
	margin: 0 0 8px;
	color: var(--ps-color-primary);
	font-family: var(--ps-font-english);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .16em;
}
.sub-hero__title {
	margin: 0;
	color: var(--ps-color-text);
	font-size: clamp(40px, 5vw, 62px);
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: .04em;
}
.sub-hero__lead { margin: 22px 0 0; color: var(--ps-color-text-light); font-size: 15px; line-height:1.7; }
.sub-hero__visual {
	overflow: hidden;
	border-radius: 70px 18px 70px 18px;
	box-shadow: var(--ps-shadow-card);
}
.sub-hero__visual img {
	width: 100%;
	aspect-ratio: 1.55 / 1;
	object-fit: cover;
}
.about-mission {
	text-align: center;
}
.about-mission__inner { max-width: 1000px; }
.about-mission__title { margin: 0; color: var(--ps-color-text); font-size: clamp(32px, 4vw, 48px); font-weight: 500; line-height: 1.3; letter-spacing: .03em; }
.about-mission__title span { color: var(--ps-color-primary); }
.about-mission__text { margin: 26px auto 0; max-width: 800px; color: var(--ps-color-text-light); font-size: 14px; line-height: 1.8; }
.about-supports {
	background: #fffaf4;
	border-block: 1px solid rgba(234,223,213,.7);
}
.about-section-header {
	margin-bottom: 38px;
	text-align: center;
}
.about-section-title {
	margin: 0;
	font-size: clamp(30px, 3.5vw, 44px);
	font-weight: 500;
	line-height: 1.45;
}
.about-section-lead { margin: 12px 0 0; color: var(--ps-color-text-light); font-size: 13px; }
.about-supports__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}
.about-support-card {
	position: relative;
	padding: 30px 25px 28px;
	border: 1px solid var(--ps-color-border);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 9px 24px rgba(51,45,41,.05);
}
.about-support-card__number {
	position: absolute;
	right: 18px;
	top: 14px;
	color: rgba(242,138,36,.18);
	font-size: 38px;
	font-weight: 700;
	line-height: 1;
}
.about-support-card__icon {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin-bottom: 18px;
	border-radius: 50%;
	font-size: 25px;
	font-weight: 700;
}
.about-support-card__icon--orange { color: var(--ps-color-primary); background: var(--ps-color-primary-light); }
.about-support-card__icon--blue { color: var(--ps-color-secondary); background: var(--ps-color-secondary-light); }
.about-support-card__icon--green { color: var(--ps-color-green); background: #f1f8ed; }
.about-support-card__title { margin: 0; font-size: 24px; }
.about-support-card__catch { margin: 13px 0 0; color: var(--ps-color-primary); font-size: 17px; font-weight: 700; line-height: 1.4; }
.about-support-card__text { margin: 15px 0 0; color: var(--ps-color-text-light); font-size: 13px; line-height: 1.8; }
.about-message__inner {
	display: grid;
	grid-template-columns: minmax(300px, .75fr) minmax(0, 1.25fr);
	align-items: center;
	gap: 60px;
	max-width: 1050px;
}
.about-message__visual {
	overflow: hidden;
	border-radius: 24px;
	background: #f5f1ed;
	box-shadow: var(--ps-shadow-card);
}
.about-message__visual img {
	width: 100%;
	aspect-ratio: .9 / 1;
	object-fit: cover;
	object-position: center top;
}
.about-message__title { margin: 0; font-size: clamp(30px, 3.5vw, 43px); font-weight: 500; }
.about-message__quote {
	margin: 22px 0 0;
	padding-left: 18px;
	border-left: 3px solid var(--ps-color-primary);
	color: var(--ps-color-primary);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.8;
}
.about-message__text {
	margin-top: 22px;
	color: var(--ps-color-text-light);
	font-size: 13px;
	line-height: 2.05;
}
.about-message__text p { margin: 0 0 14px; }
.about-message__name {
	margin: 22px 0 0;
	font-size: 20px;
	font-weight: 700;
	text-align: right;
}
.about-message__name span {
	margin-right: 8px;
	color: var(--ps-color-text-light);
	font-size: 11px;
	font-weight: 500;
}
.about-members {
	background: #f8fbfd;
	border-block: 1px solid #e5eff4;
}
.about-members__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	max-width: 980px;
	margin-inline: auto;
}
.member-card {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	overflow: hidden;
	min-height: 220px;
	border: 1px solid #e1e8eb;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 20px rgba(51,45,41,.04);
}
.member-card__image {
	overflow: hidden;
	background: #f2f2f2;
}
.member-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}
.member-card__body { padding: 24px 22px; }
.member-card__role {
	margin: 0;
	color: var(--ps-color-primary);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
}
.member-card__name { margin: 5px 0 0; font-size: 21px; font-weight: 700; }
.member-card__text {
	margin: 12px 0 0;
	color: var(--ps-color-text-light);
	font-size: 11px;
	line-height: 1.9;
}
.member-card--text { grid-template-columns: 120px minmax(0, 1fr); }
.member-card__symbol {
	display: grid;
	place-items: center;
	font-size: 34px;
}
.member-card__symbol--pink { color: #e98e99; background: #fff3f4; }
.member-card__symbol--blue { color: var(--ps-color-secondary); background: var(--ps-color-secondary-light); }
.about-cta { background: #fff; }
.about-cta__panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 40px 46px;
	border-radius: 22px;
	background: linear-gradient(90deg, #edf8fd 0%, #fff8e8 100%);
}
.about-cta__title {
	margin: 0;
	font-size: clamp(26px, 3vw, 38px);
	font-weight: 500;
	line-height: 1.55;
}
.about-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}


/* ==========================================================
   v2.2.0 LOWER PAGE SHARED
   ========================================================== */
.ps-lower-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 5% 20%, rgba(242,138,36,.12) 0 55px, transparent 56px),
		radial-gradient(circle at 95% 70%, rgba(105,184,223,.10) 0 60px, transparent 61px),
		linear-gradient(90deg, #fff8ef, #fffdf9);
	border-bottom: 1px solid var(--ps-color-border);
}

.ps-lower-hero__inner {
	padding-block: 72px 66px;
	text-align: center;
}

.ps-lower-hero__eyebrow {
	margin: 0 0 10px;
	color: var(--ps-color-primary);
	font-family: var(--ps-font-english);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .16em;
}

.ps-lower-hero__title {
	margin: 0;
	font-size: clamp(38px, 5vw, 58px);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .04em;
}

.ps-lower-hero__lead {
	max-width: 680px;
	margin: 18px auto 0;
	color: var(--ps-color-text-light);
	font-size: 14px;
	line-height: 2;
}


/* PSDM v3.1.0 /activities/ */
.activities-page{background:#fff}.activities-kicker{margin:0 0 8px;color:var(--ps-color-primary);font-family:var(--ps-font-english);font-size:10px;font-weight:700;letter-spacing:.16em}
.activities-hero{position:relative;overflow:hidden;background:#fffaf3}.activities-hero__inner{display:grid;grid-template-columns:47.5% 52.5%;width:100%;min-height:470px}.activities-hero__copy{display:flex;align-items:center;background:radial-gradient(circle at 3% 18%,rgba(242,138,36,.14) 0 48px,transparent 49px),#fffaf3}.activities-hero__copy-inner{width:min(calc(100% - 60px),650px);margin-left:max(32px,calc((100vw - 1500px)/2));padding:56px 0}.activities-hero__title{margin:0;color:#2e2926;font-size:clamp(44px,4.5vw,66px);font-weight:500;line-height:1.45;letter-spacing:.05em}.activities-hero__title span{color:var(--ps-color-primary)}.activities-hero__lead{margin:24px 0 0;color:#4f4843;font-size:14px;line-height:2.05}.activities-hero__visual{overflow:hidden;min-height:470px;border-radius:90px 0 0 90px}.activities-hero__visual img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.activities-purpose{text-align:center}.activities-purpose__inner{max-width:850px}.activities-purpose__title{margin:0;color:#332d29;font-size:clamp(30px,3.5vw,46px);font-weight:500;line-height:1.65}.activities-purpose__title span{color:var(--ps-color-primary)}.activities-purpose__text{margin:20px auto 0;max-width:720px;color:var(--ps-color-text-light);font-size:13px;line-height:2.05}
.activities-main{background:linear-gradient(180deg,#fffaf3 0%,#fffdf8 100%);border-block:1px solid rgba(234,223,213,.65)}.activities-section-header{margin-bottom:38px;text-align:center}.activities-section-title{margin:0;color:#332d29;font-size:clamp(30px,3.5vw,44px);font-weight:500;line-height:1.45}.activities-section-lead{margin:10px 0 0;color:var(--ps-color-text-light);font-size:13px}
.activities-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.activities-card{overflow:hidden;border:1px solid var(--ps-color-border);border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(51,45,41,.055);transition:.22s}.activities-card:hover{transform:translateY(-5px);border-color:rgba(242,138,36,.42);box-shadow:0 15px 32px rgba(51,45,41,.09)}.activities-card__body{min-height:220px;padding:24px 24px 20px}.activities-card__icon{display:grid;place-items:center;width:46px;height:46px;margin-bottom:15px;border-radius:50%;font-size:20px;font-weight:700}.activities-card__icon--orange{color:#f28a24;background:#fff1e3}.activities-card__icon--green{color:#77ad50;background:#f0f8eb}.activities-card__icon--blue{color:#5eafe0;background:#eef8fd}.activities-card__icon--purple{color:#9d85d8;background:#f6f1ff}.activities-card__icon--yellow{color:#dfaa26;background:#fff8e6}.activities-card__icon--pink{color:#eb8f99;background:#fff2f4}.activities-card__title{margin:0;color:#332d29;font-size:22px;font-weight:700}.activities-card__catch{margin:13px 0 0;color:var(--ps-color-primary);font-size:14px;font-weight:700;line-height:1.7}.activities-card__text{margin:12px 0 0;color:var(--ps-color-text-light);font-size:12px;line-height:1.9}.activities-card__image{overflow:hidden;aspect-ratio:16/7;background:#f6f2ee}.activities-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.activities-card:hover .activities-card__image img{transform:scale(1.035)}
.activities-voices__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.voice-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding:24px;border:1px solid var(--ps-color-border);border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(51,45,41,.045)}.voice-card__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;font-size:23px;font-weight:700}.voice-card__icon--green{color:#74aa4c;background:#eff8ea}.voice-card__icon--orange{color:var(--ps-color-primary);background:#fff1e4}.voice-card__icon--blue{color:var(--ps-color-secondary);background:#edf8fd}.voice-card__title{margin:0;font-size:17px;line-height:1.55}.voice-card__text{margin:10px 0 0;color:var(--ps-color-text-light);font-size:12px;line-height:1.9}.voice-card__meta{margin:13px 0 0;color:#8b817a;font-size:10px}
.activities-join{padding-top:20px}.activities-join__panel{display:grid;grid-template-columns:minmax(0,1.2fr) 260px minmax(320px,.85fr);align-items:center;overflow:hidden;border-radius:22px;background:linear-gradient(90deg,#edf8fd 0%,#fff7e7 100%)}.activities-join__copy{padding:38px 20px 38px 42px}.activities-join__title{margin:0;font-size:clamp(26px,3vw,38px);font-weight:500;line-height:1.55}.activities-join__text{margin:14px 0 0;color:var(--ps-color-text-light);font-size:12px;line-height:1.9}.activities-join__visual{overflow:hidden;height:100%;min-height:220px}.activities-join__visual img{width:100%;height:100%;object-fit:cover}.activities-join__actions{display:flex;flex-direction:column;gap:12px;padding:28px}.activities-join__actions .ps-button{width:100%}


/* ==========================================================
   PSDM v3.2.0 /donation/
   ========================================================== */
.donation-page{background:#fff}.donation-kicker{margin:0 0 8px;color:var(--ps-color-primary);font-family:var(--ps-font-english);font-size:10px;font-weight:700;letter-spacing:.16em}
.donation-hero{overflow:hidden;background:#fffaf3}.donation-hero__inner{display:grid;grid-template-columns:47% 53%;min-height:470px}.donation-hero__copy{display:flex;align-items:center;background:radial-gradient(circle at 3% 16%,rgba(242,138,36,.13) 0 50px,transparent 51px),#fffaf3}.donation-hero__copy-inner{width:min(calc(100% - 60px),650px);margin-left:max(32px,calc((100vw - 1500px)/2));padding:56px 0}.donation-hero__title{margin:0;font-size:clamp(44px,4.6vw,66px);font-weight:500;line-height:1.45}.donation-hero__title span{color:var(--ps-color-primary)}.donation-hero__lead{margin:22px 0 0;color:#4f4843;font-size:14px;line-height:2.05}.donation-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.donation-hero__actions .ps-outline-link{margin-top:0}.donation-hero__visual{overflow:hidden;min-height:470px;border-radius:90px 0 0 90px}.donation-hero__visual img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.donation-purpose{text-align:center}.donation-purpose__inner{max-width:860px}.donation-purpose__title{margin:0;font-size:clamp(30px,3.4vw,45px);font-weight:500;line-height:1.55}.donation-purpose__title span{color:var(--ps-color-primary)}.donation-purpose__text{margin:20px auto 0;max-width:760px;color:var(--ps-color-text-light);font-size:13px;line-height:2.05}
.donation-plan{background:linear-gradient(180deg,#fffaf3,#fffdf9);border-block:1px solid rgba(234,223,213,.65)}.donation-section-header{text-align:center;margin-bottom:36px}.donation-section-title{margin:0;font-size:clamp(30px,3.5vw,43px);font-weight:500;line-height:1.45}.donation-section-lead{margin:10px 0 0;color:var(--ps-color-text-light);font-size:13px}
.donation-plan__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.donation-plan-card{padding:26px;border:1px solid var(--ps-color-border);border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(51,45,41,.055)}.donation-plan-card__icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:18px;border-radius:50%;font-size:26px;font-weight:700}.donation-plan-card__icon--orange{color:#f28a24;background:#fff1e4}.donation-plan-card__icon--green{color:#78ad50;background:#eff8eb}.donation-plan-card__icon--blue{color:#5eafe0;background:#edf8fd}.donation-plan-card__title{margin:0;font-size:21px}.donation-plan-card__text{margin:12px 0 0;color:var(--ps-color-text-light);font-size:12px;line-height:1.9}.donation-plan-card .ps-outline-link{margin-top:20px}.donation-plan__note{text-align:center;margin:24px 0 0;color:#867d76;font-size:11px}
.donation-impact__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.donation-impact-card{overflow:hidden;border:1px solid var(--ps-color-border);border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(51,45,41,.045)}.donation-impact-card__image{aspect-ratio:16/9;overflow:hidden}.donation-impact-card__image img{width:100%;height:100%;object-fit:cover}.donation-impact-card__body{padding:17px}.donation-impact-card__body h3{margin:0;font-size:17px}.donation-impact-card__body p{margin:8px 0 0;color:var(--ps-color-text-light);font-size:11px;line-height:1.8}.donation-impact__footer{display:flex;justify-content:center;margin-top:24px}
.donation-thanks__panel{display:grid;grid-template-columns:minmax(0,1.15fr) 320px minmax(300px,.85fr);align-items:stretch;overflow:hidden;border-radius:22px;background:linear-gradient(90deg,#edf8fd,#fff7e7)}.donation-thanks__copy{padding:38px 24px 38px 42px}.donation-thanks__title{margin:0;font-size:clamp(28px,3vw,39px);font-weight:500;line-height:1.6}.donation-thanks__title span{color:var(--ps-color-primary)}.donation-thanks__text{margin:14px 0 0;color:var(--ps-color-text-light);font-size:12px;line-height:1.9}.donation-thanks__visual{overflow:hidden}.donation-thanks__visual img{width:100%;height:100%;object-fit:cover}.donation-thanks__list{margin:auto 24px;padding:20px;border:1px solid rgba(234,223,213,.8);border-radius:14px;background:rgba(255,255,255,.93)}.donation-thanks__list p{margin:0 0 10px;font-weight:700}.donation-thanks__list ul{margin:0;padding-left:20px}.donation-thanks__list li{margin:7px 0;color:var(--ps-color-text-light);font-size:11px;line-height:1.6}
.donation-faq__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.donation-faq-item{border:1px solid var(--ps-color-border);border-radius:12px;background:#fff}.donation-faq-item summary{cursor:pointer;list-style:none;padding:18px 48px 18px 20px;font-weight:700;position:relative}.donation-faq-item summary::-webkit-details-marker{display:none}.donation-faq-item summary::after{content:"＋";position:absolute;right:20px;top:50%;transform:translateY(-50%);color:#666;font-size:20px}.donation-faq-item[open] summary::after{content:"−"}.donation-faq-item__body{padding:0 20px 18px;color:var(--ps-color-text-light);font-size:12px;line-height:1.9}
.donation-final{background:linear-gradient(90deg,#edf8fd,#fff7e8)}.donation-final__panel{display:flex;align-items:center;justify-content:space-between;gap:30px}.donation-final__title{margin:0;font-size:clamp(28px,3vw,39px);font-weight:500;line-height:1.55}.donation-final__title span{color:var(--ps-color-primary)}.donation-final__text{margin:10px 0 0;color:var(--ps-color-text-light);font-size:12px}


/* ==========================================================
   PSDM v3.3.0 /contact/
   ========================================================== */

.contact-page {
	background: #fff;
}

.contact-kicker {
	margin: 0 0 8px;
	color: var(--ps-color-primary);
	font-family: var(--ps-font-english);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .16em;
}

/* Hero */
.contact-hero {
	overflow: hidden;
	background: #fffaf3;
}

.contact-hero__inner {
	display: grid;
	grid-template-columns: 47% 53%;
	min-height: 470px;
}

.contact-hero__copy {
	display: flex;
	align-items: center;
	background:
		radial-gradient(circle at 3% 17%, rgba(242,138,36,.13) 0 50px, transparent 51px),
		radial-gradient(circle at 0% 78%, rgba(105,184,223,.12) 0 42px, transparent 43px),
		#fffaf3;
}

.contact-hero__copy-inner {
	width: min(calc(100% - 60px), 650px);
	margin-left: max(32px, calc((100vw - 1500px) / 2));
	padding: 56px 0;
}

.contact-hero__title {
	margin: 0;
	color: #2f2925;
	font-size: clamp(44px, 4.6vw, 66px);
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: .04em;
}

.contact-hero__title span {
	color: var(--ps-color-primary);
}

.contact-hero__lead {
	margin: 22px 0 0;
	color: #4f4843;
	font-size: 14px;
	line-height: 2.05;
}

.contact-hero__visual {
	overflow: hidden;
	min-height: 470px;
	border-radius: 90px 0 0 90px;
}

.contact-hero__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 40%;
}

/* Guide */
.contact-guide {
	padding-bottom: 48px;
}

.contact-guide__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.contact-guide-card {
	position: relative;
	min-height: 225px;
	padding: 25px 22px 22px;
	border: 1px solid var(--ps-color-border);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 7px 20px rgba(51,45,41,.045);
}

.contact-guide-card__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin-bottom: 16px;
	border-radius: 50%;
	font-size: 23px;
	font-weight: 700;
}

.contact-guide-card__icon--orange { color:#f28a24;background:#fff0e1; }
.contact-guide-card__icon--green { color:#76ad50;background:#eff8ea; }
.contact-guide-card__icon--blue { color:#5eafe0;background:#edf8fd; }
.contact-guide-card__icon--purple { color:#9782d4;background:#f5f1ff; }

.contact-guide-card__title {
	margin: 0;
	color: #332d29;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.55;
}

.contact-guide-card__text {
	margin: 10px 0 0;
	color: var(--ps-color-text-light);
	font-size: 11px;
	line-height: 1.9;
}

.contact-guide-card__link {
	position: absolute;
	left: 22px;
	bottom: 20px;
	color: var(--ps-color-primary);
	font-size: 10px;
	font-weight: 700;
	text-decoration: none;
}

.contact-guide__privacy {
	margin: 20px 0 0;
	color: #867d76;
	font-size: 10px;
	text-align: center;
}

/* Form */
.contact-form-section {
	background: linear-gradient(180deg, #fffaf4 0%, #fffdf9 100%);
	border-block: 1px solid rgba(234,223,213,.65);
}

.contact-form-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(300px, .65fr);
	align-items: start;
	gap: 36px;
	max-width: 1120px;
	margin-inline: auto;
}

.contact-form-main__header {
	margin-bottom: 28px;
}

.contact-section-title {
	margin: 0;
	color: #332d29;
	font-size: clamp(30px, 3.4vw, 43px);
	font-weight: 500;
	line-height: 1.45;
}

.contact-section-lead {
	margin: 10px 0 0;
	color: var(--ps-color-text-light);
	font-size: 12px;
}

/* Style common WordPress/contact-form markup without tying to one plugin */
.contact-form-main__content form {
	margin: 0;
}

.contact-form-main__content label {
	color: #403934;
	font-weight: 700;
}

.contact-form-main__content input[type="text"],
.contact-form-main__content input[type="email"],
.contact-form-main__content input[type="tel"],
.contact-form-main__content input[type="url"],
.contact-form-main__content input[type="number"],
.contact-form-main__content select,
.contact-form-main__content textarea {
	width: 100%;
	min-height: 52px;
	padding: 12px 14px;
	border: 1px solid #ded5ce;
	border-radius: 9px;
	background: #fff;
	color: #332d29;
	font: inherit;
	box-shadow: none;
}

.contact-form-main__content textarea {
	min-height: 170px;
	resize: vertical;
}

.contact-form-main__content input:focus,
.contact-form-main__content select:focus,
.contact-form-main__content textarea:focus {
	border-color: var(--ps-color-primary);
	outline: 3px solid rgba(242,138,36,.12);
}

.contact-form-main__content input[type="submit"],
.contact-form-main__content button[type="submit"] {
	min-width: 220px;
	min-height: 50px;
	padding: 10px 28px;
	border: 0;
	border-radius: 999px;
	background: var(--ps-color-primary);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 8px 18px rgba(242,138,36,.18);
}

.contact-form-main__content input[type="submit"]:hover,
.contact-form-main__content button[type="submit"]:hover {
	transform: translateY(-2px);
}

/* Sidebar */
.contact-sidebar {
	display: grid;
	gap: 16px;
}

.contact-sidebar-card {
	padding: 23px 22px;
	border: 1px solid var(--ps-color-border);
	border-radius: 16px;
	background: #fff;
}

.contact-sidebar-card--blue {
	background: #eef9fe;
	border-color: #d5ebf5;
}

.contact-sidebar-card--warm {
	background: #fff8ea;
	border-color: #f3dfb7;
}

.contact-sidebar-card--plain {
	background: #fff;
}

.contact-sidebar-card__label {
	margin: 0;
	color: #332d29;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.55;
}

.contact-sidebar-card__text {
	margin: 12px 0 0;
	color: var(--ps-color-text-light);
	font-size: 11px;
	line-height: 1.9;
}

.contact-sidebar-card__list {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.contact-sidebar-card__list li {
	position: relative;
	margin: 8px 0;
	padding-left: 20px;
	color: #4f4843;
	font-size: 11px;
	line-height: 1.7;
}

.contact-sidebar-card__list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--ps-color-secondary);
	font-weight: 700;
}

.contact-sidebar-card .ps-outline-link {
	margin-top: 17px;
}

.contact-sidebar-card__text-link {
	display: inline-block;
	margin-top: 12px;
	color: var(--ps-color-primary);
	font-size: 11px;
	font-weight: 700;
	text-decoration: none;
}

/* FAQ */
.contact-faq__header {
	margin-bottom: 34px;
	text-align: center;
}

.contact-faq__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.contact-faq-item {
	border: 1px solid var(--ps-color-border);
	border-radius: 12px;
	background: #fff;
}

.contact-faq-item summary {
	position: relative;
	padding: 18px 48px 18px 20px;
	cursor: pointer;
	list-style: none;
	font-weight: 700;
}

.contact-faq-item summary::-webkit-details-marker {
	display: none;
}

.contact-faq-item summary::after {
	content: "＋";
	position: absolute;
	right: 20px;
	top: 50%;
	color: #666;
	font-size: 20px;
	transform: translateY(-50%);
}

.contact-faq-item[open] summary::after {
	content: "−";
}

.contact-faq-item__body {
	padding: 0 20px 18px;
	color: var(--ps-color-text-light);
	font-size: 12px;
	line-height: 1.9;
}


/* ==========================================================
   PSDM v3.4.0 News / Report
   ========================================================== */

.news-page,
.single-news-page { background:#fff; }

.news-kicker {
	margin:0 0 8px;
	color:var(--ps-color-primary);
	font-family:var(--ps-font-english);
	font-size:10px;
	font-weight:700;
	letter-spacing:.16em;
}

/* Hero */
.news-hero { overflow:hidden;background:#fffaf3; }
.news-hero__inner { display:grid;grid-template-columns:47% 53%;min-height:470px; }
.news-hero__copy {
	display:flex;align-items:center;
	background:
		radial-gradient(circle at 3% 17%,rgba(242,138,36,.13) 0 50px,transparent 51px),
		#fffaf3;
}
.news-hero__copy-inner {
	width:min(calc(100% - 60px),650px);
	margin-left:max(32px,calc((100vw - 1500px)/2));
	padding:56px 0;
}
.news-hero__title {
	margin:0;color:#2f2925;
	font-size:clamp(44px,4.6vw,66px);
	font-weight:500;line-height:1.45;letter-spacing:.04em;
}
.news-hero__title span { color:var(--ps-color-primary); }
.news-hero__lead { margin:22px 0 0;color:#4f4843;font-size:14px;line-height:2.05; }
.news-hero__visual { overflow:hidden;min-height:470px;border-radius:90px 0 0 90px; }
.news-hero__visual img { width:100%;height:100%;object-fit:cover;object-position:center 40%; }

/* Filter + search */
.news-tools {
	display:flex;align-items:center;justify-content:space-between;
	gap:24px;margin-bottom:38px;
}
.news-filter { display:flex;flex-wrap:wrap;gap:10px; }
.news-filter__item {
	display:inline-flex;align-items:center;justify-content:center;
	min-height:42px;padding:8px 20px;border:1px solid var(--ps-color-border);
	border-radius:999px;background:#fff;color:#4b433e;
	font-size:11px;font-weight:700;text-decoration:none;
}
.news-filter__item:hover,
.news-filter__item.is-active {
	color:#fff;background:var(--ps-color-primary);border-color:var(--ps-color-primary);
}
.news-search {
	display:grid;grid-template-columns:1fr 44px;
	min-width:280px;border:1px solid var(--ps-color-border);
	border-radius:999px;overflow:hidden;background:#fff;
}
.news-search input { min-width:0;border:0;padding:10px 18px;background:transparent;outline:0; }
.news-search button { border:0;background:transparent;cursor:pointer;font-size:19px; }

/* Layout */
.news-layout { display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:34px;align-items:start; }
.news-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }

.news-list-card {
	overflow:hidden;border:1px solid var(--ps-color-border);
	border-radius:16px;background:#fff;
	box-shadow:0 7px 20px rgba(51,45,41,.045);
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.news-list-card:hover {
	transform:translateY(-4px);
	border-color:rgba(242,138,36,.4);
	box-shadow:0 13px 28px rgba(51,45,41,.08);
}
.news-list-card__link { display:block;color:inherit;text-decoration:none; }
.news-list-card__image { overflow:hidden;aspect-ratio:16/10;background:#f8f4ef; }
.news-list-card__image img { width:100%;height:100%;object-fit:cover;transition:transform .35s ease; }
.news-list-card:hover .news-list-card__image img { transform:scale(1.035); }
.news-list-card__placeholder {
	display:grid;place-items:center;width:100%;height:100%;
	color:var(--ps-color-primary);
	background:linear-gradient(135deg,#fff6ec,#f4fbff);
	font-size:16px;font-weight:700;letter-spacing:.05em;
}
.news-list-card__body { padding:17px 17px 18px; }
.news-list-card__meta { display:flex;align-items:center;gap:9px;margin-bottom:10px;color:#8b817a;font-size:9px; }
.news-list-card__category {
	display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;
	border-radius:999px;color:#fff;background:var(--ps-color-primary);
	font-size:9px;font-weight:700;
}
.news-list-card__title { margin:0;font-size:16px;line-height:1.55; }
.news-list-card__excerpt { margin:9px 0 0;color:var(--ps-color-text-light);font-size:10px;line-height:1.75; }
.news-list-card__more { display:inline-block;margin-top:12px;color:var(--ps-color-primary);font-size:10px;font-weight:700; }

.news-pagination { margin-top:30px; }
.news-pagination .nav-links { display:flex;flex-wrap:wrap;gap:8px; }
.news-pagination .page-numbers {
	display:grid;place-items:center;min-width:36px;height:36px;padding:0 10px;
	border:1px solid var(--ps-color-border);border-radius:8px;
	color:#4b433e;background:#fff;text-decoration:none;font-size:11px;
}
.news-pagination .page-numbers.current {
	color:#fff;background:var(--ps-color-primary);border-color:var(--ps-color-primary);
}

/* Sidebar */
.news-sidebar { display:grid;gap:18px; }
.news-sidebar-card {
	padding:20px;border:1px solid var(--ps-color-border);
	border-radius:16px;background:#fff;
	box-shadow:0 6px 18px rgba(51,45,41,.035);
}
.news-sidebar-card__title { margin:0 0 14px;font-size:17px; }
.news-sidebar__categories { margin:0;padding:0;list-style:none; }
.news-sidebar__categories li { border-bottom:1px solid #f0e9e2; }
.news-sidebar__categories li:last-child { border-bottom:0; }
.news-sidebar__categories a {
	display:block;padding:9px 2px;color:#4e4640;text-decoration:none;font-size:11px;
}
.news-sidebar__categories a:hover { color:var(--ps-color-primary); }

.news-sidebar__recent { margin:0;padding:0;list-style:none; }
.news-sidebar__recent li + li { margin-top:12px; }
.news-sidebar__recent a {
	display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:center;
	color:inherit;text-decoration:none;
}
.news-sidebar__recent img,
.news-sidebar__recent-placeholder {
	width:58px;height:48px;border-radius:8px;object-fit:cover;background:#f7f2ed;
}
.news-sidebar__recent time { display:block;color:#9a8f87;font-size:8px; }
.news-sidebar__recent strong { display:block;margin-top:3px;font-size:10px;line-height:1.45; }

.news-sidebar__archive-select {
	width:100%;min-height:42px;padding:8px 10px;
	border:1px solid var(--ps-color-border);border-radius:9px;background:#fff;
}

/* Single */
.single-news__hero {
	padding:72px 0 52px;background:#fffaf4;
	border-bottom:1px solid rgba(234,223,213,.65);
}
.single-news__meta { display:flex;align-items:center;gap:10px;color:#8b817a;font-size:10px; }
.single-news__category {
	display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;
	color:#fff;background:var(--ps-color-primary);font-size:9px;font-weight:700;
}
.single-news__title {
	margin:18px 0 0;font-size:clamp(32px,4vw,52px);
	font-weight:500;line-height:1.5;letter-spacing:.02em;
}
.single-news__layout {
	display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:42px;
	padding-block:58px;
}
.single-news__featured {
	overflow:hidden;margin-bottom:32px;border-radius:20px;
	box-shadow:var(--ps-shadow-card);
}
.single-news__featured img { width:100%;height:auto; }
.single-news__content { font-size:14px;line-height:2; }
.single-news__content h2 {
	margin-top:2.2em;padding-bottom:.5em;border-bottom:2px solid rgba(242,138,36,.2);
	font-size:28px;
}
.single-news__content h3 { margin-top:1.8em;font-size:21px; }
.single-news__postnav {
	display:grid;grid-template-columns:1fr 1fr;gap:16px;
	margin-top:42px;padding-top:24px;border-top:1px solid var(--ps-color-border);
}
.single-news__postnav > div:last-child { text-align:right; }
.single-news__postnav a { color:#4e4640;text-decoration:none;font-size:11px; }
.single-news__back {
	display:inline-flex;margin-top:28px;color:var(--ps-color-primary);
	font-size:11px;font-weight:700;text-decoration:none;
}


/* ==========================================================
   PSDM v3.4.1 NEWS POLISH
   ========================================================== */

.ps-container--article {
	width: min(calc(100% - 48px), 940px);
	margin-inline: auto;
}

.news-content {
	padding-top: 54px;
}

.news-tools {
	padding-bottom: 4px;
}

.news-result-summary {
	margin-bottom: 18px;
	padding: 14px 17px;
	border-radius: 10px;
	background: #fff8ee;
	color: #5d554f;
	font-size: 11px;
}

.news-empty {
	padding: 54px 28px;
	border: 1px solid var(--ps-color-border);
	border-radius: 18px;
	background: #fffaf4;
	text-align: center;
}

.news-empty h2 {
	margin: 0;
	font-size: 22px;
}

.news-empty p {
	margin: 10px 0 0;
	color: var(--ps-color-text-light);
	font-size: 12px;
}

.news-sidebar {
	position: sticky;
	top: 100px;
}

.news-sidebar__categories .current-cat > a {
	color: var(--ps-color-primary);
	font-weight: 700;
}

/* Article */
.single-news__hero {
	padding-top: 64px;
	padding-bottom: 48px;
}

.single-news__hero .news-kicker {
	margin-bottom: 12px;
}

.single-news__title {
	max-width: 900px;
}

.single-news__layout {
	grid-template-columns: minmax(0, 820px) 280px;
	justify-content: center;
	gap: 48px;
	padding-top: 54px;
	padding-bottom: 70px;
}

.single-news__main {
	min-width: 0;
}

.single-news__featured {
	margin-bottom: 34px;
}

.single-news__featured img {
	display: block;
	width: 100%;
	max-height: 620px;
	object-fit: cover;
}

.single-news__content {
	color: #403934;
	font-size: 14px;
	line-height: 2.1;
}

.single-news__content > *:first-child {
	margin-top: 0;
}

.single-news__content p {
	margin-top: 0;
	margin-bottom: 1.7em;
}

.single-news__content img {
	height: auto;
	border-radius: 12px;
}

.single-news__content figure {
	margin-block: 2em;
}

.single-news__content blockquote {
	margin: 2em 0;
	padding: 18px 22px;
	border-left: 3px solid var(--ps-color-primary);
	background: #fff9f0;
}

.single-news__content ul,
.single-news__content ol {
	padding-left: 1.5em;
}

.single-news__content a {
	color: var(--ps-color-primary);
	text-underline-offset: 3px;
}

.single-news__footer {
	margin-top: 44px;
}

.single-news__tags {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px;
	padding-top:20px;
	border-top:1px solid var(--ps-color-border);
	font-size:10px;
}

.single-news__tags > span {
	color:var(--ps-color-primary);
	font-family:var(--ps-font-english);
	font-weight:700;
	letter-spacing:.12em;
}

.single-news__tags a {
	display:inline-flex;
	padding:5px 9px;
	border-radius:999px;
	background:#fff5e8;
	color:#665c54;
	text-decoration:none;
}

.single-news__postnav {
	margin-top:26px;
}

.single-news__postnav a:hover {
	color:var(--ps-color-primary);
}

.single-news__back-wrap {
	display:flex;
	justify-content:center;
	margin-top:28px;
}

.single-news__back {
	margin-top:0;
}

.single-news__category {
	color:#fff;
	text-decoration:none;
}

.single-news__category:hover {
	opacity:.86;
}


/* ==========================================================
   PSDM v3.4.2 NEWS FINAL POLISH
   Approved 2-column single + wider list cards
   ========================================================== */

/* ---------- NEWS LIST ---------- */

.news-content .ps-container { width: min(calc(100% - 50px), 1480px); }

.news-layout {
	grid-template-columns: minmax(0, 1fr) 290px;
	gap: 38px;
}

.news-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.news-list-card__body {
	padding: 18px 18px 20px;
}

.news-list-card__title {
	font-size: 15px;
	line-height: 1.65;
}

.news-list-card__excerpt {
	font-size: 11px;
	line-height: 1.85;
}

.news-list-card__more {
	margin-top: 14px;
	font-size: 11px;
}

.news-list-card__meta {
	font-size: 9px;
}

.news-list-card__category {
	min-height: 23px;
	padding-inline: 9px;
}

.news-sidebar-card {
	padding: 22px;
}

.news-sidebar-card__title {
	font-size: 18px;
}

.news-sidebar__categories a {
	padding: 10px 2px;
	font-size: 12px;
}

.news-sidebar__recent a {
	grid-template-columns: 62px 1fr;
	gap: 11px;
}

.news-sidebar__recent img,
.news-sidebar__recent-placeholder {
	width: 62px;
	height: 52px;
}

.news-sidebar__recent strong {
	font-size: 11px;
	line-height: 1.5;
}

/* ---------- SINGLE POST ---------- */

.single-news__hero .ps-container--article { width: min(calc(100% - 64px), 1240px); }

.single-news__hero {
	padding-top: 58px;
	padding-bottom: 44px;
}

.single-news__title {
	max-width: 980px;
	font-size: clamp(34px, 3.7vw, 50px);
	line-height: 1.45;
}

.single-news__layout {
	width: min(calc(100% - 64px), 1320px);
	grid-template-columns: minmax(0, 900px) 300px;
	justify-content: space-between;
	gap: 52px;
	padding-top: 52px;
	padding-bottom: 74px;
}

.single-news__main {
	padding: 0 8px;
}

.single-news__featured {
	margin-bottom: 38px;
	border-radius: 18px;
}

.single-news__content {
	font-size: 15px;
	line-height: 2.15;
	letter-spacing: .01em;
}

.single-news__content p {
	margin-bottom: 1.85em;
}

.single-news__content h2 {
	margin-top: 2.35em;
	margin-bottom: .9em;
	padding-bottom: .55em;
	font-size: 29px;
	line-height: 1.5;
}

.single-news__content h3 {
	margin-top: 2em;
	margin-bottom: .7em;
	font-size: 22px;
	line-height: 1.55;
}

.single-news__content h4 {
	margin-top: 1.8em;
	margin-bottom: .6em;
	font-size: 18px;
}

.single-news__content ul,
.single-news__content ol {
	margin: 1.4em 0 1.8em;
	padding-left: 1.7em;
}

.single-news__content li + li {
	margin-top: .45em;
}

.single-news__content blockquote {
	margin: 2.2em 0;
	padding: 22px 26px;
	border-radius: 0 12px 12px 0;
}

.single-news__footer {
	margin-top: 50px;
}

.single-news__postnav {
	gap: 20px;
	margin-top: 30px;
	padding-top: 26px;
}

.single-news__postnav a {
	font-size: 12px;
	line-height: 1.7;
}

.single-news__back-wrap {
	margin-top: 32px;
}

/* Sidebar aligned with article */
.single-news__layout > .news-sidebar {
	position: sticky;
	top: 96px;
	align-self: start;
}

.single-news__layout > .news-sidebar .news-sidebar-card {
	padding: 22px;
}

/* Avoid overly narrow paragraphs inside legacy content */
.single-news__content > p,
.single-news__content > ul,
.single-news__content > ol,
.single-news__content > h2,
.single-news__content > h3,
.single-news__content > h4,
.single-news__content > blockquote {
	max-width: 820px;
}


/* ==========================================================
   PSDM v3.4.5 /kirameki/
   Primary-source reflected page
   ========================================================== */

.kirameki-page { background:#fff; }
.kirameki-kicker {
	margin:0 0 8px;color:#f28a24;font-family:var(--ps-font-english);
	font-size:10px;font-weight:700;letter-spacing:.16em;
}
.kirameki-section-head { max-width:860px;margin:0 auto 38px;text-align:center; }
.kirameki-section-title { margin:0;color:#302a26;font-size:clamp(30px,3.5vw,45px);font-weight:500;line-height:1.5; }
.kirameki-section-title span { color:#f28a24; }
.kirameki-section-lead { margin:13px auto 0;max-width:780px;color:var(--ps-color-text-light);font-size:13px;line-height:2; }

/* Hero */
.kirameki-hero { overflow:hidden;background:#fffaf2; }
.kirameki-hero__inner { display:grid;grid-template-columns:43% 57%;min-height:570px; }
.kirameki-hero__copy {
	display:flex;align-items:center;
	background:
		radial-gradient(circle at 4% 18%,rgba(98,176,218,.12) 0 48px,transparent 49px),
		radial-gradient(circle at 7% 86%,rgba(244,190,54,.14) 0 70px,transparent 71px),
		#fffaf2;
}
.kirameki-hero__copy-inner { width:min(calc(100% - 60px),620px);margin-left:max(32px,calc((100vw - 1500px)/2));padding:54px 0; }
.kirameki-hero__brand { margin:0 0 18px;color:#222;font-size:20px;font-weight:700;letter-spacing:.06em; }
.kirameki-hero__title { margin:0;color:#282421;font-size:clamp(42px,4.5vw,64px);font-weight:600;line-height:1.45;letter-spacing:.02em; }
.kirameki-hero__blue { color:#2c9bd4; }
.kirameki-hero__orange { color:#f28a24; }
.kirameki-hero__lead { margin:24px 0 0;color:#4e4741;font-size:14px;line-height:2; }
.kirameki-hero__actions { display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;align-items:center; }
.kirameki-hero__actions .ps-outline-link { margin-top:0; }
.kirameki-hero__visual { position:relative;overflow:hidden;min-height:570px;border-radius:90px 0 0 90px; }
.kirameki-hero__visual img { width:100%;height:100%;object-fit:cover;object-position:center; }
.kirameki-hero__badge {
	position:absolute;left:28px;top:30px;display:flex;flex-direction:column;
	padding:15px 20px;border-radius:22px;background:rgba(255,255,255,.92);
	box-shadow:0 10px 28px rgba(50,45,40,.08);font-size:12px;
}
.kirameki-hero__badge strong { margin-top:3px;color:#ee7083;font-size:16px; }

/* About */
.kirameki-about { background:#fff; }
.kirameki-about__grid { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:42px;align-items:center; }
.kirameki-about__visual { overflow:hidden;border-radius:22px;box-shadow:var(--ps-shadow-card); }
.kirameki-about__visual img { width:100%;height:auto;display:block; }
.kirameki-about__message { margin:0 0 24px;color:#3c352f;font-size:21px;line-height:1.75; }
.kirameki-about__message strong { color:#f28a24; }
.kirameki-benefits { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
.kirameki-benefit { padding:22px 17px;border-radius:50% 50% 18px 18px / 18px 18px 18px 18px;border:1px solid var(--ps-color-border);background:#fff;text-align:center; }
.kirameki-benefit__num { display:grid;place-items:center;width:34px;height:34px;margin:0 auto 10px;border-radius:50%;color:#fff;font-weight:700; }
.kirameki-benefit h3 { margin:0;font-size:16px; }
.kirameki-benefit p { margin:9px 0 0;color:var(--ps-color-text-light);font-size:11px;line-height:1.8; }
.kirameki-benefit--green .kirameki-benefit__num { background:#79ad4e; }
.kirameki-benefit--orange .kirameki-benefit__num { background:#f2a128; }
.kirameki-benefit--pink .kirameki-benefit__num { background:#ed8496; }

/* Choice comparison */
.kirameki-choice { background:linear-gradient(180deg,#f5fbff,#fffaf4);border-block:1px solid rgba(222,214,204,.6); }
.kirameki-compare { display:grid;grid-template-columns:1fr 70px 1fr;gap:20px;align-items:center;max-width:980px;margin:0 auto; }
.kirameki-compare__column { padding:24px;border:1px solid var(--ps-color-border);border-radius:18px;background:#fff; }
.kirameki-compare__column h3 { margin:0 0 18px;text-align:center;font-size:18px; }
.kirameki-compare__column ul { margin:0;padding:0;list-style:none; }
.kirameki-compare__column li { display:grid;grid-template-columns:84px 1fr;gap:14px;padding:12px 0;border-top:1px solid #eee5dc;align-items:center; }
.kirameki-compare__column li:first-child { border-top:0; }
.kirameki-compare__column span { color:#8b8179;font-size:11px; }
.kirameki-compare__column strong { font-size:14px; }
.kirameki-compare__column--before h3 { color:#777; }
.kirameki-compare__column--after { border-color:#f1a3b0;background:#fff9fa; }
.kirameki-compare__column--after h3 { color:#eb7288; }
.kirameki-compare__arrow { color:#f28a24;font-size:38px;text-align:center; }
.kirameki-choice__bottom { margin:28px auto 0;max-width:760px;text-align:center;font-size:15px;line-height:1.9; }
.kirameki-choice__bottom strong { color:#2b92ca; }

/* How */
.kirameki-how__layout { display:grid;grid-template-columns:360px 1fr;gap:34px;align-items:center;max-width:1100px;margin:0 auto; }
.kirameki-how__visual { overflow:hidden;border-radius:20px;box-shadow:var(--ps-shadow-card); }
.kirameki-how__visual img { width:100%;display:block; }
.kirameki-steps { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px; }
.kirameki-step { min-height:210px;padding:24px 20px;border-radius:18px;box-shadow:0 8px 20px rgba(50,45,40,.05); }
.kirameki-step__label { display:inline-block;margin-bottom:15px;font-size:10px;font-weight:700;letter-spacing:.12em; }
.kirameki-step h3 { margin:0;font-size:20px; }
.kirameki-step p { margin:12px 0 0;font-size:12px;line-height:1.9; }
.kirameki-step--pink { background:#fff0f3; }
.kirameki-step--yellow { background:#fff8d9; }
.kirameki-step--blue { background:#edf8fd; }
.kirameki-how__note { margin:26px auto 0;max-width:900px;padding:17px 20px;border-radius:12px;background:#fffaf2;text-align:center;color:#5c534b;font-size:12px;line-height:1.9; }

/* Gallery */
.kirameki-gallery { background:#fffaf4; }
.kirameki-gallery__grid { display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:16px;max-width:1160px;margin:0 auto; }
.kirameki-gallery__item { margin:0;overflow:hidden;border-radius:18px;background:#eee; }
.kirameki-gallery__item--wide { grid-row:1 / 3; }
.kirameki-gallery__item img { width:100%;height:100%;object-fit:cover;display:block; }

/* Ripple */
.kirameki-ripple__grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.kirameki-ripple-card { padding:26px 24px;border-radius:22px; }
.kirameki-ripple-card__icon { display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.72);font-size:24px; }
.kirameki-ripple-card h3 { margin:17px 0 0;font-size:20px; }
.kirameki-ripple-card p { margin:11px 0 0;font-size:12px;line-height:1.9; }
.kirameki-ripple-card--yellow { background:#fff3b5; }
.kirameki-ripple-card--pink { background:#ffe0e5; }
.kirameki-ripple-card--blue { background:#dff2fb; }

/* Peer */
.kirameki-peer { background:#eef9fd; }
.kirameki-peer__panel { display:grid;grid-template-columns:1fr 430px;align-items:center;gap:36px;max-width:1100px;margin:0 auto; }
.kirameki-peer__copy { padding:28px 0; }
.kirameki-peer__title { margin:0;font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.55; }
.kirameki-peer__copy > p:last-child { margin:18px 0 0;color:var(--ps-color-text-light);font-size:13px;line-height:2; }
.kirameki-peer__visual { overflow:hidden;border-radius:20px; }
.kirameki-peer__visual img { width:100%;display:block; }

/* Network */
.kirameki-network { background:#fff; }
.kirameki-network__message { display:flex;align-items:center;justify-content:center;gap:18px;max-width:900px;margin:0 auto;padding:26px;border-radius:18px;background:linear-gradient(90deg,#fff1b9,#e9f7fd);text-align:center; }
.kirameki-network__message span { color:#f2b329;font-size:24px; }
.kirameki-network__message p { margin:0;font-size:17px;font-weight:700;line-height:1.8; }

/* Support */
.kirameki-support { background:#fffaf4; }
.kirameki-support__grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.kirameki-support-card { display:flex;flex-direction:column;padding:28px;border-radius:20px;border:1px solid var(--ps-color-border); }
.kirameki-support-card__icon { font-size:34px; }
.kirameki-support-card h3 { margin:14px 0 0;font-size:20px; }
.kirameki-support-card p { margin:12px 0 22px;color:#5c544d;font-size:12px;line-height:1.9;flex:1; }
.kirameki-support-card .ps-button { width:100%; }
.kirameki-support-card--blue { background:#eef8ff; }
.kirameki-support-card--yellow { background:#fff8db; }
.kirameki-support-card--pink { background:#fff0f3; }

/* Closing */
.kirameki-closing { padding:70px 0;background:#fff; }
.kirameki-closing__panel { display:grid;grid-template-columns:1fr 1fr;overflow:hidden;max-width:1120px;margin:0 auto;border-radius:24px;background:linear-gradient(90deg,#fff8e7,#f1fbff); }
.kirameki-closing__visual { min-height:360px; }
.kirameki-closing__visual img { width:100%;height:100%;object-fit:cover;display:block; }
.kirameki-closing__copy { display:flex;flex-direction:column;justify-content:center;padding:42px; }
.kirameki-closing__copy h2 { margin:0;font-size:clamp(31px,3.5vw,45px);font-weight:500;line-height:1.6; }
.kirameki-closing__copy h2 span { color:#f28a24; }
.kirameki-closing__copy > p:last-child { margin:18px 0 0;color:#5c544d;font-size:13px;line-height:2; }

.activities-card__detail-link{
	display:inline-block;margin-top:12px;color:var(--ps-color-primary);
	font-size:11px;font-weight:700;text-decoration:none;
}
.activities-card__detail-link:hover{text-decoration:underline;text-underline-offset:3px}








/* .kirameki46-hero section 全体の設定 */
.kirameki46-hero { width: 100%; position: relative; background-color:#fdfcfa; background-image: url('../images/kirameki_hero.jpg'); background-size: cover; background-position: 85% 0%; background-repeat: no-repeat; font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif; color: #333; }
.kirameki46-hero img.kirameki_logo { position:absolute; width:30%; height:auto; top:5%; left:5%; }
.kirameki46-hero__container { max-width: 1400px; margin: 0 auto; padding: 70px 0 20px 50px; display: flex; justify-content: flex-start; align-items: center; min-height: calc(1440px * (700 / 1366)); }
.kirameki46-hero__content { width: 50%; z-index: 1; }
.kirameki46-hero__title { font-size: 4rem; line-height: 1.3; margin: 0 0 40px 0; font-weight: 700; }
.kirameki46-hero__title-base { color: #333; }
.kirameki46-hero__title-separator { color: #333; }
.kirameki46-hero__title-accent.-blue { color: #008cd4; }
.kirameki46-hero__title-accent.-orange { color: #f7a600; }
.kirameki46-hero__lead { font-size: 1.2rem; line-height: 1.2; font-weight: 500; }
.kirameki46-hero__lead p { margin: 0 0 10px 0; }


@media screen and (max-width: 1300px) {
	.kirameki46-hero img.kirameki_logo { top:8%; left:4%; width:40%; }
	.kirameki46-hero__container { padding:220px 0 30px 60px; min-height: auto; }
	.kirameki46-hero__content { width:70%; z-index: 1; }
	.kirameki46-hero__title { font-size:3.4rem; line-height:1.2; margin: 0 0 40px 0; font-weight: 700; }
}

@media screen and (max-width: 1024px) {
	.kirameki46-hero { background-size: cover; background-position: 90% 0%; }
	.kirameki46-hero img.kirameki_logo { top:7%; left:3%; width:35%; }
	.kirameki46-hero__container { padding:150px 0 50px 50px; }
	.kirameki46-hero__title { font-size: 2.9rem; margin-bottom:15px; }
	.kirameki46-hero__lead { font-size: 1.1rem; line-height: 1; }
}

@media screen and (max-width: 768px) {
	.kirameki46-hero { bottom; background-position: 78% 0%; }
	.kirameki46-hero img.kirameki_logo { width:52%; }
	.kirameki46-hero__container { flex-direction: column; align-items: flex-start; padding: 100px 0 30px 20px; }
	.kirameki46-hero__content { width: 100%; }
	.kirameki46-hero__title { font-size:1.8rem; margin-bottom: 20px; }
	.kirameki46-hero__lead { font-size:1rem; }
}



#Main { margin:2% auto; padding:0; width:95%; max-width:1300px; display:block; }
#Main ul { margin:0; padding:0; list-style-type:none; display:flex; flex-wrap:wrap; }
#Main ul li { margin:0 auto 2%; padding:1%; width:48.5%; box-sizing:border-box; background:#fff; box-shadow:0 0 5px #f4f4f4; border-radius:10px; display:block; }
#Main ul li.li01 { border:2px solid #ff8700; }
#Main ul li.li02 { border:2px solid #0077dc; }
#Main ul li.li03 { border:2px solid #ffa2ab; }
#Main ul li.li04 { border:2px solid #3a9a47; }
#Main ul li h2 { margin:0 0 1.5%; paddig:0;  }

#Main li h3 { margin:0 auto; width:90%; font-size:1.5rem; line-height:1.3; font-weight:700; text-align:center; }
#Main li.li01 h3 {  color:#ff8700; }
#Main li.li02 h3 {  color:#0077dc; }
#Main li.li03 h3 {  color:#ffa2ab; }
#Main li.li04 h3 {  color:#3a9a47; }







































.about{display:grid;grid-template-columns:1fr 180px;gap:18px}
.about h3{color:#f28a24;font-size:18px}
.about p,.kirameki46-panel p{font-size:12px;line-height:1.85}
.about img{width:100%;aspect-ratio:1/1.1;object-fit:cover;border-radius:12px}
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.benefits>div{min-height:145px;border:1px solid #ddd;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;text-align:center}
.benefits b{font-size:22px;color:#f28a24}
.benefits strong{font-size:15px}
.benefits span{font-size:10px;line-height:1.6}
.catch{text-align:center;color:#0878bf;font-size:21px!important;font-weight:700}
.catch strong{font-size:28px}
.compare{display:grid;grid-template-columns:1fr 40px 1fr;gap:8px;align-items:center}
.compare>div{border:1px solid #ddd;border-radius:10px;overflow:hidden}
.compare h3{background:#888;color:#fff;text-align:center;margin:0;padding:8px}
.compare .pink h3{background:#ed6684}
.compare p{margin:0!important;padding:7px;border-top:1px solid #ddd;text-align:center;font-weight:700}
.compare>span{text-align:center;color:#888;font-size:25px;line-height:1.55}
.note{color:#126fa7!important}
.cls{display:grid;grid-template-columns:1fr 200px;gap:18px;align-items:end}
.cls h3{color:#df5d73;text-align:center;font-size:20px}
.cls ul{padding-left:0;list-style:none;font-size:12px;line-height:1.7}
.cls img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px}.center{text-align:center;font-weight:700}.partner-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.partner-icons>div{text-align:center}.partner-icons b{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;margin:auto;background:#f0f5df;color:#2c9b39;font-size:28px}.partner-icons span{font-size:11px;font-weight:700}.green-message{text-align:center;color:#1a8f35;font-size:18px}.buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.buttons a{padding:10px;background:#219331;color:#fff;text-decoration:none;text-align:center;border-radius:6px;font-size:11px;font-weight:700}.kirameki46-strip{padding-bottom:14px}.strip-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.strip-grid img{width:100%;aspect-ratio:1.25/1;object-fit:cover;border-radius:8px}.kirameki46-actions{padding-top:12px}.kirameki46-actions h2{text-align:center;font-size:28px}.actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.action{padding:20px;border-radius:15px}.action.blue{background:#edf7ff}.action.green{background:#eef6db}.action.pink{background:#fff0f3}.action h3{font-size:20px}.action p{min-height:50px}.action a{display:block;padding:9px;color:#fff;text-align:center;text-decoration:none;border-radius:6px;font-weight:700}.action.blue a{background:#198fcf}.action.green a{background:#4ba929}.action.pink a{background:#ee5876}
























.mission_waku {}
.card { margin:0 auto 2.5%; padding:3%; width:85%; box-shadow:0 0 5px #f0f0f0; border-radius:10px; }
.about-support-card__number0 { position: absolute; left: 18px; top: 20px; font-size: 38px; font-weight: 700; line-height: 1; }
.about-number01 { color: rgba(242,138,36,.18); }
.about-number02 { color: var(--ps-color-secondary); }
.about-number03 { color: var(--ps-color-green); }
.about-support-card__icon0 { position:absolute; left:70px; top:19px; display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 18px; border-radius: 50%; font-size: 25px; font-weight: 700; line-height: 1; }
.about-support-card__icon0 > * { transform: translateY(-1px); }
.about-support-card__title0 { position: absolute; left: 130px; top: 12px; margin: 0; font-size:25px; }
.abtitle1 { color: rgba(242,138,36,.18); }
.abtitle2 { color: var(--ps-color-secondary); }
.abtitle3 { color: var(--ps-color-green); }
.about-support-card__catch0 { position: absolute; left: 130px; top:50px; margin: 0; font-size:15px; font-weight: 700; line-height: 1.4; }

.mission_waku ul { margin:5% auto 0; list-style-type:none; display:flex; }
.mission_waku ul li { margin:0 auto; width:50% }
.mission_waku ul li.li00 { width:32%; }
.mission_waku ul li.li00 img { margin:0 auto; width:95%; height:auto;  }
.mission_waku ul li.li01 { width:68%; }
.mission_waku ul li.li01 p { font-size:13.7px; line-heigth:1.5; }
.mission_waku ul li.li01 p.clr01 { color:#fd8820; }
.mission_waku ul li.li01 p.clr02 { color:#0a4480; }
.mission_waku ul li.li01 p.clr03 { color:#396811; }

@media screen and (max-width: 768px) {
	.card { margin:0 auto 2.5%; padding:3%; width:96%; }
	.mission_waku ul { display:block; }
}
















/* =========================================================
   ABOUT - TEAM PROFILE
========================================================= */

.about-members {
	background:
		radial-gradient(circle at 8% 5%, rgba(242, 138, 36, .08), transparent 17%),
		radial-gradient(circle at 92% 12%, rgba(93, 184, 224, .08), transparent 18%),
		#fbfdff;
}

.about-members__list {
	display: grid;
	gap: 28px;
	max-width: 980px;
	margin: 48px auto 0;
}

.member-profile {
	--member-accent: #f28a24;
	--member-soft: #fff4e8;

	display: grid;
	grid-template-columns: 210px minmax(0, 1fr);
	gap: 34px;
	align-items: start;
	padding: 28px;
	border: 1px solid rgba(47, 41, 37, .08);
	border-radius: 24px;
	background: rgba(255, 255, 255, .92);
	box-shadow:
		0 18px 45px rgba(47, 41, 37, .05),
		0 2px 8px rgba(47, 41, 37, .03);
}

.member-profile--blue {
	--member-accent: #59b4df;
	--member-soft: #edf8fd;
}

.member-profile--pink {
	--member-accent: #ef8295;
	--member-soft: #fff0f3;
}

.member-profile--orange {
	--member-accent: #f3a22f;
	--member-soft: #fff6e6;
}

.member-profile--green {
	--member-accent: #78b95b;
	--member-soft: #f0f8eb;
}

.member-profile__visual {
	position: relative;
	overflow: hidden;
	border-radius: 18px;
	background: var(--member-soft);
	aspect-ratio: 4 / 5;
}

.member-profile__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.member-profile__visual--symbol {
	display: grid;
	place-items: center;
	font-size: 54px;
	color: var(--member-accent);
}

.member-profile__visual--symbol::before {
	content: "";
	position: absolute;
	width: 130px;
	height: 130px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .7);
}

.member-profile__visual--symbol span {
	position: relative;
	z-index: 1;
}

.member-profile__heading {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 14px;
}

.member-profile__role {
	margin: 0;
	padding: 5px 10px;
	border-radius: 999px;
	background: var(--member-soft);
	color: var(--member-accent);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .08em;
}

.member-profile__name {
	margin: 0;
	color: var(--ps-color-text);
	font-size: 26px;
	font-weight: 700;
}

.member-profile__summary {
	margin: 0;
	color: #6d6863;
	font-size: 14px;
	line-height: 1.6;
}

.member-profile__details {
	margin-top: 20px;
	border-top: 1px solid rgba(47, 41, 37, .08);
}

.member-profile__details summary {
	position: relative;
	padding: 18px 42px 4px 0;
	color: var(--member-accent);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.member-profile__details summary::-webkit-details-marker {
	display: none;
}

.member-profile__details summary::after {
	content: "＋";
	position: absolute;
	right: 2px;
	top: 14px;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--member-soft);
	color: var(--member-accent);
	font-size: 18px;
	line-height: 1;
	transition: transform .25s ease;
}

.member-profile__details[open] summary::after {
	transform: rotate(45deg);
}

.member-profile__full {
	padding-top: 18px;
	animation: member-profile-open .28s ease;
}

.member-profile__full p {
	margin: 0 0 16px;
	color: #55504c;
	font-size: 14px;
	line-height: 1.6;
}

.member-profile__highlight {
	padding-left: 16px;
	border-left: 3px solid var(--member-accent);
	color: var(--member-accent) !important;
	font-weight: 700;
}

.member-profile__note {
	margin-top: 18px;
	padding: 18px 20px;
	border-radius: 14px;
	background: var(--member-soft);
}

.member-profile__note p:last-child {
	margin-bottom: 0;
}

@keyframes member-profile-open {
	from {
		opacity: 0;
		transform: translateY(-5px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 767px) {

	.member-profile {
		grid-template-columns: 1fr;
		gap: 22px;
		padding: 20px;
		border-radius: 20px;
	}

	.member-profile__visual {
		max-width: 240px;
		width: 100%;
		margin-inline: auto;
		aspect-ratio: 1 / 1;
	}

	.member-profile__heading {
		flex-wrap: wrap;
	}

	.member-profile__name {
		font-size: 22px;
	}

	.member-profile__summary,
	.member-profile__full p {
		font-size: 13.5px;
		line-height: 1.9;
	}
}




/* =========================================================
   TEAM - REPRESENTATIVE
========================================================= */

.member-profile--representative {
	--member-accent: var(--ps-color-primary);
	--member-soft: #fff5e9;

	position: relative;
	border-color: rgba(242, 138, 36, .22);
	background:
		linear-gradient(
			135deg,
			rgba(255, 249, 241, .9) 0%,
			#fff 42%
		);
}

.member-profile--representative::before {
	content: "REPRESENTATIVE";
	position: absolute;
	top: 22px;
	right: 26px;
	color: rgba(242, 138, 36, .16);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
}

.member-profile--representative .member-profile__role {
	background: var(--member-accent);
	color: #fff;
}

.member-profile--representative .member-profile__name {
	font-size: 28px;
}

@media (max-width: 767px) {

	.member-profile--representative::before {
		top: 16px;
		right: 18px;
		font-size: 9px;
	}

	.member-profile--representative .member-profile__name {
		font-size: 23px;
	}
}