/* 変数定義 */
:root {
    --bodyColor: #FCFCFC;
    --mainFontColor: #000000;
    --mainFont: 'Inter';
    --subFont: 'Oswald', sans-serif;
    --colorPink: #FF28A9;
    --colorWhite: #FFFFFF;
    --contentPadding: 15rem;
    --contentWidth: 100%;
    --spFontSize20: 20rem;
    --spFontSize16: 16rem;
    --spFontSize14: 14rem;
    --spFontSize12: 12rem;
    --spFontSize10: 10rem;
}
@media screen and (min-width: 600px) {
    :root {
        --contentPadding: 20rem;
        --contentWidth: 1040rem;
        --spFontSize20: 24rem;
        --spFontSize16: 20rem;
        --spFontSize14: 18rem;
        --spFontSize12: 16rem;
        --spFontSize10: 14rem;
    }
}

html {
    font-family: var(--mainFont);
    font-size: calc(100vw / 375);
    color:var(--mainFontColor);
}
body{
    background-color: var(--bodyColor);
    line-height: 1.5;
    cursor: url(../img/cursor.svg), auto;
}
.mixin-width{
    width: var(--contentWidth);
    margin: 0 auto;
    padding: 0 var(--contentPadding);
}
.pc-br{
    display: none;
}
@media screen and (min-width: 600px) {
    html {
        font-size: 1px;
    }
    .sp-br{
        display: none;
    }
    .pc-br{
        display: block;
    }
}


