*,::after,::before {
    box-sizing: border-box
}

::after,::before {
    text-decoration: inherit;
    vertical-align: inherit
}

html {
    line-height: 1.5;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    word-break: break-word
}

body,button,dl dl,dl ol,dl ul,input,ol dl,ol ol,ol ul,select,ul dl,ul ol,ul ul {
    margin: 0
}

h1 {
    font-size: 2em
}

hr {
    color: inherit;
    height: 0;
    overflow: visible
}

details,main {
    display: block
}

nav ol,nav ul {
    list-style: none;
    padding: 0
}

pre {
    overflow: auto;
    -ms-overflow-style: scrollbar
}

a {
    background-color: transparent;
    color: currentColor;
    text-decoration: none
}

abbr[title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,strong {
    font-weight: bolder
}

code,kbd,pre,samp {
    font-family: monospace,monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

audio,canvas,iframe,img,svg,video {
    vertical-align: middle
}

audio,canvas,video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

iframe,img {
    border-style: none
}

svg:not([fill]) {
    fill: currentColor
}

svg:not(:root) {
    overflow: hidden
}

table {
    border-collapse: collapse;
    border-color: inherit;
    text-indent: 0
}

[type=button],[type=reset],[type=submit],button {
    -webkit-appearance: button
}

button,input {
    overflow: visible
}

legend {
    color: inherit;
    display: table;
    max-width: 100%;
    white-space: normal
}

progress {
    display: inline-block;
    vertical-align: baseline
}

button,select {
    text-transform: none
}

textarea {
    margin: 0;
    overflow: auto;
    resize: block
}

[type=checkbox],[type=radio] {
    padding: 0
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-inner-spin-button,::-webkit-outer-spin-button {
    height: auto
}

::-webkit-input-placeholder {
    color: inherit;
    opacity: .54
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

::-moz-focus-inner {
    border-style: none;
    padding: 0
}

:-moz-focusring {
    outline: ButtonText dotted 1px
}

:-moz-ui-invalid {
    box-shadow: none
}

dialog {
    background-color: #fff;
    border: solid;
    color: #000;
    display: block;
    height: -moz-fit-content;
    height: -webkit-fit-content;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 1em;
    position: absolute;
    right: 0;
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content
}

[hidden],dialog:not([open]),template {
    display: none
}

summary {
    display: list-item
}

[tabindex],a,area,button,input,label,select,summary,textarea {
    -ms-touch-action: manipulation
}

[aria-busy=true] {
    cursor: progress
}

[aria-controls] {
    cursor: pointer
}

[aria-disabled=true],[disabled] {
    cursor: not-allowed
}

[aria-hidden=false][hidden] {
    display: initial
}

[aria-hidden=false][hidden]:not(:focus) {
    clip: rect(0,0,0,0);
    position: absolute
}

button,input,select,textarea {
    background-color: transparent;
    border: 1px solid WindowFrame;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    padding: .25em .375em
}
sup {
    position: relative;
    top: -0.5em;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}
select {
    -moz-appearance: none;
    -webkit-appearance: none;
    background: right center/1em no-repeat;
    border-radius: 0
}

select:not([multiple]):not([size]) {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E")
}

[type=color],[type=range] {
    border-width: 0;
    padding: 0
}

::-ms-expand {
    display: none
}

:-ms-input-placeholder {
    color: rgba(0,0,0,.54)
}

/*! Yaku Han JP v3.4.1 (OFL-1.1 AND MIT) by Qrac */
/*! Type: YakuHanJP_Noto - Based on Noto Sans CJK JP */
@-webkit-keyframes scroll-hint-appear {
    0% {
        transform: translateX(40px);
        opacity: 0
    }

    10% {
        opacity: 1
    }

    50%,to {
        transform: translateX(-40px);
        opacity: 0
    }
}

@keyframes scroll-hint-appear {
    0% {
        transform: translateX(40px);
        opacity: 0
    }

    10% {
        opacity: 1
    }

    50%,to {
        transform: translateX(-40px);
        opacity: 0
    }
}

@-webkit-keyframes slideIn {
    0% {
        transform: translateY(-100%)
    }

    to {
        transform: translateY(0)
    }
}

@keyframes slideIn {
    0% {
        transform: translateY(-100%)
    }

    to {
        transform: translateY(0)
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@font-face {
    font-family: YakuHanJP_Noto;
    font-style: normal;
    font-weight: 100;
    font-display: swap;
    src: url(https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/fonts/YakuHanJP/YakuHanJP-Thin.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/fonts/YakuHanJP/YakuHanJP-Thin.woff) format("woff");
    unicode-range: U+3001,U+3002,U+3008,U+3009,U+300a,U+300b,U+300c,U+300d,U+300e,U+300f,U+3010,U+3011,U+3014,U+3015,U+30fb,U+ff01,U+ff08,U+ff09,U+ff1a,U+ff1b,U+ff1f,U+ff3b,U+ff3d,U+ff5b,U+ff5d
}

@font-face {
    font-family: YakuHanJP_Noto;
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/fonts/YakuHanJP/YakuHanJP-Light.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/fonts/YakuHanJP/YakuHanJP-Light.woff) format("woff");
    unicode-range: U+3001,U+3002,U+3008,U+3009,U+300a,U+300b,U+300c,U+300d,U+300e,U+300f,U+3010,U+3011,U+3014,U+3015,U+30fb,U+ff01,U+ff08,U+ff09,U+ff1a,U+ff1b,U+ff1f,U+ff3b,U+ff3d,U+ff5b,U+ff5d
}

@font-face {
    font-family: YakuHanJP_Noto;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/fonts/YakuHanJP/YakuHanJP-Regular.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/fonts/YakuHanJP/YakuHanJP-Regular.woff) format("woff");
    unicode-range: U+3001,U+3002,U+3008,U+3009,U+300a,U+300b,U+300c,U+300d,U+300e,U+300f,U+3010,U+3011,U+3014,U+3015,U+30fb,U+ff01,U+ff08,U+ff09,U+ff1a,U+ff1b,U+ff1f,U+ff3b,U+ff3d,U+ff5b,U+ff5d
}

@font-face {
    font-family: YakuHanJP_Noto;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/fonts/YakuHanJP/YakuHanJP-Medium.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/fonts/YakuHanJP/YakuHanJP-Medium.woff) format("woff");
    unicode-range: U+3001,U+3002,U+3008,U+3009,U+300a,U+300b,U+300c,U+300d,U+300e,U+300f,U+3010,U+3011,U+3014,U+3015,U+30fb,U+ff01,U+ff08,U+ff09,U+ff1a,U+ff1b,U+ff1f,U+ff3b,U+ff3d,U+ff5b,U+ff5d
}

@font-face {
    font-family: YakuHanJP_Noto;
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/fonts/YakuHanJP/YakuHanJP-Bold.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/fonts/YakuHanJP/YakuHanJP-Bold.woff) format("woff");
    unicode-range: U+3001,U+3002,U+3008,U+3009,U+300a,U+300b,U+300c,U+300d,U+300e,U+300f,U+3010,U+3011,U+3014,U+3015,U+30fb,U+ff01,U+ff08,U+ff09,U+ff1a,U+ff1b,U+ff1f,U+ff3b,U+ff3d,U+ff5b,U+ff5d
}

@font-face {
    font-family: YakuHanJP_Noto;
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/fonts/YakuHanJP/YakuHanJP-Black.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/fonts/YakuHanJP/YakuHanJP-Black.woff) format("woff");
    unicode-range: U+3001,U+3002,U+3008,U+3009,U+300a,U+300b,U+300c,U+300d,U+300e,U+300f,U+3010,U+3011,U+3014,U+3015,U+30fb,U+ff01,U+ff08,U+ff09,U+ff1a,U+ff1b,U+ff1f,U+ff3b,U+ff3d,U+ff5b,U+ff5d
}

.scroll-hint.is-right-scrollable {
    background: linear-gradient(270deg,rgba(0,0,0,.15) 0,transparent 16px,transparent)
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
    background: linear-gradient(90deg,rgba(0,0,0,.15) 0,transparent 16px,transparent),linear-gradient(270deg,rgba(0,0,0,.15) 0,transparent 16px,transparent)
}

.scroll-hint.is-left-scrollable {
    background: linear-gradient(90deg,rgba(0,0,0,.15) 0,transparent 16px,transparent)
}

.scroll-hint-icon {
    position: absolute;
    top: calc(50% - 25px);
    left: calc(50% - 60px);
    box-sizing: border-box;
    width: 120px;
    height: 80px;
    border-radius: 5px;
    transition: opacity .3s;
    opacity: 0;
    background: rgba(0,0,0,.7);
    text-align: center;
    padding: 20px 10px 10px
}

.scroll-hint-icon-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 100%;
    pointer-events: none
}

