@charset "UTF-8";

html,body{
    height: 100%;
}

body{
    font-family: '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'Helvetica Neue','Hiragino Kaku Gothic ProN', sans-serif;
}

a[href^="tel:"]{
    color: inherit;
    pointer-events: none;
}

/* 非活性対応 */
.commingsoon{
    background-color: #d3d3d4 !important;
    color: #000 !important;
    pointer-events: none;
}
.section_title_btn.commingsoon::after,
.more_btn_text.commingsoon::after,
.company_btn_text_en.commingsoon::after{
    background-image: url('../images/common/btn_black_arrow.svg') !important;
}

.more_btn,
.header_menu_link,
.header_outside_link,
.location_title,
.footer_menu_link,
.footer_title,
.footer_service_btn_text_en,
.footer_bottom_wrap,
.pagetitle_en{
    font-family: 'Oswald', sans-serif;
}

.header_outside_link::after,
.footer_service_btn_text_ja::after{
    content: url('../images/common/blank_white_icon.svg');
    display: inline-block;
    margin-left: 5px;
    width: 13px;
    height: 13px;
}

/* 共通パーツ */
.more_btn{
    background-color: #f05050;
    border-radius: 1000px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 210px;
    height: 40px;
}
.more_btn_text{
    color: #fff;
    display: flex;
    align-items: center;
    font-size: 16px;
    font-weight: 400;
}
.more_btn_text::after{
    content: "";
    background-image: url("../images/common/btn_white_arrow.svg");
    background-size: cover;
    display: block;
    margin-left: 15px;
    width: 7px;
    height: 15.75px;
}

/* header */
.header_container{
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 65px;
    z-index: 10;
}

.header_wrap{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-left: auto;
    width: 95%;
    height: 100%;
}

.header_logo{
    display: block;
    width: 300px;
}

.header_logo_img{
    display: block;
    width: 100%;
    height: auto;
}
.header_logo_img:nth-child(2){
    display: none;
}

.header_contact_link{
    display: none;
}

.header_menu_inner{
    height: 100%;
}

.header_menu{
    display: flex;
    align-items: center;
    height: 100%;
}

.header_menu_list{
    display: flex;
    align-items: center;
    width: 110px;
    height: 100%;
}
.header_menu_list:last-child{
    border: none;
    background-color: #f05050;
    width: 120px;
}

.header_menu_link{
    border-left: 1px dotted #c8c8c8;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-size: 16px;
    font-weight: 400;
    width: 100%;
    height: 45px;
}
.header_menu_list:last-child .header_menu_link{
    border-left: none;
    color: #fff;
}

.header_menu_link_ja{
    display: block;
    font-size: 10px;
    margin-top: 5px;
}

.header_sns_list{
    display: none;
}

.header_outside_menu{
    cursor: pointer;
    position: fixed;
    top: 100px;
    right: 0%;
}

.header_outside{
    background-color: #f05050;
    border-bottom-left-radius: 25px;
    border-top-left-radius: 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 15px;
    padding-right: 15px;
    width: 155px;
    height: 50px;
}
.header_outside:nth-child(n+2){
    margin-top: 10px;
}

/* 非活性対応 */
/* 24.09.03_P */
/* .header_outside:nth-child(2){
    filter: grayscale(1) contrast(.5);
    pointer-events: none;
} */

.header_outside_icon{
    display: block;
    width: 23px;
    height: auto;
}

.header_outside_link{
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    width: 96px;
}


