@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
/* ------------------------------------------
Utility Class
------------------------------------------ */

/* clearfix */

.clearfix:after
{
    display: block;
    visibility: hidden;
    clear: both;

    height: 0;

    content: '.';
}

/* ------------------------------------------
  Common
------------------------------------------ */

*
{
    box-sizing: border-box;

    word-break: break-all;
}

html
{
    font-size: 10px;

    height: 100%;
}

body
{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    line-height: 1.7;

    position: relative;

    min-width: 1200px;

    color: #161616;

    -webkit-text-size-adjust: none;
}

body.layer
{
    overflow: hidden;

    height: 100%;
}

a,
a img
{
    transition: color .3s ease, background .3s ease, opacity .3s ease;
    text-decoration: none;

    color: inherit;
}

a:hover
{
    text-decoration: none;

    opacity: .75;
}

a:focus
{
    outline: none;
}

@media (min-width: 768px)
{
    a[href^='tel:']
    {
        pointer-events: none;
    }
}

img
{
    max-width: 100%;
    height: auto;
}

h1,
h2,
h3,
h4,
h5,
h6
{
    line-height: inherit;

    margin: 0;
}

ul,
ol
{
    margin: 0;
    padding: 0;

    list-style: none;
}

p
{
    margin: 0;
}

.clear
{
    clear: both;
}

.only_pc
{
    display: block !important;
}

.only_sp
{
    display: none !important;
}

input,
button,
select,
textarea
{
    font-family: 'Noto Sans JP', sans-serif;

    border: none;
    border-radius: 0;
    background: none;

    -webkit-appearance: none;
}

input[type='checkbox'],
input[type='radio']
{
    width: 1px;
    /* position: absolute;
  z-index: -1;
  width: 1px; */
    height: 1px;
    margin: 0;

    opacity: 0;
}

