@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic&display=swap');


/*----------------------------------------------------------------
青帯消す（あとでとる）
----------------------------------------------------------------*/
#trial-banner{display: none !important;}
@media screen and (max-width: 599px) {
header{/*position: fixed;top: 0;left: 0;right: 0;width: 100%;z-index: 9999;*/}
}
/**/



body{}
@media screen and (max-width: 749px) {
	.gnav-sp .__drawer .__menu .__content .__heading{color: #000;}
	.aside .__block--category,
	.aside .__block .side--regist,
	.aside .__block .side--link{display: none;}
	.aside .__block .side--sns{margin-bottom: 15%; margin-top: 5%;}
}


/*----------------------------------------------------------------
common
----------------------------------------------------------------*/
p,a {color: #000;}
ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.header .__banner {display: none;}
.gnav-pc {
    border-bottom: none;
    font-family: 'Noto Sans JP', sans-serif;
    background-color: #edebe6;
}
.aside, footer {
    font-family: 'Noto Sans JP', sans-serif;
}
.sponly{display: block;}
.pconly{display: none;}

@media screen and (min-width: 750px){
	.sponly{display: none;}
	.pconly{display: block;}
    .header .__banner{display: none;}
    }
@media screen and (max-width: 1279px) {
    .gnav-pc .__menu {
        max-width: unset;
    }
}
/*----------------------------------------------------------------
header
----------------------------------------------------------------*/
.header.header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    width: 100%;
}
.headerMain {}

.headerNavi {}
.headerNavi .headerNavi-inner {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
    max-width: 1300px;
    width: 100%;
    margin: 0 auto;
    padding: 5px 50px;
    position: relative;
}
.headerNavi .headerNavi-inner .h_logo {
    position: absolute;
    top: 5px;
    left: 50px;
    max-width: 155px;
    width: 11.92vw;
    z-index: 1;
}
.headerNavi .headerNavi-inner .h_logo.is-small {
    max-width: 120px;
    width: 9.23vw;
    top: 50%;
    transform: translateY(-50%);
}
.h_logo img {
  transition: opacity 0.2s ease;
  opacity: 1;
}
.h_logo img.is-fadeout {
  opacity: 0;
}

.headerNavi .headerNavi-inner .nav-list {
    display: flex;
    align-items: center;
    gap: 25px;
    font-size: 18px;
}
.headerNavi .headerNavi-inner .nav-list > li {position: relative; padding: 1em 1.5em 1em 0;}
.headerNavi .headerNavi-inner .nav-list > li::after{
    content: "";
    width: 10px;
    height: 10px;
    border-top: solid 2px #ff5083;
    border-right: solid 2px #ff5083;
    position: absolute;
    right: 0.3em;
    top: 40%;
    transform: rotate(135deg) translateX(-50%);
}
.headerNavi .headerNavi-inner .nav-list li ul {display: none;}
.headerNavi .headerNavi-inner .nav-list li:hover ul {
    display: block;
    position: absolute;
    top: 3.2em;
    left: 50%;
    transform: translateX(-50%);
    background-color: #ff5083;
    z-index: 1;
    padding: 1em 1.5em 3em;
    width: 14em;
    border-radius: 0 0 100px 100px;
}
.headerNavi .headerNavi-inner .nav-list li ul li{
    margin-bottom: 1em;
    position: relative;
}
.headerNavi .headerNavi-inner .nav-list li ul li::after {
    content: "";
    width: 10px;
    height: 10px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    right: 0;
    top: 50%;
    transform: rotate(45deg) translateY(-50%);
}
.headerNavi .headerNavi-inner .nav-list li ul li a {
    color: #fff;
    display: block;
}

.headerNavi .headerNavi-inner .gnav {
    display: flex;
    align-items: center;
    margin: 0;
    gap: 20px;
}
.headerNavi .headerNavi-inner .gnav li a {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.headerNavi .headerNavi-inner .gnav li a img {max-height: 30px; height: 2.31vw; width: auto;}
.headerNavi .headerNavi-inner .gnav li:first-child a img {max-width: 210px; width: 16.15vw; height: auto; max-height: unset;}
.headerNavi .headerNavi-inner .gnav li a span {font-size: 14px;}

@media screen and (min-width: 750px) and (max-width: 1299px) {
    .headerNavi .headerNavi-inner {padding: 5px 3.85vw;}
    .headerNavi .headerNavi-inner .h_logo {left: 3.85vw;}
    .headerNavi .headerNavi-inner .nav-list {font-size: min(1.54vw, 20px); gap: 1.5em;}
    .headerNavi .headerNavi-inner .nav-list > li::after {width: 0.5em; height: 0.5em;}
    .headerNavi .headerNavi-inner .gnav li a span {font-size: 10px;}
    .headerNavi .headerNavi-inner .nav-list li:hover ul {border-radius: 0 0 85px 85px;}
    .headerNavi .headerNavi-inner .nav-list li ul li::after {width: 0.5em; height: 0.5em;}


}



@media screen and (min-width: 1280px) {
    .gnav-pc .__menu {
        max-width: unset;
    }
}
@media screen and (max-width: 749px) {
    .header .gnav-pc {display: block !important;}
    .headerNavi .headerNavi-inner {
        padding: 1.6vw 3.33vw;
        gap: 3.47vw;
    }
    .headerNavi .headerNavi-inner .h_logo {
        top: 50%;
        left: 3.33vw;
        transform: translateY(-50%);
        width: 27.73vw;
        max-width: 208px;
    }
    .headerNavi .headerNavi-inner .nav-list {display: none;}
    .headerNavi .headerNavi-inner .gnav {gap: 3.47vw;}
    .headerNavi .headerNavi-inner .gnav li a img {height: 6.4vw;}
    .headerNavi .headerNavi-inner .gnav li a span {font-size: min(3.2vw, 24px);}
    .headerNavi .headerNavi-inner .hamburger {
        width: 13.33vw;
        height: 13.33vw;
        max-width: 100px;
        max-height: 100px;
        background-color: #ff5083;
        border-radius: 50%;
        position: relative;
    }
    .headerNavi .headerNavi-inner .hamburger span {
        width: 70%;
        height: 2px;
        background-color: #fff;
        display: block;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }
    .headerNavi .headerNavi-inner .hamburger span:nth-of-type(1) {
        top: 35%;
    }
    .headerNavi .headerNavi-inner .hamburger span:nth-of-type(2) {
        top: 50%;
    }
    .headerNavi .headerNavi-inner .hamburger span:nth-of-type(3) {
        top: 65%;
    }
    .headerNavi .headerNavi-inner .hamburger.is-active span:nth-of-type(1) {
        transform: rotate(-45deg) translateX(-70%);
        top: 15%;
    }
    .headerNavi .headerNavi-inner .hamburger.is-active span:nth-of-type(2) {
        opacity: 0;
    }
    .headerNavi .headerNavi-inner .hamburger.is-active span:nth-of-type(3) {
        transform: rotate(45deg) translateX(-70%);
        top: 85%;
    }

    .headerMain.menu-open {
        background-color: #ff5083;
    }
    .headerMain.menu-open .gnav {display: none;}

/* スクロールロックしたいとき */
body.active { overflow: hidden; }

/* ドロップダウンなら position を調整 */
.nav-menu { 
    position: absolute; 
    top: 100%; 
    right: 0;
    width: 100%;
    height: 100vh;
    background-color: #ff5083;
    padding: 8vw 3.2vw;
}
.nav-menu .nav-list {
    color: #fff;
    font-size: min(5.33vw, 40px);
    padding: 0 8vw 2em;
    border-bottom: solid 1px;
}
.nav-menu .nav-list > li {margin-bottom: 1em;}
.nav-menu .nav-list li ul {
    padding-left: 2em;
}
.nav-menu .nav-list li ul li {position: relative;}
.nav-menu .nav-list li ul li::after {
    content: "";
    width: 0.5em;
    height: 0.5em;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    right: 0;
    top: 50%;
    transform: rotate(45deg) translateY(-50%);
}
.nav-menu .nav-list li ul li a {
    display: block;
    margin-top: 0.2em;
}
.nav-menu .btn_member {
    font-size: min(5.33vw, 40px);
    margin: 2em auto 0;
    width: 80%;
}



    
}
/*----------------------------------------------------------------
side
----------------------------------------------------------------*/


/*----------------------------------------------------------------
footer
----------------------------------------------------------------*/
#footerMain {
	background: #c2a6c8;
}
#footerMain .footer_inner{
    max-width: 1000px;
    width: 96%; 
    margin: auto;
    padding: 50px 0 35px;
    display: flex;
}
#footerMain .footer_inner .f_left,
#footerMain .footer_inner .f_right {width: 50%;}
#footerMain .footer_inner .f_left a {
    display: block;
    width: 200px;
}
#footerMain .footer_inner .f_left a img {
    width: 100%;
}
#footerMain .footer_inner .insta {
    display: flex;
    align-items: center;
    gap: 1em;
}
#footerMain .footer_inner .insta p.icon {width: 39px;}


