@charset "UTF-8";

*{
    color: #0C2C3F;
    font-family: "メイリオ","ヒラギノ角ゴシック",sans-serif;
}
html{
    font-size: 62.5%;
}

/* font */
.english_font_title{
    font-family: "Bungee Hairline", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(2rem ,calc(1.25vw + 2rem) ,4.8rem);
    margin: 10px;
}
.bold{
    font-weight: bold;
}
.symbol{
    color: #5F7583;
    font-weight: lighter;
}
.header_title{
    color: #FFFFFF;
    background-color: rgba(12, 44, 63, 0.5);
    position: absolute;
    z-index: 10;
    margin: 0;
    padding: auto 5%;
}
.copywrite{
    font-size: x-small;
    text-align: center;
    margin: 0;
}

/* title */
h1, h2, h3, h4, h5{
    text-align: center;
}
.subtitle{
    bottom: 25%;
}
.catchcopy{
    top: 10%;
    text-align: left;
}
.page_title{
    width: max-content;
    height: auto;
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    padding: 2% 3%;
}


/* list */
.header_a{
    text-decoration: none;
    font-size: 1.5rem;
}
ul{
    list-style: none;
}
a{
    text-decoration: none;
}

/* image */
.logo{
    width: clamp(5rem ,calc(1.25vw + 5rem) ,13rem);
    height: auto;
    object-fit: contain;
}
.top_image{
    width: 100%;
    height: auto;
    position: relative;
    z-index: 0;
}
.left_shift{
    left: -10rem;
}
.border_image{
    width: 100%;
    height: auto;
    margin-top: 5%;
}
.page_image{
    width: 100%;
    height: 40rem;
    position: relative;
    object-fit: cover;
    object-fit: bottom;
    z-index: 0;
}

/* main */
.back_color{
    background-color: #E9FAFF;
}
aside{
    text-align: center;
}

/* margin */
.top_margin{
    margin-top: 5%;
}
.top_large_margin{
    margin-top: 15%;
}
.top_padding{
    padding-top: 3rem;
}
.bottom_padding{
    padding-bottom: 10%;
}


/*PCデザイン*/
@media screen and (min-width:845px){
    .PC_none{
        display: none;
    }

    /* header */
    .header_line{
        display: flex;
    }
    .header_nav{
        margin: auto 0 auto auto;
    }
    .header_ul{
        display: flex;
    }
    .header_li{
        justify-content: flex-end;
        align-items: center;
        margin-right: 5rem;
    }

    /* main */
    .flex_item{
        display: flex;
    }
    .flex_reverse{
        display: flex;
        flex-direction: row-reverse;
    }
    .top_title{
        top: 45%;
        left: 10%;
        position: absolute;
    }

    /* footer */
    .footer_flex{
        display: flex;
    }
    .footer_p{
        width: 50%;
        height: auto;
        margin: auto;
    }
    nav:has(.footer_ul){
        width: 50%;
        height: auto;
        margin: 0 0 0 auto;
    }
    .footer_ul{
        display: flex;
        flex-wrap: wrap;
        margin: 0;
    }
    .footer_li{
        margin-left: 5rem;
    }
}
/*スマホデザイン*/
@media screen and (max-width:844px){
    .phone_none{
        display: none;
    }

    /* header */
    .header_line{
        display: flex;
    }
    .hamburger{
        right: 10px;
        width: 40px;
        height: 50px;
        position: absolute;
        z-index: 30;
    }
    .display_switch{
        visibility: hidden;
    }
    .header_nav{
        top: 0;
        right: 0;
        width: 70%;
        height: 100%;
        position: fixed;
        background-color: rgba(233, 250, 255, 0.8);
        z-index: 20;
        translate: 100vw;
    }
    .header_ul{
        list-style: none;
        width: 10rem;
        height: 30rem;
        margin: 5rem auto;
    }
    .header_li{
        width: 10rem;
        height: 2rem;
        margin-bottom: 5rem;
    }

    /* image */
    .page_image{
        height: 20rem;
    }

    /* main */
    .flex_item{
        width: 50%;
        height: auto;
        margin: auto;
    }
    .flex_reverse{
        width: 50%;
        height: auto;
        margin: auto;
    }
    .top_title{
        top: 5%;
        left: 0;
        right: 0;
        width: 70%;
        height: 5rem;
        position: absolute;
        text-align: center;
        margin: 0 auto;
    }

    /* footer */
    .footer_flex{
        width: 100%;
        height: auto;
        text-align: center;
    }

    /* margin */
    .top_margin_phone{
        margin-top: 5%;
    }
}

/* font  media query */
/* PC */
@media screen and (min-width:960px){
    .header_title{
    font-size: clamp(4rem ,calc(2vw + 4rem) ,10rem);
    }
    .subtitle{
        font-size: clamp(2.5rem ,calc(0.5vw + 2.5rem) ,6.4rem);
    }
    p, li{
        font-size: 2rem;
    }
    h1, h2, h3, h4, h5, button{
        font-size: clamp(1.5rem ,calc(1.25vw + 1.5rem) ,4.8rem);
    }
    .ability_title, label, input, textarea{
        font-size: 2.4rem;
    }

}
/* タブレット */
@media screen and (min-width:431px) and (max-width:959px){
    .header_title{
    font-size: clamp(2rem ,calc(3vw + 2rem) ,5rem);
    }
    .subtitle{
        font-size: clamp(1rem ,calc(1.25vw + 1rem) ,2.5rem);
    }
    p, li, label{
        font-size: clamp(1rem ,calc(0.25vw + 1rem) ,2rem);
    }
    h1, h2, h3, h4, h5, button{
        font-size: clamp(1.5rem ,calc(1.25vw + 1.5rem) ,4.8rem);
    }
    .ability_title, label, input, textarea{
        font-size: clamp(1.2rem ,calc(0.5vw + 1.2rem) ,2.4rem);
    }
}
/* スマホ */
@media screen and (max-width:430px){
    .header_title{
        font-size: 2rem;
    }
    .subtitle{
        font-size: 1rem;
    }
    p, li, label{
        font-size: 1rem;
    }
    h1, h2, h3, h4, h5, button{
        font-size: 1.5rem;
    }
    .ability_title, label, input, textarea{
        font-size: 1.2rem;
    }
}