.scroll-hint-text {
    font-size: 10px;
    color: #fff;
    margin-top: 5px
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
    opacity: .8
}

.scroll-hint-icon:before {
    display: inline-block;
    width: 40px;
    height: 40px;
    color: #fff;
    vertical-align: middle;
    text-align: center;
    content: "";
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=)
}

.scroll-hint-icon:after {
    content: "";
    width: 34px;
    height: 14px;
    display: block;
    position: absolute;
    top: 10px;
    left: 50%;
    margin-left: -20px;
    background-repeat: no-repeat;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
    opacity: 0;
    transition-delay: 2.4s
}

.c-header__menu-item-label:hover span::before,.c-header__menu-item.in-dropmenu:hover span::before,.c-header__menu-item.is-current .c-header__menu-item-label span::before,.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
    opacity: 1
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
    -webkit-animation: 1.2s linear 2 scroll-hint-appear;
    animation: 1.2s linear 2 scroll-hint-appear
}

.scroll-hint-icon-white {
    background-color: #fff;
    box-shadow: 0 4px 5px rgba(0,0,0,.4)
}

.scroll-hint-icon-white:before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=)
}

.scroll-hint-icon-white:after {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==)
}

.scroll-hint-icon-white .scroll-hint-text {
    color: #000
}

* {
    padding: 0
}

