@font-face{
    font-family: "corporate_midium";
    src:url("./corporate_midium_logo.woff2") format("woff2")
        url("./corporate_midium_logo.woff") format("woff")
}
@font-face{
    font-family: "corporate_bold";
    src:url("./corporate_bold_logo.woff2") format("woff2")
        url("./corporate_bold_logo.woff") format("woff")
}
body{
    font-family: sans-serif;
    margin: 0;
}
/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< */
/* ヘッダー */
/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* ロゴ */
header .header_box{
    display: flex;
    justify-content: space-between;
}
header .logo{
    display: flex;
    align-items: center;
    width: 50%;
    padding-top: 5px;
    padding-bottom: 5px;
    margin-left: 35px;
}
header .logo_box{
    position: relative;
    display: flex;
    align-items: center;
}
header .logo_box .logo_icon{
    width: 80px;
    height: 80px;
}
#logo_icon_naka{
    position: absolute;
}
#logo_icon_soto{
    animation:10s linear infinite rotation1;
}
@keyframes rotation1{
    0%{ transform:rotate(0);}
    100%{ transform:rotate(360deg); }
}
header .name{
    width: 100%;
    margin-left: 15px;
    font-family: "Hannari";
    font-weight: bold;
}
header .header_box .name .logo_text_1{
    width: 240px;
}

header .header_box .name .logo_text_2{
    width: 360px;
}
@media screen and (max-width: 840px){
    /* タブレット */
    header .header_box{
        display: flex;
        justify-content: space-between;
        margin-left: 5px;
    }
}
@media screen and (max-width: 540px){
    /* スマホ */
    header .logo{
        margin-left: 10px;
    }
    header .logo_box .logo_icon{
        width: 50px;
        height: 50px;
    }
    header .header_box .name p{
        width: 130px;
        font-size: 8px;
    }
    header .header_box .name .logo_text_2{
        width: 150px;
    }
    header .name{
        margin-left: 10px;
    }
}



/* インフォメーション */
header .info{
    display: flex;
    margin-right: 50px;
}
header .info .main_box{
    width: 280px;
    display: flex;
    flex-direction: column; 
    justify-content: center;
}
.info .tell_icon{
    width: 50px;
    height: 50px;
}
.info .box1,
.info .box2{
    width: 100%;
    display: flex;
    align-items: center;
}
.info .box2{
    margin-left: 10px;
}
.info .box1 .text_box{
    display: flex;
    flex-direction: column; 
    justify-content: center;
}
header .info .box1 .text1{
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 5px;
}
header .info .box1 .text2{
    /* font-size: 20px; */
    width: 230px;
}
header .info .box2 .text1{
    font-size: 15px;
    font-weight: bold;
    margin-top: 3%;
}
@media screen and (max-width: 840px){
    /* タブレット */
    header .info{
        display: none!important;
    }
}
@media screen and (max-width: 540px){
    /* スマホ */
}

/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< */
/* ハンバーガーメニュー */
/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
#nav_area nav{
    display: none;
}
.open_btn_box{
    display: none;
}
@media screen and (max-width: 540px){
    /* スマホ */
    /* ナビ */
    #nav_area nav{
        /* display: block; */
        position: fixed;
        width: 45%;
        background-color: rgba(255,255,255,0.7);
        top:0;
        right: 0;
        bottom: 0;
        transition: all 0.5s;
        z-index: 100;
        color: black;
        font-family:"UD デジタル 教科書体 N-R";
    }
    #nav_area nav ul{
        padding: 20px;
        padding-left: 0;
        padding-top: 0;
    }
    #nav_area nav ul li{
        border-bottom: 1px solid black;
        margin-top: 20px;
        padding: 5px;
        transition-duration: 0.1s;
        font-size: 14px;
    }
    #nav_area nav ul li:hover{
        opacity: 0.5;
    }

    /* ハンバーガーボタン(クローズ) */
    .close_btn_area{
        width: 100%;
        height: 70px;
        display: flex;
        justify-content: flex-end;
    }
    #close_btn{
        width: 40px;
        height: 40px;
        margin-top: 20px;
        margin-right: 20px;
        font-size: 40px;
    }
    /* ハンバーガーボタン(オープン) */
    /* .header_box{
        position: relative;
    } */
    .open_btn_box{
        display: flex;
        align-items: center;
        margin-right: 10px;
    }
    .open_btn_box p{
        font-weight: bold;
        margin-top: 5px;
        font-family: "corporate_bold";
    }
    .open_btn{
        width: 35px;
        height: 35px;
        position: relative;
    }
    .open_btn span{
        background-color: black;
        position: absolute;
        width: 60%;
        height: 3px;
        border-radius: 5px;
    }
    .open_btn span:nth-of-type(1) {
        top: 9px;
    }
    .open_btn span:nth-of-type(2) {
        top: 17px;
    }
    .open_btn span:nth-of-type(3) {
        bottom: 8px;
    }
    .open nav{
        display: block!important;
    }
    .open_mask{
        background-color: black;
        width: 100vw;
        height: 100vh;
        opacity: 0.8;
        position: fixed;
        z-index: 10;
    }
}
/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< */
/* メニューバー */
/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

.cmn_menu_bar{
    background-color: black;
    height: 70px;
    display: flex;
    justify-content: center;
    font-family:"UD デジタル 教科書体 N-R";
}
.cmn_menu_bar .menu_box{
    width: 800px;
    display: flex;
    justify-content: space-around;
    align-items: flex-end;
    padding: 15px;
    color: white;
    font-size: 20px;
    font-weight: bold;
}
.cmn_menu_bar .menu_box a:hover{
    opacity: 0.5;
}
@media screen and (max-width: 840px){
    /* タブレット */
    .cmn_menu_bar .menu_box{
        width: 600px;
        font-size: 18px; 
    }
}
@media screen and (max-width: 540px){
    /* スマホ */
    .cmn_menu_bar{
        display: none;
    }
}

/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< */
/* フッター */
/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

footer{
    background-color: black;
    width: 100%;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}
footer p{
    color: white;
}
@media screen and (max-width: 840px){
    /* タブレット */
    footer p{
        font-size: 15px;
    }
}
@media screen and (max-width: 540px){
    /* スマホ */
    footer{
        height: 30px;
    }
    footer p{
        font-size: 10px;
    }
}