@charset "utf-8";@font-face {
    src: url(/assets/fonts/glyphs.eot?8325483f0ef098f1fe15bd6b1f375fcd?#iefix) format("embedded-opentype"),url(/assets/fonts/glyphs.woff2?8325483f0ef098f1fe15bd6b1f375fcd) format("woff2"),url(/assets/fonts/glyphs.woff?8325483f0ef098f1fe15bd6b1f375fcd) format("woff"),url(/assets/fonts/glyphs.ttf?8325483f0ef098f1fe15bd6b1f375fcd) format("truetype"),url(/assets/fonts/glyphs.svg?8325483f0ef098f1fe15bd6b1f375fcd#glyphs) format("svg");
    font-family: glyphs
}

i {
    line-height: 1
}

i:before {
    font-family: glyphs!important;
    font-style: normal;
    font-weight: 400!important;
    vertical-align: top
}

.glyphs-arrow_down:before {
    content: "\f101"
}

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,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,section {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline
}

ol,ul {
    list-style: none
}

table {
    border-collapse: separate;
    border-spacing: 0;
    vertical-align: middle
}

caption,th,td {
    font-weight: 400;
    text-align: left;
    vertical-align: middle
}

img {
    vertical-align: middle
}

h1,h2,h3,h4,h5,h6,div,p,ul,ol,li,dl,dt,dd,img,nav {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

h1,h2,h3,h4,h5,h6 {
    line-height: 1
}

.cleafix:after {
    display: block;
    clear: both;
    content: ''
}

.file {
    margin: 15px 0;
    padding: 10px 0 0;
    border-top: 1px dotted #ccc;
    text-align: left
}

.file .pdf {
    padding: 4px 0 0 40px;
    background: url(../images/cms/pdf.png) left center no-repeat;
    line-height: 37px
}

.file .ppt {
    padding: 4px 0 0 40px;
    background: url(../images/cms/ppt.png) left center no-repeat;
    line-height: 37px
}

.file .xls,.file .xlsx {
    padding: 4px 0 0 40px;
    background: url(../images/cms/xls.png) left center no-repeat;
    line-height: 37px
}

.file .doc,.file .docx {
    padding: 4px 0 0 40px;
    background: url(../images/cms/doc.png) left center no-repeat;
    line-height: 37px
}

.top-right {
    margin: 0 0 30px 30px;
    float: right
}

.top-left {
    margin: 0 30px 30px 0;
    float: left
}

.top-center {
    margin: 0 0 30px;
    text-align: center
}

.bottom-right {
    margin: 30px 0 0 30px;
    float: right
}

.bottom-left {
    margin: 30px 30px 0 0;
    float: left
}

.bottom-center {
    margin: 30px 0 0;
    text-align: center
}

.entry-container b {
    font-weight: 700
}

.entry-container i {
    font-style: italic
}

.text-center {
    text-align: center
}

.text-right {
    text-align: right
}

.text-justify {
    text-align: justify
}

body {
    -webkit-font-smoothing: antialiased;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: Times New Roman,"游明朝",YuMincho,Yu Mincho,'ヒラギノ明朝 Pro W3',Hiragino Mincho Pro,'ＭＳ Ｐ明朝',Osaka,"メイリオ",Meiryo,Tahoma,Verdana,Arial,Verdana,sans-serif;
    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
    font-size: 10px;
    letter-spacing: .05em;
    line-height: 1.5
}

.center_text {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    text-align: center
}

.center_text-c {
    -ms-flex-pack: center;
    justify-content: center
}

.center_text-fs {
    -ms-flex-pack: start;
    justify-content: flex-start
}

.icon {
    display: inline-block;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.icon_arrow--grw {
    background-image: url(../images/common/arrow_gray_white.png);
    background-repeat: no-repeat;
    background-size: cover
}

.icon_arrow--bw {
    background-image: url(../images/common/arrow_blue_white.png);
    background-repeat: no-repeat;
    background-size: cover
}

.download_icon {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center
}

.download_icon:before {
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    content: ''
}

.download_pdf:before {
    background-image: url(../images/common/pdf.jpg)
}

.download_xls:before {
    background-image: url(../images/common/xls.jpg)
}

.download_doc:before {
    background-image: url(../images/common/doc.jpg)
}
.download_docx:before {
    background-image: url(../images/common/docx.jpg)
}

.download_xlsm:before {
    background-image: url(../images/common/xlsm.jpg)
}

.btn {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center
}

.btn_blue {
    background-color: #303487;
    color: white
}

.underline {
    color: #303487;
    text-decoration: underline
}

.underline:hover {
    text-decoration: none
}

@-webkit-keyframes revealblock {
    0%,50% {
        -webkit-transform-origin: left center;
        transform-origin: left center
    }

    55%,100% {
        -webkit-transform-origin: right center;
        transform-origin: right center
    }

    60% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }

    100% {
        -webkit-transform: scaleX(0);
        transform: scaleX(0)
    }
}

@keyframes revealblock {
    0%,50% {
        -webkit-transform-origin: left center;
        transform-origin: left center
    }

    55%,100% {
        -webkit-transform-origin: right center;
        transform-origin: right center
    }

    60% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }

    100% {
        -webkit-transform: scaleX(0);
        transform: scaleX(0)
    }
}

@-webkit-keyframes revealtext {
    50% {
        color: #303487
    }

    100% {
        color: white
    }
}

@keyframes revealtext {
    50% {
        color: #303487
    }

    100% {
        color: white
    }
}

@-webkit-keyframes revealtext-blue {
    50% {
        color: #303487
    }

    100% {
        color: black
    }
}

@keyframes revealtext-blue {
    50% {
        color: #303487
    }

    100% {
        color: black
    }
}

.reveal {
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-animation-duration: .8s;
    animation-duration: .8s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: cubic-bezier(0,0,.2,1);
    animation-timing-function: cubic-bezier(0,0,.2,1)
}

.reveal:before {
    z-index: -1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right center;
    -ms-transform-origin: right center;
    transform-origin: right center;
    background-color: white;
    -webkit-animation-duration: .8s;
    animation-duration: .8s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: cubic-bezier(0,0,.2,1);
    animation-timing-function: cubic-bezier(0,0,.2,1);
    content: ''
}

.reveal:hover {
    -webkit-animation-name: revealtext;
    animation-name: revealtext
}

.reveal:hover:before {
    -webkit-animation-name: revealblock;
    animation-name: revealblock
}

.reveal.gray:hover {
    -webkit-animation-name: revealtext-blue;
    animation-name: revealtext-blue
}

.reveal.gray:hover:before {
    -webkit-animation-name: revealblock;
    animation-name: revealblock
}

.btn {
    margin: 0 auto;
    background-color: #303487
}

.page-title {
    color: #303487;
    font-weight: 400;
    line-height: 1;
    text-align: center
}

.page-title-entitle {
    color: #303487;
    line-height: 1;
    text-align: center
}

.box-title {
    background-color: #303487;
    color: white;
    line-height: 1.5
}

.box-title small {
    display: block
}

.box-subtitle {
    font-weight: 700;
    line-height: 1.5
}

.right_nav {
    border: 2px solid #303487;
    background-color: #303487;
    -webkit-box-shadow: 0 0 7px rgba(88,88,88,.06);
    box-shadow: 0 0 7px rgba(88,88,88,.06)
}

.right_nav_title {
    color: white;
    line-height: 1
}

.right_nav_entitle {
    color: #bcbcbc
}

.right_nav_list_header {
    background-color: #5356a1;
    color: white
}

.right_nav_list_header:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    width: 8px;
    height: 6px;
    margin-right: 5px;
    border-top: 6px solid white;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    content: ''
}

