@charset "UTF-8";
/*
Theme Name: shibatahospital
*/

/*　フォント一覧
font-family: 'Allura', cursive;
font-family: 'Noto Sans JP', sans-serif;  -ゴシック-
font-family: 'Noto Serif JP', serif;　　　-明朝-
*/

/*　テーマカラー
あやめ色：#bb61a9
文字色：#646464
*/

/* --------------------------------------------- */
/* 基本設定
/* --------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline;
}

/* 横のはみ出し隠す */
html{
    scroll-behavior: smooth;
    scroll-padding-top: 150px;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    height: 100%;
    font-size: 16px;
    color: #646464;
    letter-spacing: 0.1em;
}

a{
    color: #646464;
    text-decoration: none;
    transition: .2s;
}

/* svg読み込み */
img[src*='.svg']{
    width: 100%;
    height: auto;
}

/* 文字選択色設定 */
::selection {
    background: #d7d7d7;
}

/* リンクボタン */
/* ボタン（白） */
.btn_white {
    position: relative;
    display: inline-block;
    width: 200px;
    margin-top: 50px;
    font-size: 18px;
    font-weight: 400;
    text-align: center;
    text-decoration: none;
    border-radius: 5px;
    border: 1px solid #fff;
    color: #fff;
    transition: .2s;
}
.btn_white:hover {
    background-color: rgb(255,255,255,0.2);
}
.btn_white::after {
    position: absolute;
    top: 50%;
    right: 25px;
    content: '';
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    transition: all .2s;
}
.btn_white:hover::after {
    right: 20px;
}
/* ボタン（青） */
.btn_blue {
    position: relative;
    display: inline-block;
    width: 200px;
    margin-top: 50px;
    padding: 15px 0;
    font-size: 18px;
    font-weight: 400;
    text-align: center;
    text-decoration: none;
    border-radius: 5px;
    border: 1px solid #005cab;
    color: #005cab;
    transition: .2s;
}
.btn_blue:hover {
    color: #fff;
    background-color: rgb(0,92,171,0.8);
}
.btn_blue::after {
    position: absolute;
    top: 50%;
    right: 25px;
    content: '';
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 1px solid #005cab;
    border-right: 1px solid #005cab;
    transform: rotate(45deg);
    transition: all .2s;
}
.btn_blue:hover::after {
    right: 20px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

/* 横幅設定 */
.width{
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

/* Firefox SVG用 */
.firefox{
    width: 100%;
}

/* 見出し文字 */
.headline{
    width: 100%;
    margin-bottom: 50px;
    text-align: center;
    font-size: 16px;
    font-weight: 400;
}
.headline p{
    font-size: 37px;
    font-weight: 900;
    color: #005cab;    
}

/* 電話リンク　スマホのみ */
@media (min-width: 751px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}
a[href*="tel:"]{
    color: #fff;
    text-decoration: underline;
}

/* レスポンシブ余白調整 */
#wrapper{
    overflow: hidden;
}


/* --------------------------------------------- */
/* ヘッダー
/* --------------------------------------------- */
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    border-top: 3px solid #bb61a9;
    z-index: 99999;
}
.header_outer{
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
}
.header_logo_outer{
    display: flex;
    margin: 20px 0 0 80px;
}
.header_logo_img{
    margin-right: 30px;
}
.header_logo_img img{
    width: 200px;
}

/*-- トップページ用 --*/
#header_top{
    position: relative;
    width: 100%;
    min-width: 1100px;
    margin: 0;
    background-color: rgb(255,255,255,0);
    z-index: 9999;
    transition: 0.5s;
}
/* トップページ用上部 */
.header_top_outer{
    display: flex;
    justify-content: space-between;
    width: 95%;
    margin: 0 auto;
}
.header_top_outer_logo{
    margin-top: 15px;
}
.header_top_outer_logo img{
    width: 270px;
}
.header_top_outer_content{
    display: flex;
    justify-content: right;
    height: 65px;
}
.header_top_btn_outer{
    display: flex;
    justify-content: right;
}
.header_top_btn_outer a{
    transition: .2s;
}
.header_top_btn_outer a:hover{
    opacity: 0.6;
}
.header_top_btn_inner{
    width: 130px;
    margin-left: 20px;
    padding: 5px 10px 15px 10px;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    background-color: #bb61a9;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
}
.header_top_btn_inner img{
    display: block;
    width: 20%;
    margin: 0 auto 5px auto;
}
.header_top_size_outer{
    display: flex;
    justify-content: right;
    align-items: center;
    margin: 10px 20px 0 0;
    font-size: 14px;
    vertical-align: bottom;
}
.header_top_size_inner{
    padding: 7px 20px;
    margin-left: 15px;
    text-align: center;
    border-radius: 2em;
    box-sizing: border-box;
    transition: .2s;
}
.header_top_size_inner:hover{
    opacity: 0.6;
    cursor: hand;
}
.size_inner1{
    color: #fff;
    background-color: #a2a2a2;
    border: 1px solid #a2a2a2;
}
.size_inner2{
    background-color: #fff;
    border: 1px solid #a2a2a2;
}
/* トップページ用下部 */
.header_bottom_outer{
    display: flex;
    justify-content: space-between;
    width: 1000px;
    max-width: 1000px;
    margin: 10px auto 0 auto;
    vertical-align: bottom;
    overflow: visible;
}
.header_bottom_logo{
    display: none;
}

