@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

body{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    color: #1e1e1e;
    line-height: 1.4;
}

#topbar{
    box-shadow: 0 2px 15px 3px rgba(0,0,0,0.1);
    -webkit-box-shadow: 0 2px 15px 3px rgba(0,0,0,0.1);
    -moz-box-shadow: 0 2px 15px 3px rgba(0,0,0,0.1);
    background: #fff;
}

.header_panel{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 15px;
    padding-bottom: 15px;
}
    .header_panel .right_part{
        display: flex;
        flex-direction: row;
        align-items: flex-end;
    }
        .header_panel .right_part .button_part{
            display: flex;
            flex-direction: column;
        }
        .header_panel .right_part .button_part .btn_gesi{
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            font-size: 14px;
            width: 250px;
            height: 30px;
            border-radius: 15px;
            border: solid 1px #0d72ec;
            margin-bottom: 10px;
        }
        .header_panel .right_part .button_part .btn_gesi::after{
            content: '';
            width: 5px;
            height: 10px;
            position: absolute;
            background: url('../img/blue-arrow-right.png');
            right: 14px;
            top: 9px;
        }
        .header_panel .right_part .button_part .btn_consult{
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            font-size: 14px;
            width: 250px;
            height: 50px;
            background-color: #0d72ec;
            color: #fff;
            font-size: 14px;
            font-weight: bold;
            border-radius: 25px;
        }
        .header_panel .right_part .top_menu{
            display: flex;
            flex-direction: row;
            align-items: center;
            margin-right: 15px;
        }
        .header_panel .right_part .top_menu li{
            list-style: none;
            border-right: solid 1px #1e1e1e;
            padding: 0 7px;
        }
        .header_panel .right_part .top_menu li:last-child{
            border-right: none;
        }
        .header_panel .right_part .top_menu li a{
            font-size: 15px;
        }

    .header-fix #topbar .header_panel{
        padding-top: 5PX;
        padding-bottom: 5PX;
    }
    .header-fix #topbar .header_panel .right_part .button_part .btn_gesi{
        width: 200px;
        font-size: 12px;
        margin-bottom: 5px;
    }
    .header-fix #topbar .header_panel .right_part .button_part .btn_consult{
        font-size: 12px;
        width: 200px;
        height: 40px;
    }
    .header-fix #topbar .header_panel .right_part{
        margin-bottom: 0;
    }
    .header-fix #topbar .header_panel .right_part .top_menu{
        margin-bottom: 10px;
    }
    .header-fix .header_panel .right_part .top_menu li a{
        font-size: 14px;
    }
    }

footer{
    background-color: #1e1e1e;
    color: #fff;
}
    .footer_panel{
        padding-top: 45px;
        display: flex;
        
    }
    .footer_panel .left_part{
        width: 25%;
    }
    .footer_panel .right_part{
        width: 70%;
    }
    .footer_panel .right_part .links_list{
        display: flex;             
    }    
        .footer_panel .right_part .links_list .col{
            margin-right: 30px;            
        }
        .footer_panel .right_part .links_list .col li{
            list-style: none;
        }
        .footer_panel .right_part .links_list .col a{
            color: #fff;
            line-height: 2;           
        }
    footer .copyright{
        text-align: center;
        padding-top: 90px;
        padding-bottom: 30px;         
    }

/* Header and Footer Responsive */
/* Tablet */
@media screen and (max-width:1100px) {
    .header_panel .right_part .top_menu li a{
        display: flex;
        word-break: break-word;
        max-width: 12ch;
        text-align: center;
    }    
    #topbar .right_part{
        margin-right: 40px;
    }
    #topbar .button_part .btn_gesi{
        margin-bottom: 20px;
    }
    

}
@media screen and (max-width:900px) {
    
}
/* SP */
@media screen and (max-width: 768px) {
    .header_panel{
        align-items: center;
        padding-top: 0;
        padding-bottom: 0;
    }
    .header_panel .right_part{
        margin-bottom: 10px;
        padding-right: 20px;
    }
    .header_panel .right_part .button_part .btn_gesi{
        margin-top: 10px;
        margin-bottom: 5px;
        max-width: 45vw;
        text-align: center;
    }
    .header_panel .right_part .button_part .btn_consult{
        max-width: 45vw;
        text-align: center;
    }
    .footer_panel .right_part .links_list .col {
        margin-right: 20px;
    }
    
}
@media screen and (max-width: 600px) {
    .footer_panel .right_part .links_list .col {
        margin: 0 auto;
        width: 100vw;
        text-align: center;
    }
    
    .footer_panel{
        flex-direction: column;
    }
    .footer_panel .left_part{
        width: 100%;
        text-align: center;
    }
    .footer_panel .left_part > a{
        display: block;
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 20px;
    }
    .footer_panel .right_part{
        width: 100%;
    }
    .footer_panel .right_part .links_list{
        flex-direction: column;
    }    
}
@media screen and (max-width: 510px) {
    .header_panel .right_part .button_part .btn_gesi{
        font-size: 12px;
    }
    .header_panel .right_part .button_part .btn_consult{
        font-size: 12px;
    }    

}
@media screen and (max-width: 375px) {
    #topbar .right_part {
        margin-right: 7px;
    }

    footer .copyright {
        padding-top: 30px;
    }
}