html {
    min-width: 1120px;
    font-family: YakuHanJP_Noto,"Noto Sans JP",sans-serif;
    font-size: 62.5%;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-break: normal
}

body {
    font-size: 1.6rem;
    font-weight: 400
}

li {
    list-style-type: none
}

h1,h2,h3,h4,h5,h6,th {
    font-weight: inherit
}

address,cite,dfn,em,i,var {
    font-style: inherit
}

fieldset {
    min-width: 0
}

h1,h2,h3,h4,h5,h6 {
    font-size: inherit
}

*,h1 {
    margin: 0
}

small {
    font-size: inherit
}

button,fieldset,input,select,textarea {
    padding: 0;
    border: 0
}

button:not(:disabled):not([aria-disabled=true]) {
    cursor: pointer
}

[data-whatinput=mouse] :focus,[data-whatinput=touch] :focus {
    outline: 0
}

.c-contact__heading img,img {
    width: 100%;
    height: auto
}

.c-breadcrumbs {
    width: 1120px;
    margin: 26px auto 0;
    position: relative;
    z-index: 10
}

.c-breadcrumbs__list {
    display: flex;
    width: 100%
}

.c-breadcrumbs__item::after {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 8px;
    margin-left: 3px;
    vertical-align: unset;
    content: "";
    border-right: 1px solid #d0cfcf;
    border-bottom: 1px solid #d0cfcf;
    transform: rotate(-45deg)
}

.c-breadcrumbs__link {
    font-size: 1.4rem;
    letter-spacing: .06em
}

.c-breadcrumbs__item:last-child .c-breadcrumbs__link {
    color: #999
}

.c-breadcrumbs__item:last-child::after,.c-header__menu-item:last-child .c-header__menu-item-label::before {
    content: none
}

.c-contact {
    position: relative;
    z-index: 1;
    overflow: hidden
}

.c-contact::before {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    width: 100%;
    min-width: 1120px;
    height: 3px;
    content: "";
    background-color: #eceefb;
    transform: translate(-50%,-50%)
}

.c-contact__container {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 1220px;
    padding: 38px 3.1147540984% 26px;
    margin: auto;
    background-color: #1d2088
}

.c-contact__heading {
    width: 14.5132743363%
}

.c-contact__btn {
    position: relative;
    display: block;
    flex-shrink: 0;
    width: 360px;
    padding: 25px 30px;
    margin-left: 9.2920353982%;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    background-color: #f58220
}

.c-contact__btn-body {
    position: relative;
    padding: 0 40px 0 55px
}

.c-contact__btn-body::before,.c-footer__group03-item-body[target=_blank]::after {
    position: absolute;
    content: "";
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%;
    transform: translateY(-50%)
}

.c-contact__btn-body::before {
    top: 50%;
    left: 0;
    width: 34px;
    height: 22px;
    background-image: url(../../assets/images/components/contact_icon_letter.png)
}

.c-contact__btn-icon {
    position: absolute;
    top: 50%;
    right: 40px;
    z-index: 1;
    transform: translateY(-50%)
}

.c-contact__btn-icon::before {
    display: block;
    width: 16px;
    height: 16px;
    content: "";
    background-color: #b0611e;
    transform: rotate(45deg)
}

.c-contact__btn-icon::after {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    width: 6px;
    height: 6px;
    margin-left: -1px;
    content: "";
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translate(-50%,-50%) rotate(45deg)
}

.c-contact__info {
    width: 40.7079646018%;
    margin-left: 4.4247787611%
}

.c-contact__tel {
    position: relative;
    width: 64.1304347826%
}

.c-contact__mobile::before,.c-contact__tel::before {
    z-index: 2;
    content: ""
}

.c-contact__mobile {
    position: relative;
    display: flex;
    align-items: center;
    margin-top: 6px;
    font-size: 1.4rem;
    color: #fff
}

.c-contact__mobile-body {
    display: block;
    width: 26.0869565217%;
    margin-left: 7px
}

.c-contact__time {
    margin-top: 7px;
    font-size: 1.4rem;
    color: #fff
}

