@charset "utf-8";

/*!
Theme Name: HP Theme
Theme URI:
Description:
Author: ADRIATIC
Author URI: http://www.adriatic-web.com/
Version: 1.0
*/

/*! Yaku Han JP v3.4.1 (OFL-1.1 AND MIT) by Qrac */

/*! Type: YakuHanJP - Based on Noto Sans CJK JP */
@font-face {
    font-display: swap;
    font-family: YakuHanJP;
    font-style: normal;
    font-weight: 100;
    src: url(assets/fonts/YakuHanJP/YakuHanJP-Thin.eot);
    src: url(assets/fonts/YakuHanJP/YakuHanJP-Thin.woff2) format("woff2"), url(assets/fonts/YakuHanJP/YakuHanJP-Thin.woff) format("woff");
    unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

@font-face {
    font-display: swap;
    font-family: YakuHanJP;
    font-style: normal;
    font-weight: 200;
    src: url(assets/fonts/YakuHanJP/YakuHanJP-Light.eot);
    src: url(assets/fonts/YakuHanJP/YakuHanJP-Light.woff2) format("woff2"), url(assets/fonts/YakuHanJP/YakuHanJP-Light.woff) format("woff");
    unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

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

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

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

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

@font-face {
    font-display: swap;
    font-family: YakuHanJP;
    font-style: normal;
    font-weight: 900;
    src: url(assets/fonts/YakuHanJP/YakuHanJP-Black.eot);
    src: url(assets/fonts/YakuHanJP/YakuHanJP-Black.woff2) format("woff2"), url(assets/fonts/YakuHanJP/YakuHanJP-Black.woff) format("woff");
    unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
    -webkit-text-size-adjust: 100%;
    box-sizing: border-box;
    tab-size: 4;
    word-break: normal
}

*,
:after,
:before {
    background-repeat: no-repeat;
    box-sizing: inherit
}

:after,
:before {
    text-decoration: inherit;
    vertical-align: inherit
}

* {
    margin: 0;
    padding: 0
}

hr {
    color: inherit;
    height: 0;
    overflow: visible
}

details,
main {
    display: block
}

summary {
    display: list-item
}

small {
    font-size: 80%
}

[hidden] {
    display: none
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

a:active,
a:hover {
    outline-width: 0
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace
}

pre {
    font-size: 1em
}

b,
strong {
    font-weight: bolder
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    border-color: inherit;
    text-indent: 0
}

input {
    border-radius: 0
}

[disabled] {
    cursor: default
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

textarea {
    overflow: auto;
    resize: vertical
}

button,
input,
optgroup,
select,
textarea {
    font: inherit
}

optgroup {
    font-weight: 700
}

button {
    overflow: visible
}

button,
select {
    text-transform: none
}

[role=button],
[type=button],
[type=reset],
[type=submit],
button {
    color: inherit;
    cursor: pointer
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

[type=reset],
[type=submit],
button,
html [type=button] {
    -webkit-appearance: button
}

button,
input,
select,
textarea {
    background-color: transparent;
    border-style: none
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
    outline-width: 0
}

select {
    -moz-appearance: none;
    -webkit-appearance: none
}

select::-ms-expand {
    display: none
}

select::-ms-value {
    color: currentColor
}

legend {
    border: 0;
    color: inherit;
    display: table;
    max-width: 100%;
    white-space: normal
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    color: inherit;
    font: inherit
}

img {
    border-style: none
}

progress {
    vertical-align: baseline
}

[aria-busy=true] {
    cursor: progress
}

[aria-controls] {
    cursor: pointer
}

[aria-disabled=true] {
    cursor: default
}

main {
    display: block
}

html {
    background: #fff;
    color: #1a1a1a;
    font-size: 1.06667vw;
    line-height: 1.8
}

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

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

@media screen and (max-width:1280px) {
    html {
        font-size: 90%
    }
}

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

@media screen and (max-width:415px) {
    html {
        font-size: 90%
    }
}

@media screen and (max-width:320px) {
    html {
        font-size: 85%
    }
}

body {
    font-feature-settings: "palt";
    tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: YakuHanJP, Noto Sans JP, sans-serif;
    letter-spacing: .06em;
    text-align: center
}

:after,
:before,
a,
article,
aside,
body,
div,
dl,
footer,
header,
main,
nav,
p,
section,
ul {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

a {
    background-color: transparent;
    border: 0;
    color: #1a1a1a;
    overflow: hidden;
    text-decoration: none
}

a:active,
a:hover {
    outline: 0
}

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

img {
    border: 0;
    height: auto;
    line-height: 0px;
    vertical-align: bottom;
    width: 100%
}

svg {
    display: block
}

img[src$=".svg"],
svg {
    max-width: 100%
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
    font-weight: 400
}

ol,
ul {
    list-style-type: none
}

em,
strong {
    font-style: normal;
    font-weight: 500
}

a,
input[type=button],
input[type=submit] {
    -webkit-tap-highlight-color: rgba(255, 255, 255, .2)
}

::selection {
    background-color: rgba(51, 153, 255, .4)
}

/*! locomotive-scroll v4.1.2 | MIT License | https://github.com/locomotivemtl/locomotive-scroll */
html.has-scroll-smooth {
    overflow: hidden
}

html.has-scroll-dragging {
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.has-scroll-smooth body {
    overflow: hidden
}

.has-scroll-smooth [data-scroll-container] {
    min-height: 100vh
}

[data-scroll-direction=horizontal] [data-scroll-container] {
    display: inline-block;
    height: 100vh;
    white-space: nowrap
}

[data-scroll-direction=horizontal] [data-scroll-section] {
    display: inline-block;
    height: 100%;
    vertical-align: top;
    white-space: nowrap
}

.c-scrollbar {
    height: 100%;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform-origin: center right;
    transition: transform .3s, opacity .3s;
    width: 11px
}

.c-scrollbar:hover {
    transform: scaleX(1.45)
}

.c-scrollbar:hover,
.has-scroll-dragging .c-scrollbar,
.has-scroll-scrolling .c-scrollbar {
    opacity: 1
}

[data-scroll-direction=horizontal] .c-scrollbar {
    bottom: 0;
    height: 10px;
    top: auto;
    transform: scaleY(1);
    width: 100%
}

[data-scroll-direction=horizontal] .c-scrollbar:hover {
    transform: scaleY(1.3)
}

.c-scrollbar_thumb {
    background-color: #000;
    border-radius: 10px;
    cursor: grab;
    margin: 2px;
    opacity: .5;
    position: absolute;
    right: 0;
    top: 0;
    width: 7px
}

.has-scroll-dragging .c-scrollbar_thumb {
    cursor: grabbing
}

[data-scroll-direction=horizontal] .c-scrollbar_thumb {
    bottom: 0;
    right: auto
}

@font-face {
    font-family: swiper-icons;
    font-style: normal;
    font-weight: 400;
    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")
}

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

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

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

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

.swiper-pointer-events {
    touch-action: pan-y
}

.swiper-pointer-events.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    height: 100%;
    position: relative;
    transition-property: transform;
    width: 100%
}

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

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

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

.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

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

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

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(270deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(90deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(0deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(180deg, rgba(0, 0, 0, .5), transparent)
}

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

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

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

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

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

.swiper-centered>.swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-horizontal>.swiper-wrapper:before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-vertical>.swiper-wrapper:before {
    height: var(--swiper-centered-offset-after);
    min-width: 1px;
    width: 100%
}

.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center
}

.swiper-virtual.swiper-css-mode .swiper-wrapper:after {
    content: "";
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after {
    height: 1px;
    width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after {
    height: var(--swiper-virtual-size);
    width: 1px
}

.swiper-button-next,
.swiper-button-prev {
    align-items: center;
    color: #007aff;
    cursor: pointer;
    display: flex;
    height: 44px;
    justify-content: center;
    margin-top: -22px;
    position: absolute;
    top: 50%;
    width: 27px;
    z-index: 10
}

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

.swiper-button-next:after,
.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: 44px;
    font-variant: normal;
    letter-spacing: 0;
    line-height: 1;
    text-transform: none !important;
    text-transform: none
}

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

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

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

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

.swiper-button-lock {
    display: none
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.swiper-pagination-bullet:only-child {
    display: none !important
}

.swiper-pagination-bullet-active {
    background: #007aff;
    opacity: 1
}

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

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

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

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

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

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

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

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

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

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #007aff;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: scale(0);
    transform-origin: left top;
    width: 100%
}

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

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

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

.swiper-pagination-lock {
    display: none
}

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

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

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

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

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

.swiper-scrollbar-lock {
    display: none
}

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

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

.swiper-slide-zoomed {
    cursor: move
}

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

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

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

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

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

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

.swiper-grid>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
    flex-direction: column;
    flex-wrap: wrap
}

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

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

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

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

.swiper-cube {
    overflow: visible
}

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

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

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

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

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

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

.swiper-cube .swiper-cube-shadow {
    bottom: 0;
    height: 100%;
    left: 0;
    opacity: .6;
    position: absolute;
    width: 100%;
    z-index: 0
}

.swiper-cube .swiper-cube-shadow:before {
    background: #000;
    bottom: 0;
    content: "";
    filter: blur(50px);
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.swiper-flip {
    overflow: visible
}

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

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

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

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

.swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height
}

.swiper-cards {
    overflow: visible
}

.swiper-cards .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transform-origin: center bottom
}

.swiper-wrapper {
    box-sizing: inherit
}

.swiper-pagination {
    position: static;
    text-align: left
}

.swiper-pagination-bullet {
    background: #fff;
    height: .4375em;
    opacity: 1;
    width: .4375em
}

.swiper-pagination-bullet:not(:first-of-type) {
    margin-left: .8125em
}

.swiper-pagination-bullet:focus {
    outline: 0
}

.swiper-pagination-bullet-active {
    background: #1a1a1a
}

.swiper-scrollbar {
    background-color: #c8c8c8;
    border-radius: 0;
    height: 2px
}

.swiper-scrollbar-drag {
    background-color: #0069B7;
    border-radius: 0
}

.c-scrollbar {
    z-index: 100
}

.c-scrollbar_thumb {
    background-color: #0069B7;
    opacity: 1
}

html.is-popupopen {
    overflow: hidden
}

.bw-ie #l-body {
    overflow-x: hidden
}

#l-wrapper {
    overflow: hidden
}

:is(#l-wrapper.is-menuopen, #l-wrapper.is-popupopen) #l-container,
:is(#l-wrapper.is-menuopen, #l-wrapper.is-popupopen) #l-footer {
    left: 0;
    position: fixed;
    width: 100%
}

#l-main.is-new {
    left: 0;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    visibility: hidden;
    width: 100%;
    z-index: 96
}

#l-main.is-old {
    position: relative;
    z-index: 95
}

[data-scroll-container] {
    will-change: transform
}

@media screen and (max-width:1024px) {
    [data-scroll-container] {
        will-change: auto
    }
}

.u-section {
    margin: 0 auto;
    max-width: 68.75em;
    text-align: left;
    width: 80%
}

@media screen and (max-width:750px) {
    .u-section {
        width: 86.66667%
    }
}

.u-section.is-narrow {
    max-width: 61.25em;
    width: 80%
}

@media screen and (max-width:750px) {
    .u-section.is-narrow {
        width: 86.66667%
    }
}

.u-gothic {
    font-family: Midashi Go MB31, YuGothic, Yu Gothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, sans-serif;
    font-weight: 700
}

.u-gothic.is-mid {
    font-weight: 500
}

.u-montserrat {
    font-family: Montserrat, sans-serif;
    font-weight: 700
}

.u-montserrat.is-semibold {
    font-weight: 600
}

.u-oranienbaum {
    font-family: Oranienbaum, serif
}

.u-mincho {
    font-family: YuMincho, 游明朝, Hiragino Mincho ProN, HGS明朝B, ＭＳ Ｐ明朝, serif;
    font-weight: 600
}

.u-times {
    font-family: Times New Roman, Garamond, YuMincho, 游明朝, Hiragino Mincho ProN, HGS明朝B, ＭＳ Ｐ明朝, serif
}

.u-targetline__txt {
    border-bottom: 1px solid #1a1a1a
}

.u-targetline.is-line .u-targetline__txt {
    border: 0
}

@media (any-hover:hover) {
    .u-target {
        transition: opacity .3s cubic-bezier(.23, 1, .32, 1)
    }

    .u-target:hover {
        opacity: .6
    }

    .u-targetcolor {
        transition: color .3s cubic-bezier(.23, 1, .32, 1)
    }

    .u-targetcolor:hover {
        color: #0069B7
    }

    .u-targetline__txt {
        border: 0;
        position: relative
    }

    .u-targetline__txt:after {
        background-color: #1a1a1a;
        bottom: 0;
        content: "";
        display: block;
        height: 1px;
        left: 0;
        position: absolute;
        width: 100%
    }

    .u-targetline.is-line .u-targetline__txt:after {
        transform: scaleX(0)
    }

    .u-targetline:hover .u-targetline__txt:after {
        animation-duration: .6s;
        animation-name: lineanim;
        animation-timing-function: ease
    }

    .u-targetline.is-line .u-targetline__txt:after {
        transform-origin: top right;
        transition: transform .3s cubic-bezier(.23, 1, .32, 1)
    }

    .u-targetline.is-line:hover .u-targetline__txt:after {
        animation: none;
        transform: scale(1);
        transform-origin: top left
    }

    @keyframes lineanim {
        0% {
            transform: scale(1);
            transform-origin: top right
        }

        50% {
            transform: scaleX(0);
            transform-origin: top right
        }

        51% {
            transform: scaleX(0);
            transform-origin: top left
        }

        to {
            transform: scale(1);
            transform-origin: top left
        }
    }
}

.u-animateblock {
    opacity: 0;
    visibility: hidden
}

.u-bg {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover
}

.u-vt {
    font-feature-settings: "pkna";
    display: block;
    line-height: 1;
    width: 1em;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

@media (orientation:landscape) {
    .u-vt {
        white-space: nowrap
    }
}

.u-vt.is-multi {
    line-height: 1.5;
    width: auto
}

.u-imgcover {
    object-fit: cover
}

.u-nolink {
    opacity: .4;
    pointer-events: none
}

.c-img {
    background-color: hsla(0, 0%, 88%, .2);
    position: relative
}

.c-img.is-nobg {
    background-color: transparent
}

.c-img__body {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: block;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity .6s cubic-bezier(.455, .03, .515, .955) .1s;
    visibility: hidden;
    width: 100%
}

.c-img__body.c-target__imgBody {
    transition: opacity .6s cubic-bezier(.455, .03, .515, .955) .1s, transform .4s cubic-bezier(.455, .03, .515, .955)
}

.c-img__body[data-loaded=true] {
    opacity: 1;
    visibility: visible
}

.c-img__body.is-first {
    transition: none
}

img.c-img__body {
    object-fit: cover
}

.c-target {
    display: block
}

@media (any-hover:hover) {
    .c-target__img {
        overflow: hidden
    }

    .c-target__imgBody {
        transition: transform .3s cubic-bezier(.23, 1, .32, 1);
        will-change: transform
    }

    .c-target:hover .c-target__imgBody {
        transform: scale(1.03);
        will-change: auto
    }
}

.c-title {
    display: inline-flex;
    flex-direction: column
}

@media screen and (max-width:415px) {
    .c-title {
        font-size: .9em
    }
}

.c-title__en,
.c-title__jp {
    color: #0069B7;
    display: block
}

.c-title__en {
    align-self: flex-end;
    font-size: .875em;
    line-height: 1;
    margin-bottom: .57143em;
    opacity: .2;
    text-transform: uppercase
}

.c-title__jp {
    font-size: 2em;
    letter-spacing: .1em;
    line-height: 1.3
}

.c-title__jp.is-narrow {
    font-size: 1.75em
}

.c-numtitle {
    color: #0069B7;
    display: flex;
    font-size: 1.3125em
}

@media screen and (max-width:415px) {
    .c-numtitle {
        font-size: 1.125em
    }
}

.c-numtitle__num,
.c-numtitle__txt {
    align-items: center;
    display: flex;
    line-height: 1.5
}

.c-numtitle__num {
    border-right: 1px solid #ccc;
    margin-right: 1em;
    padding-right: 1em
}

.c-wisywig a {
    color: #0068b7;
    text-decoration: underline
}

.c-wisywig strong {
    font-weight: 600
}

.c-wisywig em {
    font-style: italic;
    font-weight: 500
}

.c-wisywig h1,
.c-wisywig h2,
.c-wisywig h3,
.c-wisywig h4,
.c-wisywig h5 {
    color: #0069B7;
    font-family: Midashi Go MB31, YuGothic, Yu Gothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, sans-serif;
    font-size: 1.25em;
    font-weight: 700;
    line-height: 1.4;
    margin: 2.25em 0
}

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

    .c-wisywig h1,
    .c-wisywig h2,
    .c-wisywig h3,
    .c-wisywig h4,
    .c-wisywig h5 {
        font-size: 1.125em;
        margin-top: 1.5em
    }
}

.c-wisywig h1 {
    display: flex;
    font-size: 1.625em;
    margin: 1.34615em 0 1.73077em
}

.c-wisywig h1:first-child {
    margin-top: 0
}

@media screen and (max-width:415px) {
    .c-wisywig h1 {
        font-size: 1.4625em;
        margin-top: 1.07692em
    }
}

.c-wisywig h1:before {
    background-color: #0069B7;
    content: "";
    display: block;
    flex-shrink: 0;
    height: 2px;
    margin: .6em 1em 0 0;
    width: 1.11538em
}

@media screen and (max-width:415px) {
    .c-wisywig h1:before {
        margin-right: .5em;
        width: 1.00385em
    }
}

.c-wisywig .is-img {
    margin: 3.75em 0 1.25em
}

@media screen and (max-width:415px) {
    .c-wisywig .is-img {
        margin: 1.5em 0 .75em
    }
}

.c-wisywig .is-img+.is-img {
    margin-top: 0
}

.c-wisywig .is-img img {
    display: inline-block;
    max-width: 100%;
    width: auto
}

.c-wisywig pre {
    word-wrap: break-word;
    overflow: auto;
    white-space: pre-wrap
}

.c-wisywig table {
    font-size: .9375em;
    width: 100%
}

.c-wisywig table td,
.c-wisywig table th {
    border: 1px solid #b1b1b1
}

.c-wisywig table th {
    background-color: #f3f3f3;
    padding: .6em 0;
    text-align: center
}

.c-wisywig table td {
    padding: 1em .73333em
}

.c-wisywig table.imgtbl {
    display: block;
    margin-top: 3.75em
}

@media screen and (max-width:415px) {
    .c-wisywig table.imgtbl {
        margin-top: 1.5em
    }
}

.c-wisywig table.imgtbl tbody {
    display: block
}

.c-wisywig table.imgtbl tr {
    display: flex;
    justify-content: space-between
}

@media screen and (max-width:640px) {
    .c-wisywig table.imgtbl tr {
        flex-direction: column
    }
}

.c-wisywig table.imgtbl td,
.c-wisywig table.imgtbl th {
    border: 0;
    height: auto;
    width: 48.3871% !important
}

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

    .c-wisywig table.imgtbl td,
    .c-wisywig table.imgtbl th {
        width: 100% !important
    }

    :is(.c-wisywig table.imgtbl th, .c-wisywig table.imgtbl td):not(:first-of-type) {
        margin-top: 1.25em
    }
}

.c-wisywig table.imgtbl th {
    background-color: transparent;
    padding: 0
}

.c-wisywig table.imgtbl td {
    padding: 0
}

.c-wisywig table.imgtbl .is-img {
    margin: 0
}

.c-wisywig table.imgtbl .is-img img {
    height: 100%;
    object-fit: cover
}

.c-wisywig .iframewrap {
    display: block;
    padding-top: 56.25%;
    position: relative;
    width: 100%
}

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

@media (any-hover:hover) {
    .c-wisywig a {
        transition: opacity .3s cubic-bezier(.23, 1, .32, 1)
    }

    .c-wisywig a:hover {
        opacity: .6
    }
}

.c-logo {
    display: inline-flex;
    flex-direction: column;
    line-height: 1
}

.c-logo__en {
    font-size: 2em;
    letter-spacing: .15em;
    margin-bottom: .71875em;
    text-transform: uppercase
}

.c-logo__jp {
    font-size: 1.3125em;
    letter-spacing: .1em
}

.c-table {
    width: 100%
}

.c-table__td,
.c-table__th {
    font-size: .9375em
}

.c-table__th {
    background-color: #f0f2ff;
    font-weight: 500
}

.c-table__td .caution {
    font-size: .8em;
    margin-left: .5em
}

.c-infocase {
    align-items: center;
    display: flex
}

.c-infocase__cat {
    flex-shrink: 0;
    font-size: .75em;
    margin-right: 1em
}

.c-infocase__catBody {
    align-items: center;
    background-color: #d9ddf7;
    border-radius: 1.25em;
    color: #0069B7;
    display: flex;
    height: 2.5em;
    justify-content: center;
    line-height: 1;
    min-width: 7.25em;
    padding: 0 1.16667em
}

.c-infocase__clientname {
    color: #0069B7;
    font-size: .875em;
    line-height: 1.5
}

.c-info {
    align-items: center;
    display: flex
}

.c-info__cat {
    flex-shrink: 0;
    font-size: .75em;
    margin-right: 1em
}

.c-info__catBody {
    align-items: center;
    border: 1px solid #0069B7;
    border-radius: 1.25em;
    color: #0069B7;
    display: flex;
    height: 2.5em;
    justify-content: center;
    line-height: 1;
    min-width: 6.83333em;
    padding: 0 1.16667em
}

.c-info__time {
    font-size: .875em;
    line-height: 1.5
}

.c-link {
    align-items: center;
    display: inline-flex;
    overflow: inherit
}

.c-link__txt {
    color: #0069B7;
    font-size: .9375em;
    line-height: 1.4
}

.c-link__txtBody:after {
    background-color: #0069B7;
    content: "";
    display: block;
    height: 1px;
    width: 100%
}

.c-link__arrow {
    align-items: center;
    background-color: #ebba36;
    border-radius: 50%;
    display: flex;
    height: 2.1875em;
    justify-content: center;
    margin-left: 1.375em;
    width: 2.1875em
}

.c-link__arrow svg {
    fill: #fff;
    height: .4375em;
    width: .3125em
}

@media (any-hover:hover) {
    .c-link__txt {
        transition: transform .3s cubic-bezier(.23, 1, .32, 1)
    }

    .c-link__arrow {
        position: relative
    }

    .c-link__arrow:before {
        border: 1px solid #ebba36;
        border-radius: 50%;
        content: "";
        display: block;
        height: 100%;
        left: 0;
        opacity: 0;
        position: absolute;
        top: 0;
        width: 100%
    }

    .c-link:hover .c-link__txt {
        transform: translate3d(.3em, 0, 0)
    }

    .c-link:hover .c-link__txtBody:after {
        animation-duration: .6s;
        animation-name: lineanim;
        animation-timing-function: ease
    }

    .c-link:hover .c-link__arrow:before {
        animation: hovercircle .8s cubic-bezier(.785, .135, .15, .86)
    }
}

:placeholder-shown {
    color: #bfbfbf
}

::-webkit-input-placeholder {
    color: #bfbfbf
}

:-ms-input-placeholder {
    color: #bfbfbf
}

.c-txtarea,
.c-txtbox {
    -webkit-appearance: none;
    appearance: none;
    background-color: #f3f3f3;
    border-radius: 0;
    box-shadow: none;
    box-sizing: border-box;
    font: inherit;
    outline: 0
}

.c-txtbox {
    padding: 0 24px
}

.c-txtarea {
    padding: 24px
}

.cm-h {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    left: 0;
    padding: 1.5625em 3.0625em 0 0;
    pointer-events: none;
    position: fixed;
    text-align: left;
    top: 0;
    transition: padding .2s;
    width: 100%;
    z-index: 99
}

@media screen and (max-width:1024px) {
    .cm-h {
        font-size: 1em;
        padding: 0 6.66667% 0 0;
        pointer-events: auto;
        position: absolute
    }
}

@media screen and (max-width:415px) {
    .cm-h {
        font-size: .8em
    }
}

.cm-h[data-state=small] {
    align-items: center;
    background-color: #fff;
    box-shadow: 0 3px 23px -3px rgba(12, 23, 102, .3);
    padding-bottom: 0;
    padding-top: 0
}

.bw-ie .cm-h {
    position: absolute
}

.cm-h__logoBody {
    align-items: center;
    background-color: #2E3B92;
    border-bottom-right-radius: .375em;
    border-top-right-radius: .375em;
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 10.9375em;
    justify-content: center;
    pointer-events: auto;
    text-align: center;
    transition: color .3s cubic-bezier(.23, 1, .32, 1), font-size .3s cubic-bezier(.23, 1, .32, 1);
    width: 10.625em
}

.cm-h[data-state=small] .cm-h__logoBody,
.cm-h[data-state=smallnoanim] .cm-h__logoBody {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    font-size: .7em;
    height: 100%;
    padding: 1.25em 1.875em;
    width: auto
}

.cm-h[data-state=smallnoanim] .cm-h__logoBody {
    transition: none
}

@media screen and (max-width:1024px) {
    .cm-h__logoBody {
        border-top-right-radius: 0;
        height: 7.375em;
        position: relative;
        width: 10.375em;
        z-index: 1
    }
}

.cm-h__logoBodyEn {
    font-size: 1.125em;
    letter-spacing: .18em;
    line-height: 1.4;
    text-transform: uppercase
}

.cm-h__logoBodyJp {
    letter-spacing: normal;
    margin-top: .6em
}

.cm-h[data-state=small] .cm-h__logoBodyJp,
.cm-h[data-state=smallnoanim] .cm-h__logoBodyJp {
    display: none
}

@media screen and (max-width:1024px) {
    .cm-h__logoBodyJp {
        margin-top: .2em
    }
}

:is(.cm-h[data-theme=white]:not([data-state=small]), #l-wrapper.is-menuopen .cm-h, #l-wrapper.is-popupopen .cm-h) .cm-h__logoBody {
    color: #fff
}

.cm-h__nav {
    align-items: center;
    display: flex;
    line-height: 1.7;
    margin-top: 1.3125em;
    pointer-events: auto;
    transition: font-size .3s cubic-bezier(.23, 1, .32, 1)
}

.cm-h[data-state=small] .cm-h__nav,
.cm-h[data-state=smallnoanim] .cm-h__nav {
    margin-top: 0
}

.cm-h[data-state=smallnoanim] .cm-h__nav {
    transition: none
}

@media screen and (max-width:1024px) {
    .cm-h__nav {
        background-color: #7baac0;
        display: block;
        font-size: 1.3em;
        left: 0;
        margin-top: 0;
        min-height: 100vh;
        opacity: 0;
        padding: 9.375em 6.66667%;
        pointer-events: none;
        position: absolute;
        top: 0;
        visibility: hidden;
        width: 100%;
        z-index: 0
    }

    #l-wrapper.is-menuopen .cm-h__nav {
        pointer-events: auto
    }
}

@media screen and (max-width:415px) {
    .cm-h__nav {
        font-size: 1.7em;
        padding-bottom: 6.875em;
        padding-top: 6.875em
    }
}

.cm-h__navList {
    align-items: center;
    display: flex
}

@media screen and (max-width:1024px) {
    .cm-h__navList {
        display: block
    }
}

.cm-h__navListItem {
    margin-right: 1.875em
}

@media screen and (max-width:1024px) {
    .cm-h__navListItem {
        border-top: 1px solid hsla(0, 0%, 100%, .29);
        margin-right: 0
    }
}

.cm-h__navListItem:last-of-type {
    border-right: 1px solid #cfcfcf;
    padding-right: 1.875em
}

@media screen and (max-width:1024px) {
    .cm-h__navListItem:last-of-type {
        border-right: 0;
        padding-right: 0
    }
}

.cm-h__navListItem .target {
    overflow: inherit;
    transition: color .3s cubic-bezier(.23, 1, .32, 1)
}

@media screen and (max-width:1024px) {
    .cm-h__navListItem .target {
        color: #fff;
        display: block;
        padding: 1.375em .75em
    }
}

.cm-h__navListItem .target__txt {
    display: block;
    font-size: .875em
}

@media screen and (max-width:1024px) {
    .cm-h__navListItem .target__txt {
        opacity: 0
    }
}

.cm-h[data-theme=white]:not([data-state=small]) .cm-h__navListItem:last-of-type {
    border-color: #fff
}

@media screen and (max-width:1024px) {
    .cm-h[data-theme=white]:not([data-state=small]) .cm-h__navListItem:last-of-type {
        border-color: hsla(0, 0%, 100%, .29)
    }
}

.cm-h[data-theme=white]:not([data-state=small]) .cm-h__navListItem .target {
    color: #fff
}

@media (any-hover:hover) {
    .cm-h__navListItem .target__txt {
        position: relative
    }

    .cm-h__navListItem .target__txt:after {
        background-color: #0069B7;
        bottom: 0;
        content: "";
        display: block;
        height: 1px;
        left: 0;
        position: absolute;
        transform: scaleX(0);
        transform-origin: top right;
        transition: transform .3s cubic-bezier(.23, 1, .32, 1);
        width: 100%
    }

    .cm-h[data-theme=white]:not([data-state=small]) .cm-h__navListItem .target__txt:after {
        background-color: #fff
    }

    .cm-h__navListItem .target:hover .target__txt:after {
        transform: scale(1);
        transform-origin: top left
    }
}

@media screen and (max-width:1024px) {
    .cm-h__navListItem .target__txt:after {
        display: none
    }
}

.cm-h__navContact {
    align-items: center;
    display: flex;
    overflow: inherit;
    transition: color .3s cubic-bezier(.23, 1, .32, 1)
}

.cm-h[data-theme=white]:not([data-state=small]) .cm-h__navContact {
    color: #fff
}

@media screen and (max-width:1024px) {
    .cm-h__navContact {
        border-top: 1px solid hsla(0, 0%, 100%, .29);
        display: block;
        padding: 1.375em .75em
    }
}

.cm-h__navContactTxt {
    font-size: .875em
}

@media screen and (max-width:1024px) {
    .cm-h__navContactTxt {
        color: #fff;
        opacity: 0
    }
}

.cm-h__navContactIcon {
    align-items: center;
    background-color: #ebba36;
    border-radius: 50%;
    display: flex;
    height: 2.75em;
    justify-content: center;
    margin-left: 1em;
    width: 2.75em
}

.cm-h__navContactIcon svg {
    fill: #fff;
    width: 1.125em
}

@media screen and (max-width:1024px) {
    .cm-h__navContactIcon {
        display: none
    }
}

@media (any-hover:hover) {
    .cm-h__navContactIcon {
        position: relative
    }

    .cm-h__navContactIcon:before {
        border: 1px solid #ebba36;
        border-radius: 50%;
        content: "";
        display: block;
        height: 100%;
        left: 0;
        opacity: 0;
        position: absolute;
        top: 0;
        width: 100%
    }

    .cm-h__navContact:hover .cm-h__navContactIcon:before {
        animation: hovercircle .8s cubic-bezier(.785, .135, .15, .86)
    }

    @keyframes hovercircle {
        0% {
            opacity: 1;
            transform: scale(1)
        }

        to {
            opacity: 0;
            transform: scale(1.4)
        }
    }
}

.cm-h__navSp {
    display: none
}

@media screen and (max-width:1024px) {
    .cm-h__navSp {
        display: block;
        opacity: 0
    }
}

.cm-h__navSp .cm-cta {
    margin: 2.1875em auto 0
}

.cm-h__navSpInfo {
    color: #fff;
    font-size: .875em;
    margin-top: 4.64286em;
    text-align: center
}

@media screen and (max-width:415px) {
    .cm-h__navSpInfo {
        font-size: .625em
    }
}

.cm-h__menu {
    display: none
}

@media screen and (max-width:1024px) {
    .cm-h__menu {
        align-items: center;
        -webkit-appearance: none;
        appearance: none;
        background: transparent;
        background-color: #ebba36;
        border-radius: 50%;
        display: flex;
        height: 4.6875em;
        justify-content: center;
        outline: 0;
        position: fixed;
        right: 10%;
        top: 1.5625em;
        width: 4.6875em;
        z-index: 99
    }
}

@media screen and (max-width:750px) {
    .cm-h__menu {
        right: 6.66667%
    }
}

#l-wrapper.is-menuopen .cm-h__menu {
    position: absolute
}

