@charset "UTF-8";

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	header
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
header{
    z-index: 4;
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translate(-50%,0);
    width: 100%;
    padding: 0 40px;
}
.header__inner{
    width: 1360px;
    background: #fff;
    border-radius: 4px;
    padding: 8px 40px;
    margin: 0 auto;
    display: flex;
	align-items: center;
	justify-content: space-between;
}
.header__inner--logo a img{
    width: 200px;
}
.header__inner--menu{
    display: flex;
	align-items: center;
	justify-content: space-between;
}
.header__inner--menu--text{
    display: flex;
	align-items: center;
	justify-content: space-between;
}
.header__inner--menu--text > a{
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
    padding: 0 10px;
    margin: 0 10px;
}
.header__inner--menu--line{
    display: inline-block;
	padding: 16px 40px;
    margin-left: 20px;
	background: #05D35A;
	border-radius: 60px;
    color: #fff;
	font-family: "NotoSansJP";
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
    letter-spacing: 0.03em;
}
.header__inner--menu--hamburger{
    display: none;
}

@media only screen and (max-width: 1024px) {
    header{
        top: 0;
        width: 100%;
        padding: 0;
    }
    .header__inner{
        width: 100%;
        border-radius: 0;
        padding: 8px 20px;
    }
    .header__inner--logo a img{
        width: 124px;
    }
    .header__inner--menu--text{
        display: none;
    }
    .header__inner--menu--line{
        padding: 12px 20px;
    	font-size: 14px;
    }
    .header__inner--menu--hamburger{
        display: block;
        position: relative;
        width: 20px;
        height: 14px;
        margin-left: 16px;
        cursor: pointer;
    }
    .header__inner--menu--hamburger span {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 20px;
        height: 2px;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        -webkit-transition: 0.3s;
        transition: 0.3s;
        background-color: #333;
    }
    .header__inner--menu--hamburger span:before,
    .header__inner--menu--hamburger span:after {
        display: block;
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #333;
        -webkit-transition: 0.3s;
        transition: 0.3s;
    }
    .header__inner--menu--hamburger span:before {
        -webkit-transform: translate(0, -350%);
        transform: translate(0, -350%);
    }
    .header__inner--menu--hamburger span:after {
        -webkit-transform: translate(0, 350%);
        transform: translate(0, 350%);
    }
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2026-08-17 追加：スマートフォン・タブレット用ナビゲーション（依頼書 #1）
ハンバーガーアイコンをタップして開くメニュー本体のスタイル。
このコメントから下をすべて削除すれば、追加前の状態に戻ります。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

/* PC（1025px以上）ではヘッダー内に通常のナビがあるため非表示 */
.header__nav{
    display: none;
}

@media only screen and (max-width: 1024px) {

    .header__nav{
        display: block;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        max-height: calc(100vh - 54px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: #fff;
        border-top: 1px solid #eee;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
        opacity: 0;
        visibility: hidden;
        -webkit-transform: translateY(-8px);
        transform: translateY(-8px);
        -webkit-transition: opacity 0.24s ease, -webkit-transform 0.24s ease;
        transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s;
    }

    body.nav-open .header__nav{
        opacity: 1;
        visibility: visible;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    /* メニューを開いている間は背面をスクロールさせない */
    body.nav-open{
        overflow: hidden;
    }

    .header__nav--inner{
        padding: 8px 20px 32px;
    }

    /* 主要ページへのリンク */
    .header__nav--main{
        list-style: none;
        margin: 0;
        padding: 0;
        border-bottom: 1px solid #eee;
    }
    .header__nav--main li{
        border-top: 1px solid #eee;
    }
    .header__nav--main li:first-child{
        border-top: none;
    }
    .header__nav--main a{
        display: block;
        padding: 16px 4px;
        color: #2D220C;
        font-size: 16px;
        font-weight: 500;
        line-height: 1;
        text-decoration: none;
    }

    /* 「国から探す」などの見出し */
    .header__nav--heading{
        margin: 24px 0 12px;
        color: #705319;
        font-size: 12px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0.08em;
    }

    /* 国・スタイルの絞り込みリンク */
    .header__nav--terms{
        list-style: none;
        margin: 0;
        padding: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 8px;
    }
    .header__nav--terms a{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 6px;
        padding: 10px 14px;
        background: #FEF8E8;
        border-radius: 60px;
        color: #2D220C;
        font-size: 13px;
        font-weight: 500;
        line-height: 1;
        text-decoration: none;
    }
    .header__nav--terms a span{
        color: #705319;
        font-size: 11px;
        font-weight: 700;
    }

    /* メニュー内のLINEボタン */
    .header__nav--line{
        display: block;
        margin-top: 28px;
        padding: 16px;
        background: #05D35A;
        border-radius: 60px;
        color: #fff;
        font-family: "NotoSansJP";
        font-size: 16px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0.03em;
        text-align: center;
        text-decoration: none;
    }

    /* ハンバーガーアイコン：開いているときは × に変形させる */
    body.nav-open .header__inner--menu--hamburger span{
        background-color: transparent;
    }
    body.nav-open .header__inner--menu--hamburger span:before{
        -webkit-transform: translate(0, 0) rotate(45deg);
        transform: translate(0, 0) rotate(45deg);
    }
    body.nav-open .header__inner--menu--hamburger span:after{
        -webkit-transform: translate(0, 0) rotate(-45deg);
        transform: translate(0, 0) rotate(-45deg);
    }
}