.c-dialog,.c-dialog__backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.c-dialog {
    z-index: 100;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px;
    overflow: auto;
    transition: opacity .5s
}

.c-dialog[aria-hidden=true] {
    display: none;
    display: flex;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s .5s,opacity .5s
}

.c-dialog__backdrop {
    z-index: -1;
    background-color: rgba(0,0,0,.7)
}

.c-dialog__document {
    flex-shrink: 0;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 25px;
    transition: transform .4s cubic-bezier(.175,.885,.32,1.275);
    will-change: transform
}

.c-dialog__close {
    position: relative;
    width: 40px;
    height: 40px;
    margin-bottom: 8px
}

.c-dialog__close span::after,.c-dialog__close span::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 55px;
    height: 2px;
    content: "";
    background-color: #fff
}

.c-dialog__close span::before {
    transform: translate(-50%,-50%) rotate(45deg)
}

.c-dialog__close span::after {
    transform: translate(-50%,-50%) rotate(-45deg)
}

.c-video-dialog .c-dialog__document {
    width: 990px;
    background: 0 0;
    border-radius: 0
}

.c-video-dialog .c-dialog__player {
    position: relative;
    width: 100%;
    padding-top: 556px;
    background-color: #fff
}

.c-contact__mobile::before,.c-contact__tel::before,.c-video-dialog .c-dialog__player iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.c-video-dialog .c-dialog__close {
    display: block;
    margin-right: 0;
    margin-left: auto
}

.js-disclosure-details {
    overflow: hidden;
    transition: height .5s;
    contain: content
}

.js-disclosure-details[aria-hidden=true] {
    height: 0;
    visibility: hidden;
    transition: height .5s,visibility 0s .5s
}

.c-footer {
    background-color: #fff
}

.c-footer__container {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    width: 1120px;
    padding: 70px 0 65px;
    margin: auto
}

.c-footer__group01 {
    display: flex;
    flex-wrap: wrap;
    width: 300px;
    margin-top: 10px;
    border-right: 1px solid #e6e5e5
}

.c-footer__company-logo {
    width: 265px
}

.c-footer__logos {
    margin-top: 40px
}

.c-footer__group02 {
    display: flex;
    justify-content: space-between;
    width: 545px;
    margin-left: 40px
}

.c-footer__group02-item {
    font-size: 1.8rem
}

.c-footer__group02-item-body {
    position: relative;
    padding-right: 18px;
    font-weight: 500
}

.c-footer__group02-item-body::after,.c-footer__group03-item-body::after {
    position: absolute;
    right: 0;
    content: "";
    border-top: 2px solid #1d2088;
    border-right: 2px solid #1d2088;
    transform: translateY(-50%) rotate(45deg)
}

.c-footer__group02-item-body::after {
    top: calc(50% + 1px);
    width: 8px;
    height: 8px
}

.c-footer__group03 {
    width: 160px;
    margin-left: 50px
}

.c-footer__group03-item {
    font-size: 1.6rem
}

.c-footer__group03-item-body {
    position: relative;
    padding-right: 15px
}

.c-footer__group03-item-body::after {
    top: 50%;
    width: 6px;
    height: 6px
}

.c-footer__group03-item-body[target=_blank] {
    padding-right: 22px
}

.c-footer__group03-item-body[target=_blank]::after {
    width: 12px;
    height: 10px;
    background-image: url(../../assets/images/components/footer_icon_blank.png);
    border: 0
}

.c-footer__copyright {
    padding: 35px 0 55px;
    font-size: 1.4rem;
    text-align: center;
    border-top: 1px solid #e6e5e5
}

.c-header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%
}

.c-header__container {
    display: flex;
    justify-content: space-between;
    width: 1120px;
    height: 93px;
    margin: 0 auto
}

.c-header__logo {
    display: block;
    flex-shrink: 0;
    -ms-grid-row-align: center;
    align-self: center;
    width: 88px;
}

.c-header__menu {
    display: flex;
    align-items: center;
    color: #fff
}

.c-header__menu-list {
    display: flex;
    height: 100%
}

.c-header__menu-item {
    display: flex
}

.c-header__menu-item-label {
    position: relative;
    -ms-grid-row-align: center;
    align-self: center;
    padding: 0 14.8px;
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
    cursor: pointer
}

.c-header__menu-item-label span,.c-header__submenu-link a {
    position: relative;
    display: inline-block
}

.c-header__menu-item-label span::before {
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    background-color: rgba(255,255,255,.5);
    opacity: 0
}

.c-header__menu-item-label::before {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 1;
    width: 1px;
    height: 36px;
    content: "";
    background-color: #333;
    transform: translateY(-50%)
}

.c-header__submenu {
    position: absolute;
    top: 93px;
    left: 0;
    width: 100%;
    visibility: hidden;
    background-color: #edeffc;
    opacity: 0;
    transition: .4s
}

