@charset "utf-8";
:root {
	--color--black: #000000;
}
.pc {
    display: inline-block;
}
.sp {
    display: none;
}
.view_pc {
    display: block;
}
.view_sp {
    display: none;
}
body {
	min-height: 100vh;
	margin: 0px;
	padding: 0px;
	background-color: #ffffff;
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	color: #000000;
	font-family: "Hina Mincho", serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.8;
	letter-spacing: 0.05em;
/*	font-feature-settings: "palt";*/
}
a {
    display: block;
}
.__kakugo {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-style: normal;
}
.__worksans {
    font-family: "Work Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
}
body.scroll-stop {
	overflow: hidden;
}
img{
    width: 100%;
    height: auto;
}
#wrap{
    width: 100%;
    height: 100%;
    background-image: url(../image/bg_image@pc.webp);
    background-size: 100% auto;
    background-position: top center;
}
    header{
        width: 100%;
        height: 130px;
        position: fixed;
        top: 0;
        left: 0;
        pointer-events: none;
        z-index: 100;
    }
        .header__inner{
            width: 90%;
            height: 100%;
            margin: 0 auto;
            position: relative;
        }
            .header__logo{
                width: 121px;
                height: auto;
                position: absolute;
                top: 50px;
                left: 0;
            }
                .header__logo_link{
                    width: 100%;
                    height: auto;
                    pointer-events: auto;
                }
                .header__logo_link.hero__logo_second{
                    position: absolute;
                    top: 0;
                    left: 0;
                    opacity: 0;
                }
            .header__btn_contents{
                width: fit-content;
                height: auto;
                display: flex;
                align-items: flex-start;
                column-gap: 27px;
                position: absolute;
                top: 45px;
                right: 0;
            }
                .header__btn_contents_lang{
                    width: 140px;
                    height: auto;
                    border: 1px #fff solid;
                    border-radius: 4px;
                    position: relative;
                    z-index: 99;
                    transition: 0.3s;
                }
                    .header__btn_contents_lang_heading{
                        width: 100%;
                        height: auto;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        column-gap: 8px;
                        cursor: pointer;
                        pointer-events: auto;
                        padding: 9px 24px;
                    }
                        .header__btn_contents_lang_heading_txt{
                            font-size: 14px;
                            font-weight: 400;
                            line-height: 2.2;
                            letter-spacing: 0.15em;
                            color: #FFFFFF;
                            transition: 0.3s;
                        }
                        .header__btn_contents_lang_heading_arrow{
                            width: 12px;
                            height: auto;
                        }
                    .header__btn_contents_lang_contents{
                        display: none;
                        width: 100%;
                        height: auto;
                        padding: 0 24px 15px 24px;
                        row-gap: 10px;
                        pointer-events: auto;
                    }
                        .header__btn_contents_lang_contents_link{
                            font-size: 12px;
                            font-weight: 400;
                            line-height: 1;
                            letter-spacing: 0.15em;
                            color: #FFFFFF;
                            padding-top: 5px;
                            padding-top: 15px;
                        }
                        .header__btn_contents_lang_contents_link:first-of-type{
                            padding-top: 0px;
                        }
                .hamburger{
                    width: 36px;
                    height: 16px;
                    position: relative;
                    z-index: 100;
                    margin-top: 18px;
                }
                    .hbg_btn{
                        display: block;
                        width: 100%;
                        height: 100%;
                        padding: 0;
                        cursor: pointer;
                        pointer-events: auto;
                    }
                        .hbg_btn__inner{
                            width: 100%;
                            height: 100%;
                            position: relative;
                        }
                            .hbg_btn_icon{
                                width: 100%;
                                height: 2px;
                                background-color: #fff;
                                position: absolute;
                            }
                            .hbg_btn_icon_top{
                                top: 0;
                                left: 0;
                            }
                            .hbg_btn_icon_btm{
                                bottom: 0;
                                left: 0;
                            }
                            .open .hbg_btn_icon_top{
                                animation: open_hbg_btn_line_top 0.3s forwards;
                            }
                            .open .hbg_btn_icon_btm{
                                animation: open_hbg_btn_line_btm 0.3s forwards;
                            }
                            .close .hbg_btn_icon_top{
                                animation: close_hbg_btn_line_top 0.3s forwards;
                            }
                            .close .hbg_btn_icon_btm{
                                animation: close_hbg_btn_line_btm 0.3s forwards;
                            }
                            @keyframes open_hbg_btn_line_top {
                                0%{
                                    transform: translateY(0px) rotate(0deg);
                                }
                                60%{
                                    transform: translateY(7px) rotate(0deg);
                                }
                                100%{
                                    transform: translateY(7px) rotate(-30deg);
                                    background-color: #000;
                                }
                            }
                            @keyframes open_hbg_btn_line_btm {
                                0%{
                                    transform: translateY(0px) rotate(0deg);
                                }
                                60%{
                                    transform: translateY(-7px) rotate(0deg);
                                }
                                100%{
                                    transform: translateY(-7px) rotate(30deg);
                                    background-color: #000;
                                }
                            }
                            @keyframes close_hbg_btn_line_top {
                                0%{
                                    transform: translateY(7px) rotate(-30deg);
                                }
                                40%{
                                    transform: translateY(7px) rotate(0deg);
                                }
                                100%{
                                    transform: translateY(0px) rotate(0deg);
                                    background-color: #fff;
                                }
                            }
                            @keyframes close_hbg_btn_line_btm {
                                0%{
                                    transform: translateY(-7px) rotate(30deg);
                                }
                                40%{
                                    transform: translateY(-7px) rotate(0deg);
                                }
                                100%{
                                    transform: translateY(0px) rotate(0deg);
                                    background-color: #fff;
                                }
                            }
            .global_nav{
                display: none;
                width: 45%;
                height: 100vh;
                overflow: hidden;
                background-image: url(../image/nav_bg.webp);
                background-size: cover;
                background-position: top center;
                z-index: 99;
                position: absolute;
                right: 0;
                top: 0;
                pointer-events: auto;
            }
                .global_nav_logo{
                    width: 176px;
                    height: auto;
                    margin: 0 auto;
                    padding: 104px 0 69px 0;
                }
                    .global_nav_instagram{
                        width: 21px;
                        height: 21px;
                        position: absolute;
                        bottom: 61px;
                        right: 65px;
                    }
                    .global_nav__contents{
                        width: 55%;
                        height: auto;
                        margin: 0 auto;
                    }
                        .global_nav_list{
                            width: 100%;
                            height: auto;
                            display: flex;
                            flex-direction: column;
                            row-gap: 36px;
                        }
                            .global_nav_item{
                                width: 100%;
                                height: auto;
                            }
                                .global_nav_item a{
                                    width: 100%;
                                    height: auto;
                                    display: flex;
                                    flex-direction: column;
                                    row-gap: 10px;
                                    padding-left: 18px;
                                    font-size: clamp(20px, 1.5vw, 20px);
                                    font-weight: 400;
                                    line-height: 1;
                                    letter-spacing: 0.2em;
                                    color: #232423;
                                    border-left: 1.28px solid #000;
                                    transition: 0.3s;
                                }
                                .global_nav_item a:hover{
                                    opacity: 0.7;
                                }
                                    .global_nav_item_min{
                                        font-size: clamp(13px, 1vw, 13px);
                                        font-weight: 400;
                                        line-height: 1;
                                        letter-spacing: 0.2em;
                                        color: #232423;
                                    }