.cm-h__menuLine {
    display: block;
    height: 25px;
    position: relative;
    width: 1.875em
}

@media screen and (max-width:640px) {
    .cm-h__menuLine {
        height: 22px
    }
}

@media screen and (max-width:415px) {
    .cm-h__menuLine {
        height: 16px;
        width: 2em
    }
}

.cm-h__menuLineBody {
    background-color: #0069B7;
    display: block;
    height: 3px;
    left: 0;
    position: absolute;
    transform-origin: top right;
    transition: transform .2s cubic-bezier(.25, .46, .45, .94);
    width: 100%;
    will-change: transform
}

@media screen and (max-width:640px) {
    .cm-h__menuLineBody {
        height: 2px
    }
}

.cm-h__menuLineBody.is-01 {
    top: 0;
    transition-delay: .2s
}

.cm-h__menuLineBody.is-02 {
    top: 11px;
    transition-delay: .3s
}

@media screen and (max-width:640px) {
    .cm-h__menuLineBody.is-02 {
        top: 10px
    }
}

@media screen and (max-width:415px) {
    .cm-h__menuLineBody.is-02 {
        top: 7px
    }
}

.cm-h__menuLineBody.is-03 {
    bottom: 0;
    transition-delay: .4s
}

.cm-h__menuLineBody.is-04,
.cm-h__menuLineBody.is-05 {
    left: 50%;
    margin: -10px 0 0 -.9375em;
    transition-delay: 0s
}

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

    .cm-h__menuLineBody.is-04,
    .cm-h__menuLineBody.is-05 {
        margin-top: -9px
    }
}

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

    .cm-h__menuLineBody.is-04,
    .cm-h__menuLineBody.is-05 {
        margin: -7px 0 0 -1em
    }
}

.cm-h__menuLineBody.is-04 {
    top: 0;
    transform: translateY(11px) translateX(-5px) rotate(-45deg) scaleX(0);
    transform-origin: top right;
    transition-delay: 0s
}

@media screen and (max-width:640px) {
    .cm-h__menuLineBody.is-04 {
        transform: translateY(10px) translateX(-5px) rotate(-45deg) scaleX(0)
    }
}

@media screen and (max-width:415px) {
    .cm-h__menuLineBody.is-04 {
        transform: translateY(7px) translateX(-3px) rotate(-45deg) scaleX(0)
    }
}

.cm-h__menuLineBody.is-05 {
    bottom: 10px;
    transform: translateY(-11px) translateX(5px) rotate(45deg) scaleX(0);
    transform-origin: top left;
    transition-delay: .1s
}

@media screen and (max-width:640px) {
    .cm-h__menuLineBody.is-05 {
        bottom: 9px;
        transform: translateY(-10px) translateX(5px) rotate(45deg) scaleX(0)
    }
}

@media screen and (max-width:415px) {
    .cm-h__menuLineBody.is-05 {
        bottom: 7px;
        transform: translateY(-7px) translateX(3px) rotate(45deg) scaleX(0)
    }
}

#l-wrapper.is-menuopen .cm-h__menuLineBody.is-01,
#l-wrapper.is-menuopen .cm-h__menuLineBody.is-02,
#l-wrapper.is-menuopen .cm-h__menuLineBody.is-03 {
    transform: scaleX(0)
}

#l-wrapper.is-menuopen .cm-h__menuLineBody.is-01 {
    transition-delay: 0s
}

#l-wrapper.is-menuopen .cm-h__menuLineBody.is-02 {
    transition-delay: .1s
}

#l-wrapper.is-menuopen .cm-h__menuLineBody.is-03 {
    transition-delay: .2s
}

#l-wrapper.is-menuopen .cm-h__menuLineBody.is-04 {
    transform: translateY(11px) translateX(-5px) rotate(-45deg) scale(1);
    transition-delay: .3s
}

@media screen and (max-width:640px) {
    #l-wrapper.is-menuopen .cm-h__menuLineBody.is-04 {
        transform: translateY(10px) translateX(-5px) rotate(-45deg) scale(1)
    }
}

@media screen and (max-width:415px) {
    #l-wrapper.is-menuopen .cm-h__menuLineBody.is-04 {
        transform: translateY(7px) translateX(-4px) rotate(-45deg) scale(1)
    }
}

#l-wrapper.is-menuopen .cm-h__menuLineBody.is-05 {
    transform: translateY(-11px) translateX(5px) rotate(45deg) scale(1);
    transition-delay: .4s
}

@media screen and (max-width:640px) {
    #l-wrapper.is-menuopen .cm-h__menuLineBody.is-05 {
        transform: translateY(-10px) translateX(5px) rotate(45deg) scale(1)
    }
}

@media screen and (max-width:415px) {
    #l-wrapper.is-menuopen .cm-h__menuLineBody.is-05 {
        transform: translateY(-7px) translateX(4px) rotate(45deg) scale(1)
    }
}

.cm-h__ctabtn {
    display: none
}

@media screen and (max-width:1024px) {
    .cm-h__ctabtn {
        align-items: center;
        -webkit-appearance: none;
        appearance: none;
        background: transparent;
        background-color: #fff;
        border: 3px solid #ebba36;
        border-radius: 50%;
        display: flex;
        height: 4.6875em;
        justify-content: center;
        outline: 0;
        position: fixed;
        right: calc(10% + 5.5em);
        top: 1.5625em;
        width: 4.6875em;
        z-index: 99
    }
}

@media screen and (max-width:750px) {
    .cm-h__ctabtn {
        right: calc(6.66667% + 5.5em)
    }
}

@media screen and (max-width:415px) {
    .cm-h__ctabtn {
        border-width: 2px
    }
}

.cm-h__ctabtn svg {
    fill: #0069B7;
    height: 1.8125em;
    width: 2.8125em
}

#l-wrapper.is-menuopen .cm-h__ctabtn {
    display: none;
    position: absolute
}

.cm-f__cta {
    background-image: url(assets/images/common/cta-bg.jpg);
    background-image: -webkit-image-set(url("assets/images/common/cta-bg.jpg") 1x, url("assets/images/common/2x/cta-bg.jpg") 2x);
    background-image: image-set(url("assets/images/common/cta-bg.jpg") 1x, url("assets/images/common/2x/cta-bg.jpg") 2x);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: .375em;
    margin: 0 auto;
    padding: 6.5625em 0 9.375em;
    position: relative;
    width: 89.1875%;
    z-index: 1
}

@media screen and (max-width:1280px) {
    .cm-f__cta {
        font-size: .9em
    }
}

@media screen and (max-width:1024px) {
    .cm-f__cta {
        background-position: 60% 50%;
        border-radius: 0;
        font-size: 1em;
        width: 100%
    }
}

@media screen and (max-width:750px) {
    .cm-f__cta {
        background-image: url(assets/images/common/cta-bg.jpg);
        padding: 5em 0
    }
}

.cm-f__cta-inner {
    color: #fff;
    position: relative;
    z-index: 1
}

.cm-f__ctaTitle {
    align-items: center;
    display: flex;
    flex-direction: column;
    line-height: 1
}

.cm-f__ctaTitleJp {
    font-size: 1.5em;
    letter-spacing: .1em;
    text-indent: .1em
}

@media screen and (max-width:320px) {
    .cm-f__ctaTitleJp {
        font-size: 1.375em
    }
}

.cm-f__ctaTitleEn {
    font-size: .8125em;
    letter-spacing: .1em;
    margin-top: 1em;
    text-indent: .1em;
    text-transform: uppercase
}

.cm-f__ctaFeatute {
    display: flex;
    justify-content: center;
    margin-left: -8.09091%;
    margin-top: 3.25em;
    width: 116.18182%
}

@media screen and (max-width:1024px) {
    .cm-f__ctaFeatute {
        flex-direction: column;
        margin-left: 0;
        width: 100%
    }
}

.cm-f__ctaFeatuteItem {
    display: flex;
    flex-basis: 33.33333%;
    justify-content: center
}

@media screen and (max-width:1024px) {
    .cm-f__ctaFeatuteItem {
        border-top: 1px solid hsla(240, 4%, 90%, .3);
        display: block
    }
}

.cm-f__ctaFeatuteItem:nth-of-type(2) {
    border-left: 1px solid hsla(240, 4%, 90%, .3);
    border-right: 1px solid hsla(240, 4%, 90%, .3)
}

@media screen and (max-width:1024px) {
    .cm-f__ctaFeatuteItem:nth-of-type(2) {
        border-left: 0;
        border-right: 0
    }

    .cm-f__ctaFeatuteItem:nth-of-type(3) {
        border-bottom: 1px solid hsla(240, 4%, 90%, .3)
    }
}

.cm-f__ctaFeatuteItem .block {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding: 1.875em .625em 1.5em
}

@media screen and (max-width:750px) {
    .cm-f__ctaFeatuteItem .block {
        flex-direction: row;
        padding: 2.5em 0
    }
}

.cm-f__ctaFeatuteItem .block__title {
    align-items: center;
    background-color: #fff;
    border-radius: 1.125em;
    color: #0069B7;
    display: flex;
    height: 2.1875em;
    justify-content: center;
    line-height: 1.4;
    width: 10.1875em
}

@media screen and (max-width:750px) {
    .cm-f__ctaFeatuteItem .block__title {
        border-radius: 50%;
        flex-shrink: 0;
        height: 5.25em;
        width: 5.25em
    }
}

.cm-f__ctaFeatuteItem .block__titleTxt {
    display: block
}

@media screen and (max-width:750px) {
    .cm-f__ctaFeatuteItem .block__titleTxt {
        align-items: center;
        display: flex;
        flex-direction: column
    }
}

.cm-f__ctaFeatuteItem .block__titleTxt:first-of-type {
    margin-right: .5em
}

@media screen and (max-width:750px) {
    .cm-f__ctaFeatuteItem .block__titleTxt:first-of-type {
        display: none
    }

    .cm-f__ctaFeatuteItem .block__titleTxtItem {
        display: block
    }
}

.cm-f__ctaFeatuteItem .block__txt {
    margin-top: 1.0625em;
    text-align: center
}

@media screen and (max-width:750px) {
    .cm-f__ctaFeatuteItem .block__txt {
        margin: 0 0 0 1.5em;
        text-align: left
    }
}

@media screen and (max-width:415px) {
    .cm-f__ctaFeatuteItem .block__txt {
        font-size: .9em
    }
}

.cm-f__ctaFeatuteItem .block__txtTitle {
    font-size: 1.625em;
    letter-spacing: .06em;
    line-height: 1.5;
    text-indent: .06em
}

@media screen and (max-width:750px) {
    .cm-f__ctaFeatuteItem .block__txtTitle {
        font-size: 1.4375em
    }
}

@media screen and (max-width:320px) {
    .cm-f__ctaFeatuteItem .block__txtTitle {
        font-size: 1.3125em
    }
}

.cm-f__ctaFeatuteItem .block__txtBody {
    font-size: .875em;
    line-height: 2;
    margin-top: 1.07143em
}

@media screen and (max-width:750px) {
    .cm-f__ctaFeatuteItem .block__txtBody {
        margin-top: .42857em
    }
}

@media screen and (max-width:415px) {
    .cm-f__ctaFeatuteItem .block__txtBody .br {
        display: none
    }
}

.cm-f__ctaFeatuteBnr {
    display: flex;
    justify-content: center;
    margin-top: 2.9375em
}

@media screen and (max-width:1024px) {
    .cm-f__ctaFeatuteBnr {
        align-items: center;
        flex-direction: column;
        justify-content: flex-start;
        margin-top: 3.75em
    }
}

@media screen and (max-width:640px) {
    .cm-f__ctaFeatuteBnr {
        font-size: 3.125vw
    }
}

.cm-f__ctaFeatuteBnr .item {
    margin: 0 1.72727%;
    width: 31.25em
}

@media screen and (max-width:1380px) {
    .cm-f__ctaFeatuteBnr .item {
        font-size: .9em
    }
}

@media screen and (max-width:1024px) {
    .cm-f__ctaFeatuteBnr .item {
        font-size: 1em;
        margin: 0
    }

    .cm-f__ctaFeatuteBnr .item:last-of-type {
        margin-top: 2em
    }
}

@media screen and (max-width:750px) {
    .cm-f__ctaFeatuteBnr .item {
        width: 100%
    }
}

.cm-f__ctaFeatuteBnr .item__target {
    border-radius: .375em;
    color: #1a1a1a;
    display: flex;
    flex-direction: row-reverse;
    height: 10.125em;
    justify-content: flex-end
}

.cm-f__ctaFeatuteBnr .item__targetBg {
    flex-shrink: 0;
    width: 9.1875em
}

.cm-f__ctaFeatuteBnr .item__targetTel {
    background-color: #fff;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: center;
    padding-left: 1.5625em
}

.cm-f__ctaFeatuteBnr .item__targetTelNum {
    align-items: flex-end;
    display: flex;
    line-height: 1
}

.cm-f__ctaFeatuteBnr .item__targetTelNum .num,
.cm-f__ctaFeatuteBnr .item__targetTelNum .txt {
    color: #0069B7;
    display: block
}