.c-header__menu-item:hover .c-header__submenu {
    visibility: visible;
    opacity: 1
}

.c-header__submenu-details {
    width: 1120px;
    padding: 32px 0 43px;
    margin: 0 auto;
    background-color: #edeffc
}

.c-header__submenu-details ul {
    display: flex;
    margin-top: 27px
}

.c-header__submenu-link {
    font-size: 2.15rem;
    font-weight: 500;
    color: #0d0d0d;
    letter-spacing: .02em
}

.c-header__submenu-link a {
    padding-right: 25px
}

.c-header__submenu-icon {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 1;
    transition: margin .4s;
    transform: translateY(-50%)
}

.c-header__submenu-icon::after,.c-header__submenu-icon::before {
    content: ""
}

.c-header__submenu-icon::before {
    display: block;
    width: 16px;
    height: 16px;
    background-color: #d8daf0;
    transform: rotate(45deg)
}

.c-header__submenu-icon::after {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    width: 7px;
    height: 7px;
    border-top: 2px solid #1d2088;
    border-right: 2px solid #1d2088;
    transform: translate(-50%,-50%) rotate(45deg)
}

.c-header__submenu-item {
    width: 31.6071428571%;
    font-size: 2.15rem;
    font-weight: 500;
    color: #0d0d0d;
    letter-spacing: .02em
}

.c-header__submenu-item+.c-header__submenu-item {
    margin-left: 2.5892857143%
}

.c-header__submenu-item-img {
    overflow: hidden
}

.c-header__submenu-item-img img {
    transition: transform .4s ease-in-out
}

.c-header__submenu-item-body {
    position: relative;
    display: inline-block;
    padding-right: 25px;
    margin-top: 13px;
    font-size: 1.35rem;
    letter-spacing: .02em
}

.c-header__menu-btn {
    position: relative;
    display: flex;
    flex-shrink: 0;
    justify-content:center;
    width: 120px;
    padding: 20px 0 5px;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: -.01em;
    background-color: #e7791c;
    text-align: center;
}

.c-header__menu-btn::before {
    display: block;
    position: absolute;
    top:5px;
    left: 43%;
    width: 16px;
    height: 12px;
    content: "";
    background-image: url(../images/components/icon_contact.png);
    background-repeat: no-repeat;
    background-size: contain
}

.c-header__spmenu-btn {
    display: none
}

.c-header__spmenu-btn span {
    display: block;
    width: 25px;
    height: 2px;
    background-color: #fff;
    transition: .4s
}

.c-header__spmenu-btn span:nth-child(2) {
    margin: 7px 0
}

.c-header__spmenu-btn.is-open span:nth-child(2) {
    opacity: 0
}

.c-header__spmenu-btn.is-open span:first-child {
    transform: translateY(9px) rotate(45deg)
}

.c-header__spmenu-btn.is-open span:last-child {
    transform: translateY(-9px) rotate(-45deg)
}

.c-header__spmenu {
    position: fixed;
    top: 50px;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: calc(100% - 50px);
    overflow: hidden;
    visibility: hidden;
    background-color: #fff;
    opacity: 0;
    transition: .4s
}

.c-header__spmenu-label {
    position: relative;
    display: block;
    width: 100%;
    padding: 15px;
    font-size: 1.5rem;
    font-weight: 500;
    text-align: left;
    letter-spacing: .02rem;
    border-bottom: 1px solid #dbdcf6
}

.c-header__spmenu-item a::before,.c-header__spmenu-label::before {
    position: absolute;
    top: calc(50% - 5px);
    right: 15px;
    width: 10px;
    height: 10px;
    content: "";
    border-right: 2px solid #1d2088;
    border-bottom: 2px solid #1d2088;
    transform: rotate(-45deg)
}

.c-header__spmenu-label.js-disclosure::after,.c-header__spmenu-label.js-disclosure::before {
    position: absolute;
    top: calc(50% - 1px);
    right: 15px;
    width: 12px;
    height: 2px;
    content: "";
    background-color: #1d2088;
    transition: .4s;
    transform: rotate(0)
}

.c-header__spmenu-label.js-disclosure::after {
    transform: rotate(90deg)
}

.c-header__spmenu-label.js-disclosure[aria-expanded=true]::after {
    transform: rotate(0)
}

.c-header__spmenu-details {
    background-color: #f1f2fd
}

.c-header__spmenu-item {
    border-bottom: 1px solid #dbdcf6
}

.c-header__spmenu-item a {
    position: relative;
    display: block;
    padding: 15px;
    font-size: 1.3rem
}

.c-header__spmenu-contact {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 66.6666666667%;
    padding: 12px 20px;
    margin: 25px auto 0;
    background-color: #e7791c
}

