@charset "utf-8";


/**/
html {
    scroll-behavior: smooth;
}
body{
    font-family: 'Yu Gothic', 'YuGothic', '游ゴシック', 'Hiragino Kaku Gothic Pro', 'Meiryo', sans-serif;
    background-color: #fff;
}



/**/
.container{
    max-width:1180px;
    margin:0 auto;
    align-items: center;
    @media screen and (max-width: 1240px){
        max-width: 960px;
    }
    @media screen and (max-width: 1024px){
        max-width: 780px;
    }
    @media screen and (max-width: 768px){
        max-width: 84%;
    }
}



/**/
header{
    .container{
        max-width: 100%;
        padding: 113px 26px 0;
        @media screen and (max-width: 768px){
            padding: 113px 0 0 0;
        }
        .header{
            padding-top: 35px;
            margin-left: 30px;
            margin-bottom: 36px;
            width: 251px;
            position: absolute;
            top: 0;
            @media screen and (max-width: 768px){
                padding-top: 28px;
                width: 242px;
                margin-left: 48px;
            }
            @media screen and (max-width: 480px){
                margin-left: 18px;
            }
            .forhome{
                width: 251px;
                @media screen and (max-width: 768px){
                    width: 242px;
                }
                .logo{
                    width: auto;
                    height: 41px;
                    @media screen and (max-width: 768px){
                        width: 242px;
                        height: auto;
                    }
                }
            }
        }
        .header.fixed{
            position: fixed;
            padding: 0;
        }
        .mainvisual{
            max-width: 100%;
            background-color: #E9EFF3;
            height: 200px;
            align-items: center;
            justify-content: center;
            display: flex;
            .toc{
                font-size: 48px;
                font-weight: 600;
                line-height: 48px;
                letter-spacing: 0.04em;
                text-align: center;
                color: #0D2F62;
                margin-bottom: 18px;
                @media screen and (max-width: 768px){
                    font-size: 32px;
                    line-height: 32px;
                }
            }
            .description{
                font-family: 'Montserrat' , sans-serif;
                font-size: 16px;
                font-weight: 700;
                line-height: 16px;
                text-align: center;
                color: #0D2F62;
                @media screen and (max-width: 768px){
                    font-size: 13px;
                    line-height: 13px;
                }
            }
        }
    }
}



/**/
section{
    margin-top: 80px;
    .container{
        .contents{
            font-size: 14px;
            font-weight: 600;
            line-height: 20.27px;
            color: #000;
            .text_home{
                margin-top: 24px;
                .number{
                    margin-left: 22px;
                }
                .alpha{
                    margin-left: 22px;
                }
                .roman{
                    margin-left: 22px;
                }
            }
            .fifth{
                a:hover{
                    opacity: .8;
                }
            }
            .end{
                margin: 24px 0;
            }
        }
    }
}



/**/
footer{
    margin: 52px 0 0;
    padding: 0 24px 16px;
    @media screen and (max-width: 768px){
        padding: 0 0px 24px;
    }
    .container{
        .footer{
            width: 251px;
            .forhome{
                width: 251px;
                .logo{
                    width: auto;
                    height: 41px;
                    margin-bottom: 40px;
                    @media screen and (max-width: 768px){
                        margin-bottom: 24px;
                        height: auto;
                        width: 242px;
                    }
                }
            }
        }
        .nav_footer{
            padding-bottom: 36px;
            border-bottom: 1px solid #E1EAEF;
            @media screen and (max-width: 768px){
                display: none;
            }
            .gnavi{
                display: flex;
                gap: 28px;
                .nav_text{
                    text-decoration: none;
                    span{
                        font-size: 14px;
                        font-weight: 700;
                        line-height: 21px;
                        text-align: left;
                        color: #0d2f62;
                    }
                }
            }
        }
        .block{
            display: flex;
            justify-content: flex-end;
            @media screen and (max-width: 768px){
                border-bottom: 1px solid #E1EAEF;
                padding-bottom: 8px;
                margin-bottom: 24px;
                justify-content: flex-start;
            }
            .policy{
                font-size: 12px;
                font-weight: 500;
                line-height: 18px;
                color: #000;
                text-decoration: none;
                display: inline-block;
                margin: 10px 0 24px;
                @media screen and (max-width: 768px){
                    font-size: 13px;
                    line-height: 13px;
                    margin: 0 0 0;
                    color: #999;
                }
            }
        }
        .copyright{
            font-family: Noto Sans JP ,sans-serif;
            font-size: 12px;
            font-weight: 400;
            line-height: 17.38px;
            color: #333333;
            text-align: center;
            @media screen and (max-width: 768px){
                font-size: 13px;
                line-height: 13px;
            }
        }
    }
}