File: /virtual/moonarc/public_html/moonarc.shop/wp-content/themes/moonarc-child/style.css
/*
Theme Name: MOONARC Child
Template: twentytwentyfive
Author: クラリス開発相談所
Description: MOONARC グループサイト用 子テーマ(WP実証 proof・dental参考の1枚LP化/ゴールド×ネイビー・月への弧)
Version: 0.3.0
*/
/* ===== Brand tokens ===== */
:root {
--moonarc-gold: #E9C46A;
--moonarc-gold-soft: #F2D58A;
--moonarc-soft-bg: #131C30;
--moonarc-line: color-mix(in srgb, var(--wp--preset--color--contrast) 14%, transparent);
}
body {
font-family: 'Zen Kaku Gothic New', system-ui, -apple-system, 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', sans-serif;
}
h1, h2, h3 {
letter-spacing: 0.01em;
}
/* ===== L2-B ロゴロックアップ(Site Title) ===== */
.wp-block-site-title {
position: relative;
padding-left: 2.6em;
margin: 0;
}
.wp-block-site-title::before {
content: "";
position: absolute;
left: 0;
top: 50%;
width: 2.1em;
height: 1.4em;
transform: translateY(-50%);
background: url('assets/mark.svg') no-repeat center / contain;
filter: drop-shadow(0 0 7px rgba(233, 196, 106, 0.55));
}
.wp-block-site-title a {
background: linear-gradient(100deg, var(--wp--preset--color--contrast) 48%, var(--moonarc-gold) 92%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
color: transparent;
font-weight: 800;
letter-spacing: 0.12em;
}
/* front/brochure ページの既定タイトルは隠す(パターン側に見出しあり) */
.page .wp-block-post-title {
display: none;
}
/* ===== Sticky header ===== */
.moonarc-header {
position: sticky;
top: 0;
z-index: 100;
padding-block: 0.7rem;
background: color-mix(in srgb, var(--wp--preset--color--base) 70%, transparent);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border-bottom: 1px solid transparent;
transition: background 0.25s ease, border-color 0.25s ease;
}
.moonarc-header.is-stuck {
background: color-mix(in srgb, var(--wp--preset--color--base) 92%, transparent);
border-bottom-color: color-mix(in srgb, var(--moonarc-gold) 16%, transparent);
}
.moonarc-header__bar {
gap: 1rem;
}
.moonarc-nav {
display: flex;
align-items: center;
gap: 1.5rem;
flex-wrap: wrap;
justify-content: flex-end;
}
.moonarc-nav a {
color: var(--wp--preset--color--contrast);
text-decoration: none;
font-size: 0.95rem;
opacity: 0.82;
transition: opacity 0.18s ease, color 0.18s ease;
}
.moonarc-nav a:hover {
opacity: 1;
color: var(--moonarc-gold);
}
.moonarc-nav__cta {
background: var(--moonarc-gold);
color: var(--wp--preset--color--base) !important;
padding: 0.5rem 1.15rem;
border-radius: 999px;
font-weight: 700;
opacity: 1 !important;
}
.moonarc-nav__cta:hover {
color: var(--wp--preset--color--base) !important;
filter: brightness(1.06);
}
/* ===== Section scaffolding ===== */
.moonarc-section {
padding-block: clamp(3.5rem, 8vw, 6rem);
}
.moonarc-section--soft {
background: var(--moonarc-soft-bg);
}
.moonarc-head {
text-align: center;
max-width: 42rem;
margin-inline: auto;
margin-bottom: clamp(2rem, 5vw, 3.2rem);
}
.eyebrow {
color: var(--moonarc-gold);
font-weight: 700;
letter-spacing: 0.14em;
font-size: 0.78rem;
margin: 0 0 0.6rem;
}
.moonarc-h2 {
font-size: clamp(1.7rem, 3.6vw, 2.5rem);
font-weight: 800;
line-height: 1.28;
margin: 0;
}
.moonarc-head__lead {
opacity: 0.76;
margin: 1rem 0 0;
}
/* ===== Hero(弧をUI要素に) ===== */
.moonarc-hero {
position: relative;
overflow: hidden;
padding-top: clamp(3.5rem, 8vw, 6rem);
padding-bottom: clamp(3.5rem, 8vw, 6rem);
}
.moonarc-hero__arc {
position: absolute;
top: 0;
right: 0;
width: min(1180px, 116%);
pointer-events: none;
z-index: 0;
}
.moonarc-hero__arc svg {
width: 100%;
height: auto;
display: block;
}
.moonarc-hero__inner {
position: relative;
z-index: 1;
}
.moonarc-hero__title {
font-size: clamp(2.4rem, 5.4vw, 3.8rem);
font-weight: 800;
letter-spacing: 0.015em;
line-height: 1.2;
margin: 0 0 1rem;
}
.moonarc-hero__lead {
max-width: 36em;
opacity: 0.9;
margin-bottom: 1.8rem;
}
.moonarc-hero .is-style-outline .wp-block-button__link {
background: transparent;
color: var(--wp--preset--color--contrast);
border-color: color-mix(in srgb, var(--moonarc-gold) 65%, transparent);
}
.moonarc-hero__points {
list-style: none;
display: flex;
flex-wrap: wrap;
gap: 0.6rem;
padding: 0;
margin: 1.7rem 0 0;
}
.moonarc-hero__points li {
font-size: 0.8rem;
border: 1px solid color-mix(in srgb, var(--moonarc-gold) 40%, transparent);
border-radius: 999px;
padding: 0.35rem 0.9rem 0.35rem 1.7rem;
position: relative;
opacity: 0.9;
}
.moonarc-hero__points li::before {
content: "";
position: absolute;
left: 0.75rem;
top: 50%;
transform: translateY(-50%);
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--moonarc-gold);
box-shadow: 0 0 6px rgba(233, 196, 106, 0.8);
}
/* ===== 事業カード ===== */
.moonarc-cards {
gap: 1.25rem;
}
.moonarc-card {
border: 1px solid var(--moonarc-line);
border-radius: 14px;
padding: 1.75rem;
height: 100%;
background: color-mix(in srgb, var(--wp--preset--color--base) 94%, var(--wp--preset--color--contrast));
transition: transform 0.18s ease, border-color 0.18s ease;
}
.moonarc-card:hover {
transform: translateY(-3px);
border-color: color-mix(in srgb, var(--moonarc-gold) 60%, transparent);
}
.moonarc-card__ic {
display: inline-flex;
color: var(--moonarc-gold);
margin-bottom: 0.9rem;
}
.moonarc-card__ic svg {
width: 30px;
height: 30px;
}
.moonarc-card__label {
display: inline-block;
font-size: 0.78rem;
letter-spacing: 0.08em;
color: var(--moonarc-gold);
margin: 0 0 0.3rem;
}
.moonarc-card h3 {
margin: 0 0 0.5rem;
font-size: 1.35rem;
}
.moonarc-card p {
opacity: 0.82;
font-size: 0.94rem;
margin: 0;
}
/* ===== 私たちの作り方(番号付き) ===== */
.moonarc-reasons {
gap: 1.5rem;
}
.moonarc-reason {
padding-top: 0.4rem;
height: 100%;
}
.moonarc-reason__no {
display: block;
font-size: 2.3rem;
font-weight: 800;
line-height: 1;
color: var(--moonarc-gold);
opacity: 0.55;
margin-bottom: 0.5rem;
}
.moonarc-reason h3 {
font-size: 1.2rem;
margin: 0 0 0.4rem;
}
.moonarc-reason p {
font-size: 0.9rem;
opacity: 0.74;
margin: 0;
}
/* ===== FAQ アコーディオン ===== */
.moonarc-faq {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.moonarc-faq details {
border: 1px solid var(--moonarc-line);
border-radius: 12px;
background: color-mix(in srgb, var(--wp--preset--color--base) 94%, var(--wp--preset--color--contrast));
overflow: hidden;
}
.moonarc-faq summary {
cursor: pointer;
padding: 1rem 2.8rem 1rem 1.2rem;
font-weight: 700;
list-style: none;
position: relative;
}
.moonarc-faq summary::-webkit-details-marker {
display: none;
}
.moonarc-faq summary::after {
content: "+";
position: absolute;
right: 1.2rem;
top: 50%;
transform: translateY(-50%);
color: var(--moonarc-gold);
font-size: 1.35rem;
line-height: 1;
}
.moonarc-faq details[open] summary::after {
content: "−";
}
.moonarc-faq details p {
margin: 0;
padding: 0 1.2rem 1.1rem;
opacity: 0.8;
font-size: 0.94rem;
}
/* ===== 締めCTA / フォーム ===== */
.moonarc-cta {
text-align: center;
}
.moonarc-cta .moonarc-head__lead {
margin-inline: auto;
}
.moonarc-form {
text-align: left;
margin-top: 1.8rem;
}
.moonarc-form label {
display: block;
margin: 1rem 0 0.35rem;
font-size: 0.9rem;
opacity: 0.85;
}
.moonarc-form input,
.moonarc-form textarea {
width: 100%;
padding: 0.7rem 0.9rem;
border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 20%, transparent);
border-radius: 10px;
background: color-mix(in srgb, var(--wp--preset--color--base) 88%, var(--wp--preset--color--contrast));
color: var(--wp--preset--color--contrast);
font: inherit;
}
.moonarc-form__actions {
text-align: center;
margin: 1.3rem 0 0;
}
.moonarc-form__submit {
background: var(--moonarc-gold);
color: var(--wp--preset--color--base);
border: 0;
border-radius: 999px;
padding: 0.75rem 2rem;
font: inherit;
font-weight: 700;
cursor: not-allowed;
}
.moonarc-form__note {
font-size: 0.8rem;
opacity: 0.62;
text-align: center;
margin: 0.6rem 0 0;
}
/* ===== Footer ===== */
.moonarc-footer {
padding-block: 2.5rem;
border-top: 1px solid var(--moonarc-line);
}
.moonarc-footer__bar {
gap: 1rem;
}
.moonarc-footer__nav {
display: flex;
flex-wrap: wrap;
gap: 1.2rem;
}
.moonarc-footer__nav a {
color: var(--wp--preset--color--contrast);
opacity: 0.8;
text-decoration: none;
font-size: 0.9rem;
}
.moonarc-footer__nav a:hover {
opacity: 1;
color: var(--moonarc-gold);
}
.moonarc-footer__copy {
margin: 1.4rem 0 0;
font-size: 0.8rem;
opacity: 0.55;
}
/* ===== Scroll reveal ===== */
body.moonarc-js .moonarc-hero__inner,
body.moonarc-js .moonarc-head,
body.moonarc-js .moonarc-card,
body.moonarc-js .moonarc-reason,
body.moonarc-js .moonarc-faq details,
body.moonarc-js .moonarc-cta__inner {
opacity: 0;
transform: translateY(16px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
body.moonarc-js .is-revealed {
opacity: 1 !important;
transform: none !important;
}
@media (prefers-reduced-motion: reduce) {
body.moonarc-js .moonarc-hero__inner,
body.moonarc-js .moonarc-head,
body.moonarc-js .moonarc-card,
body.moonarc-js .moonarc-reason,
body.moonarc-js .moonarc-faq details,
body.moonarc-js .moonarc-cta__inner {
opacity: 1;
transform: none;
transition: none;
}
}
/* ===== Responsive ===== */
@media (max-width: 781px) {
.moonarc-nav a:not(.moonarc-nav__cta) {
display: none;
}
}