@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700&display=swap);

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

article,
aside,
blockquote,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
    display: block
}

li,
nav ul,
ol,
ul {
    margin: 0;
    padding: 0;
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: "";
    content: none
}

ins {
    text-decoration: underline
}

del {
    text-decoration: line-through
}

mark {
    background: none
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted #000;
    cursor: help
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0
}

button,
input[type=button],
input[type=submit] {
    padding: 0;
    margin: 0
}

a img,
input,
select {
    vertical-align: middle
}

@font-face {
    font-family: YakuHanJP;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/assets/fonts/YakuHanJP-Regular.eot);
    src: url(/assets/fonts/YakuHanJP-Regular.woff2) format("woff2"), url(/assets/fonts/YakuHanJP-Regular.woff) format("woff");
    unicode-range: U+3001-3002, U+3008-3011, U+3014-3015, U+30fb, U+ff01, U+ff08-ff09, U+ff1a-ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

@font-face {
    font-family: YakuHanJP;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(/assets/fonts/YakuHanJP-Medium.eot);
    src: url(/assets/fonts/YakuHanJP-Medium.woff2) format("woff2"), url(/assets/fonts/YakuHanJP-Medium.woff) format("woff");
    unicode-range: U+3001-3002, U+3008-3011, U+3014-3015, U+30fb, U+ff01, U+ff08-ff09, U+ff1a-ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

@font-face {
    font-family: YakuHanJP;
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/assets/fonts/YakuHanJP-Bold.eot);
    src: url(/assets/fonts/YakuHanJP-Bold.woff2) format("woff2"), url(/assets/fonts/YakuHanJP-Bold.woff) format("woff");
    unicode-range: U+3001-3002, U+3008-3011, U+3014-3015, U+30fb, U+ff01, U+ff08-ff09, U+ff1a-ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

::-moz-selection {
    color: #fff;
    background: rgba(0, 60, 153, .6)
}

::selection {
    color: #fff;
    background: rgba(0, 60, 153, .6)
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-style: normal
}

html {
    height: 100%
}

@media screen and (min-width:1440px) {
    html {
        font-size: 112.5%
    }
}

@media screen and (min-width:769px) and (max-width:1439px) {
    html {
        font-size: 100%
    }
}

body {
    height: calc(100% - 343px);
    min-height: calc(100% - 344px);
    font-family: YakuHanJP, Noto Sans JP, sans-serif;
    color: #333;
    width: 100%;
    height: 100%;
    min-width: 320px;
    min-height: 100%;
    margin: 0;
    padding: 0;
    line-height: 1;
    -webkit-text-size-adjust: 100%;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-feature-settings: "palt";
    -webkit-font-kerning: normal;
    -webkit-font-smoothing: antialiased;
    font-feature-settings: "palt";
    font-kerning: normal
}

@media only screen and (min-width:769px) {
    body {
        font-size: 1rem
    }
}

@media only screen and (max-width:768px) {
    body {
        font-size: .875rem
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 400;
    line-height: 1.3
}

i,
p {
    line-height: 1.6
}

button,
input,
select,
textarea {
    font-family: YakuHanJP, Noto Sans JP, sans-serif;
    font-size: 13px;
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

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

    button,
    input,
    select,
    textarea {
        font-size: 16px
    }
}

button:focus,
input:focus,
select:focus,
textarea:focus {
    outline: 0
}

button,
input[type=button],
input[type=submit] {
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

a,
button,
input[type=button],
input[type=submit] {
    cursor: pointer;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

a {
    color: #333;
    text-decoration: none;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in;
    display: inline-block
}

img {
    width: auto
}

img,
picture {
    max-width: 100%;
    height: auto;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

picture {
    width: 100%;
    display: inline-block;
    vertical-align: middle
}

html.overflow {
    overflow: hidden;
    max-height: 100vh
}

.l-container {
    width: 100%;
    min-height: 100%;
    margin: 0 auto;
    position: relative
}

@media screen and (min-width:1080px) {
    .l-container {
        min-width: 67.5rem
    }
}

@media screen and (min-width:769px) and (max-width:1079px) {
    .l-container {
        min-width: 48.0625rem
    }
}

@media only screen and (max-width:768px) {
    .l-container {
        min-width: 20rem
    }
}

.l-contents {
    width: 100%;
    overflow: hidden
}

@media only screen and (min-width:769px) {
    .l-contents {}
}

@media only screen and (max-width:768px) {
    .l-contents {
        padding: 2.5rem 0 0
    }
}

.l-contents__main {
    background-color: #fff;
    position: relative;
    z-index: 1
}

@media only screen and (min-width:769px) {
    .l-contents-2column {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }
}

.l-contents-2column__main {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 0 0 5rem
}

@media only screen and (min-width:769px) {
    .l-contents-2column__main {
        width: 74.25926%;
        min-width: 74.25926%
    }
}

.l-contents-2column__main--padding {
    padding: 2.5rem 0 5rem
}

.l-contents-2column__main--remove_padding_top {
    padding-top: 0
}

.l-contents-2column__main--remove_padding_bottom {
    padding-bottom: 0
}

@media only screen and (min-width:769px) {
    .l-contents-2column__side {
        width: 22.77778%;
        min-width: 22.77778%;
        margin: 0 0 0 2.96296%;
        padding: 2.5rem 0 5rem
    }
}

@media only screen and (max-width:768px) {
    .l-contents-2column__side {
        padding: 0 0 5rem
    }
}

.l-contents-2column__side--remove_padding_top {
    padding-top: 0
}

.l-contents-2column__side--remove_padding_bottom {
    padding-bottom: 0
}

.l-header {
    width: 100%;
    left: 0;
    top: 0;
    z-index: 999;
    -webkit-transform: translateY(-140%);
    transform: translateY(-140%)
}

@media screen and (min-width:769px) and (max-width:1079px) {
    .l-header {
        min-width: 48.0625rem
    }
}

@media screen and (min-width:1080px) {
    .l-header {
        min-width: 67.5rem
    }
}

@media only screen and (max-width:768px) {
    .l-header {
        min-width: 20rem
    }
}

.l-footer {
    position: relative
}

@font-face {
    font-family: swiper-icons;
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

.swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-container-vertical>.swiper-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.swiper-container-multirow>.swiper-wrapper {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.swiper-container-multirow-column>.swiper-wrapper {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.swiper-container-free-mode>.swiper-wrapper {
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-slide {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 100%;
    position: relative;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
    height: auto
}

.swiper-container-autoheight .swiper-wrapper {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-transition-property: height, -webkit-transform;
    transition-property: height, -webkit-transform;
    transition-property: transform, height;
    transition-property: transform, height, -webkit-transform
}

.swiper-container-3d {
    -webkit-perspective: 1200px;
    perspective: 1200px
}

.swiper-container-3d .swiper-cube-shadow,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-wrapper {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d
}

.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-container-3d .swiper-slide-shadow-left {
    background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, .5)), to(transparent));
    background-image: linear-gradient(270deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-container-3d .swiper-slide-shadow-right {
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(transparent));
    background-image: linear-gradient(90deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-container-3d .swiper-slide-shadow-top {
    background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, .5)), to(transparent));
    background-image: linear-gradient(0deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-container-3d .swiper-slide-shadow-bottom {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .5)), to(transparent));
    background-image: linear-gradient(180deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-container-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-container-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper {
    -webkit-scroll-snap-type: x mandatory;
    -ms-scroll-snap-type: x mandatory;
    scroll-snap-type: x mandatory
}

.swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper {
    -webkit-scroll-snap-type: y mandatory;
    -ms-scroll-snap-type: y mandatory;
    scroll-snap-type: y mandatory
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: calc(var(--swiper-navigation-size)/44*27);
    height: var(--swiper-navigation-size);
    margin-top: calc(-1*var(--swiper-navigation-size)/2);
    z-index: 10;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    text-transform: none;
    font-variant: normal
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
    left: 10px;
    right: auto
}

.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
    content: "prev"
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
    right: 10px;
    left: auto
}

.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
    content: "next"
}

.swiper-button-next.swiper-button-white,
.swiper-button-prev.swiper-button-white {
    --swiper-navigation-color: #fff
}

.swiper-button-next.swiper-button-black,
.swiper-button-prev.swiper-button-black {
    --swiper-navigation-color: #000
}

.swiper-button-lock {
    display: none
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-container-horizontal>.swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    -webkit-transform: scale(.33);
    transform: scale(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    -webkit-transform: scale(.66);
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    -webkit-transform: scale(.33);
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    -webkit-transform: scale(.66);
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    -webkit-transform: scale(.33);
    transform: scale(.33)
}

.swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 100%;
    background: #000;
    opacity: .2
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-container-vertical>.swiper-pagination-bullets {
    right: 10px;
    top: 50%;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 6px 0;
    display: block
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 8px
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    -webkit-transition: transform .2s, top .2s;
    transition: transform .2s, top .2s
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 4px
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    -webkit-transition: transform .2s, left .2s;
    transition: transform .2s, left .2s
}

.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    -webkit-transition: transform .2s, right .2s;
    transition: transform .2s, right .2s
}

.swiper-pagination-progressbar {
    background: rgba(0, 0, 0, .25);
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    -webkit-transform-origin: right top;
    transform-origin: right top
}

.swiper-container-horizontal>.swiper-pagination-progressbar,
.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0
}

.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-container-vertical>.swiper-pagination-progressbar {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-white {
    --swiper-pagination-color: #fff
}

.swiper-pagination-black {
    --swiper-pagination-color: #000
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none;
    background: rgba(0, 0, 0, .1)
}

.swiper-container-horizontal>.swiper-scrollbar {
    position: absolute;
    left: 1%;
    bottom: 3px;
    z-index: 50;
    height: 5px;
    width: 98%
}

.swiper-container-vertical>.swiper-scrollbar {
    position: absolute;
    right: 3px;
    top: 1%;
    z-index: 50;
    width: 5px;
    height: 98%
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0, 0, 0, .5);
    border-radius: 10px;
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-animation: swiper-preloader-spin 1s linear infinite;
    animation: swiper-preloader-spin 1s linear infinite;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 50%;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-top: 4px solid transparent
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@-webkit-keyframes swiper-preloader-spin {
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

@keyframes swiper-preloader-spin {
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

.swiper-container .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.swiper-container-fade .swiper-slide {
    pointer-events: none;
    -webkit-transition-property: opacity;
    transition-property: opacity
}

.swiper-container-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-cube {
    overflow: visible
}

.swiper-container-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-container-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-next+.swiper-slide,
.swiper-container-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right,
.swiper-container-cube .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-container-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .6;
    -webkit-filter: blur(50px);
    filter: blur(50px);
    z-index: 0
}

.swiper-container-flip {
    overflow: visible
}

.swiper-container-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-container-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right,
.swiper-container-flip .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-container {
    width: 100%;
    height: 100%
}

.swiper-slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.c-fade-in {
    opacity: 0;
    -webkit-transition: opacity .3s ease, -webkit-transform 1.2s ease;
    transition: opacity .3s ease, -webkit-transform 1.2s ease;
    transition: opacity .3s ease, transform 1.2s ease;
    transition: opacity .3s ease, transform 1.2s ease, -webkit-transform 1.2s ease
}

.c-fade-in__default {
    -webkit-transition: opacity 1s ease, -webkit-transform 1.2s ease;
    transition: opacity 1s ease, -webkit-transform 1.2s ease;
    transition: opacity 1s ease, transform 1.2s ease;
    transition: opacity 1s ease, transform 1.2s ease, -webkit-transform 1.2s ease
}

.c-fade-in__scale,
.lazyload {
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

.lazyload {
    opacity: 0;
    -webkit-transition: opacity .3s ease, -webkit-transform 1.2s ease;
    transition: opacity .3s ease, -webkit-transform 1.2s ease;
    transition: opacity .3s ease, transform 1.2s ease;
    transition: opacity .3s ease, transform 1.2s ease, -webkit-transform 1.2s ease
}

.lazyloaded {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition-delay: 1s;
    transition-delay: 1s
}

.c-fade-in-out {
    opacity: 0;
    -webkit-transition: opacity .3s ease, -webkit-transform 2s ease;
    transition: opacity .3s ease, -webkit-transform 2s ease;
    transition: opacity .3s ease, transform 2s ease;
    transition: opacity .3s ease, transform 2s ease, -webkit-transform 2s ease
}

.c-fade-in-out.active {
    opacity: 1
}

.c-fade-in-out-image {
    -webkit-transform: scale(1) translateY(35%) translateZ(0);
    transform: scale(1) translateY(35%) translateZ(0);
    -webkit-animation-duration: 10s;
    animation-duration: 10s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear
}

.c-fade-in-out:nth-of-type(odd).active .c-fade-in-out-image {
    -webkit-animation-name: zooIn;
    animation-name: zooIn
}

.c-fade-in-out:nth-of-type(2n).active .c-fade-in-out-image {
    -webkit-animation-name: zooOut;
    animation-name: zooOut
}

@-webkit-keyframes zooIn {
    0% {
        -webkit-transform: scale(1) translateY(35%) translateZ(0);
        transform: scale(1) translateY(35%) translateZ(0)
    }

    to {
        -webkit-transform: scale(1.1) translateY(35%) translateZ(0);
        transform: scale(1.1) translateY(35%) translateZ(0)
    }
}

@keyframes zooIn {
    0% {
        -webkit-transform: scale(1) translateY(35%) translateZ(0);
        transform: scale(1) translateY(35%) translateZ(0)
    }

    to {
        -webkit-transform: scale(1.1) translateY(35%) translateZ(0);
        transform: scale(1.1) translateY(35%) translateZ(0)
    }
}

@-webkit-keyframes zooOut {
    0% {
        -webkit-transform: scale(1.1) translateY(35%) translateZ(0);
        transform: scale(1.1) translateY(35%) translateZ(0)
    }

    to {
        -webkit-transform: scale(1) translateY(35%) translateZ(0);
        transform: scale(1) translateY(35%) translateZ(0)
    }
}

@keyframes zooOut {
    0% {
        -webkit-transform: scale(1.1) translateY(35%) translateZ(0);
        transform: scale(1.1) translateY(35%) translateZ(0)
    }

    to {
        -webkit-transform: scale(1) translateY(35%) translateZ(0);
        transform: scale(1) translateY(35%) translateZ(0)
    }
}

.c-shredded-door {
    width: 100%;
    height: 10%;
    left: 0;
    top: 0;
    position: absolute;
    background-color: #000
}

.c-shredded-door--single {
    height: 100%;
    top: 0
}

.c-slide-label {
    position: relative
}

.c-slide-label--inline_block {
    display: inline-block
}

.c-slide-label__label {
    width: 0;
    height: 100%;
    overflow: hidden;
    display: block;
    line-height: 1.125;
    position: relative
}

@media screen and (max-width:767px) {
    .c-slide-label__label {
        line-height: 1.25
    }
}

.c-slide-label__label--reset_white_space {
    white-space: normal;
    word-break: break-all
}

.c-slide-label__label--reverse_color .c-slide-label__label__bg {
    background-color: #000
}

.c-slide-label__label__bg {
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #fff;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    display: block
}

.c-swiper__navi {
    margin: 1.25rem 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.c-swiper__navi__item+.c-swiper__navi__item {
    margin: 0 0 0 1rem
}

.c-swiper__pagination {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.c-swiper__pagination,
.c-swiper__pagination .swiper-pagination-bullet {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.c-swiper__pagination .swiper-pagination-bullet {
    width: 1.5rem;
    height: 1.5rem;
    background-color: transparent;
    opacity: 1
}

.c-swiper__pagination .swiper-pagination-bullet:before {
    content: "";
    display: block;
    width: .625rem;
    height: .625rem;
    background-color: #bdbdbd;
    border-radius: 50%;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.c-swiper__pagination .swiper-pagination-bullet-active:before {
    background-color: #333
}

.c-swiper__button {
    width: 1.5rem;
    height: 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.c-swiper__button .svg {
    display: block
}

.c-swiper__button .fill {
    fill: #bdbdbd
}

.c-common-arrow-button {
    width: 1.5rem;
    height: 1.5rem;
    display: block
}

@media only screen and (max-width:768px) {
    .c-common-arrow-button {
        width: 1.3125rem;
        height: 1.3125rem
    }
}

.c-common-arrow-button--reverse .c-common-arrow-button__inner {
    background-color: #fff
}

.c-common-arrow-button--reverse .c-common-arrow-button__arrow .fill {
    fill: #000
}

.c-common-arrow-button--small {
    width: 1.3125rem;
    height: 1.3125rem
}

@media only screen and (min-width:769px) {
    .c-common-arrow-button--small--pc {
        width: 1.3125rem;
        height: 1.3125rem
    }
}

@media only screen and (max-width:768px) {
    .c-common-arrow-button--small--sp {
        width: 1.3125rem;
        height: 1.3125rem
    }
}

.c-common-arrow-button--tiny {
    width: 1.125rem;
    height: 1.125rem
}

@media only screen and (min-width:769px) {
    .c-common-arrow-button--tiny--pc {
        width: 1.125rem;
        height: 1.125rem
    }
}

@media only screen and (max-width:768px) {
    .c-common-arrow-button--tiny--sp {
        width: 1.125rem;
        height: 1.125rem
    }
}

.c-common-arrow-button__inner {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: #000;
    border: 1px solid #000;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.c-common-arrow-button__inner__arrow {
    width: .375rem;
    height: .5625rem
}

.c-common-arrow-button__inner .svg {
    width: .375rem;
    height: .5625rem;
    display: block
}

.c-common-arrow-button__inner .fill {
    fill: #fff;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.tap .c-common-arrow-button__inner {
    background-color: #fff;
    border-color: #007ae5
}

.tap .c-common-arrow-button .fill {
    fill: #007ae5
}

.c-common-arrow-default {
    width: 10px;
    height: 10px;
    margin: 3px 0 0;
    display: block;
    position: relative;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.c-common-arrow-default--t .c-common-arrow-default__inner {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.c-common-arrow-default--r .c-common-arrow-default__inner {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.c-common-arrow-default--b .c-common-arrow-default__inner {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg)
}

.c-common-arrow-default--l .c-common-arrow-default__inner {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg)
}

.c-common-arrow-default__inner {
    width: 100%;
    height: 100%;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-color: #333;
    border-style: solid;
    border-width: 3px 3px 0 0
}

.c-common-column-layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 0 0 -1.48148%
}

.c-common-column-layout--nowrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}

.c-common-column-layout--margin160 {
    margin: calc(-10rem + 1.43885%) 0 -1.43885%
}

@media only screen and (max-width:768px) {
    .c-common-column-layout--margin160 {
        margin: calc(-5rem + 1.43885%) 0 -1.43885%
    }
}

.c-common-column-layout--margin160 .c-common-column-layout__item {
    margin-top: calc(10rem + -2.8777%)
}

@media only screen and (max-width:768px) {
    .c-common-column-layout--margin160 .c-common-column-layout__item {
        margin-top: calc(5rem + -2.8777%)
    }
}

.c-common-column-layout--margin40 {
    margin: calc(-2.5rem + 1.43885%) 0 -1.43885%
}

@media only screen and (max-width:768px) {
    .c-common-column-layout--margin40 {
        margin: calc(-1.25rem + 1.43885%) 0 -1.43885%
    }
}

.c-common-column-layout--margin40 .c-common-column-layout__item {
    margin-top: calc(2.5rem + -2.8777%)
}

@media only screen and (max-width:768px) {
    .c-common-column-layout--margin40 .c-common-column-layout__item {
        margin-top: calc(1.25rem + -2.8777%)
    }
}

.c-common-column-layout--margin24 {
    margin: calc(-1.5rem + 1.43885%) 0 -1.43885%
}

@media only screen and (max-width:768px) {
    .c-common-column-layout--margin24 {
        margin: calc(-.75rem + 1.43885%) 0 -1.43885%
    }
}

.c-common-column-layout--margin24 .c-common-column-layout__item {
    margin-top: calc(1.5rem + -2.8777%)
}

@media only screen and (max-width:768px) {
    .c-common-column-layout--margin24 .c-common-column-layout__item {
        margin-top: calc(.75rem + -2.8777%)
    }
}

.c-common-column-layout--margin16 {
    margin: calc(-1rem + 1.43885%) 0 -1.43885%
}

@media only screen and (max-width:768px) {
    .c-common-column-layout--margin16 {
        margin: calc(-.5rem + 1.43885%) 0 -1.43885%
    }
}

.c-common-column-layout--margin16 .c-common-column-layout__item {
    margin-top: calc(1rem + -2.8777%)
}

@media only screen and (max-width:768px) {
    .c-common-column-layout--margin16 .c-common-column-layout__item {
        margin-top: calc(.5rem + -2.8777%)
    }
}

.c-common-column-layout--margin8 {
    margin: calc(-.5rem + 1.43885%) 0 -1.43885%
}

@media only screen and (max-width:768px) {
    .c-common-column-layout--margin8 {
        margin: calc(-.25rem + 1.43885%) 0 -1.43885%
    }
}

.c-common-column-layout--margin8 .c-common-column-layout__item {
    margin-top: calc(.5rem + -2.8777%)
}

@media only screen and (max-width:768px) {
    .c-common-column-layout--margin8 .c-common-column-layout__item {
        margin-top: calc(.25rem + -2.8777%)
    }
}

.c-common-column-layout__item {
    padding: 1.43885%;
    position: relative
}

.c-common-column-layout__item--wide {
    width: 100%
}

.c-common-column-layout__item--grow {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.c-common-column-layout__item--2column {
    width: 50%;
    min-width: 50%
}

.c-common-column-layout__item--3column {
    width: 33.27338%
}

.c-common-column-layout__item--4column {
    width: 25%
}

.c-common-column-layout__item--5column {
    width: 19.96403%
}

@media screen and (max-width:414px) {
    .c-common-column-layout--break_in_stages {
        margin-left: 0
    }
}

.c-common-column-layout--break_in_stages.c-common-column-layout--last_is_2column {
    margin-left: -1.43885%
}

@media screen and (max-width:1079px) {
    .c-common-column-layout--break_in_stages1080 {
        margin-left: 0;
        margin-right: 0
    }
}

.c-common-column-layout--break_in_stages1080.c-common-column-layout--last_is_2column {
    margin-left: -1.43885%;
    margin-right: -1.43885%
}

@media screen and (min-width:415px) and (max-width:768px) {
    .c-common-column-layout--break_in_stages .c-common-column-layout__item {
        width: 50%;
        min-width: 50%
    }
}

@media screen and (max-width:414px) {
    .c-common-column-layout--break_in_stages .c-common-column-layout__item {
        width: 100%;
        min-width: 100%;
        margin-left: 0
    }
}

.c-common-column-layout--break_in_stages .c-common-column-layout__item.c-common-column-layout--last_is_2column .c-common-column-layout--break_in_stages .c-common-column-layout__item__item {
    padding: 1.43885%
}

@media screen and (max-width:414px) {
    .c-common-column-layout--break_in_stages .c-common-column-layout__item.c-common-column-layout--last_is_2column .c-common-column-layout--break_in_stages .c-common-column-layout__item__item {
        width: 50%;
        min-width: 50%
    }
}

.c-common-column-layout--last_is_2column .c-common-column-layout__item {
    padding: 1.43885%
}

@media only screen and (max-width:768px) {
    .c-common-column-layout--last_is_2column .c-common-column-layout__item {
        width: 50%;
        min-width: 50%
    }
}

@media screen and (min-width:769px) and (max-width:1079px) {
    .c-common-column-layout--break_in_stages1080 .c-common-column-layout__item {
        width: 50%;
        min-width: 50%
    }
}

.c-common-column-layout--remove_padding .c-common-column-layout__item {
    padding: 0
}

@media only screen and (min-width:769px) {
    .c-common-column-layout--remove_padding--pc .c-common-column-layout__item {
        padding: 0
    }
}

@media only screen and (max-width:768px) {
    .c-common-column-layout--remove_padding--sp .c-common-column-layout__item {
        padding: 0
    }
}

@media only screen and (max-width:768px) {
    .c-common-column-layout--pc .c-common-column-layout__item {
        width: 100%;
        min-width: 100%;
        margin-left: 0
    }
}

@media only screen and (min-width:769px) {
    .c-common-column-layout--sp .c-common-column-layout__item {
        width: 100%;
        min-width: 100%;
        margin-left: 0
    }
}

.c-common-button-default {
    width: 11.5rem;
    padding: .75rem 1.375rem;
    position: relative;
    background-color: #000;
    color: #fff;
    text-align: center;
    border: 1px solid #000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.c-common-button-default .svg {
    display: block
}

.c-common-button-default .fill {
    fill: #fff;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.c-common-button-default.tap {
    background-color: #fff
}

.c-common-button-default.tap .c-common-button-default__text {
    color: #333
}

.c-common-button-default.tap .fill {
    fill: #333
}

.c-common-button-default--small {
    width: auto;
    min-width: 7.5rem;
    padding: .4375rem 1.25rem
}

.c-common-button-default--small .c-common-button-default__text {
    font-size: .875rem
}

.c-common-button-default--align_height {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.c-common-button-default--reverse {
    background-color: #fff;
    color: #333
}

.c-common-button-default--reverse .fill {
    fill: #000
}

.c-common-button-default--reverse.tap {
    border-color: #007ae5
}

.c-common-button-default--reverse.tap .c-common-button-default__text {
    color: #007ae5
}

.c-common-button-default--reverse.tap .fill {
    fill: #007ae5
}

.c-common-button-default--wide {
    width: 100%;
    min-width: 11.5rem
}

@media only screen and (max-width:768px) {
    .c-common-button-default--wide {
        width: auto;
        min-width: 0
    }
}

.c-common-button-default--disable {
    opacity: .4
}

.c-common-button-default__text {
    line-height: 1.6;
    font-weight: 700;
    padding: 0 .25rem;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

@media only screen and (max-width:768px) {
    .c-common-button-default__text {
        font-size: .875rem
    }
}

.c-common-button-default__arrow {
    width: 4px;
    height: 6px;
    display: block;
    position: absolute;
    top: 0;
    right: 8px;
    bottom: 0;
    margin: auto
}

.c-common-button-default__arrow--left {
    left: 8px;
    right: auto
}

.c-common-button-default__arrow--bottom {
    width: 100%;
    margin: .75rem 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    right: 0
}

.c-common-button-default__icon {
    display: block
}

.c-common-button-default__icon--left {
    margin: 0 .25rem 0 0
}

.c-common-button-default__icon--right {
    margin: 0 0 0 .25rem
}

.c-common-button-more-text {
    font-size: .9375rem;
    line-height: 1;
    font-weight: 700
}

@media only screen and (max-width:768px) {
    .c-common-button-more-text {
        font-size: .9375rem
    }
}

.c-common-button-more-text.tap .c-common-button-more-text__text {
    color: #007ae5
}

.c-common-button-more-text--tap_area {
    margin: .25rem 0 0;
    padding: 1.25rem .25rem
}

@media only screen and (max-width:768px) {
    .c-common-button-more-text--tap_area {
        margin: 0;
        padding: .75rem 0;
        position: relative;
        top: -8px
    }
}

.c-common-button-more-text--wide {
    width: 100%
}

.c-common-button-more-text__text {
    color: #333;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

@media only screen and (max-width:768px) {
    .c-common-button-more-text__text--zip {
        font-size: .75rem
    }
}

.c-common-button-more-text__arrow .fill {
    fill: #aaa;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.c-common-button-more-text--pull_avobe {
    margin: -.25rem 0 0;
    padding: .25rem
}

.tap .c-common-button-more-text__text {
    color: #007ae5
}

.c-common-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media only screen and (min-width:769px) {
    .c-common-flex--pc {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
}

@media only screen and (max-width:768px) {
    .c-common-flex--sp {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
}

.c-common-flex--c {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (min-width:769px) {
    .c-common-flex--c--pc {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}

@media only screen and (max-width:768px) {
    .c-common-flex--c--sp {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}

.c-common-gray-zabuton-panel {
    padding: 1.875rem 1.25rem;
    background-color: #f2f2f2
}

@media only screen and (max-width:768px) {
    .c-common-gray-zabuton-panel {
        padding: 1.25rem
    }
}

.c-common-gray-zabuton-panel__inner--pull_avobe20 {
    margin: -1.25rem 0 0
}

.c-common-heading-individual-investors {
    text-align: center;
    font-size: 2.875rem
}

.c-common-heading-individual-investors__text {
    font-size: 1em;
    font-family: Oswald, Noto Sans JP, sans-serif;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .01em
}

.c-common-heading-individual-investors__sub-text {
    font-size: .36957em;
    display: block;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.41176
}

.c-common-heading-tiny__text {
    font-weight: 700;
    font-size: .8125rem;
    color: #999
}

.c-common-heading1 {
    font-size: 2.5rem;
    font-family: Oswald, Noto Sans JP, sans-serif
}

@media only screen and (max-width:768px) {
    .c-common-heading1 {
        font-size: 1.5rem
    }
}

.c-common-heading1__text {
    font-size: 1em;
    line-height: 1.6;
    font-weight: 500
}

.c-common-heading1__sub-text {
    font-size: .5em;
    display: block;
    line-height: 1.6
}

.c-common-heading2 {
    padding: 1.25rem 0 0;
    width: 100%;
    display: block;
    position: relative;
    font-weight: 500;
    border-top: 1px solid #e0e0e0
}

@media only screen and (max-width:768px) {
    .c-common-heading2 {
        padding: .875rem 0 0
    }
}

.c-common-heading2:after {
    content: "";
    display: block;
    width: 6rem;
    height: 2px;
    background-color: #333;
    position: absolute;
    top: -2px;
    left: 0
}

.c-common-heading2__text {
    font-size: 1.5rem;
    font-weight: 700
}

@media only screen and (max-width:768px) {
    .c-common-heading2__text {
        font-size: 1.125rem
    }
}

.c-common-heading2__text--small {
    font-size: 1.125rem
}

@media only screen and (max-width:768px) {
    .c-common-heading2__text--small {
        font-size: 1rem
    }
}

.c-common-heading3 {
    font-size: 3.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (max-width:768px) {
    .c-common-heading3 {
        font-size: 3rem;
        display: block
    }
}

.c-common-heading3__text {
    display: block;
    font-weight: 400;
    font-size: 1em;
    font-family: Oswald, Noto Sans JP, sans-serif;
    line-height: 1;
    margin: 0 3.75rem 0 0
}

@media only screen and (max-width:768px) {
    .c-common-heading3__text {
        line-height: 1.2;
        margin: 0
    }
}

.c-common-heading3__sub-text {
    font-size: .32143em;
    font-weight: 700;
    line-height: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: .625rem 0 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    padding: 0 0 .625rem
}

@media only screen and (min-width:769px) {
    .c-common-heading3__sub-text {
        vertical-align: 0
    }
}

@media only screen and (max-width:768px) {
    .c-common-heading3__sub-text {
        line-height: 1.6;
        display: block;
        padding: 0
    }
}

.c-common-heading4 {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5
}

@media only screen and (max-width:768px) {
    .c-common-heading4 {
        font-size: 1rem
    }
}

.c-common-heading4--small {
    font-size: 1.125rem
}

.c-common-heading4--tiny {
    font-size: 1rem
}

.c-common-heading4__text {
    font-size: 1em;
    font-weight: 700
}

.c-common-heading5 {
    font-size: 1.375rem;
    padding: 0 0 1.25rem;
    border-bottom: 1px solid #e0e0e0
}

@media only screen and (max-width:768px) {
    .c-common-heading5 {
        font-size: 1rem;
        padding: 0 0 .5rem
    }
}

.c-common-heading5--remove_border {
    border: none;
    padding-bottom: 0
}

.c-common-heading5__text {
    font-size: 1em;
    font-weight: 700
}

.c-common-heading5__sub-text {
    color: #7a7a7a;
    font-size: .63636em;
    margin: 0 0 0 .75rem
}

@media only screen and (max-width:768px) {
    .c-common-heading5__sub-text {
        font-size: .625rem;
        margin: .25rem 0 0;
        display: block
    }
}

.c-common-hr {
    border-top: 2px solid #e0e0e0;
    margin: 0
}

.c-common-hr--bottom {
    border-bottom: 1px solid #e0e0e0;
    margin: 0
}

.c-common-hr--decoration {
    position: relative
}

.c-common-hr--decoration:after {
    content: "";
    display: block;
    width: 6rem;
    height: 2px;
    background-color: #333;
    position: absolute;
    top: -2px;
    left: 0
}

.c-common-icon-in-inline-list {
    width: 1rem;
    display: inline;
    vertical-align: baseline;
    vertical-align: -.125rem
}

.c-common-icon-in-inline-list--pdf img {
    width: 1rem
}

.c-common-icon-in-inline-list--target_blank .svg {
    fill: #000
}

.c-common-image-size {
    line-height: 1.875
}

.c-common-image-size--wide img {
    width: 100%;
    max-width: 100%
}

@media only screen and (max-width:768px) {
    .c-common-inner {
        margin: 0 auto;
        width: 100%;
        min-width: 20rem;
        max-width: 42.5rem;
        padding: 0 1.5625rem
    }
}

@media screen and (min-width:1080px) {
    .c-common-inner {
        margin: 0 auto;
        width: 79.06296%;
        min-width: 67.5rem;
        max-width: 105rem;
        padding: 0 1rem
    }
}

@media screen and (min-width:769px) and (max-width:1079px) {
    .c-common-inner {
        margin: 0 auto;
        width: 79.06296%;
        min-width: 48.0625rem;
        max-width: 64rem;
        padding: 0 1rem
    }
}

@media only screen and (max-width:768px) {
    .c-common-inner--sp {
        margin: 0 auto;
        width: 100%;
        min-width: 20rem;
        max-width: 42.5rem;
        padding: 0 1.5625rem
    }
}

@media screen and (min-width:1080px) {
    .c-common-inner--pc {
        margin: 0 auto;
        width: 79.06296%;
        min-width: 67.5rem;
        max-width: 105rem;
        padding: 0 1rem
    }
}

@media screen and (min-width:769px) and (max-width:1079px) {
    .c-common-inner--pc {
        margin: 0 auto;
        width: 79.06296%;
        min-width: 48.0625rem;
        max-width: 64rem;
        padding: 0 1rem
    }
}

.c-common-label-default {
    min-width: 52px;
    font-size: 12px;
    border-width: 1px;
    border-style: solid;
    line-height: 1.6;
    padding: 0 8px;
    display: block;
    text-align: center;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.c-common-label-default--fff {
    color: #fff;
    border-color: #fff;
    font-weight: 700
}

.c-common-label-default--irnews {
    color: #079395;
    border-color: #079395
}

.c-common-label-default--incubation {
    color: #9b51e0;
    border-color: #9b51e0
}

.c-common-label-default--corporate {
    color: #905722;
    border-color: #905722
}

.c-common-label-default--financial {
    color: #219653;
    border-color: #219653
}

.c-common-label-default--marketing {
    color: #0065cb;
    border-color: #0065cb
}

.c-common-label-default--long-term-incubation {
    color: #d87116;
    border-color: #d87116
}

.tap .c-common-label-default--irnews {
    color: #fff;
    background-color: #079395
}

.tap .c-common-label-default--incubation {
    color: #fff;
    background-color: #9b51e0
}

.tap .c-common-label-default--corporate {
    color: #fff;
    background-color: #905722
}

.tap .c-common-label-default--financial {
    color: #fff;
    background-color: #219653
}

.tap .c-common-label-default--marketing {
    color: #fff;
    background-color: #0065cb
}

.tap .c-common-label-default--long-term-incubation {
    color: #fff;
    background-color: #d87116
}

.c-common-label-new {
    width: 2rem;
    min-width: 2rem;
    height: 1.0625rem;
    font-size: .6875rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    background-color: #f2994a;
    padding: .0625rem .125rem 0;
    border: 1px solid #f2994a;
    display: block;
    line-height: 1
}

.c-common-label-new--margin_right {
    margin-right: 1rem
}

.c-common-label-new--margin_left {
    margin-left: 1rem
}

.c-common-label-new--inline {
    display: inline-block;
    vertical-align: .125rem
}

.c-common-label-scheduled {
    width: 2.5rem;
    min-width: 2.5rem;
    height: 1.0625rem;
    font-size: .8125rem;
    font-weight: 700;
    color: #aaa;
    text-align: center;
    padding: .0625rem .125rem 0;
    border-color: #aaa;
    border-style: solid;
    border-width: 0 1px;
    display: block;
    line-height: 1
}

.c-common-label-sub {
    background-color: #aaa;
    padding: .25rem .375rem;
    border-radius: .125rem;
    display: block;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in;
    display: inline-block
}

.c-common-label-sub--dark_gray {
    background-color: #333
}

.c-common-label-sub--small {
    padding: .1875rem .125rem .1875rem .1875rem
}

.c-common-label-sub--small .c-common-label-sub__text {
    font-size: .6875rem
}

.c-common-label-sub--zip {
    vertical-align: 1px
}

@media screen and (max-width:374px) {
    .c-common-label-sub--zip {
        display: none
    }
}

.c-common-label-sub--zip .c-common-label-sub__text {
    font-size: .625rem
}

.c-common-label-sub.tap {
    background-color: #e0e0e0
}

.c-common-label-sub__text {
    font-family: Oswald, Noto Sans JP, sans-serif;
    font-size: .8125rem;
    color: #fff;
    font-weight: 700;
    display: block;
    letter-spacing: .05em;
    line-height: 1
}

.tap .c-common-label-sub {
    background-color: #007ae5
}

.c-common-list-alphabet {
    margin: 1rem 0;
    padding-left: 1em
}

.c-common-list-alphabet--remove_margin {
    margin: 0
}

.c-common-list-alphabet__item--margin_top {
    margin: 1rem 0 0
}

.c-common-list-alphabet,
.c-common-list-alphabet li {
    list-style-type: upper-alpha
}

.c-common-list-alphabet--lower_case,
.c-common-list-alphabet--lower_case li {
    list-style-type: lower-alpha
}

.c-common-list-alphabet ol,
.c-common-list-alphabet ul {
    padding-left: 1em;
    margin: 0
}

.c-common-list-number {
    margin: 1rem 0;
    padding-left: 1em
}

.c-common-list-number--remove_margin {
    margin: 0
}

.c-common-list-number__item--margin_top {
    margin: 1rem 0 0
}

.c-common-list-number,
.c-common-list-number li {
    list-style-type: decimal
}

.c-common-list-number ol,
.c-common-list-number ul {
    padding-left: 1em;
    margin: 0
}

.c-common-narrow-container {
    max-width: 50.625rem;
    margin: 0 auto
}

@media only screen and (max-width:768px) {
    .c-common-narrow-container {
        max-width: none
    }
}

.c-common-narrow-container--min900 {
    max-width: 56.25rem
}

.c-common-overlay {
    position: relative
}

.c-common-overlay:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    margin: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .45)
}

@media only screen and (min-width:769px) {
    .c-common-phone-number-link:hover {
        cursor: text
    }
}

.c-common-table-default {
    width: 100%;
    border-top: 1px solid #e0e0e0
}

.c-common-table-default--remove_table_border {
    width: 100%;
    border-top: none
}

.c-common-table-default--remove_border {
    border-top: none
}

.c-common-table-default--remove_border .c-common-table-default__tr {
    border-bottom: none
}

.c-common-table-default--padding_small .c-common-table-default__th {
    padding: .5rem .5rem 0
}

.c-common-table-default--padding_small .c-common-table-default__td {
    padding: .5rem
}

.c-common-table-default__tr {
    border-bottom: 1px solid #e0e0e0;
    display: table-row
}

.c-common-table-default__th {
    width: 10rem;
    padding: 1.5rem .5rem;
    font-weight: 700;
    text-align: left;
    line-height: 1.6
}

@media only screen and (max-width:768px) {
    .c-common-table-default__th {
        width: 100%;
        display: block;
        padding: .75rem .5rem 0
    }
}

.c-common-table-default__th--wide {
    width: 34.25926%
}

@media only screen and (max-width:768px) {
    .c-common-table-default__th--wide {
        width: 100%
    }
}

.c-common-table-default__th--medium {
    width: 18.51852%;
    min-width: 12.5rem
}

@media only screen and (max-width:768px) {
    .c-common-table-default__th--medium {
        width: 100%;
        min-width: 0
    }
}

.c-common-table-default__th--vertical_middle {
    vertical-align: middle
}

@media only screen and (min-width:769px) {
    .c-common-table-default__th--vertical_middle--pc {
        vertical-align: middle
    }
}

@media only screen and (max-width:768px) {
    .c-common-table-default__th--vertical_middle--sp {
        vertical-align: middle
    }
}

.c-common-table-default__th--hasline {
    border-right: 1px solid #e0e0e0
}

@media only screen and (max-width:768px) {
    .c-common-table-default__th--hasline {
        border-right: none
    }
}

.c-common-table-default__td {
    line-height: 1.6;
    padding: 1.5rem .5rem
}

@media only screen and (max-width:768px) {
    .c-common-table-default__td {
        width: 100%;
        display: block;
        padding: .5rem .5rem .75rem
    }
}

.c-common-table-default__td--middle {
    vertical-align: middle
}

@media only screen and (min-width:769px) {
    .c-common-table-default__td--middle--pc {
        vertical-align: middle
    }
}

@media only screen and (max-width:768px) {
    .c-common-table-default__td--middle--sp {
        vertical-align: middle
    }
}

.c-common-table-default__td--align-middle {
    vertical-align: middle
}

.c-common-table-default__td--nowrap {
    white-space: nowrap
}

.c-common-table-default__td--small {
    font-size: .78571em
}

.c-common-table-default__td--small-right {
    font-size: .78571em;
    text-align: right
}

.c-common-table-scroll {
    width: 100%;
    position: relative
}

.c-common-table-scroll--scroll:before {
    content: "SCROLL 笆ｶ��";
    font-family: YakuHanJP, Noto Sans JP, sans-serif;
    color: rgba(0, 0, 0, .5);
    font-size: .6875rem;
    display: block;
    font-weight: 700;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.6;
    margin: 0 0 .25rem;
    text-align: right
}

.c-common-table-scroll--scroll .c-common-table-scroll__overflow {
    overflow-x: scroll
}

.c-common-table-scroll__overflow {
    width: 100%
}

.c-common-table-scroll__table {
    width: 100%;
    min-width: 810px
}

.c-common-table-scroll__table--remove_border {
    border-top: none
}

.c-common-table-scroll__table--remove_border .c-common-table-scroll__table__tr {
    border-bottom: none
}

.c-common-table-scroll__table--padding_small .c-common-table-scroll__table__th {
    padding: .5rem .5rem 0
}

.c-common-table-scroll__table--padding_small .c-common-table-scroll__table__td {
    padding: .5rem
}

.c-common-table-scroll__table__tr {
    border-bottom: 1px solid #e0e0e0
}

.c-common-table-scroll__table__th {
    width: 10rem;
    padding: 1.5rem .9375rem;
    font-weight: 400;
    text-align: left;
    line-height: 1.6
}

.c-common-table-scroll__table__th--bg {
    background-color: #f2f2f2
}

.c-common-table-scroll__table__th--center {
    text-align: center
}

.c-common-table-scroll__table__td {
    padding: 1.5rem .9375rem;
    line-height: 1.6;
    text-align: center;
    vertical-align: middle
}

.c-common-table-scroll__table__text {
    font-size: .875rem
}

.c-common-table-scroll__table__text--small {
    font-size: .78571em
}

.c-common-tap-area-rss {
    width: 3.125rem;
    height: 3rem;
    padding: 1px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.c-common-tap-area-rss--border_left {
    position: relative
}

.c-common-tap-area-rss--border_left:after {
    content: "";
    width: 1px;
    height: 1.375rem;
    display: block;
    position: absolute;
    left: 0;
    top: .875rem;
    background-color: #e0e0e0
}

.c-common-tap-area-rss--pull_avobe {
    margin: -.5rem 0 0 1rem;
    padding: 0 0 0 1rem
}

.c-common-text-default {
    width: 100%;
    letter-spacing: .01em
}

@media only screen and (max-width:768px) {
    .c-common-text-default {
        width: auto
    }
}

.c-common-text-default--narrow {
    max-width: 50.625rem
}

.c-common-text-default--small {
    font-size: .875rem
}

.c-common-text-default,
.c-common-text-default__text,
.c-common-text-default p {
    line-height: 1.875;
    word-wrap: break-word
}

.c-common-text-default+.c-common-text-default,
.c-common-text-default+.c-common-text-default__text,
.c-common-text-default+.c-common-text-default p,
.c-common-text-default+p,
.c-common-text-default__text+.c-common-text-default,
.c-common-text-default__text+.c-common-text-default__text,
.c-common-text-default__text+.c-common-text-default p,
.c-common-text-default__text+p,
.c-common-text-default p+.c-common-text-default,
.c-common-text-default p+.c-common-text-default__text,
.c-common-text-default p+.c-common-text-default p,
.c-common-text-default p+p {
    margin: 1.5em 0 0
}

.c-common-text-link-and-inline-icon {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: .8125rem 0 1rem;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.c-common-text-link-and-inline-icon.tap .c-common-text-link-and-inline-icon__text__text {
    color: #007ae5
}

.c-common-text-link-and-inline-icon__text {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.6875;
    display: inline
}

.c-common-text-link-and-inline-icon__text__text {
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.c-common-text-link-default,
.c-common-text-link-section a {
    color: #007ae5;
    line-height: 1.6
}

.c-common-text-link-default--remove_color {
    color: #333;
    font-weight: 700
}

.c-common-text-link-default--tap_area {
    padding: 1rem 0;
    display: inline-block
}

@media only screen and (max-width:768px) {
    .c-common-text-link-default--tap_area_sp {
        padding: 1rem 0;
        display: inline-block
    }
}

.c-common-text-link-default--wide {
    width: 100%
}

.c-common-text-link-default.tap,
.c-common-text-link-section a.tap {
    text-decoration: underline
}

.c-common-text-link-default--remove_color.tap {
    color: #007ae5;
    text-decoration: none
}

@media only screen and (max-width:768px) {
    .press-youtube {
        position: relative;
        height: 0;
        padding-bottom: 56.25%;
        overflow: hidden;
        margin-bottom: 4vw
    }
}

.press-youtube iframe {
    width: 560px;
    height: 315px
}

@media only screen and (max-width:768px) {
    .press-youtube iframe {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0
    }
}

.c-common-youtube {
    position: relative;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
    margin-bottom: 4vw
}

.c-common-youtube iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.c-common-vimeo {
    position: relative;
    max-width: 50rem;
    margin: 0 auto 4vw
}

.c-common-vimeo .inner {
    padding: 56.25% 0 0;
    position: relative;
    margin-bottom: 4vw
}

.c-common-vimeo .inner iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.c-common-button-cm {
    text-align: center;
    padding-bottom: 4rem
}

.c-common-button-cm a:hover {
    opacity: .7
}

.c-common-button-cm img {
    width: 500px
}

@media only screen and (max-width:768px) {
    .c-common-button-cm img {
        width: 100%
    }
}

.p-common-overlay-button-panel--low_height .p-common-overlay-button-panel__link {
    padding: 0 0 40.81633%
}

@media only screen and (max-width:768px) {
    .p-common-overlay-button-panel--text_hidden_sp .p-common-overlay-button-panel__heading__text {
        display: none
    }
}

@media only screen and (max-width:768px) {
    .p-common-overlay-button-panel--text_hidden_sp .p-common-overlay-button-panel__heading__sub-text {
        font-size: 1.125rem
    }
}

@media screen and (max-width:414px) {
    .p-common-overlay-button-panel--text_hidden_sp .p-common-overlay-button-panel__heading__sub-text {
        font-size: .8125rem
    }
}

.p-common-overlay-button-panel__br--468 {
    display: none
}

@media screen and (max-width:468px) {
    .p-common-overlay-button-panel__br--468 {
        display: block
    }
}

.p-common-overlay-button-panel__link {
    position: relative;
    display: block;
    width: 100%;
    height: 0;
    padding: 0 0 61.97183%;
    overflow: hidden
}

.p-common-overlay-button-panel__link.tap .p-common-overlay-button-panel__image img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

.p-common-overlay-button-panel__image,
.p-common-overlay-button-panel__image:after {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0
}

.p-common-overlay-button-panel__image:after {
    content: "";
    display: block;
    background-color: rgba(0, 0, 0, .45)
}

.p-common-overlay-button-panel__image img {
    line-height: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    margin: auto;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: -webkit-transform .15s ease-in;
    transition: -webkit-transform .15s ease-in;
    transition: transform .15s ease-in;
    transition: transform .15s ease-in, -webkit-transform .15s ease-in
}

.p-common-overlay-button-panel__body {
    width: 100%;
    height: 100%;
    padding: .9375rem;
    position: absolute;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse
}

@media only screen and (max-width:768px) {
    .p-common-overlay-button-panel__body {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: .9375rem .625rem
    }
}

.p-common-overlay-button-panel__body--center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center
}

.p-common-overlay-button-panel__heading {
    color: #fff
}

.p-common-overlay-button-panel__heading__text {
    font-size: 2rem;
    font-weight: 400;
    font-family: Oswald, Noto Sans JP, sans-serif;
    line-height: 1
}

@media only screen and (max-width:768px) {
    .p-common-overlay-button-panel__heading__text {
        font-size: 2.625rem
    }
}

@media screen and (max-width:414px) {
    .p-common-overlay-button-panel__heading__text {
        font-size: 2.375rem
    }
}

.p-common-overlay-button-panel__heading__sub-text {
    display: block;
    font-size: .9375rem
}

.p-common-overlay-button-panel__arrow {
    position: absolute;
    right: 0;
    bottom: 0
}

.p-common-overlay-button-panel__descript {
    font-size: .75rem;
    font-weight: 500;
    margin: .3125rem 0 0
}

.p-common-stock-price {
    width: 100%;
    min-width: 15.375rem;
    padding: .5rem 0 0;
    border-radius: 4px;
    background-color: #f2f2f2;
    border: 1px solid #f2f2f2
}

@media only screen and (max-width:768px) {
    .p-common-stock-price {
        max-width: 15.375rem
    }
}

.p-common-stock-price--header .p-common-stock-price {
    color: #fff;
    background-color: transparent
}

.p-common-stock-price--header .p-common-stock-price__more__text {
    color: #fff
}

.p-common-stock-price--header .p-common-stock-price__body {
    border-color: #4f4f4f
}

.p-common-stock-price--header .p-common-stock-price__footer {
    display: none;
    border-color: #4f4f4f
}

.p-common-stock-price--ir_page {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (min-width:769px) {
    .p-common-stock-price--ir_page .p-common-stock-price {
        min-width: 0
    }
}

.p-common-stock-price--ir_page .p-common-stock-price__footer {
    display: none
}

.p-common-stock-price__inner {
    padding: .75rem 1.125rem
}

.p-common-stock-price__heading {
    line-height: 1.2
}

.p-common-stock-price__heading__date {
    font-size: .75rem
}

.p-common-stock-price__heading__text {
    font-family: Oswald, Noto Sans JP, sans-serif;
    display: block;
    text-align: right;
    font-size: 2.875rem;
    letter-spacing: -.01em
}

.p-common-stock-price__heading__text__yen {
    font-size: .67391em;
    letter-spacing: -.08em
}

.p-common-stock-price__body {
    border-top: 1px solid #e0e0e0
}

.p-common-stock-price__list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.p-common-stock-price__list__heading {
    font-weight: 700;
    font-size: .8125rem
}

.p-common-stock-price__list__body__text {
    font-size: 1rem;
    font-family: Oswald, Noto Sans JP, sans-serif;
    letter-spacing: .02em
}

.p-common-stock-price__list__body__text .prev-day-ratio {
    color: #333
}

.p-common-stock-price__list__body__text .sign {
    font-size: .75rem;
    vertical-align: 1px
}

.p-common-stock-price__list__body__text .minus {
    color: #d63e43
}

.p-common-stock-price__list__body__text .plus {
    color: #007ae5
}

.p-common-stock-price__footer {
    border-top: 1px solid #e0e0e0
}

.p-common-stock-price__more {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: .9375rem .625rem;
    text-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.p-common-stock-price__more.tap {
    opacity: .7
}

.p-common-stock-price__more__arrow {
    display: block;
    margin: 0 .625rem 0 0
}

.p-common-stock-price__more__arrow .svg {
    display: block
}

.p-common-stock-price__more__arrow .fill {
    fill: #aaa
}

.p-common-stock-price__more__text {
    font-size: .875rem;
    font-weight: 700
}

.p-business-ir-page-images__image {
    width: 48.22222%;
    display: block
}

@media only screen and (max-width:768px) {
    .p-business-ir-page-images__image {
        width: 100%
    }
}

.p-business-ir-page-images__image img {
    width: 100%
}

@media only screen and (max-width:768px) {
    .p-business-ir-page-images__image+.p-business-ir-page-images__image {
        margin: 1rem 0 0
    }
}

.p-business-it-annotation,
.p-business-mt-annotation {
    font-size: .75em;
    margin-top: .8em
}

@media only screen and (max-width:768px) {
    .p-f-copyright {
        margin: 1rem 0 0
    }
}

@media only screen and (min-width:769px) {
    .p-f-copyright__text {
        color: #e0e0e0;
        font-size: .6875rem
    }
}

@media only screen and (max-width:768px) {
    .p-f-copyright__text {
        color: #fff;
        line-height: 1.5
    }
}

@media only screen and (max-width:768px) {
    .p-f-inline-navi-list {
        padding: 1.5rem 0 0
    }
}

@media only screen and (min-width:769px) {
    .p-f-inline-navi-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
}

@media only screen and (min-width:769px) {
    .p-f-inline-navi-list__item+.p-f-inline-navi-list__item .p-f-inline-navi-list__item__link {
        padding: 1.125rem .625rem
    }
}

.p-f-inline-navi-list__item__link {
    color: #fff
}

@media only screen and (min-width:769px) {
    .p-f-inline-navi-list__item__link {
        font-size: .875rem;
        padding: 1.125rem .625rem 1.125rem 0
    }
}

@media only screen and (max-width:768px) {
    .p-f-inline-navi-list__item__link {
        font-weight: 700;
        padding: 1rem 0;
        display: block
    }
}

.p-f-inline-navi-list__item__link.tap {
    opacity: .7
}

.p-f-navi-panel-inline {
    width: 100%
}

@media only screen and (min-width:769px) {
    .p-f-navi-panel-inline {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        height: 100%
    }
}

@media only screen and (min-width:769px) {

    .p-f-navi-panel-inline,
    .p-f-navi-panel-inline__header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
}

.p-f-navi-panel-inline__header__descript {
    font-size: .875rem;
    color: #e0e0e0
}

@media only screen and (min-width:769px) {
    .p-f-navi-panel-inline__header__descript {
        margin: 0 0 0 2rem
    }
}

@media only screen and (max-width:768px) {
    .p-f-navi-panel-inline__header__descript {
        margin: .5rem 0 0
    }
}

.p-f-navi-panel-inline__header__descript p+.p-f-navi-panel-inline__header__descript p {
    margin: 1.5em 0 0
}

.p-f-navi-panel-inline__heading {
    color: #fff;
    font-weight: 700
}

.p-f-navi-panel-inline__link {
    display: block;
    color: #e0e0e0
}

.p-f-navi-panel-inline__link.tap {
    opacity: .7
}

@media only screen and (min-width:769px) {
    .p-f-navi-panel-inline__link__text {
        line-height: 1.6
    }
}

@media only screen and (min-width:769px) {
    .p-f-navi-panel+.p-f-navi-panel {
        margin: 1.5625rem 0 0
    }
}

.p-f-navi-panel__header__descript {
    color: #e0e0e0
}

@media only screen and (min-width:769px) {
    .p-f-navi-panel__header__descript {
        margin: .9375rem 0 0
    }
}

@media only screen and (max-width:768px) {
    .p-f-navi-panel__header__descript {
        margin: .5rem 0 0
    }
}

.p-f-navi-panel__header__descript p+.p-f-navi-panel__header__descript p {
    margin: 1.5em 0 0
}

.p-f-navi-panel__heading {
    color: #fff;
    font-weight: 700
}

.p-f-navi-panel__heading.tap {
    opacity: .7
}

.p-f-navi-panel__body {
    margin: 1rem 0 0
}

.p-f-navi-panel__link {
    display: block;
    color: #e0e0e0
}

@media only screen and (min-width:769px) {
    .p-f-navi-panel__link {
        padding: .4375rem 0
    }
}

.p-f-navi-panel__link.tap {
    opacity: .7
}

@media only screen and (min-width:769px) {
    .p-f-navi-panel__link__text {
        font-size: .875rem;
        line-height: 1.6
    }
}

@media only screen and (max-width:768px) {
    .p-f-navi-panel__link__text {
        font-size: .875rem
    }
}

@media only screen and (min-width:769px) {
    .p-f-navi__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
}

.p-f-scroll-to {
    visibility: hidden;
    opacity: 0
}

@media screen and (min-width:1080px) {
    .p-f-scroll-to {
        min-width: 67.5rem
    }
}

@media screen and (min-width:769px) and (max-width:1079px) {
    .p-f-scroll-to {
        min-width: 48.0625rem
    }
}

@media only screen and (min-width:769px) {
    .p-f-scroll-to {
        position: fixed;
        left: 0;
        right: 0;
        margin: auto;
        bottom: 0
    }
}

.p-f-scroll-to__button {
    width: 2.5rem;
    height: 2.5rem;
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border: 1px solid #000;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

@media only screen and (min-width:769px) {
    .p-f-scroll-to__button {
        right: .625rem;
        bottom: 1.8125rem;
        position: absolute
    }
}

@media only screen and (max-width:768px) {
    .p-f-scroll-to__button {
        right: .5rem;
        bottom: .5rem;
        position: fixed
    }
}

.p-f-scroll-to__button__arrow {
    width: 16px;
    height: 11px;
    display: block
}

.p-f-scroll-to__button__arrow .svg {
    display: block
}

.p-f-scroll-to__button__arrow .fill {
    fill: #000;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-f-scroll-to.tap .p-f-scroll-to__button {
    background-color: #000
}

.p-f-scroll-to.tap .p-f-scroll-to__button__arrow .fill {
    fill: #fff
}

@media only screen and (min-width:769px) {
    .p-f-sosial-media-accounts {
        margin: 0 0 0 2rem
    }
}

@media only screen and (max-width:768px) {
    .p-f-sosial-media-accounts {
        margin: .75rem 0 0;
        padding: 0 0 2rem
    }
}

@media only screen and (min-width:769px) {
    .p-f-sosial-media-accounts__list__item+.p-f-sosial-media-accounts__list__item {
        margin: 0 0 0 1.5rem
    }
}

@media only screen and (max-width:768px) {
    .p-f-sosial-media-accounts__list__item+.p-f-sosial-media-accounts__list__item {
        margin: 0 0 0 1.0625rem
    }
}

.p-f-sosial-media-accounts__link.tap {
    opacity: .7
}

.p-f-sosial-media-accounts__link__icon {
    width: 3rem;
    height: 5rem;
    display: block;
    padding: 1.25rem .25rem
}

@media only screen and (max-width:768px) {
    .p-f-sosial-media-accounts__link__icon {
        height: 3rem;
        padding: 0
    }
}

@media only screen and (max-width:768px) {
    .p-f-others-links {
        border-top: 1px solid #e0e0e0
    }
}

@media only screen and (min-width:769px) {
    .p-f-others-links__list__item+.p-f-others-links__list__item {
        margin: 0 0 0 2rem
    }
}

.p-f-others-links__contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media only screen and (min-width:769px) {
    .p-f-others-links__contact {
        padding: 1.6875rem 0 1.75rem
    }
}

@media only screen and (max-width:768px) {
    .p-f-others-links__contact {
        min-height: 4.5rem;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}

.p-f-others-links__contact.tap {
    opacity: .7
}

.p-f-others-links__contact__icon {
    width: 1.5rem;
    height: 1.5rem;
    margin: 0 .5rem 0 0;
    display: block;
    line-height: 1.6
}

.p-f-others-links__contact__icon img {
    display: block;
    width: 100%
}

.p-f-others-links__contact__text {
    color: #fff;
    font-weight: 700;
    line-height: 1.6
}

.p-f-others-links__language {
    display: block
}

@media only screen and (min-width:769px) {
    .p-f-others-links__language {
        min-width: 4.5rem;
        min-height: 3rem;
        padding: 1.8125rem 0 1.875rem
    }
}

@media only screen and (max-width:768px) {
    .p-f-others-links__language {
        min-width: 8.75rem;
        min-height: 4.5rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}

@media only screen and (min-width:769px) {
    .p-f-others-links__language__inner {
        display: inline-block
    }
}

@media only screen and (max-width:768px) {
    .p-f-others-links__language__inner {
        width: 100%
    }
}

.p-f-others-links__language.tap {
    opacity: .7
}

.p-f {
    background-color: #000
}

@media only screen and (max-width:768px) {
    .p-f {
        padding: 2.5rem 0 1.5625rem
    }
}

@media only screen and (min-width:769px) {
    .p-f__body {
        padding: 2.625rem 0 3.5rem
    }
}

.p-f__footer {
    position: relative
}

@media only screen and (min-width:769px) {
    .p-f__footer__item {
        border-top: 1px solid #e0e0e0
    }
}

@media only screen and (max-width:768px) {
    .p-f__footer__item+.p-f__footer__item {
        border-top: 1px solid #e0e0e0
    }
}

@media only screen and (min-width:769px) {
    .p-f__footer__col {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: .625rem 0 .875rem
    }
}

.p-f__footer__copyright {
    margin: 0 0 0 auto
}

@media only screen and (max-width:768px) {
    .p-f__footer__copyright {
        margin: 0
    }
}

.p-f__footer__copyright p {
    font-size: .6875rem;
    line-height: 1
}

.p-f-cookie {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: #fff;
    -webkit-box-shadow: 0 -15px 50px -15px #949494;
    box-shadow: 0 -15px 50px -15px #949494;
    z-index: 9999
}

.p-f-cookie .container {
    width: 1024px;
    height: 55px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 12px;
    color: #000;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.p-f-cookie .container .text br {
    display: none
}

.p-f-cookie .container .agree {
    width: 80px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    background-color: #000;
    color: #fff;
    border-radius: 3px;
    -webkit-box-shadow: 0 0 16px -6px rgba(0, 0, 0, .6);
    box-shadow: 0 0 16px -6px rgba(0, 0, 0, .6);
    cursor: pointer;
    -webkit-transition: .1s;
    transition: .1s
}

.p-f-cookie .container .agree:hover {
    opacity: .5
}

@media screen and (max-width:1000px) {
    .p-f-cookie {
        -webkit-box-shadow: 0 -1vw 7vw -4vw #949494;
        box-shadow: 0 -1vw 7vw -4vw #949494
    }

    .p-f-cookie .container {
        width: 100%;
        height: 15vw;
        font-size: 2vw
    }

    .p-f-cookie .container .text br {
        display: block
    }

    .p-f-cookie .container .agree {
        width: 20vw;
        height: 8vw;
        line-height: 8vw;
        font-size: 3vw;
        border-radius: 1vw
    }
}

.p-h-logo {
    display: block;
    color: #333
}

@media only screen and (min-width:769px) {
    .p-h-logo {
        width: 100%;
        height: 6.875rem
    }
}

@media only screen and (max-width:768px) {
    .p-h-logo {
        width: 100%;
        padding: .6875rem 0;
        position: relative
    }
}

.p-h-logo__text {
    -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, .25);
    box-shadow: 0 0 4px rgba(0, 0, 0, .25)
}

.p-h-logo__text img {
    width: 100%;
    height: auto
}

@media only screen and (min-width:769px) {
    .p-h-mega-navi-content-panel {
        padding: 0 0 .625rem
    }
}

@media only screen and (min-width:769px) {
    .p-h-mega-navi-content-panel--border {
        border-top: 1px solid #e0e0e0
    }
}

.p-h-mega-navi-content-panel__heading {
    color: #fff;
    font-weight: 700;
    display: block
}

@media only screen and (min-width:769px) {
    .p-h-mega-navi-content-panel__heading {
        padding: 0 0 .5rem;
        border-bottom: 1px solid #e0e0e0
    }
}

.p-h-mega-navi-content-panel__heading.tap .p-h-mega-navi-content-panel__heading__text {
    color: #007ae5
}

.p-h-mega-navi-content-panel__heading__text {
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

@media only screen and (min-width:769px) {
    .p-h-mega-navi-content-panel__body {
        margin: .625rem 0 0
    }
}

@media only screen and (min-width:769px) {
    .p-h-mega-navi-content-panel__list--banner {
        margin: 1.875rem 0 0
    }
}

.p-h-mega-navi-content-panel__link {
    width: 100%;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative
}

@media only screen and (min-width:769px) {
    .p-h-mega-navi-content-panel__link {
        padding: .625rem 0;
        font-size: .875rem;
        line-height: 1.6
    }
}

.p-h-mega-navi-content-panel__link.tap {
    color: #007ae5
}

.p-h-mega-navi-content-panel__link.tap .p-h-mega-navi-content-panel__link__icon--contact .fill {
    fill: #007ae5
}

.p-h-mega-navi-content-panel__link.tap .p-h-mega-navi-content-panel__link__icon--blank .stroke {
    stroke: #007ae5
}

.p-h-mega-navi-content-panel__link__icon {
    display: block
}

@media only screen and (min-width:769px) {
    .p-h-mega-navi-content-panel__link__icon--contact {
        margin: .125rem .5rem 0 0
    }
}

.p-h-mega-navi-content-panel__link__icon--contact .fill {
    fill: #fff;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-h-mega-navi-content-panel__link__icon--blank {
    width: .5625rem;
    height: .5625rem;
    margin: 0 0 0 .3125rem;
    display: inline-block
}

.p-h-mega-navi-content-panel__link__icon--blank .svg {
    display: block
}

.p-h-mega-navi-content-panel__link__icon--blank .stroke {
    stroke: #fff;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

@media only screen and (min-width:769px) {
    .p-h-mega-navi-content {
        padding: 3.75rem 0 12.5rem
    }
}

.p-h-mega-navi,
.p-h-mega-navi__inner {
    width: 100%;
    height: 100vh
}

.p-h-mega-navi__inner {
    background: rgba(51, 51, 51, .98);
    position: fixed;
    left: 0;
    z-index: 1000;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}

@media only screen and (min-width:769px) {
    .p-h-mega-navi__inner {
        top: 5rem;
        min-width: 20rem;
        padding: 0 1.625rem
    }
}

@media only screen and (max-width:768px) {
    .p-h-mega-navi__inner {
        display: none
    }
}

.p-h-mega-navi__list {
    padding: 5.625rem 0 8.4375rem
}

.p-h-navi-button {
    display: block
}

@media only screen and (min-width:769px) {
    .p-h-navi-button {
        width: 5rem;
        height: 5rem;
        position: relative
    }
}

@media only screen and (max-width:768px) {
    .p-h-navi-button {
        width: 2.5rem;
        height: 2.5rem;
        position: absolute;
        right: 0;
        top: 0
    }
}

.p-h-navi-button.tap .p-h-navi-button__bar {
    background-color: #007ae5
}

.p-h-navi-button__inner {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto
}

@media only screen and (min-width:769px) {
    .p-h-navi-button__inner {
        width: 2.5rem;
        height: .875rem
    }
}

@media only screen and (max-width:768px) {
    .p-h-navi-button__inner {
        width: 1.5rem;
        height: .5rem
    }
}

.p-h-navi-button__bar {
    width: 100%;
    height: 1px;
    background-color: #fff;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    -webkit-transition: background-color .15s ease-in;
    transition: background-color .15s ease-in
}

.p-h-navi-button__bar--top {
    top: 0
}

.p-h-navi-button__bar--bottom {
    bottom: 0
}

.p-h-navi-child {
    opacity: 0;
    visibility: hidden
}

@media screen and (min-width:1080px) {
    .p-h-navi-child {
        min-width: 67.5rem
    }
}

@media screen and (min-width:769px) and (max-width:1079px) {
    .p-h-navi-child {
        min-width: 48.0625rem
    }
}

@media only screen and (min-width:769px) {
    .p-h-navi-child {
        width: 100%;
        position: absolute;
        left: 0;
        top: 5rem;
        padding: 4.0625rem 0 5rem
    }
}

@media only screen and (max-width:768px) {
    .p-h-navi-child {
        width: 100%;
        height: 100%;
        position: absolute;
        margin: auto;
        left: 0;
        top: 0;
        display: none;
        -webkit-transform: translateX(100vw);
        transform: translateX(100vw)
    }
}

.p-h-navi-child__bg {
    background: rgba(0, 0, 0, .93);
    display: none;
    opacity: 0;
    visibility: hidden
}

@media screen and (min-width:1080px) {
    .p-h-navi-child__bg {
        min-width: 67.5rem
    }
}

@media screen and (min-width:769px) and (max-width:1079px) {
    .p-h-navi-child__bg {
        min-width: 48.0625rem
    }
}

@media only screen and (min-width:769px) {
    .p-h-navi-child__bg {
        width: 100%;
        position: absolute;
        left: 0;
        top: 5rem;
        padding: 4.0625rem 0 5rem
    }
}

@media only screen and (max-width:768px) {
    .p-h-navi-child__header {
        text-align: center;
        padding: 1.5rem 0
    }
}

.p-h-navi-child__heading {
    position: relative
}

@media only screen and (min-width:769px) {
    .p-h-navi-child__heading {
        border-top: 2px solid #e0e0e0;
        padding: 1.5rem 0 0
    }
}

@media only screen and (min-width:769px) {
    .p-h-navi-child__heading:after {
        content: "";
        display: block;
        width: 6rem;
        height: 2px;
        background-color: #007ae5;
        position: absolute;
        top: -2px;
        left: 0
    }
}

.p-h-navi-child__heading__text {
    color: #fff;
    font-weight: 700
}

@media only screen and (min-width:769px) {
    .p-h-navi-child__heading__text {
        font-size: 1.5rem
    }
}

@media only screen and (max-width:768px) {
    .p-h-navi-child__heading__text {
        font-size: 1.125rem
    }
}

.p-h-navi-child__back-button {
    width: 48px;
    height: 48px;
    display: block;
    position: absolute;
    left: 0;
    top: 12px;
    z-index: 2
}

.p-h-navi-child__back-button.tap .p-h-navi-child__back-button__arrow .fill {
    fill: #007ae5
}

.p-h-navi-child__back-button__arrow {
    width: 16px;
    height: 16px;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 10px
}

.p-h-navi-child__back-button__arrow .svg {
    display: block
}

.p-h-navi-child__back-button__arrow .fill {
    fill: #fff;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-h-navi-child__close-button {
    width: 48px;
    height: 48px;
    display: block;
    position: absolute;
    right: 16px;
    top: 0
}

.p-h-navi-child__close-button.tap .p-h-navi-child__close-button__icon__inner:after,
.p-h-navi-child__close-button.tap .p-h-navi-child__close-button__icon__inner:before {
    background-color: #007ae5
}

.p-h-navi-child__close-button__icon {
    width: 24px;
    height: 24px;
    display: block;
    position: absolute;
    margin: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.p-h-navi-child__close-button__icon__inner {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    left: 0;
    top: 0
}

.p-h-navi-child__close-button__icon__inner:before {
    width: 100%;
    height: 1px
}

.p-h-navi-child__close-button__icon__inner:after,
.p-h-navi-child__close-button__icon__inner:before {
    content: "";
    position: absolute;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: block;
    background-color: #fff;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-h-navi-child__close-button__icon__inner:after {
    width: 1px;
    height: 100%
}

@media only screen and (min-width:769px) {
    .p-h-navi-child__col {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }
}

.p-h-navi-child__col__stock {
    padding: 2.5rem 0 0;
    margin-left: 2.8777%
}

@media only screen and (max-width:768px) {
    .p-h-navi-child__col__stock {
        padding: 1.25rem 0 0;
        margin: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.p-h-navi-child__col__navi {
    width: 100%
}

@media only screen and (min-width:769px) {
    .p-h-navi-child__list__item {
        margin-top: -.5rem
    }
}

@media only screen and (max-width:768px) {
    .p-h-navi-child__list__item {
        padding-top: 0;
        padding-bottom: 0
    }
}

.p-h-navi-child__link {
    border-bottom: 1px solid #e0e0e0;
    width: 100%;
    height: 100%;
    color: #fff;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (min-width:769px) {
    .p-h-navi-child__link {
        padding: 1rem 1rem 1rem 0
    }
}

@media only screen and (max-width:768px) {
    .p-h-navi-child__link {
        padding: 1.5rem .75rem
    }
}

@media only screen and (min-width:769px) {
    .p-h-navi-child__link:after {
        content: "";
        width: 0;
        height: 1px;
        background-color: #007ae5;
        position: absolute;
        display: block;
        bottom: -1px;
        left: 0;
        -webkit-transition: all .15s ease-in;
        transition: all .15s ease-in
    }
}

.p-h-navi-child__link.tap {
    color: #007ae5
}

@media only screen and (min-width:769px) {
    .p-h-navi-child__link.tap:after {
        width: 100%
    }
}

.p-h-navi-child__link.tap .p-h-navi-child__link__arrow .fill {
    fill: #007ae5
}

.p-h-navi-child__link__text {
    width: 100%;
    display: block;
    line-height: 1.6
}

@media only screen and (max-width:768px) {
    .p-h-navi-child__link__text {
        font-size: 1rem
    }
}

.p-h-navi-child__link__arrow {
    line-height: 1.5;
    display: block;
    position: absolute;
    margin: auto;
    right: 0;
    top: 0;
    bottom: 0
}

@media only screen and (min-width:769px) {
    .p-h-navi-child__link__arrow {
        width: 4px;
        height: 8px
    }
}

@media only screen and (max-width:768px) {
    .p-h-navi-child__link__arrow {
        width: 8px;
        height: 12px
    }
}

.p-h-navi-child__link__arrow .svg {
    display: block
}

@media only screen and (max-width:768px) {
    .p-h-navi-child__link__arrow .svg {
        width: 8px;
        height: 12px
    }
}

.p-h-navi-child__link__arrow .fill {
    fill: #fff;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-h-navi__inner {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}

@media only screen and (max-width:768px) {
    .p-h-navi__inner {
        position: relative
    }
}

.p-h-navi__link {
    text-align: left;
    position: relative
}

@media only screen and (max-width:768px) {
    .p-h-navi__link {
        width: 100%;
        padding: 1.5rem .75rem;
        border-bottom: 1px solid #e0e0e0;
        font-size: .875rem
    }
}

@media only screen and (min-width:769px) {
    .p-h-navi__link {
        padding: 1.8125rem 1.4375rem;
        font-size: .875rem
    }
}

.p-h-navi__link.tap .p-h-navi__link__text,
.p-h-navi__link.tap .p-h-navi__link__text--language {
    color: #007ae5;
    border-color: #007ae5
}

.p-h-navi__link.tap .p-h-navi__link__icon .fill {
    fill: #007ae5
}

.p-h-navi__link--language {
    border-bottom: none
}

@media only screen and (max-width:768px) {
    .p-h-navi__link--language {
        width: 10.25rem;
        padding: 1.5rem .75rem
    }
}

@media only screen and (min-width:769px) {
    .p-h-navi__link--language {
        padding: 1.8125rem 1.4375rem 1.875rem
    }
}

.p-h-navi__link__text {
    color: #fff;
    font-weight: 700;
    line-height: 1.6;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

@media only screen and (min-width:769px) {
    .p-h-navi__link__arrow {
        display: none
    }
}

@media only screen and (max-width:768px) {
    .p-h-navi__link__arrow {
        display: block;
        position: absolute;
        width: 8px;
        height: 12px;
        margin: auto;
        top: 0;
        bottom: 0;
        right: 8px
    }
}

.p-h-navi__link__arrow .svg {
    display: block
}

.p-h-navi__link__arrow .fill {
    fill: #fff
}

.p-h-navi__link__icon--blank {
    width: 24px;
    height: 24px;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 0
}

.p-h-navi__link__icon .svg {
    display: block
}

.p-h-navi__link__icon .fill {
    fill: #fff;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

@media only screen and (max-width:768px) {
    .p-h-others-links {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        border-bottom: 1px solid #e0e0e0
    }
}

.p-h-others-links__contact {
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    aling-items: center
}

@media only screen and (max-width:768px) {
    .p-h-others-links__contact {
        padding: 1.4375rem .75rem 1.5rem
    }
}

.p-h-others-links__contact__icon {
    display: block;
    margin: 0 .5rem 0 0;
    line-height: 1.6
}

.p-h-others-links__contact__text {
    line-height: 1.6;
    display: block
}

.p-h {
    background: #fff;
    text-align: center;
    margin-top: 0.5rem;
}

@media only screen and (min-width:769px) {
    .p-h__inner {
        width: 100%;
        padding: 0 0 0 3.75rem;
        position: relative
    }
}

@media only screen and (max-width:768px) {
    .p-h__inner {
        margin: 0 auto;
        width: 100%;
        min-width: 20rem;
        max-width: 42.5rem;
        padding: 0 1.5625rem
    }
}

@media only screen and (min-width:769px) {
    .p-h__l {
        width: 6.875rem;
        left: 3.75rem;
        top: 0;
        position: absolute;
        z-index: 4
    }
}

@media only screen and (max-width:768px) {
    .p-h__l {
        width: 9.8125rem;
        z-index: 999;
        position: relative
    }
}

@media only screen and (min-width:769px) {
    .p-h__r {
        height: 5rem;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

@media only screen and (max-width:768px) {
    .p-h__r__navi {
        width: 100%;
        height: calc(100vh - 40px);
        position: absolute;
        left: 0;
        right: 0;
        top: 2.5rem;
        background-color: rgba(0, 0, 0, .93);
        overflow-y: scroll;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        display: none
    }
}

.p-h__mega {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3
}

.p-common-article-inline-list-column--pull_avobe {
    margin: -1.1875rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-article-inline-list-column--pull_avobe {
        margin: -.8125rem 0 0
    }
}

.p-common-article-inline-list-column--noborder .p-common-article-inline-list-column__item {
    border: none
}

.p-common-article-inline-list-column__item {
    border-bottom: 1px solid #ccc
}

.p-common-article-inline-list-column__col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media only screen and (max-width:768px) {
    .p-common-article-inline-list-column__col {
        display: block
    }
}

.p-common-article-inline-list-column__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1.25rem 0 .75rem
}

@media only screen and (max-width:768px) {
    .p-common-article-inline-list-column__header {
        display: block;
        padding: .625rem 0 .375rem
    }
}

.p-common-article-inline-list-column__body,
.p-common-article-inline-list-column__heading {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.p-common-article-inline-list-column__heading {
    padding: 1.25rem 0 .75rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media only screen and (max-width:768px) {
    .p-common-article-inline-list-column__heading {
        padding: .75rem 0
    }
}

.p-common-article-inline-list-column__heading.tap .p-common-article-inline-list-column__heading__text__text {
    color: #007ae5
}

.p-common-article-inline-list-column__heading__text {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.6875;
    display: block;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.p-common-article-inline-list-column__heading__text__text {
    display: inline;
    vertical-align: top;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-common-article-inline-list-column__label {
    margin: .375rem .625rem 0 0
}

.p-common-article-inline-list-column__date {
    min-width: 5rem;
    margin: 0 1.25rem 0 0;
    font-size: .875rem;
    line-height: 1.78571
}

@media only screen and (max-width:768px) {
    .p-common-article-inline-list-column__date {
        min-width: 0;
        margin: 0
    }
}

.p-common-article-inline-list-default--remove_border .p-common-article-inline-list-default__item {
    border: none
}

.p-common-article-inline-list-default__item {
    border-bottom: 1px solid #ccc
}

.p-common-article-inline-list-default__item:not(:first-child) {
    padding: 1rem 0 0
}

.p-common-article-inline-list-default__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media only screen and (max-width:768px) {
    .p-common-article-inline-list-default__header {
        display: block
    }
}

.p-common-article-inline-list-default__body {
    margin-top: .5rem
}

.p-common-article-inline-list-default__heading {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 0 1rem;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-common-article-inline-list-default__heading.tap .p-common-article-inline-list-default__heading__text__text {
    color: #007ae5
}

.p-common-article-inline-list-default__heading__text {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.6875;
    display: inline
}

.p-common-article-inline-list-default__heading__text__text {
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-common-article-inline-list-default__label {
    margin: .375rem .625rem 0 0
}

.p-common-article-inline-list-default__date {
    min-width: 5rem;
    margin: 0 1.25rem 0 0;
    font-size: .875rem;
    line-height: 1.42857
}

@media only screen and (max-width:768px) {
    .p-common-article-inline-list-default__date {
        min-width: 0;
        margin: 0
    }
}

.p-common-article-inline-list-default__subtitle {
    font-size: .875rem;
    font-weight: 400;
    margin-top: .25em;
    display: block
}

@media only screen and (max-width:768px) {
    .p-common-article-inline-list-default__subtitle {
        font-size: .75rem
    }
}

.p-common-article-inline-list-empty__text {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.625;
    padding: 2.5rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-article-inline-list-empty__text {
        font-size: .875rem;
        padding: 1.5rem 0 0
    }
}

.p-common-article-panel-default {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

@media only screen and (max-width:768px) {
    .p-common-article-panel-default--hover {
        padding: 0
    }
}

.p-common-article-panel-default--hover.tap .p-common-article-panel-default__header {
    color: #007ae5
}

.p-common-article-panel-default--hover.tap:before {
    opacity: 1
}

@media only screen and (min-width:769px) {
    .p-common-article-panel-default--hover:hover .p-common-article-panel-default__header {
        color: #007ae5
    }
}

@media only screen and (min-width:769px) {
    .p-common-article-panel-default--hover:hover:before {
        opacity: 1
    }
}

@media only screen and (min-width:769px) {
    .p-common-article-panel-default--hover:before {
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        right: 0;
        top: 0;
        left: 0;
        bottom: 0;
        margin: auto;
        background-color: #fff;
        -webkit-box-shadow: 0 0 .625rem rgba(0, 54, 136, .25);
        box-shadow: 0 0 .625rem rgba(0, 54, 136, .25);
        opacity: 0;
        -webkit-transition: opacity .15s ease-in;
        transition: opacity .15s ease-in
    }
}

.p-common-article-panel-default__inner {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative
}

.p-common-article-panel-default__mv {
    width: 100%;
    height: 0;
    padding: 0 0 66.66667%;
    position: relative;
    overflow: hidden
}

.p-common-article-panel-default__mv--aspect_12_7 {
    padding: 0 0 58.33333%
}

.p-common-article-panel-default__mv--aspect_3_2 {
    padding: 0 0 66.66667%
}

.p-common-article-panel-default__mv__link {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto
}

.p-common-article-panel-default__mv__figure {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    overflow: hidden
}

.p-common-article-panel-default__mv__figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto
}

.p-common-article-panel-default__mv__figure--contain img {
    -o-object-fit: contain;
    object-fit: contain
}

.p-common-article-panel-default__tag {
    margin-top: 1.25rem
}

.p-common-article-panel-default__tag+.p-common-article-panel-default__content .p-common-article-panel-default__header {
    margin-top: .75rem
}

.p-common-article-panel-default__content {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.p-common-article-panel-default__header {
    font-size: 1.125rem;
    width: 100%;
    margin: 1.5rem 0 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

@media only screen and (max-width:768px) {
    .p-common-article-panel-default__header {
        font-size: 1rem;
        margin: .75rem 0 .5rem
    }
}

.p-common-article-panel-default__header--large {
    font-size: 1.5rem
}

@media only screen and (max-width:768px) {
    .p-common-article-panel-default__header--large {
        font-size: 1rem
    }
}

.p-common-article-panel-default__heading {
    font-weight: 700
}

.p-common-article-panel-default__footer {
    margin: auto 0 0;
    padding: .5rem 0 0
}

.p-common-article-panel-default__footer__inner {
    min-height: 1.5625rem;
    padding: 0 2.0625rem 0 0;
    position: relative
}

.p-common-article-panel-default__footer__date {
    color: #828282;
    font-weight: 700
}

.p-common-article-panel-default__footer__button {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto
}

.p-common-article-panel-simple,
.p-common-article-panel-simple__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%
}

.p-common-article-panel-simple__link {
    border: 1px solid #e0e0e0;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-common-article-panel-simple__link.tap {
    border-color: #007ae5
}

.p-common-article-panel-simple__inner {
    width: 86.63239%;
    margin: 0 auto;
    padding: 2.25rem 0 3.5rem
}

@media only screen and (max-width:768px) {
    .p-common-article-panel-simple__inner {
        padding: 1.125rem 0 1.75rem
    }
}

.p-common-article-panel-simple__heading {
    color: #007ae5;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.375
}

.p-common-article-panel-simple__body {
    margin: .5rem 0 0
}

.p-common-article-panel-simple__body__text {
    line-height: 2.375;
    letter-spacing: .01em
}

.p-common-breadcrumb-section {
    padding: 1.375rem 0;
    background-color: #e0e0e0
}

@media only screen and (max-width:768px) {
    .p-common-breadcrumb-section {
        padding: .875rem 0
    }
}

.p-common-breadcrumb-section__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.p-common-breadcrumb-section__list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.p-common-breadcrumb-section__list__item:not(:last-child):after {
    content: "/";
    display: block;
    line-height: 2.1
}

.p-common-breadcrumb-section__link {
    display: block;
    line-height: 1.6
}

.p-common-breadcrumb-section__link.tap {
    text-decoration: underline
}

.p-common-breadcrumb-section__link__text {
    display: block;
    font-size: .875rem;
    font-weight: 500;
    padding: .35714em 1em;
    line-height: 1.6
}

@media only screen and (max-width:768px) {
    .p-common-breadcrumb-section__link__text {
        font-size: .875rem
    }
}

.p-common-default-section-container--padding {
    padding: 5rem 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-container--padding {
        padding: 2.5rem 0
    }
}

.p-common-default-section-container--padding40 {
    padding: 2.5rem 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-container--padding40 {
        padding: 1.25rem 0
    }
}

.p-common-default-section-container--padding160 {
    padding: 10rem 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-container--padding160 {
        padding: 5rem 0
    }
}

.p-common-default-section-container--remove_padding_top {
    padding-top: 0
}

.p-common-default-section-container--remove_padding_bottom {
    padding-bottom: 0
}

.p-common-default-section-middle--padding {
    padding: 2.5rem 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle--padding {
        padding: 1.5rem 0
    }
}

.p-common-default-section-middle--padding .p-common-default-section-middle__body {
    margin: 3rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle--padding .p-common-default-section-middle__body {
        margin: 2rem 0 0
    }
}

.p-common-default-section-middle--padding .p-common-default-section-middle__body--large {
    margin: 5rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle--padding .p-common-default-section-middle__body--large {
        margin: 2.5rem 0 0
    }
}

.p-common-default-section-middle--padding .p-common-default-section-middle__body--small {
    margin: 1.5rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle--padding .p-common-default-section-middle__body--small {
        margin: .75rem 0 0
    }
}

.p-common-default-section-middle--padding .p-common-default-section-middle__body--tiny {
    margin: 1rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle--padding .p-common-default-section-middle__body--tiny {
        margin: .5rem 0 0
    }
}

.p-common-default-section-middle--padding80 {
    padding: 5rem 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle--padding80 {
        padding: 2.5rem 0
    }
}

.p-common-default-section-middle--padding80 .p-common-default-section-middle__body {
    margin: 2.5rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle--padding80 .p-common-default-section-middle__body {
        margin: 1.5rem 0 0
    }
}

.p-common-default-section-middle--padding80 .p-common-default-section-middle__body--large {
    margin: 5rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle--padding80 .p-common-default-section-middle__body--large {
        margin: 2.5rem 0 0
    }
}

.p-common-default-section-middle--padding80 .p-common-default-section-middle__body--small {
    margin: 1.5rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle--padding80 .p-common-default-section-middle__body--small {
        margin: .75rem 0 0
    }
}

.p-common-default-section-middle--padding80 .p-common-default-section-middle__body--tiny {
    margin: 1rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle--padding80 .p-common-default-section-middle__body--tiny {
        margin: .5rem 0 0
    }
}

.p-common-default-section-middle--padding160 {
    padding: 10rem 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle--padding160 {
        padding: 5rem 0
    }
}

.p-common-default-section-middle--padding160 .p-common-default-section-middle__body {
    margin: 5rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle--padding160 .p-common-default-section-middle__body {
        margin: 2.5rem 0 0
    }
}

.p-common-default-section-middle--padding160 .p-common-default-section-middle__body--small {
    margin: 2.5rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle--padding160 .p-common-default-section-middle__body--small {
        margin: 1.5rem 0 0
    }
}

.p-common-default-section-middle--padding160 .p-common-default-section-middle__body--tiny {
    margin: 1.5rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle--padding160 .p-common-default-section-middle__body--tiny {
        margin: .75rem 0 0
    }
}

.p-common-default-section-middle--remove_padding_top {
    padding-top: 0
}

.p-common-default-section-middle--remove_padding_bottom {
    padding-bottom: 0
}

.p-common-default-section-middle__header__col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.p-common-default-section-middle__body {
    margin: 2.5rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle__body {
        margin: 1.5rem 0 0
    }
}

.p-common-default-section-middle__body--large {
    margin: 5rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle__body--large {
        margin: 2.5rem 0 0
    }
}

.p-common-default-section-middle__body--small {
    margin: 1.5rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle__body--small {
        margin: .75rem 0 0
    }
}

.p-common-default-section-middle__body--tiny {
    margin: 1rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-middle__body--tiny {
        margin: .5rem 0 0
    }
}

.p-common-default-section-small--padding {
    padding: 1.5rem 0
}

.p-common-default-section-small--padding16 {
    padding: 1rem 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-small--padding16 {
        padding: .5rem 0
    }
}

.p-common-default-section-small--padding16 .p-common-default-section-small__body {
    margin: .5rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-small--padding16 .p-common-default-section-small__body {
        margin: .5rem 0 0
    }
}

.p-common-default-section-small--padding16 .p-common-default-section-small__body--small {
    margin: .25rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-small--padding16 .p-common-default-section-small__body--small {
        margin: .25rem 0 0
    }
}

.p-common-default-section-small--padding16 .p-common-default-section-small__body--tiny {
    margin: .25rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-small--padding16 .p-common-default-section-small__body--tiny {
        margin: .25rem 0 0
    }
}

.p-common-default-section-small--padding8 {
    padding: .5rem 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-small--padding8 {
        padding: .25rem 0
    }
}

.p-common-default-section-small--padding8 .p-common-default-section-small__body {
    margin: .25rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-small--padding8 .p-common-default-section-small__body {
        margin: .25rem 0 0
    }
}

.p-common-default-section-small--padding8 .p-common-default-section-small__body--small {
    margin: .25rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-small--padding8 .p-common-default-section-small__body--small {
        margin: .25rem 0 0
    }
}

.p-common-default-section-small--padding8 .p-common-default-section-small__body--tiny {
    margin: .25rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-small--padding8 .p-common-default-section-small__body--tiny {
        margin: .25rem 0 0
    }
}

.p-common-default-section-small--remove_padding_top {
    padding-top: 0
}

.p-common-default-section-small--remove_padding_bottom {
    padding-bottom: 0
}

.p-common-default-section-small__body {
    margin: 1rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-small__body {
        margin: .5rem 0 0
    }
}

.p-common-default-section-small__body--small {
    margin: 1rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-small__body--small {
        margin: .5rem 0 0
    }
}

.p-common-default-section-small__body--tiny {
    margin: .5rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-default-section-small__body--tiny {
        margin: .25rem 0 0
    }
}

.p-common-footer-share-button__col {
    padding: 1.0625rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width:768px) {
    .p-common-footer-share-button__col {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

.p-common-footer-share-button__col__share {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.p-common-footer-share-button__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.p-common-footer-share-button__list__item {
    width: 6rem
}

.p-common-footer-share-button__list__item+.p-common-footer-share-button__list__item {
    margin: 0 0 0 .5rem
}

.p-common-footer-share-button__link {
    height: 3rem
}

.p-common-footer-share-button__link,
.p-common-footer-share-button__link__inner {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.p-common-footer-share-button__link__inner {
    height: 2rem;
    background-color: #000
}

.p-common-footer-share-button__link .svg {
    display: block;
    width: 100%
}

.p-common-footer-share-button__link .fill-bg {
    fill: #fff;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-common-footer-share-button__link .fill-symbol {
    fill: #000;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-common-footer-share-button__link.tap {
    opacity: .7
}

.p-common-footer-share-button__link__icon {
    margin: 0 .875rem 0 0;
    line-height: 1;
    display: block
}

.p-common-footer-share-button__link__icon--tw {
    width: 1.375rem;
    height: 1.125rem
}

.p-common-footer-share-button__link__icon--fb {
    width: 1.25rem;
    height: 1.25rem
}

.p-common-footer-share-button__link__text {
    font-size: .875rem;
    font-weight: 700;
    color: #fff;
    line-height: 1
}

.p-common-inline-column-list__item {
    border-bottom: 1px solid #e0e0e0;
    padding: 2px 0
}

@media only screen and (max-width:768px) {
    .p-common-inline-column-list__item {
        padding: 0 0 1.5rem
    }
}

.p-common-inline-column-list__item:first-child {
    padding-top: 0
}

.p-common-inline-column-list__panel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 3rem
}

@media only screen and (max-width:768px) {
    .p-common-inline-column-list__panel {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 0 1rem
    }
}

.p-common-inline-column-list__panel__image {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 13.75rem;
    flex: 0 0 13.75rem;
    text-align: center;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

@media only screen and (max-width:768px) {
    .p-common-inline-column-list__panel__image {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
        flex: 1 1 100%;
        margin: 1rem 0 0
    }
}

.p-common-inline-column-list__panel__image.tap {
    opacity: .5
}

.p-common-inline-column-list__panel__content {
    padding: 1rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

@media only screen and (max-width:768px) {
    .p-common-inline-column-list__panel__content {
        padding: 0
    }
}

.p-common-inline-column-list__panel__body {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 30rem;
    flex: 1 1 30rem;
    padding: 0 0 0 2.75rem
}

@media only screen and (max-width:768px) {
    .p-common-inline-column-list__panel__body {
        padding: 0;
        margin: 1rem 0 0
    }
}

.p-common-inline-column-list__panel__body__text {
    margin: .5rem 0 0
}

.p-common-inline-column-list__panel__body__icon {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 12.25rem;
    flex: 0 0 12.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 1rem 0 0;
    padding: 0 0 0 2.5rem
}

@media only screen and (max-width:768px) {
    .p-common-inline-column-list__panel__body__icon {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
        flex: 1 1 100%;
        margin: 1rem 0 0
    }
}

.p-common-inline-icon-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    min-width: 12.25rem
}

.p-common-inline-icon-list__link {
    min-width: 3rem;
    min-height: 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: .25rem
}

.p-common-inline-icon-list__link.tap .p-common-inline-icon-list__link__icon .fill-black {
    fill: #007ae5
}

.p-common-inline-icon-list__link.tap .p-common-inline-icon-list__link__icon .stroke-black {
    stroke: #007ae5
}

.p-common-inline-icon-list__link__icon {
    display: block;
    min-width: 2.5rem;
    min-height: 2.5rem
}

.p-common-inline-icon-list__link__icon .stroke-black {
    stroke: #000;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-common-inline-icon-list__link__icon .fill-black {
    fill: #000;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-common-inline-icon-list__link__icon .fill-white {
    fill: #fff;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-common-local-page-navi-button--current {
    background-color: #f2f2f2
}

.p-common-local-page-navi-panel-list {
    padding: 4rem 0 5rem;
    background-color: #f2f2f2
}

.p-common-local-page-navi-panel-list__panel {
    background-color: #fff
}

.p-common-local-page-navi-panel-list__panel__link {
    display: block;
    width: 100%;
    position: relative
}

@media only screen and (min-width:769px) {
    .p-common-local-page-navi-panel-list__panel__link:after {
        content: "";
        display: block;
        width: 1px;
        height: 1.25rem;
        background-color: #333;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        position: absolute;
        -webkit-transition: all .15s ease-in;
        transition: all .15s ease-in
    }
}

.p-common-local-page-navi-panel-list__panel__link.tap:after {
    height: 100%
}

.p-common-local-page-navi-panel-list__panel__column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.p-common-local-page-navi-panel-list__panel__image {
    width: 7.5625rem;
    min-width: 7.5625rem
}

.p-common-local-page-navi-panel-list__panel__body {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 .75rem
}

.p-common-local-page-navi-panel-list__panel__body__text {
    font-size: .9375rem
}

.p-common-main-visual {
    min-width: 48.0625rem;
    width: 100%;
    position: relative
}

@media only screen and (max-width:768px) {
    .p-common-main-visual {
        min-width: 20rem
    }
}

.p-common-main-visual--reverse .p-common-main-visual__bg:after {
    display: none
}

.p-common-main-visual--reverse .p-common-main-visual__heading {
    color: #333
}

.p-common-main-visual__inner {
    min-height: 17.5rem;
    padding: 0 0 19.44444%;
    color: #fff;
    text-align: center;
    width: 100%;
    height: 0;
    line-height: .9;
    position: relative;
    background-color: #333
}

@media only screen and (max-width:768px) {
    .p-common-main-visual__inner {
        min-height: 9.6875rem;
        padding: 0 0 41.33333%
    }
}

.p-common-main-visual__bg:after,
.p-common-main-visual__content {
    width: 100%;
    height: 100%;
    margin: auto;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    position: absolute
}

.p-common-main-visual__bg:after {
    content: "";
    display: block;
    background-color: #000;
    opacity: .3
}

.p-common-main-visual__bg img {
    width: 100%;
    height: 100%;
    position: absolute;
    margin: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover
}

.p-common-main-visual__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.p-common-main-visual__heading {
    font-size: 3.5rem;
    -webkit-transform: translateY(-10%);
    transform: translateY(-10%);
    color: #fff;
    text-align: center
}

@media only screen and (max-width:768px) {
    .p-common-main-visual__heading {
        font-size: 8.53333vw
    }
}

@media screen and (max-width:375px) {
    .p-common-main-visual__heading {
        font-size: 2rem
    }
}

.p-common-main-visual__heading__text {
    font-size: 1em;
    font-family: Oswald, Noto Sans JP, sans-serif
}

.p-common-main-visual__heading__sub-text {
    font-size: .32143em;
    margin: .25rem 0 0;
    display: block;
    font-weight: 700
}

@media only screen and (max-width:768px) {
    .p-common-main-visual__heading__sub-text {
        font-size: .5em;
        margin: .25em 0 0
    }
}

.p-common-modal-window {
    width: 100vw;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, .93);
    z-index: 999;
    opacity: 0;
    visibility: hidden
}

@media only screen and (min-width:769px) {
    .p-common-modal-window {
        min-width: 67.5rem
    }
}

@media only screen and (max-width:768px) {
    .p-common-modal-window {
        min-width: 20rem
    }
}

.p-common-modal-window__inner {
    width: 100vw;
    height: 100vh;
    padding: 100px 0
}

.p-common-modal-window__content {
    height: calc(100vh - 200px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.p-common-modal-window__image {
    width: 100%;
    max-width: 50rem;
    margin: 0 auto;
    position: relative
}

.p-common-modal-window__iframe {
    width: 100%;
    height: 0;
    padding: 0 0 56.25%;
    margin: 0 auto;
    position: relative
}

.p-common-modal-window__iframe iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    margin: auto;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: block
}

.p-common-overlay-button-panel__heading__text--small--stepped {
    font-size: 1.875rem;
    line-height: .95
}

@media screen and (max-width:1199px) {
    .p-common-overlay-button-panel__heading__text--small--stepped {
        font-size: 1.75rem
    }
}

@media screen and (max-width:479px) {
    .p-common-overlay-button-panel__heading__text--small--stepped {
        font-size: 1.25rem
    }
}

@media only screen and (max-width:768px) {
    .p-common-overlay-button-panel__heading__sub-text--small--stepped {
        font-size: .8125rem
    }
}

.p-common-page-heading {
    padding: 5rem 0 2.5rem
}

@media only screen and (max-width:768px) {
    .p-common-page-heading {
        padding: 1.875rem 0 .625rem
    }
}

.p-common-page-heading__col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 5rem
}

@media only screen and (max-width:768px) {
    .p-common-page-heading__col {
        margin-top: 2.5rem
    }
}

.p-common-page-heading__rss {
    margin: 0 0 0 1rem;
    border-left: 1px solid #bbb
}

.p-common-post-pager__inner {
    padding: 2.5rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.p-common-post__header {
    padding: 5.25rem 0 0
}

@media only screen and (max-width:768px) {
    .p-common-post__header {
        padding: 2rem 0 0
    }
}

.p-common-post__header--ceo {
    padding: 2.5rem 0
}

@media only screen and (max-width:768px) {
    .p-common-post__header--ceo {
        padding: 2rem 0 0
    }
}

.p-common-post__header--ceo h1 {
    font-size: 1.45em;
    font-weight: 700
}

.p-common-post__header--ceo h2 {
    font-weight: 700;
    line-height: 1.8;
    font-size: 1.1rem
}

.p-common-post__header__info {
    max-width: 50rem;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media only screen and (max-width:768px) {
    .p-common-post__header__info {
        display: block
    }
}

.p-common-post__header__info--ceo {
    padding: 0 0 1.25rem
}

@media only screen and (max-width:768px) {
    .p-common-post__header__info--ceo {
        padding: 0
    }
}

.p-common-post__header__new {
    margin: 0 0 0 .5rem
}

.p-common-post__header--rich {
    padding-top: 0
}

.p-common-post__header--rich__figure {
    margin-bottom: 5rem
}

@media only screen and (max-width:768px) {
    .p-common-post__header--rich__figure {
        margin-bottom: 2rem
    }
}

.p-common-post__header--rich__figure>img {
    width: 100%
}

.p-common-post__date {
    font-size: .875rem;
    line-height: 1.42857;
    min-width: 5rem
}

@media only screen and (max-width:768px) {
    .p-common-post__date {
        min-width: 0
    }
}

.p-common-post__heading {
    padding: 1rem 0 0
}

.p-common-post__heading__label {
    margin: .625rem .875rem 0 0
}

.p-common-post__heading__text {
    max-width: 50rem;
    margin: 0 auto;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.5;
    display: block
}

@media only screen and (max-width:768px) {
    .p-common-post__heading__text {
        font-size: 1.125rem
    }
}

.p-common-post__body {
    padding: 1.75rem 0 2.5rem
}

.p-common-post__body--seo h3,
.p-common-post__body--seo h4,
.p-common-post__body--seo p {
    max-width: 100%;
    line-height: 1.8
}

.p-common-post__body--seo h4,
.p-common-post__body--seo p+p {
    margin-top: 1.5rem
}

.p-common-post__body--seo h3,
.p-common-post__body--seo h4 {
    font-weight: 700
}

.p-common-post__body--seo h3 {
    font-size: 1.2rem;
    margin-top: 2.5rem
}

.p-common-post__body--seo h4 {
    font-size: 1rem
}

.p-common-post__body--seo figure {
    text-align: center;
    padding: 2rem 0
}

.p-common-post__body--seo a {
    color: #007ae5;
    display: inline;
    word-break: break-all
}

.p-common-post__body--seo a[target=_blank]:after {
    content: "";
    vertical-align: -2px;
    width: 16px;
    height: 16px;
    margin: 0 .25rem;
    display: inline-block;
    background-image: url(/assets/img/common/icon-target-blank.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover
}

.p-common-post__body p,
.p-common-post__body table,
.p-common-post__body ul {
    font-size: 1rem;
    line-height: 1.875;
    max-width: 50rem;
    margin: 0 auto
}

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

    .p-common-post__body p,
    .p-common-post__body table,
    .p-common-post__body ul {
        font-size: .875rem
    }
}

.p-common-post__body p+h2,
.p-common-post__body p+h3,
.p-common-post__body p+p,
.p-common-post__body p+table,
.p-common-post__body p+ul,
.p-common-post__body table+h2,
.p-common-post__body table+h3,
.p-common-post__body table+p,
.p-common-post__body table+table,
.p-common-post__body table+ul,
.p-common-post__body ul+h2,
.p-common-post__body ul+h3,
.p-common-post__body ul+p,
.p-common-post__body ul+table,
.p-common-post__body ul+ul {
    margin-top: 2.5rem
}

.p-common-post__body table {
    width: 100%
}

.p-common-post__body ul {
    padding-left: 2rem
}

.p-common-post__body ul>li {
    list-style: disc
}

.p-common-post__body h2 {
    padding: 1.25rem 0;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.5;
    max-width: 50rem;
    margin: 0 auto
}

@media only screen and (max-width:768px) {
    .p-common-post__body h2 {
        padding: .875rem 0;
        font-size: 1rem
    }
}

.p-common-post__body h3 {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    max-width: 50rem;
    margin: 0 auto;
    padding: 0 0 .75rem
}

@media only screen and (max-width:768px) {
    .p-common-post__body h3 {
        font-size: .875rem;
        padding: 0 0 .5rem
    }
}

.p-common-post__body a {
    color: #007ae5;
    display: inline;
    word-break: break-all
}

.p-common-post__body a[target=_blank]:after {
    content: "";
    vertical-align: -2px;
    width: 16px;
    height: 16px;
    margin: 0 .25rem;
    display: inline-block;
    background-image: url(/assets/img/common/icon-target-blank.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover
}

.p-common-post__body img {
    width: 100%
}

.p-common-post__body img.p-common-post__img--has_line {
    border: 1px solid #e0e0e0
}

.p-common-post__body img.p-common-post__img--small {
    width: 540px;
    margin: auto;
    display: block
}

.p-common-post__body img.p-common-post__img--tiny {
    width: 360px;
    margin: auto;
    display: block
}

.p-common-post__body table {
    border: 1px solid #e0e0e0
}

.p-common-post__body table tr {
    border-top: 1px solid #e0e0e0
}

.p-common-post__body table tr:first-of-type {
    border-top: none
}

.p-common-post__body table td,
.p-common-post__body table th {
    font-size: .875rem;
    letter-spacing: .02em;
    vertical-align: top;
    padding: .875rem 1.375rem .9375rem;
    border-collapse: collapse
}

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

    .p-common-post__body table td,
    .p-common-post__body table th {
        font-size: .8125rem;
        padding: .625rem .9375rem .6875rem
    }
}

.p-common-post__body table td:first-child,
.p-common-post__body table th:first-child {
    padding-right: 1.25rem
}

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

    .p-common-post__body table td:first-child,
    .p-common-post__body table th:first-child {
        padding-right: 1rem
    }
}

.p-common-post__body table td:last-child,
.p-common-post__body table th:last-child {
    padding-left: 1.25rem
}

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

    .p-common-post__body table td:last-child,
    .p-common-post__body table th:last-child {
        padding-left: 1rem
    }
}

.p-common-post__body table th {
    font-weight: 400;
    text-align: left;
    background: #f2f2f2
}

.p-common-post__body sup {
    font-size: .75em;
    vertical-align: super;
    margin-right: .25em
}

.p-common-post__body small {
    font-size: .75em
}

.p-common-post__subtitle {
    padding: 1rem 0 .75rem;
    max-width: 50rem;
    margin: 0 auto
}

.p-common-post__subtitle__text {
    max-width: 50rem;
    font-size: 1.125rem;
    line-height: 1.5;
    font-weight: 700
}

@media only screen and (max-width:768px) {
    .p-common-post__subtitle__text {
        font-size: .9375rem
    }
}

.p-common-post__video {
    position: relative;
    width: 100%;
    max-width: 560px;
    margin: 1.5rem auto;
    overflow: hidden
}

.p-common-post__video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.p-common-post__video:before {
    content: "";
    width: 100%;
    height: 0;
    max-width: 560px;
    padding-bottom: 56.25%;
    display: block
}

.p-common-post__video+h2,
.p-common-post__video+h3 {
    margin-top: 2.5rem
}

.p-common-post__inner {
    max-width: 50rem;
    margin: 0 auto
}

.p-common-post__inner--margin_top16 {
    margin-top: 1rem
}

.p-common-post__inner--margin_top24 {
    margin-top: 1.5rem
}

.p-common-post__inner--margin_top40 {
    margin-top: 2.5rem
}

.p-common-sidebar {
    padding: 2.5rem 0
}

@media only screen and (max-width:768px) {
    .p-common-sidebar:first-child {
        padding-top: 0
    }
}

@media only screen and (min-width:769px) {
    .p-common-sidebar:not(:first-child) {
        padding-top: 0
    }
}

.p-common-sidebar__body {
    margin: 1.5rem 0 0
}

.p-common-sidebar__body--small {
    margin: 1rem 0 0
}

.p-common-sidebar__body--tiny {
    margin: .5rem 0 0
}

.p-common-sidebar__list--first {
    margin-top: .875rem
}

.p-common-sidebar__list--hidden {
    display: none
}

.p-common-sidebar__list--indent {
    margin-left: 2.125rem
}

.p-common-sidebar__list--current {
    display: block
}

.p-common-sidebar__link {
    font-size: .9375rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .02em;
    width: 100%;
    padding: 1.25rem .25rem 1.25rem .5rem;
    border-bottom: 1px solid #ddd;
    display: block
}

.p-common-sidebar__link--current,
.p-common-sidebar__link.tap {
    color: #007ae5
}

.p-common-sidebar__link--current.p-common-sidebar__link--has_child {
    color: #333;
    background-color: #f2f2f2
}

.p-common-sidebar__link__arrow .fill {
    fill: #aaa;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-common-sidebar__link__text {
    margin-left: .25rem
}

.p-common-slide-toggle-panel--active .p-common-slide-toggle-panel__heading__icon__bar,
.p-common-slide-toggle-panel--active .p-common-slide-toggle-panel__heading__icon__bar:after {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg)
}

.p-common-slide-toggle-panel__header {
    padding: 1.5rem 0
}

.p-common-slide-toggle-panel__header:hover {
    cursor: pointer
}

.p-common-slide-toggle-panel__header.tap .p-common-slide-toggle-panel__heading__text {
    color: #007ae5
}

.p-common-slide-toggle-panel__heading {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 700
}

.p-common-slide-toggle-panel__heading__icon {
    width: 1.25rem;
    min-width: 1.25rem;
    margin: 0 .625rem 0 0;
    display: block;
    position: relative
}

.p-common-slide-toggle-panel__heading__icon__bar {
    width: .6875rem;
    height: 2px;
    position: absolute;
    margin: auto;
    top: .6875rem;
    left: 0;
    right: 0;
    display: block;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transition: all .3s ease-in;
    transition: all .3s ease-in
}

.p-common-slide-toggle-panel__heading__icon__bar:after,
.p-common-slide-toggle-panel__heading__icon__bar:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #aaa;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.p-common-slide-toggle-panel__heading__icon__bar:after {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-common-slide-toggle-panel__heading__text {
    font-size: 1rem;
    line-height: 1.4375;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-common-slide-toggle-panel__body {
    padding-left: 1.875rem
}

.p-common-tag-list {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -.25rem 0 0 -.5rem
}

@media only screen and (max-width:768px) {
    .p-common-tag-list {
        margin: -.25rem -.5rem
    }
}

.p-common-tag-list__item {
    margin: .25rem .5rem 0
}

@media only screen and (max-width:768px) {
    .p-common-tag-list__link {
        display: block;
        padding: .875rem 0 1.0625rem
    }
}

.p-company-directors-page-article-list {
    padding: 2.5rem 0 5rem
}

.p-company-directors-page-article-list__list {
    margin-top: -2.5rem
}

.p-company-directors-page-article-list__list__item {
    margin-top: 2.5rem
}

.p-company-directors-page-article-list__panel__heading__small {
    display: block;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.6
}

.p-company-directors-page-pagenavi {
    margin: 2.5rem 0 0
}

@media only screen and (max-width:768px) {
    .p-company-directors-page-pagenavi {
        margin: 1.25rem 0 0
    }
}

.p-company-directors-page-pagenavi__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media only screen and (max-width:768px) {
    .p-company-directors-page-pagenavi__list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

@media only screen and (max-width:768px) {
    .p-company-directors-page-pagenavi__list__item+.p-company-directors-page-pagenavi__list__item {
        margin: .625rem 0 0
    }
}

.p-company-directors-section {
    padding: 2.5rem 0
}

.p-company-directors-section__mv {
    position: relative
}

.p-company-directors-section__mv__image {
    min-height: 29rem;
    background-color: #dce0df;
    width: 100%;
    height: 0;
    padding: 0 0 25.92593%;
    position: relative;
    background-position: 50%;
    background-size: cover;
    background-repeat: no-repeat
}

@media only screen and (max-width:768px) {
    .p-company-directors-section__mv__image {
        background-position: 70% 50%;
        min-height: 17rem
    }
}

.p-company-directors-section__mv__image--kaoru-hayashi {
    background-image: url(/assets/img/company/directors/kaoru-hayashi.png)
}

.p-company-directors-section__mv__image--joi-ito {
    background-image: url(/assets/img/company/directors/joi-ito.png)
}

.p-company-directors-section__mv__image--keizo-odori {
    background-image: url(/assets/img/company/directors/keizo-odori.png)
}

.p-company-directors-section__mv__image--masashi-tanaka {
    background-image: url(/assets/img/company/directors/masashi-tanaka.png)
}

.p-company-directors-section__mv__image--masahito-okuma {
    background-image: url(/assets/img/company/directors/masahito-okuma.png)
}

.p-company-directors-section__mv__image--hiroshi-shino {
    background-image: url(/assets/img/company/directors/hiroshi-shino.png)
}

.p-company-directors-section__mv__image--emi-omura {
    background-image: url(/assets/img/company/directors/emi-omura.png)
}

.p-company-directors-section__mv__image--hiromi-ozaki {
    background-image: url(/assets/img/company/directors/hiromi-ozaki.png)
}

.p-company-directors-section__mv__image--makoto-sakai {
    background-image: url(/assets/img/company/directors/makoto-sakai.png)
}

.p-company-directors-section__mv__image--yasuyuki-rokuyata {
    background-image: url(/assets/img/company/directors/yasuyuki-rokuyata.png)
}

.p-company-directors-section__mv__image--junji-inoue {
    background-image: url(/assets/img/company/directors/junji-inoue.png)
}

.p-company-directors-section__mv__image--koji-makino {
    background-image: url(/assets/img/company/directors/koji-makino.png)
}

.p-company-directors-section__mv__image--shuma-uchino {
    background-image: url(/assets/img/company/directors/shuma-uchino.png)
}

.p-company-directors-section__mv__text {
    position: absolute;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.p-company-directors-section__mv__heading {
    padding: 0 5rem;
    position: relative
}

@media only screen and (max-width:768px) {
    .p-company-directors-section__mv__heading {
        padding: 8rem 2rem
    }
}

.p-company-directors-section__mv__heading__position {
    font-size: .875rem;
    font-weight: 700
}

@media only screen and (max-width:768px) {
    .p-company-directors-section__mv__heading__position {
        font-size: .8125rem
    }
}

.p-company-directors-section__mv__heading__position br {
    display: none
}

@media only screen and (max-width:768px) {
    .p-company-directors-section__mv__heading__position br {
        display: block
    }
}

.p-company-directors-section__mv__heading__english-name {
    font-size: 3rem;
    margin: .5rem 0 0;
    display: block;
    font-family: Oswald, Noto Sans JP, sans-serif
}

@media only screen and (max-width:768px) {
    .p-company-directors-section__mv__heading__english-name {
        font-size: 1.4rem;
        margin: .1rem 0 0
    }
}

.p-company-directors-section__mv__heading__name {
    font-size: 1.2rem;
    margin: .5rem 0 0;
    display: block;
    font-weight: 700
}

@media only screen and (max-width:768px) {
    .p-company-directors-section__mv__heading__name {
        font-size: 1rem;
        margin: .2rem 0 0
    }
}

.p-company-directors-section__header {
    margin: 5rem 0 0
}

.p-company-directors-section__body {
    margin: 2rem 0 0
}

@media screen and (max-width:413px) {
    .p-company-group-page-list__item {
        border-top: 1px solid #e0e0e0;
        padding: .625rem 0 0
    }
}

@media screen and (max-width:413px) {
    .p-company-group-page-list__item:first-child {
        border: none;
        padding: 0
    }
}

.p-company-history-page-image {
    text-align: center
}

.p-message-page-section__keyword {
    font-size: 2.25rem;
    font-family: Oswald, Noto Sans JP, sans-serif;
    letter-spacing: -.01em;
    line-height: 1.5;
    margin-top: 2.5rem
}

@media only screen and (max-width:768px) {
    .p-message-page-section__keyword {
        font-size: 1.5rem
    }
}

.p-message-page-section__footer {
    margin-top: 1.5rem;
    text-align: right
}

.p-message-page-section__sign {
    width: 6.8125rem;
    display: inline-block
}

.p-message-page-section__name {
    margin: .5rem 0 0;
    display: block
}

.p-company-office-page-map {
    width: 100%;
    height: 0;
    padding: 0 0 66.79389%;
    position: relative
}

.p-company-office-page-map iframe {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    border: 0
}

@media only screen and (max-width:768px) {
    .p-company-office-page-table {
        margin: 2.5rem 0 0
    }
}

.p-company-office-page-submap {
    width: 100%;
    height: 100%;
    padding: 1.5em 0 0;
    position: relative
}

.p-company-office-page-submap p {
    font-weight: 700
}

.p-company-office-page-submap img {
    margin-top: .6em;
    margin-bottom: .4em
}

.p-company-office-page-submap span {
    font-size: .7em
}

.p-company-philosophy-page-first-penguin-button {
    max-width: 15rem
}

.p-company-philosophy-page-first-penguin__heading__text {
    font-family: Oswald, Noto Sans JP, sans-serif;
    font-size: 2.25rem;
    line-height: 1.5
}

.p-company-philosophy-page-our-philosophy__text {
    font-size: 1.5rem;
    text-align: center;
    font-weight: 700
}

@media only screen and (max-width:768px) {
    .p-company-philosophy-page-our-philosophy__text {
        font-size: 1rem;
        text-align: left
    }
}

.p-company-philosophy-page-our-philosophy__text p {
    line-height: 2
}

.p-company-philosophy-page-our-philosophy__text p span {
    border-bottom: 3px solid
}

.p-company-philosophy-page-our-philosophy__slogan {
    background-image: url(/assets/img/company/philosophy/slogan_pc.jpg);
    background-size: cover;
    width: 98%;
    margin: 0 auto;
    height: 32vw;
    background-position: 50%
}

@media only screen and (max-width:768px) {
    .p-company-philosophy-page-our-philosophy__slogan {
        background-image: url(/assets/img/company/philosophy/slogan_sp.jpg);
        height: 94vw
    }
}

.p-contact-page-agree {
    padding: 0 0 1.75rem
}

@media only screen and (max-width:768px) {
    .p-contact-page-agree {
        text-align: center;
        padding: 0 0 1.5rem
    }
}

.p-contact-page-agree__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.p-contact-page-agree__checkbox {
    position: absolute;
    scale: 1.8;
    top: 2rem;
    bottom: 0;
    left: 3.125rem;
    height: 2.5rem;
    width: 2.5rem;
    margin: auto;
    display: block;
    pointer-events: none;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

@media only screen and (max-width:768px) {
    .p-contact-page-agree__checkbox {
        height: 1.75rem;
        width: 1.75rem;
        top: 0;
        left: 0
    }
}

.p-contact-page-agree__checkbox--checked {
    border-color: #007ae5
}

.p-contact-page-agree__checkbox__wrap {
    position: relative;
    margin: 1.5rem 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.p-contact-page-agree__checkbox__input {
    clip: rect(0, 0, 0, 0);
    pointer-events: none
}

.p-contact-page-agree__checkbox__icon {
    opacity: 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1.25rem;
    width: 1.25rem;
    margin: auto;
    display: block
}

@media only screen and (max-width:768px) {
    .p-contact-page-agree__checkbox__icon {
        height: 1rem;
        width: 1rem
    }
}

.p-contact-page-agree__checkbox__icon svg {
    height: 1.25rem;
    width: 1.25rem
}

@media only screen and (max-width:768px) {
    .p-contact-page-agree__checkbox__icon svg {
        height: 1rem;
        width: 1rem
    }
}

.p-contact-page-agree__checkbox__icon svg path {
    fill: #007ae5
}

.p-contact-page-agree__checkbox--checked .p-contact-page-agree__checkbox__icon {
    opacity: 1
}

.p-contact-page-agree__label {
    padding: 0 0 0 4.25rem;
    height: 2.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

@media only screen and (max-width:768px) {
    .p-contact-page-agree__label {
        padding: 0 0 0 3rem
    }
}

.p-contact-page-agree__label.tap {
    opacity: .7
}

.p-contact-page-agree__label__text {
    line-height: 1.5;
    margin-bottom: 2px
}

.p-contact-page-agree__leading {
    text-align: center
}

@media only screen and (max-width:768px) {
    .p-contact-page-agree__leading {
        text-align: left;
        display: inline-block;
        margin: 0 auto
    }
}

.p-contact-page-form-list {
    margin-top: 2rem
}

.p-contact-page-form-list__item,
.p-contact-page-form-list__item:first-of-type {
    margin: 0 0 2.5rem
}

.p-contact-page-form-list__required {
    color: #007ae5;
    display: inline-block;
    margin-left: -.125em
}

.p-contact-page-form-list__input,
.p-contact-page-form-list__textarea {
    width: 100%;
    padding: 1rem 1.125rem;
    border: 1px solid #333
}

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

    .p-contact-page-form-list__input,
    .p-contact-page-form-list__textarea {
        padding: .6875rem .75rem
    }
}

.p-contact-page-form-list__textarea {
    min-height: 21rem;
    resize: none
}

@media only screen and (max-width:768px) {
    .p-contact-page-form-list__textarea {
        min-height: 15.75rem
    }
}

.p-contact-page-form-list__checkbox__input {
    scale: 1.3;
    margin-right: .625rem
}

.p-contact-page-form-list__label__checkbox {
    display: inline-block;
    margin-right: .4375rem;
    margin-bottom: .625rem;
    border: 1px solid #333;
    border-radius: .625rem;
    padding: .75rem 1.25rem
}

@media only screen and (max-width:768px) {
    .p-contact-page-form-list__label__checkbox {
        display: block
    }
}

.p-contact-page-form-list__content {
    margin: .75rem 0 0
}

@media only screen and (max-width:768px) {
    .p-contact-page-form-list__content {
        margin: .375rem 0 0
    }
}

.p-contact-page-form-list__error {
    color: #eb5757;
    margin: .25rem 0 0
}

.p-contact-page-form-list__error--center {
    text-align: center
}

.p-contact-page-form-overview {
    margin: 0
}

.p-contact-page-form-overview__item {
    position: relative;
    padding: 0;
    display: inline-block
}

@media only screen and (max-width:768px) {
    .p-contact-page-form-overview__item {
        display: block
    }
}

.p-contact-page-form-overview__label {
    line-height: 1.625;
    padding: .25rem 5rem .25rem 0;
    display: block;
    cursor: pointer;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-contact-page-form-overview__label.tap {
    opacity: .7
}

.p-contact-page-form-overview__label__radio {
    display: inline-block;
    margin-right: .4375rem;
    margin-bottom: .625rem;
    border: 1px solid #333;
    border-radius: .625rem;
    padding: .75rem 1.25rem
}

@media only screen and (max-width:768px) {
    .p-contact-page-form-overview__label__radio {
        display: block
    }
}

.p-contact-page-form-overview__radio {
    position: absolute;
    top: .5rem;
    left: 0;
    height: 1.25rem;
    width: 1.25rem;
    border: 2px solid #e0e0e0;
    border-radius: 50%;
    display: block;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    pointer-events: none;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-contact-page-form-overview__radio--checked {
    border-color: #007ae5
}

.p-contact-page-form-overview__radio--checked:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: .625rem;
    width: .625rem;
    margin: auto;
    border-radius: 50%;
    background: #007ae5;
    display: block
}

.p-contact-page-form-overview__radio__input {
    clip: rect(0, 0, 0, 0);
    pointer-events: none;
    scale: 1.8;
    margin-right: .625rem
}

.p-contact-page-form input {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto
}

.p-contact-page-form .g-recaptcha {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.p-contact-page-form__body {
    padding: 4rem 0 0
}

@media only screen and (max-width:768px) {
    .p-contact-page-form__body {
        padding: 1.75rem 0 0
    }
}

.p-contact-page-form__body--sending {
    opacity: .3;
    cursor: wait
}

.p-contact-page-form__error-message {
    padding: 3.75rem 0 0
}

@media only screen and (max-width:768px) {
    .p-contact-page-form__error-message {
        padding: 2rem 0 0
    }
}

.p-contact-page-form__error-message__text {
    color: #d30000
}

.p-ir-ceo-page-mv {
    position: relative;
    background-color: #e0e0e0
}

@media only screen and (max-width:768px) {
    .p-ir-ceo-page-mv {
        margin: 1.875rem 0 0
    }
}

.p-ir-ceo-page-mv__image {
    width: 100%;
    height: 0;
    padding: 0 0 34.73945%;
    position: relative
}

.p-ir-ceo-page-mv__image img {
    display: block;
    -o-object-fit: cover;
    object-fit: cover
}

.p-ir-ceo-page-mv__image img,
.p-ir-ceo-page-mv__inner {
    width: 100%;
    height: 100%;
    position: absolute;
    margin: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.p-ir-ceo-page-mv__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

.p-ir-ceo-page-mv__header {
    width: 100%;
    padding: 1.875rem 3.75rem
}

@media only screen and (max-width:768px) {
    .p-ir-ceo-page-mv__header {
        padding: 1rem 1.125rem
    }
}

.p-ir-ceo-page-mv__header__info {
    padding: .125rem 0
}

.p-ir-ceo-page-mv__heading {
    font-size: 2.25rem;
    font-weight: 700
}

@media only screen and (max-width:768px) {
    .p-ir-ceo-page-mv__heading {
        font-size: 1.75rem
    }
}

.p-ir-ceo-page-mv__heading__name {
    font-size: 1em
}

.p-ir-ceo-page-mv__heading__position {
    font-size: .38889em
}

.p-ir-ceo-page-mv__heading__position--break {
    display: none
}

@media screen and (max-width:1080px) {
    .p-ir-ceo-page-mv__heading__position--break {
        display: block
    }
}

.p-common-slide-toggle-list__item:not(:first-child) {
    margin: .5rem 0 0
}

.p-ir-page-highlight-section .qirWrapper {
    max-width: 100%;
    margin: 0 auto
}

.p-ir-page-highlight-section .qirWrapper p:not(:first-child) {
    margin: 1.5em 0 0
}

.p-ir-page-highlight-section .qirColumn {
    max-width: 23.125rem;
    padding: 2.5rem 0
}

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

    .p-ir-page-highlight-section .qirColumn,
    .p-ir-page-highlight-section .qirColumn:nth-of-type(2),
    .p-ir-page-highlight-section .qirColumn:nth-of-type(2n) {
        float: none;
        margin: 0 auto
    }
}

.p-individual-investors-page-button-container {
    width: 100%;
    max-width: 19.125rem;
    min-width: 17.5rem;
    margin: 0 auto
}

.p-individual-investors-page-figures-grid-panel {
    width: 100%;
    height: calc(100% - 2.5rem);
    min-height: calc(100% - 2.5rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background-color: #f2f2f2;
    position: relative
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid-panel {
        height: 100%
    }
}

.p-individual-investors-page-figures-grid-panel--wide {
    height: 100%
}

.p-individual-investors-page-figures-grid-panel--wide .p-individual-investors-page-figures-grid-panel__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.p-individual-investors-page-figures-grid-panel--wide .p-individual-investors-page-figures-grid-panel__figures,
.p-individual-investors-page-figures-grid-panel--wide .p-individual-investors-page-figures-grid-panel__heading {
    text-align: left
}

.p-individual-investors-page-figures-grid-panel--wide .p-individual-investors-page-figures-grid-panel__figures__num {
    font-size: 7.91985vw
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid-panel--wide .p-individual-investors-page-figures-grid-panel__figures__num {
        font-size: 13.125vw
    }
}

.p-individual-investors-page-figures-grid-panel--wide .p-individual-investors-page-figures-grid-panel__image {
    margin: 0 3.05344vw 0 0
}

.p-individual-investors-page-figures-grid-panel__inner {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 2.67176vw 1.62214vw 3.05344vw
}

.p-individual-investors-page-figures-grid-panel__heading {
    font-size: 1.62214vw;
    font-weight: 500;
    text-align: center
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid-panel__heading {
        font-size: 3.75vw
    }
}

.p-individual-investors-page-figures-grid-panel__figures {
    text-align: center;
    margin: 1.52672vw 0 0
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid-panel__figures {
        margin: 2.5vw 0 0
    }
}

.p-individual-investors-page-figures-grid-panel__figures__num {
    font-size: 6.39313vw;
    color: #007ae5;
    font-family: Roboto Condensed, sans-serif
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid-panel__figures__num {
        font-size: 8.75vw
    }
}

.p-individual-investors-page-figures-grid-panel__figures__text {
    font-weight: 500
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid-panel__figures__text {
        font-size: 3.125vw
    }
}

.p-individual-investors-page-figures-grid-panel__image {
    margin: 1.52672vw 0 0
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid-panel__image {
        margin: 2.5vw 0 0
    }
}

.p-individual-investors-page-figures-grid-panel__image img {
    width: 100%;
    height: auto
}

.p-individual-investors-page-figures-grid-panel__image--1 {
    width: 12.69084vw;
    min-width: 12.69084vw
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid-panel__image--1 {
        width: 25vw;
        min-width: 25vw
    }
}

.p-individual-investors-page-figures-grid-panel__image--2 {
    width: 11.35496vw;
    min-width: 11.35496vw
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid-panel__image--2 {
        width: 20.3125vw;
        min-width: 20.3125vw
    }
}

.p-individual-investors-page-figures-grid-panel__image--3 {
    width: 10.30534vw;
    min-width: 10.30534vw
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid-panel__image--3 {
        width: 15.625vw;
        min-width: 15.625vw
    }
}

.p-individual-investors-page-figures-grid-panel__image--4 {
    width: 6.96565vw;
    min-width: 6.96565vw
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid-panel__image--4 {
        width: 10.9375vw;
        min-width: 10.9375vw
    }
}

.p-individual-investors-page-figures-grid-panel__image--6 {
    width: 5.82061vw;
    min-width: 5.82061vw
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid-panel__image--6 {
        width: 9.375vw;
        min-width: 9.375vw
    }
}

.p-individual-investors-page-figures-grid-panel__date {
    font-size: 1.14504vw;
    padding: .76336vw;
    position: absolute;
    bottom: 0;
    right: 0;
    text-align: right
}

@media screen and (max-width:1047px) {
    .p-individual-investors-page-figures-grid-panel__date {
        font-size: .75rem;
        padding: .5rem
    }
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid-panel__date {
        font-size: .625rem;
        padding: .125rem
    }
}

@media screen and (min-width:769px) and (max-width:1024px) {
    .p-individual-investors-page-figures-grid-panel__date {
        padding: .125rem
    }
}

.p-individual-investors-page-figures-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 25% 25% 25% 25%;
    grid-template-columns: 25% 25% 25% 25%;
    -ms-grid-rows: 26.4313vw 29.86641vw;
    grid-template-rows: 26.4313vw 29.86641vw;
    margin: -2.09924vw 0 0 -2.09924vw
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid {
        -ms-grid-columns: 50% 50%;
        grid-template-columns: 50% 50%;
        -ms-grid-rows: 47.43833vw 47.43833vw 47.43833vw calc(47.43833vw + 2.23571rem);
        grid-template-rows: 47.43833vw 47.43833vw 47.43833vw calc(47.43833vw + 2.23571rem)
    }
}

.p-individual-investors-page-figures-grid__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: 2.09924vw 0 0 2.09924vw
}

.p-individual-investors-page-figures-grid__item--1 {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid__item--1 {
        -ms-grid-column: 1;
        -ms-grid-column-span: 2;
        grid-column: 1/3;
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        grid-row: 1/2
    }
}

.p-individual-investors-page-figures-grid__item--2 {
    -ms-grid-column: 3;
    -ms-grid-column-span: 2;
    grid-column: 3/5;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid__item--2 {
        -ms-grid-column: 1;
        -ms-grid-column-span: 2;
        grid-column: 1/3;
        -ms-grid-row: 2;
        -ms-grid-row-span: 1;
        grid-row: 2/3
    }
}

.p-individual-investors-page-figures-grid__item--3 {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid__item--3 {
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
        grid-column: 1/2;
        -ms-grid-row: 3;
        -ms-grid-row-span: 1;
        grid-row: 3/4
    }
}

.p-individual-investors-page-figures-grid__item--4 {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid__item--4 {
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
        grid-column: 1/2;
        -ms-grid-row: 4;
        -ms-grid-row-span: 1;
        grid-row: 4/5
    }
}

.p-individual-investors-page-figures-grid__item--5 {
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
    grid-column: 3/4;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid__item--5 {
        -ms-grid-column: 2;
        -ms-grid-column-span: 1;
        grid-column: 2/3;
        -ms-grid-row: 3;
        -ms-grid-row-span: 1;
        grid-row: 3/4
    }
}

.p-individual-investors-page-figures-grid__item--6 {
    -ms-grid-column: 4;
    -ms-grid-column-span: 1;
    grid-column: 4/5;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-grid__item--6 {
        -ms-grid-column: 2;
        -ms-grid-column-span: 1;
        grid-column: 2/3;
        -ms-grid-row: 4;
        -ms-grid-row-span: 1;
        grid-row: 4/5
    }
}

.p-individual-investors-page-history-panel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    width: 100%;
    border: 1px solid #e0e0e0;
    background-color: #fff;
    -webkit-transition: all .3s ease-in;
    transition: all .3s ease-in
}

.p-individual-investors-page-history-panel__image {
    border-bottom: 1px solid #e0e0e0;
    -webkit-transition: all .3s ease-in;
    transition: all .3s ease-in;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto
}

.p-individual-investors-page-history-panel__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.p-individual-investors-page-history-panel__body__inner {
    width: 83.42857%;
    margin: 0 auto;
    padding: 1.5rem 0;
    -webkit-transition: all .3s ease-in;
    transition: all .3s ease-in
}

.p-individual-investors-page-history-panel__body__heading {
    font-size: 1.3125rem;
    line-height: 1.52381;
    font-weight: 700
}

.p-individual-investors-page-history-panel__body__heading+.p-individual-investors-page-history-panel__body__text {
    margin: .5rem 0 0
}

.p-individual-investors-page-history-panel__year {
    background-color: #333;
    margin: auto 0 0;
    padding: .625rem 1rem;
    text-align: center
}

.p-individual-investors-page-history-panel__year__text {
    color: #fff;
    font-weight: 700;
    font-size: 1rem
}

@media only screen and (min-width:769px) {
    .p-individual-investors-page-history-swiper .swiper-slide-active {
        -webkit-transform: scale(1.13);
        transform: scale(1.13)
    }
}

@media only screen and (min-width:769px) {
    .swiper-slide-active .p-individual-investors-page-history-panel {
        -webkit-box-shadow: 0 0 .625rem rgba(0, 54, 136, .25);
        box-shadow: 0 0 .625rem rgba(0, 54, 136, .25)
    }
}

@media only screen and (min-width:769px) {
    .swiper-slide-active .p-individual-investors-page-history-panel__image {
        padding: 1.5rem 0
    }
}

.p-individual-investors-page-history-swiper__item {
    -webkit-transition: all .3s ease-in;
    transition: all .3s ease-in
}

@media only screen and (min-width:769px) {
    .p-individual-investors-page-history-swiper__item {
        padding: 3.375rem 0
    }
}

.p-individual-investors-page-history-swiper__navi {
    margin: 1.25rem 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    z-index: 2
}

.p-individual-investors-page-history-swiper__navi__item+.p-individual-investors-page-history-swiper__navi__item {
    margin: 0 0 0 1rem
}

.p-individual-investors-page-history-swiper__pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -1rem 0 0 -2.5rem
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-history-swiper__pagination {
        margin: 0
    }
}

.p-individual-investors-page-history-swiper__pagination .swiper-pagination-bullet {
    width: 2.5rem;
    height: 2.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: transparent;
    opacity: 1;
    margin: 1rem 0 0 2.5rem
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-history-swiper__pagination .swiper-pagination-bullet {
        width: 1.5rem;
        height: 1.5rem;
        margin: 0;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.p-individual-investors-page-history-swiper__pagination .swiper-pagination-bullet:before {
    content: "";
    display: block;
    width: .625rem;
    height: .625rem;
    background-color: #bdbdbd;
    border-radius: 50%;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-individual-investors-page-history-swiper__pagination .swiper-pagination-bullet .year {
    display: block;
    color: #bdbdbd;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-individual-investors-page-history-swiper__pagination .swiper-pagination-bullet-active:before {
    background-color: #333
}

.p-individual-investors-page-history-swiper__pagination .swiper-pagination-bullet-active .year {
    color: #333
}

.p-individual-investors-page-history-swiper__button {
    width: 1.5rem;
    height: 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: .375rem 0 0
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-history-swiper__button {
        margin: 0
    }
}

.p-individual-investors-page-history-swiper__button .svg {
    display: block
}

.p-individual-investors-page-history-swiper__button .fill {
    fill: #bdbdbd
}

.p-individual-investors-page-segment-grid-panel {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.p-individual-investors-page-segment-grid-panel--ft {
    background-color: #e9f5ee
}

.p-individual-investors-page-segment-grid-panel--flex_grow {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.p-individual-investors-page-segment-grid-panel--ft .p-individual-investors-page-segment-grid-panel__figures__num {
    color: #219653
}

.p-individual-investors-page-segment-grid-panel--mt {
    background-color: #e6f0fa
}

.p-individual-investors-page-segment-grid-panel--mt .p-individual-investors-page-segment-grid-panel__figures__num {
    color: #0065cb
}

.p-individual-investors-page-segment-grid-panel--it {
    background-color: #f5eefc
}

.p-individual-investors-page-segment-grid-panel--it .p-individual-investors-page-segment-grid-panel__figures__num {
    color: #9b51e0
}

.p-individual-investors-page-segment-grid-panel__heading {
    font-size: 1.62214vw;
    font-weight: 500;
    text-align: center
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-segment-grid-panel__heading {
        font-size: 3.75vw
    }
}

.p-individual-investors-page-segment-grid-panel__image {
    text-align: center;
    margin: 1.52672vw auto 0;
    display: block
}

.p-individual-investors-page-segment-grid-panel__image--ft1 {
    width: 5.91603vw;
    min-width: 5.91603vw
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-segment-grid-panel__image--ft1 {
        width: 10vw;
        min-width: 10vw
    }
}

.p-individual-investors-page-segment-grid-panel__image--ft2 {
    width: 9.44656vw;
    min-width: 9.44656vw
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-segment-grid-panel__image--ft2 {
        width: 15.625vw;
        min-width: 15.625vw
    }
}

.p-individual-investors-page-segment-grid-panel__image--mt {
    width: 8.49237vw;
    min-width: 8.49237vw
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-segment-grid-panel__image--mt {
        width: 14.0625vw;
        min-width: 14.0625vw
    }
}

.p-individual-investors-page-segment-grid-panel__image--it {
    width: 7.15649vw;
    min-width: 7.15649vw
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-segment-grid-panel__image--it {
        width: 11.5625vw;
        min-width: 11.5625vw
    }
}

.p-individual-investors-page-segment-grid-panel__figures {
    text-align: center;
    margin: 1.52672vw 0 0
}

.p-individual-investors-page-segment-grid-panel__figures__num {
    font-size: 5.34351vw;
    font-family: Roboto Condensed, sans-serif;
    letter-spacing: -.04em
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-segment-grid-panel__figures__num {
        font-size: 8.75vw
    }
}

.p-individual-investors-page-segment-grid-panel__figures__text {
    font-size: 1.71756vw;
    font-weight: 500;
    text-align: left;
    padding: 0 .38168vw;
    line-height: 1.1
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-segment-grid-panel__figures__text {
        font-size: 3.125vw
    }
}

.p-individual-investors-page-segment-grid-panel__date {
    font-size: 1.14504vw;
    padding: .76336vw;
    position: absolute;
    bottom: 0;
    right: 0;
    text-align: right
}

@media screen and (max-width:1047px) {
    .p-individual-investors-page-segment-grid-panel__date {
        font-size: .75rem;
        padding: .5rem
    }
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-segment-grid-panel__date {
        font-size: .625rem
    }
}

@media screen and (min-width:769px) and (max-width:1024px) {
    .p-individual-investors-page-segment-grid-panel__date {
        padding: .125rem
    }
}

.p-individual-investors-page-segment-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 25% 25% 25% 25%;
    grid-template-columns: 25% 25% 25% 25%;
    -ms-grid-rows: 26.4313vw;
    grid-template-rows: 26.4313vw;
    margin: -2.09924vw 0 0 -2.09924vw
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-segment-grid {
        -ms-grid-columns: 50% 50%;
        grid-template-columns: 50% 50%;
        -ms-grid-rows: 47.43833vw 47.43833vw;
        grid-template-rows: 47.43833vw 47.43833vw
    }
}

.p-individual-investors-page-segment-grid__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: 2.09924vw 0 0 2.09924vw;
    position: relative
}

.p-individual-investors-page-segment-grid__item--ft {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    -ms-grid-row: 1;
    grid-row: 1/1;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-segment-grid__item--ft {
        -ms-grid-column: 1;
        -ms-grid-column-span: 2;
        grid-column: 1/3;
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        grid-row: 1/2
    }
}

.p-individual-investors-page-segment-grid__item--ft .p-individual-investors-page-segment-grid__item__header {
    background-color: #cbe7d7
}

.p-individual-investors-page-segment-grid__item--ft .p-individual-investors-page-segment-grid__item__heading {
    color: #219653
}

.p-individual-investors-page-segment-grid__item--mt {
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
    grid-column: 3/4;
    -ms-grid-row: 1;
    grid-row: 1/1
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-segment-grid__item--mt {
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
        grid-column: 1/2;
        -ms-grid-row: 2;
        -ms-grid-row-span: 1;
        grid-row: 2/3
    }
}

.p-individual-investors-page-segment-grid__item--mt .p-individual-investors-page-segment-grid__item__header {
    background-color: #c3dbf3
}

.p-individual-investors-page-segment-grid__item--mt .p-individual-investors-page-segment-grid__item__heading {
    color: #007ae5
}

.p-individual-investors-page-segment-grid__item--it {
    -ms-grid-column: 4;
    -ms-grid-column-span: 1;
    grid-column: 4/5;
    -ms-grid-row: 1;
    grid-row: 1/1
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-segment-grid__item--it {
        -ms-grid-column: 2;
        -ms-grid-column-span: 1;
        grid-column: 2/3;
        -ms-grid-row: 2;
        -ms-grid-row-span: 1;
        grid-row: 2/3
    }
}

.p-individual-investors-page-segment-grid__item--it .p-individual-investors-page-segment-grid__item__header {
    background-color: #e7d6f8
}

.p-individual-investors-page-segment-grid__item--it .p-individual-investors-page-segment-grid__item__heading {
    color: #9b51e0
}

.p-individual-investors-page-segment-grid__item__header {
    width: 11.92748vw;
    height: 2.67176vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    position: absolute
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-segment-grid__item__header {
        width: 25vw;
        height: 6.25vw
    }
}

.p-individual-investors-page-segment-grid__item__heading {
    font-size: 1.4313vw;
    font-weight: 500
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-segment-grid__item__heading {
        font-size: 3.125vw
    }
}

.p-individual-investors-page-figures-female-employee {
    width: 13.54962vw;
    min-width: 13.54962vw;
    height: 13.54962vw;
    min-height: 13.54962vw;
    margin: 1.52672vw 0 0;
    position: relative
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-female-employee {
        width: 19.375vw;
        min-width: 19.375vw;
        height: 19.375vw;
        min-height: 19.375vw;
        margin: 2.5vw 0 0
    }
}

@media screen and (min-width:769px) and (max-width:1024px) {
    .p-individual-investors-page-figures-female-employee {
        width: 11.45038vw;
        min-width: 11.45038vw;
        height: 11.45038vw;
        min-height: 11.45038vw
    }
}

.p-individual-investors-page-figures-female-employee__figures {
    width: 100%;
    height: 7.15649vw;
    position: absolute;
    margin: auto;
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    -webkit-transform: scale(.65);
    transform: scale(.65)
}

@media only screen and (max-width:768px) {
    .p-individual-investors-page-figures-female-employee__figures {
        -webkit-transform: scale(.7);
        transform: scale(.7)
    }
}

.p-individual-investors-page-figures-female-employee__image {
    width: 100%;
    height: 100%;
    position: absolute;
    margin: auto;
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1
}

.p-ir-library-page-latest-docs__heading {
    padding: 1.25rem 0
}

.p-ir-library-page-report-list {
    margin: 0 0 0 -1.125rem
}

.p-ir-library-page-report-list__item {
    position: relative;
    display: inline
}

@media only screen and (max-width:768px) {
    .p-ir-library-page-report-list__item {
        display: block
    }
}

.p-ir-library-page-report-list__item:not(:nth-of-type(5n+1)):before {
    content: "";
    display: block;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1px;
    height: 1em;
    background-color: #e0e0e0
}

.p-ir-library-page-report-list__link {
    color: #333;
    padding: 0 1.125rem
}

@media only screen and (max-width:768px) {
    .p-ir-library-page-report-list__link {
        font-size: .8125rem;
        padding: .625rem 1.125rem
    }
}

.p-ir-news-page-archive-section {
    padding: 0 0 2.5rem
}

.p-ir-news-page-archive-section__link {
    padding: .75rem .625rem;
    display: block
}

.p-ir-news-page-archive-section__link.tap .p-ir-news-page-archive-section__link__text {
    color: #007ae5
}

.p-ir-news-page-archive-section__link__text {
    font-size: .875rem;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-ir-stock-price-page-section iframe {
    width: 100%
}

.p-ir-page-contact__heading {
    text-align: center;
    letter-spacing: .03em
}

.p-ir-page-contact__body {
    width: 13.75rem;
    margin: 0 auto;
    padding: 1.125rem 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.p-ir-page-local-page-navi-footer-panel__image {
    width: 100%;
    height: 0;
    padding: 0 0 38.20225%;
    overflow: hidden;
    position: relative
}

.p-ir-page-local-page-navi-footer-panel__image img {
    width: 100%;
    height: 100%;
    position: absolute;
    margin: auto;
    bottom: 0;
    left: 0;
    right: 0;
    -o-object-fit: cover;
    object-fit: cover
}

.p-ir-page-local-page-navi-footer-panel__body {
    margin: 1.25rem 0 0
}

.p-ir-page-local-page-navi-footer-panel__list {
    margin: .5rem 0 0
}

.p-ir-page-local-page-navi-footer-panel__link {
    padding: .1875rem 0;
    display: block;
    line-height: 1.6
}

@media only screen and (max-width:768px) {
    .p-ir-page-local-page-navi-footer-panel__link {
        padding: 1rem 0
    }
}

.p-ir-page-local-page-navi-footer-panel__link.tap {
    color: #007ae5
}

.p-ir-page-local-page-navi-footer-panel__link__text {
    font-size: .875rem
}

@media only screen and (max-width:768px) {
    .p-ir-page-local-page-navi-footer {
        display: none
    }
}

.p-ir-page-local-page-navi-footer:last-child {
    padding-bottom: 0
}

.p-ir-page-sidebar-banner-sub-title {
    width: 100%;
    margin: .5rem 0 0
}

.p-ir-page-sidebar-banner-sub-title,
.p-ir-page-sidebar-banner-sub-title__icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.p-ir-page-sidebar-banner-sub-title__icon {
    width: .9375rem;
    height: .9375rem;
    line-height: 1
}

@media only screen and (max-width:768px) {
    .p-ir-page-sidebar-banner-sub-title__icon {
        width: 1.25rem;
        height: 1.25rem
    }
}

.p-ir-page-sidebar-banner-sub-title__icon img {
    width: 1.25rem;
    height: 1.25rem;
    display: block
}

.p-ir-page-sidebar-banner-sub-title__text {
    color: #69c2ff;
    font-family: Oswald, Noto Sans JP, sans-serif;
    display: block;
    margin: 0 0 0 .3125rem;
    line-height: 1;
    font-size: 1.0625rem;
    letter-spacing: .03em
}

@media only screen and (max-width:768px) {
    .p-ir-page-sidebar-banner-sub-title__text {
        font-size: 1.5rem
    }
}

@media screen and (max-width:414px) {
    .p-ir-page-sidebar-banner-sub-title__text {
        font-size: 1.25rem
    }
}

.p-ir-page-local-page-financial-results-briefing-video iframe {
    width: 100%;
    height: 42rem
}

@media only screen and (max-width:768px) {
    .p-ir-page-local-page-financial-results-briefing-video iframe {
        height: 27rem
    }
}

.ir-footer-share-button .p-common-footer-share-button__col__pdf {
    display: none
}

.p-pr-page-header-section-search-panel {
    width: 100%;
    border: 1px solid #333
}

.p-pr-page-header-section-search-panel__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.p-pr-page-header-section-search-panel__input {
    font-size: 1rem;
    line-height: 2.75;
    width: 100%;
    padding: 0 0 1px 1rem
}

.p-pr-page-header-section-search-panel__button {
    color: #fff;
    background-color: #333;
    margin-right: 0;
    padding: .625rem .625rem .4375rem;
    display: block;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-pr-page-header-section-search-panel__button.tap {
    opacity: .7
}

.p-pr-page-header-section-search-panel__icon {
    width: 24px;
    height: 24px;
    display: block
}

.p-pr-page-pager-section {
    padding: 1.75rem 0 2.5rem
}

.p-pr-page-pager-section__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.p-pr-page-pager-section__item--more {
    padding: .5rem .25rem;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none
}

@media only screen and (max-width:768px) {
    .p-pr-page-pager-section__item--more {
        padding: .8125rem
    }
}

.p-pr-page-pager-section__item--current .p-pr-page-pager-section__link__text {
    background-color: #f2f2f2
}

.p-pr-page-pager-section__link {
    padding: .5rem
}

@media only screen and (max-width:768px) {
    .p-pr-page-pager-section__link {
        padding: .8125rem
    }
}

.p-pr-page-pager-section__link__arrow {
    height: 1.5rem;
    width: 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.p-pr-page-pager-section__link__arrow .fill {
    fill: #bdbdbd;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

.p-pr-page-pager-section__link__text {
    font-size: .6875rem;
    font-weight: 700;
    text-align: center;
    line-height: 1;
    min-width: 1.4375rem;
    padding: .3125rem .1875rem .375rem;
    border: 1px solid #333;
    background: #fff;
    display: block
}

.p-pr-page-pager-section__link--disabled {
    padding: .5rem;
    opacity: .25
}

@media only screen and (max-width:768px) {
    .p-pr-page-pager-section__link--disabled {
        padding: .8125rem
    }
}

.p-pr-page-pick-up {
    width: 100%
}

.p-pr-page-pick-up__image {
    margin-left: 0
}

@media only screen and (max-width:768px) {
    .p-pr-page-pick-up__image {
        width: 100%
    }
}

@media only screen and (max-width:768px) {
    .p-pr-page-pick-up__content {
        width: 100%;
        margin: 1.5rem 0 0
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-bar-vertical-decoration {
        position: relative
    }
}

.p-top-page-bar-vertical-decoration__bar {
    width: 2px;
    height: 10rem;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    margin: 0 auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (max-width:768px) {
    .p-top-page-bar-vertical-decoration__bar {
        height: 5rem
    }
}

.p-top-page-bar-vertical-decoration__bar__inner {
    width: 100%;
    height: 0;
    position: absolute;
    margin: auto;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    background-color: #828282
}

.p-top-page-contents {
    position: relative;
    background-color: #fff
}

.p-top-page-featured-topics-link__text {
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in
}

@media only screen and (min-width:769px) {
    .p-top-page-featured-topics-link:hover .p-top-page-featured-topics-link__text {
        color: #007ae5
    }
}

.p-top-page-featured-topics-panel {
    position: relative
}

.p-top-page-featured-topics-panel:before {
    width: calc(100% + 35px);
    height: calc(100% + 35px);
    left: -17px;
    top: 0
}

.p-top-page-featured-topics__inner {
    background-color: #f5f6f6
}

@media only screen and (min-width:769px) {
    .p-top-page-featured-topics__inner {
        padding: 3.25rem 0 9.8125rem
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-featured-topics__inner {
        padding: 5rem 0 7.25rem
    }
}

.p-top-page-featured-topics__heading {
    text-align: center
}

@media only screen and (min-width:769px) {
    .p-top-page-featured-topics__body {
        margin: 3.25rem 0 0
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-featured-topics__body {
        margin: 2.1875rem 0 0
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-featured-topics__body__swiper {
        padding: 1.875rem 1.875rem 0
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-featured-topics__list {
        padding: 4.5625rem 0 0
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-featured-topics__list {
        padding: 2.5rem 0 0
    }
}

.p-top-page-embedded-feature-topics {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background-image: url(/assets/img/top/feature/smart-plate.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    width: 18.875rem;
    height: 39.5rem;
    z-index: 1
}

@media only screen and (min-width:769px) {
    .p-top-page-embedded-feature-topics {
        margin-top: 7.5rem
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-embedded-feature-topics {
        top: auto;
        right: auto;
        bottom: 0;
        left: 50%;
        -webkit-transform: translate(-50%, 12%);
        transform: translate(-50%, 12%)
    }
}

.p-top-page-embedded-feature-topics__contents {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    width: 17rem;
    height: auto;
    min-height: 30.875rem;
    margin: 2.375rem 0 0 1rem;
    border-radius: 1.5625rem;
    overflow: hidden;
    text-align: center;
    z-index: 1
}

.p-top-page-embedded-feature-topics__contents__href {
    display: block;
    text-decoration: none
}

.p-top-page-embedded-feature-topics__contents__image {
    min-width: 16rem;
    min-height: 15.375rem
}

.p-top-page-embedded-feature-topics__contents__image>img {
    height: 100% !important
}

.p-top-page-embedded-feature-topics__contents__text {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: .8125rem;
    font-weight: 700;
    line-height: 1.375rem;
    letter-spacing: -.02em;
    width: 100%;
    height: 4.625rem;
    margin: 2.375rem 0 0;
    white-space: break-spaces
}

.p-top-page-embedded-feature-topics__contents__logo,
.p-top-page-embedded-feature-topics__contents__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.p-top-page-embedded-feature-topics__contents__logo {
    height: 5rem
}

.p-top-page-embedded-feature-topics__contents__logo>img {
    width: 100%
}

.p-top-page-embedded-feature-topics__contents__actions {
    margin: 0
}

.p-top-page-embedded-feature-topics__contents__actions--next,
.p-top-page-embedded-feature-topics__contents__actions--prev {
    background-image: url(/assets/img/top/feature/arrow.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: .5rem;
    width: 1.625rem;
    height: 1.625rem;
    border-radius: 50%;
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
    cursor: pointer
}

.p-top-page-embedded-feature-topics__contents__actions--next:hover,
.p-top-page-embedded-feature-topics__contents__actions--prev:hover {
    background-color: hsla(0, 0%, 82.7%, .5)
}

.p-top-page-embedded-feature-topics__contents__actions--prev {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.p-top-page-main-visual-news-swiper {
    position: relative;
    z-index: 999
}

.p-top-page-main-visual-news-swiper__container {
    position: relative
}

.p-top-page-main-visual-news-swiper__navi {
    position: absolute;
    right: 3.125rem;
    top: 0;
    height: 100%;
    width: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: 10
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-news-swiper__navi {
        right: 0
    }
}

.p-top-page-main-visual-news-swiper__navi__item {
    width: 50%
}

.p-top-page-main-visual-news-swiper__button {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.p-top-page-main-visual-news-swiper__button__arrow {
    height: 20px
}

.p-top-page-main-visual-news-swiper__button__arrow .fill {
    fill: #bdbdbd
}

.p-top-page-main-visual-news {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    text-align: left;
    -webkit-transform: translateY(82px);
    transform: translateY(82px);
    background-color: rgba(0, 0, 0, .7);
    z-index: 1
}

.p-top-page-main-visual-news__link {
    color: #e0e0e0;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative
}

@media only screen and (min-width:769px) {
    .p-top-page-main-visual-news__link {
        padding: .8125rem .75rem .8125rem 1.625rem
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-news__link {
        padding: .5rem 0;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

.p-top-page-main-visual-news__link.tap {
    color: #fff
}

.p-top-page-main-visual-news__body {
    width: calc(100% - 6.25rem);
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-news__body {
        width: calc(100% - 5rem);
        padding: 0
    }
}

.p-top-page-main-visual-news__body__text {
    line-height: 1.375;
    word-wrap: break-word
}

.p-top-page-main-visual-panel {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-panel {
        height: calc(100% + 32px)
    }
}

.p-top-page-main-visual-panel__bg {
    width: 100%;
    height: 100%;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0
}

@media only screen and (min-width:769px) {
    .p-top-page-main-visual-panel__bg {
        background-attachment: fixed
    }
}

.p-top-page-main-visual-panel__bg__fullscreen {
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
    margin: auto
}

.p-top-page-main-visual-panel__bg__image {
    background-position: 50%
}

.p-top-page-main-visual-panel__bg--2 .p-top-page-main-visual-panel__bg__image {
    background-position: top
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-panel__bg--2 .p-top-page-main-visual-panel__bg__image {
        background-position: 25% top
    }
}

.p-top-page-main-visual-panel__bg--3 .p-top-page-main-visual-panel__bg__image {
    background-position: top
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-panel__bg--3 .p-top-page-main-visual-panel__bg__image {
        background-position: 75% top
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-panel__bg--5 {
        background-position: top;
        top: -5vh;
        height: 100%
    }
}

.p-top-page-main-visual-panel__inner {
    color: #fff;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    position: relative;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.p-top-page-main-visual-panel__inner--reverse_color {
    color: #333
}

.p-top-page-main-visual-panel__inner--center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-panel__inner--center .p-top-page-main-visual-panel__descript {
        margin: 0 auto
    }
}

.p-top-page-main-visual-panel__inner--right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.p-top-page-main-visual-panel__inner--left {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.p-top-page-main-visual-panel__inner--embedded-feature {
    position: absolute;
    left: .875rem;
    top: 0;
    right: 0
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-panel__inner--embedded-feature {
        left: auto;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        padding-top: 7rem;
        text-align: center
    }
}

.p-top-page-main-visual-panel__content {
    width: 40rem
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-panel__content {
        width: 100%
    }
}

.p-top-page-main-visual-panel__content--wide {
    width: auto
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-panel__content--wide {
        width: 100%
    }
}

.p-top-page-main-visual-panel__descript {
    padding: .5rem 0 0;
    margin: 0 auto;
    display: block
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-panel__descript {
        width: 86.15385vw;
        min-width: 17.25rem;
        margin: 0
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-main-visual-panel__descript__text {
        width: 40rem
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-panel__descript__text {
        width: 86.15385vw;
        min-width: 17.25rem
    }
}

.p-top-page-main-visual-panel__heading {
    font-family: Montserrat, Noto Sans JP, sans-serif;
    font-weight: 500;
    line-height: 0;
    letter-spacing: .01em;
    -webkit-font-feature-settings: "kern"off;
    font-feature-settings: "kern"off
}

@media only screen and (min-width:769px) {
    .p-top-page-main-visual-panel__heading {
        font-size: 2.9rem;
        margin-top: 5.625rem
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-panel__heading {
        font-size: 2.5rem
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-main-visual-panel__heading--large {
        font-size: 5rem
    }
}

.p-top-page-main-visual-panel__heading__sub-text {
    font-size: .35714em;
    font-weight: 600;
    line-height: 1.125;
    margin-left: .5rem
}

@media screen and (max-width:767px) {
    .p-top-page-main-visual-panel__heading__sub-text {
        font-size: .90625rem;
        margin: .5rem 0 0;
        font-size: 14.5px
    }
}

@media screen and (min-width:769px) and (max-width:1024px) {
    .p-top-page-main-visual-panel__heading__sub-text {
        font-size: .875rem;
        letter-spacing: -.025em
    }
}

.p-top-page-main-visual-panel__heading__text {
    font-size: 1.25em;
    line-height: 1.125;
    font-weight: 700
}

@media screen and (max-width:767px) {
    .p-top-page-main-visual-panel__heading__text {
        font-size: 13vw;
        line-height: 95%;
        letter-spacing: -.025em
    }
}

@media screen and (min-width:769px) and (max-width:1024px) {
    .p-top-page-main-visual-panel__heading__text {
        font-size: 4.5rem;
        letter-spacing: -.025em
    }
}

.p-top-page-main-visual-panel__heading__text--small {
    letter-spacing: -.025em;
    font-size: .75em;
    line-height: 1.5;
    font-weight: 700
}

.p-top-page-main-visual-panel__heading__text>span {
    padding: .25rem;
    line-height: 95%
}

.p-top-page-main-visual-panel__content__item {
    padding: 1.625rem 0 0
}

@media only screen and (min-width:769px) {
    .p-top-page-main-visual-panel__list {
        padding: 2.25rem 0 0
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-panel__list {
        padding: 1.625rem 0 0;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-main-visual-panel__list__item+.p-top-page-main-visual-panel__list__item {
        margin: 0 0 0 2.5rem
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-panel__list__item+.p-top-page-main-visual-panel__list__item {
        margin: .5rem 0 0
    }
}

.p-top-page-main-visual-panel__list__item--default_button {
    width: 15rem
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-panel__list__item--default_button {
        width: 100%
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual-pangaea {
        text-align: center
    }
}

.p-top-page-main-visual-scroll {
    width: 1.375rem;
    display: block;
    margin: auto;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    text-align: center
}

.p-top-page-main-visual-scroll__text {
    color: #fff;
    font-family: Oswald, Noto Sans JP, sans-serif;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: .75rem;
    margin: 0 0 .3125rem;
    font-weight: 500
}

.p-top-page-main-visual-scroll__bar {
    width: 2px;
    height: 80px;
    position: relative;
    margin: 0 auto;
    overflow: hidden
}

.p-top-page-main-visual-scroll__bar__inner {
    width: 100%;
    position: absolute;
    margin: auto;
    bottom: 0;
    left: 0;
    right: 0
}

.p-top-page-main-visual-scroll__bar__inner--base {
    top: 0;
    height: 100%;
    background-color: #fff
}

.p-top-page-main-visual-scroll__bar__inner--slide {
    height: 10px;
    -webkit-transform: translateY(-88px);
    transform: translateY(-88px);
    background-color: #007ae5;
    -webkit-animation: scrollbar-animation 2s ease-in 1s infinite;
    animation: scrollbar-animation 2s ease-in 1s infinite
}

@-webkit-keyframes scrollbar-animation {
    0% {
        -webkit-transform: translateY(-88px);
        transform: translateY(-88px)
    }

    to {
        -webkit-transform: translateY(88px);
        transform: translateY(88px)
    }
}

@keyframes scrollbar-animation {
    0% {
        -webkit-transform: translateY(-88px);
        transform: translateY(-88px)
    }

    to {
        -webkit-transform: translateY(88px);
        transform: translateY(88px)
    }
}

.p-top-page-main-visual {
    position: relative
}

@media only screen and (min-width:769px) {
    .p-top-page-main-visual {
        margin: -5rem 0 0
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual {
        margin: -2.5rem 0 0
    }
}

.p-top-page-main-visual__list {
    width: 100%
}

.p-top-page-main-visual__list__item {
    width: 100%;
    height: calc(160px + 45vh);
    position: relative
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual__list__item {
        height: 100vh
    }
}

.p-top-page-main-visual__list__item--high {
    height: 55vh
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual__list__item--high {
        height: 100vh
    }
}

.p-top-page-main-visual__list__item--higher {
    height: 85vh
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual__list__item--higher {
        height: 48rem
    }
}

.p-top-page-main-visual__title {
    position: absolute;
    top: 0;
    left: .875rem;
    right: 0
}

.p-top-page-main-visual__caption {
    position: absolute;
    bottom: 2rem;
    left: .875rem;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    font-size: 12px;
    line-height: 15px;
    font-family: Montserrat, Noto Sans JP, sans-serif;
    font-weight: 700;
    letter-spacing: .01em;
    text-transform: uppercase;
    -webkit-font-feature-settings: "kern"off;
    font-feature-settings: "kern"off
}

.p-top-page-main-visual__caption>*+* {
    margin-left: .5rem
}

.p-top-page-main-visual__caption__icon {
    width: 32px;
    height: 32px
}

.p-top-page-main-visual__caption__text>*+* {
    margin-top: .25rem
}

@media only screen and (min-width:769px) {
    .p-top-page-news-section__inner {
        padding: 3rem 0 5rem
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-news-section__inner {
        padding: 6.25rem 0
    }
}

.p-top-page-news-section__heading {
    text-align: center;
    display: block
}

@media only screen and (min-width:769px) {
    .p-top-page-news-section__body {
        margin: 2rem 0 0
    }
}

.p-top-page-news-section__footer {
    margin: 2.5rem 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (min-width:769px) {
    .p-top-page-slogan-section {
        padding: 5rem 0
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-slogan-section {
        padding: 2.5rem 0 7.5rem
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-slogan-section__col {
        max-width: 76.25rem;
        margin: 0 auto;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }
}

.p-top-page-slogan-section__content {
    width: 100%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

@media only screen and (max-width:768px) {
    .p-top-page-slogan-section__header {
        text-align: center
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-slogan-section__body {
        padding: .625rem 0 0
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-slogan-section__body {
        padding: .5rem 0 0
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-slogan-section__body__text {
        max-width: 30rem;
        margin: 0 auto
    }
}

.p-top-page-slogan-section__body__button {
    text-align: center
}

@media only screen and (min-width:769px) {
    .p-top-page-slogan-section__body__button__inner {
        margin: 2.5rem 0 0
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-slogan-section__body__button__inner {
        margin: 1.5rem 0 0
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-slogan-section__image {
        width: 22.5rem;
        min-width: 22.5rem;
        margin: 0 3.75rem 0 0
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-slogan-section__image {
        margin: 5rem 0 0;
        text-align: center
    }
}

.p-top-page-who-we-are-panel {
    display: block;
    width: 100%;
    overflow: hidden
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are-panel {
        height: 100%;
        position: absolute;
        margin: auto;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0
    }
}

.p-top-page-who-we-are-panel.tap .p-top-page-who-we-are-panel__bg img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

.p-top-page-who-we-are-panel__bg {
    width: 100%;
    display: block;
    overflow: hidden
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are-panel__bg {
        height: 100%;
        position: absolute;
        margin: auto;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-who-we-are-panel__bg {
        position: relative
    }
}

.p-top-page-who-we-are-panel__bg:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #000;
    opacity: .3;
    margin: auto;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0
}

.p-top-page-who-we-are-panel__bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    -webkit-transition: -webkit-transform .15s ease-in;
    transition: -webkit-transform .15s ease-in;
    transition: transform .15s ease-in;
    transition: transform .15s ease-in, -webkit-transform .15s ease-in
}

.p-top-page-who-we-are-panel__header {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.p-top-page-who-we-are-panel__header__inner {
    text-align: center
}

.p-top-page-who-we-are-panel__heading {
    font-family: Oswald, Noto Sans JP, sans-serif;
    color: #fff;
    font-weight: 400
}

@media screen and (min-width:1681px) {
    .p-top-page-who-we-are-panel__heading {
        font-size: 2.22222vw
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are-panel__heading {
        font-size: 2rem
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-who-we-are-panel__heading {
        font-size: 1.25rem
    }
}

.p-top-page-who-we-are-panel__heading__text {
    font-size: 1em;
    line-height: 1.3
}

.p-top-page-who-we-are-panel__heading__sub-text {
    display: block;
    line-height: 1.6;
    margin: .5rem 0 0
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are-panel__heading__sub-text {
        font-size: .5625em
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-who-we-are-panel__heading__sub-text {
        font-size: .7em
    }
}

@media screen and (min-width:1681px) {
    .p-top-page-who-we-are-panel__heading--large {
        font-size: 3.33333vw
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are-panel__heading--large {
        font-size: 3rem
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-who-we-are-panel__heading--large {
        font-size: 2rem
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are-panel__heading--large .p-top-page-who-we-are-panel__heading__sub-text {
        font-size: .5em
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-who-we-are-panel__heading--large .p-top-page-who-we-are-panel__heading__sub-text {
        font-size: .625em
    }
}

.p-top-page-who-we-are-panel__arrow {
    position: absolute
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are-panel__arrow {
        right: 1.5rem;
        bottom: 1.5rem
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-who-we-are-panel__arrow {
        right: .5rem;
        bottom: .5rem
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-who-we-are-panel__arrow--large_whitespace {
        right: 1rem;
        bottom: 1rem
    }
}

.p-top-page-who-we-are__header {
    text-align: center
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are__header {
        padding: 6.5rem 0 5rem
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-who-we-are__header {
        padding: 4rem 0 3.75rem
    }
}

.p-top-page-who-we-are__header__descript {
    margin: 0 auto;
    text-align: left
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are__header__descript {
        max-width: 52.5rem;
        padding: 1rem 0 0
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-who-we-are__header__descript {
        max-width: 30rem;
        padding: 1.5rem 0 0
    }
}

@media screen and (min-width:769px) and (max-width:1680px) {
    .p-top-page-who-we-are__list {
        -ms-grid-columns: 25% 25% 25% 25%;
        grid-template-columns: 25% 25% 25% 25%;
        -ms-grid-rows: 15rem 15rem 15rem;
        grid-template-rows: 15rem 15rem 15rem
    }
}

@media screen and (min-width:1681px) {
    .p-top-page-who-we-are__list {
        -ms-grid-columns: 25vw 25vw 25vw 25vw;
        grid-template-columns: 25vw 25vw 25vw 25vw;
        -ms-grid-rows: 16.66667vw 16.66667vw 16.66667vw;
        grid-template-rows: 16.66667vw 16.66667vw 16.66667vw
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are__list {
        display: -ms-grid;
        display: grid;
        padding: 1px
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-who-we-are__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 1px
    }
}

.p-top-page-who-we-are__list__item {
    position: relative;
    display: block;
    border: 1px solid #fff
}

@media only screen and (max-width:768px) {
    .p-top-page-who-we-are__list__item {
        width: 50%
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are__list__item--1 {
        -ms-grid-column: 1;
        -ms-grid-column-span: 2;
        grid-column: 1/3;
        -ms-grid-row: 1;
        -ms-grid-row-span: 2;
        grid-row: 1/3
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-who-we-are__list__item--1 {
        width: 100%
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are__list__item--2 {
        -ms-grid-column: 3;
        -ms-grid-column-span: 1;
        grid-column: 3/4;
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        grid-row: 1/2
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are__list__item--3 {
        -ms-grid-column: 4;
        -ms-grid-column-span: 1;
        grid-column: 4/5;
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        grid-row: 1/2
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are__list__item--4 {
        -ms-grid-column: 3;
        -ms-grid-column-span: 1;
        grid-column: 3/4;
        -ms-grid-row: 2;
        -ms-grid-row-span: 1;
        grid-row: 2/3
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are__list__item--5 {
        -ms-grid-column: 4;
        -ms-grid-column-span: 1;
        grid-column: 4/5;
        -ms-grid-row: 2;
        -ms-grid-row-span: 1;
        grid-row: 2/3
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are__list__item--6 {
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
        grid-column: 1/2;
        -ms-grid-row: 3;
        -ms-grid-row-span: 1;
        grid-row: 3/4
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are__list__item--7 {
        -ms-grid-column: 2;
        -ms-grid-column-span: 1;
        grid-column: 2/3;
        -ms-grid-row: 3;
        -ms-grid-row-span: 1;
        grid-row: 3/4
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are__list__item--8 {
        -ms-grid-column: 3;
        -ms-grid-column-span: 1;
        grid-column: 3/4;
        -ms-grid-row: 3;
        -ms-grid-row-span: 1;
        grid-row: 3/4
    }
}

@media only screen and (min-width:769px) {
    .p-top-page-who-we-are__list__item--9 {
        -ms-grid-column: 4;
        -ms-grid-column-span: 1;
        grid-column: 4/5;
        -ms-grid-row: 3;
        -ms-grid-row-span: 1;
        grid-row: 3/4
    }
}

.p-top-page-dg-financial-technology-main-visual .p-top-page-main-visual__wrapper>div {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden
}

.p-top-page-dg-financial-technology-main-visual .p-top-page-main-visual-panel__bg__image {
    background-image: url(/assets/img/top/hero/hero-pc13.jpg);
    background-size: cover;
    height: 110%;
    width: 100%;
    position: relative;
    top: -48%;
    overflow: hidden
}

@media only screen and (max-width:768px) {
    .p-top-page-dg-financial-technology-main-visual .p-top-page-main-visual-panel__bg__image {
        background-image: url(/assets/img/top/hero/hero-sp13.jpg)
    }
}

.p-top-page-dg-financial-technology-main-visual .p-top-page-main-visual-panel__heading__sub-text,
.p-top-page-dg-financial-technology-main-visual .p-top-page-main-visual-panel__heading__text {
    font-family: YakuHanJP, Noto Sans JP, sans-serif
}

.p-top-page-dg-financial-technology-main-visual .p-top-page-main-visual-panel__heading__text {
    font-size: 2.5rem
}

@media only screen and (max-width:768px) {
    .p-top-page-dg-financial-technology-main-visual .p-top-page-main-visual-panel__heading__text {
        font-size: 2.4rem;
        padding: .25rem 0
    }
}

.p-top-page-dg-financial-technology-main-visual .p-top-page-main-visual-panel__heading__sub-text {
    font-size: 1.2rem;
    margin-bottom: 8px;
    letter-spacing: -1px;
    line-height: 141%
}

@media only screen and (max-width:768px) {
    .p-top-page-dg-financial-technology-main-visual .p-top-page-main-visual-panel__heading__sub-text {
        font-size: 1rem;
        margin: 0
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-main-visual__list__item--higher {
        height: 73rem
    }
}

@media only screen and (max-width:768px) {
    .p-top-page-dg-movie-main-visual {
        padding-top: 2.2rem
    }
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual__wrapper {
    height: 80vh;
    overflow: hidden;
    max-width: 100%;
    position: relative;
    background: #000
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual__wrapper iframe.pc {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual__wrapper iframe.sp,
.p-top-page-dg-movie-main-visual .p-top-page-main-visual__wrapper img.sp {
    display: none
}

@media only screen and (max-width:768px) {
    .p-top-page-dg-movie-main-visual .p-top-page-main-visual__wrapper {
        height: 173vw
    }

    .p-top-page-dg-movie-main-visual .p-top-page-main-visual__wrapper iframe.sp {
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
        display: block
    }

    .p-top-page-dg-movie-main-visual .p-top-page-main-visual__wrapper iframe.pc {
        display: none
    }

    .p-top-page-dg-movie-main-visual .p-top-page-main-visual__wrapper img.sp {
        display: block
    }

    .p-top-page-dg-movie-main-visual .p-top-page-main-visual__wrapper img.pc {
        display: none
    }
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__catch,
.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__h1,
.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__slogan {
    font-weight: 600
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__catch span.en,
.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__h1 span.en,
.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__slogan span.en {
    font-family: Helvetica Neue, sans-serif
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__catch {
    font-size: 1rem
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__catch .c-common-label-new {
    width: 2.5rem;
    min-width: 2.5rem;
    height: 1.2rem;
    line-height: 1.1rem;
    vertical-align: top;
    display: inline-block;
    margin-top: .1rem;
    margin-right: .4rem
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__catch .small {
    font-size: 1.2rem
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__catch br.sp {
    display: none
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__catch a:active,
.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__catch a:link,
.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__catch a:visited {
    color: #fff
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__catch a:hover {
    opacity: .6
}

@media only screen and (max-width:768px) {
    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__catch {
        font-size: 1rem
    }

    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__catch br.pc {
        display: none
    }

    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__catch br.sp {
        display: block
    }
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__h1 {
    font-size: 2.5rem;
    line-height: 1;
    margin: .5rem 0 .1rem
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__h1 a:active,
.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__h1 a:link,
.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__h1 a:visited {
    color: #fff
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__h1 a:hover {
    opacity: .6
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__h1 h1 {
    font-weight: 600;
    line-height: 100%
}

@media only screen and (max-width:768px) {
    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__h1 {
        font-size: 1.8rem;
        margin: .3rem 0
    }

    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__h1 h1 {
        font-size: 2rem
    }
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__slogan {
    font-size: 1.8rem
}

@media only screen and (max-width:768px) {
    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__slogan {
        font-size: 1rem
    }
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__explanation {
    margin-top: 1.8rem;
    margin-bottom: .5rem
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__explanation img {
    width: 36vw
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__explanation a:hover {
    opacity: .6
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__explanation .pc {
    display: block
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__explanation .sp {
    display: none
}

@media only screen and (max-width:768px) {
    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__explanation {
        margin-top: .8rem;
        margin-bottom: 0
    }

    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__explanation img {
        width: 63vw
    }

    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__explanation .pc {
        display: none
    }

    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__explanation .sp {
        display: block
    }
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__book {
    margin-left: -2vw
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__book img {
    width: 43vw
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__book .pc {
    display: block
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__book .sp {
    display: none
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__book a:hover {
    opacity: .7
}

@media only screen and (max-width:768px) {
    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__book {
        margin-left: -5vw
    }

    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__book img {
        width: 89vw
    }

    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__book .pc {
        display: none
    }

    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__book .sp {
        display: block
    }
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__content--wide {
    z-index: 1
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__cm {
    margin-top: 0
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__cm a,
.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__cm img {
    width: 380px
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__cm a:hover {
    opacity: .7
}

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

    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__cm a,
    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__cm img {
        width: 100%
    }
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__earthshot {
    margin-top: 1rem
}

@media only screen and (max-width:768px) {
    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__earthshot {
        margin-top: 21rem
    }
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__earthshot a,
.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__earthshot img {
    width: 380px
}

.p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__earthshot a:hover {
    opacity: .7
}

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

    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__earthshot a,
    .p-top-page-dg-movie-main-visual .p-top-page-main-visual-panel__heading__earthshot img {
        width: 100%
    }
}

.u-bg-color {
    background-color: #f2f2f2
}

@media only screen and (min-width:769px) {
    .u-bg-color--pc {
        background-color: #f2f2f2
    }
}

@media only screen and (max-width:768px) {
    .u-bg-color--sp {
        background-color: #f2f2f2
    }
}

.u-inline-block {
    display: inline-block
}

@media only screen and (max-width:768px) {
    .u-inline-block--sp {
        display: inline-block
    }
}

@media only screen and (min-width:769px) {
    .u-inline-block--sp {
        display: none
    }
}

@media only screen and (max-width:768px) {
    .u-inline-block--pc {
        display: none
    }
}

@media only screen and (min-width:769px) {
    .u-inline-block--pc {
        display: inline-block
    }
}

.u-block {
    display: block
}

@media only screen and (max-width:768px) {
    .u-block--sp {
        display: block
    }
}

@media only screen and (min-width:769px) {
    .u-block--sp {
        display: none
    }
}

@media only screen and (max-width:768px) {
    .u-block--pc {
        display: none
    }
}

@media only screen and (min-width:769px) {
    .u-block--pc {
        display: block
    }
}

.u-none {
    display: none
}

@media only screen and (max-width:768px) {
    .u-none--sp {
        display: none
    }
}

@media only screen and (min-width:769px) {
    .u-none--pc {
        display: none
    }
}

.u-flex--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

@media only screen and (min-width:769px) {
    .u-flex--reverse--pc {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }
}

@media only screen and (max-width:768px) {
    .u-flex--reverse--sp {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }
}

.u-flex--col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

@media only screen and (min-width:769px) {
    .u-flex--col--pc {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

@media only screen and (max-width:768px) {
    .u-flex--col--sp {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

.u-flex--col_reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse
}

@media only screen and (min-width:769px) {
    .u-flex--col_reverse--pc {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }
}

@media only screen and (max-width:768px) {
    .u-flex--col_reverse--sp {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }
}

.u-flex__jc--sb {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media only screen and (min-width:769px) {
    .u-flex__jc--sb--pc {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media only screen and (max-width:768px) {
    .u-flex__jc--sb--sp {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

.u-flex__jc--c {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (min-width:769px) {
    .u-flex__jc--c--pc {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

@media only screen and (max-width:768px) {
    .u-flex__jc--c--sp {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.u-flex__jc--end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

@media only screen and (min-width:769px) {
    .u-flex__jc--end--pc {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

@media only screen and (max-width:768px) {
    .u-flex__jc--end--sp {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

.u-flex__jc--start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

@media only screen and (min-width:769px) {
    .u-flex__jc--start--pc {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}

@media only screen and (max-width:768px) {
    .u-flex__jc--start--sp {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}

.u-flex__ai--c {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (min-width:769px) {
    .u-flex__ai--c--pc {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}

@media only screen and (max-width:768px) {
    .u-flex__ai--c--sp {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}

.u-flex__ai--end {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

@media only screen and (min-width:769px) {
    .u-flex__ai--end--pc {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end
    }
}

@media only screen and (max-width:768px) {
    .u-flex__ai--end--sp {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end
    }
}

.u-flex__wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (min-width:769px) {
    .u-flex__wrap--pc {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media only screen and (max-width:768px) {
    .u-flex__wrap--sp {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

.u-common-font-tiny,
.u-common-font-tiny>p {
    font-size: .86875em
}

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

    .u-common-font-tiny,
    .u-common-font-tiny>p {
        font-size: .85714em
    }
}

.u-common-font-small,
.u-common-font-small>p {
    font-size: .875em
}

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

    .u-common-font-small,
    .u-common-font-small>p {
        font-size: .85714em
    }
}

.u-common-font-large,
.u-common-font-large>p {
    font-size: 1.125em
}

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

    .u-common-font-large,
    .u-common-font-large>p {
        font-size: 1.14286em
    }
}

.u-common-font-weight-bold {
    font-weight: 700
}

@media only screen and (min-width:769px) {
    .u-common-font-weight-bold--pc {
        font-weight: 700
    }
}

@media only screen and (max-width:768px) {
    .u-common-font-weight-bold--sp {
        font-weight: 700
    }
}

.u-common-font-weight-bold--medium {
    font-weight: 500
}

@media only screen and (min-width:769px) {
    .u-common-font-weight-bold--medium--pc {
        font-weight: 500
    }
}

@media only screen and (max-width:768px) {
    .u-common-font-weight-bold--medium--sp {
        font-weight: 500
    }
}

.u-common-font-weight-normal {
    font-weight: 400
}

@media only screen and (min-width:769px) {
    .u-common-font-weight-normal--pc {
        font-weight: 400
    }
}

@media only screen and (max-width:768px) {
    .u-common-font-weight-normal--sp {
        font-weight: 400
    }
}

.u-position--relative {
    position: relative
}

@media only screen and (min-width:769px) {
    .u-position--relative--pc {
        position: relative
    }
}

@media only screen and (max-width:768px) {
    .u-position--relative--sp {
        position: relative
    }
}

.u-rotate-45--r {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

@media only screen and (min-width:769px) {
    .u-rotate-45--r--pc {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }
}

@media only screen and (max-width:768px) {
    .u-rotate-45--r--sp {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }
}

.u-rotate-45--b {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg)
}

@media only screen and (min-width:769px) {
    .u-rotate-45--b--pc {
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg)
    }
}

@media only screen and (max-width:768px) {
    .u-rotate-45--b--sp {
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg)
    }
}

.u-rotate-45--l {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg)
}

@media only screen and (min-width:769px) {
    .u-rotate-45--l--pc {
        -webkit-transform: rotate(-135deg);
        transform: rotate(-135deg)
    }
}

@media only screen and (max-width:768px) {
    .u-rotate-45--l--sp {
        -webkit-transform: rotate(-135deg);
        transform: rotate(-135deg)
    }
}

.u-rotate-45--t {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

@media only screen and (min-width:769px) {
    .u-rotate-45--t--pc {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }
}

@media only screen and (max-width:768px) {
    .u-rotate-45--t--sp {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }
}

.u-text-align--center {
    text-align: center
}

@media only screen and (min-width:769px) {
    .u-text-align--center--pc {
        text-align: center
    }
}

@media only screen and (max-width:768px) {
    .u-text-align--center--sp {
        text-align: center
    }
}

.u-text-align--right {
    text-align: right
}

@media only screen and (min-width:769px) {
    .u-text-align--right--pc {
        text-align: right
    }
}

@media only screen and (max-width:768px) {
    .u-text-align--right--sp {
        text-align: right
    }
}

.u-margin-bottom--2rem {
    margin-bottom: 2rem
}

.sustainability img {
    text-align: center;
}

.sustainability p {
    margin: 40px 0;
}

.sustainability ul li {
    list-style: disc;
    text-align: left;
    margin: 20px 0;
    margin-left: 20px;
    /* インデントをつける例 */
}