#footerMain .footer_inner #footerNav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    max-width: 450px;
}
#footerMain #footerNav ul li {
    position: relative;
    margin: 10px 0;
    padding: 0 1em;
    font-size: 14px;
    line-height: 1;
}
#footerMain #footerNav ul li::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 1em;
    background: #000;
}
#footerMain #footerNav ul li:nth-of-type(2)::after,
#footerMain #footerNav ul li:nth-of-type(5)::after{
    content: none;
}
#footerMain #footerNav ul li a {
    color: #000;
}
#footerMain .__copyright {
    background-color: #fff;
    max-width: unset;
    width: 100%;
}

@media screen and (max-width: 749px) {
    #footerMain .footer_inner {flex-direction: column; width: 80%; max-width: 600px; padding: 14.13vw 0 10.93vw; gap: 10.13vw;}
    #footerMain .footer_inner .f_left, #footerMain .footer_inner .f_right {width: 100%;}
    #footerMain .footer_inner .f_left a { width: 58.3%; max-width: 350px; margin: auto;}
    #footerMain .footer_inner .insta p {font-size: min(4vw, 30px); margin: 0 0 1em;}
    #footerMain .footer_inner .insta p.icon {width: 12.8vw; max-width: 96px;}
    #footerMain #footerNav ul li {font-size: min(3.73vw, 28px);}
    #footerMain #footerNav ul li.__item-3{padding-right: 5em;}
    #footerMain #footerNav ul li.__item-3::after {display: none;}

    .footer .__copyright{font-size: min(3.2vw, 24px); padding: 1em 0 3em;}

}