.c-header__spmenu-contact::before {
    display: block;
    width: 25px;
    height: 16px;
    margin-right: 10px;
    content: "";
    background-image: url(../images/components/icon_contact_sp.png);
    background-repeat: no-repeat;
    background-size: contain
}

.c-header__spmenu-contact::after {
    position: absolute;
    top: 50%;
    right: 23px;
    width: 5px;
    height: 5px;
    content: "";
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translateY(-50%) rotate(45deg)
}

.c-header__spmenu-contact-body {
    margin-right: 16px;
    font-size: 1.4rem;
    font-weight: 600;
    color: #fff
}

.c-header__backdrop {
    position: fixed;
    top: 0;
    right: 9px;
    bottom: 0;
    left: 0;
    z-index: -1;
    min-width: 1120px;
    visibility: hidden;
    background-color: rgba(0,0,0,.5);
    opacity: 0;
    transition: .4s
}

.c-main {
    overflow: hidden
}

.c-pagetop {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    visibility: hidden;
    background-color: #000;
    opacity: 0;
    transition: opacity .4s,visibility .4s;
    transform: rotate(45deg)
}

.c-pagetop::after {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    width: 12px;
    height: 12px;
    content: "";
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: translate(-50%,-50%) rotate(-90deg)
}

.u-clearfix::after {
    display: block;
    clear: both;
    content: ""
}

.u-d-none {
    display: none!important
}

.u-d-inline {
    display: inline!important
}

.u-d-inline-block {
    display: inline-block!important
}

.u-d-block {
    display: block!important
}

.u-d-grid {
    display: -ms-grid!important;
    display: grid!important
}

.u-d-table {
    display: table!important
}

.u-d-table-row {
    display: table-row!important
}

.u-d-table-cell {
    display: table-cell!important
}

.u-d-flex {
    display: flex!important
}

.u-d-inline-flex {
    display: inline-flex!important
}