.cm-f__ctaFeatuteBnr .item__targetTelNum .txt {
    font-size: 1.125em;
    margin: 0 .22222em .22222em 0
}

.cm-f__ctaFeatuteBnr .item__targetTelNum .num {
    font-size: 1.9375em;
    letter-spacing: .1em
}

.cm-f__ctaFeatuteBnr .item__targetTelTime {
    font-size: .875em;
    margin-top: .53333em
}

.cm-f__ctaFeatuteBnr .item__targetTelLast {
    font-size: .9375em;
    margin-top: 1em
}

.cm-f__ctaFeatuteBnr .item__targetForm {
    align-items: center;
    background-color: #ffc702;
    display: flex;
    flex-grow: 1;
    justify-content: space-between;
    padding: 0 2.25em 0 1.5625em
}

.cm-f__ctaFeatuteBnr .item__targetFormTxt .title {
    font-size: 1.5625em;
    line-height: 1.4
}

.cm-f__ctaFeatuteBnr .item__targetFormTxt .txt {
    font-size: .9375em;
    margin-top: 1em
}

.cm-f__ctaFeatuteBnr .item__targetFormArrow {
    align-items: center;
    background-color: #fff;
    border: 2px solid #0069B7;
    border-radius: 50%;
    display: flex;
    height: 2.875em;
    justify-content: center;
    width: 2.875em
}

.cm-f__ctaFeatuteBnr .item__targetFormArrow svg {
    fill: #0069B7;
    height: .625em;
    width: .4375em
}

@media (any-hover:hover) {

    .cm-f__ctaFeatuteBnr .item__targetFormTxt .title,
    .cm-f__ctaFeatuteBnr .item__targetFormTxt .txt {
        transition: transform .3s cubic-bezier(.23, 1, .32, 1)
    }

    .cm-f__ctaFeatuteBnr .item__targetFormTxt .txt {
        transition-delay: .05s
    }

    .cm-f__ctaFeatuteBnr .item__targetFormArrow {
        transition: background-color .3s cubic-bezier(.23, 1, .32, 1), transform .3s cubic-bezier(.23, 1, .32, 1)
    }

    .cm-f__ctaFeatuteBnr .item__targetFormArrow svg {
        transition: fill .3s cubic-bezier(.23, 1, .32, 1)
    }

    .cm-f__ctaFeatuteBnr .item__target:hover .item__targetFormTxt .title,
    .cm-f__ctaFeatuteBnr .item__target:hover .item__targetFormTxt .txt {
        transform: translate3d(.3em, 0, 0)
    }

    .cm-f__ctaFeatuteBnr .item__target:hover .item__targetFormArrow {
        background-color: #0069B7;
        transform: translate3d(.3em, 0, 0)
    }

    .cm-f__ctaFeatuteBnr .item__target:hover .item__targetFormArrow svg {
        fill: #fff
    }
}

.cm-f__body {
    background-color: #0069B7;
    color: #fff;
    margin-top: -29.75em;
    padding: 39.6875em 0 9.375em;
    position: relative;
    z-index: 0
}

@media screen and (max-width:1380px) {
    .cm-f__body {
        font-size: .9em
    }
}

@media screen and (max-width:1024px) {
    .cm-f__body {
        font-size: 1em;
        margin-top: 0;
        padding: 7.5em 0
    }
}

@media screen and (max-width:750px) {
    .cm-f__body {
        padding: 5em 0
    }
}

.cm-f__body .u-section {
    max-width: 73.25em
}

.cm-f__body .u-targetline__txt:after {
    background-color: #fff
}

.cm-f__bodyTop {
    display: flex;
    justify-content: space-between
}

@media screen and (max-width:1024px) {
    .cm-f__bodyTop {
        flex-direction: column-reverse
    }
}

@media screen and (max-width:1120px) {
    .cm-f__bodyTopL {
        font-size: .9em
    }
}

@media screen and (max-width:1080px) {
    .cm-f__bodyTopL {
        font-size: .84em
    }
}

@media screen and (max-width:1024px) {
    .cm-f__bodyTopL {
        font-size: 1em
    }
}

.cm-f__bodyTopL .c-logo {
    color: #fff
}

@media screen and (max-width:415px) {
    .cm-f__bodyTopL .c-logo {
        font-size: .9em
    }
}

.cm-f__bodyTopL .info {
    margin-top: 5em
}

.cm-f__bodyTopL .info .br {
    display: none
}

@media screen and (max-width:415px) {
    .cm-f__bodyTopL .info .br {
        display: block
    }
}

@media screen and (max-width:1024px) {
    .cm-f__bodyTopR {
        margin-bottom: 4.375em
    }
}

.cm-f__bodyTopR .nav {
    display: flex;
    font-size: .9375em
}

@media screen and (max-width:1024px) {
    .cm-f__bodyTopR .nav {
        flex-wrap: wrap;
        margin: 0 0 -1em -2em
    }
}

@media screen and (max-width:750px) {
    .cm-f__bodyTopR .nav {
        flex-direction: column;
        font-size: 1.0625em;
        margin: 0
    }
}

@media screen and (max-width:1024px) {
    .cm-f__bodyTopR .nav__item {
        margin: 0 0 1em 2em
    }
}

@media screen and (max-width:750px) {
    .cm-f__bodyTopR .nav__item {
        border-top: 1px solid hsla(0, 0%, 100%, .29);
        margin: 0
    }
}

.cm-f__bodyTopR .nav__item:not(:first-of-type) {
    margin-left: 2em
}

@media screen and (max-width:750px) {
    .cm-f__bodyTopR .nav__item:not(:first-of-type) {
        margin-left: 0
    }
}

.cm-f__bodyTopR .nav__itemTarget {
    color: #fff
}

@media screen and (max-width:750px) {
    .cm-f__bodyTopR .nav__itemTarget {
        display: block;
        padding: 1.29412em .70588em
    }
}

.cm-f__bodyBtm {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin-top: 11.5625em
}

@media screen and (max-width:1024px) {
    .cm-f__bodyBtm {
        margin-top: 5em
    }
}

@media screen and (max-width:750px) {
    .cm-f__bodyBtm {
        flex-direction: column
    }
}

.cm-f__bodyBtmNav {
    display: flex;
    font-size: .8125em
}

@media screen and (max-width:750px) {
    .cm-f__bodyBtmNav {
        flex-direction: column
    }
}

.cm-f__bodyBtmNav .item:not(:first-of-type) {
    margin-left: 1.92308em
}

@media screen and (max-width:750px) {
    .cm-f__bodyBtmNav .item:not(:first-of-type) {
        margin: 1em 0 0
    }
}

.cm-f__bodyBtmNav .item__target {
    color: #fff
}

@media screen and (max-width:750px) {
    .cm-f__bodyBtmCopy {
        margin-top: 5em
    }
}

.cm-f__bodyBtmCopy small {
    font-size: .75em
}

.cm-postpagenavi {
    font-size: 1.25em
}

.cm-postpagenavi .wp-pagenavi {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: -.5em;
    padding-top: 4.25em;
    position: relative;
    text-align: center
}

.cm-postpagenavi .wp-pagenavi .current,
.cm-postpagenavi .wp-pagenavi .extend,
.cm-postpagenavi .wp-pagenavi .page {
    margin: 0 .8em .5em;
    text-decoration: none
}

.cm-postpagenavi .wp-pagenavi .current {
    color: #0069B7
}

.cm-postpagenavi .wp-pagenavi .nextpostslink,
.cm-postpagenavi .wp-pagenavi .previouspostslink {
    border: .1em solid #fff;
    border-radius: 50%;
    display: block;
    height: .65em;
    margin-bottom: .5em;
    overflow: inherit;
    position: relative;
    text-indent: -9999px;
    width: .95em
}

:is(.cm-postpagenavi .wp-pagenavi .nextpostslink, .cm-postpagenavi .wp-pagenavi .previouspostslink):after,
:is(.cm-postpagenavi .wp-pagenavi .nextpostslink, .cm-postpagenavi .wp-pagenavi .previouspostslink):before {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 100%;
    content: "";
    display: block;
    height: .55em;
    left: 50%;
    margin: -.3em 0 0 -.45em;
    position: absolute;
    top: 50%;
    width: .9em
}

:is(.cm-postpagenavi .wp-pagenavi .nextpostslink, .cm-postpagenavi .wp-pagenavi .previouspostslink):after {
    opacity: 0
}

.cm-postpagenavi .wp-pagenavi .nextpostslink {
    margin-left: 1.5em
}

.cm-postpagenavi .wp-pagenavi .nextpostslink:before {
    background-image: url(../../../index.html)
}

.cm-postpagenavi .wp-pagenavi .nextpostslink:after {
    background-image: url(../../../index.html)
}

.cm-postpagenavi .wp-pagenavi .previouspostslink {
    margin-left: 1.5em
}

.cm-postpagenavi .wp-pagenavi .previouspostslink:before {
    background-image: url(../../../index.html)
}

.cm-postpagenavi .wp-pagenavi .previouspostslink:after {
    background-image: url(../../../index.html)
}

@media screen and (min-width:751px) {
    .cm-postpagenavi .wp-pagenavi .page {
        transition: background-color .3s cubic-bezier(.23, 1, .32, 1), color .3s cubic-bezier(.23, 1, .32, 1)
    }

    .cm-postpagenavi .wp-pagenavi .page:hover {
        background-color: var(--brown-bg);
        color: #fff
    }

    .cm-postpagenavi .wp-pagenavi .nextpostslink,
    .cm-postpagenavi .wp-pagenavi .previouspostslink {
        transition: background-color .3s cubic-bezier(.23, 1, .32, 1)
    }

    :is(.cm-postpagenavi .wp-pagenavi .nextpostslink, .cm-postpagenavi .wp-pagenavi .previouspostslink):after,
    :is(.cm-postpagenavi .wp-pagenavi .nextpostslink, .cm-postpagenavi .wp-pagenavi .previouspostslink):before {
        transition: opacity .3s cubic-bezier(.23, 1, .32, 1)
    }

    .cm-postpagenavi .wp-pagenavi .nextpostslink:hover,
    .cm-postpagenavi .wp-pagenavi .previouspostslink:hover {
        background-color: #fff
    }

    :is(.cm-postpagenavi .wp-pagenavi .nextpostslink:hover, .cm-postpagenavi .wp-pagenavi .previouspostslink:hover):before {
        opacity: 0
    }

    :is(.cm-postpagenavi .wp-pagenavi .nextpostslink:hover, .cm-postpagenavi .wp-pagenavi .previouspostslink:hover):after {
        opacity: 1
    }
}

.cm-under {
    padding-top: 13.75em
}

@media screen and (max-width:1120px) {
    .cm-under {
        padding-top: 12.375em
    }
}

@media screen and (max-width:415px) {
    .cm-under {
        padding-top: 11em
    }
}

.cm-under__mvTitle {
    position: relative;
    z-index: 0
}

@media screen and (max-width:415px) {
    .cm-under__mvTitle {
        font-size: .9em
    }
}

.cm-under__mvTitleBody {
    position: relative;
    z-index: 1
}

.cm-under__mvTitleBody .en,
.cm-under__mvTitleBody .jp {
    color: #0069B7;
    display: flex;
    justify-content: center;
    opacity: 0;
    overflow: hidden
}

:is(.cm-under__mvTitleBody .jp, .cm-under__mvTitleBody .en) span {
    display: block;
    opacity: 0
}

.cm-under__mvTitleBody .jp {
    font-size: 2em
}

.cm-under__mvTitleBody .jp span {
    margin: 0 .01875em
}

@media screen and (max-width:415px) {
    .p-industrial .cm-under__mvTitleBody .jp {
        font-size: 1.75em
    }
}

@media screen and (max-width:640px) {
    .p-general .cm-under__mvTitleBody .jp {
        font-size: 1.625em
    }
}

@media screen and (max-width:415px) {
    .p-general .cm-under__mvTitleBody .jp {
        font-size: 1.4375em
    }
}

.cm-under__mvTitleBody .en {
    font-size: .9375em;
    margin-top: -.2em;
    text-transform: uppercase
}

.cm-under__mvTitleBg {
    color: #e0e0e0;
    display: flex;
    font-size: 14.375em;
    justify-content: center;
    left: 0;
    letter-spacing: -.01em;
    line-height: 1;
    opacity: 0;
    position: absolute;
    text-indent: -.01em;
    transform: scaleX(.96);
    width: 100%;
    z-index: 0
}

@media screen and (max-width:640px) {
    .cm-under__mvTitleBg {
        font-size: 11.5em
    }
}

.cm-under__mvTitleBg span {
    display: block;
    opacity: 0
}

.cm-under__mvTitleBg span:first-of-type {
    text-transform: uppercase
}

.p-aboutus .cm-under__mvTitleBg {
    top: -.08696em
}

.p-office .cm-under__mvTitleBg {
    top: -.18261em
}

.p-environment .cm-under__mvTitleBg,
.p-facilities .cm-under__mvTitleBg,
.p-general .cm-under__mvTitleBg,
.p-history .cm-under__mvTitleBg,
.p-industrial .cm-under__mvTitleBg {
    top: -.15217em
}

.p-caselist .cm-under__mvTitleBg {
    top: -.19565em
}

.p-newslist .cm-under__mvTitleBg,
.p-privacy .cm-under__mvTitleBg {
    top: -.18261em
}

.p-company .cm-under__mvTitleBg {
    top: -.16087em
}

.p-service .cm-under__mvTitleBg {
    top: -.13913em
}

.p-individual .cm-under__mvTitleBg {
    top: -.18261em
}

.cm-under__mvBg {
    height: 14.5em;
    margin-top: 3.75em;
    overflow: hidden;
    position: relative;
    z-index: 1
}

@media screen and (max-width:640px) {
    .cm-under__mvBg {
        margin-top: 2.1875em
    }
}

@media screen and (max-width:415px) {
    .cm-under__mvBg {
        height: 11.6em
    }
}

.cm-under__mvBg.is-high {
    height: 47.6875em
}

@media screen and (max-width:1024px) {
    .cm-under__mvBg.is-high {
        height: 42.91875em
    }
}

@media screen and (max-width:750px) {
    .cm-under__mvBg.is-high {
        height: 38.15em
    }
}

@media screen and (max-width:640px) {
    .cm-under__mvBg.is-high {
        height: 28.6125em
    }
}

@media screen and (max-width:415px) {
    .cm-under__mvBg.is-high {
        height: 28.6125em
    }
}

.cm-under__mvBgBody {
    height: 186.2069%;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    width: 100%
}

.cm-under__mvBg.is-high .cm-under__mvBgBody {
    height: 126.21232%
}