.container
{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.contact_btn
{
    font-size: 14px;

    display: table;

    margin: 20px auto 0;

    cursor: pointer;
    text-align: center;
    text-decoration: underline;
}

.confirm
{
    padding: 120px 0;
}

@media screen and (max-width: 767px)
{
    body
    {
        zoom: initial!important;

        min-width: inherit;
    }
    .container
    {
        width: 90%;
        margin: 0 auto;
    }
    .only_pc
    {
        display: none !important;
    }
    .only_sp
    {
        display: block !important;
    }
    .confirm
    {
        padding: 80px 0;
    }
}

/* ------------------------------------------
  header
------------------------------------------ */

header
{
    position: fixed;
    z-index: 9999;
    top: 0;

    width: 100%;

    transition: .3s;
}

header.slideUp
{
    top: -91px;
}

header.slideDown
{
    top: 0;
}

.header_container
{
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    background: #fff;
}

.header_inner
{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.hader_logo
{
    display: block;

    width: 340px;
    margin-right: 91.5px;
    margin-bottom: 8px;
    margin-left: 54.5px;
}

.hader_logo a
{
    display: block;

    width: 100%;
}

.hader_logo a img
{
    width: 100%;
}

.header_nav
{
    margin-right: 30.5px;
}

.header_menu1
{
    display: flex;
}

.header_menu1_ietm
{
    font-size: 15px;
    font-weight: 600;
    line-height: 21px;

    position: relative;

    letter-spacing: 0;
}

.header_menu1_ietm a
{
    display: block;

    padding: 20px 13px 20px 13px;

    cursor: pointer;
}

.header_menu1_ietm > a
{
    pointer-events: none;
}

.header_menu1_ietm::after
{
    position: absolute;
    bottom: 0;
    left: calc(50% - 3px);

    content: '';

    border: 3px solid transparent;
    border-top: 3.3px solid #161616;
}

.header_menu1_ietm:not(:last-child)
{
    border-right: .5px solid #b9b9b9;
}

.header_submenu
{
    width: 360px;
}

.header_menu2
{
    display: flex;

    padding-top: 12.5px;
    padding-bottom: 9.5px;
}

.header_menu2_item
{
    font-size: 13px;
    font-weight: 600;
    line-height: 19px;

    margin-right: 15px;

    letter-spacing: .03em;
}

.header_menu2_item:not(:last-child)
{
    padding-right: 15px;

    border-right: .5px solid #b9b9b9;
}

.header_menu3
{
    display: flex;
}

.header_menu3_item a
{
    display: flex;
    align-items: center;
    align-items: center;
    justify-content: center;

    height: 50px;
}

.header_menu3_item
{
    width: 50%;
}

.header_menu3_item p
{
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;

    text-align: center;
    letter-spacing: 0;

    color: #fff;
}

.header_menu3_item img
{
    display: block;

    margin-right: 20px;
}

.header_oc a
{
    background: #263e6d;
}

.header_dr a
{
    background: #5a84d7;
}

.header_menu1_ietm
{
    position: relative;
}

.drop_pc2
{
    min-width: 100%;
}

.drop_pc
{
    /*表示の変化を0.3秒に指定*/
    position: absolute;

    padding: 0 10px;
    /*変形を適応する基準をtopとする*/

    transition: all .3s;
    transform: scaleY(0);
    /*デフォルトでは非表示の状態にしておく*/
    transform-origin: center top;
    white-space: nowrap;

    background: #fff;
}

.header_menu1_ietm:hover .drop_pc
{
    transform: scaleY(1);
    /*Gナビメニューにホバーしたら表示*/
}

.drop_pc_item:not(:last-child)
{
    border-bottom: 1px solid #b9b9b9;
}

.only_sp2
{
    display: none !important;
}

.only_pc2
{
    display: block !important;
}

.only_pc3
{
    display: inline !important;
}

.only_sp3
{
    display: none !important;
}

@media screen and (max-width: 1335px)
{
    .header_menu2_item
    {
        font-size: 13px;

        margin-right: 10px;
    }
    .only_pc3
    {
        display: none !important;
    }
    .only_sp3
    {
        display: inline !important;
    }
    .header_menu2_item:not(:last-child)
    {
        padding-right: 10px;
    }
    .header_submenu
    {
        width: 300px;
    }
    .header_menu1_ietm
    {
        font-size: 14px;
    }
    .header_menu1_ietm a
    {
        display: block;

        padding: 20px 11px 20px 11px;
    }
    .header_nav
    {
        margin-right: 0;
    }
}

@media screen and (max-width: 1024px)
{
    .only_pc2
    {
        display: none !important;
    }
    .only_sp2
    {
        display: block !important;
    }
    .header_container_sp
    {
        width: 100%;

        background: #fff;
    }
    .header_inner_sp
    {
        display: flex;
        align-items: center;
        justify-content: space-between;

        padding-top: 20px;
        padding-bottom: 20px;
    }
    .hader_logo
    {
        width: 300px;
        margin-bottom: 0;
        margin-left: 20px;
    }
    .header_ham_inner
    {
        position: sticky;
        z-index: 9999;
        top: 0;
        right: 10px;

        width: 50px;
        height: 50px;
    }
    .header_ham
    {
        position: relative;

        width: 100%;
        height: 100%;
    }
    .header_ham span
    {
        position: absolute;

        display: inline-block;

        width: 100%;
        height: 3px;

        transition: .4s;

        border-radius: 3px;
        background: #333;
    }
    .header_ham span:nth-of-type(1)
    {
        top: 10px;
    }
    .header_ham span:nth-of-type(2)
    {
        top: 25px;
    }
    .header_ham span:nth-of-type(3)
    {
        top: 40px;
    }
    .header_ham.active span:nth-of-type(1)
    {
        transform: translateY(15px) rotate(-45deg);
    }
    .header_ham.active span:nth-of-type(2)
    {
        opacity: 0;
    }
    .header_ham.active span:nth-of-type(3)
    {
        transform: translateY(-15px) rotate(45deg);
    }
    .menu_sp_container
    {
        position: fixed;
        z-index: 999;
        top: 0;
        right: -120%;

        width: 40%;
        height: 100%;

        transition: all .6s;

        background: rgba(255, 255, 255, .95);
    }
    .menu_sp_container.panelactive
    {
        right: 0;

        overflow: scroll;
    }
    .menu_sp_inner
    {
        position: absolute;
        z-index: 999;
        top: 40px;
        left: 50%;

        width: 100%;
        max-width: 87%;
        margin: 0 auto;

        transform: translateX(-50%);
    }
    .menu_nav .menu_sp_item
    {
        font-size: 18px;
        font-weight: 500;
        line-height: 18px;

        position: relative;
        z-index: 0;

        letter-spacing: .03em;
    }
    .menu_sp2
    {
        align-items: center;
        justify-content: space-between;

        margin-top: 30px;
    }
    .menu_sp2_item
    {
        width: 100%;
        height: 60px;
    }
    .menu_sp2_item:not(:last-child)
    {
        margin-bottom: 10px;
    }
    .menu_sp2_item a
    {
        font-size: 20px;
        font-weight: 500;
        line-height: 20px;

        display: flex;
        align-items: center;
        justify-content: center;

        height: 100%;

        text-align: center;
        letter-spacing: 0;

        color: #fff;
    }
    .menu_sp2_item img
    {
        display: inline-block;

        margin-right: 10px;
    }
    .menu_sp2_oc
    {
        background: #263e6d;
    }
    .menu_sp2_dr
    {
        background: #5a84d7;
    }
    .drop_ham_item a
    {
        display: block;

        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 30px;
    }
    .menu_sp_item a
    {
        display: block;

        padding-top: 15px;
        padding-bottom: 15px;

        text-align: left;

        border-bottom: 1px solid #b9b9b9;
    }
    .menu_sp
    {
        border-top: 1px solid #b9b9b9;
    }
    .drop_ham
    {
        display: none;
    }
    .menu_sp_ttl
    {
        position: relative;
    }
    .menu_sp_ttl ~ span
    {
        position: absolute;
        z-index: 1;
        top: 21px;
        right: 10px;

        content: '';

        border: 8px solid transparent;
        border-top: 10px solid #161616;
    }
    .menu_sp_ttl ~ span::before
    {
        position: absolute;
        z-index: 1;
        top: -32px;
        right: -20px;

        width: calc(100vw - 30px);
        height: 49px;

        content: '';
    }
}

@media screen and (max-width: 1024px)
{
    .menu_sp_ttl ~ span
    {
    }
}

@media screen and (max-width: 767px)
{
    .header_inner_sp
    {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .hader_logo
    {
        width: 180px;
    }
    .header_ham_inner
    {
        width: 30px;
        height: 30px;
    }
    .header_ham span:nth-of-type(1)
    {
        top: 5px;
    }
    .header_ham span:nth-of-type(2)
    {
        top: 15px;
    }
    .header_ham span:nth-of-type(3)
    {
        top: 25px;
    }
    .header_ham.active span:nth-of-type(1)
    {
        transform: translateY(10px) rotate(-45deg);
    }
    .header_ham.active span:nth-of-type(3)
    {
        transform: translateY(-10px) rotate(45deg);
    }
    .menu_sp_container
    {
        width: 100%;
    }
}

/* ------------------------------------------
  section_ttl
------------------------------------------ */

.section_ttl
{
    font-family: 'Roboto', sans-serif;
    font-size: 100px;
    font-weight: 600;
    line-height: 117px;
    /* text-align: center; */

    margin-bottom: 21px;

    letter-spacing: 0;

    color: #263e6d;
}

.section_ttl span
{
    font-size: 23px;
    font-weight: 400;
    line-height: 34px;

    margin-left: 15px;

    letter-spacing: 0;

    color: #161616;
}

.page_sec_ttl
{
    text-align: left;
}

@media screen and (max-width: 767px)
{
    .section_ttl
    {
        font-size: 40px;
        line-height: 58px;

        margin-bottom: 20px;
    }
    .section_ttl span
    {
        font-size: 16px;
        line-height: 20px;
    }
    .page_sec_ttl
    {
        font-size: 40px !important;
        line-height: 47px !important;

        margin-bottom: 10px !important;
    }
    .page_sec_ttl span
    {
        margin-left: 0 !important;
    }
}

@media screen and (max-width: 320px)
{
    .section_ttl
    {
        font-size: 47px;
    }
}

/* ------------------------------------------
  section_ttl2
------------------------------------------ */

.section_ttl2
{
    font-family: 'Roboto', sans-serif;
    font-size: 100px;
    font-weight: 600;
    line-height: 117px;

    position: relative;

    margin-bottom: 30px;
    padding-bottom: 30px;

    letter-spacing: 0;

    color: #fff;
}

.section_ttl2 span
{
    font-size: 23px;
    font-weight: 400;
    line-height: 34px;

    margin-left: 15px;

    letter-spacing: 0;

    color: #fff;
}

.section_ttl2::after
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 30px;
    height: 1px;

    content: '';

    background: #fff;
}

@media screen and (max-width: 767px)
{
    .section_ttl2
    {
        font-size: 40px;
        line-height: 1.3;

        margin-bottom: 15px;
        padding-bottom: 20px;

        text-align: left;
    }
    .section_ttl2::after
    {
        left: 0;
    }
    .section_ttl2 span
    {
        font-size: 16px;
        line-height: 1;

        display: block;

        margin-top: -8px;
        margin-left: 0;

        text-align: left;
    }
    .top_voice_ttl_inner .section_ttl2 span
    {
        margin-top: 5px;
    }
}

/* ------------------------------------------
  more_button
------------------------------------------ */

.more_button
{
    display: flex;
    justify-content: right;
}

.more_button.center
{
    justify-content: center;
}

.top_more_button
{
    display: flex;
    justify-content: right;
}

.more_button a
{
    position: relative;

    display: block;

    width: 237px;
    padding: 20px 40px;

    border: 1px solid #263e6d;
    border-radius: 50px;
}

.top_more_button a
{
    position: relative;

    display: block;

    width: 237px;
    padding: 20px 40px;

    border: 1px solid #fff;
    border-radius: 50px;
    background: #fff;
}

.more_button a:hover
{
    opacity: 1;
    background: #263e6d;
}

.top_more_button a:hover
{
    opacity: 1;
    border: 1px solid #fff;
    background: #263e6d;
}

.more_txt
{
    font-size: 15px;
    line-height: 21px;

    margin-bottom: 1px;

    letter-spacing: .03em;
}

.more_button a:hover .more_txt
{
    opacity: 1;
    color: #fff;
}

.top_more_button a:hover .more_txt
{
    opacity: 1;
    color: #fff;
}

.more_sub_txt
{
    font-family: 'Roboto', sans-serif;
    font-size: 13px;
    line-height: 18px;

    letter-spacing: .03em;

    color: #263e6d;
}

.more_button a:hover .more_sub_txt
{
    opacity: 1;
    color: #fff;
}

.top_more_button a:hover .more_sub_txt
{
    opacity: 1;
    color: #fff;
}

.more_button a:after
{
    position: absolute;
    right: 40px;
    bottom: calc(50% - 8px);

    content: '';
    transition: .4s;

    border: 8px solid transparent;
    border-left: 8px solid #263e6d;
}

.top_more_button a:after
{
    position: absolute;
    right: 40px;
    bottom: calc(50% - 8px);

    content: '';
    transition: .4s;

    border: 8px solid transparent;
    border-left: 8px solid #263e6d;
}

.top_more_button a:hover::after
{
    right: 20px;

    border-left: 8px solid #fff;
}

.more_button a:hover::after
{
    right: 20px;

    border-left: 8px solid #fff;
}

.submit
{
    position: relative;

    display: flex;
    display: block;
    justify-content: right;

    width: 300px;
    margin: 50px auto 0;
    padding: 30px 40px;

    cursor: pointer;
    transition: .4s;
    text-align: left;

    border: 1px solid #263e6d;
    border-radius: 50px;
    background: #fff;
}

.submit::after
{
    position: absolute;
    right: 40px;
    bottom: calc(50% - 8px);

    content: '';
    transition: .4s;

    border: 8px solid transparent;
    border-left: 8px solid #263e6d;
}

.submit:hover
{
    opacity: 1;
    color: #fff;
    border: 1px solid #fff;
    background: #263e6d;
}

.submit:hover::after
{
    right: 20px;

    border-left: 8px solid #fff;
}

@media screen and (max-width: 767px)
{
    .more_button
    {
        justify-content: center;
    }
    .top_more_button
    {
        justify-content: center;
    }
    .more_button a
    {
        display: block;

        width: 200px;
        padding: 10px 20px;

        border-radius: 50px;
    }
    .top_more_button a
    {
        display: block;

        width: 200px;
        padding: 10px 20px;

        border-radius: 50px;
    }
    .more_button a:hover
    {
        opacity: 1;
        background: #263e6d;
    }
    .top_more_button a:hover
    {
        opacity: 1;
        border: 1px solid #fff;
        background: #263e6d;
    }
    .more_txt
    {
        font-size: 13px;
        line-height: 1.5;

        margin-bottom: 1px;
    }
    .more_sub_txt
    {
        font-size: 12px;
        line-height: 1.3;
    }
    .more_button a:after
    {
        position: absolute;
        right: 20px;
        bottom: calc(50% - 8px);

        content: '';
        transition: .4s;

        border: 8px solid transparent;
        border-left: 8px solid #263e6d;
    }
    .top_more_button a:after
    {
        position: absolute;
        right: 20px;
        bottom: calc(50% - 8px);

        content: '';
        transition: .4s;

        border: 8px solid transparent;
        border-left: 8px solid #263e6d;
    }
    .top_more_button a:hover::after
    {
        right: 15px;

        border-left: 8px solid #fff;
    }
    .more_button a:hover::after
    {
        right: 15px;

        border-left: 8px solid #fff;
    }
    .submit
    {
        margin-top: 30px;
    }
}

/* ------------------------------------------
  footer
------------------------------------------ */

.footer
{
    padding-top: 52px;

    background: #f3f9ff;
}

.footer_inner1
{
    display: flex;

    padding-bottom: 51px;

    border-bottom: 1px solid #b9b9b9;
}

.footer_content1
{
    width: 30.2%;
    margin-right: 75px;
}

.footer_logo
{
    width: 100%;
    margin-bottom: 15px;
}

.footer_logo img
{
    width: 100%;
}

.footer_address_inner
{
    font-family: 'Roboto', sans-serif;
    font-size: 15px;
    line-height: 25px;

    margin-bottom: 38.6px;

    text-align: right;
}

.menu_sp2
{
    margin-bottom: 30px;
}

.menu_sp2_item
{
    width: 100%;
    height: 49px;
}

.menu_sp2_item:not(:last-child)
{
    margin-bottom: 10px;
}

.menu_sp2_item a
{
    font-size: 13px;
    font-weight: 500;
    line-height: 19px;

    display: flex;
    align-items: center;
    justify-content: center;

    height: 100%;

    text-align: center;
    letter-spacing: 0;

    color: #fff;
}

.menu_sp2_item img
{
    display: inline-block;

    margin-right: 10px;
}

.menu_sp2_oc
{
    background: #263e6d;
}

.menu_sp2_dr
{
    background: #5a84d7;
}

.footer_sns
{
    display: flex;
}

.footer_sns_img:not(:last-child)
{
    margin-right: 10px;
}

.footer_sns_img a
{
    display: block;

    width: 35px;
    height: 35px;
}

.footer_content2
{
    width: 62.1%;
}

.footer_menu
{
    width: 135px;
}

.footer_menu3
{
    width: 145px;
}

.footer_menu:not(:last-child)
{
    margin-right: 100px;
}

.footer_menu_item a
{
    font-family: 'Roboto', sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 15px;

    position: relative;

    display: block;

    margin-bottom: 34px;
    padding-left: 14.5px;

    cursor: pointer;
}

.footer_menu_item a::before
{
    position: absolute;
    bottom: calc(50% - 3px);
    left: 0;

    content: '';

    border: 6px solid transparent;
    border-left: 6px solid #263e6d;
}

.footer_menu_item_list
{
    margin-bottom: 18px;
    padding-bottom: 16px;

    border-bottom: 1px solid #b9b9b9;
}

.footer_menu_item_list a
{
    margin-bottom: 0;
}

.footer_menu_item_list_item
{
    font-family: 'Roboto', sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 15px;
}

.footer_menu_item_list_item:not(:last-child)
{
    margin-bottom: 19px;
}

.footer_menu_item_lists
{
    margin-left: 14.5px;
}

.footer_menu_item_list2
{
    margin-bottom: 34px;
}

.footer_inner2
{
    padding-top: 57px;
    padding-bottom: 10px;
}

.footer_inner2_content
{
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 34.7px;
}

.footer_inner2 .footer_menu_inner
{
    width: 76.86%;
}

.footer_inner2 .footer_menu
{
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;
    margin-right: 0;
}

.footer_inner2 .footer_menu:nth-child(1)
{
    margin-bottom: 19px;
}

.footer_inner2 .footer_menu_item
{
    margin-right: 20px;
}

.footer_inner2 .footer_menu_item a
{
    margin-bottom: 0;
}

.copyright
{
    font: 13px;
    font-weight: 500;
    line-height: 35px;

    text-align: center;
    letter-spacing: .03em;
}

.only_sp_footer
{
    display: none;
}

.footer_content2_pc
{
    display: flex;
}

@media screen and (max-width: 767px)
{
    .only_pc
    {
        display: none;
    }
    .footer_inner1
    {
        display: block;

        padding-bottom: 15px;
    }
    .footer_content1
    {
        width: 100%;
        margin-right: 0;
    }
    .footer_content2
    {
        width: 100%;
    }
    .footer_address_inner
    {
        margin-bottom: 20px;

        text-align: left;
    }
    .footer_sns
    {
        justify-content: center;

        margin-bottom: 50px;
    }
    .footer_content2_sp
    {
        display: flex;
        justify-content: center;

        width: 100%;
    }
    .footer_menu:not(:last-child)
    {
        margin-right: 30px;
    }
    .footer_menu_item a
    {
        font-size: 12px;

        margin-bottom: 20px;
    }
    .footer_menu_item_list a
    {
        margin-bottom: 0;
    }
    .footer_menu_item_list_item
    {
        font-size: 12px;
    }
    .footer_inner2
    {
        padding-top: 30px;
    }
    .footer_inner2_content
    {
        align-items: start;
    }
    .footer_inner2 .footer_menu_inner
    {
        width: 100%;
    }
    .footer_inner2 .footer_menu
    {
        display: block;
    }
    .footer_inner2 .footer_menu:nth-child(1)
    {
        margin-bottom: 10px;
    }
    .footer_inner2 .footer_menu_item a
    {
        margin-bottom: 10px;
    }
    .footer_logo2
    {
        margin-right: 40px;
    }
    .footer_menu_item_list1
    {
        margin-bottom: 20px;
    }
    .footer_menu_item_list2
    {
        margin-bottom: 15px;
    }
}

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

/* 追従バナー */

.sticky_container
{
    position: fixed;
    z-index: 998;
    top: 17%;
    right: 0;
}

.sticky_item
{
    width: 60px;
    height: 300px;
}

.sticky_item1
{
    margin-bottom: 5px;
}

.sticky_item1 a
{
    background: url(../img/top_img/stick_banner1.jpg) center / cover;
}

.sticky_item2 a
{
    background: url(../img/top_img/stick_banner2.jpg) center / cover;
}

.sticky_item a
{
    display: block;

    width: 100%;
    height: 100%;

    border-radius: 10px 0 0 10px;
}

.sticky_item img
{
    display: block;
}

.sticky_txt_inner
{
    height: 260px;
    margin-bottom: 23px;

    writing-mode: vertical-rl;
}

.sticky_container_sp
{
    display: none !important;
}

/* @media screen and (max-width: 767px) {
  .sticky_item {
    height: 275px;
  }

  .sticky_container {
    top: 14%;
  }
} */

@media screen and (max-width: 767px)
{
    .sticky_container
    {
        display: none !important;
    }
    .sticky_container_sp
    {
        position: fixed;
        z-index: 998;
        bottom: 0;

        display: block !important;

        width: 100%;
        height: 50px;
    }
    .sticky_item_sp
    {
        width: 50%;
        height: 50px;
    }
    .sticky_inner_stick_sp
    {
        display: flex;
        justify-content: space-around;
    }
    .sticky_item_sp a
    {
        display: block;

        width: 100%;
        height: 50px;

        background-color: #263e6d;
        background-image: url(../img/common_img/stick_sp1.jpg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: auto 100%;
    }
    .sticky_item2_sp a
    {
        display: block;

        width: 100%;

        background-color: #5a84d7;
        background-image: url(../img/common_img/stick_sp2.jpg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: auto 100%;
    }
    .sticky_item_sp a img
    {
        display: block;

        width: 100%;
    }
    .footer
    {
        padding-bottom: 50px;
    }
}

/* ------------------------------------------
  サイドバー
------------------------------------------ */

.sidebar_item:not(:last-child)
{
    margin-bottom: 97px;
}

.sidebar_ttl
{
    font-family: 'Roboto', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;

    margin-bottom: 11px;
    margin-left: 30px;

    letter-spacing: .035em;

    color: #263e6d;
}

.sidebar_ttl span
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;

    margin-left: 10px;
}

.sidebar_list
{
    border-top: 1px solid #161616;
}

.sidebar_lsit_item a
{
    font-size: 15px;

    display: block;

    padding: 20px 0 20px 30px;

    letter-spacing: .03em;

    color: #161616;
    border-bottom: 1px dashed#161616;
}

.sidebar_inner
{
    position: sticky;
    top: 100px;

    margin-top: -43px;
}

.sidebar_inner_item
{
    display: flex;
    align-items: center;

    margin-bottom: 3px;
}

.sidebar_category
{
    font-size: 13px;
    line-height: 19px;

    display: inline-block;

    margin-right: 10px;
    padding: 3px 5px;

    letter-spacing: .03em;

    color: #fff;
    border-radius: 1px;
}

.didebar_date
{
    font-family: 'Roboto', sans-serif;
    font-size: 15px;
    line-height: 30px;

    letter-spacing: .035em;

    color: #161616;
}

.cat1
{
    background: #263e6d;
}

.cat2
{
    background: #5a84d7;
}

.cat3
{
    background: #2fadd5;
}

@media screen and (max-width: 767px)
{
    .sidebar_lsit_item a
    {
        padding-left: 10px;
    }
    .sidebar_ttl
    {
        font-size: 24px;

        margin-bottom: 6px;
        margin-left: 10px;
    }
    .sidebar_item:not(:last-child)
    {
        margin-bottom: 50px;
    }
    .sidebar_inner
    {
        margin-top: 0;
    }
}

/* ------------------------------------------
  mv_scroll
------------------------------------------ */

.scroll
{
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 300;
    font-style: normal;
    line-height: 19px;

    position: absolute;
    z-index: 10;
    top: 186px;
    right: 10px;

    letter-spacing: .05em;

    color: #fff;

    text-orientation: mixed;
    writing-mode: vertical-rl;
}

.scroll::after
{
    position: absolute;
    top: 50px;
    right: 50%;

    width: 1px;
    height: 100px;

    content: '';
    animation: pathmove 2s ease-in-out infinite;

    opacity: 0;
    background: #fff;
}

@keyframes pathmove
{
    0%
    {
        top: 40px;

        height: 0;

        opacity: 1;
    }
    50%
    {
        height: 100px;
        /* opacity: 1; */
    }
    100%
    {
        top: 100px;

        height: 0;
        /* opacity: 0; */
    }
}

@media screen and (max-width: 767px)
{
    .scroll
    {
        font-size: 12px;

        top: 22%;
    }
    @keyframes pathmove
    {
        0%
        {
            top: 40px;

            height: 0;

            opacity: 1;
        }
        50%
        {
            height: 50px;
            /* opacity: 1; */
        }
        100%
        {
            top: 100px;

            height: 0;
            /* opacity: 0; */
        }
    }
}

/* ------------------------------------------
  下層ページmv
------------------------------------------ */

.page_mv
{
    position: relative;
    z-index: 1;

    height: 610px;
    margin-bottom: 8px;
}

.mv_slider_item
{
    position: absolute;
    bottom: 100px;
    left: 200px;

    display: flex;
    align-items: end;
}

.mv_main_txt
{
    font-family: 'Roboto', sans-serif;
    font-size: 100px;
    font-weight: 600;
    line-height: 75px;

    color: #fff;
}

.mv_sub_txt
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 23px;
    font-weight: 400;
    line-height: 34px;

    margin-left: 15px;

    letter-spacing: .03em;

    color: #fff;
}

@media screen and (max-width: 1240px)
{
    .mv_slider_item
    {
        left: 100px;
    }
}

@media screen and (max-width: 767px)
{
    .page_mv
    {
        height: 200px;
    }
    .mv_slider_item
    {
        bottom: 15px;
        left: 20px;

        display: block;
    }
    .mv_main_txt
    {
        font-size: 40px;
        line-height: 40px;

        margin-bottom: 5px;
    }
    .mv_sub_txt
    {
        font-size: 20px;
        line-height: 20px;

        margin-left: 0;
    }
}

/* ------------------------------------------
  ページネーション
------------------------------------------ */

.pagenation
{
    display: flex;
    align-items: center;
    justify-content: center;
}

.prenext
{
    width: 22px;
}

.prenext img
{
    display: block;

    width: 100%;
}

.pre
{
    margin-right: 30.5px;
}

.next
{
    margin-left: 30.5px;
}

.page_num_inner
{
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    line-height: 30px;

    letter-spacing: .035px;
}

.page_num_inner span
{
    font-weight: 500;

    display: inline-block;

    margin-right: 30px;
    padding: 1px 10px;

    color: #fff;
    background: #263e6d;
}

.page_num_inner a
{
    display: inline-block;

    padding: 1px 10px;

    border: 1px solid #263e6d;
}

.page_num_inner a:not(:last-child)
{
    margin-right: 30px;
}

.dot1
{
    margin-right: 30px;
}

.dot2
{
    margin-left: 30px;
}

@media screen and (max-width: 767px)
{
    .page_num_inner span
    {
        margin-right: 20px;
    }
    .page_num_inner a:not(:last-child)
    {
        margin-right: 20px;
    }
    .dot
    {
        margin-left: 20px;
    }
    .pre
    {
        margin-right: 10.5px;
    }
    .next
    {
        margin-left: 10.5px;
    }
    .dot1
    {
        margin-right: 15px;
    }
    .dot2
    {
        margin-left: 15px;
    }
    .page_num_inner span
    {
        margin-right: 10px;
    }
    .page_num_inner a:not(:last-child)
    {
        margin-right: 10px;
    }
}

.page_sec
{
    margin-top: 72px;
}

@media screen and (max-width: 767px)
{
    .page_sec
    {
        margin-top: 50px;
    }
}

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

/* ------------------------------------------
  download
------------------------------------------ */

.download_inner
{
    width: 100%;
    max-width: 955px;
    margin: 0 auto;
}

.download_txt
{
    font-size: 15px;
    line-height: 35px;

    margin-bottom: 100px;

    text-align: center;
    letter-spacing: .03em;
}

.download
{
    display: flex;
    justify-content: space-between;
}

.download_item
{
    position: relative;

    width: 47.64%;
}

.download_item
{
    position: relative;
    z-index: 1;
}

.download_item a
{
    position: relative;

    display: block;
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;
    padding: 20px 35px 20px 40px;

    cursor: pointer;

    border-radius: 40px;
}

.download_item a::after
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';

    border: 1px solid #263e6d;
    border-radius: 40px;
}

.download_item a:hover
{
    z-index: 0;

    opacity: .7;
}

.download_item a::before
{
    position: absolute;
    z-index: -1;
    top: 5px;
    left: 5px;

    width: 100%;
    height: 100%;

    content: '';
    cursor: pointer;
    transition: .3s;

    border-radius: 40px;
    background: #f3f9ff;
}

.d_txt
{
    font-size: 15px;
    line-height: 21px;

    letter-spacing: .03em;
}

.d_sub_txt
{
    font-family: 'Roboto', sans-serif;
    font-size: 13px;

    letter-spacing: .03em;

    color: #263e6d;
}

@media screen and (max-width: 767px)
{
    .download
    {
        display: block;
    }
    .download_item
    {
        width: 100%;
    }
    .download_item:nth-of-type(1)
    {
        margin-bottom: 20px;
    }
}

/* ------------------------------------------
  school_address
------------------------------------------ */

.school_address
{
    padding: 100px 0;

    background: #263e6d;
}

.school_address_inner
{
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
}

.school_name
{
    font-size: 30px;

    margin-bottom: 30px;

    letter-spacing: .03em;

    color: #fff;
}

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

.school_address_item:not(:last-child)
{
    margin-bottom: 14px;
}

.school_address_item p
{
    font-size: 15px;

    letter-spacing: .03em;

    color: #fff;
}

.school_address_item img
{
    margin-right: 17px;
}

.school_address_item img:nth-of-type(1)
{
    width: 15px;
}

@media screen and (max-width: 767px)
{
    .school_name
    {
        font-size: 26px;
    }
    .school_address
    {
        padding: 50px 0;
    }
}

@media screen and (max-width: 430px)
{
    .school_name
    {
        font-size: 21px;
    }
    .school_address_item p
    {
        font-size: 13px;
    }
}

/* ------------------------------------------
  ar_table_ttl
------------------------------------------ */

.ar_table_ttl
{
    font-size: 30px;
    font-weight: 500;
    line-height: 35px;

    position: relative;

    margin-bottom: 49.5px;
    padding-left: 17.5px;

    letter-spacing: .03em;

    color: #161616;
}

.ar_table_ttl::before
{
    position: absolute;
    top: 0;
    left: 0;

    width: 8px;
    height: 100%;

    content: '';

    background: #5a84d7;
}

.ar_table_ttl span
{
    font-size: 15px;
}

@media screen and (max-width: 767px)
{
    .ar_table_ttl
    {
        font-size: 26px;
        line-height: 31px;

        margin-bottom: 30px;
    }
}

/* ------------------------------------------
  パンくず
------------------------------------------ */

.breadcrumbs
{
    margin-bottom: 17px;
}

.sub_breadcrumb_lists
{
    display: flex;
    flex-wrap: wrap;
}

.sub_breadcrumb_lists_item
{
    font-family: 'Roboto', sans-serif;
    font-size: 15px;
    font-weight: 400;

    letter-spacing: .03em;

    color: #b9b9b9;
}

.sub_breadcrumb_lists_item:not(:last-child)
{
    position: relative;

    margin-right: 25px;
}

.sub_breadcrumb_lists_item:not(:last-child)::after
{
    position: absolute;
    right: -16px;
    bottom: 47%;

    width: 7px;
    height: 2px;

    content: '';

    background: #5a84d7;
}

.sub_breadcrumb_lists_item a
{
    color: #161616;
}

@media screen and (max-width: 768px)
{
    .breadcrumbs
    {
        margin-bottom: 25px;
    }
    .sub_breadcrumb_lists_item:not(:last-child)
    {
        margin-right: 22px;
    }
    .sub_breadcrumb_lists_item:not(:last-child)::after
    {
        right: -14px;
    }
}

.aligncenter
{
    display: block;

    margin: 20px auto;
}

.alignright
{
    float: right;

    margin: 0 0 0 20px;
}

.alignleft
{
    float: left;

    margin: 0 20px 0 0;
}

.sche_item1_w
{
    color: #161616!important;
}

.sche_item1_w.sat
{
    color: #5a84d7!important;
}

.sche_item1_w.sun
{
    color: #f00!important;
}