/* ナビゲーションボタン設定 */
.header_bottom_navi_outer{
    margin-right: 20px;
}
.header_bottom_navi_outer ul{
    display: flex;
    justify-content: space-between;
    margin-right: 20px;
    list-style: none;
}
.header_bottom_navi_outer li{
    margin-right: 15px;
}
.header_bottom_navi_outer li:last-of-type{
    margin-right: 0;
}
.header_bottom_navi{
    position: relative;
    width: 155px;
    padding: 15px 0;
    text-align: center;
    font-weight: 700;
}

/* ドロップダウンメニュー設定 */
.dropdown_outer{
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateY(0) translateX(-50%);
    width: 1000px;
    max-width: 1000px;
    padding: 30px;
    background-color: rgba(255, 255, 255, 0.9);
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
    visibility: hidden;
    box-sizing: border-box;
}
.header_bottom_navi_outer li:hover .dropdown_outer{
    visibility: visible;
}
.dropdown_outer p{
    width: 100%;
    margin-bottom: 8px;
    padding-left: 1.5em;
    padding-bottom: 8px;
    border-bottom: 1px solid #b1b1b1;
    font-size: 18px;
    font-weight: 700;
    color: #bb61a9;
    background-image: url(./img/dropdown_navi_title_icon.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 18px;
    box-sizing: border-box;
}
.dropdown_outer ul{
    list-style: none;
    width: 100%;
    column-count: 3;
}
.dropdown_outer ul a{
    display: inline-block;
    position: relative;
    width: 100%;
    margin-right: 20px;
    padding: 8px 0;
    transition: none;
}
.dropdown_outer ul a:last-of-type{
    margin-right: 0;
}
.header_bottom_navi_outer ul li .dropdown_outer ul a::after{
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #9fa0a0;
    bottom: -5px;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s; 
}
.header_bottom_navi_outer ul li .dropdown_outer ul a:hover::after{
    transform: scale(1, 1); 
    transform-origin: left top;
}

/*
.header_bottom_navi_outer ul li ul a{
    position: relative;
    margin-right: 20px;
}
.header_bottom_navi_outer ul li ul a:last-of-type{
    margin-right: 0;
}
.header_bottom_navi_outer ul li ul a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #9fa0a0;
    bottom: -5px;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s; 
}
.header_bottom_navi_outer ul li ul a:hover::after {
    transform: scale(1, 1); 
    transform-origin: left top;
}
*/









.dropdown_navi_title_outer{
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateY(0) translateX(-50%);
    width: 1000px;
    padding: 30px;
    background-color: rgba(255, 255, 255, 0.9);
    visibility: hidden;
    box-sizing: border-box;
}
.header_bottom_navi_outer li:hover .dropdown_navi_title_outer{
    visibility: visible;
}
.dropdown_navi_title{
    width: 100%;
    margin-bottom: 8px;
    padding-left: 1.5em;
    padding-bottom: 8px;
    border-bottom: 1px solid #b1b1b1;
    font-size: 18px;
    font-weight: 700;
    color: #bb61a9;
    background-image: url(./img/dropdown_navi_title_icon.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 18px;
    box-sizing: border-box;
}
.header_bottom_navi_outer ul li ul{
    display: block;
    column-count: 3;
}
.dropdown_navi{
    display: list-item;
    position: absolute;
    top: 204px;
    left: 50%;
    transform: translateY(0) translateX(-50%);
    width: 1000px;
    padding: 10px 30px 30px 30px;
    background-color: rgba(255, 255, 255, 0.9);
    visibility: hidden; 
}
.header_bottom_navi_outer li:hover .dropdown_navi{
    visibility: visible;
}
.dropdown_navi p{
    display: block;
    width: 100%;
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #646464;
    font-size: 18px;
    font-weight: 700;
    color: #bb61a9;
}
.dropdown_navi ul li a{
    margin-right: 20px;
    padding: 25px 0;
}

/* 変化用ロゴ */
.header_bottom_navi_logo{
    display: none;
}
.header_bottom_navi_logo img{
    width: 100%;
}
.header_bottom_search{
    width: 200px;
    background-color: #a2a2a2;
}
.header_bottom_btn_outer{
    display: none;
}
.header_bottom_btn_inner{
    margin-left: 20px;
    padding: 10px;
    text-align: center;
    background-color: #bb61a9;
    border-radius: 5px;
}
.header_bottom_btn_inner img{
    display: block;
    width: 50%;
    margin: 0 auto;
}

/* navホバー設定 */
.header_bottom_navi_outer ul li a{
    position: relative;
    margin-right: 20px;
}
.header_bottom_navi_outer ul li a:last-of-type{
    margin-right: 0;
}
.header_bottom_navi_outer ul li a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background: #bb61a9;
    bottom: 0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform 0.3s; 
}
.header_bottom_navi_outer ul li a:hover::after {
    transform: scale(1, 1); 
    transform-origin: left top;
}
/* ドロップダウンメニューホバー設定 */
/*
.header_bottom_navi_outer ul li ul li{
    padding: 8px 0;
    transition: 0;
}
.header_bottom_navi_outer ul li ul a{
    position: relative;
    margin-right: 20px;
}
.header_bottom_navi_outer ul li ul a:last-of-type{
    margin-right: 0;
}
.header_bottom_navi_outer ul li ul a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #9fa0a0;
    bottom: -5px;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s; 
}
.header_bottom_navi_outer ul li ul a:hover::after {
    transform: scale(1, 1); 
    transform-origin: left top;
}
.dropdown_navi_title_outer a{
    transition: 0;
}
*/

/*-- ヘッダー変化設定 --*/
/* アニメーション速度 */
header,
.header_top_outer,
.header_top_outer_logo img,
.header_top_outer_content,
.header_bottom_search,
.header_bottom_navi_outer{
    transition: .3s;
}

.section-a {
    background: rgb(255,255,255,0.2);
}

/* scroll-navクラス付与後 */
header.scroll-nav {
    background: rgb(255, 255, 255, 0.9);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
}
header.scroll-nav .header_top_outer{
    display: inline;
}
header.scroll-nav .header_top_outer_logo{
    display: none;
}
header.scroll-nav .header_top_outer_content{
    display: none;
}
header.scroll-nav .header_bottom_outer{
    display: flex;
    justify-content: space-between;
    width: 95%;
    max-width: 95%;
}
header.scroll-nav .header_bottom_logo{
    display: inline-block;
    width: 200px;
}
header.scroll-nav .header_bottom_logo img{
    width: 200px;
}
header.scroll-nav .header_bottom_navi_outer{
    width: 1000px;
    max-width: 1000px;
    margin-right: 0;
}
header.scroll-nav .header_bottom_search{
    display: none;
}
header.scroll-nav .header_bottom_btn_outer{
    display: flex;
    justify-content: space-between;
    width: 200px;
}

/*
.header_bottom_btn_outer{
    display: none;
}
.header_bottom_navi_outer{
    display: flex;
    justify-content: space-between;
    margin-right: 20px;
}
.header_bottom_outer{
    display: flex;
    justify-content: space-between;
    width: 1000px;
    max-width: 1000px;
    margin: 10px auto 0 auto;
    vertical-align: bottom;
    overflow: visible;
}
.header_top_outer{
    display: flex;
    justify-content: space-between;
    width: 95%;
    margin: 0 auto;
}
.header_bottom_navi{
    width: 155px;
    padding: 15px 0;
    text-align: center;
    font-weight: 700;
}
.header_bottom_navi_logo{
    display: none;
}
*/













.header_outer_top{
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
}
.header_text_top{
    font-family: 'Noto Serif JP', serif;
    margin-top: 30px;
    font-size: 18px;
    font-weight: 900;
    color: #fff;
}
.gnav_top{
    margin: 35px 80px 0 0;
    color: #fff;
}
.gnav_top a{
    color: #fff;
}
.gnav_top ul{
    display: flex;
    width: 100%;
    list-style: none;
}
.gnav_top ul li{
    position: relative;
    padding: 0 20px;
}
.gnav_top ul li:before {
    content: "";
    display: block;
    position: absolute;
    top: 125%;
    right: 45%;
    width: 16px;
    height: 16px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translateY(-50%) rotate(135deg);
    transition: .2s;
}
.gnav_top ul li:hover:before {
    content: "";
    display: block;
    position: absolute;
    top: 170%;
    right: 45%;
    width: 16px;
    height: 16px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translateY(-50%) rotate(135deg);
}
.gnav_top a{
    display: block;
    transition: .2s;
}

/*-- その他ページ --*/
#header{
    position: relative;
    width: 100%;
    min-width: 1300px;
    height: 120px;
    margin: 0;
    z-index: 9999;
    transition: 0.5s;
    background-color: rgb(255, 255, 255,0.8);
}
.header_text{
    font-family: 'Noto Serif JP', serif;
    margin-top: 30px;
    font-size: 18px;
    font-weight: 900;
    color: #005cab;
}
.gnav{
    margin: 35px 80px 0 0;
}
.gnav ul{
    display: flex;
    width: 100%;
    list-style: none;
}
.gnav ul li{
    position: relative;
    padding: 0 20px;
}
.gnav ul li:before {
    content: "";
    display: block;
    position: absolute;
    top: 125%;
    right: 45%;
    width: 16px;
    height: 16px;
    border-top: 1px solid #464646;
    border-right: 1px solid #464646;
    transform: translateY(-50%) rotate(135deg);
    transition: .2s;
}
.gnav ul li:hover:before {
    content: "";
    display: block;
    position: absolute;
    top: 170%;
    right: 45%;
    width: 16px;
    height: 16px;
    border-top: 1px solid #464646;
    border-right: 1px solid #464646;
    transform: translateY(-50%) rotate(135deg);
}
.gnav a{
    display: block;
    transition: .2s;
}






