@charset "utf-8";
/* CSS Document */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
@media (prefers-reduced-motion: no-preference) {
    html:focus-within {
        scroll-behavior: smooth;
    }
}
html {
  scroll-behavior: smooth;
}
html body {
    font-family: YuGothic, "游ゴシック体", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
    font-weight: 500;
    color: #222;
    font-size: 1.45rem;
    line-height: 135%;
    margin: 0;
    text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6 {
    margin-block-start: 0em;
    margin-block-end: 0.75em;
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
    line-height: 120%;
}
@media only screen and (max-width: 768px) {
    html body {
        font-size: 1.25rem;
        line-height: 120%;
    }
    h1, h2, h3, h4, h5, h6 {
        margin-block-end: 0.5em;
    }
}
@media only screen and (max-width: 485px) {
    h1, h2, h3, h4, h5, h6 {
        margin-block-end: 0.3em;
    }
}
p, li, th, td, a {
    font-size: 0.9em;
    line-height: 145%;
}
@media only screen and (max-width: 485px) {
    p, li, th, td, a, pre {
        font-size: 0.8em;
        line-height: 135%;
    }
    strong {
        font-size: 1em;
        line-height: 135%;
    }
}
/*-- Links --*/
a {
    transition: color 0.3s ease, text-decoration 0.3s ease;
    transition: color 0.3s ease, background-color 0.3s ease;
    color: #000;
    text-decoration: none;
}
a:visited {
    color: #333;
}
a:hover, a:active {
    color: #333;
    outline: 0;
    text-decoration: none;
}
ul {
    list-style: none;
    margin: 0 0 0.5rem 0;
    padding: 0;
}
ul.disc {
    list-style: disc;
    margin-left: 1.5rem;
}
ul.disc li {
    margin-bottom: 0.25rem;
}
/*-- 画像 --*/
img {
    max-width: 100%;
    height: auto;
    /*vertical-align: bottom;*/
    transition: opacity 0.3s ease; /* 透明度の変化にスムーズなアニメーションを適用 */
}
a:hover img {
    opacity: 0.75; /* ホバー時に半透明（50%透明）にする */
}
/*-- text --*/
.no-bold {
    font-weight: normal;
}
.text-blue {
    color: #005bac
}
.f-s-80p {
    font-size: 80%;
}
.f-s-60p {
    font-size: 60%;
}
/*-- 改行 --*/
.pc_br {
    display: none; /* スマホでは改行しない（初期状態では非表示） */
}
@media screen and (min-width: 768px) {
    .pc_br {
        display: block; /* PC（768px以上）では改行を有効にする */
    }
}
.sp_br {
    display: none; /* PCサイズでは改行しない（初期状態では非表示） */
}
@media screen and (max-width: 768px) {
    .sp_br {
        display: block; /* スマホ（768px未満）では改行を有効にする */
    }
}
/* --- 文字大きさ ------------------------- */
.font-large {
    font-size: 2.75rem;
}
.font-large01 {
    font-size: 1.45rem;
}
.text-center {
    text-align: center
}
/* --- 文字色 ------------------------- */
.red {
    color: red
}
.blue {
    color: #005bac
}
.ore {
    color: #de870a
}
/* --- 横幅 ------------------------- */
.w1200 {
    max-width: 1200px !important;
    margin: 0 auto;
}
.w1000 {
    max-width: 1000px !important;
    margin: 0 auto;
}
.w950 {
    max-width: 950px !important;
    margin: 0 auto;
}
.w650 {
    max-width: 650px !important;
    margin: 0 auto;
}