@charset "utf-8";

/* ======================================================
 * layout_sp.css
 * ------------------------------------------------------
 * @media only screen and (max-width: 767px)
 * - Common
 * - Header
 * - Gnav
 * - Main
 * - Assist
 * - Footer
 * - Other
 * - Clearfix
 * Media Queries
====================================================== */

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

    /* ------------------------------------------------------
   * Common
  ------------------------------------------------------ */
    .sp_hid {
        display: none;
    }

    #top-ishibashi {
        margin: 0 10px;
        flex: 1;
    }

    .top-ftr {
        margin: 0;
        display: flex;
        flex-flow: column;
        min-height: 100vh;

    }

    #super-wrapper-outer {
        margin: 0 10px;
    }


    /* bar */
    .bar {
        margin: 0 auto 10px auto;
        width: 257px;
        text-align: center;
        position: relative;
        padding: 20px 0 0 0;
    }

    .bar ol.bar_text {
        position: relative;
        left: 0;
        top: 0;
    }

    .bar ol {
        padding: 0;
        margin: 0;
    }

    .bar_text .current {
        font-weight: bold;
    }

    .bar_text .input {
        position: absolute;
        left: 15px;
    }

    .bar ol li {
        display: inline-block;
        list-style: none;
        padding: 0px;
        margin: 0px;
        color: #666;
    }

    .bar ol li.input:before {
        position: absolute;
        left: 28%;
        top: -20px;
        content: '';
        z-index: 2;
        border-radius: 30px;
        width: 16px;
        height: 16px;
        background: #d3d3d3;
    }

    .bar ol li.input:after {
        position: absolute;
        left: 30%;
        top: -14px;
        content: '';
        z-index: 1;
        width: 110px;
        height: 4px;
        background: #d3d3d3;
    }

    .bar ol li.confirm:before {
        position: absolute;
        left: 47%;
        top: -20px;
        content: '';
        z-index: 2;
        width: 16px;
        height: 16px;
        background: #d3d3d3;
        border-radius: 30px;
    }

    .bar ol li.confirm:after {
        position: absolute;
        left: 47%;
        top: -14px;
        content: '';
        z-index: 1;
        width: 110px;
        height: 4px;
        background: #d3d3d3;
    }

    .bar_text .comple {
        position: absolute;
        left: 212px;
    }

    .bar ol li.comple:before {
        position: absolute;
        left: 21%;
        top: -20px;
        content: '';
        z-index: 2;
        width: 16px;
        height: 16px;
        background: #d3d3d3;
        border-radius: 30px;
    }

    .bar ol li.past:before {
        background: #dae3f3;
    }

    .bar ol li.past_line:after {
        background: #dae3f3;
    }

    .bar ol li.now:before {
        background: #1f3451;
    }

    .mail-submit {
        width: 230px;
        margin: 0 auto;
    }

    .mail-submit ul {
        list-style: none;
        margin: 26px 0 25px 0;
    }

    .mail-submit ul li {
        margin: 0 0 15px 0;
    }

    .mail-submit ul li.primary {
        width: 230px;
        background: #1f3451;
        border-radius: 4px;
        color: #fff;
        text-align: center;
    }

    .mail-submit ul li.primary a {
        display: block;
        padding: 14px 0px;
        color: #1f3451;
        text-decoration: none;
    }

    li.primary a span {
        font-size: 18px;
        font-weight: bold;
        color: #fff;
        vertical-align: middle;
    }

    .mail-submit ul li:hover {
        opacity: 0.8;
    }

    .mail-submit ul li.btnView {
        width: 226px;
        background: #fff;
        border: solid 3px #1f3451;
        border-radius: 4px;
        text-align: center;
    }

    .mail-submit ul li.btnView a {
        display: block;
        padding: 12px 0px;
        color: #1f3451;
        text-decoration: none;
    }

    li.btnView a span {
        font-size: 18px;
        font-weight: bold;
        color: #1f3451;
        vertical-align: middle;
    }

    /** inputarea */
    .form-textarea {
        font-size: 17px;
        line-height: 1.23536;
        font-weight: 400;
        letter-spacing: -.022em;
        font-family: "MS Mincho", "MS 明朝", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN";
        width: 100%;
        height: 56px;
        border-radius: 12px;
        border-width: 1px;
        border-style: solid;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        margin-bottom: .82353rem;
        padding: 18px 16px 0 16px;
        text-align: left;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        height: auto;
        padding: 1.88235rem .17647rem .17647rem .17647rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .form-textarea textarea {
        font-size: 17px;
        line-height: 1.23536;
        font-weight: 400;
        letter-spacing: -.022em;
        font-family: "MS Mincho", "MS 明朝", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN";
        width: 100%;
        height: 120px;
        text-align: left;
        outline: none;
        border: 0;
        padding: 18px 16px 0 16px;
        resize: vertical;
    }

    .form-textarea.focused ~ .form-textbox-label,
    .form-textarea:focus ~ .form-textbox-label,
    .form-textarea:valid[required] ~ .form-textbox-label,
    .form-textarea[placeholder] ~ .form-textbox-label,
    .form-textarea.form-textbox-entered ~ .form-textbox-label,
    .form-textarea-input.focused ~ .form-textbox-label,
    .form-textarea-input:focus ~ .form-textbox-label,
    .form-textarea-input:valid[required] ~ .form-textbox-label,
    .form-textarea-input[placeholder] ~ .form-textbox-label,
    .form-textarea-input.form-textbox-entered ~ .form-textbox-label {
        font-size: 12px;
        line-height: 1.33337;
        font-weight: 400;
        letter-spacing: -.01em;
        font-family: "MS Mincho", "MS 明朝", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN";
        top: .58824rem;
    }

    .form-textbox {
        position: relative;
        width: 80%;
        margin: 0 auto;
    }

    .form-textbox-input {
        font-size: 17px;
        line-height: 1.23536;
        font-weight: 400;
        letter-spacing: -.022em;
        font-family: "MS Mincho", "MS 明朝", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN";
        width: 100%;
        height: 56px;
        border-radius: 12px;
        border-width: 1px;
        border-style: solid;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        margin-bottom: .82353rem;
        padding: 18px 16px 0 16px;
        text-align: left;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }

    .form-textbox .form-textbox-label {
        color: #86868b;
    }

    .form-textbox-label {
        position: absolute;
        pointer-events: none;
        -webkit-transition-timing-function: ease-in;
        transition-timing-function: ease-in;
        -webkit-transition-duration: .125s;
        transition-duration: .125s;
        top: 17px;
        white-space: nowrap;
        overflow: hidden;
        max-width: calc(100% - 32px);
        left: 17px;
        font-size: 17px;
        line-height: 1.23536;
        font-weight: 400;
        letter-spacing: -.022em;
        font-family: "MS Mincho", "MS 明朝", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN";
    }

    .form-message-wrapper {
        font-size: 12px;
        line-height: 1.33337;
        font-weight: 400;
        letter-spacing: -.01em;
        font-family: "MS Mincho", "MS 明朝", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN";
        color: #e30000;
        position: relative;
        margin-top: .47059rem;
        margin-bottom: .70588rem;
        display: none;
    }

    .form-message-wrapper::before {
        padding-right: .17647rem;
        top: .17647rem;
    }

    .form-message-wrapper::before {
        padding-right: .3em;
        display: inline-block;
        top: 0;
    }

    .form-message-wrapper::before,
    .form-message-wrapper::after {
        text-decoration: none;
    }

    .form-message-wrapper::before,
    .form-message-wrapper::after {
        font-family: "SF Pro Icons";
        color: inherit;
        display: inline-block;
        font-style: normal;
        font-weight: inherit;
        font-size: inherit;
        line-height: 1;
        text-decoration: underline;
        position: relative;
        z-index: 1;
        alt: '';
    }

    .form-textbox.is-error .form-textarea:not(.focused),
    .form-textbox.is-error .form-textbox-input:not(:focus) {
        border-color: #e30000;
        background-color: #fff2f4;
    }

    .form-textbox.is-error .form-textarea:not(.focused) .form-textarea-input {

        border-color: #e30000;
        background-color: #fff2f4;
    }

    .is-error .form-textbox-input {
        margin-bottom: 0;
    }

    .form-textbox .form-textarea,
    .form-textbox .form-textbox-input {
        color: #1d1d1f;
        border-color: #d2d2d7;
        background-color: rgba(255, 255, 255, 0.8);
    }

    .form-textbox.is-error .form-textbox-label {
        color: #e30000;
    }

    .is-error .form-message-wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .visuallyhidden {
        position: absolute;
        clip: rect(1px, 1px, 1px, 1px);
        -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
        clip-path: inset(0px 0px 99.9% 99.9%);
        overflow: hidden;
        height: 1px;
        width: 1px;
        padding: 0;
        border: 0;
    }

    .sosumi .typography-caption {
        width: 80%;
        margin: 0 auto;
        color: #86868b;
    }

    .form-textbox .form-textarea:focus,
    .form-textbox .form-textarea.focused,
    .form-textbox .form-textbox-input:focus,
    .form-textbox .form-textbox-input.focused {
        border-color: #0071e3;
    }

    .form-textbox-input.focused,
    .form-textbox-input:focus {
        -webkit-box-shadow: 0 0 0 4px rgb(0 125 250 / 60%);
        box-shadow: 0 0 0 4px rgb(0 125 250 / 60%);
        outline: none;
    }

    .form-textbox-input.focused ~ .form-textbox-label,
    .form-textbox-input:focus ~ .form-textbox-label,
    .form-textbox-input:valid[required] ~ .form-textbox-label,
    .form-textbox-input[placeholder] ~ .form-textbox-label,
    .form-textbox-input.form-textbox-entered ~ .form-textbox-label {
        font-size: 12px;
        line-height: 1.33337;
        font-weight: 400;
        letter-spacing: -.01em;
        font-family: "MS Mincho", "MS 明朝", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN";
        top: .58824rem;
    }

    form-textarea-input:focus,
    .form-textarea.focused {
        border-color: #0071e3;
        -webkit-box-shadow: 0 0 0 4px rgb(0 125 250 / 60%);
        box-shadow: 0 0 0 4px rgb(0 125 250 / 60%);
    }

    .input-description {
        font-size: 13px;
    }

    .menu-box {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-top: 40px;
    }

    .menu-box a:hover {
        opacity: 0.8;
    }

    .menu-box .menu-box-item {
        margin: 0.4em;
        flex: 1 1 auto;
        width: calc(50% - 0.8em);
        margin-bottom: 10px;
        background: #fff;
        border-radius: 8px;
        overflow: hidden;
        border: 1px;
        border-style: solid;
        border-color: #1D5D9C;

    }

    .menu-box .menu-box-item .menu-box-item-inner {
        padding-left: 10px;
        padding-right: 10px;
        display: block;
        padding: 20px;
        width: 100%;
        height: 100%;
        text-decoration: none;
        position: relative;
        box-sizing: border-box;
        z-index: 1;
        background: #fff;
        border-radius: 10px;
    }

    .menu-box-icon {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
        display: table-cell;
        vertical-align: middle;
        width: 53px;
        display: block;
    }

    .menu-box-text {
        display: table;
        margin-top: 10px;
        padding: 0;
        text-align: center;
        height: 40px;
        margin-left: auto;
        margin-right: auto;
    }

    .menu-box-text p {
        display: table-cell;
        vertical-align: middle;
        font-size: 12px;
        line-height: 1.28;
        color: #000;
        font-weight: bold;
        margin-top: 5px !important;
    }

    .menu-box-item-inner:after {
        right: 15px;
        top: 70%;
        border-color: #1D5D9C;
        border-width: 2px;
    }

    .menu-box-item a:after {
        content: "";
        display: block;
        border-top: solid 2px #1D5D9C;
        border-right: solid 2px #1D5D9C;
        vertical-align: middle;
        width: 6px;
        height: 6px;
        position: absolute;
        transform: rotate(45deg);
        z-index: 0;
    }

    /* ------------------------------------------------------
   * Header
  ------------------------------------------------------ */
    .Header {
        height: 105px;
    }

    .HeaderBody {
        width: 100%;
        position: fixed;
        background: #fff;
        box-shadow: 0px 1px 3px 2px rgba(0, 0, 0, 0.2);
        z-index: 999;
    }

    .HeaderBody .header-block {
        display: -webkit-flex;
        display: flex;
        width: 100%;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

    .HeaderBody .header-identity {
        width: 180px;
        -webkit-flex: 0 0 180px;
        flex: 0 0 180px;
        -webkit-align-self: center;
        align-self: center;
        margin-left: 5px;
    }

    .Header.is-simple .HeaderBody {
        position: static;
    }

    .Header.is-simple .HeaderBody .header-block {
        height: 50px;
    }

    /* ------------------------------------------------------
   * SP Navi
  ------------------------------------------------------ */
    #top-sp-nav .nav_list {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

    #top-sp-nav .nav_list > li {
        display: -webkit-flex;
        display: flex;
        -webit-align-items: stretch;
        align-items: stretch;
        width: calc(100% / 5);
        min-height: 55px;
        font-size: 1.3rem;
    }

    #top-sp-nav .nav_list > li + li {
        border-left: 1px solid #fff;
    }

    #top-sp-nav .nav_list > li.is-current > a {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        -webit-align-items: center;
        align-items: center;
        width: 100%;
        background: #163552;
        font-size: 1.3rem;
        font-weight: bold;
        color: #fff;
        text-align: center;
        text-decoration: none;
        line-height: 1.3;
        font-size: 11px;
    }

    #top-sp-nav .nav_list > li > a {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        -webit-align-items: center;
        align-items: center;
        width: 100%;
        background: #1D5D9C;
        font-size: 1.3rem;
        font-weight: bold;
        color: #fff;
        text-align: center;
        text-decoration: none;
        line-height: 1.3;
        font-size: 11px;
    }

    #top-sp-nav .nav_list > li > a > span > img {
        height: 25px;
        margin-bottom: 5px;
    }

    /* ------------------------------------------------------
   * Gnav
  ------------------------------------------------------ */
    .Gnav {}

    .Gnav .gnavList,
    .Gnav .gnavSearch {
        display: none;
    }

    .Gnav .gnavUtil {
        display: -webkit-flex;
        display: flex;
    }

    .Gnav .gnavUtil {
        -webkit-align-self: flex-end;
        align-self: flex-end;
    }

    .Gnav .gnavUtil > li {
        width: 60px;
        height: 50px;
    }

    .Gnav .gnavUtil > li > a {
        position: relative;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: flex-end;
        align-items: flex-end;
        -webkit-justify-content: center;
        justify-content: center;
        height: 100%;
        padding-bottom: 4px;
        color: #333;
        font-size: .9rem;
        text-decoration: none;
    }

    .Gnav .gnavUtil > .contact,
    .Gnav .gnavUtil > .sitemap,
    .Gnav .gnavUtil > .language {
        display: none;
    }

    .Gnav .gnavUtil > .search > a::before {
        position: absolute;
        display: block;
        width: 22px;
        height: 22px;
        top: 8px;
        left: 50%;
        margin-left: -11px;
        background: url(/shared/img/com_menu_sprite01.png) 0 -250px no-repeat;
        -webkit-background-size: 245px auto;
        background-size: 245px auto;
        content: "";
    }

    .Gnav .gnavUtil > .sp-menu > a.is-open {
        background: #808080;
        color: #fff;
    }

    .Gnav .gnavUtil > .sp-menu > a [class*="line"] {
        position: absolute;
        display: block;
        width: 25px;
        height: 2px;
        left: 50%;
        margin-left: -12px;
        background: #333333;
        -webkit-transition: all .3s;
        transition: all .3s;
    }

    .Gnav .gnavUtil > .sp-menu > a.is-open [class*="line"] {
        background: #fff;
    }

    .Gnav .gnavUtil > .sp-menu > a .line01 {
        top: 10px;
    }

    .Gnav .gnavUtil > .sp-menu > a .line02 {
        top: 18px;
    }

    .Gnav .gnavUtil > .sp-menu > a .line03 {
        top: 26px;
    }

    .Gnav .gnavUtil > .sp-menu > a.is-open .line01 {
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
        top: 15px;
    }

    .Gnav .gnavUtil > .sp-menu > a.is-open .line02 {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
        opacity: 0;
    }

    .Gnav .gnavUtil > .sp-menu > a.is-open .line03 {
        -webkit-transform: rotate(-135deg);
        transform: rotate(-135deg);
        top: 15px;
    }

    .Gnav .gnavList {
        position: fixed;
        top: 50px;
        left: 0;
        width: 100%;
        max-height: calc(100vh - 50px);
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        background: #f2f2f2;
    }

    .Gnav .gnavList .mega-menu,
    .Gnav .gnavList .mega_close {
        display: none;
    }

    .Gnav .gnavList a {
        color: #333;

        text-decoration: none;
    }

    .Gnav .gnavList > li > a,
    .Gnav .gnavList_child > li > a {
        display: block;
        text-decoration: none;
    }

    .Gnav .gnavList > li.list_primary > a {
        position: relative;
        padding: 15px 35px 15px 15px;
        background: #00307c;
        border-bottom: 1px solid #d9d9d9;
        font-size: 1.6rem;
        color: #fff;
    }

    .Gnav .gnavList > li.list_primary:not([class*="has-"]) > a::before {
        position: absolute;
        display: block;
        top: 50%;
        right: 15px;
        width: 8px;
        height: 8px;
        margin-top: -4px;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        content: "";
    }

    .Gnav .gnavList > li.list_primary.has-menu > a::before,
    .Gnav .gnavList > li.list_primary.has-menu > a::after,
    .Gnav .gnavList > li.list_primary.has-child > a::before,
    .Gnav .gnavList > li.list_primary.has-child > a::after {
        position: absolute;
        display: block;
        top: 50%;
        right: 15px;
        width: 15px;
        height: 2px;
        margin-top: -1px;
        background: #fff;
        content: "";
        -webkit-transition: transform .3s;
        transition: transform .3s;
    }

    .Gnav .gnavList > li.list_primary.has-menu > a::after,
    .Gnav .gnavList > li.list_primary.has-child > a::after {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }

    .Gnav .gnavList > li.list_primary.has-menu.is-open > a::after,
    .Gnav .gnavList > li.list_primary.has-child.is-open > a::after {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }

    .Gnav .gnavList_child {
        display: none;
        padding: 0 15px 30px;
    }

    .Gnav .gnavList_child > li.list_secondary > a {
        position: relative;
        padding: 15px 30px 15px 0;
        border-bottom: 1px solid #d9d9d9;
    }

    .Gnav .gnavList_child > li.list_secondary.has-menu > a::before,
    .Gnav .gnavList_child > li.list_secondary.has-menu > a::after {
        position: absolute;
        display: block;
        top: 50%;
        right: 0;
        width: 15px;
        height: 2px;
        margin-top: -1px;
        background: #888;
        content: "";
        -webkit-transition: transform .3s;
        transition: transform .3s;
    }

    .Gnav .gnavList_child > li.list_secondary.has-menu > a::after {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }

    .Gnav .gnavList_child > li.list_secondary.has-menu.is-open > a::after {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }

    .Gnav .gnavList_child > li.list_secondary .mega-menu {
        padding-top: 10px;
    }

    .Gnav .mega-menu .mega_tab-list .mega_link-panel {
        display: none;
    }

    .Gnav .mega-block {
        padding: 0 15px;
    }

    .Gnav .mega_link-top {
        margin: 0 -15px;
        border-bottom: 1px solid #d9d9d9;
    }

    .Gnav .mega_link-top a,
    .Gnav .mega_link-top-v2 a {
        position: relative;
        display: block;
        padding: 15px 35px 15px 15px;
        font-size: 1.4rem;
    }

    .Gnav .mega_link-top-v2 {
        margin: 10px 0;
    }

    .Gnav .mega_link-top-v2 a {
        padding: 12px;
        background: #fff;
        border: 1px solid #ddd;
        text-align: center;
    }

    .Gnav .mega_link-top a::before,
    .Gnav .mega_link-top-v2 a::before {
        position: absolute;
        display: block;
        top: 50%;
        right: 15px;
        width: 8px;
        height: 8px;
        margin-top: -4px;
        border-top: 1px solid #666;
        border-right: 1px solid #666;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        content: "";
    }

    .Gnav .list_secondary .mega_link-top {
        margin: 0;
        border-bottom: none;
    }

    .Gnav .list_secondary .mega_link-top a,
    .Gnav .list_secondary .mega_link-top-v2 a {
        position: relative;
        display: block;
        padding: 10px 0 10px 13px;
        font-size: 1.4rem;
    }

    .Gnav .list_secondary .mega_link-top a::before,
    .Gnav .list_secondary .mega_link-top-v2 a::before {
        right: inherit;
        left: 0;
        width: 6px;
        height: 6px;
        margin-top: -4px;
    }

    .Gnav .list_secondary .mega_link-top-v2 a::before {
        left: 10px;
    }

    .Gnav .mega-menu .block_ss_search {
        margin-top: 20px;
    }

    .Gnav .mega-menu .hd-ss-search {
        position: relative;
    }

    .Gnav .mega-menu .hd-ss-search .hd-ss-search_input {
        width: 100%;
        height: 45px;
        margin: 0;
        padding: 0 15px;
        background: #fff;
        border: 1px solid #ccc;
        -webkit-box-shadow: none;
        box-shadow: none;
        -webkit-border-radius: 0;
        border-radius: 0;
        -webkit-appearance: none;
        appearance: none;
        font-size: 11px;
        line-height: 43px;
    }

    .Gnav .mega-menu .hd-ss-search .hd-ss-search_submit {
        position: relative;
        display: block;
        width: 200px;
        height: 45px;
        background: #00307c;
        border: none;
        margin: 10px auto 0;
        padding: 0;
        text-align: center;
        font-size: 14px;
        color: #fff;
        cursor: pointer;
        -webkit-border-radius: 0;
        border-radius: 0;
        -webkit-appearance: none;
        appearance: none;
    }

    .Gnav .mega-menu .hd-ss-search .hd-ss-search_icon {
        position: absolute;
        display: block;
        width: 16px;
        height: 15px;
        bottom: 0;
        left: 50%;
        margin-bottom: 16px;
        margin-left: -3em;
        background: url(/shared/img/com_menu_sprite01.png) -25px -250px no-repeat;
        -webkit-background-size: 245px auto;
        background-size: 245px auto;
        text-indent: -9999px;
        cursor: pointer;
        z-index: 2;
    }

    .Gnav .mega-menu .mega_link-list {
        padding: 35px 0 25px;
    }

    .Gnav .mega-menu .mega_link-list > li {
        margin-top: .5em;
    }

    .Gnav .mega-menu .mega_link-list > li > a {
        display: inline-block;
        position: relative;
        padding-left: 12px;
        color: #333;
        text-decoration: none;
        font-size: 1.4rem;
    }

    .Gnav .mega-menu .mega_link-list > li > a::before {
        position: absolute;
        display: block;
        top: .5em;
        left: 0;
        width: 6px;
        height: 6px;
        border-top: 1px solid #666;
        border-right: 1px solid #666;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        content: "";
    }

    .Gnav .mega-menu .mega_tab-list > li > a {
        position: relative;
        display: block;
        padding: 15px 35px 15px 0;
        border-bottom: 1px solid #d9d9d9;
        font-size: 1.4rem;
    }

    .Gnav .mega-menu .mega_tab-list > li > a::before,
    .Gnav .mega-menu .mega_tab-list > li > a::after {
        position: absolute;
        display: block;
        top: 50%;
        right: 0;
        width: 14px;
        height: 2px;
        margin-top: -1px;
        background: #888;
        content: "";
        -webkit-transition: transform .3s;
        transition: transform .3s;
    }

    .Gnav .mega-menu .mega_tab-list > li > a::after {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }

    .Gnav .mega-menu .mega_tab-list > li.is-open > a::after {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }

    .Gnav .mega-menu .mega_link-panel {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-flow: row wrap;
        flex-flow: row wrap;
        padding: 25px 0 10px;
    }

    .Gnav .mega-menu .mega_link-panel[style*="block"] {
        display: -webkit-flex !important;
        display: flex !important;
    }

    .Gnav .mega-menu .mega_link-panel > li {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: stretch;
        align-items: stretch;
        border-top: 1px solid #eee;
        border-left: 1px solid #eee;
    }

    .Gnav .mega-menu .mega_link-panel[data-grid-sp="2"] > li {
        width: 50%;
    }

    .Gnav .mega-menu .mega_link-panel[data-grid-sp="3"] > li {
        width: 33.3%;
    }

    .Gnav .mega-menu .mega_link-panel[data-grid-sp="2"] > li:nth-child(-n+2),
    .Gnav .mega-menu .mega_link-panel[data-grid-sp="3"] > li:nth-child(-n+3) {
        border-top: none;
    }

    .Gnav .mega-menu .mega_link-panel[data-grid-sp="2"] > li:nth-child(2n+1),
    .Gnav .mega-menu .mega_link-panel[data-grid-sp="3"] > li:nth-child(3n+1) {
        border-left: none;
    }

    .Gnav .mega-menu .mega_link-panel > li > a {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-flow: column;
        flex-flow: column;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        -webkit-flex-grow: 1;
        flex-grow: 1;
        width: 100%;
        min-height: 85px;
        padding: 10px 0;
        background: #fff;
        text-decoration: none;
        color: #333;
    }

    .Gnav .mega-menu .mega_link-panel > li {}

    .Gnav .mega-menu .mega_link-panel > li.mega_link-panel_top {
        width: 100%;
        margin-top: 20px;
        border: none;
    }

    .Gnav .mega-menu .mega_link-panel > li.mega_link-panel_top > a {
        position: relative;
        display: block;
        padding: 12px;
        background: #fff;
        border: 1px solid #ddd;
        min-height: 0;
        text-align: center;
    }

    .Gnav .mega-menu .mega_link-panel > li.mega_link-panel_top > a::before {
        position: absolute;
        display: block;
        top: 50%;
        left: 10px;
        width: 6px;
        height: 6px;
        margin-top: -4px;
        border-top: 1px solid #666;
        border-right: 1px solid #666;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        content: "";
    }

    .Gnav .mega-menu .mega_link-panel .link_label {
        font-size: 1.3rem;
        text-align: center;
        line-height: 1.3;
    }

    .Gnav .mega-menu .mega_link-panel [class*="i-mega"] {
        display: block;
        margin-bottom: 7px;
        background-image: url(/shared/img/com_menu_sprite01.png);
        -webkit-background-size: 245px auto;
        background-size: 245px auto;
        background-repeat: no-repeat;
    }

    .Gnav .mega-menu .mega_link-panel[data-grid-sp="2"] > li > a {
        -webkit-flex-flow: row;
        flex-flow: row;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        min-height: 55px;
        padding: 15px 10px 15px 5px;
        background: #fff;
        text-decoration: none;
        color: #333;
    }

    .Gnav .mega-menu .mega_link-panel[data-grid-sp="2"] .link_label {
        flex: 0 0 calc(100% - 40px);
        text-align: left;
    }

    .Gnav .mega-menu .mega_link-panel[data-grid-sp="2"] [class*="i-mega"] {
        margin: 0 auto;
        -webkit-flex-grow: 0;
        flex-grow: 0;
        -webkit-flex-shrink: 0;
        flex-shrink: 0;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega01 {
        width: 18px;
        height: 18px;
        background-position: 0 -25px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega02 {
        width: 18px;
        height: 16px;
        background-position: -25px -25px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega03 {
        width: 17px;
        height: 19px;
        background-position: -50px -25px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega04 {
        width: 15px;
        height: 22px;
        background-position: -75px -25px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega05 {
        width: 18px;
        height: 18px;
        background-position: -100px -25px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega06 {
        width: 22px;
        height: 22px;
        background-position: -125px -25px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega07 {
        width: 19px;
        height: 19px;
        background-position: -175px -25px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega08 {
        width: 19px;
        height: 19px;
        background-position: -200px -25px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega09 {
        width: 24px;
        height: 22px;
        background-position: 0 -50px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega10 {
        width: 20px;
        height: 21px;
        background-position: -25px -50px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega11 {
        width: 16px;
        height: 22px;
        background-position: -50px -50px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega12 {
        width: 24px;
        height: 19px;
        background-position: -75px -50px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega13 {
        width: 36px;
        height: 25px;
        background-position: -125px -50px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega14 {
        width: 29px;
        height: 19px;
        background-position: -175px -50px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega15 {
        width: 22px;
        height: 18px;
        background-position: 0 -75px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega16 {
        width: 24px;
        height: 20px;
        background-position: -25px -75px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega17 {
        width: 26px;
        height: 21px;
        background-position: -75px -75px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega18 {
        width: 19px;
        height: 21px;
        background-position: -125px -75px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega19 {
        width: 22px;
        height: 20px;
        background-position: -150px -75px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega20 {
        width: 22px;
        height: 19px;
        background-position: -175px -75px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega21 {
        width: 19px;
        height: 19px;
        background-position: 0 -100px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega22 {
        width: 29px;
        height: 15px;
        background-position: -25px -100px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega23 {
        width: 23px;
        height: 25px;
        background-position: -75px -100px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega24 {
        width: 26px;
        height: 23px;
        background-position: -100px -100px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega25 {
        width: 24px;
        height: 24px;
        background-position: -175px -100px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega26 {
        width: 16px;
        height: 24px;
        background-position: -200px -100px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega27 {
        width: 26px;
        height: 23px;
        background-position: 0 -125px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega28 {
        width: 21px;
        height: 21px;
        background-position: -50px -125px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega29 {
        width: 20px;
        height: 24px;
        background-position: -75px -125px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega30 {
        width: 21px;
        height: 21px;
        background-position: -100px -125px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega31 {
        width: 24px;
        height: 22px;
        background-position: -125px -125px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega32 {
        width: 27px;
        height: 21px;
        background-position: -150px -125px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega33 {
        width: 19px;
        height: 25px;
        background-position: -200px -125px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega34 {
        width: 28px;
        height: 24px;
        background-position: 0 -150px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega35 {
        width: 20px;
        height: 25px;
        background-position: -50px -150px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega36 {
        width: 30px;
        height: 27px;
        background-position: -75px -150px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega37 {
        width: 32px;
        height: 24px;
        background-position: -125px -150px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega38 {
        width: 25px;
        height: 26px;
        background-position: -175px -150px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega39 {
        width: 37px;
        height: 21px;
        background-position: 0 -175px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega40 {
        width: 30px;
        height: 22px;
        background-position: -50px -175px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega41 {
        width: 25px;
        height: 27px;
        background-position: -125px -175px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega42 {
        width: 30px;
        height: 20px;
        background-position: 0 -200px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega43 {
        width: 19px;
        height: 23px;
        background-position: -50px -200px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega44 {
        width: 19px;
        height: 24px;
        background-position: -75px -200px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega45 {
        width: 26px;
        height: 22px;
        background-position: -150px -200px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega46 {
        width: 36px;
        height: 24px;
        background-position: -200px -200px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega47 {
        width: 23px;
        height: 19px;
        background-position: 0 -225px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega48 {
        width: 33px;
        height: 22px;
        background-position: -25px -225px;
    }

    .Gnav .mega-menu .mega_link-panel .i-mega49 {
        width: 29px;
        height: 21px;
        background-position: -75px -225px;
    }

    .Gnav .mega-menu .mega_more-box {
        margin-top: 40px;
        margin-bottom: 20px;
        padding: 13px 20px 15px;
        background: #fff;
    }

    .Gnav .mega-menu .mega_more_lead {
        font-weight: bold;
        text-align: center;
    }

    .Gnav .mega-menu .mega_more_lead + .mega_more_btn {
        margin-top: 10px;
    }

    .Gnav .mega-menu .mega_more_btn a {
        position: relative;
        display: -webkit-flex;
        display: flex;
        width: 100%;
        height: 45px;
        padding: 12px 14px;
        border: 1px solid #ddd;
        background: #fff;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
        text-decoration: none;
        color: #333;
    }

    .Gnav .mega-menu .mega_more_btn a::after {
        position: absolute;
        display: block;
        width: 30px;
        height: 25px;
        left: 14px;
        top: 50%;
        margin-top: -12px;
        background: url(/shared/img/com_menu_sprite01.png) -150px -225px no-repeat;
        -webkit-background-size: 245px auto;
        background-size: 245px auto;
        content: "";
    }

    .Gnav .mega-menu .mega_more_btn a > span {
        position: relative;
        display: inline-block;
        padding-left: 16px;
    }

    .Gnav .mega-menu .mega_more_btn a > span::after {
        position: absolute;
        display: block;
        top: .5em;
        left: 0;
        width: 6px;
        height: 6px;
        border-top: 1px solid #666;
        border-right: 1px solid #666;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        content: "";
        -webkit-transition: border .3s;
        -o-transition: border .3s;
        transition: border .3s;
    }

    .Gnav .mega-menu .mega_banner-list > li + li {
        margin-top: 15px;
    }

    .Gnav .mega-menu .mega_banner-list > li > a {
        position: relative;
        display: block;
        color: #333;
    }

    .Gnav .mega-menu .mega_banner-list .banner_label {
        position: absolute;
        top: 0;
        left: 0;
        -webkit-display: flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        width: 100%;
        height: 100%;
        padding-left: 15px;
    }

    .Gnav .mega-menu .mega_banner-list .banner_label > span {
        position: relative;
        display: inline-block;
        padding-left: 18px;
        font-size: 1.8rem;
        font-weight: bold;
    }

    .Gnav .mega-menu .mega_banner-list .banner_label > span::before {
        position: absolute;
        display: block;
        top: .4em;
        left: 0;
        width: 10px;
        height: 10px;
        border-top: 1px solid #666;
        border-right: 1px solid #666;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        content: "";
    }

    .Gnav .gnavList .sp-menu_bottom {
        padding: 40px 15px 60px;
        background: #e6e6e6;
    }

    .Gnav .gnavList .sp-menu_bottom .menu_list > li + li {
        margin-top: 15px;
    }

    .Gnav .gnavList .sp-menu_bottom .menu_list > li > a {
        position: relative;
        display: block;
        text-align: center;
        text-decoration: none;
    }

    .Gnav .gnavList .sp-menu_bottom .menu_list > li.contact > a {
        padding: 13px 25px;
        background: #00307c;
        font-size: 1.6rem;
        color: #fff;
    }

    .Gnav .gnavList .sp-menu_bottom .menu_list > li.sitemap > a,
    .Gnav .gnavList .sp-menu_bottom .menu_list > li.language > a {
        padding: 7px 25px;
        background: #fff;
        font-size: 1.6rem;
        color: #333;
    }

    .Gnav .gnavList .sp-menu_bottom .menu_list > li > a::before {
        position: absolute;
        display: block;
        top: 50%;
        left: 15px;
        width: 8px;
        height: 8px;
        margin-top: -4px;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        content: "";
    }

    .Gnav .gnavList .sp-menu_bottom .menu_list > li.contact > a::before {
        border-color: #fff;
    }

    .Gnav .gnavList .sp-menu_bottom .menu_list > li.sitemap > a::before,
    .Gnav .gnavList .sp-menu_bottom .menu_list > li.language > a::before {
        border-color: #666;
    }

    #MenuSkin {
        position: fixed;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 900;
    }

    .Gnav .gnavSearch {
        display: none;
        position: fixed;
        width: 100vw;
        height: 100vh;
        top: 0;
        left: 0;
        background: rgba(0, 0, 0, 0.5);
    }

    .Gnav .gnavSearch .search_block {
        position: relative;
        width: 100%;
        padding: 0 15px;
        min-height: 180px;
        top: 50%;
        margin: -90px auto 0;
    }

    .Gnav .gnavSearch .site-search {
        position: relative;
    }

    .Gnav .gnavSearch .site-search .search_input {
        display: block;
        width: 100%;
        height: 46px;
        border: 0;
        margin: 0;
        padding: 0 20px;
        font-size: 16px;
        background: #fff;
        -webkit-border-radius: 0;
        border-radius: 0;
        -webkit-appearance: none;
        appearance: none;
    }

    .Gnav .gnavSearch .site-search .search_submit {
        position: relative;
        display: block;
        width: 200px;
        height: 45px;
        background: #00307c;
        border: 1px solid #fff;
        margin: 14px auto 0;
        padding: 0;
        text-align: center;
        font-size: 14px;
        color: #fff;
        cursor: pointer;
        -webkit-border-radius: 0;
        border-radius: 0;
        -webkit-appearance: none;
        appearance: none;
    }

    .Gnav .gnavSearch .site-search .search_icon {
        position: absolute;
        display: block;
        width: 16px;
        height: 15px;
        bottom: 0;
        left: 50%;
        margin-bottom: 16px;
        margin-left: -3em;
        background: url(/shared/img/com_menu_sprite01.png) -25px -250px no-repeat;
        -webkit-background-size: 245px auto;
        background-size: 245px auto;
        text-indent: -9999px;
        cursor: pointer;
        z-index: 2;
    }

    .Gnav .gnavSearch .search_block .search_close {
        width: 200px;
        margin: 28px auto 0;
    }

    .Gnav .gnavSearch .search_block .search_close a {
        display: block;
        padding: 12px 0;
        background: rgba(0, 0, 0, 0.3);
        border: 1px solid #fff;
        font-size: 1.4rem;
        color: #fff;
        text-align: center;
        text-decoration: none;
    }

    .Gnav .gnavSearch .search_block .search_close a > span {
        position: relative;
        display: inline-block;
        padding-left: 20px;
    }

    .Gnav .gnavSearch .search_block .search_close a > span::before,
    .Gnav .gnavSearch .search_block .search_close a > span::after {
        display: block;
        position: absolute;
        width: 15px;
        height: 2px;
        background: #fff;
        top: 50%;
        left: 0;
        margin-top: -1px;
        content: "";
        -webkit-transition: background .3s;
        transition: background .3s;
    }

    .Gnav .gnavSearch .search_block .search_close a > span::before {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .Gnav .gnavSearch .search_block .search_close a > span::after {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .Gnav .mega-menu .mega-frontline {
        margin: 10px 0 50px;
    }

    .Gnav .mega-menu .mega-frontline .content_heading {
        font-size: 2.1rem;
        font-weight: bold;
        text-align: center;
    }

    .Gnav .mega-menu .mega-frontline .column_item > a {
        margin-top: 15px;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

    .Gnav .mega-menu .mega-frontline .column_item > a > .mega-fl_image,
    .Gnav .mega-menu .mega-frontline .column_item > a > .mega-fl_title {
        width: 48.5%;
    }

    .Gnav .mega-menu .mega-frontline .column_item > a > .mega-fl_title {
        display: inline-block;
        position: relative;
        font-size: 1.8rem;
        font-weight: bold;
        margin-top: 5px;
        padding-left: 18px;
    }

    .Gnav .mega-menu .mega-frontline .column_item > a > .mega-fl_title::before {
        position: absolute;
        display: block;
        top: .4em;
        left: 0;
        width: 8px;
        height: 8px;
        border-top: 1px solid #666;
        border-right: 1px solid #666;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        content: "";
    }

    .Gnav .twitter > .twitter-link > img {
        height: 38px;
    }

    .Gnav .instagram > .instagram-link > img {
        height: 38px;
    }

    /* ------------------------------------------------------
   * Main
  ------------------------------------------------------ */
    /* ----- pageGuide ----- */
    .pageGuide {
        display: none;
    }

    .pageGuide > *:first-child {
        margin-top: 0 !important;
    }

    /* ----- pageHead ----- */
    .pageHead > *:first-child {
        margin-top: 0 !important;
    }

    /* ----- fontSize ----- */
    .pageHead .fontSize {
        display: none;
    }

    /* ----- container ----- */
    .container {
        overflow: hidden;
        /*    padding: 0 15px 35px;*/
    }

    /* contents */
    .contents > *:first-child,
    .contents > section:first-child > *:first-child {
        margin-top: 0 !important;
    }

    /* pageLead */
    .pageLead {
        padding: 30px 0 0;
    }

    /* sidebar */
    .sidebar .sidebar-nav {
        display: none !important;
    }

    .sidebar .sidebar-banner {
        margin-top: 30px;
    }

    .sidebar .sidebar-banner .banner_list > li {
        text-align: center;
    }

    .sidebar .sidebar-banner .banner_list > li + li {
        margin-top: 20px;
    }

    .sidebar .sidebar-banner .banner_list > li img {
        width: 240px;
        height: auto;
    }

    /* sidebar-contact */
    .sidebar .sidebar-contact {
        margin-top: 30px;
    }

    .sidebar .sidebar-contact .contact_title {
        font-size: 2.1rem;
        font-weight: bold;
        text-align: center;
    }

    .sidebar .sidebar-contact .contact_link > li {
        margin-top: 20px;
    }

    .sidebar .sidebar-contact .contact_link > li > a {
        display: block;
        position: relative;
        padding: 13px 20px 12px;
        border: 1px solid #00307c;
        background-color: #00307c;
        font-size: 1.8rem;
        font-weight: bold;
        color: #fff;
        line-height: 1.5;
        text-align: center;
        text-decoration: none;
    }

    .sidebar .sidebar-contact .contact_link > li.link01 > a {
        padding: 13px 55px 12px;
    }

    .sidebar .sidebar-contact .contact_link > li.link02 > a {
        padding: 13px 60px 12px;
    }

    .sidebar .sidebar-contact .contact_link > li > a::before {
        position: absolute;
        display: block;
        top: 50%;
        left: 20px;
        width: 5px;
        height: 5px;
        margin-top: -3px;
        background-image: url(/shared/img/com_sprite01@2x.png);
        -webkit-background-size: 490px auto;
        background-size: 490px auto;
        content: "";
    }

    .sidebar .sidebar-contact .contact_link > li.link01 > a::before {
        width: 33px;
        height: 26px;
        top: 50%;
        left: 20px;
        margin-top: -13px;
        background-position: -150px -50px;
    }

    .sidebar .sidebar-contact .contact_link > li.link02 > a::before {
        width: 40px;
        height: 35px;
        top: 50%;
        left: 20px;
        margin-top: -17px;
        background-position: -200px -50px;
    }

    .sidebar .sidebar-contact .contact_link .link_label {
        position: relative;
        padding-left: 26px;
    }

    .sidebar .sidebar-contact .contact_link .link_label::before {
        position: absolute;
        top: 0.2em;
        left: 0;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        width: 10px;
        height: 10px;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        content: "";
    }

    /* ------------------------------------------------------
   * Assist
  ------------------------------------------------------ */
    .Assist {}

    /* ------------------------------------------------------
   * Footer
  ------------------------------------------------------ */
    .Footer {
        text-align: center;
        margin: 20px 0 20px 0;
    }

    .Footer.is-simple {
        border-top: 1px solid #f2f2f2;
    }

    .FooterUtility,
    .FooterUtility a {
        color: #fff;
    }

    .FooterUtility a {
        text-decoration: none;
    }

    .FooterUtility .footer_link {
        display: none;
    }

    .FooterUtility .sp-footer-show {
        display: block;
    }

    .FooterUtility .footer_link a.a-blank::after {
        display: inline-block;
        margin: .3em 8px 0 8px;
    }

    .FooterUtility .footer_link.sp-footer-lv01 {
        display: block;
        border-bottom: 1px solid #666;
    }

    .FooterUtility .footer_link.sp-footer-lv01 a {
        display: block;
        padding: 10px 15px;
        background: #333;
        font-size: 1.6rem;
    }

    .FooterUtility .sp-footer-lv02-wrap {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-flow: row wrap;
        flex-flow: row wrap;
        background: #555;
    }

    .FooterUtility .sp-footer-lv02-wrap > .footer_link-child {
        width: 100%;
    }

    .FooterUtility .footer_link.sp-footer-lv02,
    .FooterUtility .footer_link-child .sp-footer-lv02 {
        display: block;
        width: 50%;
        float: left;
        border-bottom: 1px solid #666;
        border-right: 1px solid #666;
    }

    .FooterUtility .footer-column > .col_item:nth-of-type(2n) > .footer_link.sp-footer-lv02,
    .FooterUtility .footer_link.sp-footer-lv02:nth-of-type(2n),
    .FooterUtility .footer_link-child .sp-footer-lv02:nth-of-type(2n) {
        border-right: none;
    }

    .FooterUtility .footer_link.sp-footer-lv02 a,
    .FooterUtility .footer_link-child .sp-footer-lv02 a {
        -webkit-display: flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        width: 100%;
        height: 100%;
        padding: 10px 15px;
        background: #555;
        font-size: 1.4rem;
    }

    .FooterUtility .footer_link.sp-footer-lv02 a.a-blank::after,
    .FooterUtility .footer_link-child .sp-footer-lv02 a.a-blank::after {
        margin-top: -.15em;
    }

    .FooterUtility .footer_link.sp-footer-lv03 {
        display: block;
    }

    .FooterUtility .footer_link.sp-footer-lv03 a {
        display: inline-block;
        padding: 10px 15px;
        background: #f2f2f2;
        font-size: 1.4rem;
        color: #333;
    }

    .FooterUtility .sp-footer-column {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -webkit-align-items: center;
        align-items: center;
        padding: 0 15px;
        background: #f2f2f2;
    }

    .FooterUtility .sp-footer-column .footer_link {
        width: 50%;
    }

    .FooterUtility .sp-footer-column .footer_link a {
        position: relative;
    }

    .FooterUtility .sp-footer-column .footer_link a::before {
        position: absolute;
        display: block;
        top: 50%;
        left: 0;
        margin: -3px 0 0;
        width: 6px;
        height: 6px;
        border-top: 1px solid #666666;
        border-right: 1px solid #666666;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        content: "";
    }

    .FooterBody {
        background: #fff;
    }

    .FooterBody .footer-column {}

    .FooterBody .footer_link {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-flow: row wrap;
        flex-flow: row wrap;
        padding: 15px;
        font-size: 1.2rem;
    }

    .FooterBody .footer_link > li {
        width: 50%;
    }

    .FooterBody .footer_link > li:nth-child(2n+1) {
        padding-right: 10px;
    }

    .FooterBody .footer_link > li:nth-child(n+3) {
        padding-top: 15px;
    }

    .FooterBody .footer_link a {
        color: #333;
        text-decoration: none;
    }

    .FooterBody .footer_link a:hover {
        text-decoration: underline;
    }

    .FooterBody .footer-copyright {
        padding: 10px 15px;
        border-top: 1px solid #f2f2f2;
        font-size: 1.0rem;
        text-align: center;
        color: #999;
    }

    .Pagetop a {
        display: block;
        position: fixed;
        right: 0;
        bottom: 0;
        width: 45px;
        height: 45px;
        background: url(/shared/img/com_sprite01@2x.png) -400px 0 no-repeat;
        -webkit-background-size: 490px auto;
        background-size: 490px auto;
        outline: none;
        z-index: 100;
    }

    /* ------------------------------------------------------
   * Other
  ------------------------------------------------------ */
    .service-detail > ul {
        margin: 0 -10px;
    }

    .service-detail > ul > li > .container {
        margin: 0 10px;
    }

    .service-detail > ul > li:nth-of-type(even) {
        background-color: rgba(0, 79, 172, 0.1);
    }

    .service-detail > ul > li:nth-of-type(even) > div > div:first-of-type {
        #justify-content: flex-start;
    }

    .service-detail > ul > li:nth-of-type(even) > div > div:last-of-type {
        #order: -1;
        #justify-content: flex-end;
    }

    .service-detail > ul > li img {
        width: 95%;
        margin-bottom: 10px;
    }

    .detail > h2 {
        font-weight: bold;
        margin-bottom: 10px;
    }

    .menu-ul {}

    .menu-li:nth-child(odd) {
        margin-left: 0;
    }

    .menu-li {
        margin-bottom: 20px;
        background-color: #DBE7F3;
        border: solid 1px #1D5D9C;
    }

    .menu-section {
        padding: 15px 25px 25px;
        background-color: #DBE7F3;
        color: #000;
    }

    .menu-section-title {
        margin-bottom: 8px;
        padding: 10px 0 10px 40px;
        border-bottom: solid 1px #1D5D9C;
        position: relative;
        font-weight: bold;
        line-height: 1.5;
        letter-spacing: 0.04em;
        font-size: 16px;
        font-size: 1.6rem;
    }

    .menu-section-title::before {
        content: '';
        margin: auto;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        background-repeat: no-repeat;
        background-position: 0 50%;
        background-size: auto 100%;
        width: 36px;
        height: 36px;
    }

    .kensetsu-icon::before {
        background-image: url(/assets_cms/img/service_kensetsu.png);
    }

    .realestate-icon::before {
        background-image: url(/assets_cms/img/service_realestate.png);
    }

    .recruit-icon::before {
        background-image: url(/assets_cms/img/recruit_info.png);
    }

    .recruit-apply-icon::before {
        background-image: url(/assets_cms/img/recruit_apply.png);
    }

    .menu-message {
        margin-top: 0;
        line-height: 1.61538;
        font-size: 13px;
    }

    .menu-btn {
        margin-top: 16px;
    }

    .menu-btn-link {
        padding-right: 30px;
        padding-left: 30px;
        border-radius: 6px;
        width: 100%;
        height: 3.33333em;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        position: relative;
        font-weight: bold;
        line-height: 1.33333;
        text-align: center;
        font-size: 15px;
        font-size: 1.5rem;
        color: #fff !important;
        text-decoration: none !important;
        background-color: #1f3451;
    }

    .menu-btn-link:hover {
        opacity: 0.8;
    }

    .menu-btn-link::after {
        content: '';
        margin: auto;
        width: 9px;
        height: 12px;
        display: block;
        position: absolute;
        top: 0;
        right: 20px;
        bottom: 0;
        background-image: url(/assets_cms/img/icon-arrow-02.svg);
        background-repeat: no-repeat;
        background-position: 100% 50%;
        background-size: auto 100%;
    }

    .form-dropdown {
        width: 80%;
        position: relative;
        margin: 0 auto;
    }

    .form-dropdown .form-dropdown-select {
        color: #1d1d1f;
        border-color: #d2d2d7;
        background-color: rgba(255, 255, 255, 0.8);
        letter-spacing: 0em;
    }

    .form-dropdown-select {
        font-size: 17px;
        line-height: 1.23536;
        font-weight: 400;
        letter-spacing: -.022em;
        font-family: "MS Mincho", "MS 明朝", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN";
        width: 100%;
        height: 56px;
        border-radius: 12px;
        border-width: 1px;
        border-style: solid;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        margin-bottom: .82353rem;
        padding: 1.05882rem 2.35294rem 0 .94118rem;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }

    .form-dropdown .form-dropdown-select option:not(:disabled) {
        color: #1d1d1f;
    }

    .form-dropdown .form-dropdown-chevron {
        color: #86868b;
    }

    .form-dropdown-chevron {
        font-size: 20px;
        line-height: 1.4;
        font-weight: 400;
        letter-spacing: .006em;
        font-family: "MS Mincho", "MS 明朝", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN";
        position: absolute;
        pointer-events: none;
        right: 2rem;
        top: 1.3rem;
    }

    .form-dropdown-chevron::after {
        content: "";
        background-image: url(/assets_cms/img/icon-arrow-down.png);
        width: 20px;
        height: 13px;
    }

    .form-dropdown-chevron::before,
    .form-dropdown-chevron::after {
        text-decoration: none;
    }

    .form-dropdown-chevron::before,
    .form-dropdown-chevron::after {
        font-family: "SF Pro Icons";
        color: inherit;
        display: inline-block;
        font-style: normal;
        font-weight: inherit;
        font-size: inherit;
        line-height: 1;
        text-decoration: underline;
        position: relative;
        z-index: 1;
        alt: '';
    }

    .form-dropdown .form-dropdown-label {
        color: #6e6e73;
    }

    .form-dropdown-label {
        position: absolute;
        pointer-events: none;
        -webkit-transition-timing-function: ease-in;
        transition-timing-function: ease-in;
        -webkit-transition-duration: .125s;
        transition-duration: .125s;
        top: .58824rem;
        left: 1rem;
        font-size: 12px;
        line-height: 1.33337;
        font-weight: 400;
        letter-spacing: -.01em;
        font-family: "MS Mincho", "MS 明朝", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN";
    }

    /* ------------------------------------------------------
   * Clearfix
  ------------------------------------------------------ */
    .clearfix::after,
    .FooterUtility .footer-column::after,
    .FooterUtility .sp-footer-lv02-wrap::after {
        display: block;
        clear: both;
        content: "";
    }

    .section_head .top-heading-lv1 {
        position: relative;
        font-weight: bold;
        margin-top: 0.5em;
        margin-bottom: 0.5em;
        font-size: 1.5rem;
        line-height: 1.5;
    }

    .p-row .p-row__main {
        margin: 0 auto;
    }
}