.cm-under__mvBgBody .c-img {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.cm-under__mv.is-noimg {
    border-bottom: 1px solid rgba(46, 59, 146, .1);
    overflow: hidden;
    padding-bottom: 3.75em
}

@media screen and (max-width:640px) {
    .cm-under__mv.is-noimg {
        padding-bottom: 1.875em
    }
}

.p-newslist .cm-under__mv.is-noimg,
.p-privacy .cm-under__mv.is-noimg {
    margin-top: -2.625em;
    padding-top: 2.625em
}

.cm-crumb {
    display: flex;
    justify-content: flex-end;
    margin-top: 1em
}

@media screen and (max-width:750px) {
    .cm-crumb {
        display: none
    }
}

.cm-crumb__list {
    display: flex;
    font-size: .8125em
}

.cm-crumb__listItem {
    align-items: center;
    display: flex
}

.cm-crumb__listItem:not(:first-of-type):before {
    content: "-";
    display: block;
    margin: 0 .61538em
}

.cm-otherlink .u-section {
    display: flex;
    justify-content: space-between;
    padding-bottom: 10.625em
}

@media screen and (max-width:1024px) {
    .cm-otherlink .u-section {
        display: block
    }
}

.cm-otherlink.is-service {
    border-top: 1px solid #e0e0e0;
    padding-top: 7.625em
}

@media screen and (max-width:415px) {
    .cm-otherlink.is-service {
        padding-top: 6.1em
    }
}

.cm-otherlink__title {
    display: inline-flex;
    flex-direction: row-reverse;
    flex-shrink: 0;
    max-height: 8.75em
}

@media screen and (max-width:1024px) {
    .cm-otherlink__title {
        align-items: flex-end;
        flex-direction: column;
        margin-bottom: 2.1875em
    }

    .cm-otherlink__title .u-vt {
        font-feature-settings: "palt";
        line-height: 1;
        width: auto;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb
    }
}

@media screen and (max-width:415px) {
    .cm-otherlink__title {
        font-size: .9em
    }
}

.cm-otherlink__titleEn,
.cm-otherlink__titleJp {
    color: #0069B7;
    display: block;
    line-height: 1
}

.cm-otherlink__titleJp {
    font-size: 1.75em;
    letter-spacing: .08em
}

@media screen and (max-width:1024px) {
    .cm-otherlink__titleJp {
        font-size: 2em
    }
}

.cm-otherlink__titleEn {
    font-size: .75em;
    margin-left: 1.66667em;
    opacity: .2;
    text-transform: uppercase
}

@media screen and (max-width:1024px) {
    .cm-otherlink__titleEn {
        font-size: .875em;
        margin-bottom: .92857em;
        margin-left: 0
    }
}

.cm-otherlink__body {
    flex-basis: 89.27273%
}

@media screen and (max-width:800px) {
    .cm-otherlink__body {
        width: 60em
    }
}

@media screen and (max-width:415px) {
    .cm-otherlink__body {
        font-size: .8em
    }
}

@media screen and (max-width:800px) {
    .cm-otherlink__body .swiper {
        margin-left: 0;
        overflow: visible;
        width: 19.375em
    }
}

.cm-otherlink__body .swiper-wrapper {
    justify-content: space-between
}

@media screen and (max-width:800px) {
    .cm-otherlink__body .swiper-wrapper {
        justify-content: flex-start
    }
}

.cm-otherlink__bodyItem {
    width: 31.56823%
}

.cm-otherlink__bodyItemTarget {
    align-items: flex-end;
    border-radius: .375em;
    display: flex;
    height: 28em;
    position: relative;
    z-index: 0
}

@media screen and (max-width:1280px) {
    .cm-otherlink__bodyItemTarget {
        height: 25.2em
    }
}

.cm-otherlink__bodyItemTarget:before {
    background: linear-gradient(180deg, transparent 0, transparent 40%, rgba(0, 0, 0, .6));
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.cm-otherlink__bodyItemTarget .img {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

.cm-otherlink__bodyItemTarget .txt {
    color: #fff;
    padding: 0 0 2em 1.6875em;
    position: relative;
    z-index: 2
}

.cm-otherlink__bodyItemTarget .txt__en,
.cm-otherlink__bodyItemTarget .txt__jp {
    display: block;
    line-height: 1.4
}

.cm-otherlink__bodyItemTarget .txt__jp {
    font-size: 1.375em
}

.cm-otherlink.is-service .cm-otherlink__bodyItemTarget .txt__jp {
    font-size: 1.25em
}

@media screen and (max-width:1120px) {
    .cm-otherlink.is-service .cm-otherlink__bodyItemTarget .txt__jp {
        font-size: 1.125em
    }
}

.cm-otherlink__bodyItemTarget .txt__en {
    font-size: .75em;
    margin-top: .41667em;
    text-transform: uppercase
}

.cm-otherlink__bodyScroll {
    display: none
}

@media screen and (max-width:800px) {
    .cm-otherlink__bodyScroll {
        display: block;
        margin: 2.1875em 0 0 9.46667vw;
        width: 67.73333vw
    }
}

.cm-strength {
    color: #fff;
    margin-top: -11.0625em;
    padding-top: 5.9375em;
    position: relative;
    z-index: 1
}

@media screen and (max-width:1024px) {
    .cm-strength {
        padding-top: 4.75em
    }
}

@media screen and (max-width:750px) {
    .cm-strength {
        padding-bottom: 6.875em;
        padding-left: 3.07692%;
        padding-right: 3.07692%
    }
}

@media screen and (max-width:640px) {
    .cm-strength {
        padding-bottom: 5.5em;
        padding-top: 3.5625em
    }
}

.cm-strength:before {
    background-color: #0069B7;
    content: "";
    height: 43.0625em;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translate3d(-50%, 0, 0);
    width: 95.13333%;
    z-index: 0
}

@media screen and (max-width:1280px) {
    .cm-strength:before {
        height: 38.75625em
    }
}

@media screen and (max-width:750px) {
    .cm-strength:before {
        height: 100%
    }
}

.cm-strength-inner {
    position: relative;
    z-index: 1
}

.cm-strength__intro {
    line-height: 2.2;
    text-align: center
}

@media screen and (max-width:1024px) {
    .cm-strength__intro {
        text-align: left
    }

    .cm-strength__intro .br {
        display: none
    }
}

.cm-strength__intro p:not(:first-of-type) {
    margin-top: 2.1875em
}

.cm-strength__body {
    display: flex;
    justify-content: space-between;
    margin-top: 4.375em
}

@media screen and (max-width:1024px) {
    .cm-strength__body {
        display: block
    }
}

.cm-strength__bodyTitle {
    display: flex;
    flex-direction: row-reverse;
    flex-shrink: 0;
    max-height: 12em
}

@media screen and (max-width:1024px) {
    .cm-strength__bodyTitle {
        align-items: center;
        flex-direction: column-reverse;
        margin-bottom: 2.8125em
    }

    .cm-strength__bodyTitle .u-vt {
        font-feature-settings: "palt";
        line-height: 1;
        width: auto;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb
    }
}

@media screen and (max-width:415px) {
    .cm-strength__bodyTitle {
        font-size: .9em
    }
}

.cm-strength__bodyTitleEn,
.cm-strength__bodyTitleJp {
    display: block;
    line-height: 1
}

.cm-strength__bodyTitleJp {
    font-size: 1.5em;
    letter-spacing: .08em
}

@media screen and (max-width:1024px) {
    .cm-strength__bodyTitleJp {
        font-size: 1.75em
    }
}

.cm-strength__bodyTitleEn {
    font-size: .875em;
    margin-left: 1.07143em
}

@media screen and (max-width:1024px) {
    .cm-strength__bodyTitleEn {
        font-size: .875em;
        margin-left: 0;
        margin-top: .92857em
    }
}

.cm-strength__bodyList {
    flex-basis: 89.27273%
}

@media screen and (max-width:750px) {
    .cm-strength__bodyList {
        width: 61.5em
    }
}

@media screen and (max-width:415px) {
    .cm-strength__bodyList {
        font-size: .9em
    }
}

@media screen and (max-width:750px) {
    .cm-strength__bodyList .swiper {
        margin-left: 17.06667vw;
        overflow: visible;
        width: 19.375em
    }
}

@media screen and (max-width:415px) {
    .cm-strength__bodyList .swiper {
        margin-left: 9.33333vw
    }
}

.cm-strength__bodyList .swiper-wrapper {
    justify-content: space-between
}

@media screen and (max-width:750px) {
    .cm-strength__bodyList .swiper-wrapper {
        justify-content: flex-start
    }
}

.cm-strength__bodyListItem {
    color: #1a1a1a;
    display: flex;
    flex-direction: column;
    width: 31.56823%
}

.cm-strength__bodyListItem .title {
    color: #0069B7;
    font-size: 1.25em;
    margin: .8em 0 .85em;
    order: 2
}

@media screen and (max-width:750px) {
    .cm-strength__bodyListItem .title {
        color: #fff
    }
}

.cm-strength__bodyListItem .txt {
    font-size: .875em;
    line-height: 1.6;
    order: 3
}

@media screen and (max-width:750px) {
    .cm-strength__bodyListItem .txt {
        color: #fff
    }
}

.cm-strength__bodyListItem .img {
    border-radius: .375em;
    order: 1;
    overflow: hidden;
    padding-top: 144.51613%
}

.cm-strength__bodyListScroll {
    display: none
}

@media screen and (max-width:750px) {
    .cm-strength__bodyListScroll {
        background-color: rgba(0, 0, 0, .3);
        display: block;
        margin: 2.8125em 0 0 8.8vw;
        width: 69.06667vw
    }

    .cm-strength__bodyListScroll .swiper-scrollbar-drag {
        background-color: #fff
    }
}

.cm-flow {
    display: flex;
    justify-content: space-between
}

@media screen and (max-width:1024px) {
    .cm-flow {
        display: block
    }
}

.cm-flow__l {
    flex-shrink: 0
}

@media screen and (max-width:1024px) {
    .cm-flow__l {
        margin-bottom: 1.25em
    }
}

.cm-flow__lTxt {
    font-size: .9375em;
    margin-top: 1.66667em
}

@media screen and (max-width:415px) {
    .cm-flow__lTxt {
        font-size: .8125em
    }
}

.cm-flow__lCaution {
    display: none
}

@media screen and (max-width:1024px) {
    .cm-flow__lCaution {
        display: block;
        font-size: .8125em;
        margin-top: 3.84615em
    }
}

.cm-flow__bodyList,
.cm-flow__bodyListItem {
    display: flex
}

.cm-flow__bodyListItem .txt__item {
    align-items: center;
    background-color: #f0f2ff;
    color: #0069B7;
    display: flex;
    font-size: 1.125em;
    height: 100%;
    justify-content: center
}

.cm-flow__bodyListItem .txt.is-double {
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.cm-flow__bodyListItem .txt.is-double .txt__item {
    font-size: 1.0625em;
    height: 49.0099%
}

.cm-flow__bodyListItem .arrow {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.cm-flow__bodyListItem .arrow.is-double {
    justify-content: space-between
}

.cm-flow__bodyListItem .arrow.is-double .arrow__item {
    align-items: center;
    display: flex;
    height: 50%
}

.cm-flow__bodyListItem .arrow svg {
    fill: #0069B7
}

.cm-twoclm {
    align-items: flex-start;
    display: flex;
    flex-direction: row-reverse
}

@media screen and (max-width:1024px) {
    .cm-twoclm {
        display: block
    }
}

.cm-twoclm__side {
    flex-basis: 14em;
    flex-shrink: 0
}

@media screen and (max-width:1024px) {
    .cm-twoclm__side {
        display: none
    }
}

.cm-twoclm__sideList {
    padding-top: 2.6875em;
    position: relative
}

.cm-twoclm__sideList:after {
    background-color: #0069B7;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    opacity: .1;
    position: absolute;
    top: 0;
    width: 100%
}

.cm-twoclm__sideListItem:not(:first-of-type) {
    margin-top: 1em
}

.cm-twoclm__sideListItem .target {
    color: #7c84bb;
    opacity: .35;
    transition: color .3s cubic-bezier(.23, 1, .32, 1)
}

.cm-twoclm__sideListItem .target.is-active {
    color: #0069B7;
    opacity: 1
}

.cm-twoclm__body {
    flex-grow: 1;
    margin-left: 5em
}

@media screen and (max-width:1024px) {
    .cm-twoclm__body {
        margin-left: 0
    }
}

.cm-caselist-wrap {
    max-width: 77.9375em
}

.cm-caselist {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 -7.125em -2.72654%
}

@media screen and (max-width:640px) {
    .cm-caselist {
        margin-left: -6.17482%
    }
}

@media screen and (max-width:415px) {
    .cm-caselist {
        margin-bottom: -4.275em
    }
}

.cm-caselist__item {
    flex-basis: 30.67916%;
    margin: 0 0 7.125em 2.65418%
}

@media screen and (max-width:1024px) {
    .cm-caselist__item {
        flex-basis: 47.34582%
    }
}

@media screen and (max-width:640px) {
    .cm-caselist__item {
        flex-basis: 44.18429%;
        margin-left: 5.81571%
    }
}

@media screen and (max-width:415px) {
    .cm-caselist__item {
        margin-bottom: 4.275em
    }
}

.cm-caselist__itemTarget {
    display: flex;
    flex-direction: column
}

@media screen and (max-width:640px) {
    .cm-caselist__itemTarget {
        font-size: .9em
    }
}

.cm-caselist__itemTargetImg {
    border-radius: .375em;
    order: 1;
    overflow: hidden;
    padding-top: 69.7201%
}

.cm-caselist__itemTargetTitle {
    color: #0069B7;
    font-size: 1.0625em;
    margin: 1.17647em 0;
    order: 2
}

@media screen and (max-width:640px) {
    .cm-caselist__itemTargetTitle {
        font-size: 1em
    }
}

.cm-caselist__itemTargetTitle .line {
    background-image: linear-gradient(#0069B7, #0069B7);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 100% 1px
}

@media (any-hover:hover) {
    .cm-caselist__itemTargetTitle .line {
        transition: background-size .3s cubic-bezier(.23, 1, .32, 1)
    }

    .cm-caselist__itemTarget:hover .cm-caselist__itemTargetTitle .line {
        background-size: 0 1px
    }
}

.cm-caselist__itemTargetInfo {
    order: 3
}

@media screen and (max-width:640px) {
    .cm-caselist__itemTargetInfo {
        align-items: flex-start;
        flex-direction: column
    }

    .cm-caselist__itemTargetInfo .c-infocase__cat {
        margin: 0 0 .8em
    }
}

.cm-cta {
    position: relative;
    width: 20.5em
}

@media screen and (max-width:640px) {
    .cm-cta {
        font-size: 4.26667vw;
        width: 100%
    }
}

.cm-cta__body {
    color: #1a1a1a;
    padding: 2.1875em 1.5625em 1.875em;
    position: relative;
    z-index: 2
}

.cm-cta__bodyTel {
    align-items: flex-start;
    display: flex;
    line-height: 1
}

.cm-cta__bodyTelTitle {
    font-size: .75em;
    margin: .33333em .41667em 0 0
}

.cm-cta__bodyTelNum {
    font-size: 1.625em
}

.cm-cta__bodyTelNum .blue {
    color: #0069B7
}

.cm-cta__bodyTime {
    font-size: .8125em;
    letter-spacing: normal;
    margin: .61538em 0 .76923em
}

.cm-cta__bodyForm {
    background-color: #ffc702;
    border-radius: .4375em;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    margin-top: 1.375em;
    overflow: hidden;
    z-index: 1
}

.cm-cta__bodyFormImg {
    width: 5.0625em
}

.cm-cta__bodyFormBody {
    align-items: center;
    display: flex;
    padding: 1.0625em .75em .875em
}

.cm-cta__bodyFormBody .left__title {
    font-size: 1.125em;
    line-height: 1.4
}

.cm-cta__bodyFormBody .left__txt {
    font-size: .75em;
    margin-top: .33333em
}

.cm-cta__bodyFormBody .arrow {
    align-items: center;
    background-color: #fff;
    border: 2px solid #0069B7;
    border-radius: 50%;
    display: flex;
    height: 1.75em;
    justify-content: center;
    margin-left: .6875em;
    width: 1.75em
}

.cm-cta__bodyFormBody .arrow svg {
    fill: #0069B7;
    height: .5625em;
    width: .375em
}

@media (any-hover:hover) {

    .cm-cta__bodyFormBody .left__title,
    .cm-cta__bodyFormBody .left__txt {
        transition: transform .3s cubic-bezier(.23, 1, .32, 1)
    }

    .cm-cta__bodyFormBody .left__txt {
        transition-delay: .05s
    }

    .cm-cta__bodyFormBody .arrow {
        transition: background-color .3s cubic-bezier(.23, 1, .32, 1), transform .3s cubic-bezier(.23, 1, .32, 1)
    }

    .cm-cta__bodyFormBody .arrow svg {
        transition: fill .3s cubic-bezier(.23, 1, .32, 1)
    }

    .cm-cta__bodyForm:hover .cm-cta__bodyFormBody .left__title,
    .cm-cta__bodyForm:hover .cm-cta__bodyFormBody .left__txt {
        transform: translate3d(.3em, 0, 0)
    }

    .cm-cta__bodyForm:hover .cm-cta__bodyFormBody .arrow {
        background-color: #0069B7;
        transform: translate3d(.3em, 0, 0)
    }

    .cm-cta__bodyForm:hover .cm-cta__bodyFormBody .arrow svg {
        fill: #fff
    }
}

.cm-cta__manImg {
    border-radius: .375em;
    height: 100%;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

.cm-cta__manImg .c-img__body {
    object-position: center top
}

.cm-cta__manTxt {
    align-items: center;
    background: url(assets/images/common/cta-baloon.svg) 0 0/cover no-repeat;
    display: flex;
    height: 3.125em;
    justify-content: center;
    position: absolute;
    right: 2.0625em;
    top: -1.5625em;
    width: 11.125em;
    z-index: 1
}

.cm-cta__manTxtBody {
    color: #0069B7;
    font-size: .8125em;
    letter-spacing: normal;
    line-height: 1;
    margin-bottom: .38462em
}

.cm-popup {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 100vh;
    justify-content: flex-start;
    left: 0;
    opacity: 0;
    padding: 14.0625em 6.66667% 0;
    pointer-events: none;
    position: absolute;
    text-align: left;
    top: 0;
    width: 100%;
    z-index: 98
}

@media screen and (max-width:415px) {
    .cm-popup {
        padding-top: 11.25em
    }
}

.cm-popup__cta {
    opacity: 0;
    position: relative;
    z-index: 1
}

.cm-popup__bg {
    background-color: #0f1220;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

.cm-popup__close {
    align-items: center;
    border: 2px solid #fff;
    border-radius: 50%;
    display: block;
    display: flex;
    height: 3.375em;
    justify-content: center;
    margin-top: 1.5625em;
    opacity: 0;
    position: relative;
    width: 3.375em;
    z-index: 1
}

.cm-popup__close svg {
    fill: #fff;
    height: .75em;
    width: .75em
}

.cm-service__main {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 45.625em;
    position: relative
}

@media screen and (max-width:1024px) {
    .cm-service__main {
        justify-content: flex-start;
        min-height: auto
    }
}

.cm-service__mainImg {
    border-radius: .375em;
    height: 100%;
    left: 30.37543%;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 78.49829%
}

@media screen and (max-width:1024px) {
    .cm-service__mainImg {
        height: 68.26667vw;
        left: 0;
        margin-top: 3.125em;
        position: relative;
        width: 100%
    }
}

.cm-service__mainContents {
    margin-top: 4.375em;
    padding-left: 6.82594%;
    position: relative
}

@media screen and (max-width:1024px) {
    .cm-service__mainContents {
        margin-top: 2.5em;
        padding-left: 0
    }
}

.cm-service__mainContentsTitle .en {
    color: #dbddec;
    font-size: .75em;
    left: 1.66667em;
    position: absolute;
    text-transform: uppercase;
    top: 0
}

@media screen and (max-width:1024px) {
    .cm-service__mainContentsTitle .en {
        display: none
    }
}

.cm-service__mainContentsTitle .jp {
    color: #0069B7;
    display: block;
    font-size: 2.625em;
    line-height: 1.5;
    margin-top: -.2381em
}

@media screen and (max-width:1024px) {
    .cm-service__mainContentsTitle .jp {
        font-size: 1.875em
    }
}

.cm-service__mainContentsTxt {
    font-size: .9375em;
    margin: 1.46667em 0 2.53333em;
    width: 21.97802%
}

@media screen and (max-width:1024px) {
    .cm-service__mainContentsTxt {
        width: auto
    }
}

.cm-service__sub {
    display: flex;
    justify-content: flex-end;
    margin-top: 5.625em;
    position: relative
}

@media screen and (max-width:1024px) {
    .cm-service__sub {
        display: block
    }
}

.cm-service__subBlock {
    border-top: 1px solid #dcdcdc;
    display: flex;
    flex-basis: 34.81229%;
    flex-direction: column-reverse;
    justify-content: flex-end;
    padding-top: 4.25em;
    position: relative
}

@media screen and (max-width:1024px) {
    .cm-service__subBlock {
        align-items: flex-start;
        flex-direction: row-reverse
    }
}

.cm-service__subBlock:first-of-type {
    border-right: 1px solid #dcdcdc;
    padding-right: 5.88235%
}

@media screen and (max-width:1024px) {
    .cm-service__subBlock:first-of-type {
        border-right: 0;
        padding-bottom: 4.25em;
        padding-right: 0
    }
}

.cm-service__subBlock:first-of-type:before {
    background-color: #dcdcdc;
    content: "";
    display: block;
    height: .3125em;
    position: absolute;
    right: -.1875em;
    top: -.1875em;
    width: .3125em
}

@media screen and (max-width:1024px) {
    .cm-service__subBlock:first-of-type:before {
        display: none
    }
}

.cm-service__subBlock:nth-of-type(2) {
    padding-left: 5.88235%
}

@media screen and (max-width:1024px) {
    .cm-service__subBlock:nth-of-type(2) {
        padding-left: 0
    }
}

.cm-service__subBlockImg {
    border-radius: .375em;
    overflow: hidden;
    padding-top: 84.44976%
}

@media screen and (max-width:1024px) {
    .cm-service__subBlockImg {
        flex-basis: 45.67901%;
        flex-shrink: 0;
        padding-top: 38.58025%
    }
}

.cm-service__subBlockBody {
    margin-top: 2em;
    padding-left: 2.1875em;
    position: relative
}

@media screen and (max-width:1024px) {
    .cm-service__subBlockBody {
        margin: 0 0 0 1.375em;
        padding-left: 0
    }
}

.cm-service__subBlockBody .title__en,
.cm-service__subBlockBody .title__jp {
    display: block
}

.cm-service__subBlockBody .title__en {
    color: #dbddec;
    font-size: .75em;
    left: 0;
    position: absolute;
    text-transform: uppercase;
    top: 0
}

@media screen and (max-width:1024px) {
    .cm-service__subBlockBody .title__en {
        display: none
    }
}

.cm-service__subBlockBody .title__jp {
    color: #0069B7;
    font-size: 1.5em;
    line-height: 1.5;
    margin-top: -.3125em
}

@media screen and (max-width:1460px) {
    .cm-service__subBlockBody .title__jp {
        font-size: 1.4375em
    }
}

@media screen and (max-width:1380px) {
    .cm-service__subBlockBody .title__jp {
        font-size: 1.3125em
    }
}

@media screen and (max-width:1024px) {
    .cm-service__subBlockBody .title__jp {
        margin-top: 0
    }
}

.cm-service__subBlockBody .title__jp .br {
    display: none
}

@media screen and (max-width:1120px) {
    .cm-service__subBlockBody .title__jp .br {
        display: block
    }
}

@media screen and (max-width:1024px) {
    .cm-service__subBlockBody .title__jp .br {
        display: none
    }
}

@media screen and (max-width:415px) {
    .cm-service__subBlockBody .title__jp .br {
        display: block
    }
}

.cm-service__subBlockBody .txt {
    font-size: .9375em;
    margin: 1em 2.93333em 2.33333em 0
}

@media screen and (max-width:1024px) {
    .cm-service__subBlockBody .txt {
        margin-right: 0
    }
}

@media screen and (max-width:415px) {
    .cm-service__subBlockBody .link {
        font-size: .9em
    }
}

.cm-loading {
    align-items: center;
    background-color: #fff;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    width: 100%
}

.cm-loading.is-hide {
    display: none
}

.cm-loading__txt {
    color: #0069B7;
    display: flex;
    font-size: 1.3125em;
    letter-spacing: .18em;
    line-height: 1;
    opacity: 0;
    overflow: hidden;
    text-transform: uppercase
}

.cm-loading__txt span {
    display: block;
    opacity: 0;
    visibility: hidden
}

.p-aboutus__bodyMission {
    display: flex;
    padding-top: 7.5em;
    position: relative;
    z-index: 1
}

@media screen and (max-width:750px) {
    .p-aboutus__bodyMission {
        flex-wrap: wrap;
        padding: 4.375em 0 6.25em
    }
}

.p-aboutus__bodyMissionTitle {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    order: 2;
    width: 68.81818%
}

@media screen and (max-width:1024px) {
    .p-aboutus__bodyMissionTitle {
        font-size: .9em
    }
}

@media screen and (max-width:750px) {
    .p-aboutus__bodyMissionTitle {
        flex-direction: column;
        font-size: 1em;
        justify-content: flex-start;
        margin-bottom: 1.875em;
        order: 1;
        width: 100%
    }
}

.p-aboutus__bodyMissionTitle .jp {
    height: 26.5em;
    width: 9.3125em
}

@media screen and (max-width:750px) {
    .p-aboutus__bodyMissionTitle .jp {
        height: 5.3125em;
        width: 16.625em
    }
}

.p-aboutus__bodyMissionTitle .en {
    color: #0069B7;
    margin: 0 3.25em 0 -18.75826%
}

@media screen and (max-width:750px) {
    .p-aboutus__bodyMissionTitle .en {
        margin: 1.25em 0 0
    }

    .p-aboutus__bodyMissionTitle .en .u-vt {
        font-feature-settings: "palt";
        line-height: 1.5;
        width: auto;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb
    }
}

.p-aboutus__bodyMissionImgl {
    height: 27em;
    margin: .3125em 0 0 calc(50% - 50vw);
    order: 1;
    width: calc(50vw - 30.63636%)
}

@media screen and (max-width:750px) {
    .p-aboutus__bodyMissionImgl {
        height: 50.93333vw;
        order: 2;
        width: calc(50vw + 2.92308%)
    }
}

.p-aboutus__bodyMissionImgr {
    height: 25.6875em;
    margin: 11.875em -13.45455% 0 0;
    order: 3;
    width: 25.27273%
}

@media screen and (max-width:750px) {
    .p-aboutus__bodyMissionImgr {
        height: 53.06667vw;
        margin: 16vw calc(50% - 50vw) 0 14.46154%;
        width: calc(50vw - 17.38462%)
    }
}

.p-aboutus__bodyMessage {
    display: flex;
    padding: 4.125em 0 7.625em;
    position: relative
}

@media screen and (max-width:1024px) {
    .p-aboutus__bodyMessage {
        display: block;
        padding: 5em 0
    }
}

.p-aboutus__bodyMessage:before {
    background-color: #f8f8f8;
    content: "";
    display: block;
    height: calc(100% + 15.625em);
    left: -10.20408%;
    position: absolute;
    top: -15.625em;
    width: calc(60.20408% + 50vw);
    z-index: 0
}

@media screen and (max-width:750px) {
    .p-aboutus__bodyMessage:before {
        height: 100%;
        left: calc(50% - 50vw);
        top: 0;
        width: 100vw
    }
}

.p-aboutus__bodyMessageBody,
.p-aboutus__bodyMessageTitle {
    position: relative;
    z-index: 1
}

.p-aboutus__bodyMessageTitle {
    flex-shrink: 0;
    margin-right: 11.73469%
}

@media screen and (max-width:1024px) {
    .p-aboutus__bodyMessageTitle {
        margin-bottom: 3.4375em
    }
}

.p-aboutus__bodyMessageBody {
    flex-basis: 55.10204%;
    font-size: 1.0625em
}

.p-aboutus__bodyMessageBody p:not(:first-of-type) {
    margin-top: 2em
}

@media screen and (max-width:1024px) {
    .p-aboutus__bodyMessageBody p .br {
        display: none
    }
}

.p-aboutus__bodyMessageBody p.name {
    font-size: .94118em;
    margin-top: 2.625em;
    text-align: right
}

.p-aboutus__bodyOutline {
    display: flex;
    justify-content: space-between;
    padding-top: 12em
}

@media screen and (max-width:1024px) {
    .p-aboutus__bodyOutline {
        display: block
    }
}

@media screen and (max-width:750px) {
    .p-aboutus__bodyOutline {
        padding-top: 5em
    }
}

.p-aboutus__bodyOutlineTitle {
    flex-shrink: 0
}

@media screen and (max-width:1024px) {
    .p-aboutus__bodyOutlineTitle {
        margin-bottom: 3.75em
    }
}

.p-aboutus__bodyOutlineBody {
    border-bottom: 1px solid #e0e0e0;
    flex-basis: 75.91837%;
    font-size: 1.0625em
}

.p-aboutus__bodyOutlineBody .row {
    border-top: 1px solid #e0e0e0;
    display: flex;
    padding: 1.94118em 0
}

@media screen and (max-width:415px) {
    .p-aboutus__bodyOutlineBody .row {
        display: block
    }
}

.p-aboutus__bodyOutlineBody .row__title {
    flex-basis: 9.41176em;
    flex-shrink: 0;
    font-weight: 500;
    padding-left: .64706em
}

@media screen and (max-width:415px) {
    .p-aboutus__bodyOutlineBody .row__title {
        font-size: 1.1em;
        padding: 0 0 .58824em
    }
}

.p-aboutus__bodyOutlineBody .row__body {
    flex-grow: 1
}

.p-aboutus__bodyOutlineBody .row__body dl {
    display: flex;
    margin-bottom: 1.76471em
}

@media screen and (max-width:750px) {
    .p-aboutus__bodyOutlineBody .row__body dl {
        display: block
    }
}

.p-aboutus__bodyOutlineBody .row__body dt {
    flex-basis: 11.88235em;
    flex-shrink: 0
}

.p-aboutus__bodyOutlineBody .row__body dd {
    flex-grow: 1
}

.p-aboutus__bodyGallery {
    padding: 11.875em 0 12.1875em
}

@media screen and (max-width:750px) {
    .p-aboutus__bodyGallery {
        padding: 6.25em 0 7.5em
    }
}

.p-aboutus__bodyGalleryBody {
    margin-top: 4.375em
}

.p-aboutus__bodyGalleryBody .swiper-wrapper {
    transition-timing-function: linear
}

.p-aboutus__bodyGalleryBody .item {
    height: 31.1875em;
    width: 44.1875em
}

@media screen and (max-width:1024px) {
    .p-aboutus__bodyGalleryBody .item {
        font-size: .8em
    }
}

@media screen and (max-width:640px) {
    .p-aboutus__bodyGalleryBody .item {
        font-size: .6em
    }
}

@media screen and (max-width:415px) {
    .p-aboutus__bodyGalleryBody .item {
        font-size: .45em
    }
}

.p-aboutus__bodyGalleryScroll {
    display: none
}

@media screen and (max-width:750px) {
    .p-aboutus__bodyGalleryScroll {
        display: block;
        margin: 2.1875em auto 0;
        width: 67.73333vw
    }
}

.p-office__main {
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 9.0625em;
    padding-bottom: 11.25em
}

@media screen and (max-width:750px) {
    .p-office__main {
        margin-bottom: 7.25em;
        padding-bottom: 9em
    }
}

.p-office__main-inner {
    display: flex;
    flex-wrap: wrap;
    margin-top: -2.5em
}

@media screen and (max-width:750px) {
    .p-office__main-inner {
        display: block
    }
}

.p-office__mainBlock {
    display: flex;
    flex-basis: 48.18182%;
    flex-direction: column;
    margin: 8.4375em 0 0 3.63636%
}

.p-office__mainBlock:nth-of-type(odd) {
    margin-left: 0
}

.p-office__mainBlockInfo,
.p-office__mainBlockTitle,
.p-office__mainBlockTxt {
    margin-left: 4.5283%;
    margin-right: 4.5283%
}

.p-office__mainBlockTitle {
    color: #0069B7;
    font-size: 1.75em;
    line-height: 1.1;
    order: 3
}

.p-office__mainBlockTxt {
    color: #0069B7;
    font-size: 1.0625em;
    margin-bottom: .29412em;
    margin-top: 1.88235em;
    order: 2
}

.p-office__mainBlockImg {
    border-radius: .5em;
    order: 1;
    overflow: hidden;
    padding-top: 99.24528%
}

.p-office__mainBlockInfo {
    border-top: 1px solid #e0e0e0;
    display: flex;
    margin-top: 2.0625em;
    order: 4;
    padding-top: 1.75em;
    position: relative
}

.p-office__mainBlockInfo:before {
    background-color: #0069B7;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    top: -1px;
    width: 3.5em
}

.p-office__mainBlockInfo .title {
    color: #dddde4;
    flex-shrink: 0;
    font-size: .75em;
    margin-right: 2.5em
}

.p-office__mainBlockInfo .title .u-vt {
    max-height: 10em
}

.p-office__mainBlockInfo .body {
    flex-grow: 1
}

.p-office__mainBlockInfo .body__row {
    display: flex;
    font-size: .9375em
}

.p-office__mainBlockInfo .body__row:not(:first-of-type) {
    margin-top: 1.86667em
}

.p-office__mainBlockInfo .body__rowTitle {
    color: #0069B7;
    flex-basis: 5.2em;
    flex-shrink: 0;
    font-weight: 500
}

.p-office__mainBlockInfo .body__rowTxt a:not([href*="tel:"]) {
    border-bottom: 1px solid #1a1a1a
}

.p-history__main {
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 9.0625em;
    padding: 4.0625em 0 11.25em
}

@media screen and (max-width:750px) {
    .p-history__main {
        margin-bottom: 7.25em;
        padding-bottom: 9em
    }
}

.p-history__mainBlock {
    position: relative
}

@media screen and (max-width:415px) {
    .p-history__mainBlock {
        font-size: .9em
    }
}

.p-history__mainBlock:not(:first-of-type) {
    margin-top: 5.9375em
}

.p-history__mainBlockTitle {
    border-bottom: 1px solid #0069B7;
    display: flex;
    padding-bottom: 1.5625em
}

.p-history__mainBlockTitle .jp,
.p-history__mainBlockTitle .num {
    color: #0069B7;
    display: block
}

.p-history__mainBlockTitle .num {
    font-size: 4.5em;
    line-height: 1;
    margin: .19444em .38889em 0 0
}

.p-history__mainBlockTitle .jp__num {
    margin-bottom: .1em;
    text-combine-upright: all
}

.p-history__mainBlockImg {
    position: absolute;
    right: 0;
    top: 0;
    width: 43.87755%;
    z-index: 1
}

.p-history__mainBlockImg .c-img {
    padding-top: 75.11628%
}

@media screen and (max-width:1024px) {
    .p-history__mainBlockImg {
        margin-top: 2.5em;
        position: static;
        width: 100%
    }
}

.p-history__mainBlockTxt {
    font-size: 1.375em;
    padding-top: 1.36364em;
    position: relative;
    z-index: 0
}

.p-history__mainBlock.is-img {
    margin-bottom: -1.5625em;
    min-height: 20.1875em
}

@media screen and (max-width:1024px) {
    .p-history__mainBlock.is-img {
        margin-bottom: 0;
        min-height: auto
    }
}

.p-industrial__flow {
    padding-top: 8.875em
}

@media screen and (max-width:415px) {
    .p-industrial__flow {
        padding-top: 7.1em
    }
}

.p-industrial__flowL {
    margin-top: 1.125em
}

@media screen and (max-width:1024px) {
    .p-industrial__flowL {
        margin-top: 0
    }

    .p-industrial__flowL .c-title__jp .br {
        display: none
    }
}

.p-industrial__flowL .cm-flow__lTxt {
    max-width: 15em
}

@media screen and (max-width:1024px) {
    .p-industrial__flowL .cm-flow__lTxt {
        max-width: none
    }
}

@media screen and (max-width:1380px) {
    .p-industrial__flowBody {
        font-size: .92em
    }
}

@media screen and (max-width:1120px) {
    .p-industrial__flowBody {
        font-size: .8em
    }
}

@media screen and (max-width:1024px) {
    .p-industrial__flowBody {
        overflow-scrolling: touch;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap
    }

    .p-industrial__flowBody::-webkit-scrollbar {
        display: none
    }

    .p-industrial__flowBody {
        font-size: 1em
    }
}

@media screen and (max-width:415px) {
    .p-industrial__flowBody {
        font-size: .85em
    }
}

.p-industrial__flowBody .cm-flow__bodyListItem .txt__item {
    padding: 1.61111em 0;
    width: 4.16667em
}

.p-industrial__flowBody .cm-flow__bodyListItem .txt.is-double .txt__item {
    padding: 0;
    width: 5.33333em
}

.p-industrial__flowBody .cm-flow__bodyListItem .arrow {
    width: 4.0625em
}

.p-industrial__price {
    display: flex;
    justify-content: space-between;
    padding: 13.5em 0 15.5em
}

@media screen and (max-width:1024px) {
    .p-industrial__price {
        display: block
    }
}

@media screen and (max-width:415px) {
    .p-industrial__price {
        padding: 8.1em 0 9.3em
    }
}

.p-industrial__priceTitle {
    flex-shrink: 0
}

@media screen and (max-width:1024px) {
    .p-industrial__priceTitle {
        margin-bottom: 3.125em
    }
}

.p-industrial__priceBody {
    flex-basis: 77.90909%
}

.p-industrial__priceBodyBlock {
    display: flex
}

@media screen and (max-width:750px) {
    .p-industrial__priceBodyBlock {
        display: block
    }
}

.p-industrial__priceBodyBlock:not(:first-of-type) {
    margin-top: 5.3125em
}

.p-industrial__priceBodyBlock .title {
    flex-shrink: 0;
    font-size: 1.25em;
    margin-right: 2em;
    max-height: 12em
}

@media screen and (max-width:750px) {
    .p-industrial__priceBodyBlock .title {
        font-feature-settings: "palt";
        line-height: 1.5;
        width: auto;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb
    }
}

.p-industrial__priceBodyBlock .caution {
    display: none
}

@media screen and (max-width:750px) {
    .p-industrial__priceBodyBlock .caution {
        display: block;
        font-size: .8125em;
        margin: 1.53846em 0 1em
    }
}

.p-industrial__priceBodyBlock .table {
    flex-grow: 1
}

@media screen and (max-width:1024px) {
    .p-industrial__priceBodyBlock .table {
        overflow: hidden
    }

    .p-industrial__priceBodyBlock .table-inner {
        overflow-scrolling: touch;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap
    }
}

@media screen and (max-width:1024px) {
    .p-industrial__priceBodyBlock .table-inner::-webkit-scrollbar {
        display: none
    }

    .p-industrial__priceBodyBlock .table-inner .c-table {
        width: 49.8125em
    }
}

@media screen and (max-width:640px) {
    .p-industrial__priceBodyBlock .table-inner {
        font-size: .9em
    }
}

@media screen and (max-width:415px) {
    .p-industrial__priceBodyBlock .table-inner {
        font-size: .8em
    }
}

.p-industrial__priceBodyBlock .table-inner .c-table {
    border-top: 1px solid #e0e0e0
}

.p-industrial__priceBodyBlock .table-inner .c-table__td,
.p-industrial__priceBodyBlock .table-inner .c-table__th {
    border-bottom: 1px solid #e0e0e0;
    border-right: 1px solid #e0e0e0;
    padding: 1.26667em
}

:is(.p-industrial__priceBodyBlock .table-inner .c-table__th, .p-industrial__priceBodyBlock .table-inner .c-table__td):last-of-type {
    border-right: 0
}

:is(.p-industrial__priceBodyBlock .table-inner .c-table__th, .p-industrial__priceBodyBlock .table-inner .c-table__td):nth-last-of-type(3) {
    padding-left: 0;
    padding-right: 0;
    text-align: center
}

.p-industrial__priceBodyBlock .table-inner .c-table__th:first-of-type {
    width: 16em
}

.p-industrial__priceBodyBlock .table-inner .c-table__th:nth-of-type(2) {
    width: 4.53333em
}

.p-industrial__priceBodyBlock .table-inner .c-table__th:nth-of-type(3) {
    width: 11em
}

.p-industrial__priceBodyBlock .table-inner .c-table__td:nth-last-of-type(2) {
    padding-right: 2.1875em;
    text-align: right
}

.p-industrial__priceBodyBlock .table-inner .c-table__td:nth-last-of-type(4) {
    font-weight: 500
}

.p-industrial__priceBodyBlock .table__caution {
    font-size: .875em;
    margin-top: 1.85714em
}

@media screen and (max-width:415px) {
    .p-industrial__priceBodyBlock .table__caution {
        font-size: .75em
    }
}

.p-industrial__priceBodyBlock .table__caution p {
    margin-left: 1em;
    text-indent: -1em
}

.p-general__employee {
    padding-top: 6.875em
}

@media screen and (max-width:415px) {
    .p-general__employee {
        padding-top: 5.5em
    }
}

.p-general__employeeTop {
    align-items: center;
    color: #0069B7;
    display: flex;
    flex-direction: column-reverse
}

.p-general__employeeTop .baloon {
    align-items: center;
    background: url(assets/images/service/general-waste/employee-baloon.svg) 0 0/cover no-repeat;
    display: flex;
    font-size: .875em;
    height: 4.14286em;
    justify-content: center;
    position: relative;
    text-align: center;
    width: 15.57143em
}

.p-general__employeeTop .baloon p {
    margin-bottom: .85714em
}

.p-general__employeeTop .title {
    font-size: 1.75em;
    line-height: 1.4;
    margin-top: 1.07143em;
    text-align: center
}

@media screen and (max-width:640px) {
    .p-general__employeeTop .title {
        font-size: 1.575em
    }
}

@media screen and (max-width:415px) {
    .p-general__employeeTop .title {
        font-size: 1.3125em
    }
}

.p-general__employeeTop .title .br {
    display: none
}

@media screen and (max-width:1024px) {
    .p-general__employeeTop .title .br {
        display: block
    }
}

.p-general__employeeBody {
    display: flex;
    flex-wrap: wrap;
    margin-top: 2.1875em
}

@media screen and (max-width:415px) {
    .p-general__employeeBody {
        margin-top: 1.5625em
    }
}

.p-general__employeeBodyItem {
    flex-basis: 25%;
    padding-top: 25%;
    position: relative
}

@media screen and (max-width:1024px) {
    .p-general__employeeBodyItem {
        flex-basis: 50%;
        padding-top: 50%
    }
}

.p-general__employeeBodyItem:before {
    background: linear-gradient(180deg, transparent 0, transparent 20%, rgba(29, 29, 29, .6));
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

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

.p-general__employeeBodyItem .txt {
    bottom: 1.27778em;
    color: #fff;
    font-size: 1.125em;
    left: 1.27778em;
    line-height: 1.5;
    padding-right: 1.27778em;
    position: absolute;
    z-index: 2
}

@media screen and (max-width:415px) {
    .p-general__employeeBodyItem .txt {
        bottom: .83333em;
        font-size: .875em;
        left: .72222em;
        padding-right: .72222em
    }
}

.p-general__customer {
    padding-top: 9.6875em
}

.p-general__customer-inner {
    display: flex;
    justify-content: flex-end;
    padding-top: 15.4375em;
    position: relative
}

@media screen and (max-width:1024px) {
    .p-general__customer-inner {
        justify-content: center;
        padding-top: 66.66667%
    }
}

.p-general__customerImg {
    left: calc(50% - 50vw);
    padding-top: 48.875em;
    position: absolute;
    top: 0;
    width: calc(50vw + 29.36364%);
    z-index: 0
}

@media screen and (max-width:1024px) {
    .p-general__customerImg {
        left: -12.5%;
        padding-top: 110.66667%;
        width: 125%
    }
}

.p-general__customerBody {
    background-color: #0069B7;
    color: #fff;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin-right: -6.54545%;
    padding: 5.75em 4.6875em 4.375em 4.5em;
    position: relative;
    width: 59.90909%;
    z-index: 1
}

@media screen and (max-width:1024px) {
    .p-general__customerBody {
        display: block;
        margin-right: 0;
        width: 100%
    }
}

@media screen and (max-width:750px) {
    .p-general__customerBody {
        padding: 3.125em 1.875em
    }
}

.p-general__customerBodyTitle {
    flex-shrink: 0;
    height: 22em;
    width: 8.5em
}

@media screen and (max-width:1280px) {
    .p-general__customerBodyTitle {
        font-size: .85em
    }
}

@media screen and (max-width:1024px) {
    .p-general__customerBodyTitle {
        font-size: 1.5em;
        height: 4.9375em;
        width: 13.25em
    }
}

@media screen and (max-width:750px) {
    .p-general__customerBodyTitle {
        font-size: 1em
    }
}

.p-general__customerBodyTxt {
    margin: 2.8125em 2.5em 0 0;
    width: 21em
}

@media screen and (max-width:1024px) {
    .p-general__customerBodyTxt {
        margin: 2.1875em 0 0;
        width: auto
    }
}

.p-general__customerBodyTxt p:not(:first-of-type) {
    margin-top: 1.875em
}

.p-general__flow {
    padding: 12.5em 0
}

@media screen and (max-width:415px) {
    .p-general__flow {
        padding: 7.5em 0
    }
}

.p-general__flowL {
    margin-top: 1.875em
}

@media screen and (max-width:1024px) {
    .p-general__flowL {
        margin-top: 0
    }

    .p-general__flowL .c-title__jp .br {
        display: none
    }
}

.p-general__flowL .cm-flow__lTxt {
    max-width: 14.0625em
}

@media screen and (max-width:1024px) {
    .p-general__flowL .cm-flow__lTxt {
        max-width: none
    }
}

@media screen and (max-width:1380px) {
    .p-general__flowBody {
        font-size: .92em
    }
}

@media screen and (max-width:1120px) {
    .p-general__flowBody {
        font-size: .8em
    }
}

@media screen and (max-width:1024px) {
    .p-general__flowBody {
        overflow-scrolling: touch;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap
    }

    .p-general__flowBody::-webkit-scrollbar {
        display: none
    }

    .p-general__flowBody {
        font-size: 1em
    }
}

@media screen and (max-width:415px) {
    .p-general__flowBody {
        font-size: .85em
    }
}

.p-general__flowBody .cm-flow__bodyListItem .txt__item {
    padding: 2.05556em 0;
    width: 4.94444em
}

.p-general__flowBody .cm-flow__bodyListItem .arrow {
    width: 4.875em
}

.p-general__individual {
    align-items: center;
    display: flex;
    height: 45em;
    overflow: hidden;
    position: relative
}

@media screen and (max-width:640px) {
    .p-general__individual {
        background-color: #191925;
        height: auto;
        padding-bottom: 5em
    }
}

.p-general__individual:before {
    background-color: #191925;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    opacity: .6;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

@media screen and (max-width:640px) {
    .p-general__individual:before {
        opacity: .5
    }
}

.p-general__individualBody {
    color: #fff;
    display: flex;
    margin-top: 8.3125em;
    position: relative;
    z-index: 3
}

@media screen and (max-width:1024px) {
    .p-general__individualBody {
        display: block
    }
}

.p-general__individualBodyTitle {
    align-items: center;
    display: flex;
    flex-direction: column;
    flex-shrink: 0
}

@media screen and (max-width:1024px) {
    .p-general__individualBodyTitle {
        flex-direction: row-reverse;
        justify-content: flex-end
    }
}

.p-general__individualBodyTitle .txt {
    font-size: .9375em
}

@media screen and (max-width:1024px) {
    .p-general__individualBodyTitle .txt {
        font-feature-settings: "palt";
        line-height: 1.5;
        width: auto;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb
    }
}

.p-general__individualBodyTitle:after {
    background-color: #fff;
    content: "";
    display: block;
    height: 3.9375em;
    margin-top: 1em;
    width: 1px
}

@media screen and (max-width:1024px) {
    .p-general__individualBodyTitle:after {
        height: 1px;
        margin: 0 1em 0 0;
        width: 2.5em
    }
}

.p-general__individualBodyTxt {
    margin: 2.5em 0 0 3.125em
}

@media screen and (max-width:1024px) {
    .p-general__individualBodyTxt {
        margin-left: 0
    }
}

.p-general__individualBodyTxt .title {
    height: 3.625em;
    width: 47.875em
}

@media screen and (max-width:1024px) {
    .p-general__individualBodyTxt .title {
        font-size: .85em
    }
}

@media screen and (max-width:750px) {
    .p-general__individualBodyTxt .title {
        font-size: 1.2em;
        height: 6.5em;
        width: 18.375em
    }
}

@media screen and (max-width:415px) {
    .p-general__individualBodyTxt .title {
        font-size: 1em
    }
}

.p-general__individualBodyTxt .txt {
    font-size: 1.1875em;
    line-height: 1.5;
    margin: 1.57895em 0 2.10526em
}

.p-general__individualBodyTxt .caution__item {
    font-size: .875em;
    margin-left: 1em;
    text-indent: -1em
}

.p-general__individualBodyTxt .caution__item a {
    color: #fff;
    font-weight: 500;
    text-decoration: underline
}

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

@media screen and (max-width:640px) {
    .p-general__individualImg {
        height: 80vw;
        overflow: hidden
    }
}

.p-general__individualImg:before {
    background: linear-gradient(180deg, transparent 0, transparent 70%, #191925);
    content: "";
    display: none;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
}

@media screen and (max-width:640px) {
    .p-general__individualImg:before {
        display: block
    }
}

.p-general__individualImg-inner {
    height: 127.63889%;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    width: 100%;
    z-index: 0
}

.p-general__individualImg-inner .c-img {
    height: 100%
}

.p-general__price {
    display: flex;
    justify-content: space-between;
    padding: 9.6875em 0 15.5em
}

@media screen and (max-width:1024px) {
    .p-general__price {
        display: block
    }
}

@media screen and (max-width:415px) {
    .p-general__price {
        padding: 5.8125em 0 9.3em
    }
}

.p-general__priceTitle {
    flex-shrink: 0
}

.p-general__priceBody {
    flex-basis: 68.90909%
}

.p-general__priceBodyCaution {
    display: none
}

@media screen and (max-width:750px) {
    .p-general__priceBodyCaution {
        display: block;
        font-size: .8125em;
        margin: 2.30769em 0 1em
    }
}

.p-general__priceBodyTable {
    flex-grow: 1
}

@media screen and (max-width:1024px) {
    .p-general__priceBodyTable {
        overflow: hidden
    }
}

.p-general__priceBodyTable .caution {
    font-size: .875em;
    margin-top: 1.85714em
}

@media screen and (max-width:415px) {
    .p-general__priceBodyTable .caution {
        font-size: .75em
    }
}

.p-general__priceBodyTable .caution p {
    margin-left: 1em;
    text-indent: -1em
}

@media screen and (max-width:1024px) {
    .p-general__priceBodyTable-inner {
        overflow-scrolling: touch;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap
    }

    .p-general__priceBodyTable-inner::-webkit-scrollbar {
        display: none
    }

    .p-general__priceBodyTable-inner .c-table {
        width: 49.8125em
    }
}

@media screen and (max-width:640px) {
    .p-general__priceBodyTable-inner {
        font-size: .9em
    }
}

@media screen and (max-width:415px) {
    .p-general__priceBodyTable-inner {
        font-size: .8em
    }
}

.p-general__priceBodyTable-inner .c-table {
    border-top: 1px solid #e0e0e0
}

.p-general__priceBodyTable-inner .c-table__td,
.p-general__priceBodyTable-inner .c-table__th {
    border-bottom: 1px solid #e0e0e0;
    border-right: 1px solid #e0e0e0;
    padding: 1.26667em 1.13333em .93333em
}

:is(.p-general__priceBodyTable-inner .c-table__th, .p-general__priceBodyTable-inner .c-table__td):last-of-type {
    border-right: 0
}

.p-general__priceBodyTable-inner .c-table__th:first-of-type {
    width: 35.06667em
}

.p-general__priceBodyTable-inner .c-table__td:first-of-type {
    font-weight: 500
}

.p-general__priceBodyTable-inner .c-table__td:nth-of-type(2) {
    padding-right: 2.33333em;
    text-align: right
}

.p-facilities__body {
    padding: 5.9375em 0 10.625em
}

@media screen and (max-width:415px) {
    .p-facilities__body {
        padding: 4.75em 0 8.5em
    }
}

.p-facilities__bodyMainBlock:not(:first-of-type) {
    margin-top: 10.625em
}

@media screen and (max-width:750px) {
    .p-facilities__bodyMainBlock:not(:first-of-type) {
        margin-top: 8.5em
    }
}

@media screen and (max-width:415px) {
    .p-facilities__bodyMainBlock:not(:first-of-type) {
        margin-top: 6.375em
    }
}

.p-facilities__bodyMainBlock .txt {
    margin-top: 1.875em
}

.p-facilities__bodyMainBlock .img {
    border-radius: .375em;
    margin-top: 3.75em;
    overflow: hidden
}

@media screen and (max-width:415px) {
    .p-facilities__bodyMainBlock .img {
        margin-top: 2.5em
    }
}

.p-facilities__bodyMainBlock .img .c-img {
    padding-top: 66.36943%
}

.p-facilities__bodyMainBlock .table {
    margin-top: 3em
}

.p-facilities__bodyMainBlock .table .c-table {
    border-top: 1px solid #e0e0e0;
    font-size: .9375em
}

.p-facilities__bodyMainBlock .table .c-table-row {
    display: flex
}

@media screen and (max-width:415px) {
    .p-facilities__bodyMainBlock .table .c-table-row {
        display: block
    }
}

.p-facilities__bodyMainBlock .table .c-table__td,
.p-facilities__bodyMainBlock .table .c-table__th {
    border-bottom: 1px solid #e0e0e0;
    padding: 1.33333em
}

.p-facilities__bodyMainBlock .table .c-table__th {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    text-align: center
}

@media screen and (max-width:415px) {
    .p-facilities__bodyMainBlock .table .c-table__th {
        border-bottom: 0
    }
}

.p-facilities__bodyMainBlock .table .c-table__td {
    flex-grow: 1
}

@media screen and (max-width:415px) {
    .p-facilities__bodyMainBlock .table .c-table__td {
        text-align: center
    }
}

.p-facilities__bodyMainBlock.is-treatment .c-table__th {
    color: #0069B7;
    flex-basis: 8.375em
}

.p-facilities__bodyMainBlock.is-vehicle .table {
    display: flex;
    justify-content: space-between
}

@media screen and (max-width:640px) {
    .p-facilities__bodyMainBlock.is-vehicle .table {
        display: block
    }
}

.p-facilities__bodyMainBlock.is-vehicle .c-table {
    width: 45.85987%
}

@media screen and (max-width:640px) {
    .p-facilities__bodyMainBlock.is-vehicle .c-table {
        width: 100%
    }

    .p-facilities__bodyMainBlock.is-vehicle .c-table:not(:first-of-type) {
        border-top: 0
    }
}

.p-facilities__bodyMainBlock.is-vehicle .c-table__th {
    flex-basis: 11.375em
}

.p-facilities__bodyMainBlock.is-vehicle .c-table__td {
    padding-left: 2.875em
}

@media screen and (max-width:415px) {
    .p-facilities__bodyMainBlock.is-vehicle .c-table__td {
        padding-left: 0;
        padding-right: 0;
        text-align: center
    }
}

.p-facilities__bodyMainBlock .pdf {
    margin-top: 5.5em
}

@media screen and (max-width:415px) {
    .p-facilities__bodyMainBlock .pdf {
        margin-top: 4.4em
    }
}

.p-facilities__bodyMainBlock .pdf__block {
    padding-bottom: .9375em;
    position: relative
}

.p-facilities__bodyMainBlock .pdf__block:after,
.p-facilities__bodyMainBlock .pdf__block:before {
    background-color: #e0e0e0;
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    width: 46.11465%
}

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

    .p-facilities__bodyMainBlock .pdf__block:after,
    .p-facilities__bodyMainBlock .pdf__block:before {
        width: 100%
    }
}

.p-facilities__bodyMainBlock .pdf__block:before {
    left: 0
}

.p-facilities__bodyMainBlock .pdf__block:after {
    right: 0
}

.p-facilities__bodyMainBlock .pdf__block.is-one:after {
    display: none
}

.p-facilities__bodyMainBlock .pdf__block:not(:first-of-type) {
    margin-top: 3em
}

.p-facilities__bodyMainBlock .pdf__blockList {
    display: flex;
    flex-wrap: wrap;
    margin-left: -7.7707%;
    margin-top: 1.25em
}

.p-facilities__bodyMainBlock .pdf__blockListItem {
    display: flex;
    flex-basis: 42.7896%;
    margin-bottom: .75em;
    margin-left: 7.2104%
}

@media screen and (max-width:640px) {
    .p-facilities__bodyMainBlock .pdf__blockListItem {
        flex-basis: 100%
    }
}

.p-facilities__bodyMainBlock .pdf__blockListItemTxt {
    margin-right: .4375em
}

.p-facilities__bodyMainBlock .pdf__blockListItemLink {
    overflow: inherit
}

.p-facilities__bodyMainBlock .pdf-double {
    display: flex;
    justify-content: space-between;
    margin-top: 3em
}

@media screen and (max-width:1120px) {
    .p-facilities__bodyMainBlock .pdf-double {
        display: block
    }
}

.p-facilities__bodyMainBlock .pdf-double .pdf__block {
    flex-basis: 46.11465%
}

.p-facilities__bodyMainBlock .pdf-double .pdf__block:not(:first-of-type) {
    margin-top: 0
}

@media screen and (max-width:1120px) {
    .p-facilities__bodyMainBlock .pdf-double .pdf__block:not(:first-of-type) {
        margin-top: 3em
    }
}

.p-facilities__bodyMainBlock .pdf-double .pdf__block:after,
.p-facilities__bodyMainBlock .pdf-double .pdf__block:before {
    width: 100%
}

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

    .p-facilities__bodyMainBlock .pdf-double .pdf__block:after,
    .p-facilities__bodyMainBlock .pdf-double .pdf__block:before {
        width: 46.11465%
    }
}

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

    .p-facilities__bodyMainBlock .pdf-double .pdf__block:after,
    .p-facilities__bodyMainBlock .pdf-double .pdf__block:before {
        width: 100%
    }
}

.p-facilities__bodyMainBlock .pdf-double .pdf__blockListItem {
    flex-basis: 100%
}

@media screen and (max-width:1120px) {
    .p-facilities__bodyMainBlock .pdf-double .pdf__blockListItem {
        flex-basis: 42.7896%
    }
}

@media screen and (max-width:640px) {
    .p-facilities__bodyMainBlock .pdf-double .pdf__blockListItem {
        flex-basis: 100%
    }
}

.p-environment__body {
    padding: 5.9375em 0 13.4375em
}

@media screen and (max-width:750px) {
    .p-environment__body {
        padding-bottom: 8.125em
    }
}

@media screen and (max-width:415px) {
    .p-environment__body {
        padding: 4.75em 0 6.5em
    }
}

.p-environment__bodyMainBlock {
    max-width: 49.75em
}

.p-environment__bodyMainBlock:not(:first-of-type) {
    border-top: 1px solid rgba(46, 59, 146, .1);
    margin-top: 7.0625em;
    padding-top: 7.0625em
}

@media screen and (max-width:415px) {
    .p-environment__bodyMainBlock:not(:first-of-type) {
        margin-top: 5.65em;
        padding-top: 5.65em
    }
}

.p-environment__bodyMainBlock .title {
    color: #0069B7;
    font-size: 1.75em;
    line-height: 1.4;
    margin-bottom: 1.25em
}

.p-environment__bodyMainBlock .title:after {
    background-color: #0069B7;
    content: "";
    display: block;
    height: 1px;
    margin-top: 1.5em;
    opacity: .61;
    width: 3.03571em
}

.p-environment__bodyMainBlock .img {
    margin-top: 2.8125em
}

.p-environment__bodyMainBlock .img .c-img {
    border-radius: .375em;
    overflow: hidden;
    padding-top: 65.09554%
}

.p-environment__bodyMainBlock .policy__title {
    border-left: 4px solid #0069B7;
    color: #0069B7;
    font-size: 1.5em;
    line-height: 1.4;
    padding-left: .58333em
}

.p-environment__bodyMainBlock .policy__basic {
    display: flex;
    margin-top: 2.04545em
}

@media screen and (max-width:415px) {
    .p-environment__bodyMainBlock .policy__basic {
        display: block
    }
}

.p-environment__bodyMainBlock .policy__basicTitle {
    color: #0069B7;
    flex-shrink: 0;
    font-size: 1.375em;
    line-height: 1.1;
    margin: .13636em 1.81818em 0 0
}

@media screen and (max-width:415px) {
    .p-environment__bodyMainBlock .policy__basicTitle {
        margin: 0 0 .72727em
    }
}

.p-environment__bodyMainBlock .policy__guideline {
    margin-top: 4.5em
}

.p-environment__bodyMainBlock .policy__guidelineTitle {
    color: #0069B7;
    font-size: 1.375em;
    line-height: 1.1;
    margin-bottom: .59091em
}

@media screen and (max-width:415px) {
    .p-environment__bodyMainBlock .policy__guidelineTitle {
        margin-bottom: .36364em
    }
}

.p-environment__bodyMainBlock .policy__guidelineList {
    display: flex;
    flex-wrap: wrap;
    margin-left: -2.929936305732484%
}

@media screen and (max-width:415px) {
    .p-environment__bodyMainBlock .policy__guidelineList {
        display: block;
        margin-left: 0
    }
}

.p-environment__bodyMainBlock .policy__guidelineListItem {
    background-color: #f0f2ff;
    font-size: .9375em;
    line-height: 1.6;
    margin: 1.25em 0 0 2.846534653465347%;
    padding: .86667em 1.6em;
    width: 47.15346534653465%
}

@media screen and (max-width:415px) {
    .p-environment__bodyMainBlock .policy__guidelineListItem {
        margin: 1.25em 0 0;
        width: 100%
    }
}

.p-environment__bodyMainBlock .localblock {
    align-items: center;
    display: flex;
    flex-direction: row-reverse;
    margin-top: 5.1875em
}

@media screen and (max-width:750px) {
    .p-environment__bodyMainBlock .localblock {
        flex-direction: column-reverse
    }
}

@media screen and (max-width:415px) {
    .p-environment__bodyMainBlock .localblock {
        margin-top: 4.15em
    }
}

.p-environment__bodyMainBlock .localblock__img {
    border-radius: 50%;
    flex-shrink: 0;
    height: 20.75em;
    overflow: hidden;
    position: relative;
    width: 20.75em
}

@media screen and (max-width:1120px) {
    .p-environment__bodyMainBlock .localblock__img {
        font-size: .9em
    }
}

@media screen and (max-width:1024px) {
    .p-environment__bodyMainBlock .localblock__img {
        font-size: .8em
    }
}

@media screen and (max-width:750px) {
    .p-environment__bodyMainBlock .localblock__img {
        font-size: 1em
    }
}

@media screen and (max-width:415px) {
    .p-environment__bodyMainBlock .localblock__img {
        height: 80vw;
        width: 80vw
    }
}

.p-environment__bodyMainBlock .localblock__img-inner,
.p-environment__bodyMainBlock .localblock__img-inner .c-img {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.p-environment__bodyMainBlock .localblock:nth-of-type(2) .localblock__img-inner {
    height: 129.81928%;
    top: 50%;
    transform: translate3d(0, -50%, 0)
}

.p-environment__bodyMainBlock .localblock:nth-of-type(2) .localblock__img-inner .c-img__body {
    height: 100%
}

.p-environment__bodyMainBlock .localblock__body {
    margin: 0 7.89809%
}

@media screen and (max-width:750px) {
    .p-environment__bodyMainBlock .localblock__body {
        margin: 3.125em 0
    }
}

.p-environment__bodyMainBlock .localblock__bodyTitle {
    color: #0069B7;
    font-size: 1.5em;
    line-height: 1.4;
    margin-bottom: 1.25em
}

@media screen and (max-width:1380px) {
    .p-environment__bodyMainBlock .localblock__bodyTitle .br {
        display: none
    }
}

.p-environment__bodyMainBlock .localblock__bodyTxt a {
    color: #0068b7;
    font-weight: 700;
    text-decoration: underline
}

.p-caselist__body {
    padding: 6.875em 0 10.625em
}

@media screen and (max-width:640px) {
    .p-caselist__body {
        padding: 5.5em 0 8.5em
    }
}

@media screen and (max-width:415px) {
    .p-caselist__body {
        padding: 4.125em 0 6.375em
    }
}

.p-casedtl {
    padding-bottom: 10em
}

@media screen and (max-width:640px) {
    .p-casedtl {
        padding-bottom: 8em
    }
}

@media screen and (max-width:415px) {
    .p-casedtl {
        padding-bottom: 6em
    }
}

.p-casedtl__postTop {
    margin-bottom: 3.75em;
    max-width: 58.125em
}

.p-casedtl__postTopTitle {
    display: flex;
    flex-direction: column;
    margin-bottom: 2.1875em
}

@media screen and (max-width:1024px) {
    .p-casedtl__postTopTitle {
        display: block
    }
}

.p-casedtl__postTopTitle .line {
    color: #0069B7;
    display: block;
    font-size: 2.3125em;
    line-height: 1.4
}

@media screen and (max-width:1024px) {
    .p-casedtl__postTopTitle .line {
        display: inline
    }
}

@media screen and (max-width:415px) {
    .p-casedtl__postTopTitle .line {
        font-size: 1.61875em
    }
}

.p-casedtl__postImg {
    height: 55em;
    overflow: hidden;
    position: relative
}

@media screen and (max-width:1024px) {
    .p-casedtl__postImg {
        height: 58.66667vw
    }
}

.p-casedtl__postImgBody {
    height: 111.36364%;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    width: 100%
}

.p-casedtl__postImgBody .c-img {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.p-casedtl__postContent {
    margin-bottom: 9.375em;
    margin-top: 5.375em;
    max-width: 51.25em
}

@media screen and (max-width:640px) {
    .p-casedtl__postContent {
        margin-bottom: 7.5em;
        margin-top: 4.3em
    }
}

@media screen and (max-width:415px) {
    .p-casedtl__postContent {
        margin-bottom: 3.75em;
        margin-top: 3.225em
    }
}

.p-casedtl__postContent .is-img {
    margin-left: -5.4878%;
    width: 110.97561%
}

@media screen and (max-width:1024px) {
    .p-casedtl__postContent .is-img {
        margin-left: 0;
        width: auto
    }
}

.p-casedtl__other .cm-caselist {
    margin-top: 2.8125em
}

.p-newslist {
    padding-bottom: 12.5em
}

@media screen and (max-width:640px) {
    .p-newslist {
        padding-bottom: 10em
    }
}

@media screen and (max-width:415px) {
    .p-newslist {
        padding-bottom: 7.5em
    }
}

.p-newslist__body {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    padding-top: 6.5em
}

@media screen and (max-width:750px) {
    .p-newslist__body {
        flex-direction: column-reverse;
        justify-content: flex-end;
        padding-top: 0
    }
}

.p-newslist__bodyMain {
    border-top: 1px solid rgba(46, 59, 146, .1);
    flex-basis: 73.90909%;
    margin-left: 1.25em
}

@media screen and (max-width:750px) {
    .p-newslist__bodyMain {
        flex-basis: auto;
        margin: 6.25em 0 0
    }
}

@media screen and (max-width:415px) {
    .p-newslist__bodyMain {
        margin: 5em 0 0
    }
}

.p-newslist__bodyMainItem .target {
    align-items: center;
    border-bottom: 1px solid rgba(46, 59, 146, .1);
    display: flex;
    justify-content: space-between;
    padding: 2.3125em 1.875em 2.3125em 1.25em
}

@media screen and (max-width:415px) {
    .p-newslist__bodyMainItem .target {
        padding-left: 1.25em;
        padding-right: 1.25em
    }
}

.p-newslist__bodyMainItem .target__body {
    margin-right: 2.5em
}

@media screen and (max-width:415px) {
    .p-newslist__bodyMainItem .target__body {
        margin-right: 0
    }
}

.p-newslist__bodyMainItem .target__bodyTitle {
    font-size: 1.25em;
    line-height: 1.4;
    margin-bottom: .8em
}

@media screen and (max-width:415px) {
    .p-newslist__bodyMainItem .target__bodyTitle {
        font-size: 1.125em
    }
}

.p-newslist__bodyMainItem .target__bodyTitleTxt {
    border-bottom: 1px solid #1a1a1a
}

.p-newslist__bodyMainItem .target__arrow {
    flex-shrink: 0
}

@media screen and (max-width:415px) {
    .p-newslist__bodyMainItem .target__arrow {
        display: none
    }
}

.p-newslist__bodyMainItem .target__arrow svg {
    fill: #dcdcdc;
    height: 1.6875em;
    width: 2.375em
}

@media (any-hover:hover) {
    .p-newslist__bodyMainItem .target {
        transition: background-color .3s cubic-bezier(.23, 1, .32, 1)
    }

    .p-newslist__bodyMainItem .target:hover {
        background-color: rgba(46, 59, 146, .03)
    }

    .p-newslist__bodyMainItem .target__bodyTitleTxt {
        border-bottom: 0
    }
}

.p-newslist__bodySide {
    flex-shrink: 0
}

@media screen and (max-width:750px) {
    .p-newslist__bodySide {
        overflow-scrolling: touch;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap
    }

    .p-newslist__bodySide::-webkit-scrollbar {
        display: none
    }

    .p-newslist__bodySide {
        border-bottom: 1px solid rgba(46, 59, 146, .1);
        margin-left: -7.69231%;
        padding: 1em 0;
        width: 115.38462%
    }

    .p-newslist__bodySideList {
        display: flex;
        margin: 0 6.66667%
    }
}

.p-newslist__bodySideList .item:not(:first-of-type) {
    margin-top: .875em
}

@media screen and (max-width:750px) {
    .p-newslist__bodySideList .item:not(:first-of-type) {
        margin: 0 0 0 2.125em
    }
}

.p-newslist__bodySideList .item:last-of-type {
    padding-right: 2.125em
}

.p-newslist__bodySideList .item__target {
    color: #969696
}

.p-newslist__bodySideList .item__target.is-active {
    color: #0069B7
}

.p-newsdtl {
    padding-bottom: 10.625em
}

@media screen and (max-width:640px) {
    .p-newsdtl {
        padding-bottom: 8.5em
    }
}

@media screen and (max-width:415px) {
    .p-newsdtl {
        padding-bottom: 6.375em
    }
}

.p-newsdtl__post .u-section {
    max-width: 51.25em
}

.p-newsdtl__postTop {
    border-bottom: 1px solid rgba(46, 59, 146, .1);
    padding-bottom: 2.3125em
}

.p-newsdtl__postTopTitle {
    font-size: 2em;
    line-height: 1.4;
    margin-bottom: .4375em
}

@media screen and (max-width:415px) {
    .p-newsdtl__postTopTitle {
        font-size: 1.6em
    }
}

.p-newsdtl__postContent {
    border-bottom: 1px solid rgba(46, 59, 146, .1);
    margin-top: 2.8125em;
    padding-bottom: 6.25em
}

@media screen and (max-width:415px) {
    .p-newsdtl__postContent {
        padding-bottom: 5em
    }
}

.p-newsdtl__postContentImg {
    margin-bottom: 1.5625em
}

.p-newsdtl__back {
    margin-top: 3.4375em
}

.p-top .u-section {
    max-width: 73.25em
}

.p-top .u-section.is-narrow {
    max-width: 61.25em;
    width: 80%
}

@media screen and (max-width:750px) {
    .p-top .u-section.is-narrow {
        width: 86.66667%
    }
}

.pm-top__title:after {
    background-color: #0069B7;
    content: "";
    display: block;
    height: 1px;
    margin-top: 3.75em;
    opacity: .61;
    width: 3.75em
}

@media screen and (max-width:1024px) {
    .pm-top__title:after {
        margin-top: 1.875em
    }
}

.p-top__mv {
    align-items: center;
    color: #fff;
    display: flex;
    height: 49em;
    overflow: hidden;
    position: relative;
    width: 100%
}

@media screen and (max-height:834px) and (min-width:1025px) {
    .p-top__mv {
        height: calc(100vh - 3.125em)
    }
}

@media screen and (max-width:1024px) {
    .p-top__mv {
        height: auto
    }
}

.p-top__mvBody {
    align-items: flex-end;
    display: flex;
    height: 100%;
    justify-content: space-between;
    padding-bottom: 2em
}

@media screen and (max-width:1024px) {
    .p-top__mvBody {
        font-size: .85em;
        height: auto
    }
}

@media screen and (max-width:750px) {
    .p-top__mvBody {
        display: block;
        font-size: 1em
    }
}

.p-top__mvBodyCta {
    margin-right: calc(50% - 50vw + 3.0625em);
    opacity: 0;
    position: relative;
    z-index: 2
}

@media screen and (max-width:1024px) {
    .p-top__mvBodyCta {
        margin: 0 0 6.93333vw;
        opacity: 1
    }
}

@media screen and (max-width:930px) {
    .p-top__mvBodyCta {
        font-size: .9em
    }
}

@media screen and (max-width:750px) {
    .p-top__mvBodyCta {
        display: flex;
        font-size: 1em;
        justify-content: center;
        margin-top: 4.0625em
    }
}

@media screen and (max-width:640px) {
    .p-top__mvBodyCta .cm-cta {
        font-size: 1em;
        width: 20.5em
    }
}

@media screen and (max-width:415px) {
    .p-top__mvBodyCta .cm-cta {
        font-size: 4.26667vw;
        width: 100%
    }
}

.p-top__mvBodyTxt {
    padding: 0 0 6.5625em 8.36364%;
    pointer-events: none;
    position: relative;
    z-index: 2
}

@media screen and (max-width:840px) {
    .p-top__mvBodyTxt {
        font-size: .9em
    }
}

@media screen and (max-width:1024px) {
    .p-top__mvBodyTxt {
        display: flex;
        flex-direction: column;
        height: 75.2vw;
        justify-content: flex-end;
        padding: 0 0 6.93333vw
    }
}

@media screen and (max-width:750px) {
    .p-top__mvBodyTxt {
        font-size: 2.13333vw;
        height: 102.54545vw;
        padding-bottom: 9.45455vw
    }
}

@media screen and (max-width:415px) {
    .p-top__mvBodyTxt {
        font-size: 2.66667vw;
        height: 150.4vw;
        padding-bottom: 13.86667vw
    }
}

@media screen and (max-width:1024px) {
    .p-top__mvBodyTxt .title {
        font-size: .95em
    }
}

@media screen and (max-width:930px) {
    .p-top__mvBodyTxt .title {
        font-size: .8em
    }
}

.p-top__mvBodyTxt .title__line {
    display: block
}

.p-top__mvBodyTxt .title__line:first-of-type {
    font-size: 2.5em;
    letter-spacing: .06em;
    position: relative
}

.p-top__mvBodyTxt .title__line:first-of-type .title__lineBorder {
    background-color: #fff;
    bottom: -.25em;
    display: block;
    height: .075em;
    left: -.05em;
    opacity: 1;
    position: absolute;
    transform: scaleX(0);
    transform-origin: top left;
    width: 12.5em
}

.p-top__mvBodyTxt .title__line:nth-of-type(2) {
    font-size: 4.5625em;
    letter-spacing: .04em;
    margin: .43836em 0 0 -.08219em
}

.p-top__mvBodyTxt .title__lineTxt {
    display: flex;
    line-height: 1;
    opacity: 0
}

.p-top__mvBodyTxt .title__lineTxt span {
    display: block;
    opacity: 0
}

.p-top__mvBodyTxt .txt {
    letter-spacing: .12em;
    line-height: 2;
    margin-top: 1.75em;
    opacity: 0
}

@media screen and (max-width:640px) {
    .p-top__mvBodyTxt .txt {
        font-size: 1.1875em
    }
}

.p-top__mvBodyTxt .txt .brsp {
    display: none
}

@media screen and (max-width:415px) {
    .p-top__mvBodyTxt .txt .brsp {
        display: block
    }
}

.p-top__mvBg {
    height: 110%;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    width: 100%;
    will-change: transform;
    z-index: 0
}

@media screen and (max-width:1024px) {
    .p-top__mvBg {
        height: 75.2vw;
        top: 0;
        transform: translateZ(0)
    }
}

@media screen and (max-width:750px) {
    .p-top__mvBg {
        height: 102.54545vw
    }
}

@media screen and (max-width:415px) {
    .p-top__mvBg {
        height: 144.61538vw
    }
}

.p-top__mvBg:before {
    background-color: #0a0a0a;
    content: "";
    opacity: .2;
    z-index: 1
}

.p-top__mvBg:before,
.p-top__mvBgBody {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.p-top__mvBgBody {
    z-index: 0
}

.p-top__mvBgBody video {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%
}

.p-top__mvScroll {
    bottom: 2.4375em;
    left: 0;
    opacity: 0;
    position: absolute;
    width: 100%;
    z-index: 1
}

@media screen and (max-width:1024px) {
    .p-top__mvScroll {
        display: none
    }
}

.p-top__mvScrollBody {
    align-items: center;
    color: #fff;
    display: inline-flex;
    flex-direction: column;
    position: relative
}

.p-top__mvScrollBody .txt {
    font-size: .625em;
    letter-spacing: .1em;
    line-height: 1
}

.p-top__mvScrollBody .arrow {
    margin-top: 1em
}

.p-top__mvScrollBody .arrow svg {
    fill: #ffc702;
    height: .6875em;
    width: 1.375em
}

@media (any-hover:hover) {
    .p-top__mvScrollBody {
        overflow: inherit
    }

    .p-top__mvScrollBody .arrow,
    .p-top__mvScrollBody .txt {
        transition: transform .2s
    }

    .p-top__mvScrollBody .arrow {
        transition-delay: .05s
    }

    .p-top__mvScrollBody:hover .arrow,
    .p-top__mvScrollBody:hover .txt {
        transform: translate3d(0, .625em, 0)
    }
}

.p-top__news {
    padding-top: 1.875em
}

.p-top__newsBody {
    align-items: center;
    display: flex;
    justify-content: space-between
}

@media screen and (max-width:1024px) {
    .p-top__newsBody {
        border-bottom: 1px solid #dcdcdc;
        flex-direction: column;
        padding-bottom: 3em
    }
}

.p-top__newsBodyPost {
    position: relative;
    width: 61.00683%
}

@media screen and (max-width:1024px) {
    .p-top__newsBodyPost {
        width: 100%
    }
}

@media screen and (max-width:750px) {
    .p-top__newsBodyPost {
        display: block
    }
}

.p-top__newsBodyPost .title {
    color: #cacaca;
    flex-shrink: 0;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0)
}

@media screen and (max-width:750px) {
    .p-top__newsBodyPost .title {
        position: static;
        transform: translateZ(0)
    }
}

.p-top__newsBodyPost .title:before {
    content: "INFO."
}

@media screen and (max-width:750px) {
    .p-top__newsBodyPost .title:before {
        display: none
    }
}

.p-top__newsBodyPost .title__txt {
    display: none
}

@media screen and (max-width:750px) {
    .p-top__newsBodyPost .title__txt {
        display: block
    }
}

.p-top__newsBodyPost .list {
    margin-left: 12.86713%;
    width: 86.71329%
}

@media screen and (max-width:750px) {
    .p-top__newsBodyPost .list {
        margin: .75em 0 0;
        width: 100%
    }
}

.p-top__newsBodyPost .list__item {
    display: flex;
    font-size: .875em
}

@media screen and (max-width:750px) {
    .p-top__newsBodyPost .list__item {
        display: block
    }
}

.p-top__newsBodyPost .list__itemTarget,
.p-top__newsBodyPost .list__itemTime {
    display: block
}

.p-top__newsBodyPost .list__itemTime {
    margin-right: 1.57143em
}

@media screen and (max-width:750px) {
    .p-top__newsBodyPost .list__itemTime {
        margin: 0 0 .28571em
    }
}

.p-top__newsBodyPost .list__itemTargetBody {
    border-bottom: 1px solid #1a1a1a
}

.p-top__newsBodyNav {
    display: flex;
    flex-shrink: 0
}

@media screen and (max-width:1024px) {
    .p-top__newsBodyNav {
        margin-top: 3.125em;
        position: relative
    }
}

.p-top__newsBodyNav .num {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    font-size: .875em;
    width: auto
}

.p-top__newsBodyNav .num__current {
    color: #0069B7
}

.p-top__newsBodyNav .num__total {
    align-items: center;
    color: #d3d3d3;
    display: flex
}

.p-top__newsBodyNav .num__total:before {
    content: "ー";
    display: block;
    margin: 0 .64286em
}

.p-top__newsBodyNav .nav {
    display: flex;
    margin-left: 1.1875em
}

@media screen and (max-width:1024px) {
    .p-top__newsBodyNav .nav {
        display: block;
        margin-left: 0
    }

    .p-top__newsBodyNav .nav__item {
        position: absolute;
        top: 50%;
        transform: translate3d(0, -50%, 0)
    }
}

.p-top__newsBodyNav .nav__item:first-of-type {
    margin-right: .3125em
}

@media screen and (max-width:1024px) {
    .p-top__newsBodyNav .nav__item:first-of-type {
        left: -3.75em;
        margin-right: 0
    }

    .p-top__newsBodyNav .nav__item:nth-of-type(2) {
        right: -3.75em
    }
}

.p-top__newsBodyNav .nav__itemBtn {
    align-items: center;
    -webkit-appearance: none;
    appearance: none;
    background-color: #e6e8f7;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    height: 2.5em;
    justify-content: center;
    outline: 0;
    position: relative;
    width: 2.5em
}

.p-top__newsBodyNav .nav__itemBtn[aria-disabled=true] {
    opacity: .4;
    pointer-events: none
}

.p-top__newsBodyNav .nav__itemBtnArrow {
    display: block;
    position: relative;
    z-index: 1
}

.p-top__newsBodyNav .nav__itemBtnArrow svg {
    fill: #0069B7;
    height: .5em;
    width: 1.0625em
}

@media (any-hover:hover) {
    .p-top__newsBodyNav .nav__itemBtn:before {
        border: 1px solid #e6e8f7;
        border-radius: 50%;
        content: "";
        display: block;
        height: 100%;
        left: 0;
        opacity: 0;
        position: absolute;
        top: 0;
        width: 100%
    }

    .p-top__newsBodyNav .nav__itemBtn:hover:before {
        animation: hovercircle .8s cubic-bezier(.785, .135, .15, .86)
    }

    .p-top__newsBodyNav .nav__itemBtn.is-prev:hover .nav__itemBtnArrow svg {
        animation: linkhoverreverse .3s cubic-bezier(.86, 0, .07, 1)
    }

    .p-top__newsBodyNav .nav__itemBtn.is-next:hover .nav__itemBtnArrow svg {
        animation: linkhover .3s cubic-bezier(.86, 0, .07, 1)
    }
}

@keyframes hovercircle {
    0% {
        opacity: 1;
        transform: scale(1)
    }

    to {
        opacity: 0;
        transform: scale(1.4)
    }
}

@keyframes linkhover {
    0% {
        opacity: 1
    }

    50% {
        opacity: 0;
        transform: translate3d(100%, 0, 0)
    }

    55% {
        opacity: 0;
        transform: translate3d(-100%, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes linkhoverreverse {
    0% {
        opacity: 1
    }

    50% {
        opacity: 0;
        transform: translate3d(-100%, 0, 0)
    }

    55% {
        opacity: 0;
        transform: translate3d(100%, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.p-top__newsProgress {
    background-color: #dcdcdc;
    height: 1px;
    margin-top: 1.875em;
    position: relative
}

@media screen and (max-width:1024px) {
    .p-top__newsProgress {
        display: none
    }
}

.p-top__newsProgressLine {
    background-color: #0069B7;
    height: 100%;
    left: 0;
    opacity: .62;
    position: absolute;
    top: 0;
    transform: scaleX(0);
    transform-origin: top left;
    width: 100%
}

.p-top__employee {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    padding-top: 5em;
	padding-bottom: 8em;
    position: relative
}

@media screen and (max-width:1024px) {
    .p-top__employee {
        flex-direction: column
    }
}

.p-top__employeeContent {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    margin-left: -.68259%
}

@media screen and (max-width:1024px) {
    .p-top__employeeContent {
        display: block;
        margin-left: 0
    }
}

.p-top__employeeContentTitle {
    color: #0069B7;
    font-size: 2.5em;
    letter-spacing: normal;
    line-height: 1.5
}

@media screen and (max-width:640px) {
    .p-top__employeeContentTitle {
        font-size: 2em
    }
}

@media screen and (max-width:415px) {
    .p-top__employeeContentTitle {
        font-size: 7.27273vw
    }
}

.p-top__employeeContentTxt {
    margin: 2.1875em 3.4375em 0 0;
    text-align: justify;
    width: 20.625em
}

@media screen and (max-width:1024px) {
    .p-top__employeeContentTxt {
        margin-right: 0;
        width: auto
    }
}

.p-top__employeeContentTxt p:not(:first-of-type) {
    margin-top: 1.5625em
}

.p-top__employeeList {
    margin: 2.625em 0 0 -10.06826%;
    width: 73.37884%
}

@media screen and (max-width:1024px) {
    .p-top__employeeList {
        margin: 3.75em 0 0;
        width: 100%
    }
}

@media screen and (max-width:750px) {
    .p-top__employeeList {
        margin-left: -7.69231%;
        overflow: hidden;
        width: 115.38462%
    }
}

@media screen and (max-width:415px) {
    .p-top__employeeList {
        font-size: .8em
    }
}

@media screen and (max-width:750px) {
    .p-top__employeeList .swiper {
        padding-left: 6.66667%;
        padding-right: 6.66667%
    }

    .p-top__employeeList .swiper-wrapper {
        width: 67.5em
    }
}

.p-top__employeeList .swiper-slide {
    display: flex;
    flex-wrap: wrap;
    height: auto
}

@media screen and (max-width:750px) {
    .p-top__employeeList .swiper-slide {
        width: 53.75em
    }
}

.p-top__employeeListItem {
    border-radius: .375em;
    margin-bottom: .69767%;
    margin-right: .69767%;
    overflow: hidden;
    padding-top: 27.09302%;
    position: relative;
    width: 19.44186%;
}

.p-top__employeeListItem:nth-of-type(4) {
    margin-right: 8.13953%
}

@media screen and (max-width:750px) {
    .p-top__employeeListItem:nth-of-type(4) {
       /* margin-right: 0*/
    }
}

.p-top__employeeListItem:nth-of-type(5) {
    margin-left: 8.13953%
}

@media screen and (max-width:750px) {
    .p-top__employeeListItem:nth-of-type(5) {
        margin-left: 0
    }
}

.p-top__employeeListItem:last-of-type {
    margin-right: 0
}

.p-top__employeeListItem:before {
    background: linear-gradient(180deg, transparent 0, transparent 20%, rgba(29, 29, 29, .6));
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

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

.p-top__employeeListItem .txt {
    bottom: 1.07143em;
    color: #fff;
    font-size: .875em;
    left: 1.42857em;
    line-height: 1.5;
    padding-right: 1.42857em;
    position: absolute;
    z-index: 2
}

@media screen and (max-width:415px) {
    .p-top__employeeListItem .txt {
        font-size: 1em
    }
}

.p-top__employeeListScroll {
    display: none
}

@media screen and (max-width:750px) {
    .p-top__employeeListScroll {
        display: block;
        margin: 2.1875em 0 0 9.46667vw;
        width: 67.73333vw
    }
}

.p-top__feature {
    padding: 8.1875em 0 12.1875em
}

@media screen and (max-width:750px) {
    .p-top__feature {
        padding: 2.5em 0 6.25em
    }
}

.p-top__featureBody {
    display: flex;
    justify-content: space-between
}

@media screen and (max-width:1024px) {
    .p-top__featureBody {
        display: block
    }
}

.p-top__featureBodyLeft {
    flex-basis: 16.5625em;
    flex-shrink: 0;
    padding-top: 10.875em;
    position: relative
}

@media screen and (max-width:1280px) {
    .p-top__featureBodyLeft {
        flex-basis: 15.625em
    }
}

@media screen and (max-width:1024px) {
    .p-top__featureBodyLeft {
        padding-top: 0
    }
}

.p-top__featureBodyLeft:before {
    background-color: #dcdcdc;
    content: "";
    display: block;
    height: 1px;
    left: -18.11321%;
    position: absolute;
    top: 0;
    width: 118.11321%
}

@media screen and (max-width:1024px) {
    .p-top__featureBodyLeft:before {
        display: none
    }
}

.p-top__featureBodyLeft:after {
    background-color: #dcdcdc;
    content: "";
    display: block;
    height: .3125em;
    position: absolute;
    right: -.1875em;
    top: -.125em;
    width: .3125em
}

@media screen and (max-width:1024px) {
    .p-top__featureBodyLeft:after {
        display: none
    }
}

.p-top__featureBodyLeft .txt {
    font-size: .9375em;
    margin-top: 2.33333em;
    text-align: justify;
    width: 75.4717%
}

@media screen and (max-width:1024px) {
    .p-top__featureBodyLeft .txt {
        width: auto
    }
}

.p-top__featureBodyRight {
    border-bottom: 0px solid #dcdcdc;
    border-left: 0px solid #dcdcdc;
    flex-grow: 1;
    /*padding: 7.6875em 0 6.25em 6.05802%;*/
    position: relative
}

@media screen and (max-width:1024px) {
    .p-top__featureBodyRight {
        border-bottom: 0;
        border-left: 0;
        padding: 3.75em 0 0
    }
}

.p-top__featureBodyRight:before {
    background-color: #dcdcdc;
    bottom: -.1875em;
    content: "";
    display: block;
    height: .3125em;
    left: -.1875em;
    position: absolute;
    /*width: .3125em*/
}

@media screen and (max-width:1024px) {
    .p-top__featureBodyRight:before {
        display: none
    }
}

@media screen and (max-width:750px) {
    .p-top__featureBodyRight .list {
        width: 52.25em
    }
}

.p-top__featureBodyRight .list .swiper {
    margin-left: -1.43541%;
    padding-left: 1.43541%
}

@media screen and (max-width:750px) {
    .p-top__featureBodyRight .list .swiper {
        margin-left: .75em;
        overflow: visible;
        padding-left: 0;
        width: 15.9375em
    }
}

.p-top__featureBodyRight .list .swiper-wrapper {
    justify-content: space-between
}

@media screen and (max-width:750px) {
    .p-top__featureBodyRight .list .swiper-wrapper {
        justify-content: flex-start
    }
}

.p-top__featureBodyRight .list__item {
    display: flex;
    flex-basis: 30.50239%;
    flex-direction: column
}

@media screen and (max-width:750px) {
    .p-top__featureBodyRight .list__item {
        flex-basis: 100%
    }
}

.p-top__featureBodyRight .list__itemImg {
    border-radius: .375em;
    order: 1;
    overflow: hidden;
    padding-top: 143.52941%;
    z-index: 0
}

.p-top__featureBodyRight .list__itemTitle {
    display: flex;
    flex-direction: column;
    margin: -4em 0 0 -4.70588%;
    order: 2;
    position: relative;
    z-index: 1
}

.p-top__featureBodyRight .list__itemTitleTxt {
    display: inline-flex;
    font-size: 1.25em;
    line-height: 1
}

.p-top__featureBodyRight .list__itemTitleTxt:first-of-type .list__itemTitleTxtBody {
    background-color: #0069B7;
    color: #fff
}

.p-top__featureBodyRight .list__item:nth-of-type(odd) .list__itemTitleTxt:first-of-type .list__itemTitleTxtBody,
.p-top__featureBodyRight .list__itemTitleTxt:nth-of-type(2) .list__itemTitleTxtBody {
    background-color: #fff;
    border: 2px solid #0069B7;
    color: #0069B7
}

.p-top__featureBodyRight .list__item:nth-of-type(odd) .list__itemTitleTxt:nth-of-type(2) .list__itemTitleTxtBody {
    background-color: #0069B7;
    color: #fff
}

.p-top__featureBodyRight .list__itemTitleTxtBody {
    align-items: center;
    display: flex;
    padding: .55em .4em .4em
}

.p-top__featureBodyRight .list__itemTxt {
    font-size: .9375em;
    order: 3;
    padding-right: 1.6em
}

.p-top__featureBodyRight .list__itemTxt:before {
    background-color: #0069B7;
    content: "";
    display: block;
    height: 2px;
    margin: 2em 0 .86667em;
    opacity: .61;
    width: 1.73333em
}

.p-top__featureBodyRight .scroll {
    display: none
}

@media screen and (max-width:750px) {
    .p-top__featureBodyRight .scroll {
        display: block;
        margin: 2.1875em 0 0 9.46667vw;
        width: 67.73333vw
    }
}

.p-top__featureBodyRight .num {
    background-color: #0069B7;
    border-radius: .375em;
    color: #fff;
    display: flex;
    justify-content: space-between;
    margin-top: 5.3125em;
	margin-bottom: 2em;
    padding: 4.78469% 4.06699%
}

@media screen and (max-width:750px) {
    .p-top__featureBodyRight .num {
        flex-direction: column;
        padding: 2.5em 2.125em
    }
}

@media screen and (max-width:415px) {
    .p-top__featureBodyRight .num {
        padding: 2em 1.7em
    }
}

.p-top__featureBodyRight .num__item {
    background-color: #fff;
    border-radius: .375em;
    flex-basis: 32.55208%
}

@media screen and (max-width:750px) {
    .p-top__featureBodyRight .num__item {
        flex-basis: auto
    }

    .p-top__featureBodyRight .num__item:not(:first-of-type) {
        margin-top: 1.25em
    }
}

@media screen and (max-width:750px) and screen and (max-width:415px) {
    .p-top__featureBodyRight .num__item:not(:first-of-type) {
        margin-top: 1em
    }
}

.p-top__featureBodyRight .num__itemBlock {
    align-items: center;
    color: #1a1a1a;
    display: flex;
    flex-direction: column;
    padding: 2.1875em 0 1.4375em;
    text-align: center
}

@media screen and (max-width:750px) {
    .p-top__featureBodyRight .num__itemBlock {
        flex-direction: row
    }
}

@media screen and (max-width:415px) {
    .p-top__featureBodyRight .num__itemBlock {
        font-size: .9em
    }
}

@media screen and (max-width:320px) {
    .p-top__featureBodyRight .num__itemBlock {
        font-size: .8em
    }
}

.p-top__featureBodyRight .num__itemBlockTitle {
    align-items: center;
    color: #0069B7;
    display: flex;
    flex-direction: column;
    line-height: 1
}

@media screen and (max-width:750px) {
    .p-top__featureBodyRight .num__itemBlockTitle {
        flex-grow: 1;
        margin: 0 .625em
    }
}

@media screen and (max-width:415px) {
    .p-top__featureBodyRight .num__itemBlockTitle {
        font-size: .85em
    }
}

.p-top__featureBodyRight .num__itemBlockTitleTxt {
    display: block
}

.p-top__featureBodyRight .num__itemBlockTitleTxt:first-of-type,
.p-top__featureBodyRight .num__itemBlockTitleTxt:nth-of-type(3) {
    font-size: 1.25em
}

.p-top__featureBodyRight .num__itemBlockTitleTxt:nth-of-type(2) {
    margin: 0.2em 0
}

.p-top__featureBodyRight .num__itemBlockTxt {
    font-size: .875em;
    line-height: 1.5;
    margin: 1em auto 0
}

@media screen and (max-width:750px) {
    .p-top__featureBodyRight .num__itemBlockTxt {
        font-size: 1em;
        margin: 0 .9375em 0 0;
        width: 9.375em
    }

    .p-top__featureBodyRight .num__itemBlockTxt .br {
        display: none
    }
}

.p-top__service {
    overflow: hidden
}

.p-top__serviceBody .cm-service {
    padding-top: 10.1875em;
    position: relative
}

@media screen and (max-width:750px) {
    .p-top__serviceBody .cm-service {
        padding-top: 6.25em
    }
}

.p-top__serviceBody .cm-service:before {
    background-color: #f7f7fa;
    content: "";
    display: block;
    height: 100%;
    left: calc(50% - 50vw);
    position: absolute;
    top: 0;
    width: calc(50vw + 41.72355%)
}

@media screen and (max-width:1024px) {
    .p-top__serviceBody .cm-service:before {
        width: 100vw
    }
}

.p-top__serviceBody .cm-service__subBlock {
    padding-bottom: 9.375em
}

.p-top__serviceBody .cm-service__subBlock:first-of-type {
    padding-bottom: 4.25em
}

@media screen and (max-width:1024px) {
    .p-top__serviceBody .cm-service__subBlock:nth-of-type(2) {
        padding-bottom: 6.25em
    }
}

.p-top__case {
    padding: 19.375em 0 10.375em;
    position: relative
}

@media screen and (max-width:1024px) {
    .p-top__case {
        padding: 6.875em 0 7.5em
    }
}

@media screen and (max-width:415px) {
    .p-top__case {
        padding: 5.625em 0 6.25em
    }
}

.p-top__caseTop {
    display: flex;
    justify-content: space-between;
    margin-bottom: 2.8125em;
    position: relative;
    width: 42.32082%;
    z-index: 1
}

@media screen and (max-width:1024px) {
    .p-top__caseTop {
        margin-bottom: 1.875em;
        width: 100%
    }
}

@media screen and (max-width:640px) {
    .p-top__caseTop {
        display: block
    }
}

.p-top__caseTop .pm-top__title {
    flex-shrink: 0
}

.p-top__caseTopTxt {
    font-size: .9375em;
    width: 62.5%
}

@media screen and (max-width:1024px) {
    .p-top__caseTopTxt {
        margin-left: 4.0404%;
        width: 78.62903%
    }
}

@media screen and (max-width:640px) {
    .p-top__caseTopTxt {
        margin: 2em 0 0;
        width: auto
    }
}

.p-top__caseTopTxt .txt {
    margin-bottom: 2.33333em
}

.p-top__caseImg {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    margin-left: 20.22184%;
    width: 87.45734%
}

@media screen and (max-width:1024px) {
    .p-top__caseImg {
        margin-left: 0;
        width: 100%
    }
}

.p-top__caseImgItem {
    position: relative;
    z-index: 0
}

.p-top__caseImgItem:first-of-type {
    left: 50.3413%;
    padding-top: 28.41297%;
    position: absolute;
    top: 10.875em;
    width: 27.38908%
}

@media screen and (max-width:1024px) {
    .p-top__caseImgItem:first-of-type {
        display: none
    }
}

.p-top__caseImgItem:nth-of-type(2) {
    margin-top: 2.875em;
    padding-top: 37.7561%;
    width: 40.68293%
}

.p-top__caseImgItem:nth-of-type(3) {
    padding-top: 51.21951%;
    width: 50.04878%
}

.p-top__imglist {
    display: flex;
    justify-content: space-between;
	margin:10em 0;
}

@media screen and (max-width:1024px) {
    .p-top__imglist {
        display: block
    }
}

.p-top__imglistL {
    flex-basis: 56.06667%;
    padding-top: 44.8125em
}

@media screen and (max-width:750px) {
    .p-top__imglistL {
        padding-top: 93.6vw
    }
}

.p-top__imglistR {
    display: flex;
    flex-basis: 43.53333%;
    flex-direction: column;
    justify-content: space-between
}

@media screen and (max-width:1024px) {
    .p-top__imglistR {
        height: 52.5em;
        margin-top: .91884%
    }
}

@media screen and (max-width:750px) {
    .p-top__imglistR {
        height: 112.26667vw
    }
}

.p-top__imglistRTop {
    height: 62.76151%
}

.p-top__imglistRBtm {
    display: flex;
    height: 36.40167%;
    justify-content: space-between
}

.p-top__imglistRBtm .item:first-of-type {
    flex-basis: 58.65237%
}

.p-top__imglistRBtm .item:nth-of-type(2) {
    flex-basis: 40.42879%
}

.p-top__individual {
    margin-top: 9.1875em;
    position: relative
}

@media screen and (max-width:415px) {
    .p-top__individual {
        margin-top: 7.35em
    }
}

.p-top__individualBody {
    padding: 3.5625em 4.79592% 2.75em 38.57143%;
    position: relative;
    z-index: 1
}

@media screen and (max-width:750px) {
    .p-top__individualBody {
        padding-left: 4.79592%
    }
}

.p-top__individualBodyTitle {
    align-items: center;
    background: url(assets/images/top/individual-baloon.svg) 0 0/cover no-repeat;
    color: #0069B7;
    display: flex;
    font-size: 1.0625em;
    height: 2.82353em;
    justify-content: center;
    left: 35.20408%;
    position: absolute;
    top: -.76471em;
    width: 9.58824em
}

@media screen and (max-width:750px) {
    .p-top__individualBodyTitle {
        left: 50%;
        margin-left: -5.125em
    }
}

.p-top__individualBodyTitle .txt {
    margin-bottom: .29412em
}

.p-top__individualBodySubtitle {
    color: #0069B7;
    font-size: 1.5625em;
    letter-spacing: .06em;
    line-height: 1.5;
    padding-left: .44em;
    position: relative
}

@media screen and (max-width:415px) {
    .p-top__individualBodySubtitle {
        font-size: 1.375em
    }
}

.p-top__individualBodySubtitle:before {
    border-color: #ebba36 transparent transparent;
    border-style: solid;
    border-width: .36em .36em 0 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    top: 0
}

@media screen and (max-width:1120px) {
    .p-top__individualBodySubtitle .br {
        display: none
    }
}

.p-top__individualBodyImg {
    border-radius: .375em;
    left: 2.44898%;
    overflow: hidden;
    padding-top: 21.42857%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    width: 30%
}

@media screen and (max-width:750px) {
    .p-top__individualBodyImg {
        margin-top: 1.25em;
        padding-top: 71.42857%;
        position: static;
        transform: translateZ(0);
        width: 100%
    }
}

.p-top__individualBodyPrice {
    align-items: flex-end;
    color: #0069B7;
    display: flex;
    line-height: 1;
    margin-top: 1.125em
}

@media screen and (max-width:750px) {
    .p-top__individualBodyPrice {
        justify-content: center;
        margin: 2em 0
    }
}

.p-top__individualBodyPrice .txt {
    font-size: .9375em
}

.p-top__individualBodyPrice .num {
    margin: 0 .5em 0 .6875em;
    width: 4.875em
}

.p-top__individualBodyPrice .yen {
    font-size: 2.25em
}

.p-top__individualBodyLink {
    bottom: 1.4375em;
    position: absolute;
    right: 4.79592%
}

@media screen and (max-width:750px) {
    .p-top__individualBodyLink {
        position: static;
        text-align: center
    }
}

.p-top__individualBg {
    background-color: #e6f1fc;
    border-radius: .375em;
    height: 100%;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

.p-top__individualBg:before {
    border-color: #d2e6fa transparent transparent;
    border-style: solid;
    border-width: 14.5625em 14.5625em 0 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    top: 0
}

.p-top__other {
    display: flex;
    margin-top: 7.375em;
    padding-bottom: 7.5em;
    position: relative
}

@media screen and (max-width:1024px) {
    .p-top__other {
        display: block
    }
}

.p-top__other:before {
    background-color: #dcdcdc;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    top: 4.0625em;
    width: 100%
}

@media screen and (max-width:1024px) {
    .p-top__other:before {
        display: none
    }
}

.p-top__otherBlock {
    align-items: flex-end;
    display: flex;
    flex-direction: column
}

@media screen and (max-width:1024px) {
    .p-top__otherBlock {
        align-items: flex-start
    }
}

.p-top__otherBlock .c-title {
    flex-shrink: 0;
    font-size: .7em;
    height: 5.6875em
}

@media screen and (max-width:1024px) {
    .p-top__otherBlock .c-title {
        font-size: 1em;
        height: auto
    }
}

.p-top__otherBlock:first-of-type {
    flex-basis: 32.65306%;
    padding-right: 6.63265%
}

@media screen and (max-width:1024px) {
    .p-top__otherBlock:first-of-type {
        padding-right: 0
    }
}

.p-top__otherBlock:nth-of-type(2) {
    flex: 1
}

.p-top__otherBlockImg {
    padding: 3.125em 0;
    width: 100%
}

@media screen and (max-width:1024px) {
    .p-top__otherBlockImg {
        padding: 1.875em 0 6.25em
    }
}

.p-top__otherBlockImg .c-img {
    border-radius: .375em;
    overflow: hidden;
    padding-top: 100%
}

@media screen and (max-width:1024px) {
    .p-top__otherBlockImg .c-img {
        padding-top: 54.0625%
    }
}

.p-top__otherBlockList {
    border-left: 1px solid #dcdcdc;
    display: flex;
    height: 100%;
    justify-content: flex-end;
    padding: 3.125em 0;
    position: relative;
    width: 100%
}

@media screen and (max-width:1024px) {
    .p-top__otherBlockList {
        border-left: 0;
        flex-direction: column;
        height: 23.125em;
        height: auto;
        padding: 1.875em 0 0
    }
}

.p-top__otherBlockList:before {
    background-color: #dcdcdc;
    content: "";
    display: block;
    height: .3125em;
    left: -.1875em;
    position: absolute;
    top: -.0625em;
    width: .3125em
}

@media screen and (max-width:1024px) {
    .p-top__otherBlockList:before {
        display: none
    }
}

.p-top__otherBlockList .item {
    flex-basis: 30.60606%;
    height: 100%
}

@media screen and (max-width:1024px) {
    .p-top__otherBlockList .item {
        flex-basis: auto;
        height: 37.33333vw
    }
}

.p-top__otherBlockList .item:not(:first-of-type) {
    margin-left: .90909%
}

@media screen and (max-width:1024px) {
    .p-top__otherBlockList .item:not(:first-of-type) {
        margin: 4.57143% 0 0
    }
}

.p-top__otherBlockList .item__target {
    align-items: flex-end;
    border-radius: .375em;
    display: flex;
    height: 100%;
    position: relative;
    z-index: 0
}

@media screen and (max-width:1024px) {
    .p-top__otherBlockList .item__target {
        align-items: center
    }
}

.p-top__otherBlockList .item__target:before {
    background: linear-gradient(180deg, transparent 0, transparent 40%, rgba(0, 0, 0, .6));
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

@media screen and (max-width:1024px) {
    .p-top__otherBlockList .item__target:before {
        background: rgba(0, 0, 0, .4)
    }
}

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

.p-top__otherBlockList .item__targetTxt {
    color: #fff;
    padding: 0 0 1.125em 1.125em;
    position: relative;
    z-index: 2
}

@media screen and (max-width:1024px) {
    .p-top__otherBlockList .item__targetTxt {
        font-size: 1.5em;
        padding-bottom: 0
    }
}

@media screen and (max-width:415px) {
    .p-top__otherBlockList .item__targetTxt {
        font-size: 1.1em
    }
}

.p-top__otherBlockList .item__targetTxtEn,
.p-top__otherBlockList .item__targetTxtJp {
    display: block;
    line-height: 1.4
}

.p-top__otherBlockList .item__targetTxtJp {
    font-size: 1.0625em
}

.p-top__otherBlockList .item__targetTxtEn {
    font-size: .625em;
    margin-top: .5em
}

.p-contact__body {
    max-width: 44.375em;
    padding-bottom: 12.5em
}

@media screen and (max-width:640px) {
    .p-contact__body {
        padding-bottom: 10em
    }
}

@media screen and (max-width:415px) {
    .p-contact__body {
        padding-bottom: 7.5em
    }
}

.p-contact__bodyTxt .caution {
    color: #d7072e
}

@media screen and (max-width:750px) {
    .p-contact__bodyTxt .br {
        display: none
    }
}

.p-contact__bodyForm {
    align-items: flex-start;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin-top: 2.5em
}

@media screen and (max-width:640px) {
    .p-contact__bodyForm {
        display: block
    }
}

.p-contact__bodyFormMain {
    flex-basis: 74.22535%;
    margin-left: 2.8169%
}

@media screen and (max-width:640px) {
    .p-contact__bodyFormMain {
        margin-left: 0
    }
}

.p-contact__bodyFormMain .body__row {
    font-size: .9375em
}

.p-contact__bodyFormMain .body__row:not(:first-of-type) {
    margin-top: 1.875em
}

.p-contact__bodyFormMain .body__row .title__caution {
    color: #d7072e
}

.p-contact__bodyFormMain .body__rowInput {
    margin-top: .33333em
}

.p-contact__bodyFormMain .body__rowInput .c-txtbox {
    height: 3.66667em;
    width: 100%
}

.p-contact__bodyFormMain .body__rowInput .c-txtarea {
    min-height: 10.4em;
    width: 100%
}

.p-contact__bodyFormMain .body__rowInput.error .c-txtarea,
.p-contact__bodyFormMain .body__rowInput.error .c-txtbox {
    background-color: #fac4b3
}

.p-contact__bodyFormMain .body__rowInput.error .validationMessage {
    color: #c35656;
    display: block;
    font-size: .93333em;
    margin-top: 10px
}

.p-contact__bodyFormMain .btn {
    margin-top: 3.25em;
    text-align: center
}

.p-contact__bodyFormMain .btn__body {
    align-items: center;
    -webkit-appearance: none;
    appearance: none;
    background: #0069B7;
    border: 0;
    border-radius: 2.75em;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    height: 5.5em;
    justify-content: center;
    outline: 0;
    width: 20.6875em
}

.p-contact__bodyFormMain .btn__bodyTxt {
    font-size: 1.25em;
    line-height: 1
}

.p-contact__bodyFormMain .btn__loading {
    display: none
}

.p-contact__bodyFormMain .btn__loading img {
    margin-top: 1.25em;
    width: 2.5em
}

.p-contact__bodyFormMain .results p {
    border: .1875em solid #7baac0;
    display: none;
    margin-top: 3.75em;
    padding: 1.25em
}

.p-contact__bodyFormReq {
    align-items: center;
    background-image: url(assets/images/contact/require-pc.svg);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    height: 10.875em;
    justify-content: center;
    width: 4.1875em
}

@media screen and (max-width:640px) {
    .p-contact__bodyFormReq {
        background-image: url(assets/images/contact/require-sp.svg);
        bottom: 1.25em;
        height: 4.1875em;
        left: 50%;
        margin-left: -5.4375em;
        position: fixed;
        width: 10.875em
    }
}

.p-contact__bodyFormReq .body {
    margin-right: .75em
}

@media screen and (max-width:640px) {
    .p-contact__bodyFormReq .body {
        margin: .75em 0 0
    }

    .p-contact__bodyFormReq .body__txt {
        font-feature-settings: "palt";
        line-height: 1.5;
        width: auto;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb
    }
}

.p-contact__bodyFormReq .body__txtCaution {
    color: #d7072e;
    text-orientation: upright
}

.p-privacy__body {
    line-height: 2;
    padding: 4.6875em 0 12.5em
}

@media screen and (max-width:640px) {
    .p-privacy__body {
        padding: 3.75em 0 10em
    }
}

@media screen and (max-width:415px) {
    .p-privacy__body {
        padding: 2.8125em 0 7.5em
    }
}

:is(.p-privacy__bodyIntro p, .p-privacy__bodyIntro ul):not(:first-child) {
    margin-top: 2.1875em
}

.p-privacy__bodyIntro li {
    margin-left: .5em;
    text-indent: -.5em
}

.p-privacy__bodyMain {
    margin-top: 5.9375em
}

.p-privacy__bodyMainBlock:not(:first-child) {
    margin-top: 5em
}

.p-privacy__bodyMainBlock .title {
    color: #0069B7;
    font-size: 1.75em;
    line-height: 1.4;
    margin-bottom: 1em
}

:is(.p-privacy__bodyMainBlock .txt p, .p-privacy__bodyMainBlock .txt ul):not(:first-child) {
    margin-top: 2.1875em
}

.p-privacy__bodyMainBlock .txt li {
    margin-left: .5em;
    text-indent: -.5em
}

.p-company__body {
    border-top: 1px solid #dcdcdc;
    margin-top: 6.5625em;
    padding-bottom: 12.5em
}

@media screen and (max-width:1024px) {
    .p-company__body {
        border-top: 0
    }
}

@media screen and (max-width:640px) {
    .p-company__body {
        margin-top: 5.25em;
        padding-bottom: 10em
    }
}

@media screen and (max-width:415px) {
    .p-company__body {
        margin-top: 3.9375em;
        padding-bottom: 7.5em
    }
}

.p-company__bodyBlock .cm-otherlink__body .swiper {
    overflow: inherit
}

.p-company__bodyBlock .cm-otherlink__bodyItem {
    padding-top: 3.375em;
    position: relative;
    width: 28.18182%
}

@media screen and (max-width:1024px) {
    .p-company__bodyBlock .cm-otherlink__bodyItem {
        padding-top: 0
    }
}

.p-company__bodyBlock .cm-otherlink__bodyItem:not(:last-of-type):after,
.p-company__bodyBlock .cm-otherlink__bodyItem:not(:last-of-type):before {
    content: "";
    display: block;
    position: absolute
}

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

    .p-company__bodyBlock .cm-otherlink__bodyItem:not(:last-of-type):after,
    .p-company__bodyBlock .cm-otherlink__bodyItem:not(:last-of-type):before {
        display: none
    }
}

.p-company__bodyBlock .cm-otherlink__bodyItem:not(:last-of-type):before {
    background-color: #dcdcdc;
    height: 100%;
    right: -13.54839%;
    top: 0;
    width: 1px
}

.p-company__bodyBlock .cm-otherlink__bodyItem:not(:last-of-type):after {
    background-color: #dcdcdc;
    height: .3125em;
    right: calc(-13.54839% - .125em);
    top: -.1875em;
    width: .3125em
}

.p-service__body {
    padding: 6.5625em 0 12.5em
}

@media screen and (max-width:640px) {
    .p-service__body {
        padding: 5.25em 0 10em
    }
}

@media screen and (max-width:415px) {
    .p-service__body {
        padding: 3.9375em 0 7.5em
    }
}

.p-service__body .u-section {
    max-width: 73.25em
}

.p-individual__body {
    padding: 5.9375em 0 10.625em
}

@media screen and (max-width:415px) {
    .p-individual__body {
        padding: 4.75em 0 8.5em
    }
}

.p-individual__bodyMainBlock:not(:first-of-type) {
    border-top: 1px solid rgba(46, 59, 146, .1);
    margin-top: 7.8125em;
    padding-top: 7.8125em
}

.p-individual__bodyMainBlock .intro {
    margin: 1.5625em 0 4.375em
}

.p-individual__bodyMainBlock .block:not(:first-of-type) {
    margin-top: 5.9375em
}

.p-individual__bodyMainBlock .block .c-numtitle {
    margin-bottom: 1.90476em
}

.p-individual__bodyMainBlock .block__feature {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 -3.75em -3.816793893129771%
}

@media screen and (max-width:750px) {
    .p-individual__bodyMainBlock .block__feature {
        display: block;
        margin-bottom: 0
    }
}

.p-individual__bodyMainBlock .block__featureBlock {
    display: flex;
    flex-basis: 46.32352941176471%;
    flex-direction: column;
    margin: 0 0 3.75em 3.676470588235294%
}

@media screen and (max-width:750px) {
    .p-individual__bodyMainBlock .block__featureBlock {
        margin-bottom: 3.125em
    }
}

.p-individual__bodyMainBlock .block__featureBlockTitle {
    margin: -3.75em 0 0 4.49735%;
    order: 2;
    position: relative;
    z-index: 1
}

@media screen and (max-width:1120px) {
    .p-individual__bodyMainBlock .block__featureBlockTitle {
        font-size: .85em
    }
}

.p-individual__bodyMainBlock .block__featureBlockTitleTxt {
    display: block
}

.p-individual__bodyMainBlock .block__featureBlockTitleTxtBody {
    align-items: center;
    background-color: #fff;
    border: 2px solid #0069B7;
    color: #0069B7;
    display: inline-flex;
    font-size: 1.25em;
    height: 2.1em;
    padding: 0 .5em
}

.p-individual__bodyMainBlock .block__featureBlockTitle.is-reverse .block__featureBlockTitleTxt:first-of-type .block__featureBlockTitleTxtBody,
.p-individual__bodyMainBlock .block__featureBlockTitleTxt:nth-of-type(2) .block__featureBlockTitleTxtBody {
    background-color: #0069B7;
    color: #fff
}

.p-individual__bodyMainBlock .block__featureBlockTitle.is-reverse .block__featureBlockTitleTxt:nth-of-type(2) .block__featureBlockTitleTxtBody {
    background-color: #fff;
    color: #0069B7
}

.p-individual__bodyMainBlock .block__featureBlockImg {
    border-radius: .375em;
    order: 1;
    overflow: hidden;
    padding-top: 75.11013%;
    z-index: 0
}

.p-individual__bodyMainBlock .block__featureBlockTxt {
    font-size: .9375em;
    margin: 1.46667em 4.49735% 0;
    order: 3
}

.p-individual__bodyMainBlock .block__items {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 -1.14504% -1.14504%
}

.p-individual__bodyMainBlock .block__itemsBox {
    flex-basis: 18.86792%;
    margin: 0 0 1.13208% 1.13208%
}

@media screen and (max-width:1024px) {
    .p-individual__bodyMainBlock .block__itemsBox {
        flex-basis: 23.86792%
    }
}

@media screen and (max-width:640px) {
    .p-individual__bodyMainBlock .block__itemsBox {
        flex-basis: 32.20126%
    }
}

@media screen and (max-width:415px) {
    .p-individual__bodyMainBlock .block__itemsBox {
        flex-basis: 48.86792%
    }
}

.p-individual__bodyMainBlock .block__itemsBoxTxt {
    align-items: center;
    border: 2px solid #d6dbff;
    color: #0069B7;
    display: flex;
    height: 2.8125em;
    justify-content: center
}

@media screen and (max-width:640px) {
    .p-individual__bodyMainBlock .cm-flow__body {
        overflow-scrolling: touch;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap
    }

    .p-individual__bodyMainBlock .cm-flow__body::-webkit-scrollbar {
        display: none
    }
}

@media screen and (max-width:415px) {
    .p-individual__bodyMainBlock .cm-flow__body {
        font-size: .8em
    }
}

@media screen and (max-width:640px) {
    .p-individual__bodyMainBlock .cm-flow__bodyList {
        width: 42.5em
    }
}

.p-individual__bodyMainBlock:first-of-type .cm-flow__bodyListItem {
    height: 4.5em;
    width: 36.00509%
}

.p-individual__bodyMainBlock:first-of-type .cm-flow__bodyListItem .txt {
    width: 77.73852%
}

.p-individual__bodyMainBlock:first-of-type .cm-flow__bodyListItem .txt__item {
    flex-direction: column
}

.p-individual__bodyMainBlock:first-of-type .cm-flow__bodyListItem .txt__itemLine {
    display: block;
    line-height: 1
}

.p-individual__bodyMainBlock:first-of-type .cm-flow__bodyListItem .txt__itemLine:nth-of-type(2) {
    font-size: .77778em;
    margin-top: .42857em
}

.p-individual__bodyMainBlock:first-of-type .cm-flow__bodyListItem .arrow {
    flex-grow: 1
}

.p-individual__bodyMainBlock:first-of-type .cm-flow__bodyListItem:last-of-type {
    width: 27.98982%
}

.p-individual__bodyMainBlock:first-of-type .cm-flow__bodyListItem:last-of-type .txt {
    width: 100%
}

.p-individual__bodyMainBlock:nth-of-type(2) .cm-flow__bodyListItem {
    width: 22.1374%
}

.p-individual__bodyMainBlock:nth-of-type(2) .cm-flow__bodyListItem .txt {
    width: 51.72414%
}

.p-individual__bodyMainBlock:nth-of-type(2) .cm-flow__bodyListItem .txt__item {
    padding: 1.61111em 0
}

.p-individual__bodyMainBlock:nth-of-type(2) .cm-flow__bodyListItem .arrow {
    flex-grow: 1
}

.p-individual__bodyMainBlock:nth-of-type(2) .cm-flow__bodyListItem:last-of-type {
    width: 11.45038%
}

.p-individual__bodyMainBlock:nth-of-type(2) .cm-flow__bodyListItem:last-of-type .txt {
    width: 100%
}