.u-visually-hidden,.u-visually-hidden-focusable:not(:focus) {
    position: fixed!important;
    top: 0!important;
    left: 0!important;
    display: block!important;
    width: 4px!important;
    height: 4px!important;
    padding: 0!important;
    margin: 0!important;
    overflow: hidden!important;
    pointer-events: none!important;
    visibility: visible!important;
    border: 0!important;
    opacity: 0!important
}
span.annotation {
    display: block;
    font-size: 1.2rem;
    margin-top: 0.5rem;
}
@media (max-width: 48em) {
    html {
        min-width:375px
    }

    .c-breadcrumbs {
        display: none
    }

    .c-contact::before {
        display: none;
        content: none
    }

    .c-contact__container {
        display: block;
        width: 100%;
        padding: 35px 30px 30px
    }

    .c-contact__heading {
        width: 42.8571428571%;
        margin: auto
    }

    .c-contact__btn {
        width: 87.3015873016%;
        padding: 15px;
        margin: 17px auto 0;
        font-size: 1.5rem
    }

    .c-contact__btn-body {
        position: static;
        display: block;
        padding: 0 15px
    }

    .c-contact__btn-body::before {
        content: none
    }

    .c-contact__btn-icon {
        right: 15px
    }

    .c-contact__btn-icon::before {
        width: 11px;
        height: 11px
    }

    .c-contact__btn-icon::after {
        width: 5px;
        height: 5px;
        border-width: 1px
    }

    .c-contact__info {
        width: 100%;
        margin-top: 15px;
        margin-left: 0
    }

    .c-contact__tel {
        width: 68.8888888889%;
        margin: auto
    }

    .c-contact__mobile::before,.c-contact__tel::before {
        content: none
    }

    .c-contact__tel-body {
        display: block;
        width: 100%;
        margin-left: 3px
    }

    .c-contact__mobile-body img,.c-contact__tel-body img,.c-footer__logos img,.c-video-dialog .c-dialog__document {
        width: 100%
    }

    .c-contact__mobile {
        justify-content: center;
        margin: 15px auto auto;
        font-size: 1.2rem
    }

    .c-contact__mobile-body {
        width: 36.0317460317%;
        margin-left: 8px
    }

    .c-contact__time {
        margin-top: 16px;
        font-size: 1.2rem;
        line-height: 1.4167;
        text-align: center
    }

    .c-dialog {
        min-width: 1px;
        padding: 15px
    }

    .c-dialog__close {
        width: 30px;
        height: 30px
    }

    .c-dialog__close span::after,.c-dialog__close span::before {
        width: 40px
    }

    .c-video-dialog .c-dialog__player {
        padding-top: 52.65%
    }

    .c-footer {
        position: relative
    }

    .c-footer__container {
        width: 100%;
        padding: 0
    }

    .c-footer__group01 {
        justify-content: space-between;
        order: 3;
        width: 100%;
        padding: 20px 15px;
        margin: 0;
        border-right: none
    }

    .c-footer__company-logo {
        width: 53.6507936508%;
        margin: 0 auto
    }

    .c-footer__logos {
        width: 30.3174603175%;
        margin-top: 0
    }

    .c-footer__group02 {
        display: block;
        order: 1;
        width: 100%;
        margin-left: 0
    }

    .c-footer__group02-item {
        font-size: 1.5rem;
        border-bottom: 1px solid #e6e7f7
    }

    .c-footer__group02-item-body {
        display: block;
        padding: 15px
    }

    .c-footer__group02-item-body::after {
        right: 15px;
        width: 10px;
        height: 10px
    }

    .c-footer__group03 {
        order: 2;
        width: 100%;
        padding: 25px 15px;
        margin-left: 0;
        border-bottom: 1px solid #e6e7f7
    }

    .c-footer__group03-list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    .c-footer__group03-item {
        padding-right: 20px;
        font-size: 1.3rem;
        border-right: 1px solid #e6e7f7
    }

    .c-footer__group03-item:last-of-type {
        padding-right: 0;
        border-right: none
    }

    .c-footer__group03-item-body[target=_blank] {
        padding-right: 16px
    }

    .c-footer__group03-item-body[target=_blank]::after {
        width: 9.5px;
        height: 8px
    }

    .c-footer__copyright {
        padding: 25px 15px;
        font-size: 1.1rem
    }

    .c-header {
        position: fixed
    }

    .c-header__container {
        width: 100%;
        height: 50px;
        background-color: #000
    }

    .c-header__logo {
        width: 68px;
        margin-bottom: 3px;
        margin-left: 15px
    }

    .c-header__menu {
        flex-direction: row-reverse
    }

    .c-header__menu-list {
        display: none
    }

    .c-header__menu-btn,.c-header__spmenu-btn {
        flex-direction: column;
        justify-content: center;
        height: 100%
    }

    .c-header__menu-btn {
        width: 85px;
        padding: 12px 0 0;
        font-size: .9rem;
        align-items: center;     
    }

    .c-header__menu-btn::before {
        width: 15px;
        height: 10px;
        top: 6px;
        left: 41%;
    }

    .c-header__spmenu-btn {
        display: flex;
        align-items: center;
        width: 55px
    }

    .c-header__spmenu.is-open {
        overflow: auto
    }

    .c-header__spmenu-container {
        width: 100%;
        padding-bottom: 25px
    }

    .c-header__backdrop {
        display: none
    }

    .c-header__spmenu-btn.is-open+.c-header__menu-btn {
        visibility: hidden
    }

    .c-main {
        padding-top: 50px
    }

    .c-pagetop {
        position: fixed;
        right: 15px;
        bottom: 25px;
        width: 32.5px;
        height: 32.5px
    }

    .c-pagetop::after {
        width: 9px;
        height: 9px;
        margin-top: 1px;
        margin-left: 1px
    }

    .c-header__spmenu.is-open,.c-pagetop.is-show {
        visibility: visible;
        opacity: 1
    }

    .c-pagetop.is-stop {
        position: absolute;
        top: -15px;
        right: 15px;
        bottom: auto
    }

    .u-d-sp-none {
        display: none!important
    }

    .u-d-sp-inline {
        display: inline!important
    }

    .u-d-sp-inline-block {
        display: inline-block!important
    }

    .u-d-sp-block {
        display: block!important
    }

    .u-d-sp-grid {
        display: -ms-grid!important;
        display: grid!important
    }

    .u-d-sp-table {
        display: table!important
    }

    .u-d-sp-table-row {
        display: table-row!important
    }

    .u-d-sp-table-cell {
        display: table-cell!important
    }

    .u-d-sp-flex {
        display: flex!important
    }

    .u-d-sp-inline-flex {
        display: inline-flex!important
    }
    span.annotation {
        text-align: right;
        margin: 0;
    }
}

