@charset "UTF-8";

/* common */
@media screen and (max-width:768px){
    .px-6{
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .text-4xl {
        font-size: 2rem !important;
    }
    /*768px以下　button統一*/
    .hero-content a,
    .relative a{
        padding-left: 1rem;
        padding-right: 1rem;
        width: 100%;
    }
}

/*---  header-  ---*/
#header .btn-icon {
    display: none;
}
@media screen and (max-width:768px){
    #header .flex{
        align-items: center;
    }
    #header img{
        width: 1.6rem;
        header: 100%;
    }
    #header h1{
        padding: 0 0 0 16px;
        font-size: 1.4rem;
    }
    #header .header_link {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }
    #header .btn-text {
        display: none;
    }
    #header .btn-icon {
        display: block;
        width: 100%;
        height: 100%;
    }
}

/*---  hero-content  ---*/
#hero{
    height: calc(100vh - 144px);
}

@media screen and (max-width:768px){
    .hero-bg{
        height: 80vh;
    }
    .hero-content br{
        display: none;
    }
}

/*---  difficulty  ---*/
.difficulty_card{
    width: 90%;
    margin: 0 auto;
}

.difficulty img {
    border-radius: 8px;
}

@media screen and (max-width:1024px) {
    .difficulty_card {
        width: 100%;
        padding: 16px;
    }
}

@media screen and (max-width:768px) {
    .difficulty_grid {
        display: block;
    }

    .difficulty_card {
        display: flex;
        width: 100%;
        padding: 0 !important;
        max-width: 700px;
        margin: 0px auto 24px;
        box-shadow: none !important;
    }

    .difficulty_img{
        max-width: 170px;
        margin: 0 16px 0 0;
    }

    .difficulty_title{
        margin-bottom: 2rem;
    }
}

/*---  step  ---*/
#step h3 br{
    display: none;
}

#step h4{
    min-height: 62px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#step .step_content {
    margin: 0 auto;
}

.step_card{
    margin: 0 auto;
    width: 78%;
}

.step_card_img img{
    margin: 0 auto;
    width: 85%;
}

@media screen and (max-width:1024px) {
    .step_card_img {
        box-shadow: none;
    }
    .step_card_img img {
        margin: 0 auto;
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    #step h3 br{
        display: block;
    }
    .step_content{
        gap: 6rem;
    }
    .step_card{
        width: 100%;
        box-shadow: none;
    }
    .step_card_img {
        box-shadow: none;
        min-width: 250px;
        margin: 0 auto 24px;
    }
    #step p{
        text-align: left;
    }
}

/*---   feature   ---*/
.feature-item {
    width: 60%;
}

.feature-card {
    margin: 0 0 24px;
}

.feature-card-content {
    display: flex;
    align-items: center;
}

.features_info {
    width: 40%;
}

.feature-icon{
    min-width: 80px;
}

.feature-about{
    width: calc(100% - 100px);
}

@media screen and (max-width:768px){
    .features_info,
    .feature-item{
        width: 100%;
    }
    .feature-card-content{
        padding: 1rem!important;
    }
    .feature-icon {
        width: 10%;
        min-width: 48px;
    }
    .feature-about {
        width: auto;
    }
}

/*---   recommend   ---*/
#recommend .grid{
    width: 80%;
    margin: 0 auto;
}

.recommend_card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.5rem !important;
}

@media screen and (max-width:768px){
    #recommend .grid {
        width: 100%;
        gap: 2rem;
    }
    .recommend_card {
        padding: 24px;
    }
}

/*---   Q&A   ---*/
@media screen and (max-width:768px){
    section#qa {
        padding: 0;
    }

    #qa .container{
        background: none;
        box-shadow: none;
    }
}

/*---   relative   ---*/
.relative h3 br{
    display: none;
}
@media screen and (max-width:768px){
    .relative h3 br{
        display: block;
    }
}

/*---   waiting   ---*/
#waiting-list {
    position: relative;
}

#waiting-list:before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, rgb(255 255 255 / 89%), #190e0e2b 70%);
    pointer-events: none;
}

#waiting{
    background: linear-gradient(109deg, #bc70cb, #61a4c4);
    padding-right: 24px;
    padding-left: 24px;
}

.waiting_warp {
    max-width: 1060px;
    margin: 0 auto;
    padding: 40px !important;
}

.waiting_header {
    margin: 0 0 40px;
}

#waiting .waiting_header>p {
    margin: 0 0 24px 0;
}

.waiting_main_area {
    display: flex;
    justify-content: space-between;
    margin: 0 0 40px;
    padding: 0 0 40px;
    border-bottom: 1px solid #5f5472;
}