.sect_introduce{
    padding-top: 68px;
    background-color: #fafafa;
    padding-bottom: 150px;
}
    .sect_introduce h1{
        font-size: 28px;
        text-align: center;      
    }
        .sect_introduce h1 .blue{
            color: var(--font-blue-color);
        }

    @media screen and (max-width:768px) {
        .sect_introduce{
            padding-top: 50px;
            padding-bottom: 50px;
        }
        .sect_introduce h1{
            font-size: 24px;       
        }
    }

    .sect_introduce .steps{
        margin-top: 38px;
        display: flex;
        flex-direction: column;
        width: 100%;
    }
        .sect_introduce .steps .step {
            display: flex;
            flex-direction: row;
            margin-bottom: 20px;
            position: relative;
            width: 100%;
            min-height: 143px;
        }
        .sect_introduce .steps .step:not(:last-child)::after {
            content: "";
            width: 80px;
            height: 20px;
            position: absolute;
            background: url('../img/down_triangle.png') no-repeat;
            background-size: cover;
            left: calc( (100% - 80px) / 2 );
            bottom: -20px;

        }
            .sect_introduce .steps .step .left{
                background-color: #062f81;
                font-size: 36px;
                font-weight: bold;
                color: #fff;
                display: flex;
                justify-content: center;
                align-items: center;
                padding: 30px;
                border-top-left-radius: 5px;
                border-bottom-left-radius: 5px;
            }
            .sect_introduce .steps .step .right{
                width: 100%;
                background-color: #eff0f1;
                border: 2px solid #062f81;
                padding: 27px 27px 20px 27px;
                border-top-right-radius: 5px;
                border-bottom-right-radius: 5px;
            }
                .sect_introduce .steps .step .right .title {
                    color: var(--font-blue-color);
                    font-size: 24px;
                    margin-bottom: 5px;
                }
                .sect_introduce .steps .step .right .text {
                    color: var(--font-black-color);
                    font-size: 16px;
                    line-height: 1.7;
                }  
    @media screen and (max-width:768px) {
        .sect_introduce .steps .step .left{
            font-size: 30px;
        }
        .sect_introduce .steps .step .right{
            padding: 15px 15px 10px 15px;
        }
        .sect_introduce .steps .step .right .title{
            font-size: 20px;
        }
        .sect_introduce .steps .step .right .text{
            font-size: 16px;
        }
    }               
                
    .sect_introduce .go_consult{
        width: 720px;
        max-width: 100%;
        height: 80px;
        border-radius: 40px;
        background-color: #0d72ec;
        color: #fff;
        font-size: 28px;
        font-weight: bold;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        margin-top: 30px;
        margin-left: auto;
        margin-right: auto;
    }
        .sect_introduce .go_consult::after{
            content: '';
            width:7px;
            height: 16px;
            position: absolute;
            background: url('../img/big-white-arrow-right.png');
            top: 33px;
            right: 38px;
        }
        .sect_introduce .go_consult:hover{
            opacity: 1;
            transform: translateY(-5px);
            transition: transform 250ms cubic-bezier(.3, .7, .4, 1.5);
        }
        @media screen and (max-width:768px) {
            .sect_introduce .go_consult{
                font-size: 4.5vw;
                height: 16vw;
                border-radius: 8vw;
            }
            .sect_introduce .go_consult::after{
                display: none;
            }
        }