@media not all and (max-width: 48em) {
    .c-breadcrumbs__item a,.c-contact__btn {
        transition:opacity .4s
    }

    .c-breadcrumbs__item a:hover,.c-contact__btn:hover,.c-dialog__close:hover {
        opacity: .7
    }

    .c-contact__btn-icon,.c-footer__group02-item-body::after {
        transition: margin .4s
    }

    .c-contact__btn:hover .c-contact__btn-icon,.c-footer__group02-item-body:hover::after,.c-header__submenu-item a:hover .c-header__submenu-icon,.c-header__submenu-link a:hover .c-header__submenu-icon {
        margin-right: -5px
    }

    .c-contact__mobile-body,.c-contact__tel-body {
        pointer-events: none
    }

    .c-dialog__close,.c-footer__group02-item-body,.c-footer__group03-item-body,.c-header__logo,.c-header__menu-btn,.c-header__menu-item-label span::before {
        transition: opacity .4s
    }

    .c-footer__group02-item:nth-child(n+2) {
        margin-top: 20px
    }

    .c-footer__group02-item-body:hover {
        opacity: .7
    }

    .c-footer__group03-item:nth-child(n+2) {
        margin-top: 23px
    }

    .c-footer__group03-item-body:hover {
        opacity: .7
    }

    .c-header.is-fixed {
        position: fixed;
        -webkit-animation: .6s ease-in-out slideIn;
        animation: .6s ease-in-out slideIn
    }

    .c-header.is-fixed,.c-header.is-fixed .c-header__container {
        background-color: #000
    }

    .c-header__menu-btn:hover {
        opacity: .7
    }

    .c-header__submenu-item a:hover .c-header__submenu-item-img img {
        transform: scale(1.05)
    }

    .c-header__spmenu {
        display: none
    }

    .c-header.is-hover .c-header__backdrop,.c-pagetop.is-fixed {
        visibility: visible;
        opacity: 1
    }

    .c-pagetop:hover {
        opacity: .7
    }
}

/* link--btn common */
.btn{
    position: relative;
    display: block;
    width: 300px;
    padding: 16.5px 0;
    margin: 50px auto 0;
    font-size: 1.8rem;
    font-weight: 600;
    text-align: center;
    border: 1px solid #1d2088;
    transition: background-color .4s, color .4s;
}
.btn.blue{
    color: #fff;
    background-color: #1d2088;
}
.btn.blue:hover {
    color: #1d2088;
    background-color: #fff;
}
.btn.white{
    color: #1d2088;
    background-color: #fff;    
}
.btn.white:hover {
    border: 1px solid #fff;
     color: #fff;
    background-color: rgba(29, 32, 136, .87);
}
.btn.purple{
    color: #1d2088;
    background-color: #edeefb;    
}
.btn.purple:hover {
    border: 1px solid #edeefb;
    color: #edeefb;
    background-color: rgba(29, 32, 136, .87);
}
.btn span{
    padding-right: 16px;
}
.btn span::before {
    position: absolute;
    top: calc(50% - 1px);
    right: 33px;
    z-index: 1;
    display: block;
    width: 16px;
    height: 16px;
    content: "";
    transform: rotate(45deg) translateY(-50%);
    transition: background-color .4s;
}
.btn.blue span::before{
    background-color: #fff;
}

.btn.white span::before,
.btn.purple span::before{
    background-color: #1d2088;
}
.btn.blue:hover span::before {
    background-color: rgba(29, 32, 136, .13);
}
.btn.white:hover span::before,
.btn.purple:hover span::before {
    background-color: rgba(255, 255, 255, .87);
}
.btn span::after {
    position: absolute;
    top: calc(50% + 1px);
    right: 29px;
    z-index: 2;
    width: 7px;
    height: 7px;
    content: "";
    transform: translate(-50%, -50%) rotate(45deg);
}
.btn.blue span::after{
    border-top: 2px solid #1d2088;
    border-right: 2px solid #1d2088;
}
.btn.white span::after{
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}
.btn.purple span::after{
    border-top: 2px solid #edeefb;
    border-right: 2px solid #edeefb;
}
.btn.white:hover span::after,
.btn.purple:hover span::after {
    border-top: 2px solid #1d2088;
    border-right: 2px solid #1d2088;
}
@media (max-width: 48em){
.btn {
    width: 70.8695652174%;
    padding: 12px 20px 12px 0;
    margin-top: 2.7rem;
    font-size: 1.4rem;
}
.btn span{
    padding-right: 0;
}
.btn span::before {
    right: 23px;
}
.btn.blue span::before {
    width: 11px;
    height: 11px;
}
.btn.white span::before {
    width: 12px;
    height: 12px;
}
.btn span::after {
    right: 20px;
    width: 5px;
    height: 5px;
}
}

.p-event .btn,.p-news .btn{
    width: 160px;
    padding: 10px 60px 10px 40px;
    margin: 0;
}
.p-service__header .btn{
    margin: 0.9em 0 0;
    width: 93%;
}
.p-case__item.recommend .btn{
    width: 100%;
    margin: 40px 0 0;
}
@media (max-width: 48em){
    .p-event .btn,.p-news .btn{
        order: 4;
        padding: 11px 30px 11px 20px;
        margin: 10px auto 0;
        font-size: 1.4rem;
    }
    .p-service__header .btn{
       margin: 2.7rem auto 0;
       width: 70.8695652174%;
    }
    .p-case__item.recommend .btn{
    margin: 2rem 0 0;
    padding: 12px 7px 12px 0;
    }
}