.waiting_mail {
    width: 48%;
    padding: 40px;
    background: var(--color-background);
}

.waiting_text {
    text-align: left;
    max-width: 48%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.waiting_text p {
    margin: 0 0 24px;
}

.waiting_bottom li {
    list-style: disc;
    margin-left: 16px;
}

.waiting_bottom a {
    font-weight: 700;
    color: var(--color-text-primary);
    text-decoration: underline;
}

@media screen and (max-width: 1024px) {
    #waiting {
        padding: 80px 40px;
    }

    .waiting_warp {
        max-width: 768px;
    }

    .waiting_mail {
        padding: 26px 24px 40px;
    }
}

@media screen and (max-width:768px){
    #waiting {
        padding: 40px 16px;
    }

    #waiting .waiting_header>p {
        margin: 0 0 8px;
    }

    .waiting_warp {
        padding: 40px 16px !important;
    }

    .waiting_main_area {
        flex-direction: column-reverse;
        margin: 0 0 24px;
        padding: 0 0 16px;
        border-bottom: none;
    }

    #waiting .waiting_mail {
        width: 100%;
        padding: 16px 16px 40px;
    }

    .waiting_text{
        max-width: 100%;
    }
}

/*---   company / footer   ---*/
#company .company_wrap {
    width: 50%;
    padding: 0 24px 0 0;
    border-right: 1px solid #303337;
}

.contact_wrap {
    width: auto;
    margin: 0 auto;
    padding: 0 24px;
}

.contact_wrap a {
    border: 2px solid rgb(75 85 99/var(--tw-border-opacity,1));
    border-radius: 25px;
    width: 100%;
    display: flex;
    justify-content: center;
    height: 52px;
    align-items: center;
}

footer{
    display: flex;
    padding: 0 40px;
    justify-content: space-between;
}

.info-item{
    margin: 0 0 16px;
}

.info-title {
    margin: 0 24px 0 0;
    min-width: 48px;
}

.footer_menu {
    padding: 24px 40px 0;
    margin: 24px 0 0;
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #303337;
}

/*---   contact   ---*/

@media screen and (max-width:1024px){
    .company_wrap {
        width: 53%;
        padding: 0;
    }
    .contact_wrap {
        width: 47%;
    }
    .company_copy p {
        text-align: right;
    }
}

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

    footer{
        flex-direction: column-reverse;
        padding: 0 16px;
    }

    footer.container {
        text-align: left;
    }

    .company_wrap {
        width: 100%;
        padding: 0 24px 0 0;
        border-right: none;
    }

    .contact_wrap {
        width: 100%;
        margin: 0 auto 80px;
        padding: 0;
    }

    #company .company_wrap{
        width: 100%;
        padding: 0;
        border-right:none;
    }

    .info-item {
        display: block;
    }

    .info-title {
        margin: 0 0 4px 0;
    }

    #contact a{
        width: 100%;
    }

    .footer_menu {
        padding: 24px 16px 0;
        display: block;
    }

    .footer_menu_list{
        text-align: left;
    }

    .footer_menu_list_item{
        margin: 0 0 24px;
    }

    .company_copy {
        width: 100%;
    }

    .company_copy p {
        text-align: center;
    }

}



/*---------------------------

privacy

---------------------------*/

#privacy .privacy_header{
    max-width: 948px;
    margin: 0 auto 56px;
    padding: 0 24px;
}

#privacy h3{
    margin: 0 0 40px;
}
.privacy_header_text{
    max-width: 900px;
        margin: 0 auto 56px;
}

.privacy_header_text_main {
    font-weight: lighter;
    font-size: 0.9rem;
}

.privacy_header_text_main img {
    display: inline;
}

.privacy_warp {
    max-width: 900px;
}

.privacy_warp h4{
    margin:0 0 8px;
}

.privacy_warp_list_about {
    margin: 0 0 24px;
}

.privacy_warp_list_wrap {
    margin: 0 0 0 24px;
}

.privacy_warp li {
    margin: 0 0 40px;
}

ul.privacy_warp_list {
    margin: 0 0 24px 24px;
}

ul.privacy_warp_list li {
    list-style: disc;
    margin: 0 0 24px 24px;
}

.privacy_warp .last{
    margin: 0;
}

@media (max-width: 900px) {
    .privacy_warp {
        padding: 0 24px;
        box-shadow: none;
    }
}

@media screen and (max-width:768px){
    #privacy .privacy_header {
        padding: 0 16px;
    }
    #privacy .privacy_warp {
        padding: 0 16px;
    }
    .privacy_warp_list_wrap {
        margin: 0 0 0 16px;
    }
    ul.privacy_warp_list li {
        margin: 0 0 16px 16px;
    }
}