/*
Theme Name: MyTheme
Theme URI: 
Author: Your Name
Author URI: 
Description: これはオリジナルのWordPressテーマです
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
@charset "utf-8";
/* A Modern CSS Reset */

*,*::before,*::after{
    box-sizing:border-box
}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{
    margin:0
}
ul[role="list"],ol[role="list"]{
    list-style:none
}
html:focus-within{
    scroll-behavior:smooth
}
body{
    min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5
}
a:not([class]){
    text-decoration-skip-ink:auto
}
img,picture{
    max-width:100%;display:block
}
input,button,textarea,select{
    font:inherit
}
@media(prefers-reduced-motion:reduce){
    html:focus-within{
        scroll-behavior:auto
    }
    /* *,*::before,*::after{
        animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important
    } */
}
table{
    border-collapse:collapse
}

/* グローバル変数の定義（色の変数など） */
:root {
    --white: #fff;
    --black: #300D15;
    --base_pink: #FEBBCF;
    --light_pink: #FFEAEE;
    --pink: #FA9DB9;
    --dark_pink: #DF507B;
    --menu_bgc_pink: #F5819E;
    --light_gray: #969696;
    --main-font: "Noto Sans JP", sans-serif;
    --english-font: "Montserrat", sans-serif;
    --roboto: "Roboto", sans-serif;
    --mincho: "Zen Old Mincho", serif;
}
*{
    margin: 0;
    padding: 0;
}
html { 
    font-size: 62.5%; 
}
body { 
    font-size: 1.6rem; /*font-size : 16px と同等*/
    font-family: var(--main-font);
    font-optical-sizing: auto;
    font-style: normal;
    color: var(--black);
    /* position: relative; */
    letter-spacing: 0.06em;
} 
h1{
    display: none; /* 固定ページでのタイトルを非表示 */
}
h2{
    font-size: 3.6rem;
    letter-spacing: 0.08em;
    font-weight: 400;
}
h3{
    font-size: 3rem;
    letter-spacing: 0.08em;
    font-weight: 400;
}
li{
    list-style: none;
}
a{
    text-decoration: none;
    color: var(--black);
}
.en_font{
    font-family: var(--english-font);
}
.jp_font{
    font-family: var(--english-font);
}
.bg_white{
    background-color: var(--white);
}
.bg_base_pink{
    background-color: var(--base_pink);
}
.bg_light_pink{
    background-color: var(--light_pink);
}
.pb_0{
    padding-bottom: 0;
}
.link_btn{
    display: inline-block;
}
.sp_header{
    display: none;
}
.flex_box{
    display: flex;
    align-items: center;
}
.pc_only{
    display: block;
}
.sp_only{
    display: none;
}
.mincho{
    font-family: var(--mincho);
}


/* --------------------------------
    header
-------------------------------- */
.header{
    max-width: 246px;
    width: 100%;
    height: auto;
    background-color: rgba(255,255,255,0);
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100;
    justify-content: space-around;
    padding: 10px 0 0;
}
/* ヘッダーメニュー */
.sns_link{
    max-width: 154px;
    width: 100%;
    justify-content: space-between;
}
.sns_icon img{
    max-width: 40px;
    width: 100%;
}