/* footer */
.footer_container{
    background-color: #f05050;
    mix-blend-mode: multiply;
    position: relative;
}
.footer_container::before,
.footer_container::after{
    content: "";
    display: block;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.footer_container::before{
    background-color: #969696;
    opacity: .8;
}
.footer_container::after{
    background-image: url('../images/common/footer_bg.jpg');
    background-size: cover;
    z-index: 1;
}

.footer_grad_cover,
.footer_grad_cover::before{
    background: linear-gradient(to bottom right, rgba(240, 80, 80, 0.5), rgba(255, 255, 150, 0.5));
    background: -moz-linear-gradient(to bottom right, rgba(240, 80, 80, 0.5), rgba(255, 255, 150, 0.5));
    background-size: 200% 200%;
    background-position: 0 0;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;

    animation-name: gradation;
    animation-duration: 5.0s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-timing-function: ease-in-out;
}

.footer_logo_wrap{
    background-color: #f05050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 30px;
    padding-bottom: 30px;
    position: relative;
}

.footer_logo{
    display: block;
    width: 470px;
    height: auto;
    z-index: 3;
}

.footer_top_wrap{
    display: flex;
    margin-left: auto;
    margin-right: auto;
    padding-top: 50px;
    padding-bottom: 140px;
    width: 90%;
    max-width: 1200px;
    position: relative;
    z-index: 3;
}

.footer_inner{
    width: 50%;
}

.footer_menu_list:nth-child(n+2){
    margin-top: 20px;
}

.footer_menu_link{
    color: #fff;
    display: flex;
    align-items: center;
    font-size: 20px;
    font-weight: 400;
    
}

.footer_menu_link_ja{
    font-size: 16px;
    
    margin-left: 20px;
}

.footer_title{
    color: #fff;
    display: flex;
    align-items: center;
    font-size: 20px;
    font-weight: 400;
    
}

.footer_title_ja{
    font-size: 16px;
    
    margin-left: 15px;
}

.footer_service_btn_list{
    margin-top: 25px;
}

.footer_service_btn{
    border: 1px solid #fff;
    border-radius: 1000px;
    display: flex;
    align-items: center;
    padding-left: 15px;
    padding-right: 15px;
    width: 375px;
    height: 35px;
}
.footer_service_btn:nth-child(n+2){
    margin-top: 15px;
}

/* 非活性対応 */
/* .footer_service_btn:nth-child(2){
    filter: contrast(.5);
    pointer-events: none;
} */

.footer_service_btn_en{
    
    border-right: 1px solid #fff;
    display: flex;
    align-items: center;
    width: 135px;
    height: 100%;
}

.footer_service_btn_text_en{
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    margin-left: 5px;
}

.footer_service_btn_icon{
    display: block;
    width: 23px;
    height: auto;
}

.footer_service_btn_text_ja{
    color: #fff;
    font-size: 16px;
    margin-left: 15px;
}

.footer_sns{
    margin-top: 35px;
}

.footer_sns_list{
    display: flex;
    align-items: center;
}

.footer_sns_link{
    display: block;
    margin-top: 15px;
    width: 35px;
}
.footer_sns_link:nth-child(n+2){
    margin-left: 7px;
}

.footer_sns_icon{
    display: block;
    width: 100%;
    height: auto;
}

.footer_bottom_wrap{
    padding-top: 30px;
    padding-bottom: 30px;
    text-align: center;
    position: relative;

}
.footer_bottom_wrap::before{
    content: "";
    background-color: #d3d3d4;
    display: block;
    mix-blend-mode: multiply;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 4;
}

.footer_copyright{
    color: #fff;
    font-size: 15px;
    
    position: relative;
    z-index: 4;
}

.pagetop_container{
    display: block;
    width: 50px;
    position: fixed;
    bottom: 100px;
    right: 5%;
    opacity: 0;
    visibility: hidden;
    transition: all .5s ease;
}
.pagetop_container.scroll{
    opacity: 1;
    visibility: visible;
}
.pagetop_container.sp{
    display: none;
}

.pagetop_icon{
    display: block;
    width: 100%;
    height: auto;
}

/* 下層ページ */
.pagetitle_container{
    margin-top: 65px;
    overflow: hidden;
    position: relative;
}

.pagetitle_bg_box{
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
}
.pagetitle_bg_box::before{
    content: '';
    background: linear-gradient(to bottom right, rgba(240, 80, 80, 0.7), rgba(255, 255, 150, 0.7));
    background: -moz-linear-gradient(to bottom right, rgba(240, 80, 80, 0.7), rgba(255, 255, 150, 0.7));
    background-size: 150% 150%;
    background-position: 0 0;
    display: block;
    mix-blend-mode: multiply;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;

    animation-name: gradation;
    animation-duration: 5.0s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-timing-function: ease-in-out;
}

@keyframes gradation{
    0%{
        background-position: 0% 0%;
    }
    100%{
        background-position: 100% 100%;
    }
}

.pagetitle_bg{
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.pagetitle_wrap{
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.pagetitle_en{
    color: #fff;
    font-size: 64px;
    font-weight: 400;
    letter-spacing: .36em;
    margin-left: .36em;
    text-align: center;
}

.pagetitle_ja{
    color: #fff;
    font-size: 36px;
    margin-top: 30px;
    text-align: center;
}

.pagetitle_sns_wrap{
    display: flex;
    align-items: center;
    position: absolute;
    bottom: 10%;
    right: 5%;
}

.pagetitle_sns_link{
    display: block;
    width: 35px;
}
.pagetitle_sns_link:nth-child(n+2){
    margin-left: 15px;
}

.pagetitle_sns_icon{
    display: block;
    width: 100%;
    height: auto;
}

br.pc{
    display: block;
}
br.tb{
    display: none;
}
br.sp{
    display: none;
}

















@media screen and (max-width: 1024px){
    .header_contact_link{
        font-family: 'Oswald', sans-serif;
    }

    /* 共通パーツ */
    .more_btn{
        width: 180px;
        height: 35px;
    }
    .more_btn_text{
        font-size: 14px;
    }
    .more_btn_text::after{
        width: 6px;
        height: 14px;
    }

    /* header */
    .header_container{
        background-color: transparent;
        height: 65px;
        top: 10px;
        transition: all .3s ease;
    }
    .header_container.scroll{
        background-color: #fff;
        top: 0;
    }

    .header_logo{
        width: 20%;
        height: 100%;
        position: relative;
        z-index: 1;
    }
    .header_container.scroll .header_logo{
        width: 30%;
        height: auto;
    }

    .header_logo_img{
        position: absolute;
        top: 0;
        left: 0;
        transition: all .3s ease;
    }
    .header_logo_img:nth-child(1){
        opacity: 0;
        visibility: hidden;
    }
    .header_container.scroll .header_logo_img:nth-child(1){
        position: static;
        opacity: 1;
        visibility: visible;
    }
    .header_logo_img:nth-child(2){
        display: block;
        margin-top: 15px;
    }
    .header_container.scroll .header_logo_img:nth-child(2){
        opacity: 0;
        visibility: hidden;
    }
    .header_logo_img:nth-child(2) .cls-1{
        fill:none;
    }
    .header_logo_img:nth-child(2) .cls-2{
        fill:#fff;
        transition: all .3s ease;
    }
    .header_container.menu .header_logo_img:nth-child(2) .cls-2{
        fill:#f05050;
    } 

    .header_contact_link{
        background-color: #f05050;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        margin-left: auto;
        margin-right: 10px;
        width: 140px;
        height: 100%;
        z-index: 1;
    }

    .header_hamburger{
        background-color: #f05050;
        width: 65px;
        height: 65px;
        position: relative;
        z-index: 1;
    }

    .header_hamburger_line{
        background-color: #fff;
        width: 35px;
        height: 3px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    .header_hamburger_line:nth-child(1),
    .header_hamburger_line:nth-child(3){
        transition: margin .3s .4s ease, transform .3s ease;
    }
    .header_hamburger_line:nth-child(1){
        margin-top: -12px;
    }
    .header_hamburger_line:nth-child(3){
        margin-top: 12px;
    }
    .header_hamburger_line:nth-child(2){
        transition: all .3s ease;
    }
    .header_container.menu .header_hamburger_line:nth-child(1),
    .header_container.menu .header_hamburger_line:nth-child(3){
        margin-top: 0;
        transition: margin .3s ease, transform .3s .4s ease;
    }
    .header_container.menu .header_hamburger_line:nth-child(1){
        transform: translate(-50%, -50%) rotate(45deg);
    }
    .header_container.menu .header_hamburger_line:nth-child(3){
        margin-top: 0;
        transform: translate(-50%, -50%) rotate(-45deg);
    }
    .header_container.menu .header_hamburger_line:nth-child(2){
        opacity: 0;
    }

    .header_menu_inner{
        background-color: #fff;
        padding-top: 170px;
        padding-left: 5%;
        padding-right: 5%;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;

        opacity: 0;
        visibility: hidden;
        transition: all .5s ease;
    }
    .header_container.menu .header_menu_inner{
        opacity: 1;
        visibility: visible;
    }

    .header_menu{
        display: flex;
        align-items: center;
        flex-direction: column;
        width: 100%;
        height: auto;
    }

    .header_menu_list{
        border-bottom: 1px solid #d3d3d4;
        display: block;
        padding-bottom: 10px;
        width: 100%;
        height: auto;
    }
    .header_menu_list:nth-child(n+2){
        margin-top: 25px;
    }
    .header_menu_list:last-child{
        display: none;
    }

    .header_menu_link{
        border-left: none;
        justify-content: flex-start;
        flex-direction: row;
        font-size: 25px;
        margin-left: auto;
        margin-right: auto;
        width: 90%;
        height: auto;
    }

    .header_menu_link_en{
        width: 135px;
    }

    .header_menu_link_ja{
        font-size: 16px;
        margin-left: 25px;
    }

    .header_sns_list{
        display: flex;
        align-items: center;
        margin-left: auto;
        margin-right: auto;
        width: 90%;
        margin-top: 35px;
    }

    .header_sns_link{
        width: 40px;
    }
    .header_sns_link:nth-child(n+2){
        margin-left: 20px;
    }

    .header_sns_icon{
        display: block;
        width: 100%;
        height: auto;
    }

    .header_outside_menu{
        background-color: #f05050;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-left: 5%;
        padding-right: 5%;
        height: 50px;
        top: auto;
        bottom: 0;
        left: 0;
        transition: all .3s ease;
    }
    .header_outside_menu.scroll{
        opacity: 0;
        visibility: hidden;
    }

    /* 25.01.20_P */
    /* .header_outside{
        background-color: transparent;
        border-right: 1px dotted #fff;
        border-bottom-left-radius: 0;
        border-top-left-radius: 0;
        justify-content: center;
        padding-left: 0;
        padding-right: 0;
        width: calc(100% / 3);
        height: 60%;
    } */

    .header_outside{
        background-color: transparent;
        border-right: 1px dotted #fff;
        border-bottom-left-radius: 0;
        border-top-left-radius: 0;
        justify-content: center;
        padding-left: 0;
        padding-right: 0;
        width: calc(100% / 2);
        height: 60%;
    }
    .header_outside:nth-child(1){
        border-left: 1px dotted #fff;
    }
    .header_outside:nth-child(n+2){
        margin-top: 0px;
    }

    .header_outside_icon{
        margin-right: 8px;
    }

    .header_outside_link{
        width: auto;
    }

    /* 下層ページ */
    .pagetitle_en{
        font-size: 48px;
    }

    .pagetitle_ja{
        color: #fff;
        font-size: 28px;
        margin-top: 20px;
    }


    br.pc{
        display: none;
    }
    br.tb{
        display: block;
    }
    br.sp{
        display: none;
    }
}





















@media screen and (max-width: 768px){
    /* footer */
    .footer_container::after{
        background-image: url('../images/common/footer_bg_sp.jpg');
    }

    .footer_logo{
        width: 63%;
    }

    .footer_top_wrap{
        flex-direction: column;
        padding-top: 40px;
        padding-bottom: 110px;
    }

    .footer_inner{
        width: 100%;
    }
    .footer_inner:nth-child(2){
        margin-top: 70px;
    }
}











@media screen and (max-width: 599px){
    /* 共通パーツ */
    .more_btn{
        width: 100%;
        height: 40px;
    }
    .more_btn_text{
        font-size: 17px;
    }
    .more_btn_text::after{
        margin-left: 65px;
        margin-right: -65px;
        width: 5px;
        height: 12px;
    }


    /* header */
    .header_container{
        height: 45px;
        top: 8px;
    }

    .header_logo{
        width: 30%;
    }
    .header_container.scroll .header_logo{
        width: 43%;
    }

    .header_logo_img:nth-child(2){
        margin-top: 10px;
    }

    .header_contact_link{
        font-size: 14px;
        margin-right: 5px;
        width: 90px;
    }

    .header_hamburger{
        width: 45px;
        height: 45px;
    }

    .header_hamburger_line{
        width: 22px;
        height: 1.5px;
    }
    .header_hamburger_line:nth-child(1){
        margin-top: -7px;
    }
    .header_hamburger_line:nth-child(3){
        margin-top: 7px;
    }

    .header_menu_inner{
        padding-top: 110px;
        padding-left: 7%;
        padding-right: 7%;
    }

    .header_outside_menu{
        height: 45px;
    }

    .header_outside{
        height: 47%;
    }

    .header_outside_icon{
        margin-right: 5px;
        width: 12%;
    }

    .header_outside_link{
        font-size: 10px;
        width: auto;
    }
    .header_outside_link::after{
        width: 8px;
        height: 8px;
    }


    /* footer */
    .footer_logo_wrap{
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .footer_top_wrap{
        padding-top: 20px;
        padding-bottom: 55px;
        width: 84%;
    }

    .footer_inner:nth-child(2){
        margin-top: 40px;
    }

    .footer_menu_list:nth-child(n+2){
        margin-top: 15px;
    }

    .footer_menu_link{
        font-size: 15px;
    }

    .footer_menu_link_ja{
        font-size: 11px;
        margin-left: 15px;
    }

    .footer_title{
        font-size: 15px;
    }

    .footer_title_ja{
        font-size: 11px;
        margin-left: 10px;
    }

    .footer_service_btn_list{
        margin-top: 13px;
    }

    .footer_service_btn{
        width: 100%;
        height: 30px;
    }

    .footer_service_btn_en{
        width: 45%;
        min-width: 45%;
    }

    .footer_service_btn_icon{
        width: 13%;
    }

    .footer_service_btn_text_en{
        font-size: 15px;
    }

    .footer_service_btn_text_ja{
        width: 55%;
    }

    .footer_service_btn_text_ja{
        font-size: 12px;
    }

    .header_outside_link::after, .footer_service_btn_text_ja::after{
        width: 10px;
        height: 10px;
    }

    .footer_sns_link{
        width: 30px;
    }

    .footer_bottom_wrap{
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .footer_copyright{
        font-size: 10px;
    }

    .pagetop_container.pc{
        display: none;
    }
    .pagetop_container.sp{
        display: block;
        margin: 20px 7% 20px auto;
        mix-blend-mode: normal;
        width: 40px;
        position: static;
    }


    /* 下層ページ */
    .pagetitle_container{
        margin-top: 45px;
    }

    .pagetitle_en{
        font-size: 32px;
        letter-spacing: .2em;
        margin-left: .2em;
    }

    .pagetitle_ja{
        font-size: 15px;
        margin-top: 15px;
    }

    .pagetitle_sns_wrap{
        right: 8%;
        bottom: 11%;
    }

    .pagetitle_sns_link{
        width: 30px;
    }
    .pagetitle_sns_link:nth-child(n+2){
        margin-left: 10px;
    }

    br.pc{
        display: none;
    }
    br.tb{
        display: none;
    }
    br.sp{
        display: block;
    }
}
