/*-----------------------------------------------------------*/
/*ライブラリ PC・SP共通*/
/*-----------------------------------------------------------*/
/*表示・非表示*/
.pc {
    display: block;
}

.sp {
    display: none;
}

@media screen and (max-width: 667px) {

    /*-----------------------------------------------SP用ページ用設定*/
    /*-----------------------------------------------------------*/
    /*表示・非表示*/
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    /*--------------------------------------------------------end@media*/
}

/*-----------------------------------------------------------*/
/*すべての要素にbox-sizingを追加*/
*,
*::before,
*::after {
    box-sizing: border-box;
}

/*-----------------------------------------------------------*/
/*画像基本*/
img {
    display: inline-block;
    max-width: 100%;
    height: auto;
}

/*-----------------------------------------------------------*/
/*リンク画像全般：オンマウス*/
a:hover img {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -ms-filter: "alpha(opacity=80)";
}

/*-----------------------------------------------------------*/
/*リンク画像トップページ：オンマウス:*/
a.imgLink:hover img {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)";
}

/*-----------------------------------------------------------*/
/*中央寄せ*/
.center {
    text-align: center;
}

/*左寄せ*/
.left {
    text-align: left;
}

/*右寄せ*/
.right {
    text-align: right;
}

/*-----------------------------------------------------------*/
/*行間*/
.lineHightS {
    line-height: 1.2;
}

/*line-height:1.4(通常値)*/
.lineHightM {
    line-height: 1.4;
}

.lineHightL {
    line-height: 1.6;
}

.lineHightLL {
    line-height: 1.8;
}

/*-----------------------------------------------------------*/
/*文字サイズ小*/
.fontS {
    /*font-size: 13-14px;*/
    font-size: clamp(0.813rem, 0.769rem + 0.22vw, 0.938rem);
}

/*文字サイズ大*/
.fontM {
    /*font-size: 14-16px;*/
    /*通常*/
    /*font-size: 14-17px;*/
    /*暦悪は少し大き目*/
    font-size: clamp(0.875rem, 0.81rem + 0.33vw, 1.063rem);
}

/*文字サイズ大*/
.fontL {
    /*font-size: 16-20px;*/
    font-size: clamp(1rem, 0.913rem + 0.43vw, 1.25rem);
}

/*文字サイズ大2*/
.fontLL {
    /*font-size: 20-24px;*/
    font-size: clamp(1rem, 0.826rem + 0.87vw, 1.5rem);
}
/*文字サイズ大2*/
.fontXL {
    /*font-size: 20-24px;*/
    font-size: clamp(1rem, 0.826rem + 0.87vw, 2.5rem);
}

/*-----------------------------------------------------------*/
/*小文字*/
small {
    font-size: 13px;
}

/*-----------------------------------------------------------*/
/*文字色*/
.red {
    color: #a5485b;
}

.blue {
    color: #486ba5;
}
.black {
    color: #333;
}
.brown {
    color: #8c570b;
}

/*-----------------------------------------------------------*/
/*太字*/
.bold {
    font-weight: bold;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/*-----------------------------------------------------------*/
/*ダーシの隙間消去*/
em.dash {
    display: inline-block;
    font-style: italic;
    letter-spacing: -1px;
    margin-right: -2px;
}

/*不透明度60%*/
.opacity {
    opacity: 0.6;
}

/*-----------------------------------------------------------*/
/*YOUTUBE*/
/*-----------------------------------------------------------*/
.youtube {
    position: relative;
    width: 100%;
    background: #000;
    padding-bottom: calc(100%* 315/560);
    box-sizing: border-box;
}

.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

/*-----------------------------------------------------------*/
/*アニメーション*/
/*-----------------------------------------------------------*/
/*ページ遷移アニメーション*/
/*-----------------------------------------*/
/*bodyFadeIn設定*/
@keyframes bodyFadeIn {
    0% {
        visibility: hidden;
        opacity: 0;
    }

    100% {
        visibility: visible;
        opacity: 1;
    }
}