/* ハンバーガーボタン */
.hamburger_btn{
    background-color: var(--white);
    width: 72px;
    height: 72px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    z-index: 999999999;
    border-radius: 50%;
}
.hamburger_btn::after{
    position: absolute;
    content: 'MENU';
    left: 48%;
    bottom: 20px;
    transform: translateX(-50%);
    display: block;
    width: 3em;
    height: 1em;
    font-size: 1rem;
    font-family: var(--english-font);
    font-weight: bold;
    color: var(--dark_pink);
}
.hamburger_btn.open::after{
    content: 'CLOSE';
}
.hamburger_btn .line{
    background-color: var(--dark_pink);
    width: 28px;
    height: 2px;
    margin: 4px 0;
    transition: transform 0.3s, opacity 0.3s;
}
.hamburger_btn .line:nth-child(1){
    position: absolute;
    top: 18px;
    top: 22px;
    left: 50%;
    transform: translateX(-50%);
}
.hamburger_btn .line:nth-child(2){
    position: absolute;
    top: 28px;
    left: 50%;
    transform: translateX(-50%);
}
.hamburger_btn.open .line:nth-child(1) {
    transform: rotate(25deg) translate(-10.5px, 10.5px);
    transform: rotate(25deg) translate(-10.5px, 9.5px);
    background-color: var(--dark_pink);
}
.hamburger_btn.open .line:nth-child(2) {
    transform: rotate(-25deg) translate(-10px, -10px);
    transform: rotate(-25deg) translate(-10.5px, -7px);
    background-color: var(--dark_pink);
}
.hamburger_menu{
    /* position: fixed; */
    top: 0;
    right: 0;
    z-index: 999999;
    width: 62px;
    height: 62px;
    background-color: var(--white);
}
.hamburger_menu{
    visibility: hidden;
    transition: .7s ease;
    position: fixed;
    top: 0;
    right: -100%;
    background-color: var(--dark_pink);
    /* background-image: url(../img/menu_back.png); */
    background-repeat: no-repeat;
    background-position: top;
    background-size: contain;
    /* width: 440px; */
    max-width: 440px;
    width: 100%;
    /* height: 642px; */
    height: 100vh;
}
.hamburger_menu.open{
    visibility: visible;
    z-index: 999;
    top: 0;
    right: 0;
}
.hamburger_nav{
    position: relative;
    width: 100%;
    height: 100%;
}
.hamburger_nav ul{
    flex-direction: column;
    align-items: flex-start;
    position: absolute;
    /* right: 25%; */
    top: 10%;
    padding: 0 0 0 48px;
}
.hamburger_nav li{
    font-size: 2.3rem;
    line-height: 2;
    color: var(--white);
}
.hamburger_nav li a{
    color: var(--white);
    flex-direction: column;
    align-items: flex-start;
}
.hamburger_nav li span{
    font-family: var(--english-font);
    color: var(--base_pink);
    font-size: 1.6rem;
}
.hamburger_nav .sns_link{
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
}


/* --------------------------------
    footer
-------------------------------- */
.footer{
    width: 100%;
    height: auto;
    margin: 0 auto 0;
    padding: 60px 0 44px;
}
.footer_access{
    max-width: 800px;
    width: 100%;
    flex-direction: column;
    margin: 0 auto 1em;
}
.footer_access .flex_box{
    width: 100%;
    justify-content: space-around;
    margin: 0 auto 1em;
}
.footer_logo{
    max-width: 195px;
    width: 100%;
    padding: 0 0 42px;
}
.footer_contents{
    flex-direction: column;
    justify-content: center;
}
.footer_text{
    flex-direction: column;
    justify-content: center;
}
.copyright{
    padding: 14px 0 0;
    color: var(--light_gray);
}
.policy_link{
    border-bottom: 1px solid var(--black);
    line-height: 1.2;
}


/* 404ページ */
.error{
    margin: 120px auto;
    max-width: 1000px;
    padding: 0 1em;
}
.error .page_ttl{
    font-size: 4rem;
    padding: 0 0 1em;
}
.error a{
    border-bottom: 1px solid var(--black);
}


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

@media screen and (max-width: 768px) {
    .header {
        justify-content: end;
    }
    .header_sns_link{
        display: none;
    }
    .hamburger_btn {
        margin: 0 20px 0 0;
    }
    .hamburger_menu{
        max-width: 100%;
    }

    .footer_access .flex_box{
        flex-direction: column;
    }
    .footer_access .flex_box p{
        text-align: center;

    }
    .footer_access .flex_box p:nth-child(2) {
        padding: 1em 0 0;
    }
    .copyright {
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 440px) {
    
}

@media screen and (max-width: 390px) {
    
}