/* フッター */
footer{
    width: 100%;
    height: auto;
    background-color: #000;
    position: relative;
}
    .footer__inner{
        width: 80%;
        height: auto;
        margin: 0 auto;
        padding: 100px 0;
    }
        .footer__contents{
            width: 100%;
            height: auto;
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            column-gap: 100px;
        }
            .footer__contents_logo{
                width: 40%;
                height: auto;
                max-width: 397px;
            }
            .footer__nav_list{
                width: 50%;
                display: flex;
                flex-wrap: wrap;
                row-gap: 30px;
            }
                .footer__nav_item{
                    width: fit-content;
                    height: auto;
                    padding: 0 33px 0 15px;
                    border-left: 1px solid #fff;
                }
                    .footer__nav_link{
                        display: flex;
                        flex-direction: column;
                        row-gap: 1px;
                        transition: 0.3s;
                    }
                    .footer__nav_link:hover{
                        opacity: 0.7;
                    }
                        .footer__nav_link_main{
                            font-size: clamp(16px, 1.25vw, 16px);
                            font-weight: 400;
                            line-height: 1.5;
                            letter-spacing: 0.2em;
                            color: #FFFFFF;
                        }
                        .footer__nav_link_sub{
                            font-size: clamp(10px, 0.78vw, 10px);
                            font-weight: 400;
                            line-height: 2.2;
                            letter-spacing: 0.2em;
                            color: #FFFFFF;
                        }
            .copy{
                writing-mode: vertical-rl;
                font-size: clamp(10px, 0.78vw, 10px);
                font-weight: 400;
                line-height: 2.2;
                letter-spacing: 0.2em;
                color: #FFFFFF;
                position: absolute;
                top: 50%;
                left: 25px;
                transform: translate(0%, -50%);
            }
            .footer__ig_wrap{
                display: flex;
                align-items: center;
                column-gap: 22px;
                position: absolute;
                bottom: 28px;
                right: 109px;
            }
                .footer__ig{
                    width: fit-content;
                    height: auto;
                    display: flex;
                    align-items: center;
                    column-gap: 10px;
                    transition: 0.3s;
                }
                .footer__ig:hover{
                    opacity: 0.7;
                }
                    .footer__ig_txt{
                        font-size: clamp(12px, 0.9vw, 12px);
                        font-weight: 400;
                        line-height: 1.5;
                        letter-spacing: 0.1em;
                        color: #FFFFFF;
                    }
                    .footer__ig_image{
                        width: 21px;
                        height: auto;
                    }
                .to__top{
                    padding: 13px 25px 13px 29px;
                    font-size: clamp(12px, 0.9vw, 12px);
                    font-weight: 400;
                    line-height: 1.5;
                    letter-spacing: 0.1em;
                    color: #FFFFFF;
                    display: flex;
                    align-items: center;
                    column-gap: 10px;
                    border-radius: 4px;
                    border: 1px solid #fff;
                    transition: 0.3s
                }
                .to__top:hover{
                    opacity: 0.7;
                }
                .to__top.view_sp{
                    display: none;
                }
                    .to__top_arrow{
                        width: 9px;
                        height: auto;
                    }
/* SP ================================================== */
@media all and (max-width:820px){
.pc {
    display: none;
}
.sp {
    display: inline-block;
}
.view_pc {
    display: none;
}
.view_sp {
    display: block;
}
#wrap{
    width: 100%;
    height: 100%;
    background-image: url(../image/bg_image@sp.webp);
    background-size: 100% auto;
    background-position: top center;
}
                .to__top.view_sp{
                    display: flex;
                }
}