/* ハンバーガーメニューバー */
.hamburger-menu-ber{
    display: none;
    position: absolute;
    z-index: 99999;
    top: 89rem;
    right: 0;
    left: 0;
    margin: auto;
    background-color: var(--bodyColor);
    height: 100vh;
}
.hamburger-menu-ber--active{
    display: block;
    overflow-y: auto;
    height: calc(100vh - 89px);
}
.hamburger-menu-ber__content{
    padding: 64rem 62rem;
}
.hamburger-menu-ber__item{
    margin-bottom: 60rem;
}
.hamburger-menu-ber__item:last-child{
    margin-bottom: 0;
}
.hamburger-menu-ber__page-item{
    margin-bottom: 60rem;
}
.hamburger-menu-ber__page-item:last-child{
    margin-bottom: 0;
}
.hamburger-menu-ber__page-item-link{
    display: flex;
    justify-content: end;
    border: 1px solid var(--mainFontColor);
    background-color: var(--colorWhite);
    box-shadow: 2px 2px 0px #000000;
    border-radius: 10rem;
    position: relative;
    font-size: var(--spFontSize12);
    color: var(--mainFontColor);
    font-weight: bold;
    width: 100%;
    text-align: center;
    cursor: url(../img/cursor-pointer.svg) , auto;
}
.hamburger-menu-ber__page-text{
    width: 170rem;
    padding: 22rem;
}
.hamburger-menu-ber__page-text::before{
    content: "";
    display: block;
    top: 0;
    bottom: 0;
    left: 8rem;
    margin: auto;
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    width: 74rem;
    height: 110rem;
}
.hamburger-menu-ber__page-text--about::before{
    background-image: url(../img/hamburger-buttun-icon-green.png);
}
.hamburger-menu-ber__page-text--character::before{
    background-image: url(../img/hamburger-buttun-icon-yellow.png);
}
.hamburger-menu-ber__page-text--diagnose::before{
    background-image: url(../img/hamburger-buttun-icon-blue.png);
}
.hamburger-menu-ber__page-text--entame::before{
    background-image: url(../img/hamburger-buttun-icon-pink.png);
}
.hamburger-menu-ber__page-text--favorite::before{
    background-image: url(../img/humburger-buttun-icon-red.png);
}
.hamburger-menu-ber__sns-list{
    display: flex;
    flex-direction: column;
}
.hamburger-menu-ber__sns-item{
    border: 1px solid var(--mainFontColor);
    border-radius: 10rem;
    box-shadow: 2px 2px 0px #000000;
    margin-bottom: 20rem;
    width: 100%;
    height: 124rem;
    position: relative;
}
.hamburger-menu-ber__sns-item:last-child{
    margin-bottom: 0;
}
.hamburger-menu-ber__sns-item--instagram{
    background: linear-gradient(180deg, #4303CA 0%, #DD1F91 25.99%, #FD542F 66.15%, #F3F825 100%);
}
.hamburger-menu-ber__sns-item--twitter{
    background: linear-gradient(180deg, #0067e4 0%, #1c7ef5 25.99%, #67acff 66.15%, #a2ccff 100%);
}
.hamburger-menu-ber__sns-item--suzuri{
    background-color: var(--colorWhite);
}
.hamburger-menu-ber__sns-item-link{
    display: block;
    height: 100%;
    cursor: url(../img/cursor-pointer.svg), auto;
}
.hamburger-menu-ber__sns-text{
    font-size: 46rem;
    font-family: var(--subFont);
    font-weight: bold;
    text-align: center;
    line-height: 1;
    color: var(--mainFontColor);
}
.hamburger-menu-ber__sns-text--instagram{
    color: var(--colorWhite);
}
.hamburger-menu-ber__sns-text--twitter{
    color: var(--colorWhite);
}
.hamburger-menu-ber__sns-img{
    display: block;
    width: 176rem;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}
.hamburger-menu-ber__sns-img--twitter{
    width: 105rem;
}
.modal__overlay--active{
    display: block;
}
.hamburger-menu-bg{
    background: rgba(105, 105, 105, 0.60);
    display: none;
    position: absolute;
    width: 100vw;
    height: 100vh;
    z-index: 90;
}
.hamburger-menu-bg--active{
    display: block;
}
.no-scroll{
    overflow: hidden;
}
@media screen and (min-width: 600px) {
    .hamburger-menu-ber{
        top: 109rem;
        height: fit-content;
    }
    .hamburger-menu-ber__content{
        padding: 100rem 20rem;
    }
    .hamburger-menu-ber__item{
        margin-bottom: 38rem;
    }
    .hamburger-menu-ber__item:last-child{
        margin-bottom: 0;
    }
    .hamburger-menu-ber__page-list{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        margin-bottom: 62rem;
    }
    .hamburger-menu-ber__page-item{
        margin-bottom: 0;
        margin-right: 32rem;
        width: calc( ( 100% - 32rem * 2 ) / 3 );
    }
    .hamburger-menu-ber__page-item:nth-child(3n){
        margin-right: 0;
    }
    .hamburger-menu-ber__page-item:nth-child(n+4){
        margin-top: 70rem;
    }
    .hamburger-menu-ber__page-item-link{
        transition: .4s all ease;
    }
    .hamburger-menu-ber__page-item-link:hover{
        background-color: var(--colorPink);
        box-shadow: none;
    }
    .hamburger-menu-ber__page-text{
        padding: 26rem;
        width: 210rem;
    }
    .hamburger-menu-ber__page-text::before{
        width: 84rem;
        height: 132rem;
    }
    .hamburger-menu-ber__page-item-link:hover .hamburger-menu-ber__page-text::before{
        height: 158rem;
    }
    .hamburger-menu-ber__page-item-link:hover .hamburger-menu-ber__page-text--about::before{
        background-image: url(../img/hamburger-buttun-icon-green-hover.png);
    }
    .hamburger-menu-ber__page-item-link:hover .hamburger-menu-ber__page-text--character::before{
        background-image: url(../img/hamburger-buttun-icon-yellow-hover.png);
    }
    .hamburger-menu-ber__page-item-link:hover .hamburger-menu-ber__page-text--diagnose::before{
        background-image: url(../img/hamburger-buttun-icon-blue-hover.png);
    }
    .hamburger-menu-ber__page-item-link:hover .hamburger-menu-ber__page-text--entame::before{
        background-image: url(../img/hamburger-buttun-icon-pink-hover.png);
    }
    .hamburger-menu-ber__page-item-link:hover .hamburger-menu-ber__page-text--favorite::before{
        background-image: url(../img/humburger-buttun-icon-red-hover.png);
    }
    .hamburger-menu-ber__sns-list{
        flex-direction: row;
        flex-wrap: wrap;
    }
    .hamburger-menu-ber__sns-item{
        margin-right: 60rem;
        margin-bottom: 0;
        height: 228rem;
        transition: .4s all ease;
        width: calc( ( 100% - 60rem * 1 ) / 2 );
    }
    .hamburger-menu-ber__sns-item:nth-child(2n){
        margin-right: 0;
    }
    .hamburger-menu-ber__sns-item:nth-child(n+3){
        margin-top: 40rem;
    }
    .hamburger-menu-ber__sns-item:hover{
        box-shadow: none;
    }
    .hamburger-menu-ber__sns-text{
        font-size: 92rem;
    }
    .hamburger-menu-ber__sns-img{
        width: 300rem;
    }
    .hamburger-menu-ber__sns-img--twitter{
        width: 194rem;
    }
}

/* ヘッダー・メインビジュアルブロック */
.header__global-nav{
    position: fixed;
    z-index: 101;
    top: 0;
    width: 100%;
}
.header{
    padding: 24rem 0;
    background-color: var(--bodyColor);
    border-bottom: 1px solid black;
    width: 100%;
}
.header__content{
    height: 40rem;
    position: relative;
    max-width: 1040rem;
    width: 100%;
    margin: 0 auto;
}
.header-logo{
    width: 180rem;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}
.header-logo__link{
    display: block;
    cursor: url(../img/cursor-pointer.svg), auto;
}
.header-logo__img{
    display: block;
    width: 100%;
}
.hamburger__button{
    background-image: url(../img/icon_hamburger.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 36rem;
    height: 36rem;
    display: block;
    position: absolute;
    right: 15rem;
    top: 0;
    bottom: 0;
}
.hamburger__button--open{
    background-image: url(../img/icon-hamburger-close.svg);
}
.hamburger__button--disply{
    display: none;
}
@media screen and (min-width: 600px) {
    .header{
    }
    .header__content{
        height: 60rem;
    }
    .header-logo{
        width: 270rem;
        margin:0;
        transition: .4s all ease;
        left: 20rem;
    }
    .header-logo:hover{
        opacity: .3;
    }
    .hamburger__button{
        width: 60rem;
        height: 60rem;
        right: 20rem;
        transition: .4s all ease;
    }
    .hamburger__button:hover{
        background-image: url(../img/icon-hamburger-close.svg);
        cursor: url(../img/cursor-pointer.svg), auto;
    }
    .hamburger__button--open:hover{
        background-image: url(../img/icon_hamburger.svg);
    }
}

/* フッター */
.footer__inner__content{
    padding: 18rem;
}
.footer__content{
    display: flex;
    height: 50rem;
}
.footer__inne__copyright-text{
    font-size: var(--spFontSize10);
    text-align: center;
}

/* footer固定ページ一覧 */
.footer__page-list-group{
    margin-bottom: 30rem;
}
.footer__page-list{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30rem;
}
.footer__page-list__item{
    background-color: var(--colorWhite);
    border: 1px solid var(--mainFontColor);
    border-radius: 2px;
    margin-right: 20rem;
    width: calc( ( 100% - 20rem ) / 2 );
    position: relative;
}
.footer__page-list__item:nth-child(2n){
    margin-right: 0;
}
.footer__page-list__item:nth-child(n+3){
    margin-top: 20rem;
}
.footer__page-list__item::before{
    content: "";
    display: block;
    width: 20rem;
    height: 20rem;
    background-image: url(../img/packing-tape.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    top: -12rem;
}
.footer__page-list__link{
    color: var(--mainFontColor);
    font-size: 14rem;
    font-weight: bold;
    text-align: center;
}
.footer__page-list__text{
    padding: 18rem 10rem 10rem;
}
.footer__page-list__text::before{
    content: "";
    display: block;
    width: 13rem;
    height: 8rem;
    background-image: url(../img/footer-list-parts.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: -1rem;
    bottom: -1rem;
    z-index: 2;
}
.footer__page-list__text::after{
    content: "";
    display: block;
    background-color: var(--bodyColor);
    border-radius: 2rem 0 0 0;
    width: 13rem;
    height: 8rem;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: -1rem;
    bottom: -1rem;
}
@media screen and (min-width: 600px) {
    .footer__page-list{
        width: 100%;
        margin-right: 30rem;
        margin-bottom: 0;
    }
    .footer__page-list__item{
        width: calc( ( 100% - 20rem*4 ) / 5 );
        transition: .4s all ease;
    }
    .footer__page-list__item:nth-child(2n){
        margin-right: 20rem;
    }
    .footer__page-list__item:nth-child(n+3){
        margin-top: 0;
    }
    .footer__page-list__item:nth-child(n+5){
        margin-right: 0;
    }
    .footer__page-list__item:nth-child(n+6){
        margin-top: 20rem;
    }
    .footer__page-list__link{
        cursor: url(../img/cursor-pointer.svg), auto;
    }
    .footer__page-list__item:hover{
        background-color: var(--colorPink);
    }
    .footer__page-list__item:hover .footer__page-list__text::before{
        display: none;
    }
    .footer__page-list__item:hover .footer__page-list__text::after{
        display: none;
    }
}

/* footer・SNSリスト */
.footer__sns-list{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    padding: 40rem 0;
}
.footer__sns-item{
    margin-right: 16rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.footer__sns-item:last-child{
    margin-right: 0;
}
.footer__sns-link{
    display: block;
    font-size: 12rem;
    color: var(--mainFontColor);
    text-align: center;
    font-weight: bold;
    cursor: url(../img/cursor-pointer.svg), auto;
}
.footer__sns-link::before{
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    width: 34rem;
    height: 34rem;
}
.footer__sns-link--insta::before{
    background-image: url(../img/footer-insta-icon.png);
}
.footer__sns-link--twitter::before{
    background-image: url(../img/footer-twitter-icon.png);
}
.footer__sns-link--suzuri::before{
    background-image: url(../img/footer-suzuri-icon.png);
}
@media screen and (min-width: 600px) {
    .footer__sns-list{
        flex-wrap: wrap;
        align-items: start;
        justify-content: center;
        width: 100%;
    }
    .footer__sns-link{
        font-size: 14rem;
        cursor: url(../img/cursor-pointer.svg), auto;
    }
    .footer__sns-link::before{
        width: 40rem;
        height: 40rem;
        transition: .4s all ease;
    }
    .footer__sns-item:hover .footer__sns-link{
        color: var(--colorPink);
    }
    .footer__sns-item:hover .footer__sns-link::before{
        opacity: 0.4;
    }
}

/* トップへ戻るボタン */
.footer{
    padding-top: 100rem;
}
.footer__return-top-img{
    display: block;
    width: 50rem;
    filter: drop-shadow(2px 2px 0px #000000);
    cursor: url(../img/cursor-pointer.svg), auto;
    position: fixed;
    right: 15rem;
    bottom: 15rem;
    z-index: 999999;
    opacity: 0;
    transition-duration: 0.5s;
}
.footer__return-top-img-opacity0{
    opacity: 0;
}
.footer__return-top-img-opacity1{
    opacity: 1;
}
.footer__return-top-img-none{
    display: none;
}
.footer__return-top-img-block{
    display: block;
}
@media screen and (min-width: 600px) {
    .footer{
        padding-top: 150rem;
    }
    .footer__return-top-img{
        width: 80rem;
        right: 20rem;
        bottom: 15rem;
        transition: .4s all ease;
    }
    .footer__return-top-img:hover{
        transform:scale(1.1,1.1);
    }
}

/* ボタンリスト */
.button__list{
    padding: 0 0 80rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.button__list--top{
    padding: 40rem 0;
}
.button__item{
    background: #FFFFFF;
    border: 1px solid #000000;
    box-shadow: 2px 2px 0px #000000;
    border-radius: 10px;
    width: fit-content;
}
.button__item:nth-child(n+2){
    margin-left: 15rem;
}
.button__item--previous-post{
    background-color: transparent;
    border: none;
    box-shadow: none;
    position: absolute;
    left: 51rem;
}
.button__item--next-post{
    background-color: transparent;
    border: none;
    box-shadow: none;
    position: absolute;
    right: 51rem;
}
.button__item--previous-post:nth-child(n+2){
    margin-left: 0;
}
.button__item--next-post:nth-child(n+2){
    margin-left: 0;
}
.button__item-link{
    font-size: var(--spFontSize14);
    text-align: center;
    font-weight: bold;
    color: var(--mainFontColor);
    padding: 15rem;
    display: block;
    cursor: url(../img/cursor-pointer.svg) , auto;
}
.button__item-link--padding-none{
    padding: 0;
}
.button__item-img{
    display: block;
    width: 50rem;
    filter: drop-shadow(2px 2px 0px rgb(0, 0, 0));
}
.button__item-img--next{
    transform: scale(-1, 1);
}
.padding-none{
    padding: 0;
}
@media screen and (min-width: 600px) {
    .button__list{
        padding: 0 0 180rem;
    }
    .button__item{
        transition: .4s all ease;
    }
    .button__item:hover{
        box-shadow: none;
    }
    .button__item-link{
        transition: .4s all ease;
    }
    .button__item:hover .button__item-link{
        color: var(--colorPink);
    }
    .button__item:nth-child(n+2){
        margin-left: 15rem;
    }
    .button__item--previous-post:nth-child(n+2){
        margin-left: 0;
    }
    .button__item--previous-post{
        left: 345rem;
    }
    .button__item--next-post{
        right: 345rem;
    }
    .button__item-img{
        transition: .4s all ease;
    }
    .button__item:hover .button__item-img{
        filter: none;
    }
}

/* ComingSoon用css */
.coming-soon__content{
    border: 1px solid var(--mainFontColor);
    padding: 30rem 20rem;
}
.coming-soon__img{
    display: block;
    width: 100rem;
    margin: 0 auto;
    margin-bottom: 16rem;
}
.coming-soon__text{
    font-size: var(--spFontSize14);
    text-align: center;
}
@media screen and (min-width: 600px) {
    .coming-soon__content{
        border: 1px solid var(--mainFontColor);
        padding: 50rem;
    }
    .coming-soon__img{
        width: 118rem;
        margin-bottom: 36rem;
    }
}

/* 投稿ボックス */
.new-post{
    margin-bottom: 80rem;
}
.select__tite{
    background-color: var(--colorPink);
    border: 1px solid var(--mainFontColor);
    padding: 5rem;
    width: fit-content;
    margin: 0 auto;
    margin-bottom: 30rem;
}
.select__tite--entame-select{
    margin-bottom: 64rem;
}
.select__title-text{
    font-size: var(--spFontSize16);
    font-weight: bold;
    padding: 10rem 5rem;
    background-color: var(--colorWhite);
    width: fit-content;
}
.new-post__list{
    display: flex;
    flex-wrap: wrap;
}
.new-post__item{
    width: calc( ( 100% - 8rem ) / 2 );
    margin-right: 8rem;
    position: relative;
}
.new-post__item--new-post::before{
    content: "";
    display: block;
    background-image: url(../img/new-post-icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 80rem;
    height: 80rem;
    position: absolute;
    z-index: 5;
    top: -18rem;
    left: -10rem;
    cursor: url(../img/cursor-pointer.svg) , auto;
}
.new-post__item:nth-child(2n){
    margin-right: 0;
}
.new-post__item:nth-child(n+3){
    margin-top: 25rem;
}
.new-post__item-link{
    display: block;
    font-size: var(--spFontSize16);
    color: var(--mainFontColor);
    text-align: center;
    cursor: url(../img/cursor-pointer.svg) , auto;
}
.new-post__img{
    border-radius: 10rem;
    width: 100%;
    display: block;
    margin-bottom: 12rem;
    filter: drop-shadow(2px 2px 0px #000000);
}
@media screen and (min-width: 600px) {
    .new-post{
        margin-bottom: 120rem;
    }
    .select__tite{
        padding: 8rem;
        margin-bottom: 40rem;
    }
    .new-post__item{
        width: calc( ( 100% - 50rem * 3 ) / 4 );
        margin-right: 50rem;
        transition: .4s all ease;
    }
    .new-post__item--new-post::before{
        width: 130rem;
        height: 130rem;
        top: -34rem;
        left: -18rem;
        transition: .4s all ease;
        transform: rotate(0);
    }
    .new-post__item--new-post:hover::before{
        transform: rotateZ( 360deg ) ;
    }
    .new-post__item:nth-child(2n){
        margin-right: 50rem;
    }
    .new-post__item:nth-child(n+3){
        margin-top: 0;
    }
    .new-post__item:nth-child(4n){
        margin-right: 0;
    }
    .new-post__item:nth-child(n+5){
        margin-top: 50rem;
    }
    .new-post__img{
        margin-bottom: 20rem;
        transition: .4s all ease;
    }
    .new-post__item:hover .new-post__img{
        filter: none;
    }
    .new-post__item-link{
        transition: .4s all ease;
    }
    .new-post__item:hover .new-post__item-link{
        color: var(--colorPink);
    }
}

.page{
    padding-top: 160px;
}
@media screen and (min-width: 600px) {
    .page{
        padding-top: 200px;
    }
}