@charset "utf-8";
@import url('https://unpkg.com/ress@4.0.0/dist/ress.min.css');
@import url(default.css);

.header{
    border-bottom: var(--bordersize) solid;
    position: fixed;
    width: 100%;
    top: 0;
    background: var(--maincolor);
    z-index: 99;
    .header_inner{
        @media screen and (min-width:1280px) {
            display: flex;
            align-items: center;
        }
    }
    + .header_layer{
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        z-index: 98;
        background: rgba(247, 236, 228, 0);
        pointer-events: none;
        visibility: hidden;
        transition: all .3s ease;
    }
    &:has(#toggle-check:checked){
        + .header_layer{
            background: rgba(247, 236, 228, 0.7);
            visibility: visible;
            backdrop-filter: blur(5px);
            pointer-events: all;
        }
    }
    .header_logo{
        padding: 0 15px;
        font-size: 3.6rem;
        font-weight: 700;
        letter-spacing: 0.2em;
        text-align: center;
        font-family: var(--enfont), sans-serif;
        display: inline-block;
        @media screen and (min-width:1280px) {
            padding: 0 20px;
        }
    }
    .header_toggle{
        position: fixed;
        top: 20px;
        right: 10px;
        width: 3rem;
        aspect-ratio: 1/1;
        overflow-y: hidden;
        @media screen and (min-width:1280px) {
            /* top: 15px;
            right: 20px; */
            display: none;
        }
        .toggle_btn{
            width: 100%;
            height: 100%;
            display: block;
            cursor: pointer;
            overflow: visible;
        }
        #toggle-check{
            display: none;
            &:checked + .toggle_btn{
                .toggle_circle{
                    &:nth-child(1){
                        left: 50%;
                        transform: translateX(-50%);
                    }
                    &:nth-child(2){
                        transform: translateX(-50%) scale(1.5);
                    }
                    &:nth-child(3){
                        right: 50%;
                        transform: translateX(50%);
                    }
                }
                .toggle_text{
                    &.is_on{
                        bottom: -100%;
                    }
                    &.is_off{
                        bottom: 0;
                    }
                }
            }
        }
        .toggle_circle{
            display: inline-block;
            width: 4px;
            aspect-ratio: 1/1;
            background: var(--subcolor);
            border-radius: 50%;
            position: absolute;
            top: 5px;
            transition: all .3s ease;
            @media screen and (min-width:1280px) {
                width: 6px;
            }
            &:nth-child(1){
                left: 3px;
            }
            &:nth-child(2){
                left: 50%;
                transform: translateX(-50%);
            }
            &:nth-child(3){
                right: 3px;
            }
        }
        .toggle_text{
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            transition: all .3s ease;
            font-size: .8rem;
            font-family: var(--enfont), sans-serif;
            &.is_on{
                bottom: 0;
            }
            &.is_off{
                bottom: -100%;
            }
        }
        &:has(#toggle-check:checked){
            + .header_nav{
                grid-template-rows: 1fr;
            }
        }
    }
    .header_nav{
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 0.3s ease;
        @media screen and (min-width:1280px) {
            grid-template-rows: 1fr;
            flex-grow: 1;
        }
        .header_nav_inner{
            overflow-y: hidden;
            padding-top: 1px;
            @media screen and (min-width:1280px) {
                display: flex;
                padding-top: 0;
                margin-left: auto;
                padding-right: 20px;
            }
            .header_nav_icon{
                border-top: var(--bordersize) solid;
                display: flex;
                justify-content: center;
                padding-top: 15px;
                padding-bottom: 15px;
                @media screen and (min-width:1280px) {
                    border-top: none;
                    padding: 0;
                    order: 1;
                    align-items: center;
                }
                .header_nav_icon_item{
                    text-align: center;
                    margin: 0 30px;
                    width: calc(100% / 3);
                    @media screen and (min-width:1280px) {
                        flex: none;
                        width: 50px;
                        margin: 0;
                        aspect-ratio: 1/1;
                    }
                    a{
                        display: block;
                        @media screen and (min-width:1280px) {
                            width: 100%;
                            height: 100%;
                            display: grid;
                            place-content: center;
                        }
                    }
                    svg{
                        fill:var(--subcolor);
                        width: 3rem;
                        height: 3rem;
                        transition: scale .3s ease;
                        @media screen and (min-width:1280px) {
                            &:hover{
                                scale: 1.3;
                            }
                        }
                    }
                    .header_nav_icon_item-name{
                        letter-spacing: 0.2em;
                        font-size: .8rem;
                        font-family: var(--enfont), sans-serif;
                        @media screen and (min-width:1280px) {
                            display: none;
                        }
                    }
                }
            }
            .header_nav_menu{
                @media screen and (min-width:1280px) {
                    display: flex;
                    align-items: center;
                }
                .header_nav_menu_item{
                    border-top: var(--bordersize) solid;
                    @media screen and (min-width:1280px) {
                        border-top: none;
                    }
                    &:hover{
                        background-color: var(--accentcolor);
                        @media screen and (min-width:1280px) {
                            background-color: transparent;
                        }
                    }
                    a{
                        display: flex;
                        align-items: center;
                        padding: 10px 20px;
                        @media screen and (min-width:1280px) {
                            position: relative;
                            padding: 0 20px;
                        }
                        .header_nav_menu_item-en{
                            width: 50%;
                            font-size: 2rem;
                            font-weight: 700;
                            letter-spacing: 0.2em;
                            font-family: var(--enfont), sans-serif;
                            @media screen and (min-width:1280px) {
                                width: auto;
                                display: block;
                                clip-path: inset(0 0 0 0);
                                .header_nav_menu_item a:hover &{
                                    translate: 0 -1.5em;
                                    clip-path: inset(100% 0 0 0);
                                }
                            }
                            /* @media screen and (min-width:1000px) {
                                text-align: right;
                                margin-right: 10px;
                            } */
                        }
                        .header_nav_menu_item-jp{
                            width: 50%;
                            font-size: 1.3rem;
                            @media screen and (min-width:1280px) {
                                font-weight: 700;
                                width: auto;
                                display: block;
                                position: absolute;
                                top: 50%;
                                left: 50%;
                                translate: -51% 1em;
                                white-space: nowrap;
                                clip-path: inset(0 0 100% 0);
                                .header_nav_menu_item a:hover &{
                                    translate: -50% -.7em;
                                    clip-path: inset(0 0 0 0);
                                    opacity: 1;
                                }
                            }
                            /* @media screen and (min-width:1000px) {
                                margin-left: 10px;
                            } */
                        }
                        .header_nav_menu_item-en,
                        .header_nav_menu_item-jp{
                            z-index: 1;
                            transition: opacity .1s ease-out,translate .8s cubic-bezier(.25,1,.5,1),clip-path .4s cubic-bezier(.25,1,.5,1)
                        }
                    }
                }
            }
        }
    }
}

