@charset "utf-8";

/*----------------------------------------------------
 elements
 ----------------------------------------------------*/

body {
    font-size: 100%;
    font-family:  'Noto Serif JP', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-weight: 500;
    font-style: normal;
    /* font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    font-style: normal; */
    font-feature-settings: "palt" !important;
    -webkit-text-size-adjust: 100%;
    letter-spacing: 1.5px;
    line-height: 1.5;
    color: #030303;
    position: relative;
}

input {
    /* font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; */
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-style: normal;
}

button {
    /* font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; */
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-style: normal;
}

.font-gara{
    font-family:"adobe-garamond-pro", serif;
    font-weight:400;
    font-style:normal;
}
.font-minion{
    font-family: "minion-3-display", serif;
    font-weight: 400;
    font-style: normal;
}

a {
    color: #030303;
    text-decoration: none;
    transition: 0.3s;
    cursor: pointer !important;
}

.flex {
    display: flex;
}

.load-fade.is-show {
    visibility: visible;
    opacity: 1;
}

/* フェード */
.load-fade {
    visibility: hidden;
    opacity: 0;
    transition: all 3s;
}

/* キラッと光る */
.shine {
    overflow: hidden;
    position: relative;
}

.shine::before {
    content: '';
    width: 50%;
    height: 100%;
    animation: 4s 0s shine linear infinite;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .4) 100%);
    left: -100%;
    position: absolute;
    top: 0;
    transform: skewX(-25deg);
}

@keyframes shine {
    20% {
        left: 150%;
    }

    100% {
        left: 150%;
    }
}

/* レスポンシブ */
.pc {
    display: block;
}

.sp {
    display: none;
}

/* line */
.line {
    width: 100vw;
    height: 1px;
    margin: 0 calc(50% - 50vw);
}

/* inner */
.inner_1200 {
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
}

.inner_1100 {
    max-width: 1100px;
    width: 90%;
    margin: 0 auto;
}

.inner_1000 {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
}

/* フォント */
.marcellus-regular {
    font-family: "Marcellus", serif;
    font-weight: 400;
    font-style: normal;
}

/* キャプション */
.cap_txt {
    position: absolute;
    bottom: 5px;
    font-size: 11px;
    line-height: 1.2;
}

.cap_R {
    right: 5px;
}

.cap_L {
    left: 5px;
}

.cap_W {
    color: #fff;
}

.cap_B {
    color: #000;
}

.cap_ShaB {
    text-shadow: 0 0 5px #000;
}

.cap_ShaW {
    text-shadow: 0 0 5px #fff;
}

/* 注釈 */
.notes {
    font-size: 12px;
    /* color: #fff; */
    padding: 0 0 40px 0;
    background: #fff;
}

.notes li {
    margin: 0 auto;
    width: 90%;
    max-width: 1200px;
    text-indent: -1em;
    padding-left: 1em;
}
.notes li.num {
    margin: 0 auto;
    width: 90%;
    max-width: 1200px;
    text-indent: -2.1em;
    padding-left: 2.1em;
}

/* 予告広告 */
.yokoku {
    justify-content: flex-start;
    align-items: center;
    width: 90%;
    max-width: 1200px;
    font-size: 12px;
    color: #fff;
    padding: 0 0 50px 0;
    margin: 0 auto;
}

.yokoku dt {
    width: 10%;
    white-space: nowrap;
    text-align: center;
    border: 1px solid #fff;
    padding: 12px;
    margin: 0 20px 0 0;
}

.yokoku dd a {
    color: #fff;
    text-decoration: underline;
}

.yokoku dd a:hover {
    text-decoration: none;
}

/* コピーライト */
.copyright {
    color: #fff;
    font-size: clamp(7px, 0.7vw, 10px);
    text-align: center;
    padding: 10px 0;
}

/* ページトップ */
#pagetop {
    display: none;
    width: 40px;
    height: 40px;
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 100;
}

#pagetop a {
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(96, 76, 63, .9);
    position: relative;
}

#pagetop a span {
    display: block;
    content: '';
    width: 10px;
    height: 10px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: rotate(-45deg) translate(-25%, -50%);
}



/*=======================================
TAB
=======================================*/
@media (max-width: 1180px) {

    /* yokoku */
    .yokoku dd {
        width: 100%;
    }
}

/*=======================================
SP
=======================================*/
@media (max-width: 820px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    /* 予告広告 */
    .yokoku {
        flex-direction: column;
        padding: 0 0 40px 0;
        margin: 0 auto;
    }

    .yokoku dt {
        width: 100%;
        margin: 0 0 10px 0;
    }

    /* ページトップ */
    #pagetop {
        right: 10px;
        bottom: 65px;
        width: 50px;
        height: 50px;
    }

    /* 注釈 */
    .notes {
        padding: 0 0 40px 0;
    }

}

/*SPまで電話発信不可*/
@media only screen and (min-width: 768px) {
    a[href*="tel"] {
        pointer-events: none;
    }
}