.right_nav_ele {
    border-bottom: 1px solid #ddd;
    background-color: #fff
}

.right_nav_ele a {
    width: 100%;
    height: 100%
}

.right_nav_ele.active {
    background-color: #ededed
}

.right_nav_materials {
    background-color: #fff
}

.right_nav_materials.active {
    background-color: #ededed
}

.header {
    z-index: 1000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fff
}

@-webkit-keyframes bounce {
    0%,20%,50%,80%,100% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    40% {
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px)
    }

    60% {
        -webkit-transform: translateY(-15px);
        transform: translateY(-15px)
    }
}

@keyframes bounce {
    0%,20%,50%,80%,100% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    40% {
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px)
    }

    60% {
        -webkit-transform: translateY(-15px);
        transform: translateY(-15px)
    }
}

.footer {
    position: relative;
    background-color: #fff
}

@media only screen and (min-width: 769px),print {
    .root {
        width:100%
    }

    .container {
        position: relative;
        width: 100%;
        min-width: 1200px;
        padding-top: 155px;
        overflow: hidden;
        font-size: 1.125rem
    }

    .hover_alpha {
        -webkit-transition: opacity .3s ease;
        -o-transition: opacity .3s ease;
        transition: opacity .3s ease;
        will-change: opacity
    }

    .hover_alpha:hover {
        opacity: .5
    }

    .btn_arrow--grw {
        width: 14px;
        height: 14px
    }

    .sp {
        display: none!important
    }

    a {
        color: inherit;
        text-decoration: none
    }

    .download_icon:before {
        width: 20px;
        height: 25px;
        margin: 0 10px 0 15px
    }

    .container {
        background-image: url(../images/top/content_pattern_pc.jpg);
        background-repeat: repeat;
        background-size: 142px 133px
    }

    .btn {
        width: 263px;
        height: 44px
    }

    .two_columns {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 1200px;
        margin: 0 auto
    }

    .left_columns {
        width: 900px;
        background-color: white;
        -webkit-box-shadow: 0 0 7px rgba(88,88,88,.06);
        box-shadow: 0 0 7px rgba(88,88,88,.06)
    }

    .page-title {
        margin-bottom: 15px;
        font-size: 2.75rem
    }

    .page-title-entitle {
        margin-bottom: 50px;
        font-size: 1.125rem
    }

    .box-title {
        padding: 16px 24px;
        font-size: 1.25rem;
        letter-spacing: 4px
    }

    .box-title small {
        font-size: .875rem
    }

    .box-subtitle {
        padding: 0 15px;

        border-left: 4px solid #303487;
        font-size: 1.125rem
    }

    .right_nav {
        width: 270px;
        font-size: 1rem
    }

    .right_nav_title {
        padding: 20px 20px 10px;
        font-size: 1.25rem
    }

    .right_nav_entitle {
        padding: 0 20px 25px;
        font-size: .75rem
    }

    .right_nav_list_header {
        height: 55px;
        padding: 0 20px
    }

    .right_nav_ele {
        height: 55px
    }

    .right_nav_materials {
        height: 55px
    }

    .right_nav .icon {
        width: 14px;
        height: 14px;
        margin: 0 10px 0 40px
    }

    .right_nav .icon_arrow--bw {
        margin: 0 10px 0 20px
    }

    .header {
        z-index: 1000
    }

    .header_logo {
        -webkit-transform-origin: 0 50%;
        -ms-transform-origin: 0 50%;
        transform-origin: 0 50%;
        -webkit-transition: -webkit-transform .4s ease-in-out;
        transition: -webkit-transform .4s ease-in-out;
        -o-transition: transform .4s ease-in-out;
        transition: transform .4s ease-in-out;
        transition: transform .4s ease-in-out,-webkit-transform .4s ease-in-out;
        will-change: transform
    }

    .header_inner {
        position: relative;
        width: 1200px;
        height: 110px;
        margin: 20px auto 25px;
        -webkit-transition: height .4s ease-in-out;
        -o-transition: height .4s ease-in-out;
        transition: height .4s ease-in-out;
        will-change: height
    }

    .header_inner_top {
        display: -ms-flexbox;
        display: flex;
        position: absolute;
        top: 0;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 100%
    }

    .header_inner.active {
        height: 90px;
        margin: 10px auto
    }

    .header_inner.active .header_logo {
        -webkit-transform: scale(.7);
        -ms-transform: scale(.7);
        transform: scale(.7)
    }

    .header_nav_top_list {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .header_nav_top_ele {
        width: 160px;
        height: 30px;
        -webkit-transform: skewX(-30deg);
        -ms-transform: skewX(-30deg);
        transform: skewX(-30deg);
        background-color: #e5e5e5;
        -webkit-transition: background-color .3s ease;
        -o-transition: background-color .3s ease;
        transition: background-color .3s ease;
        will-change: background-color
    }

    .header_nav_top_ele:nth-of-type(2) {
        margin: 0 1px
    }

    .header_nav_top_ele a {
        width: 100%;
        height: 100%;
        -webkit-transform: skewX(30deg);
        -ms-transform: skewX(30deg);
        transform: skewX(30deg);
        font-size: .875rem
    }

    .header_nav_top_ele.blue {
        background-color: #303487;
        color: white
    }

    .header_nav_btm_list {
        display: -ms-flexbox;
        display: flex;
        position: absolute;
        bottom: 0;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
        font-size: 1rem
    }

    .header_nav_btm_ele {
        position: relative;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        width: 238px;
        cursor: pointer
    }

    .header_nav_btm_ele:nth-of-type(3) .header_nav_btm_title {
        border-left: 1px solid #b8b8b8
    }

    .header_nav_btm_ele:before {
        display: block;
        position: absolute;
        bottom: -10px;
        left: 50%;
        width: 85%;
        height: 1px;
        -webkit-transform: translateX(-50%)scale(0);
        -ms-transform: translateX(-50%)scale(0);
        transform: translateX(-50%)scale(0);
        background-color: #303487;
        content: '';
        -webkit-transition: -webkit-transform .3s ease;
        transition: -webkit-transform .3s ease;
        -o-transition: transform .3s ease;
        transition: transform .3s ease;
        transition: transform .3s ease,-webkit-transform .3s ease;
        will-change: transform
    }

    .header_nav_btm_ele.currentH:before {
        -webkit-transform: translateX(-50%)scale(1);
        -ms-transform: translateX(-50%)scale(1);
        transform: translateX(-50%)scale(1)
    }

    .header_nav_btm_ele.current:before {
        -webkit-transform: translateX(-50%)scale(1);
        -ms-transform: translateX(-50%)scale(1);
        transform: translateX(-50%)scale(1)
    }

    .header_nav_btm_title {
        display: block;
        width: 100%;
        -webkit-transform: skew(-30deg);
        -ms-transform: skew(-30deg);
        transform: skew(-30deg);
        border-right: 1px solid #b8b8b8
    }

    .header_nav_btm_title span {
        -webkit-transform: skew(30deg);
        -ms-transform: skew(30deg);
        transform: skew(30deg)
    }

    .header .stack {
        position: relative
    }

    .header .stack.open .stack_list {
        height: auto;
        max-height: 400px
    }

    .header .stack_list {
        position: absolute;
        top: 20px;
        width: 100%;
        height: 0;
        max-height: 0;
        overflow: hidden;
        -webkit-transition: max-height .8s ease;
        -o-transition: max-height .8s ease;
        transition: max-height .8s ease;
        will-change: max-height;
        font-size: 1rem;
        letter-spacing: 0px
    }

    .header .stack_ele {
        height: 45px;
        background-color: #303487;
        -webkit-box-shadow: 0 1px 0 #303487;
        box-shadow: 0 1px 0 #303487
    }

    .header .stack_ele:nth-of-type(1) {
        margin-top: 10px
    }

    .header .stack_ele a,.header .stack_ele p {
        width: 100%;
        height: 100%;
        color: white;
        text-align: left
    }

    .header .stack_ele a:before {
        display: inline-block;
        width: 12px;
        height: 12px;
        margin: 0 15px;
        background-image: url(../images/common/arrow_white_blue.png);
        background-size: 100%;
        content: ''
    }

    .header .stack_elew:nth-of-type(1) {
        margin-top: 10px
    }

    .header .stack_subtitle {
        height: 45px;
        padding-left: 15px;
        background-color: #1d216f;
        -webkit-box-shadow: 0 1px 0 #1d216f;
        box-shadow: 0 1px 0 #1d216f;
        color: white
    }

    .header .stack_subtitle:before {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        display: inline-block;
        width: 8px;
        height: 6px;
        margin-right: 5px;
        border-top: 6px solid white;
        border-right: 4px solid transparent;
        border-left: 4px solid transparent;
        content: ''
    }

    .header .stack_subele {
        height: 45px;
        background-color: #303487;
        -webkit-box-shadow: 0 1px 0 303487;
        box-shadow: 0 1px 0 303487
    }

    .header .stack_subele a {
        width: 100%;
        height: 100%;
        color: white;
        text-align: left
    }

    .header .stack_subele a:before {
        display: inline-block;
        width: 12px;
        height: 12px;
        margin: 0 15px 0 30px;
        background-image: url(../images/common/arrow_gray_white.png);
        background-size: 100%;
        content: ''
    }

    .footer_pagetop {
        position: fixed;
        right: 125px;
        bottom: 36px;
        width: 57px;
        height: 29px;
        background-image: url(../images/common/pagetop.png);
        background-repeat: no-repeat;
        background-size: contain;
        cursor: pointer;
        -webkit-transition: opacity .3s ease;
        -o-transition: opacity .3s ease;
        transition: opacity .3s ease;
        will-change: opacity
    }

    .footer_pagetop:hover {
        opacity: .5
    }

    .footer_pagetop.hidden {
        opacity: 0
    }

    .footer_inner {
        position: relative;
        width: 1200px;
        margin: 0 auto;
        padding: 30px 0 37px
    }

    .footer_nav {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
        line-height: 1
    }

    .footer_nav .btn {
        margin-right: 10px
    }

    .footer_nav_list {
        width: 300px;
        padding: 27px 22px 20px;
        border-right: 1px solid #f0f0f0
    }

    .footer_nav_list:nth-of-type(1) {
        border-left: 1px solid #f0f0f0
    }

    .footer_nav_ele {
        margin-bottom: 25px
    }

    .footer_nav_ele .icon {
        -ms-flex-negative: 0;
        flex-shrink: 0;
        width: 14px;
        height: 14px;
        margin-right: 10px
    }

    .footer_nav_ele:nth-last-of-type(1) {
        margin-bottom: 0
    }

    .footer_nav_sublist {
        margin: 20px 0 65px
    }

    .footer_nav_subele {
        margin-bottom: 15px;
        padding-left: 20px;
        color: #787878
    }

    .footer_info {
        margin-top: 85px;
        line-height: 1
    }

    .footer_info_brandname {
        margin-bottom: 17px;
        font-size: 1.125rem;
        letter-spacing: 4px
    }

    .footer_info_post {
        margin-bottom: 5px;
        font-size: .75rem;
        letter-spacing: 2px
    }

    .footer_info_address {
        margin-bottom: 5px;
        font-size: .75rem;
        letter-spacing: 2px
    }

    .footer_info_tel {
        font-size: .75rem;
        letter-spacing: 2px
    }

    .footer .copyright {
        display: block;
        margin-top: 40px;
        font-size: .625rem;
        line-height: 1
    }

    a[href^="tel:"] {
        pointer-events: none;
    }
}

@media only screen and (max-width: 768px) {
    .container {
        position:relative;
        width: 100%;
        min-width: 100%;
        padding-top: 12.369791666666668vw;
        overflow: hidden;
        font-size: 3.6458333333333335vw
    }

    .pc {
        display: none!important
    }

    a {
        color: inherit;
        text-decoration: none
    }

    .download_icon:before {
        width: 5.208333333333334vw;
        height: 6.510416666666667vw;
        margin: 0 1.3020833333333335vw
    }

    .container {
        background-image: url(../images/top/content_pattern_sp.jpg);
        background-repeat: repeat;
        background-size: 17.317708333333336vw 17.317708333333336vw
    }

    .btn {
        width: 67.70833333333334vw;
        height: 13.020833333333334vw
    }

    .two_columns {
        width: 100%;
        padding: 0 3.90625vw
    }

    .left_columns {
        background-color: white;
        -webkit-box-shadow: 0 0 7px rgba(88,88,88,.06);
        box-shadow: 0 0 7px rgba(88,88,88,.06)
    }

    .page-title {
        margin-bottom: 2.604166666666667vw;
        font-size: 5.729166666666666vw
    }

    .page-title-entitle {
        margin-bottom: 5.208333333333334vw;
        font-size: 4.166666666666666vw
    }

    .box-title {
        padding: 2.604166666666667vw;
        font-size: 4.427083333333334vw;
        letter-spacing: 2px
    }

    .box-title small {
        font-size: 3.6458333333333335vw
    }

    .box-subtitle {
        padding: 0 2.604166666666667vw;
        border-left: 4px solid #303487;
        font-size: 4.166666666666666vw
    }

    .right_nav {
        margin-top: 5.208333333333334vw;
        font-size: 3.90625vw
    }

    .right_nav_title {
        padding: 5.208333333333334vw 5.208333333333334vw 2.604166666666667vw;
        font-size: 4.6875vw
    }

    .right_nav_entitle {
        padding: 0 5.208333333333334vw 3.90625vw;
        font-size: 3.125vw
    }

    .right_nav_list_header {
        height: 10.416666666666668vw;
        padding: 0 5.208333333333334vw
    }

    .right_nav_ele {
        height: 10.416666666666668vw
    }

    .right_nav_materials {
        height: 10.416666666666668vw
    }

    .right_nav .icon {
        width: 3.90625vw;
        height: 3.90625vw;
        margin: 0 2.604166666666667vw 0 7.8125vw;
        background-size: cover
    }

    .right_nav .icon_arrow--bw {
        margin: 0 2.604166666666667vw 0 5.208333333333334vw
    }

    .header_inner_top {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: justify;
        justify-content: space-between;
        background-color: #fff
    }

    .header_menu_trigger {
        position: relative;
        width: 13.671875vw;
        height: 12.369791666666668vw;
        background-color: #303487
    }

    .header_menu_trigger span {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 3.90625vw;
        height: .5208333333333333vw;
        -webkit-transform: translate(-50%,-50%);
        -ms-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);
        background-color: white;
        -webkit-transition: -webkit-transform .3s ease;
        transition: -webkit-transform .3s ease;
        -o-transition: transform .3s ease;
        transition: transform .3s ease;
        transition: transform .3s ease,-webkit-transform .3s ease;
        will-change: transform
    }

    .header_menu_trigger span:before,.header_menu_trigger span:after {
        display: block;
        position: absolute;
        width: 3.90625vw;
        height: .5208333333333333vw;
        background-color: white;
        content: '';
        -webkit-transition: -webkit-transform .3s ease;
        transition: -webkit-transform .3s ease;
        -o-transition: transform .3s ease;
        transition: transform .3s ease;
        transition: transform .3s ease,-webkit-transform .3s ease;
        will-change: transform
    }

    .header_menu_trigger span:before {
        -webkit-transform: translateY(-1.3020833333333335vw);
        -ms-transform: translateY(-1.3020833333333335vw);
        transform: translateY(-1.3020833333333335vw)
    }

    .header_menu_trigger span:after {
        -webkit-transform: translateY(1.3020833333333335vw);
        -ms-transform: translateY(1.3020833333333335vw);
        transform: translateY(1.3020833333333335vw)
    }

    .header_menu_trigger.active span {
        -webkit-transform: translate(-50%,-50%) rotate(45deg);
        -ms-transform: translate(-50%,-50%) rotate(45deg);
        transform: translate(-50%,-50%) rotate(45deg)
    }

    .header_menu_trigger.active span:before {
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg)
    }

    .header_menu_trigger.active span:after {
        -webkit-transform: scale(0);
        -ms-transform: scale(0);
        transform: scale(0)
    }

    .header_logo {
        width: 57.161458333333336vw;
        margin-left: 2.604166666666667vw
    }

    .header_logo img {
        width: 100%
    }

    .header_nav_btm {
        z-index: -1;
        position: absolute;
        top: 0;
        width: 100%;
        height: 0;
        padding-top: 12.369791666666668vw;
        overflow: hidden;
        background-color: #e5e5e5
    }

    .header_nav_btm_list {
        overflow: scroll;
        background-color: #fff
    }

    .header_nav_btm_title {
        display: block;
        height: 13.020833333333334vw;
        border-bottom: 1px solid #d1d1d1;
        background-color: #e5e5e5
    }

    .header_nav_btm_title span {
        -ms-flex-pack: start;
        justify-content: flex-start;
        height: 100%
    }

    .header_nav_btm_title span:before {
        display: inline-block;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        width: 3.90625vw;
        height: 3.90625vw;
        margin: 0 2.604166666666667vw;
        background-image: url(../images/common/arrow_white_gray.png);
        background-repeat: no-repeat;
        background-size: 100%;
        content: ''
    }

    .header .stack_ele,.header .stack_subele {
        height: 13.020833333333334vw;
        border-bottom: 1px solid #d1d1d1
    }

    .header .stack_ele a,.header .stack_subele a {
        height: 100%;
        padding-left: 9.114583333333332vw
    }

    .header .stack {
        height: 13.020833333333334vw;
        overflow: hidden
    }

    .header .stack span {
        -webkit-transition: background-color .3s ease;
        -o-transition: background-color .3s ease;
        transition: background-color .3s ease;
        will-change: background-color
    }

    .header .stack span:before {
        -webkit-transform: rotate(90deg)!important;
        -ms-transform: rotate(90deg)!important;
        transform: rotate(90deg)!important
    }

    .header .stack.active .header_nav_btm_title span {
        background-color: #303487;
        color: white
    }

    .header .stack.active .header_nav_btm_title span:before {
        background-image: url(../images/common/arrow_white_blue.png)!important
    }

    .footer_pagetop {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 100%;
        height: 13.020833333333334vw;
        background-color: #303487
    }

    .footer_pagetop span {
        display: block;
        width: 28.385416666666668vw;
        height: 2.864583333333333vw;
        background-image: url(../images/common/page_top_sp.png);
        background-repeat: no-repeat;
        background-size: contain
    }

    .footer_info {
        padding: 5.46875vw 3.90625vw 9.114583333333332vw;
        line-height: 1
    }

    .footer_info_brandname {
        margin-bottom: 3.2552083333333335vw;
        font-size: 3.6458333333333335vw;
        letter-spacing: 4px
    }

    .footer_info_post {
        font-size: 2.604166666666667vw;
        letter-spacing: 2px;
        line-height: 2
    }

    .footer_info_address {
        font-size: 2.604166666666667vw;
        letter-spacing: 2px;
        line-height: 2
    }

    .footer_info_tel {
        font-size: 2.604166666666667vw;
        letter-spacing: 2px;
        line-height: 2
    }

    .footer .copyright {
        display: block;
        padding: 0 3.90625vw 4.427083333333334vw;
        font-size: 2.34375vw;
        white-space: nowrap
    }
}

@media print {
    .header {
        position: relative
    }
}