_::-webkit-full-page-media, _:future, :root .header_logo span {
    display: inline-block;
    padding-top: 5px;
}
_::-webkit-full-page-media, _:future, :root .sec_article_container_tags {
    padding: 3px 1em 0!important;
}

.main{
    background: var(--maincolor);
    .sec{
        /* padding-bottom: 3em; */
        overflow-x: hidden;
        padding-bottom: 0;
        @media screen and (min-width:1280px) {
            padding-bottom: 3em;
            overflow-x: clip;
        }
        p{
            margin-bottom: 2em;
        }
        .sec_head{
            max-width: 1000px;
            margin: 40px auto;
            padding: 0 20px;
            @media screen and (min-width:1280px) {
                padding: 0;
            }
        }
        .sec_h1{
            letter-spacing: 0.4em;
            margin-bottom: 1em;
            span{
                display: inline-block;
            }
            .sec_h1-en{
                display: block;
                font-size: 3rem;
            }
            .sec_h1-jp{
                display: block;
                font-size: 3rem;
                letter-spacing: 0.15em;
            }
            .sec_h1-sub{
                font-size: 1.3rem;
                font-weight: 400;
                letter-spacing: 0.15em;
            }
            .sec_h1-title,
            .sec_h1-date{
                font-size: 1.3rem;
                font-weight: 400;
                display: inline-block;
                letter-spacing: 0.15em;
            }
        }
        .sec_h2{
            font-weight: 400;
            font-size: 1.8rem;
        }
        .sec_inner{
            max-width: 1000px;
            margin-left: auto;
            margin-right: auto;
            padding: 0 20px 40px;
            > p:last-of-type{
                margin-bottom: 0;
            }
            @media screen and (min-width:1280px) {
                padding: 0;
            }
        }
        .sec_container{
            background-color: var(--accentcolor);
            border-radius: 20px;
            &:has(.post_empty){
                background-color:transparent;
            }
            @media screen and (min-width:1280px) {
                border-radius: 20px;
                max-width: 1000px;   
                margin-left: auto;
                margin-right: auto;
            }
            .sec_article{
                border-radius: 20px 20px 0 0;
                background-color: var(--accentcolor);
                position: relative;
                padding-bottom: 60px;
                word-break: break-word;
                @media screen and (min-width:1280px) {
                    overflow-x: visible;
                    border-radius: 20px ;
                }
                .sec_article_head{
                    position: relative;
                    color: var(--maincolor);
                    &::after{
                        content: "";
                        display: block;
                        width: calc(100% + 2px);
                        height: 100%;
                        border-radius: 20px 20px 0 0;
                        border: var(--bordersize) solid var(--subcolor);
                        background: var(--subcolor);
                        position: absolute;
                        top: 0;
                        left: 50%;
                        transform: translateX(-50%);
                        z-index: 0;
                    }
                    @media screen and (min-width:1280px) {
                        &::after{
                            content: none;
                        }
                    }
                    > *{
                        padding: 5px 20px 0;
                        position: relative;
                        z-index: 1;
                    }
                    .sec_article_head_info{
                        display: flex;
                        align-items: center;
                        > *{
                            padding-top: 10px;
                            padding-bottom: 5px;
                        }
                        .sec_article_cat{
                            padding-left: 20px;
                            padding-right: 20px;
                            background:var(--subcolor);
                            color: var(--accentcolor);
                            white-space: nowrap;
                            border-radius: 20px 0 0 0;
                            @media (min-width:1280px){
                                border-radius: 0;
                            }
                        }
                        .sec_article_title{
                            padding-left: 20px;
                            padding-right: 20px;
                            font-weight: 700;
                            white-space: nowrap;
                            overflow: hidden;
                            text-overflow: ellipsis;
                            -webkit-box-orient: vertical;
                            + .sec_article_date{
                                margin-left: auto;
                            }
                        }
                        .sec_article_date{
                            font-size: 1rem;
                            position: absolute;
                            right: 0;
                            transform: translateY(100%);
                            white-space: nowrap;
                            font-weight: 400;
                            width: 100%;
                            text-align: right;
                            padding-right: 10px;
                            padding-left: 20px;
                            @media screen and (min-width:1280px) {
                                width: auto;
                                position: static;
                                transform: none;
                            }
                        }
                    }
                }
                .sec_article_container{
                    padding: 30px 20px;
                    @media screen and (min-width:1280px) {
                        padding: 20px;
                    }
                }
                .sec_article_container_tag{
                    display: contents;
                    font-size: 0;
                    .sec_article_container_tags{
                        border: 0.99px solid var(--subcolor);
                        border-radius: 30px;
                        font-size: 1.2rem;
                        padding: 0px 1em;
                        display: inline-block;
                        margin-right: 5px;
                        margin-bottom: 5px;
                        a{
                            display: inline-block;
                        }
                    }
                }
                .sec_article_textlist{
                    .sec_article_textlist_item{
                        a:hover{
                            background-color: var(--maincolor);
                        }
                    }
                }
            }
        }
    }
}
.footer{
    background: var(--subcolor);
    color: var(--maincolor);
    padding: 40px 0;
    text-align: center;
    .footer_logo{
        font-size: 3rem;
        font-family: var(--enfont), sans-serif;
        font-weight: 700;
        letter-spacing: .2em;
    }
    .footer_nav{
        .footer_nav_icon{
            display: flex;
            justify-content: center;
            padding-top: 15px;
            padding-bottom: 15px;
            gap: 15px;
            .footer_nav_icon_item{
                text-align: center;
                margin: 0 10px;
                @media screen and (min-width:1280px) {
                    flex: none;
                    width: 150px;
                    margin: 0;
                }
                svg{
                    fill:var(--maincolor);
                    width: 3rem;
                    height: 3rem;
                }
            }
        }
        .footer_nav_menu{
            display: inline-block;
            .footer_nav_menu_item{
                font-family: var(--enfont), sans-serif;
                font-size: 1.4rem;
                letter-spacing: .2em;
                text-align: left;
                margin: 0.5em 0;
            }
        }
    }
}