/* -----------------------------------------------------------------
   レスポンシブ（スマホ）
----------------------------------------------------------------- */
@media screen and (max-width: 800px) {

    /* --------------------------------------------- */
    /* 基本設定
    /* --------------------------------------------- */

    /* 横のはみ出し隠す */
    html {
        scroll-behavior: smooth;
        scroll-padding-top: 85px;
    }

    body {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 16px;
        color: #464646;
        letter-spacing: 0.2em;
    }

    a {
        color: #464646;
        text-decoration: none;
        transition: .2s;
    }

    /* 文字選択色設定 */
    ::selection {
        background: #fff;
    }

    /* リンクボタン */
    /* ボタン（白） */
    .btn_white {
        position: relative;
        display: inline-block;
        width: 100%;
        margin-top: 30px;
        padding: 10px 0;
        font-size: 14px;
        text-align: center;
        text-decoration: none;
        border-radius: 5px;
        border: 1px solid #fff;
        color: #fff;
        transition: .2s;
    }

    .btn_white:hover {
        background-color: rgb(255, 255, 255, 0.2);
    }

    .btn_white::after {
        position: absolute;
        top: 50%;
        right: 25px;
        content: '';
        width: 8px;
        height: 8px;
        margin-top: -4px;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        transform: rotate(45deg);
        transition: all .2s;
    }

    .btn_white:hover::after {
        right: 20px;
    }

    /* ボタン（青） */
    .btn_blue {
        position: relative;
        display: inline-block;
        width: 100%;
        margin-top: 30px;
        padding: 10px 0;
        font-size: 14px;
        font-weight: 400;
        text-align: center;
        text-decoration: none;
        border-radius: 5px;
        border: 1px solid #005cab;
        color: #005cab;
        transition: .2s;
    }

    .btn_blue:hover {
        color: #fff;
        background-color: rgb(0, 92, 171, 0.8);
    }

    .btn_blue::after {
        position: absolute;
        top: 50%;
        right: 25px;
        content: '';
        width: 8px;
        height: 8px;
        margin-top: -4px;
        border-top: 1px solid #005cab;
        border-right: 1px solid #005cab;
        transform: rotate(45deg);
        transition: all .2s;
    }

    .btn_blue:hover::after {
        right: 20px;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
    }

    /* 横幅設定 */
    .width {
        width: 1000px;
        max-width: 1000px;
        margin: 0 auto;
    }

    /* Firefox SVG用 */
    .firefox {
        width: 100%;
    }

    /* 見出し文字 */
    .headline {
        width: 100%;
        margin-bottom: 30px;
        text-align: center;
        font-size: 14px;
        font-weight: 400;
    }

    .headline p {
        font-size: 25px;
        font-weight: 900;
        color: #005cab;
        letter-spacing: 0.1;
    }

    
    /* --------------------------------------------- */
    /* ヘッダー（ハンバーガーメニュー）
    /* --------------------------------------------- */
    .hamburger-menu{
        width: 100%;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
    /* 開閉ボタン */
    .menu-btn {
        position: fixed;
        top: 10px;
        right: 10px;
        display: flex;
        height: 45px;
        width: 45px;
        justify-content: center;
        align-items: center;
        background-color: #005cab;
        z-index: 99999;
    }
    .menu-btn span,
    .menu-btn span:before,
    .menu-btn span:after {
        content: '';
        display: block;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background-color: #ffffff;
        position: absolute;
    }
    .menu-btn span:before {
        bottom: 8px;
    }
    .menu-btn span:after {
        top: 8px;
    }
    #menu-btn-check:checked ~ .menu-btn span {
        background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
    }
    #menu-btn-check:checked ~ .menu-btn span::before {
        bottom: 0;
        transform: rotate(45deg);
        transition: .2s;
    }
    #menu-btn-check:checked ~ .menu-btn span::after {
        top: 0;
        transform: rotate(-45deg);
        transition: .2s;
    }
    #menu-btn-check {
        display: none;
    }

    /* メニュー装飾 */
    .menu-content {
        width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 99998;
        background-color: rgb(0, 92, 171,1);
    }
    .menu-content ul {
        width: 90%;
        margin: 0 auto;
        padding-top: 70px;
        list-style: none;
    }
    .menu-content ul li {
        padding: 10px 0 10px 10px;
        border-bottom: solid 1px #ffffff;
    }
    .menu-content ul li a {
        display: block;
        width: 100%;
        font-size: 15px;
        box-sizing: border-box;
        color:#ffffff;
        text-decoration: none;
        padding: 9px 15px 10px 0;
        position: relative;
    }
    .menu-content ul li a::before {
        content: "";
        width: 7px;
        height: 7px;
        border-top: solid 2px #ffffff;
        border-right: solid 2px #ffffff;
        transform: rotate(45deg);
        position: absolute;
        right: 11px;
        top: 16px;
    }

    .menu-content {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 100%;/*leftの値を変更してメニューを画面外へ*/
        background-color: rgb(0, 92, 171,0.9);
        transition: all 0.5s;/*アニメーション設定*/
        z-index: 9998;
    }
    #menu-btn-check:checked ~ .menu-content {
        left: 0;/*メニューを画面内へ*/
    }

    /* ヘッダーロゴ */
    .header_logo_res{
        margin: 20px 0 20px 20px;
    }
    .header_logo_res img{
        width: 120px;
    }

    /* ヘッダー固定解除 */
    header {
        position: static;
    }

    /* PC用ヘッダー削除 */
    #header_top{
        display: none;
    }
    #header{
        display: none;
    }
    header.scroll-nav_top {
        background: rgb(255, 255, 255, 0);
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0);
    }
    header.scroll-nav {
        background: rgb(255, 255, 255, 0);
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0);
    }

}


