@charset "utf-8";
/* 共通部品 */
html{
    font-size: 10px;
    font-family: 'Yu Gothic','游ゴシック',YuGothic,'メイリオ', Meiryo,
                'ヒラギノ角ゴシック','Hiragino Sans','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','ヒラギノ角ゴ StdN','Hiragino Kaku Gothic StdN',sans-serif;
    color: #808080;
    font-weight: 500;
}
body{
    width: 100%;
    font-size: 1.6rem;
    position: relative;
    margin:0 auto;
    overflow-x: hidden;
}


.zero-margin{
    margin: 0;}
.zero-padding{
    padding: 0;}
.width-max{
    width: 100%;}
.height-max{
    height: 100%;}
.width-80{
    width: 80%;}
.width-half{
    width: 50%;}
.width-33{
    width: 33.333%;}
.center-margin{
    margin-left: auto;
    margin-right: auto;}
.pointer{
    cursor: pointer;}
.hidden-view,
.pc-hidden-view,
.sp-hidden-view{
    display: none;}
.opacity-on{
    opacity: 1;}
.opacity-off{
    opacity: 0;}
.bottom-halfline-margin{
    margin-bottom: 0.8rem;}
.bottom-1line-margin{
    margin-bottom: 1.6rem;}
.bottom-2line-margin{
    margin-bottom: 3.2rem;}
.bottom-1line-padding{
    padding-bottom: 1.6rem;}
.bottom-2line-padding{
    padding-bottom: 3.2rem;}
.top-bottom-small-padding{
    padding-top: 1rem;
    padding-bottom: 1rem;}
.top-bottom-middle-padding{
    padding-top: 3rem;
    padding-bottom: 3rem;}
.top-bottom-large-padding{
    padding-top: 5rem;
    padding-bottom: 5rem;}
.top-bottom-small-margin{
    margin-top: 1rem;
    margin-bottom: 1rem;}
.top-bottom-middle-margin{
    margin-top: 3rem;
    margin-bottom: 3rem;}
.top-bottom-large-margin{
    margin-top: 5rem;
    margin-bottom: 5rem;}
.left-padding{
    padding-left: 2rem;}
.right-padding{
    padding-right: 2rem;}
.lineup-3{
    width: 33.3%;
    text-align: center;
    font-size: 1rem;
    float: left;}
.lineup-2{
    width: 50%;
    text-align: center;
    font-size: 1rem;
    float: left;}
.lineup-3in2-margin-left{
    margin-left: 16.65%;}
.lineup-3in2-margin-right{
    margin-right:16.65%;}
.float-left{
    float: left;}
.float-clear::after{
    content: "";
    display: block;
    clear: both;}
.table-view{
    display: table;
    width: 100%}
.inline-view{
    display: inline;}
.block-view{
    display: block;}
.inline-block-view{
    display:inline-block;}
.table-cell-view{
    display: table-cell;}
.flex-view{
    list-style: none;
    display: flex;}
    .flex-view.h-center{
        align-items: center;}
    .flex-view.h-base{
        align-items: baseline;}
    .flex-view.wrap{
        flex-wrap: wrap;}
/* flexの真ん中寄せ ここから (ひとつで完結させる)*/
.flex-vertical-center{
    list-style: none;
    display: flex;
    flex-direction: column; /* 子要素をflexboxにより縦並びに。 */
    justify-content: center; /* 子要素をflexboxにより縦中央に配置する */
    align-items: center;  /* 子要素をflexboxにより横中央に配置する */
}
/* flexの真ん中寄せ ここまで*/
.text-left{
    text-align: left;}
.text-right{
    text-align: right;}
.text-center{
    text-align: center;}
.weight-500{
    font-weight: 500;}
.weight-bold{
    font-weight: bold;}
.weight-unset{
    font-weight: unset;}
.font-small{
    font-size: 1.2rem;}
.font-middle{
    font-size: 1.6rem;}
.font-title-sub{
    font-size: 1.82rem;}
.font-large{
    font-size: 2.2rem;}
.topic-path{
    font-size: 1.2rem;}
.brightness:hover{
    filter: brightness(1.1);}

.no-underline{
    text-decoration: unset;}

.content{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}


header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    background-color: #fff;}
footer{
    text-align: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
    background-color: #fcb0bb; }
    footer p{
        margin: 0;
        font-size: 1.4rem;
        font-weight: bold;
        color:#fff;}
    footer ul{
        list-style: none;
        display: flex;
        justify-content:center;
        padding: 0; }
        footer ul li{
            padding: 0 2vw; }
    footer img{
        height:50px;}





/* float自動打消し */
/*header::before,
header::after,
section::before,
section::after{
    content: "";
    display: block;
    clear: both; }*/