﻿@charset "UTF-8";
/* CSS Document */

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: 'Klee One', cursive;
    background-color: #FFF;
}

/* ==========================================================
   全般のリストマーク（・）の調整
   ========================================================== */
.container ul, .contents ul {
    list-style: none; /* コンテンツ内のリストで不要なチョボを消す */
}


/* ==========================================================
   ヘッダー専用のスタイル
   ========================================================== */
header {
    height: 60px;
    width: 100%;
    padding: 0 15px;
    background-color: rgba(255, 255, 255, 0.95);
    position: fixed;
    top: 0;
    z-index: 500;
    display: flex;
    align-items: center; /* 縦方向の中央配置（ミドル） */
    justify-content: space-between; /* ロゴは左、メニューは右端へ */
    box-shadow: 0px 4px 3px 0px rgba(0,0,0,0.1);
}

/* ロゴエリア */
header .logo {
    width: auto;
    flex-shrink: 0;
}

header .logo img {
    width: 100%;
    max-width: 350px; /* ご指定のロゴ最大幅 */
    height: auto;
    display: block;
}

/* PC用ナビゲーション */
header nav.pc {
    margin: 0 0 0 auto;
    display: flex;
}

header nav.pc ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    align-items: center;
}

header nav.pc ul li {
    text-align: left;
    white-space: nowrap; /* メニュー文字の意図しない改行を阻止 */
    list-style: none;
}

/* メニューボタン */
header a.navBtn {
    position: relative;
    color: #0160d4;
    text-decoration: none;
    display: block;
    line-height: 60px;
    padding: 0 20px 0 6px; 
    font-size: 14.5px; 
}

/* ナビボタンの矢印アイコン */
header a.navBtn:before {
    position: absolute;
    bottom: 0;
    top: 0;
    margin: auto 0;
    right: -1px;
    display: inline-block;
    content: "";
    background: url(../img/outline_chevron_right_white_24dp03.png) 0 center no-repeat;
    background-size: 20px;
    height: 20px;
    width: 20px;
}

/* 画面幅が少し狭いPC（?1200px）での微調整 */
@media (max-width: 1200px) {
    header a.navBtn {
        font-size: 13px;
        padding: 0 16px 0 10px;
    }
}

@media (max-width: 1024px) {
    header .logo img {
        max-width: 260px; 
    }
    header a.navBtn {
        font-size: 11.5px;
        padding: 0 13px 0 10px;
    }
    header a.navBtn:before {
        background-size: 16px;
        width: 15px;
    }
}

header .sm {
    display: none;
}

/**********************************　
以下、ハンバーガーメニューの設定（900px以下）
************************************/

@media (max-width: 900px) {

    header nav.pc {
        display: none;
    }

    /* ハンバーガーアイコンを確実に右端に配置 */
    header #hamburger {
        background-color: transparent;
        position: relative;
        cursor: pointer;
        margin: 0 0 0 auto; /* 右寄せ */
        height: 60px;
        width: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    header .icon {
        width: 30px;
        height: 20px;
        position: relative;
    }

    header .icon span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #555;
        border-radius: 8px;
        transition: ease 0.75s;
    }

    header .icon span:nth-of-type(1) {
        top: 0px;
    }
    header .icon span:nth-of-type(2) {
        top: 9px;
    }
    header .icon span:nth-of-type(3) {
        bottom: 0px;
        top: auto;
    }

    header .close span:nth-of-type(1) {
        transform: rotate(45deg);
        top: 9px;
    }

    header .close span:nth-of-type(2) {
        opacity: 0;
    }

    header .close span:nth-of-type(3) {
        transform: rotate(-45deg);
        top: 9px;
    }

    header .logo img {
        max-width: 240px;
    }

    /* スマホ用メニュー（ドロワー）の修正：右端に寄るのを直し画面幅いっぱいに */
    header .sm {
        top: 60px;
        left: 0;
        right: 0;
        position: absolute;
        z-index: 10;
        width: 100%;
        background-color: rgba(1, 96, 212, 0.9);
        display: none; /* jQueryのslideToggleで制御するため基本は非表示 */
    }

    header .sm ul {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 0;
        margin: 0;
        list-style: none;
    }

    header .sm ul li {
        width: 100%;
        list-style: none;
    }

    header .sm a.navBtn {
        color: #FFF;
        text-align: center;
        border-top: solid 0.5px rgba(255, 255, 255, 0.6);
        font-size: 16px;
        line-height: 50px;
        padding: 0;
        width: 100%;
    }
    
    header a.navBtn:before {
        display: none; 
    }
}