@charset "utf-8";

/* @font-face{
    font-family:'Noto Sans JP';
    font-style:normal;
    font-weight:400;
    font-display:swap;
    src:url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff2) format('woff2'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff) format('woff'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.otf) format('opentype');
} */
/* @font-face{
    font-family:'Noto Sans JP';
    font-style:normal;
    font-weight:700;
    font-display:swap;
    src:url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff2) format('woff2'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff) format('woff'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.otf) format('opentype');
} */
/* @font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff2) format('woff2'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff) format('woff'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.otf) format('opentype');
} */
/* @font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 500;
    src: url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.woff2) format('woff2'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.woff) format('woff'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.otf) format('opentype');
} */
/* @font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Bold.woff2) format('woff2'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Bold.woff) format('woff'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Bold.otf) format('opentype');
} */

/*==============================
    基本設定
==============================*/
body{
    color:#333;
    font-size:12px;
    font-family:'YakuHanJP_Noto',YuGothic, 游ゴシック, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    margin:0;
    padding:0;
    text-align:left;
    background:#fff;
    -webkit-text-size-adjust:100%;
    position:relative;
    word-break:break-all;
    min-width: 1320px;
}
@media only screen and (max-width:767px){
    body {
        min-width: 0;
    }
}

body *, body *::before, body *::after{box-sizing:border-box;}
img{vertical-align:bottom;}
h1,h2,h3,h4,h5,h6{font-weight:normal;}
th{
    font-weight:normal;
    text-align:left;
}

/*font layout*/
.fBold{font-weight:bold;}
.fSerif {
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}

/*rollover*/
.ro a:hover,
a.ro:hover,
a .ro:hover{ filter:alpha(opacity=80);opacity:0.8; }
.ro a,
a.ro,
a .ro{
    -webkit-transition: opacity 0.2s ease-out;
    -moz-transition: opacity 0.2s ease-out;
    -ms-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;
}

/*rollover(brightnessによる変化)*/
.brt a:hover,a.brt:hover,a .brt:hover{ -webkit-filter: brightness(1.1);filter: brightness(1.1); }
.brt a,
a.brt,
a .brt{
    -webkit-transition: filter 0.2s ease-out;
    -moz-transition: filter 0.2s ease-out;
    -ms-transition: filter 0.2s ease-out;
    transition: filter 0.2s ease-out;
}

/*ro無効化*/
.ro .no_ro a:hover,
.ro a.no_ro:hover{ filter:alpha(opacity=100);opacity:1; }

/*========================================
    レスポンシブ用(不要な場合は削除)
========================================*/
.spOnly,
.brSp,
.imgSp{
    display:none;
}
.img100{
    width: 100%;
    height: auto;
}
.brSpMin{
    display:none;
}
@media only screen and (max-width:767px){
    .spNone,
    .brPc,
    .imgPc{
        display:none;
    }
    .spOnly{
        display:block;
    }
    .brSp,
    .imgSp{
        display:inline;
    }
    .imgR{
        width:100%;
        height:auto;
    }
}
@media only screen and (max-width:360px){
    .brSpMin{
        display:inline;
    }
}

/*-----------------------------------------------
    imgCover
-----------------------------------------------*/
/* imgCover */
.imgCover,
.imgFit{
    position:relative;
}
.imgCover img{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    display:block;
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
}
.imgFit img {
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    object-fit:cover;
    font-family:'object-fit:cover;';
}

/*-----------------------------------------------
    wrapper
-----------------------------------------------*/
.wrapper900{
    width: 900px;
    margin: 0 auto;
}
@media only screen and (max-width:767px){
    .wrapper900{
        width: 100%;
    }
    .wrapperSp{
        width: 92%;
        margin: 0 auto;
    }
    .wrapperSp325{
        width: 86.667%;
        margin: 0 auto;
    }
}

/*-----------------------------------------------
	jsHide
-----------------------------------------------*/
.jsHide{
    opacity: 0;
    transition: opacity 2s cubic-bezier(0.18, 1.00, 0.29, 1.00);
}
.jsHide.jsShow{
    opacity: 1;
}