@charset "UTF-8";

/* =========================================
   基本リセット & 設定
   ========================================= */
*, *:before, *:after {
    box-sizing: border-box; /* paddingやborderを幅に含める */
}

html {
    font-size: 16px; /* 基準サイズ */
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 1.8;
    /* variables.css で定義した変数を使用 */
    color: var(--color-text, #333);
    font-family: var(--font-serif, 'Noto Serif JP', serif);
    background-color: var(--color-bg-body, #fcfcfc);
    overflow-x: hidden;
}

/* リンク */
a {
    text-decoration: none;
    cursor: pointer;
    color: inherit; /* 親要素の色を継承 */
    transition: all 0.3s ease;
}
a:hover, a:focus, a:active {
    outline: none;
    opacity: 0.8;
}
button, input, select, textarea {
  font-family: inherit;
  line-height: inherit;
  font-size: inherit; /* フォントサイズも継承させたい場合 */
}
button{
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
}

/* テキスト・リスト */
p {
    margin: 0 0 1em 0;
    line-height: 1.8;
}
ul, ol {
    list-style: none;
    margin: 0;
    padding: 0;
}
dl, dt, dd {
    margin: 0;
    padding: 0;
}

/* 画像 */
img {
    max-width: 100%;
    vertical-align: bottom;
    height: auto;
}

/* 見出し */
h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
    font-weight: bold;
}

/* フォームバグ対策 */
textarea {
    font-family: sans-serif;
}

/* PC/SP 切り替え用ユーティリティ */
.pc_none { display: none; }

@media only screen and (max-width: 768px) {
    html { font-size: 14px; } /* スマホは少し文字を小さく */
    .pc_none { display: block; }
}