@charset "utf-8";

:root {
    /* ---------- カラー ---------- */
    --black: hsl(0 0% 0%);
    --ash: hsl(0 0% 50%);
    --white: hsl(0 0% 100%);
    --gold: hsl(44 52% 46%);

    /* ---------- フォントウェイト ---------- */
    --regular: 400;
    --semibold: 600;
    --bold: 700;
    --exbold: 900;
}

/* ---------- ベースリセット ---------- */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
    background: var(--black);
    color: var(--white);
}

body {
    margin: 0;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: var(--regular);
    font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol {
    margin: 0;
    padding: 0;
}

ul,
ol {
    list-style: none;
}

img {
    display: block;
    max-width: 100%;
}

address {
    font-style: normal;
}

/* ---------- テキスト ---------- */
p {
    margin-bottom: 1rem;
    font-weight: var(--regular);
}

em {
    font-style: normal;
    color: var(--gold);
}

.link {
    position: relative;
    color: var(--gold);
    text-decoration: none;
    transition: opacity 0.25s;
}

.link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 0.125rem;
    background-color: var(--gold);
    transform-origin: left;
    transform: scaleX(1);
    transition: transform 0.25s;
}

.link:hover::after {
    transform-origin: left;
    transform: scaleX(0);
}

/* ---------- テーブル ---------- */
table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    border: 1px solid var(--ash);
}

/* ---------- 共通レイアウト ---------- */
main {
    width: 100%;
    margin: 2rem auto;
}
#editorjs{
    background-color: var(--white);
    color: var(--black);
}
/* ---------- ヘッダー ---------- */
.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--black);
    box-shadow: 0 1px 4px rgba(0 0 0 / 8%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2rem;
    gap: 2rem;
}


.site-header__title {
    width: 8rem;
}

.site-header__link {
    display: block;
    width: 8rem;
    height: 2.75rem;
    overflow: hidden;

    background-image: url("/static/img/wiwa_logo.svg");
    background-repeat: no-repeat;
    background-size: contain;

    text-indent: 100%;
    white-space: nowrap;
}

.site-header__link:hover {
    opacity: 0.82;
}

.site-header__login-status {
    margin-left: auto;
}

/* ---------- ナビゲーション共通 ---------- */
.global-nav {
    margin-left: auto;
}

.global-nav__list,
.admin-nav__list,
.mypage-nav__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.admin-nav__list,
.mypage-nav__list {
    margin-left: 2rem;
}

.global-nav__link,
.admin-nav__link,
.mypage-nav__link {
    display: block;
    padding: 0.75rem 1rem;
    text-decoration: none;
}

/* ---------- ヒーロー ---------- */
.hero {
    display: flex;
    flex-direction: column;
    justify-content: center;

    width: 100%;
    aspect-ratio: 16 / 9;

    color: var(--white);

    background-image: url("/static/img/hero_bg.webp");
    background-repeat: no-repeat;
    background-size: cover;
}

.hero__title {
    margin-bottom: 1rem;

    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-size: 2.5rem;
    font-weight: var(--bold);
}

.hero__features {
    display: flex;
    gap: 1rem;
}
/* ---------- 間隔/余白 ---------- */
main > section {
    padding: 0 5%;
    margin-bottom: 4rem;
}
/* ---------- アクセントテキスト ---------- */
.place,
.services__subtitle,
.services__feature-subtitle,
.product__subtitle {
    color: var(--gold);
}

/* ---------- ボタン ---------- */
.btn {
    display: inline-flex;
    align-items: center;

    padding: 0.75rem 1.5rem;
    border: 2px solid var(--gold);
    border-radius: 4px;

    background-color: var(--black);
    color: var(--gold);

    text-decoration: none !important;
    transition:
        background-color 0.25s,
        color 0.25s,
        opacity 0.25s;
}

.btn::after {
    content: "→";
    margin-left: 0.5rem;
    color: currentColor;
    transition: transform 0.25s;
}

.btn:hover {
    background-color: var(--gold);
    color: var(--black);
    opacity: 1;
}

.btn:hover::after {
    transform: translateX(0.5rem);
}