/* general */

/* var default */
:root {
    --max-width-content: 1280px;
}

/* load font */
@font-face {
    font-family: 'KouzanMouhituFont';
    src: url('./../fonts/KouzanMouhituFontOTF.otf') format('opentype');
}

html, body{
    margin: 0;
    padding: 0;
    width:100%;
    /* font-family: 'Noto Sans JP', 'Hiragino Sans', 'Meiryo', sans-serif; */
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", sans-serif;;
    /* font-weight: 700; */
    letter-spacing: 1px;
    overflow-x: hidden;
}

@media screen and (max-width: 850px) {
    
    p, a {
        font-size: 16px;
    }

    li{
        font-size: 18px;
    }

}
    

*{
    font-size: 18px;
}

.wrapper{
    width: calc(100% - 20px);
    min-height: 100vh;
    background-color: #fff;
    overflow: hidden;
    padding-left: 10px;
    padding-right: 10px;
    background-color: #eee;
}

/* header */
.header{
    display: flex;
    width: 100%;
    max-width:  var(--max-width-content);
    margin: auto;
    background-color: #fff;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: space-around;
}

.header_logo{
    padding: 10px;
    position: relative;
    display: inline-block;
}

.header_logo img{
    height:40px;
}

.header_link{
    width: calc(100% - 15px);
    margin: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
}

.header_link::before{
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: var(--max-width-content);
    border-top: solid 1px #0002;
    margin-top: -5px;
}

.header_active_link{
    background: radial-gradient(circle at top left, #771e1e 0%, rgb(203, 29, 29) 50%);
    color: #fff !important;
    font-weight: 700 !important;
}
.header_active_link::after{
    content: "";
    position: absolute;
    display: block;
    left: -10px;
    width: 100%;
    max-width: var(--max-width-content);
    height: 2px;
    background-color: #fff;
    margin-top: 1px;
    left: 50%;
    transform: translateX(-50%);
}

.header_info{
    position: relative;
    display: inline-block;
    font-size: 12px;
    padding:10px;
}
.header_block{
    width: 100%;
    /* padding-bottom: 10px; */
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}

.page_link{
    display: inline-block;
    padding-left: 10px;
    padding-right: 10px;
    color: #000;
    font-weight: 700;
    font-size: 16px;
    height:40px;
    margin-top: 2px;
    margin-left:5px;
    margin-right:5px;
    line-height: 34px;
    transition: all 0.2s ease-in-out;
}

.page_link:hover{
    background-color: rgb(237, 237, 237);
    /* margin-top: 1px; */
}

/* home */
.wrapper-content{
    width: 100%;
    max-width: var(--max-width-content);
    margin: auto;
    /* overflow-x: hidden; */
    background-color: #fff;
}

/* footer */
.footer{
    display: block;
    width: calc(100% - 10px);
    min-height: 30px;
    background-color: #000;
    color:#fff;
    padding: 5px;
}

.mobile_menu{
    display: none;
}


/* mobile */
@media screen and (max-width: 850px) {

    * {
        font-size: 14px;
    }

    .carousel-title{
        font-size: 1em;
    }

    .header_link, .header_info{
        display:none;
    }

    .mobile_menu{
        display: block;
    }

}