/* -----------------------------------------------------------------
   レスポンシブ（タブレット）
----------------------------------------------------------------- */
@media screen and (max-width: 1100px) {

    /* --------------------------------------------- */
    /* 基本設定
    /* --------------------------------------------- */

    /* 横のはみ出し隠す */
    html {
        scroll-behavior: smooth;
    }

    body {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 16px;
        color: #464646;
        letter-spacing: 0.2em;

        zoom: 0.95; 
    -moz-transform: scale(0.95); 
    -moz-transform-Origin: 0 0;
    }

    a {
        color: #464646;
        text-decoration: none;
        transition: .2s;
    }


    /* 文字選択色設定 */
    ::selection {
        background: #fff;
    }

    /* リンクボタン */
    /* ボタン（白） */
    .btn_white {
        position: relative;
        display: inline-block;
        width: 100%;
        margin-top: 30px;
        padding: 10px 0;
        font-size: 14px;
        text-align: center;
        text-decoration: none;
        border-radius: 5px;
        border: 1px solid #fff;
        color: #fff;
        transition: .2s;
    }

    .btn_white:hover {
        background-color: rgb(255, 255, 255, 0.2);
    }

    .btn_white::after {
        position: absolute;
        top: 50%;
        right: 25px;
        content: '';
        width: 8px;
        height: 8px;
        margin-top: -4px;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        transform: rotate(45deg);
        transition: all .2s;
    }

    .btn_white:hover::after {
        right: 20px;
    }

    /* ボタン（青） */
    .btn_blue {
        position: relative;
        display: inline-block;
        width: 100%;
        margin-top: 30px;
        padding: 10px 0;
        font-size: 14px;
        font-weight: 400;
        text-align: center;
        text-decoration: none;
        border-radius: 5px;
        border: 1px solid #005cab;
        color: #005cab;
        transition: .2s;
    }

    .btn_blue:hover {
        color: #fff;
        background-color: rgb(0, 92, 171, 0.8);
    }

    .btn_blue::after {
        position: absolute;
        top: 50%;
        right: 25px;
        content: '';
        width: 8px;
        height: 8px;
        margin-top: -4px;
        border-top: 1px solid #005cab;
        border-right: 1px solid #005cab;
        transform: rotate(45deg);
        transition: all .2s;
    }

    .btn_blue:hover::after {
        right: 20px;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
    }

    /* 横幅設定 */
    .width {
        width: 1000px;
        max-width: 1000px;
        margin: 0 auto;
    }

    /* Firefox SVG用 */
    .firefox {
        width: 100%;
    }

    /* 見出し文字 */
    .headline {
        width: 100%;
        margin-bottom: 30px;
        text-align: center;
        font-size: 14px;
        font-weight: 400;
    }

    .headline p {
        font-size: 25px;
        font-weight: 900;
        color: #005cab;
        letter-spacing: 0.1;
    }

    
    /* --------------------------------------------- */
    /* ヘッダー（ハンバーガーメニュー）
    /* --------------------------------------------- */
    .hamburger-menu{
        width: 100%;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
    /* 開閉ボタン */
    .menu-btn {
        position: fixed;
        top: 10px;
        right: 10px;
        display: flex;
        height: 45px;
        width: 45px;
        justify-content: center;
        align-items: center;
        background-color: #005cab;
        z-index: 99999;
    }
    .menu-btn span,
    .menu-btn span:before,
    .menu-btn span:after {
        content: '';
        display: block;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background-color: #ffffff;
        position: absolute;
    }
    .menu-btn span:before {
        bottom: 8px;
    }
    .menu-btn span:after {
        top: 8px;
    }
    #menu-btn-check:checked ~ .menu-btn span {
        background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
    }
    #menu-btn-check:checked ~ .menu-btn span::before {
        bottom: 0;
        transform: rotate(45deg);
        transition: .2s;
    }
    #menu-btn-check:checked ~ .menu-btn span::after {
        top: 0;
        transform: rotate(-45deg);
        transition: .2s;
    }
    #menu-btn-check {
        display: none;
    }

    /* メニュー装飾 */
    .menu-content {
        width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 99998;
        background-color: rgb(0, 92, 171,1);
    }
    .menu-content ul {
        width: 90%;
        margin: 0 auto;
        padding-top: 70px;
        list-style: none;
    }
    .menu-content ul li {
        padding: 10px 0 10px 10px;
        border-bottom: solid 1px #ffffff;
    }
    .menu-content ul li a {
        display: block;
        width: 100%;
        font-size: 15px;
        box-sizing: border-box;
        color:#ffffff;
        text-decoration: none;
        padding: 9px 15px 10px 0;
        position: relative;
    }
    .menu-content ul li a::before {
        content: "";
        width: 7px;
        height: 7px;
        border-top: solid 2px #ffffff;
        border-right: solid 2px #ffffff;
        transform: rotate(45deg);
        position: absolute;
        right: 11px;
        top: 16px;
    }

    .menu-content {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 100%;/*leftの値を変更してメニューを画面外へ*/
        background-color: rgb(0, 92, 171,0.9);
        transition: all 0.5s;/*アニメーション設定*/
        z-index: 9998;
    }
    #menu-btn-check:checked ~ .menu-content {
        left: 0;/*メニューを画面内へ*/
    }

    /* ヘッダーロゴ */
    .header_logo_res{
        margin: 20px 0 20px 20px;
    }
    .header_logo_res img{
        width: 120px;
    }

    /* ヘッダー固定解除 */
    header {
        position: static;
    }

    /* PC用ヘッダー削除 */
    #header_top{
        display: none;
    }
    #header{
        display: none;
    }
    header.scroll-nav_top {
        background: rgb(255, 255, 255, 0);
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0);
    }
    header.scroll-nav {
        background: rgb(255, 255, 255, 0);
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0);
    }

}