/*!
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: YakuHanMP - Based on Noto Serif CJK JP */
@font-face {
    font-display: swap;
    font-family: YakuHanMP;
    font-style: normal;
    font-weight: 100;
    src: url(../font/YakuHanMP-ExtraLight.eot);
    src: url(../font/YakuHanMP-ExtraLight.woff2) format("woff2"), url(../font/YakuHanMP-ExtraLight.woff) format("woff");
    unicode-range: u+3001, u+3002, 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: YakuHanMP;
    font-style: normal;
    font-weight: 200;
    src: url(../font/YakuHanMP-Light.eot);
    src: url(../font/YakuHanMP-Light.woff2) format("woff2"), url(../font/YakuHanMP-Light.woff) format("woff");
    unicode-range: u+3001, u+3002, 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: YakuHanMP;
    font-style: normal;
    font-weight: 300;
    src: url(../font/YakuHanMP-Regular.eot);
    src: url(../font/YakuHanMP-Regular.woff2) format("woff2"), url(../font/YakuHanMP-Regular.woff) format("woff");
    unicode-range: u+3001, u+3002, 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: YakuHanMP;
    font-style: normal;
    font-weight: 400;
    src: url(../font/YakuHanMP-Medium.eot);
    src: url(../font/YakuHanMP-Medium.woff2) format("woff2"), url(../font/YakuHanMP-Medium.woff) format("woff");
    unicode-range: u+3001, u+3002, 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: YakuHanMP;
    font-style: normal;
    font-weight: 500;
    src: url(../font/YakuHanMP-SemiBold.eot);
    src: url(../font/YakuHanMP-SemiBold.woff2) format("woff2"), url(../font/YakuHanMP-SemiBold.woff) format("woff");
    unicode-range: u+3001, u+3002, 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: YakuHanMP;
    font-style: normal;
    font-weight: 700;
    src: url(../font/YakuHanMP-Bold.eot);
    src: url(../font/YakuHanMP-Bold.woff2) format("woff2"), url(../font/YakuHanMP-Bold.woff) format("woff");
    unicode-range: u+3001, u+3002, 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: YakuHanMP;
    font-style: normal;
    font-weight: 900;
    src: url(../font/YakuHanMP-Black.eot);
    src: url(../font/YakuHanMP-Black.woff2) format("woff2"), url(../font/YakuHanMP-Black.woff) format("woff");
    unicode-range: u+3001, u+3002, 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
}

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: initial
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

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

iframe {
    border-style: none
}

input {
    border-radius: 0
}

[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 {
    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: initial;
    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
}

[disabled] {
    cursor: default
}

img {
    border-style: none
}

progress {
    vertical-align: initial
}

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

[aria-controls] {
    cursor: pointer
}

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

:root {
    --font-family: YakuHanMP, "Zen Old Mincho", serif;
    --main-bg: #fff;
    --main-color: #1f1b1b;
    --effect-color: #242424;
    --section-width: 1140;
    --inner-section-width: 874;
    --mlnone-width: 1120;
    --mlnone-section-width: 1007;
    --mlnone-inner-section-width: 874;
    --ww: calc(var(--vw, 1vw)*100);
    --inner-left: 133;
    --inner-inner-left: 80;
    --tap-highlight-color: #fff3;
    --selection-color: #39f6;
    --light-blue-color: #f4f6fa;
    --blue-color: #BB9580;
    --gray-color: #9d9d9d;
    --light-gray-color: #f4f4f4;
    --red-color: #e34e2a;
    --brown-color: #f1ebe4;
    --hover-color: #BB9580;
    --ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940);
    --ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    --ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000);
    --ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000);
    --ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000);
    --ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000);
    --ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000);
    --ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275);
    --ease-inout-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955);
    --ease-inout-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);
    --ease-inout-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000);
    --ease-inout-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000);
    --ease-inout-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950);
    --ease-inout-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000);
    --ease-inout-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860);
    --ease-inout-back: cubic-bezier(0.680, -0.550, 0.265, 1.550);
    --transition: .4s var(--ease-out-quad)
}

main {
    display: block
}

html {
    --fs: 16;
    background: var(--main-bg);
    color: var(--main-color);
    font-size: clamp(var(--fs) * 1em/16, var(--fs)/1366*100vw, var(--fs) * 1.1em/16);
    line-height: 1
}

@media screen and (max-width: 1150px) {
    html {
        --fs: 16*.9
    }
}

@media screen and (max-width: 1024px) {
    html {
        --fs: 16
    }
}

@media screen and (max-width: 320px) {
    html {
        --fs: 16*.9
    }
}

body {
    font-feature-settings: "palt";
    tap-highlight-color: #0000;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: var(--font-family);
    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: initial;
    border: 0;
    color: var(--main-color);
    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: inherit
}

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

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

small {
    font-size: inherit
}

address {
    font-style: normal
}

a,
input[type=button],
input[type=submit] {
    -webkit-tap-highlight-color: var(--tap-highlight-color)
}

::selection {
    background-color: var(--selection-color)
}

@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")
}

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

.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: initial;
    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-backface-hidden .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0)
}

.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: #00000026
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(270deg, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(90deg, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(0deg, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(180deg, #00000080, #0000)
}

.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 {
    scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode>.swiper-wrapper {
    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;
    scroll-snap-stop: always
}

.swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0)
}

.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
}

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

.swiper-button-next,
.swiper-button-prev {
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - var(--swiper-navigation-size)/2);
    position: absolute;
    top: 50%;
    width: calc(var(--swiper-navigation-size)/44*27);
    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.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
    cursor: auto;
    opacity: 0;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
    display: none !important
}

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

.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-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important
}

.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: var(--swiper-pagination-bullet-inactive-color, #000);
    border-radius: 50%;
    display: inline-block;
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 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: var(--swiper-pagination-color, var(--swiper-theme-color));
    opacity: var(--swiper-pagination-bullet-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: var(--swiper-pagination-bullet-vertical-gap, 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 var(--swiper-pagination-bullet-horizontal-gap, 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: #00000040;
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    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: #0000001a;
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none
}

.swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important
}

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

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

.swiper-scrollbar-drag {
    background: #BB9580;
    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 {
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top: 4px solid #0000;
    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-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s linear infinite
}

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

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

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0deg)
    }

    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;
    will-change: transform
}

.swiper.is-infinity .swiper-wrapper {
    transition-timing-function: linear !important
}

.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: var(--main-color)
}

.swiper-scrollbar.swiper-scrollbar-horizontal {
    background-color: initial;
    border-radius: 0;
    bottom: auto;
    height: 2px;
    left: auto;
    position: relative;
    top: auto;
    width: 100%
}

.swiper-scrollbar.swiper-scrollbar-horizontal:before {
    background: var(--gray-color);
    bottom: 0;
    content: "";
    display: block;
    height: .5px;
    left: 0;
    margin: auto 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%
}

.swiper-scrollbar-drag {
    background: var(--effect-color);
    border-radius: 0;
    height: 2px
}

.swiper-button-next,
.swiper-button-prev {
    align-items: center;
    color: inherit;
    cursor: pointer;
    display: flex;
    height: inherit;
    justify-content: center;
    margin-top: 0;
    position: static;
    top: auto;
    width: inherit;
    z-index: 1
}

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

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

html {
    overflow-y: scroll
}

html.is-menuopen,
html.is-popupopen {
    overflow: hidden
}

body[data-loaded=false] {
    cursor: wait
}

#l-wrapper {
    opacity: 0;
    visibility: hidden
}

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

#l-container {
    background: #fff;
    position: relative;
    z-index: 1
}

#l-body[data-page=manufacture] #l-container,
#l-body[data-page=recruit] #l-container {
    background: #0000;
    z-index: inherit
}

#l-body[data-page=manufacture] #l-container:before,
#l-body[data-page=recruit] #l-container:before {
    background: #fff;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

#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
}

.u-section {
    margin: 0 auto;
    max-width: clamp(var(--section-width) * 1em/16, var(--section-width)/1366*100vw, var(--section-width) * 1.1em/16);
    text-align: left;
    width: calc(var(--section-width)/1366*100%)
}

@media screen and (max-width: 1024px) {
    .u-section {
        max-width: unset;
        width: 84%;
    }
}

.u-section.is-narrow {
    --section-width: 874
}

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

.u-innersection {
    margin: 0 auto;
    width: calc(var(--inner-section-width)/var(--section-width)*100%)
}

@media screen and (max-width: 1024px) {
    .u-innersection {
        width: 100%
    }
}

.u-mlnonesection {
    margin: 0 auto 0 0;
    max-width: clamp(var(--mlnone-section-width) * 1em/16, var(--mlnone-section-width)/1366*100vw, var(--mlnone-section-width) * 1.1em/16);
    width: calc(var(--mlnone-section-width)/var(--mlnone-width)*100%)
}

@media screen and (max-width: 1024px) {
    .u-mlnonesection {
        max-width: unset;
        width: 100%
    }
}

.p-shop__feature .u-mlnonesection {
    margin: 0 calc(113/var(--mlnone-width)*100%) 0 auto
}

.u-mlnoneinnersec {
    margin: 0 auto;
    width: calc(var(--mlnone-inner-section-width)/var(--mlnone-section-width)*100%)
}

@media screen and (max-width: 1024px) {
    .u-mlnoneinnersec {
        width: 100%
    }
}

.u-fontjp.is-bold {
    font-weight: 700
}

.u-fonten {
    font-family: YakuHanMP, EB Garamond, serif
}

.u-fontnum {
    font-family: Georgia, Times, Times New Roman, serif
}

.u-targetline__txt {
    border-bottom: .5px solid
}

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

@media (any-hover: hover) {
    .u-target {
        transition: opacity var(--transition)
    }

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

    .u-targetcolor {
        transition: color var(--transition)
    }

    .u-targetcolor:hover {
        color: var(--hover-color)
    }

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

    .u-targetline__txt:after {
        background-color: currentColor;
        bottom: 0;
        content: "";
        display: block;
        height: .5px;
        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 var(--transition)
    }

    .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-graybg {
    position: relative
}

.u-graybg:before {
    /*    background-image: url(../image/bg-gray.png); */
    background: #FAF3EC;
    background: linear-gradient(to bottom, #FAF3EC, #FFFFFF);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FAF3EC ', endColorstr='#FFFFFF', GradientType=1);
    background: -webkit-linear-gradient(top, #FAF3EC, #FFFFFF);
    background: -o-linear-gradient(bottom, #FAF3EC, #FFFFFF);
    background-repeat: repeat-x;
    background-size: 80em 109.5em;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

@media screen and (max-width: 1024px) {
    .u-graybg:before {
        background-size: 64em 87.6em
    }
}

@media screen and (max-width: 640px) {
    .u-graybg:before {
        background-size: 48em 65.7em
    }
}

@media screen and (max-width: 430px) {
    .u-graybg:before {
        background-size: 32em 43.8em
    }
}

/*.u-graybg.is-grad:after {
    background: linear-gradient(180deg, #fff0 0, #fff0 20%, #fff 90%, #fff);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}*/

.p-service .u-graybg:before {
    left: calc(100% - var(--ww));
    width: var(--ww)
}

@media screen and (max-width: 1024px) {
    .p-service .u-graybg:before {
        left: calc(50% - var(--ww)*.5);
        right: calc(50% - var(--ww)*.5)
    }
}

.u-vt {
    font-feature-settings: "pkna";
    font-family: Zen Old Mincho, serif;
    writing-mode: vertical-rl
}

.u-vtupright {
    text-orientation: upright
}

.u-hr {
    font-feature-settings: "palt";
    font-family: var(--font-family);
    writing-mode: horizontal-tb
}

.u-sentence {
    --sentence-line-height: 2;
    --sentence-letter-spacing: 0;
    letter-spacing: calc(var(--sentence-letter-spacing)*1em);
    line-height: var(--sentence-line-height)
}

.u-sentence.is-common {
    font-size: .875em
}

.u-objectfit {
    height: 100%;
    object-fit: cover
}

.u-fsajust {
    --ajust-fontsize: 16;
    font-size: clamp(var(--ajust-fontsize) * 1em/16, var(--ajust-fontsize)/1600*100vw, var(--ajust-fontsize) * 1.1em/16)
}

.u-arrow {
    --w: 7;
    --h: 9;
    height: calc(var(--h)*1em/16);
    width: calc(var(--w)*1em/16)
}

.u-arrow.is-bottom {
    transform: rotate(90deg)
}

.u-arrow svg {
    fill: #BB9580;
    height: 100%;
    width: 100%
}

@media screen and (max-width: 880px) {
    .p-company__philosophyListItem .u-arrow {
        --w: 10;
        --h: 12
    }
}

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

.c-target {
    display: block
}

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

    .c-target__imgBody {
        transition: transform var(--transition);
        will-change: transform
    }

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

.c-btn {
    --btn-w: 260;
    --btn-h: 60;
    --btn-txt-fs: 16;
    align-items: center;
    background: var(--effect-color);
    display: flex;
    height: calc(var(--btn-h)*1em/16);
    justify-content: center;
    position: relative;
    width: calc(var(--btn-w)*1em/16)
}

.c-btn:before {
    background: #fff;
    border-radius: .4375em;
    bottom: 1px;
    content: "";
    display: block;
    left: 1px;
    overflow: hidden;
    position: absolute;
    right: 1px;
    top: 1px;
    z-index: 1
}

.c-btn.is-outerlink {
    --btn-icon-right: 14;
    --btn-icon-w: 12
}

.cm-cta__bodyContactMail .btn .c-btn {
    --btn-w: 300;
    --btn-h: 70;
    background: #fff0
}

@media screen and (max-width: 430px) {
    .cm-cta__bodyContactMail .btn .c-btn {
        width: 100%
    }
}

.cm-cta__bodyContactMail .btn .c-btn:before {
    content: none
}

.c-btn__txt {
    color: var(--main-color);
    font-size: calc(var(--btn-txt-fs)*1em/16);
    position: relative;
    z-index: 1
}

.cm-cta__bodyContactMail .btn .c-btn__txt {
    color: #BB9580;
}

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

.cm-cta__bodyContactMail .btn .c-btn__border img[src$=".svg"] {
    height: 100%;
    left: 0;
    max-width: unset;
    object-fit: fill;
    position: absolute;
    top: 0;
    width: 100%
}

.c-btn__icon {
    position: absolute;
    right: calc(var(--btn-icon-right)*1em/16);
    top: 50%;
    width: calc(var(--btn-icon-w)*1em/16);
    z-index: 2
}

.c-btn.is-outerlink .c-btn__icon {
    margin-top: -.3125em
}

.c-btn__icon svg {
    fill: var(--main-color)
}

@media (any-hover: hover) {
    .c-btn__txt {
        transition: color var(--transition)
    }

    .c-btn__icon svg {
        transition: fill var(--transition)
    }

    .c-btn:before {
        transform-origin: bottom center;
        transition: transform .3s var(--ease-inout-quint)
    }

    .c-btn:hover:before {
        transform: scaleY(0);
        transform-origin: top center
    }

    .c-btn:hover .c-btn__txt {
        color: #fff
    }

    .c-btn:hover .c-btn__icon svg {
        fill: #fff
    }

    .cm-cta__bodyContactMail .btn .c-btn {
        transition: background-color .3s var(--ease-inout-quint)
    }

    .cm-cta__bodyContactMail .btn .c-btn:hover {
        background: #fff
    }

    .cm-cta__bodyContactMail .btn .c-btn:hover .c-btn__txt {
        color: var(--effect-color)
    }
}

.c-sidetitle {
    --sidetitle-jptop: 0;
    --sidetitle-jpleft: 0;
    --sidetitle-jpfs: 18;
    --sidetitle-entop: -120;
    --sidetitle-enleft: -136;
    --sidetitle-enfs: 150;
    position: relative
}

@media screen and (max-width: 880px) {
    .c-sidetitle {
        --sidetitle-jpfs: 16;
        --sidetitle-enfs: 120;
        align-items: center;
        display: flex;
        width: 100%
    }
}

.c-sidetitle.is-pagetitle {
    --sidetitle-jptop: -56
}

@media screen and (max-width: 880px) {
    .c-sidetitle.is-pagetitle {
        --sidetitle-jptop: -24
    }
}

.p-service .c-sidetitle.is-pagetitle {
    --sidetitle-jptop: 0
}

.c-sidetitle.is-hr {
    --sidetitle-entop: -100;
    --sidetitle-enleft: -20
}

.p-recruit__keyword .c-sidetitle,
.p-recruit__promise .c-sidetitle,
.p-recruit__recruitment .c-sidetitle,
.p-recruit__workstyle .c-sidetitle {
    --sidetitle-jptop: 98;
    --sidetitle-entop: 0;
    --sidetitle-enleft: -124;
    width: var(--ww)
}

.cm-lb .c-sidetitle {
    --sidetitle-jptop: 120;
    --sidetitle-entop: 0;
    --sidetitle-enleft: -120;
    overflow: visible;
    pointer-events: none
}

@media screen and (max-width: 880px) {
    .cm-lb .c-sidetitle {
        --sidetitle-enfs: 100
    }
}

.p-shop__feature .c-sidetitle {
    --sidetitle-enleft: -124
}

.p-shopdtl__mainAccess .c-sidetitle {
    --sidetitle-enleft: -20
}

@media screen and (max-width: 1024px) {
    .p-shopdtl__mainAccess .c-sidetitle {
        --sidetitle-entop: -72
    }
}

.c-sidetitle__jp {
    left: calc(var(--sidetitle-jpleft)*1em/16);
    position: relative;
    top: calc(var(--sidetitle-jptop)*1em/16);
    z-index: 1
}

.c-sidetitle.is-pagetitle .c-sidetitle__jp,
.cm-lb .c-sidetitle__jp,
.p-recruit__keyword .c-sidetitle__jp,
.p-recruit__promise .c-sidetitle__jp,
.p-recruit__recruitment .c-sidetitle__jp,
.p-recruit__workstyle .c-sidetitle__jp {
    position: absolute
}

.cm-lb .c-sidetitle__jp {
    display: flex;
    flex-direction: column;
    white-space: nowrap
}

@media screen and (max-width: 880px) {
    .cm-lb .c-sidetitle__jp {
        flex-direction: row-reverse;
        justify-content: center;
        left: 0;
        position: absolute;
        right: 0;
        top: auto
    }
}

.c-sidetitle__jpBody {
    font-size: calc(var(--sidetitle-jpfs)*1em/16);
    letter-spacing: .3em;
    margin-bottom: -.3em;
    position: relative;
    min-height: 200px;
}

.c-sidetitle.is-hr .c-sidetitle__jpBody {
    letter-spacing: .05em
}

@media screen and (max-width: 880px) {
    .c-sidetitle__jp.is-2col .c-sidetitle__jpBody:nth-child(2) {
        margin-right: .25em;
        margin-top: 2.6em
    }
}

.c-sidetitle__en {
    color: var(--light-gray-color);
    display: flex;
    font-size: calc(var(--sidetitle-enfs)*1em/16);
    left: calc(var(--sidetitle-enleft)/var(--section-width)*100%);
    letter-spacing: .05em;
    line-height: 1.3;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: calc(var(--sidetitle-entop)*1em/var(--sidetitle-enfs));
    visibility: hidden;
    z-index: 0
}

.c-sidetitle__en.is-active,
.c-sidetitle__en.is-active span {
    opacity: 1;
    visibility: visible
}

@media screen and (max-width: 880px) {
    .c-sidetitle__en {
        font-size: max(calc(var(--sidetitle-enfs)*1em/16*.9), calc(var(--sidetitle-enfs)/414*var(--ww)));
        left: calc(50% - var(--ww)*.5 - var(--ww)*.04831);
        text-align: center;
        top: auto
    }
}

.c-sidetitle.is-hr .c-sidetitle__en {
    --sidetitle-entop: -76;
    top: calc(var(--sidetitle-entop)*1em/var(--sidetitle-enfs))
}

.p-recruit__keyword .c-sidetitle__en,
.p-recruit__workstyle .c-sidetitle__en {
    color: #fff
}

.cm-lb .c-sidetitle__en,
.p-recruit__keyword .c-sidetitle__en,
.p-recruit__promise .c-sidetitle__en,
.p-recruit__recruitment .c-sidetitle__en,
.p-recruit__workstyle .c-sidetitle__en {
    position: relative
}

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

    .p-recruit__keyword .c-sidetitle__en,
    .p-recruit__workstyle .c-sidetitle__en {
        color: #eee
    }

    .p-shopdtl__mainAccess .c-sidetitle__en {
        top: calc(var(--sidetitle-entop)*1em/var(--sidetitle-enfs))
    }
}

.cm-lb .c-sidetitle__en {
    overflow: visible
}

@media screen and (max-width: 880px) {
    .cm-lb .c-sidetitle__en {
        left: calc(var(--ww)*-.09662)
    }
}

.c-sidetitle__en span {
    opacity: 0;
    visibility: hidden
}

:placeholder-shown {
    color: var(--gray-color)
}

::-webkit-input-placeholder {
    color: var(--gray-color)
}

:-ms-input-placeholder {
    color: var(--gray-color)
}

.c-checklist,
.c-radiolist,
.c-txtarea,
.c-txtbox {
    --ptb: 0;
    --plr: 30;
    --fs: 14;
    --ls: 0;
    --br: 5;
    color: var(--main-color);
    letter-spacing: calc(var(--ls)*1em);
    width: 100%
}

.c-checklist.is-s,
.c-radiolist.is-s,
.c-txtarea.is-s,
.c-txtbox.is-s {
    max-width: calc(200em/var(--fs))
}

.c-txtarea,
.c-txtbox {
    --ptb: 24;
    background: #fff;
    border: .9px solid var(--gray-color);
    border-radius: calc(var(--br)*1em/var(--fs));
    display: block;
    font-size: calc(var(--fs)*1px);
    overflow: hidden;
    padding: calc(var(--ptb)*1em/var(--fs)) calc(var(--plr)*1em/var(--fs));
    position: relative;
    z-index: 1
}

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

    .c-txtarea,
    .c-txtbox {
        --fs: 16
    }
}

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

    .c-txtarea,
    .c-txtbox {
        padding: calc(var(--ptb)*1em/var(--fs)*.8) calc(var(--plr)*1em/var(--fs)*.8)
    }
}

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

    .c-txtarea,
    .c-txtbox {
        padding: calc(var(--ptb)*1em/var(--fs)*.6) calc(var(--plr)*1em/var(--fs)*.6)
    }
}

.c-txtbox {
    --h: 70
}

.c-txtarea {
    --h: 420;
    line-height: 2
}

.c-checklist,
.c-radiolist {
    --ptb: 30;
    font-size: calc(var(--fs)*1em/16);
    line-height: 1.4
}

.c-checklist input,
.c-radiolist input {
    opacity: 0;
    position: absolute;
    visibility: hidden
}

.c-checklist label,
.c-radiolist label {
    cursor: pointer
}

.c-radiolist {
    --radio-r: 30;
    --radio-inner-r: 12
}

.c-radiolist .wpcf7-list-item {
    display: block;
    margin-left: 0;
    margin-top: calc(24em/var(--fs));
    position: relative
}

.c-radiolist .wpcf7-list-item.first {
    margin-top: 0
}

.c-radiolist .wpcf7-list-item-label {
    align-items: center;
    display: flex;
    padding-left: calc(44em/var(--fs))
}

@media screen and (max-width: 640px) {
    .c-radiolist .wpcf7-list-item-label {
        padding-left: calc(44em/var(--fs)*.9)
    }
}

.c-radiolist .wpcf7-list-item-label:after,
.c-radiolist .wpcf7-list-item-label:before {
    border-radius: 100vmax;
    content: "";
    overflow: hidden;
    position: absolute;
    z-index: 1
}

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

    .c-radiolist .wpcf7-list-item-label:after,
    .c-radiolist .wpcf7-list-item-label:before {
        font-size: .9em
    }
}

.c-radiolist .wpcf7-list-item-label:before {
    background: #fff;
    border: .9px solid var(--gray-color);
    height: calc(var(--radio-r)*1em/var(--fs));
    left: 0;
    width: calc(var(--radio-r)*1em/var(--fs))
}

.c-radiolist .wpcf7-list-item-label:after {
    background: var(--effect-color);
    height: calc(var(--radio-inner-r)*1em/var(--fs));
    left: calc(9em/var(--fs));
    opacity: 0;
    width: calc(var(--radio-inner-r)*1em/var(--fs))
}

.c-radiolist .wpcf7-list-item input:checked~:is(.c-radiolist .wpcf7-list-item-label):after {
    opacity: 1
}

.c-checklist {
    --check-r: 30;
    display: flex;
    flex-wrap: wrap
}

@media screen and (max-width: 640px) {
    .c-checklist {
        flex-direction: column
    }
}

.c-checklist .wpcf7-list-item {
    flex-basis: 50%;
    margin-left: 0;
    position: relative
}

.c-checklist .wpcf7-list-item:nth-child(n+3) {
    margin-top: calc(28em/var(--fs))
}

@media screen and (max-width: 640px) {
    .c-checklist .wpcf7-list-item:nth-child(n+3) {
        margin-top: 0
    }

    .c-checklist .wpcf7-list-item:not(:first-child) {
        margin-top: calc(28em/var(--fs))
    }
}

.c-checklist .wpcf7-list-item-label {
    align-items: center;
    display: flex;
    padding-left: calc(44em/var(--fs))
}

@media screen and (max-width: 430px) {
    .c-checklist .wpcf7-list-item-label {
        padding-left: calc(44em/var(--fs)*.9)
    }
}

.c-checklist .wpcf7-list-item-label:after,
.c-checklist .wpcf7-list-item-label:before {
    border-radius: calc(3em/var(--fs));
    content: "";
    height: calc(var(--check-r)*1em/var(--fs));
    left: 0;
    overflow: hidden;
    position: absolute;
    width: calc(var(--check-r)*1em/var(--fs));
    z-index: 1
}

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

    .c-checklist .wpcf7-list-item-label:after,
    .c-checklist .wpcf7-list-item-label:before {
        font-size: .9em
    }
}

.c-checklist .wpcf7-list-item-label:before {
    background: #fff;
    border: .9px solid var(--gray-color)
}

.c-checklist .wpcf7-list-item-label:after {
    background-image: url(../image/i-check.svg);
    background-size: cover;
    opacity: 0
}

.c-checklist .wpcf7-list-item input:checked~:is(.c-checklist .wpcf7-list-item-label):after {
    opacity: 1
}

.c-wisywig {
    --body-fs: 14;
    --body-line-height: 2;
    --sentence-block-mb: 40;
    font-size: calc(var(--body-fs)*1em/16);
    line-height: 2
}

.c-wisywig a {
    color: var(--hover-color);
    text-decoration: underline
}

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

.c-wisywig em {
    font-style: italic
}

.c-wisywig h1,
.c-wisywig h2,
.c-wisywig h3,
.c-wisywig h4,
.c-wisywig h5 {
    --fs: 16;
    --mt: 16;
    --mb: 16;
    font-size: calc(var(--fs)*1em/var(--body-fs));
    letter-spacing: .05em;
    line-height: 1.4;
    margin: calc(var(--mt)*1em/var(--fs)) 0 calc(var(--mb)*1em/var(--fs))
}

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

    .c-wisywig h1,
    .c-wisywig h2,
    .c-wisywig h3,
    .c-wisywig h4,
    .c-wisywig h5 {
        font-size: calc(var(--fs)*1em/var(--body-fs)*.9);
        margin: calc(var(--mt)*1em/var(--fs)*.9) 0 calc(var(--mb)*1em/var(--fs)*.9)
    }
}

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

    .c-wisywig h1,
    .c-wisywig h2,
    .c-wisywig h3,
    .c-wisywig h4,
    .c-wisywig h5 {
        font-size: calc(var(--fs)*1em/var(--body-fs)*.8)
    }
}

.c-wisywig h1:first-child,
.c-wisywig h2:first-child,
.c-wisywig h3:first-child,
.c-wisywig h4:first-child,
.c-wisywig h5:first-child {
    margin-top: 0
}

.c-wisywig h1 {
    --fs: 26;
    --mt: 80;
    --mb: 32;
    padding-bottom: calc(18em/var(--fs));
    position: relative
}

@media screen and (max-width: 880px) {
    .c-wisywig h1 {
        --fs: 22
    }
}

.c-wisywig h1:before {
    background: var(--gray-color);
    bottom: 0;
    content: "";
    display: block;
    height: .5px;
    left: 0;
    position: absolute;
    right: 0
}

.c-wisywig h2 {
    --fs: 22;
    --mt: 60;
    --mb: 24;
    padding: 0 0 0 1.5em;
    position: relative
}

@media screen and (max-width: 880px) {
    .c-wisywig h2 {
        --fs: 20
    }
}

.c-wisywig h2:before {
    background: var(--gray-color);
    bottom: 0;
    content: "";
    display: block;
    height: .5px;
    left: 0;
    margin-top: calc(16em/var(--fs));
    position: absolute;
    top: 0;
    width: calc(24em/var(--fs))
}

.c-wisywig h3 {
    --fs: 19;
    --mt: 40;
    --mb: 24
}

@media screen and (max-width: 880px) {
    .c-wisywig h3 {
        --fs: 18
    }
}

.c-wisywig h4,
.c-wisywig h5 {
    --fs: 17;
    --mt: 32;
    --mb: 24
}

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

    .c-wisywig h4,
    .c-wisywig h5 {
        --fs: 16
    }
}

.c-wisywig ol,
.c-wisywig p,
.c-wisywig ul {
    margin-bottom: calc(var(--sentence-block-mb)*1em/var(--body-fs))
}

.c-wisywig ul li {
    margin-left: calc(5em/var(--body-fs) + 4px);
    text-indent: calc(-5em/var(--body-fs) - 4px)
}

.c-wisywig ul li:before {
    background-color: var(--effect-color);
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 4px;
    line-height: 1;
    margin: 0 calc(5em/var(--body-fs)) calc(3em/var(--body-fs)) 0;
    width: 4px
}

.c-wisywig .is-img {
    margin-bottom: calc(var(--sentence-block-mb)*1em/var(--body-fs));
    text-align: center
}

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

@media screen and (max-width: 768px) {
    .c-wisywig .is-img img {
        width: 100%
    }
}

:is(.c-wisywig .is-img)+.is-img {
    --mt: -20;
    margin-top: calc(var(--mt)*1em/16)
}

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

.c-wisywig pre,
.c-wisywig table {
    margin-bottom: calc(var(--sentence-block-mb)*1em/var(--body-fs))
}

.c-wisywig table {
    font-size: calc(15em/var(--body-fs));
    width: 100%
}

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

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

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

.c-wisywig .iframewrap {
    display: block;
    margin-bottom: calc(var(--sentence-block-mb)*1em/var(--body-fs));
    padding-top: 56.25%;
    position: relative;
    width: 100%
}

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

.c-wisywig blockquote {
    --ptb: 60;
    --plr: 60;
    background: var(--light-gray-color);
    border-radius: calc(5em/var(--body-fs));
    margin-bottom: calc(var(--sentence-block-mb)*1em/var(--body-fs));
    overflow: hidden;
    padding: calc(var(--ptb)*1em/var(--body-fs)) calc(var(--plr)/var(--inner-section-width)*100%);
    position: relative;
    z-index: 1
}

@media screen and (max-width: 640px) {
    .c-wisywig blockquote {
        margin-top: calc(var(--mt)*1em/var(--body-fs)*.9)
    }
}

.c-wisywig blockquote ol:first-child,
.c-wisywig blockquote p:first-child,
.c-wisywig blockquote ul:first-child {
    margin-bottom: 0
}

.c-wisywig .wp-element-caption {
    font-size: calc(14em/var(--body-fs));
    margin-top: .5em;
    padding-bottom: .5em
}

.c-wisywig .wp-block-button.aligncenter {
    margin-left: auto;
    margin-right: auto
}

.c-wisywig .wp-block-button.alignright {
    margin-left: auto
}

.c-wisywig .is-layout-flex {
    --wp--style--gallery-gap-default: 2em;
    flex-wrap: nowrap;
    margin-bottom: calc(var(--sentence-block-mb)*1em/var(--body-fs))
}

@media screen and (max-width: 640px) {
    .c-wisywig .is-layout-flex {
        display: block
    }
}

.c-wisywig .is-layout-flex .is-img {
    margin: 0
}

@media screen and (max-width: 640px) {
    .c-wisywig .is-layout-flex .is-img:not(:first-of-type) {
        margin-top: 1em
    }
}

.c-wisywig a.wp-block-button__link {
    align-items: center;
    background-color: initial;
    border: 1px solid var(--effect-color);
    border-radius: calc(7em/var(--body-fs));
    color: var(--main-color);
    cursor: pointer;
    display: inline-flex;
    height: calc(50em/var(--body-fs));
    justify-content: center;
    padding: 0 calc(50em/var(--body-fs));
    position: relative;
    text-decoration: none
}

@media (any-hover: hover) {
    .c-wisywig a {
        transition: opacity var(--transition)
    }

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

.c-link {
    --link-txt-fs: 14;
    --link-arrow-ml: 40;
    --link-arrow-w: 32;
    --link-arrow-h: 32;
    align-items: center;
    display: inline-flex
}

.c-link__txt {
    font-size: calc(var(--link-txt-fs)*1em/16);
    letter-spacing: .02em
}

.c-link__arrow {
    align-items: center;
    border: .5px solid var(--gray-color);
    border-radius: 50%;
    display: flex;
    height: calc(var(--link-arrow-h)*1em/16);
    justify-content: center;
    margin-left: calc(var(--link-arrow-ml)*1em/16);
    overflow: hidden;
    width: calc(var(--link-arrow-w)*1em/16)
}

.c-link__arrow svg {
    width: .4375em
}

@media (any-hover: hover) {
    .c-link__txtBody {
        display: inline-block
    }

    .c-link__txtBody:after {
        background-color: var(--gray-color);
        content: "";
        display: block;
        height: .5px;
        transform: scaleX(0);
        transform-origin: top right;
        transition: transform .5s var(--ease-inout-quint);
        width: 105%
    }

    .c-link__arrow {
        transition: background-color .5s var(--ease-inout-quint)
    }

    .c-link__arrow svg {
        animation: arrowmove_reverse .5s var(--ease-inout-cubic)
    }

    .c-link:hover .c-link__arrow {
        background-color: #000
    }

    .c-link:hover .c-link__arrow svg {
        fill: #fff;
        animation: arrowmove .5s var(--ease-inout-cubic)
    }

    .c-link:hover .c-link__txtBody:after {
        transform: scale(1);
        transform-origin: top left
    }
}

@keyframes arrowmove {
    0% {
        fill: #000;
        transform: translate3d(-300%, 0, 0)
    }

    to {
        fill: #fff;
        transform: translateZ(0)
    }
}

@keyframes arrowmove_reverse {
    0% {
        fill: #fff;
        transform: translate3d(300%, 0, 0)
    }

    to {
        fill: #000;
        transform: translateZ(0)
    }
}

.cm-h {
    --header-h: 100;
    background-color: #fff;
    height: calc(var(--header-h)*1em/16);
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: transform .3s var(--ease-out-cubic);
    will-change: transform;
    z-index: 9
}

@media screen and (max-width: 1024px) {
    .cm-h {
        position: absolute;
        transition: unset;
        z-index: 2
    }
}

#l-body[data-scrolldir=absolute] .cm-h {
    display: none
}

#l-body[data-scrolldir=down] .cm-h,
#l-body[data-scrolldir=up] .cm-h {
    --header-h: 88;
    background-color: #fff;
    position: fixed
}

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

    #l-body[data-scrolldir=down] .cm-h,
    #l-body[data-scrolldir=up] .cm-h {
        --header-h: 120;
        background-color: initial;
        position: absolute
    }
}

#l-body[data-scrolldir=down] .cm-h {
    transform: translateY(calc(var(--header-h)*1em/16*-1))
}

@media screen and (max-width: 1024px) {
    #l-body[data-scrolldir=down] .cm-h {
        transform: unset
    }
}

#l-body[data-page=contact] .cm-h {
    /* display: none; */
}

html.is-popupopen .cm-h {
    z-index: 2
}

.cm-h-inner {
    --pl: 44;
    display: flex;
    height: 100%;
    justify-content: space-between;
    padding-left: calc(var(--pl)*1em/16);
    position: relative
}

@media screen and (max-width: 1024px) {
    .cm-h-inner {
        padding-left: 0
    }
}

.cm-h__logo {
    --pt: 0;
    --pb: 0;
    --mt: auto;
    --ml: -19;
    --w: 270;
    margin: var(--mt) 0 auto calc(var(--ml)*1em/16);
    padding-bottom: calc(var(--pb)*1em/16);
    width: calc(var(--w)*1em/16)
}

@media screen and (max-width: 1024px) {
    .cm-h__logo {
        --ml: 24;
        margin-left: calc(var(--ml)/375*100%)
    }
}

@media screen and (max-width: 640px) {
    .cm-h__logo {
        --w: 150;
        width: calc(var(--w)/375*100%)
    }
}

#l-body[data-scrolldir=down] .cm-h__logo,
#l-body[data-scrolldir=up] .cm-h__logo {
    --w: 220;
    --pb: 0;
}


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

    #l-body[data-scrolldir=down] .cm-h__logo,
    #l-body[data-scrolldir=up] .cm-h__logo {
        --w: 120;
        --pb: 0;
        --mt: auto
    }
}

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

    #l-body[data-scrolldir=down] .cm-h__logo,
    #l-body[data-scrolldir=up] .cm-h__logo {
        --w: 84
    }
}

#l-body[data-scrolldir=top] .cm-h__logo {
    transition: width .4s var(--ease-out-sine)
}

.cm-h__logoTarget {
    display: block
}

.cm-nav {
    --nitem-h: 80;
    --mmenu-w: 830;
    --mmenu-pl: 60;
    --mmenu-inner-w: calc(var(--mmenu-w) - var(--mmenu-pl));
    --mmenu-img-w: 410;
    height: calc(var(--nitem-h)*1em/16);
    position: relative;
    transition: height .3s var(--ease-out-cubic);
    margin-top: 10px;
}

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

#l-body[data-scrolldir=up] .cm-nav {
    --nitem-h: 80;
    margin-top: 0;
}

#l-body[data-scrolldir=up] .cm-nav h2 {
    margin-top: 8px;
    margin-bottom: 10px;
}


#l-wrapper.is-popupopen .cm-nav {
    opacity: 0;
    visibility: hidden
}

.cm-nav__list {
    --pr: 50;
    display: flex;
    padding-right: calc(var(--pr)*1em/16)
}

.cm-nav__listItemBlock {
    /* overflow: hidden; */
    position: relative;
}

.cm-nav__listItemBlock .title {
    --plr: 32;
    --fs: 16;
    align-items: center;
    display: flex;
    font-size: calc(var(--fs)*1em/16);
    height: 40px;
    padding: 0 calc(var(--plr)*1em/var(--fs));
    position: relative;
    text-align: center;
    transition: height .3s var(--ease-out-cubic), color .3s var(--ease-out-cubic);
    z-index: 2
}

#l-body[data-page=recruit] :is(.cm-nav__listItemBlock .title) {
    color: #fff
}

#l-body[data-page=recruit] :is(.cm-nav__listItemBlock .title):before {
    transition: none
}

#l-body[data-page=recruit] #l-wrapper.is-megaopen :is(.cm-nav__listItemBlock .title) {
    color: var(--main-color)
}

#l-body[data-page=recruit] #l-wrapper.is-megaopen :is(.cm-nav__listItemBlock .title):before {
    transition: opacity var(--transition)
}

#l-body[data-page=recruit][data-scrolldir=up] :is(.cm-nav__listItemBlock .title) {
    color: var(--main-color)
}

.cm-nav__listItemBlock .title:before {
    background: currentColor;
    content: "";
    display: block;
    height: calc(5em/var(--fs));
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: opacity var(--transition)
}

.cm-nav__listItemBlock .title.is-active:before {
    opacity: 1
}

.cm-nav__listItemBlock .body {
    width: 100%;
    background: #fff;
    border-radius: 0 0 0 .3125em;
    box-shadow: 0 0 3.125em #0003;
    display: block;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 100%;
    transition: opacity var(--transition), visibility var(--transition);
    visibility: hidden
}

/*#l-wrapper.is-megaopen :is(.cm-nav__listItemBlock .body) {
    opacity: 1;
    pointer-events: auto;
    visibility: visible
}*/

#l-wrapper.is-megaopen :is(.js-pcnav__mega.is-active .body) {
    opacity: 1;
    pointer-events: auto;
    visibility: visible
}

.cm-nav__listItemBlock .body__list {}

.cm-nav__listItemBlock .body__listItemTarget {
    --pt: 15;
    --pb: 15;
    --pl: 24;
    --pr: 0;
    align-items: center;
    border-radius: .3125em;
    display: flex;
    overflow: hidden;
    padding: calc(var(--pt)*1em/16) calc(var(--pr)*1em/16) calc(var(--pb)*1em/16) calc(var(--pl)*1em/16);
    position: relative;
    z-index: 1;
    cursor: pointer;
}

.cm-nav__listItemBlock .body__listItemTargetTxt {
    font-size: .875em;
    letter-spacing: .05em;
    line-height: 2;
    padding-left: 1.07143em
}

.cm-nav__listItemBlock .body__img {
    position: relative;
    width: calc(var(--mmenu-img-w)/var(--mmenu-inner-w)*100%)
}


.cm-nav__listItemBlock .body__imgPhoto {
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity var(--transition), visibility var(--transition);
    visibility: hidden;
    width: 100%;
    z-index: 0
}

.cm-nav__listItemBlock .body__imgPhoto.is-active {
    opacity: 1;
    visibility: visible
}

.cm-nav__listItemBlock .body__imgTxt {
    align-items: center;
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    left: 0;
    padding-right: calc(52/var(--mmenu-img-w)*100%);
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
}

.cm-nav__listItemBlock .body__imgPhoto.is-active:before {
    background: #000;
    content: "";
    height: 100%;
    left: 0;
    opacity: .6;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.cm-nav__listItemBlock .body__imgTxtEn {
    font-size: .875em;
    letter-spacing: .05em;
    margin-bottom: 1.57143em;
    opacity: .6;
    text-align: left
}

.cm-nav__listItemBlock .body__imgTxtJp {
    font-size: 1em;
    letter-spacing: .1em;
    line-height: 2;
    text-align: left
}

.cm-nav__listItemBlock .body__imgTxtJp .u-block {
    display: block
}

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

.cm-nav__listItemTarget .title {
    --plr: 32;
    --fs: 16;
    align-items: center;
    display: flex;
    font-size: calc(var(--fs)*1em/16);
    height: 40px;
    padding: 0 calc(var(--plr)*1em/var(--fs));
    position: relative;
    text-align: center;
    transition: height .3s var(--ease-out-cubic), color .3s var(--ease-out-cubic)
}

@media screen and (max-width: 1900px) {
    .cm-nav__listItemTarget .title {
        padding: 10px 30px;
    }
}

@media screen and (max-width: 1300px) {
    .cm-nav__listItemTarget .title {
        padding: 0 16px;
    }
}

#l-body[data-page=recruit] :is(.cm-nav__listItemTarget .title) {
    color: #fff
}

#l-body[data-page=recruit] #l-wrapper.is-megaopen :is(.cm-nav__listItemTarget .title),
#l-body[data-page=recruit][data-scrolldir=up] :is(.cm-nav__listItemTarget .title) {
    color: var(--main-color)
}

.cm-nav__listItemTarget .title:before {
    background: currentColor;
    content: "";
    display: block;
    height: calc(5em/var(--fs));
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0
}

@media (any-hover: hover) {
    .cm-nav__listItemTarget .title:before {
        transition: opacity var(--transition)
    }

    .cm-nav__listItemTarget:hover .title:before {
        opacity: 1
    }

    .cm-nav__listItemBlock .body__listItemTarget {
        transition: background-color var(--transition)
    }

    .cm-nav__listItemBlock .body__listItemTarget .u-arrow {
        transition: transform var(--transition)
    }

    .cm-nav__listItemBlock .body__listItemTarget .u-arrow svg {
        transition: fill var(--transition)
    }

    .cm-nav__listItemBlock .body__listItemTarget:hover {
        background: var(--light-blue-color)
    }

    .cm-nav__listItemBlock .body__listItemTarget:hover .u-arrow {
        transition: translateX(.3125em)
    }

    .cm-nav__listItemBlock .body__listItemTarget:hover .u-arrow svg {
        fill: #BB9580;
    }

    .cm-nav__listItemBlock .body__listItemTarget:hover .body__listItemTargetTxt {
        color: #BB9580;
    }

    .cm-nav__listItemBlock .body__listItemTargetTxt {
        transition: color var(--transition)
    }
}

.cm-f {
    --bottom-logo-h: 34;
    --bottom-logo-mb: 50;
    --pt: 118;
    --pb: 112;
    padding: calc(var(--pt)*1em/16) 0 calc(var(--pb)*1em/16);
    position: relative;
    z-index: 2
}

.cm-f .u-section {
    display: flex;
    flex-direction: row-reverse;
    position: relative
}

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

#l-body[data-page=contact] .cm-f {
    /* display: none; */
}

.cm-f__bg {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0;
    background: #fff;
}

.cm-f__common {
    --common-w: 670;
    --mt: calc(var(--bottom-logo-h) + var(--bottom-logo-mb));
    flex-basis: calc(var(--common-w)*1em/16);
    flex-shrink: 0;
    margin-top: calc(var(--mt)*1em/16);
    position: relative;
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .cm-f__common {
        height: 100%;
        left: 0;
        margin-top: 0;
        min-height: calc(var(--vh)*100);
        pointer-events: none;
        position: fixed;
        top: 0;
        width: 100%
    }

    #l-wrapper.is-menuopen .cm-f__common {
        overflow-y: scroll;
        overscroll-behavior: none;
        pointer-events: auto
    }

    .cm-f__commonBody-wrapper {
        background: #ede4db;
        margin-top: 0;
        opacity: 0;
        padding: 1.5em 4.83092%;
        pointer-events: auto;
        visibility: hidden
    }

    .cm-f__commonBody {
        --pt: 52;
        --pb: 80;
        background: #fff;
        border-radius: 2.5em;
        opacity: 0;
        overflow: hidden;
        padding: calc(var(--pt)*1em/16) 0 calc(var(--pb)*1em/16);
        position: relative;
        visibility: hidden;
        z-index: 1
    }

    .cm-f__commonBody-inner {
        margin: 0 auto;
        min-width: 17.75em;
        overflow: visible;
        width: 75.93583%
    }
}

.cm-f__commonBodyRelationship {
    overflow: hidden
}

@media screen and (max-width: 1024px) {
    .cm-f__commonBodyRelationship {
        --mt: 70;
        margin-top: calc(var(--mt)*1em/16);
        opacity: 0;
        overflow: visible;
        visibility: hidden
    }
}

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

.cm-f__commonBodyRelationship .head__title {
    font-size: .875em;
    line-height: 2;
    color: #BB9580;
}

.cm-f__commonBodyRelationship .head__btn {
    display: flex;
    margin-left: 2em;
}

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

.cm-f__commonBodyRelationship .head__btnItem {
    border: .5px solid #BB9580;
    border-radius: 100vmax;
    height: 2em;
    overflow: hidden;
    position: relative;
    width: 2em;
    z-index: 1
}

.cm-f__commonBodyRelationship .head__btnItem:first-child {
    margin-right: .625em
}

.cm-f__commonBodyRelationship .head__btnItem:first-child svg {
    transform: scaleX(-1)
}

.cm-f__commonBodyRelationship .body {
    --mt: 28;
    margin-top: calc(var(--mt)*1em/16);
    width: 100%
}

@media screen and (max-width: 1024px) {
    .cm-f__commonBodyRelationship .body {
        --mt: 20;
        overflow: visible
    }
}

.cm-f__commonBodyRelationship .body__slider {
    cursor: grab;
    width: calc(var(--common-w)*1em/16)
}

@media screen and (max-width: 1024px) {
    .cm-f__commonBodyRelationship .body__slider {
        overflow: visible;
        width: 100%
    }
}

.cm-f__commonBodyRelationship .body__sliderList {
    width: -moz-fit-content;
    width: fit-content
}

.cm-f__commonBodyRelationship .body__sliderListItem {
    width: 20em
}

@media screen and (max-width: 1024px) {
    .cm-f__commonBodyRelationship .body__sliderListItem {
        width: 100%
    }
}

.cm-f__commonBodyRelationship .body__scroll {
    --mt: 25;
    cursor: grab;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 1024px) {
    .cm-f__commonBodyRelationship .body__scroll {
        --mt: 28
    }
}

.cm-f__commonBodySpcopy {
    --mt: 80;
    display: none;
    font-size: .875em;
    margin-top: calc(var(--mt)*1em/14);
    text-align: center
}

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

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

@media screen and (max-width: 1024px) {
    #l-wrapper.is-menuopen .cm-f__bottom {
        opacity: 0;
        visibility: hidden
    }
}

.cm-f__bottomLogo {
    --w: 209;
    width: calc(var(--w)*1em/16);
    margin-bottom: 4%;
}

.cm-f__bottomAddress {
    font-size: .875em;
    line-height: 2;
}

.cm-f__bottomList {
    --mt: 40;
    display: grid;
    grid-template: "parent other01"auto "parent other02"auto "parent other03"auto "parent other04"auto "parent other05"auto "parent other06"1fr/11.625em 1fr;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 1280px) {
    .cm-f__bottomList {
        grid-template:
            "parent other01"auto "parent other02"auto "parent other03"auto "parent other04"auto "parent other05"auto "parent other06"1fr/10.71875em 1fr;
    }
}

@media screen and (max-width: 1024px) {
    .cm-f__bottomList {
        grid-template: "parent other01"auto "parent other02"auto "parent other03"auto "parent other04"auto "parent other05"auto "parent other06"1fr/11.625em 1fr
    }
}

@media screen and (max-width: 768px) {
    .cm-f__bottomList {
        grid-template: "parent other01"auto "parent other02"auto "parent other03"auto "parent other04"auto "parent other05"auto "parent other06"1fr/10.125em 1fr
    }
}

@media screen and (max-width: 400px) {
    .cm-f__bottomList {
        grid-template: "parent other01"auto "parent other02"auto "parent other03"auto "parent other04"auto "parent other05"auto "parent other06"1fr/45% 55%
    }
}

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

.cm-f__bottomListItem.is-parent {
    grid-area: parent
}

.cm-f__bottomListItem.is-others:nth-of-type(2) {
    grid-area: other01
}

.cm-f__bottomListItem.is-others:nth-of-type(3) {
    grid-area: other02
}

.cm-f__bottomListItem.is-others:nth-of-type(4) {
    grid-area: other03
}

.cm-f__bottomListItem.is-others:nth-of-type(5) {
    grid-area: other04
}

.cm-f__bottomListItem.is-others:nth-of-type(6) {
    grid-area: other05
}

.cm-f__bottomListItem.is-others:nth-of-type(7) {
    grid-area: other06
}

.cm-f__bottomListItem.is-others:nth-of-type(n+3) {
    margin-top: 1.42857em
}

.cm-f__bottomListItem .block__body {
    /*margin-top: 1.55714em;
    margin-left: 1em;*/
}

.cm-f__bottomListItem .block__bodyListItem:not(:first-child) {
    margin-top: 1.35714em
}

.cm-f__bottomListItem .block__body>ul>li {
    margin-bottom: 1.45em;
}

.cm-f__others {
    margin-top: 8%;
}

.cm-f__others img {
    max-width: 200px;
}

.cm-f__others p {
    margin-top: 3%;
    font-size: 18px;
    font-weight: bold;
}

.cm-f__bottomCopy {
    --mt: 104;
    font-size: .875em;
    margin-top: 13%;
    color: #BB9580;
}

.cm-menu {
    display: none;
    height: 7.5em;
    left: calc(var(--ww) - 7.5em);
    position: fixed;
    top: 0;
    width: 7.5em;
    z-index: 998
}

@media screen and (max-width: 1024px) {
    .cm-menu {
        display: block;
        pointer-events: auto
    }

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

.cm-menu:before {
    background: #b8601e;
    border-radius: 100vmax;
    content: "";
    height: 100%;
    left: 0;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    visibility: hidden;
    width: 100%;
    z-index: 1
}

#l-wrapper.is-menuopen .cm-menu {
    transform-origin: center center
}

#l-wrapper.is-menuopen .cm-menu:before {
    opacity: 1;
    visibility: visible
}

.cm-menu__body {
    align-items: center;
    background: #b8601e;
    border-radius: 100vmax;
    bottom: 0;
    color: #fff;
    cursor: pointer;
    display: none;
    flex-direction: column;
    height: 5em;
    justify-content: center;
    left: 0;
    margin: auto;
    outline: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    width: 5em;
    z-index: 999
}

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

#l-wrapper.is-menuopen .cm-menu__body {
    background: #b8601e;
    color: #fff;
}

.cm-menu__bodyLine {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: .5625em;
    height: .9375em;
    justify-content: center;
    position: relative;
    width: 1.875em
}

.cm-menu__bodyLine:after,
.cm-menu__bodyLine:before {
    background: currentColor;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: relative;
    width: 1.875em
}

.cm-menu__bodyLine:before {
    transform-origin: left top
}

.cm-menu__bodyLine:after {
    transform-origin: left bottom
}

#l-wrapper.is-menuopen .cm-menu__bodyLine {
    justify-content: space-between
}

#l-wrapper.is-menuopen .cm-menu__bodyLine:after,
#l-wrapper.is-menuopen .cm-menu__bodyLine:before {
    left: .1875em
}

#l-wrapper.is-menuopen .cm-menu__bodyLine:before {
    transform: rotate(30deg)
}

#l-wrapper.is-menuopen .cm-menu__bodyLine:after {
    transform: rotate(-30deg)
}

.cm-menu__bodyTxt {
    display: block;
    font-size: .8125em;
    letter-spacing: .1em;
    margin-top: .76923em;
    position: relative;
    text-align: center;
    width: 100%
}

.cm-menu__bodyTxt span:first-child {
    opacity: 1;
    position: relative;
    visibility: visible
}

.cm-menu__bodyTxt span:nth-child(2) {
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    visibility: hidden
}

#l-wrapper.is-menuopen .cm-menu__bodyTxt span:first-child {
    opacity: 0;
    visibility: hidden
}

#l-wrapper.is-menuopen .cm-menu__bodyTxt span:nth-child(2) {
    opacity: 1;
    visibility: visible
}

.cm-spnav {
    display: none
}

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

.cm-spnav__logo {
    margin: -.9375em 0 -1.25em -.9375em;
    opacity: 0;
    visibility: hidden;
    width: 5.625em
}

.cm-spnav__logoTarget {
    display: block
}

.cm-spnav__list {
    --mt: 32;
    --pt: 30;
    margin-top: calc(var(--mt)*1em/16)
}

.cm-spnav__listItem {
    opacity: 0;
    visibility: hidden
}

.cm-spnav__listItem:first-of-type {
    border-top: .5px solid var(--gray-color);
    padding-top: calc(var(--pt)*1em/16)
}

.cm-spnav__listItem:not(:first-child) {
    --mt: 32;
    margin-top: calc(var(--mt)*1em/16)
}

.cm-spnav__listItem.is-accordion :is(.cm-spnav__listItemBlock .title) {
    cursor: pointer;
    position: relative
}

.cm-spnav__listItem.is-accordion :is(.cm-spnav__listItemBlock .title):after,
.cm-spnav__listItem.is-accordion :is(.cm-spnav__listItemBlock .title):before {
    background: var(--effect-color);
    bottom: 0;
    content: "";
    height: .5px;
    margin: auto 0;
    position: absolute;
    right: 0;
    top: 0;
    width: .625em
}

.cm-spnav__listItem.is-accordion :is(.cm-spnav__listItemBlock .title):after {
    transform: rotate(-90deg);
    transition: transform var(--transition)
}

.cm-spnav__listItem.is-accordion.is-accopen :is(.cm-spnav__listItemBlock .title):after {
    transform: rotate(0deg)
}

.cm-spnav__listItemBlock .body {
    overflow: hidden
}

.cm-spnav__listItemBlock .body-inner {
    --pt: 24;
    --pb: 0;
    padding: calc(var(--pt)*1em/16) 0 calc(var(--pb)*1em/16)
}

.cm-spnav__listItemBlock .body__item:not(:first-child) {
    margin-top: 1.5em
}

.cm-spnav__listItemBlock .body__itemTarget {
    font-size: .875em;
    padding-left: 1.14286em
}

.cm-spnav__sns {
    --mt: 88;
    --pb: 28;
    align-items: center;
    border-bottom: .5px solid var(--gray-color);
    display: flex;
    justify-content: space-between;
    margin-top: calc(var(--mt)*1em/16);
    opacity: 0;
    padding-bottom: calc(var(--pb)*1em/16);
    visibility: hidden
}

.cm-spnav__snsTitle {
    font-size: .875em;
    letter-spacing: .08em
}

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

.cm-spnav__snsBodyList .item {
    width: 1.25em
}

.cm-spnav__snsBodyList .item:not(:first-child) {
    margin-left: 1.25em
}

.cm-postpagenavi {
    --fs: 14;
    font-size: calc(var(--fs)*1em/16);
    font-weight: 700
}

@media screen and (max-width: 430px) {
    .cm-postpagenavi {
        font-size: calc(var(--fs)*1em/16*.9);
        margin: 0 -1em
    }
}

.cm-postpagenavi .wp-pagenavi {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: calc(-17em/var(--fs));
    padding-top: calc(80em/var(--fs));
    position: relative;
    text-align: center
}

.cm-postpagenavi .wp-pagenavi .current,
.cm-postpagenavi .wp-pagenavi .extend,
.cm-postpagenavi .wp-pagenavi .nextpostslink,
.cm-postpagenavi .wp-pagenavi .page,
.cm-postpagenavi .wp-pagenavi .previouspostslink {
    align-items: center;
    background: #0000;
    border-radius: 100vmax;
    display: flex;
    height: calc(60em/var(--fs));
    justify-content: center;
    margin: 0 calc(5em/var(--fs)) calc(17em/var(--fs));
    text-decoration: none;
    width: calc(60em/var(--fs))
}

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

    .cm-postpagenavi .wp-pagenavi .current,
    .cm-postpagenavi .wp-pagenavi .extend,
    .cm-postpagenavi .wp-pagenavi .nextpostslink,
    .cm-postpagenavi .wp-pagenavi .page,
    .cm-postpagenavi .wp-pagenavi .previouspostslink {
        height: calc(60em/var(--fs)*.9);
        width: calc(60em/var(--fs)*.9)
    }
}

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

    .cm-postpagenavi .wp-pagenavi .current,
    .cm-postpagenavi .wp-pagenavi .extend,
    .cm-postpagenavi .wp-pagenavi .nextpostslink,
    .cm-postpagenavi .wp-pagenavi .page,
    .cm-postpagenavi .wp-pagenavi .previouspostslink {
        height: calc(60em/var(--fs)*.75);
        margin: 0 calc(5em/var(--fs)*.9) calc(17em/var(--fs));
        width: calc(60em/var(--fs)*.75)
    }
}

.cm-postpagenavi .wp-pagenavi .page {
    border: .5px solid var(--effect-color)
}

.cm-postpagenavi .wp-pagenavi .current {
    background: var(--main-color);
    color: #fff
}

.cm-postpagenavi .wp-pagenavi .extend {
    height: calc(60em/var(--fs));
    width: calc(20em/var(--fs))
}

@media screen and (max-width: 768px) {
    .cm-postpagenavi .wp-pagenavi .extend {
        height: calc(60em/var(--fs)*.9);
        width: calc(20em/var(--fs)*.9)
    }
}

@media screen and (max-width: 430px) {
    .cm-postpagenavi .wp-pagenavi .extend {
        height: calc(60em/var(--fs)*.75);
        width: calc(20em/var(--fs)*.75)
    }
}

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

    .cm-postpagenavi .wp-pagenavi .nextpostslink,
    .cm-postpagenavi .wp-pagenavi .page,
    .cm-postpagenavi .wp-pagenavi .previouspostslink {
        transition: background var(--transition), color var(--transition)
    }

    .cm-postpagenavi .wp-pagenavi .nextpostslink:hover,
    .cm-postpagenavi .wp-pagenavi .page:hover,
    .cm-postpagenavi .wp-pagenavi .previouspostslink:hover {
        background: var(--main-color);
        color: #fff
    }
}

.cm-crumb {
    --pt: 0;
    --pb: 20;
    overflow: hidden;
    padding: calc(var(--pt)*1em/16) 0 calc(var(--pb)*1em/16);
    position: relative;
    z-index: 2
}

.p-service .cm-crumb {
    --pt: 30;
    --pb: 0
}

.cm-crumb__list {
    --fs: 12;
    display: flex;
    font-size: calc(var(--fs)*1em/16);
    justify-content: flex-end;
    margin: 0 -1em
}

.cm-crumb__listItem {
    overflow: hidden;
    padding: 0 1em;
    text-overflow: ellipsis;
    white-space: nowrap
}

.cm-crumb__listItem[aria-current=page] {
    color: var(--gray-color)
}

.cm-crumb__listItem:not(:last-child) {
    flex-shrink: 0
}

.cm-under {
    --pt: 200;
    --pb: 0;
    padding-bottom: calc(var(--pb)*1em/16);
    padding-top: calc(var(--pt)*1em/16)
}

@media screen and (max-width: 640px) {
    .cm-under {
        --pt: 200*.8
    }
}

@media screen and (max-width: 430px) {
    .cm-under {
        --pt: 200*.6
    }
}

.cm-under.p-company {
    --pb: 72
}

@media screen and (max-width: 430px) {
    .cm-under.p-company {
        --pt: 200*.9
    }
}

.cm-under.p-service {

    --pb: 200
}

@media screen and (max-width: 640px) {
    .cm-under.p-service {
        --pt: 178*.9;
        --pb: 200*.9
    }
}

.cm-under.p-shop,
.cm-under.p-shopdtl {
    --pb: 90
}

.cm-under.p-manufacture {
    --pb: 0
}

.cm-under.p-infodtl {
    --pb: 100
}

.cm-under.p-recruit {
    --pt: 0;
    --pb: 48
}

.cm-under.p-contact {
    --pt: 200;
    --pb: 0;
    --pb: 240
}

@media screen and (max-width: 1024px) {
    .cm-under.p-contact {
        --pt: 178
    }
}

@media screen and (max-width: 640px) {
    .cm-under.p-contact {
        --pt: 178*.8;
        --pb: 240*.8
    }
}

@media screen and (max-width: 430px) {
    .cm-under.p-contact {
        --pb: 240*.6
    }
}

.cm-fixedbg {
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 0
}

@media screen and (max-width: 880px) {
    .cm-fixedbg {
        display: none;
        position: static
    }
}

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

/*
.cm-cta:before {
    background: url(../image/contact-partition.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    content: "";
    display: block;
    height: 14.375em;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: -1px;
    z-index: 2
}
*/
#l-body[data-page=manufacture] .cm-cta:before {
    background-image: url(../image/contact-partition-beige.svg)
}

#l-body[data-page=contact] .cm-cta {
    /* display: none; */
}

.cm-cta__body {
    --pt: 362;
    --pb: 140;
    padding-bottom: calc(var(--pb)/var(--section-width)*100%);
    padding-top: calc(var(--pt)/var(--section-width)*100%);
    position: relative;
    z-index: 1
}

@media screen and (max-width: 880px) {
    .cm-cta__body {
        --pt: 216*.6;
        --pb: 128*.6;
        padding-bottom: calc(var(--pb)/314*100%);
        padding-top: calc(var(--pt)/314*100%)
    }
}

@media screen and (max-width: 640px) {
    .cm-cta__body {
        --pt: 216*.8;
        --pb: 128*.8
    }
}

@media screen and (max-width: 430px) {
    .cm-cta__body {
        --pt: 96;
        --pb: 128
    }
}

.cm-cta__bodyTitle {
    --fs: 120;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .05em;
    text-align: center;
    color: #BB9580;
}

@media screen and (max-width: 880px) {
    .cm-cta__bodyTitle {
        --fs: 47
    }
}

.cm-cta__bodyList {
    --mt: 60;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 880px) {
    .cm-cta__bodyList {
        display: block;
        margin: calc(var(--mt)*1em/16) auto 0;
        width: -moz-fit-content;
        width: fit-content
    }
}

.cm-cta__bodyListItem {
    display: flex;
    flex-basis: 50%;
    padding-left: calc(188/var(--section-width)*100%);
    color: #BB9580;
}

@media screen and (max-width: 880px) {
    .cm-cta__bodyListItem {
        font-size: .875em;
        padding-left: 0
    }
}

.cm-cta__bodyListItem:nth-child(n+3) {
    margin-top: .9375em
}

@media screen and (max-width: 880px) {
    .cm-cta__bodyListItem:nth-child(n+3) {
        margin-top: 0
    }

    .cm-cta__bodyListItem:not(:first-child) {
        margin-top: .875em
    }
}

.cm-cta__bodyListItem .icon {
    height: 1.25em;
    margin-right: 1em;
    margin-top: .45em;
    width: 1.25em
}

.cm-cta__bodyListItem .icon svg {
    height: 100%;
    width: 100%
}

.cm-cta__bodyContact {
    --mt: 86;
    display: flex;
    margin-top: calc(var(--mt)*1em/16)
}

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

.cm-cta__bodyContactTel {
    --w: 602;
    border-right: .5px solid #BB9580;
    flex-basis: calc(var(--w)/var(--section-width)*100%)
}

@media screen and (max-width: 880px) {
    .cm-cta__bodyContactTel {
        border-right: none
    }
}

.cm-cta__bodyContactTel .icon {
    height: 1.875em;
    margin: 0 auto;
    width: 1.875em
}

.cm-cta__bodyContactTel .num {
    --mt: 30;
    --fs: 36;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .1em;
    margin-top: calc(var(--mt)*1em/var(--fs));
    text-align: center;
    color: #BB9580;
}

.cm-cta__bodyContactTel .num__target {
    color: currentColor
}

.cm-cta__bodyContactTel .time {
    --mt: 22;
    display: flex;
    font-size: .875em;
    justify-content: center;
    letter-spacing: .05em;
    line-height: 2;
    margin-top: calc(var(--mt)*1em/14);
    color: #BB9580;
}

.cm-cta__bodyContactTel .time dt {
    margin-right: .71429em
}

.cm-cta__bodyContactMail {
    --w: 538;
    flex-basis: calc(var(--w)/var(--section-width)*100%)
}

.cm-cta__bodyContactMail .icon {
    height: 1.875em;
    margin: 0 auto;
    width: 2.1875em
}

@media screen and (max-width: 880px) {
    .cm-cta__bodyContactMail .icon {
        display: none
    }
}

.cm-cta__bodyContactMail .btn {
    --mt: 32;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 880px) {
    .cm-cta__bodyContactMail .btn {
        --mt: 48
    }
}

.cm-cta__bodyContactMail .btn .c-btn {
    margin: 0 auto
}

.cm-cta__spbg {
    display: none
}

@media screen and (max-width: 880px) {
    .cm-cta__spbg {
        display: block;
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 0
    }
}

.cm-news__post {
    --news-fs: 14;
    --ptb: 30
}

.cm-news__post:not(:first-of-type) {
    border-top: .5px solid #e1e1e1
}

.cm-news__postTarget {
    display: grid;
    font-size: calc(var(--news-fs)*1em/16);
    grid-template: "img info arrow"max-content "img title arrow"max-content/calc(228em/var(--news-fs)) 1fr calc(29em/var(--news-fs));
    padding: calc(var(--ptb)*1em/var(--news-fs)) 0
}

@media screen and (max-width: 768px) {
    .cm-news__postTarget {
        grid-template: "info arrow"max-content "title arrow"max-content/1fr calc(29em/var(--news-fs))
    }
}

.cm-news__postTargetTitle {
    grid-area: title;
    line-height: 1.5;
    margin: calc(12em/var(--news-fs)) calc(12em/var(--news-fs)) 0 0
}

.cm-news__postTargetTitle .body {
    display: inline-block
}

.cm-news__postTargetInfo {
    align-self: end;
    display: flex;
    grid-area: info
}

@media screen and (max-width: 768px) {
    .cm-news__postTargetInfo {
        font-size: calc(12em/var(--news-fs))
    }
}

.cm-news__postTargetInfo .cat {
    color: #9d9d9d;
    margin-left: calc(20em/var(--news-fs))
}

.cm-news__postTargetImg {
    grid-area: img
}

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

.cm-news__postTargetImg img {
    width: 83.33333%
}

.cm-news__postTargetArrow {
    align-self: center;
    grid-area: arrow;
    width: calc(9em/var(--news-fs))
}

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

    .cm-news__postTarget:before {
        background-color: #ebebeb;
        content: "";
        display: block;
        height: 100%;
        left: 0;
        opacity: 0;
        position: absolute;
        top: 0;
        transition: opacity var(--transition);
        width: 100%
    }

    .cm-news__postTargetImg {
        overflow: hidden
    }

    .cm-news__postTargetImg img {
        transition: transform var(--transition);
        will-change: transform
    }

    .cm-news__postTargetTitle .body {
        transition: opacity var(--transition)
    }

    .cm-news__postTargetTitle .body:after {
        background-color: #1f1b1b80;
        content: "";
        display: block;
        height: .5px;
        transform: scaleX(0);
        transform-origin: top right;
        transition: transform var(--transition)
    }

    .cm-news__postTargetArrow {
        transform-origin: top left;
        transition: transform var(--transition)
    }

    .cm-news__postTarget:hover:before {
        opacity: .8
    }

    .cm-news__postTarget:hover .cm-news__postTargetImg img {
        transform: scale(1.03);
        will-change: auto
    }

    .cm-news__postTarget:hover .cm-news__postTargetTitle .body {
        opacity: .6
    }

    .cm-news__postTarget:hover .cm-news__postTargetTitle .body:after {
        transform: scale(1);
        transform-origin: top left
    }

    .cm-news__postTarget:hover .cm-news__postTargetArrow {
        transform: translate3d(calc(20em/var(--news-fs)), 0, 0)
    }
}

.cm-stickymenu {
    --side-top: 0;
    --side-bottom: 64;
    --side-mt: 0;
    --side-mb: 0;
    --side-pl: 0;
    --side-w: 0;
    --side-fs: 14;
    --side-item-mt: 16;
    --side-arrow-mr: 10;
    align-items: flex-end;
    display: flex;
    flex-direction: row-reverse;
    position: relative;
    z-index: 1
}

.p-infolist .cm-stickymenu,
.p-service .cm-stickymenu {
    --side-mt: 325;
    --side-pl: 60;
    --side-w: 246
}

.p-contact .cm-stickymenu {
    --side-mt: 0;
    --side-pl: 0
}

@media screen and (max-width: 1024px) {
    .p-contact .cm-stickymenu {
        flex-direction: column
    }
}

.cm-stickymenu__main {
    margin-right: calc(50% - var(--ww)*.5);
    position: relative;
    width: calc(var(--ww)*.5 + 50%);
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .cm-stickymenu__main {
        margin: 0 auto;
        width: 100%
    }

    .cm-stickymenu__main-inner {
        overflow: unset
    }
}

.cm-stickymenu__side {
    /*    bottom: calc(var(--side-bottom)*1em/16);*/
    /*    bottom: 60%;*/
    bottom: 10%;
    flex-shrink: 0;
    height: -moz-fit-content;
    height: fit-content;
    margin: calc(var(--side-mt)*1em/16) 0 calc(var(--side-mb)*1em/16) calc(50% - var(--ww)*.5);
    position: sticky;
    width: calc(var(--ww)*.5 - 50%);
    z-index: 2
}

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

    .p-contact .cm-stickymenu__side {
        background: #fff;
        bottom: 0;
        display: block;
        left: 0;
        margin: 0 calc(50% - var(--ww)*.5);
        position: fixed;
        right: 0;
        width: var(--ww)
    }
}

.p-manufacture .cm-stickymenu__side {
    --mb: 124;
    margin-bottom: calc(var(--mb)*1em/16)
}

.cm-stickymenu__sideList {
    padding-left: calc(var(--side-pl)/var(--side-w)*100%)
}

.cm-stickymenu__sideListItem {
    font-size: calc(var(--side-fs)*1em/16);
    letter-spacing: .05em;
    text-align: left
}

.cm-stickymenu__sideListItem:not(:first-child) {
    margin-top: calc(var(--side-item-mt)*1em/var(--side-fs))
}

.cm-stickymenu__sideListItem .block {
    display: block;
    cursor: pointer;
}

.cm-stickymenu__sideListItem.is-current :is(.cm-stickymenu__sideListItem .block) {
    align-items: center;
    color: var(--blue-color);
    display: flex;
    cursor: pointer;
}

.cm-stickymenu__sideListItem .block .u-arrow {
    display: none
}

.cm-stickymenu__sideListItem.is-current :is(.cm-stickymenu__sideListItem .block .u-arrow) {
    display: block;
    margin-right: calc(var(--side-arrow-mr)*1em/16)
}

.cm-stickymenu__sideListItem .block .u-arrow svg {
    fill: currentColor
}

.cm-lb {
    height: 100%;
    left: 0;
    min-height: 100vh;
    opacity: 0;
    overscroll-behavior: none;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    visibility: hidden;
    z-index: 10
}

html.is-popupopen .cm-lb {
    opacity: 1;
    overflow-y: scroll;
    pointer-events: auto;
    visibility: visible
}

.cm-lb-inner {
    --pt: 50;
    --pb: 116;
    min-height: 100%;
    overflow: hidden;
    padding-bottom: calc(var(--pb)*1em/16);
    padding-top: calc(var(--pt)*1em/16);
    position: relative
}

@media screen and (max-width: 640px) {
    .cm-lb-inner {
        --pt: 50*.8
    }
}

.cm-lb-inner:before {
    -webkit-backdrop-filter: blur(.9375em) brightness(.85) opacity(0);
    backdrop-filter: blur(.9375em) brightness(.85) opacity(0);
    background-color: #ffffff03;
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: -webkit-backdrop-filter .6s var(--ease-out-sine);
    transition: backdrop-filter .6s var(--ease-out-sine);
    transition: backdrop-filter .6s var(--ease-out-sine), -webkit-backdrop-filter .6s var(--ease-out-sine);
    z-index: 1
}

html.is-popupopen .cm-lb-inner:before {
    -webkit-backdrop-filter: blur(.9375em) brightness(.85) opacity(1);
    backdrop-filter: blur(.9375em) brightness(.85) opacity(1)
}

@media screen and (max-width: 1024px) {
    .cm-lb-inner .u-section {
        width: 88%
    }
}

.cm-lb-inner .u-innersection {
    overflow: visible
}

@media screen and (max-width: 1024px) {
    .cm-lb-inner .u-innersection {
        width: 86.66667%
    }
}

.cm-lb__body {
    opacity: 0;
    position: relative;
    transform: translate3d(0, -2em, 0);
    visibility: hidden;
    z-index: 1
}

html.is-popupopen .cm-lb__body {
    opacity: 1;
    transform: translateZ(0);
    transition: opacity .8s var(--ease-out-cubic), visibility .8s var(--ease-out-cubic), transform .8s var(--ease-out-cubic);
    transition-delay: .7s;
    visibility: visible
}

.cm-lb__body-inner {
    --pt: 56;
    --pb: 156;
    background: #fff;
    border-radius: 1.25em;
    overflow: hidden;
    padding-bottom: calc(var(--pb)*1em/16);
    padding-top: calc(var(--pt)*1em/16)
}

@media screen and (max-width: 640px) {
    .cm-lb__body-inner {
        --pt: 56*.8;
        --pb: 156*.8
    }
}

@media screen and (max-width: 430px) {
    .cm-lb__body-inner {
        --pb: 156*.6
    }
}

.cm-lb__bodyBtn {
    color: var(--main-color);
    overflow: visible;
    position: absolute
}

.cm-lb__bodyBtn.is-small {
    right: 3.125em;
    top: 3.125em
}

@media screen and (max-width: 640px) {
    .cm-lb__bodyBtn.is-small {
        right: 2.5em;
        top: 2.5em
    }
}

@media screen and (max-width: 430px) {
    .cm-lb__bodyBtn.is-small {
        right: 1.875em;
        top: 1.875em
    }
}

.cm-lb__bodyBtn.is-large {
    align-items: center;
    background: #fff;
    border: .5px solid #cecece;
    border-radius: 100vmax;
    bottom: -2.5em;
    display: flex;
    flex-direction: column;
    height: 5em;
    justify-content: center;
    left: 0;
    margin: 0 auto;
    max-width: 21.5625em;
    overflow: hidden;
    right: 0;
    width: 100%;
    z-index: 1
}

@media screen and (max-width: 880px) {
    .cm-lb__bodyBtn.is-large {
        max-width: 10em;
        width: 80%
    }
}

@media screen and (max-width: 640px) {
    .cm-lb__bodyBtn.is-large {
        bottom: -2em;
        height: 4em;
        max-width: 8.25em
    }
}

.cm-lb__bodyBtnLine {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: .5625em;
    height: .9375em;
    justify-content: space-between;
    position: relative;
    width: 1.875em
}

.cm-lb__bodyBtnLine:after,
.cm-lb__bodyBtnLine:before {
    background: currentColor;
    content: "";
    display: block;
    height: .5px;
    left: .1875em;
    position: relative;
    width: 1.875em
}

.cm-lb__bodyBtnLine:before {
    transform: rotate(30deg);
    transform-origin: left top
}

.cm-lb__bodyBtnLine:after {
    transform: rotate(-30deg);
    transform-origin: left bottom
}

.cm-lb__bodyBtnLineTxt {
    display: block;
    font-size: .625em;
    letter-spacing: .1em;
    margin-top: .6em;
    position: relative;
    text-align: center;
    width: 100%
}

.cm-lb__bodyCont {
    opacity: 0;
    position: absolute;
    visibility: hidden
}

.cm-lb__bodyCont.is-lbshow {
    opacity: 1;
    position: static;
    visibility: visible
}

.cm-lb__bodyCont .u-vtupright.u-ls {
    letter-spacing: -.1em
}

.cm-lb__bodyList {
    --mt: 60;
    margin: calc(var(--mt)*1em/16) 0 0 auto;
    width: calc(740/var(--inner-section-width)*100%)
}

@media screen and (max-width: 1024px) {
    .cm-lb__bodyList {
        width: 90%
    }
}

@media screen and (max-width: 880px) {
    .cm-lb__bodyList {
        width: 100%
    }
}

@media screen and (max-width: 640px) {
    .cm-lb__bodyList {
        --mt: 60*.8
    }
}

.cm-lb__bodyListItem {
    border-bottom: .5px solid var(--gray-color);
    display: flex;
    padding-bottom: 1.71429em
}

.cm-lb__bodyListItem:not(:first-child) {
    --mt: 32;
    margin-top: calc(var(--mt)*1em/16)
}

.cm-lb__bodyListItem .num {
    display: flex;
    flex-shrink: 0;
    font-size: 1.5em;
    justify-content: center;
    padding-right: .16667em;
    width: 3em
}

@media screen and (max-width: 640px) {
    .cm-lb__bodyListItem .num {
        width: 2.4em
    }
}

@media screen and (max-width: 430px) {
    .cm-lb__bodyListItem .num {
        width: 1.8em
    }
}

.p-top {
    --top-pt: 100;
    position: relative
}

@media screen and (max-width: 1024px) {
    .p-top {
        padding-top: calc(var(--top-pt)*1em/16)
    }
}

@media screen and (max-width: 768px) {
    .p-top {
        --top-pt: 178
    }
}

@media screen and (max-width: 430px) {
    .p-top {
        --top-pt: 132*.9;
    }
}

.p-top:before {
    background-color: #fff;
    content: "";
    display: block;
    height: calc(var(--top-pt)*1em/16);
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

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

.pm-top__title {
    --jp-fs: 18;
    --en-fs: 150;
    position: relative
}

@media screen and (max-width: 1024px) {
    .pm-top__title {
        --jp-fs: 16;
        --en-fs: 120
    }
}

@media screen and (max-width: 430px) {
    .pm-top__title {
        --en-fs: 105
    }
}

.pm-top__titleJp {
    font-size: 20px;
    letter-spacing: .3em;
    position: relative;
    z-index: 1;
    text-align: center;
    font-size: 20px;
    color: #333;
}

.pm-top__titleEn {
    color: #fff;
    display: flex;
    /* font-size: calc(var(--en-fs)*1em/16); */
    left: calc(-130em/var(--en-fs));
    letter-spacing: .04em;
    line-height: 1.3;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: calc(-45em/var(--en-fs));
    visibility: hidden;
    z-index: 0;
    display: block;
    font-size: 14px;
    color: #333;
    position: static;
    text-align: center;
    width: 100%;
    margin-top: 10px;
}

@media screen and (max-width: 1024px) {
    .pm-top__titleEn {
        left: -9.23077%
    }
}

.p-top__company .pm-top__titleEn {
    /* color: #f4f4f4; */
}

.pm-top__titleEn span {
    /*opacity: 0;
    visibility: hidden*/
    opacity: 1;
    visibility: visible;
}

.p-top__mv {
    --mv-h: 820;
    height: clamp(calc(var(--mv-h)*1em/16), calc(var(--mv-h)/1366*100vw), calc(var(--mv-h)*1.28em/16));
    position: relative;
    padding-top: 90px;
}

@media screen and (max-width: 1024px) {
    .p-top__mv {
        --mv-h: 650
    }
}

@media screen and (max-width: 991px) {
    .p-top__mv {
        --mv-h: auto;
        padding-top: 0;
    }
}

.p-top__mvTitle {
    --title-top: 102;
    left: 0;
    position: absolute;
    top: calc(var(--title-top)*1em/16);
    width: 100%;
    z-index: 2
}

@media screen and (max-width: 1024px) {
    .p-top__mvTitle {
        --title-top: -17
    }
}

.p-top__mvTitle .u-section {
    display: flex;
    justify-content: flex-end
}

@media screen and (max-width: 1024px) {
    .p-top__mvTitle .u-section {
        justify-content: flex-start
    }
}

.p-top__mvTitleBody {
    --fs: 32;
    display: flex;
    flex-direction: column;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .15em
}

@media screen and (max-width: 768px) {
    .p-top__mvTitleBody {
        font-size: calc(var(--fs)/750*100vw)
    }
}

@media screen and (max-width: 640px) {
    .p-top__mvTitleBody {
        font-size: calc(var(--fs)/640*100vw)
    }
}

@media screen and (max-width: 430px) {
    .p-top__mvTitleBody {
        font-size: calc(var(--fs)/550*100vw);
        margin-right: 1em
    }
}

.p-top__mvTitleBody .txt:not(:first-of-type) {
    margin-right: calc(15em/var(--fs))
}

.p-top__mvTitleBody .txt__body {
    display: inline-flex;
    opacity: 0;
    padding: 0 calc(10em/var(--fs));
    position: relative;
    visibility: hidden
}

.p-top__mvTitleBody .txt__body:after {
    background-color: var(--main-color);
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    transform: scaleY(0);
    transform-origin: top left;
    transition: transform .8s var(--ease-inout-quart) .2s;
    width: .5px
}

.p-top__mvTitleBody .txt__body.is-active:after {
    transform: scale(1)
}

.p-top__mvSlider {
    height: 100%;
    position: relative;
    will-change: transform;
    z-index: 0
}

.p-top__mvSlider .swiper {
    height: 100%
}

.p-top__mvSlider .swiper-slide-active img,
.p-top__mvSlider .swiper-slide-prev img {
    animation: slidezoom 17s linear 0s 1 normal both;
    will-change: transform
}

.p-top__mvSliderItem.is-opbottom :is(.p-top__mvSlider img) {
    object-position: center bottom
}

@keyframes slidezoom {
    0% {
        transform: scale(1.12)
    }

    to {
        transform: scale(1)
    }
}

.p-top__mvSns {
    --sns-w: 60;
    --sns-h: 300;
    --pt: 30;
    align-items: center;
    background-color: #e94a2e;
    border-top-left-radius: .625em;
    bottom: 0;
    display: flex;
    flex-direction: column;
    height: calc(var(--sns-h)*1em/16);
    padding-top: calc(var(--pt)*1em/16);
    position: absolute;
    right: 0;
    width: calc(var(--sns-w)*1em/16)
}

.p-top__mvSns.is-fixed {
    position: fixed
}

@media screen and (max-width: 768px) {
    .p-top__mvSns {
        display: none
    }
}

.p-top__mvSnsTitle {
    color: #fff;
    font-size: .875em;
    letter-spacing: .08em
}

.p-top__mvSnsList {
    margin-top: 1.25em
}

.p-top__mvSnsList .item:not(:first-of-type) {
    margin-top: 1.375em
}

.p-top__mvSnsList .item__target {
    display: block;
    width: 1.25em
}

.p-top__mvSnsList .item__target.is-fb .item__targetCircle,
.p-top__mvSnsList .item__target.is-ig svg,
.p-top__mvSnsList .item__target.is-tw svg {
    fill: #fff
}

.p-top__mvSnsList .item__target.is-fb .item__targetTxt {
    fill: #e94a2e
}

.p-top__about {
    --ptb: 155;
    background-color: #fff;
    padding: calc(var(--ptb)*1em/16) 0;
    position: relative;
    z-index: 11
}

@media screen and (max-width: 768px) {
    .p-top__about {
        --ptb: 120
    }
}

@media screen and (max-width: 640px) {
    .p-top__about {
        --ptb: 120*.8
    }
}

@media screen and (max-width: 430px) {
    .p-top__about {
        --ptb: 120*.6
    }
}

.p-top__aboutBody {
    align-items: center;
    display: flex;
    flex-direction: column
}

.p-top__aboutBodyTitle {
    display: flex;
    justify-content: center
}

@media screen and (max-width: 1024px) {
    .p-top__aboutBodyTitle {
        font-size: 1.5625vw;
        margin: 0 auto 0 0
    }
}

@media screen and (max-width: 768px) {
    .p-top__aboutBodyTitle {
        font-size: 1.71875vw
    }
}

@media screen and (max-width: 430px) {
    .p-top__aboutBodyTitle {
        font-size: 1.875vw
    }
}

.p-top__aboutBodyTitle .txt {
    position: relative
}

.p-top__aboutBodyTitle .txt__body {
    --fs: 50;
    display: flex;
    font-size: calc(var(--fs)*1em/16)
}

@media screen and (max-width: 1024px) {
    .p-top__aboutBodyTitle .txt__body {
        flex-direction: column
    }
}

.p-top__aboutBodyTitle .txt__bodyLine {
    display: flex;
    overflow: hidden;
    color: #BB9580;
}

.p-top__aboutBodyTitle .txt__bodyLine span {
    opacity: 0;
    visibility: hidden
}

.p-top__aboutBodyTitle .txt__bodyLine span:not(:first-of-type) {
    margin-left: .08em
}

.p-top__aboutBodyTitle .txt__bodyLine:not(:first-of-type) {
    --ml: 50;
    margin-left: calc(var(--ml)*1em/var(--fs))
}

@media screen and (max-width: 1024px) {
    .p-top__aboutBodyTitle .txt__bodyLine:not(:first-of-type) {
        margin-left: 0
    }
}

.p-top__aboutBodyTitle .txt__img {
    bottom: -2.6875em;
    opacity: 0;
    position: absolute;
    right: -2.5em;
    visibility: hidden;
    width: 2.125em
}

@media screen and (max-width: 1024px) {
    .p-top__aboutBodyTitle .txt__img {
        right: .75em
    }
}

.p-top__aboutBodyTxt {
    --mt: 65;
    display: flex;
    flex-direction: row-reverse;
    margin-top: calc(var(--mt)*1em/16)
}

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

@media screen and (max-width: 640px) {
    .p-top__aboutBodyTxt {
        font-size: .9375em
    }
}

@media screen and (max-width: 430px) {
    .p-top__aboutBodyTxt {
        --mt: 65*.6
    }
}

@media screen and (max-width: 1024px) {
    .p-top__aboutBodyTxt .line {
        font-feature-settings: "palt";
        font-family: var(--font-family);
        line-height: 2;
        writing-mode: horizontal-tb
    }
}

.p-top__aboutBodyTxt .line:not(:first-of-type) {
    margin-right: 2.5em
}

@media screen and (max-width: 1024px) {
    .p-top__aboutBodyTxt .line:not(:first-of-type) {
        margin: 2.5em 0 0
    }
}

.p-top__aboutBodyTxt .line__txt {
    display: block;
    letter-spacing: .08em;
    text-align: left;
    white-space: nowrap
}

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

    .p-top__aboutBodyTxt .line__txt.is-block {
        display: block
    }
}

@media screen and (max-width: 320px) {
    .p-top__aboutBodyTxt .line__txt {
        display: inline;
        white-space: normal
    }
}

.p-top__aboutBodyTxt .line__txt:not(:first-of-type) {
    margin-right: 1.375em
}

@media screen and (max-width: 1024px) {
    .p-top__aboutBodyTxt .line__txt:not(:first-of-type) {
        margin-right: 0
    }
}

.p-top__aboutBodyTxt .line__txt.is-top {
    margin-top: -.15em
}

@media screen and (max-width: 1024px) {
    .p-top__aboutBodyTxt .line__txt.is-top {
        margin-top: 0
    }
}

.p-top__aboutBodyTxt .line__txt.is-han {
    margin-top: -.5em
}

@media screen and (max-width: 1024px) {
    .p-top__aboutBodyTxt .line__txt.is-han {
        margin-top: 0
    }
}

.p-top__aboutImg {
    --mt: 95;
    margin-top: calc(var(--mt)*1em/16);
    overflow: hidden
}

@media screen and (max-width: 430px) {
    .p-top__aboutImg {
        --mt: 95*.8
    }
}

.p-top__aboutImg .swiper-wrapper {
    align-items: flex-end
}

.p-top__aboutImgBody {
    --w: 180;
    font-size: .6em;
    margin: 0 2.25em;
    width: calc(var(--w)*1em/16)
}

/*.p-top__aboutImgBody[data-swiper-slide-index="0"] {
    --w: 141
}

.p-top__aboutImgBody[data-swiper-slide-index="1"] {
    --w: 82
}

.p-top__aboutImgBody[data-swiper-slide-index="2"] {
    --w: 115
}

.p-top__aboutImgBody[data-swiper-slide-index="3"] {
    --w: 52
}

.p-top__aboutImgBody[data-swiper-slide-index="4"] {
    --w: 194
}

.p-top__aboutImgBody[data-swiper-slide-index="5"] {
    --w: 133
}

.p-top__aboutImgBody[data-swiper-slide-index="6"] {
    --w: 102
}

.p-top__aboutImgBody[data-swiper-slide-index="7"] {
    --w: 180
}

.p-top__aboutImgBody[data-swiper-slide-index="8"] {
    --w: 129
}

.p-top__aboutImgBody[data-swiper-slide-index="9"] {
    --w: 100
}

.p-top__aboutImgBody[data-swiper-slide-index="10"] {
    --w: 135
}

.p-top__aboutImgBody[data-swiper-slide-index="11"] {
    --w: 62
}

.p-top__aboutImgBody[data-swiper-slide-index="12"] {
    --w: 202
}

.p-top__aboutImgBody[data-swiper-slide-index="13"] {
    --w: 74
}

.p-top__aboutImgBody[data-swiper-slide-index="14"] {
    --w: 90
}

.p-top__aboutImgBody[data-swiper-slide-index="15"] {
    --w: 108
}

.p-top__aboutImgBody[data-swiper-slide-index="16"] {
    --w: 118
}

.p-top__aboutImgBody[data-swiper-slide-index="17"] {
    --w: 52
}

.p-top__aboutImgBody[data-swiper-slide-index="18"] {
    --w: 116
}

.p-top__aboutImgBody[data-swiper-slide-index="19"] {
    --w: 133
}*/

@media screen and (max-width: 430px) {
    .p-top__aboutImgBody {
        font-size: .4em
    }
}

.p-top__service {
    overflow: hidden
}

.p-top__service.u-graybg:before {
    background: #EEDDD4;
    background: linear-gradient(to top, #EEDDD4, #FFFFFF);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DAB7A1', endColorstr='#EEDDD4', GradientType=1);
    background: -webkit-linear-gradient(top, #EEDDD4, #FFFFFF);
    background: -o-linear-gradient(top, #EEDDD4, #FFFFFF);
}

.p-top__serviceBody {
    --pt: 109;
    --pb: 20;
    padding: calc(var(--pt)*1em/16) 0 calc(var(--pb)*1em/16);
    position: relative;
    z-index: 1
}

@media screen and (max-width: 430px) {
    .p-top__serviceBody {
        --pt: 109*.8
    }
}

.p-top__serviceBodyCan {
    --txt-ml: 50;
    --txt-width: 460;
    display: grid;
    grid-template: "title img"max-content "subtitle img"max-content "txt img"1fr "business01 business01"max-content "business02 business03"max-content "business04 business05"max-content/46.49123% 1fr
}

@media screen and (max-width: 1024px) {
    .p-top__serviceBodyCan {
        --txt-ml: 0
    }
}

@media screen and (max-width: 880px) {
    .p-top__serviceBodyCan {
        --txt-width: 530;
        grid-template: "title img"max-content "subtitle img"1fr "txt txt"max-content "business01 business01"max-content "business02 business03"max-content "business04 business05"max-content/50%
    }
}

@media screen and (max-width: 768px) {
    .p-top__serviceBodyCan {
        grid-template: "title title"max-content "subtitle subtitle"max-content "img img"max-content "txt txt"max-content "business01 business01"max-content "business02 business03"max-content "business04 business05"max-content/50%
    }
}

.p-top__serviceBodyCan .title {
    --fs: 14;
    --mt: 212;
    --mb: 60;
    font-size: calc(var(--fs)*1em/16);
    grid-area: title;
    margin: calc(var(--mt)*1em/var(--fs)) 0 calc(var(--mb)*1em/var(--fs)) calc(var(--txt-ml)/530*100%);
    /*    text-decoration: underline;*/
    width: calc(var(--txt-width)/530*100%)
}

@media screen and (max-width: 880px) {
    .p-top__serviceBodyCan .title {
        --mt: 85
    }
}

.p-top__serviceBodyCan .subtitle {
    --fs: 30;
    font-size: calc(var(--fs)*1em/16);
    grid-area: subtitle;
    letter-spacing: .05em;
    line-height: 1.6;
    margin-left: calc(var(--txt-ml)/530*100%);
    width: calc(var(--txt-width)/530*100%)
}

.p-top__serviceBodyCan .txt {
    --mt: 55;
    grid-area: txt;
    margin: calc(var(--mt)*1em/14) 0 0 calc(var(--txt-ml)/530*100%);
    width: calc(var(--txt-width)/530*100%)
}

@media screen and (max-width: 1024px) {
    .p-top__serviceBodyCan .txt {
        width: 215.09434%
    }
}

@media screen and (max-width: 880px) {
    .p-top__serviceBodyCan .txt {
        width: auto
    }
}

.p-top__serviceBodyCan .img {
    --mt: -50;
    --ml: 10;
    grid-area: img;
    margin: calc(var(--mt)*1em/16) 0 0 calc(var(--ml)/610*100%);
    width: 107.54098%
}

@media screen and (max-width: 880px) {
    .p-top__serviceBodyCan .img {
        --mt: 50;
        --ml: -80;
        width: 120%
    }
}

@media screen and (max-width: 768px) {
    .p-top__serviceBodyCan .img {
        margin-left: -14.03509%;
        width: 128.07018%
    }
}

.p-top__serviceBodyCan .business {
    --title-mt: 24;
    --title-fs: 26;
    --subtitle-fs: 12;
    --txt-fs: 14;
    --txt-bottom: 20;
    --txt-left: 30;
    --num-fs: 60;
    --mb: 98;
    margin-bottom: calc(var(--mb)*1em/16);
    position: relative
}

@media screen and (max-width: 1024px) {
    .p-top__serviceBodyCan .business {
        text-align: center
    }
}

@media screen and (max-width: 640px) {
    .p-top__serviceBodyCan .business {
        --num-fs: 30;
        --title-fs: 26*.8;
        --subtitle-fs: 12*.9
    }
}

@media screen and (max-width: 430px) {
    .p-top__serviceBodyCan .business {
        --mb: 98*.8;
        --subtitle-fs: 12*.8
    }
}

.p-top__serviceBodyCan .business.is-01 {
    --title-mt: 34;
    --txt-fs: 18;
    --txt-bottom: 50;
    --txt-left: 60;
    --mt: 0;
    --mb: 140;
    display: grid;
    grid-area: business01;
    grid-template:
        "img img"max-content "title btn"max-content "subtitle btn"max-content/1fr;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 1024px) {
    .p-top__serviceBodyCan .business.is-01 {
        grid-template: "img img"max-content "title title"max-content "subtitle subtitle"max-content "btn btn"max-content/1fr;
        margin-left: -15.78947%;
        width: 131.57895%
    }

    .p-top__serviceBodyCan .business.is-01 .business__imgBody {
        padding-top: 53.33333%
    }
}

@media screen and (max-width: 880px) {
    .p-top__serviceBodyCan .business.is-01 {
        --mt: 120
    }
}

@media screen and (max-width: 430px) {
    .p-top__serviceBodyCan .business.is-01 {
        --mt: 0;
        --mb: 140*.7
    }
}

.p-top__serviceBodyCan .business.is-02 {
    grid-area: business02
}

.p-top__serviceBodyCan .business.is-03 {
    grid-area: business03
}

.p-top__serviceBodyCan .business.is-04 {
    grid-area: business04
}

.p-top__serviceBodyCan .business.is-05 {
    grid-area: business05
}

.p-top__serviceBodyCan .business.is-03,
.p-top__serviceBodyCan .business.is-05 {
    justify-self: end;
    width: 86.88525%
}

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

    .p-top__serviceBodyCan .business.is-02,
    .p-top__serviceBodyCan .business.is-04 {
        margin-left: -16.55629%;
        width: calc(124.17219% - 1px)
    }

    .p-top__serviceBodyCan .business.is-03,
    .p-top__serviceBodyCan .business.is-05 {
        margin-right: -14.36782%;
        width: calc(107.75862% - 1px)
    }

    .p-top__serviceBodyCan .business.is-02 .business__imgBody,
    .p-top__serviceBodyCan .business.is-03 .business__imgBody,
    .p-top__serviceBodyCan .business.is-04 .business__imgBody,
    .p-top__serviceBodyCan .business.is-05 .business__imgBody {
        padding-top: 97.6%
    }
}

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

    .p-top__serviceBodyCan .business.is-02,
    .p-top__serviceBodyCan .business.is-04 {
        margin-left: -31.7864%
    }

    .p-top__serviceBodyCan .business.is-03,
    .p-top__serviceBodyCan .business.is-05 {
        margin-right: -31.7864%
    }

    .p-top__serviceBodyCan .business.is-02,
    .p-top__serviceBodyCan .business.is-03,
    .p-top__serviceBodyCan .business.is-04,
    .p-top__serviceBodyCan .business.is-05 {
        width: calc(131.59568% - 1px)
    }
}

.p-top__serviceBodyCan .business-target {
    display: grid;
    grid-template: "img img"max-content "title arrow"max-content "subtitle arrow"max-content/1fr
}

@media screen and (max-width: 1024px) {
    .p-top__serviceBodyCan .business-target {
        grid-template: "img img"max-content "title title"max-content "subtitle subtitle"max-content/1fr
    }
}

.p-top__serviceBodyCan .business__title {
    font-size: 20px;
    grid-area: title;
    letter-spacing: .08em;
    margin-top: calc(var(--title-mt)*1em/var(--title-fs));
    text-align: center;
}

.p-top__serviceBodyCan .business__subtitle {
    color: #9d9d9d;
    font-size: calc(var(--subtitle-fs)*1em/16);
    grid-area: subtitle;
    letter-spacing: .08em;
    margin-top: 1em
}

@media screen and (max-width: 430px) {
    .p-top__serviceBodyCan .business__subtitle {
        letter-spacing: .03em
    }
}

.p-top__serviceBodyCan .business__arrow {
    align-items: center;
    border: .5px solid var(--gray-color);
    border-radius: 50%;
    display: flex;
    grid-area: arrow;
    height: 2em;
    justify-content: center;
    margin-top: 1.5em;
    overflow: hidden;
    width: 2em
}

@media screen and (max-width: 1024px) {
    .p-top__serviceBodyCan .business__arrow {
        background-color: #fff;
        margin-top: calc(97.6% - 2.625em);
        position: absolute;
        right: .625em;
        top: 0;
        z-index: 2
    }
}

.p-top__serviceBodyCan .business__arrow svg {
    width: .4375em
}

.p-top__serviceBodyCan .business__img {
    grid-area: img;
    position: relative
}

.p-top__serviceBodyCan .business__imgBody {
    border-radius: .3125em;
    overflow: hidden;
    position: relative;
    z-index: 0
}

@media screen and (max-width: 1024px) {
    .p-top__serviceBodyCan .business__imgBody {
        border-radius: 0
    }

    .p-top__serviceBodyCan .business__imgBody img {
        height: 100%;
        left: 0;
        object-fit: cover;
        position: absolute;
        top: 0;
        width: 100%
    }
}

.p-top__serviceBodyCan .business__imgTxt {
    bottom: calc(var(--txt-bottom)*1em/var(--txt-fs));
    color: #fff;
    font-size: calc(var(--txt-fs)*1em/16);
    left: calc(var(--txt-left)*1em/var(--txt-fs));
    letter-spacing: .04em;
    line-height: 1.8;
    opacity: 0;
    position: absolute;
    transform: scale(.95) translate3d(0, .5em, 0);
    transition: transform .5s var(--ease-out-quint), opacity .5s var(--ease-out-quint);
    z-index: 2
}

.p-top__serviceBodyCan .business__num {
    --top: 30%;
    font-size: calc(var(--num-fs)*1em/20);
    position: absolute;
    right: calc(13em/var(--num-fs));
    top: 30%;
}

@media screen and (max-width: 1024px) {
    .p-top__serviceBodyCan .business__num {
        left: 0;
        right: auto;
        width: 100%
    }
}

@media screen and (max-width: 640px) {
    .p-top__serviceBodyCan .business__num {
        --top: -18;
        display: none;
    }
}

.p-top__serviceBodyCan .business__btn {
    --mt: 31;
    display: flex;
    grid-area: btn;
    margin-top: calc(var(--mt)*1em/16);
    justify-content: center;
}

@media screen and (max-width: 1024px) {
    .p-top__serviceBodyCan .business__btn {
        --mt: 40;
        justify-content: center
    }
}

@media screen and (max-width: 640px) {
    .p-top__serviceBodyCan .business__btn {
        align-items: center;
        flex-direction: column;
        font-size: .9em
    }
}

.p-top__serviceBodyCan .business__btnItem .c-btn {
    --btn-w: 258;
    --btn-h: 58;
    --btn-txt-fs: 14
}

.p-top__serviceBodyCan .business__btnItem:not(:first-of-type) {
    margin-left: 1.375em
}

@media screen and (max-width: 640px) {
    .p-top__serviceBodyCan .business__btnItem:not(:first-of-type) {
        margin: 1.375em 0 0
    }
}

@media (any-hover: hover) {
    .p-top__serviceBodyCan .business__titleBody {
        display: inline-block
    }

    .p-top__serviceBodyCan .business__titleBody:after {
        background-color: var(--gray-color);
        content: "";
        display: block;
        height: .5px;
        transform: scaleX(0);
        transform-origin: top left;
        transition: transform .5s var(--ease-out-quint);
        width: 105%
    }

    .p-top__serviceBodyCan .business__img:before {
        background: linear-gradient(180deg, #0000 0, #0000 40%, #000c);
        border-radius: .3125em;
        content: "";
        display: block;
        height: 100%;
        left: 0;
        opacity: 0;
        position: absolute;
        top: 0;
        transition: opacity .6s var(--ease-out-quint);
        width: 100%;
        z-index: 1
    }

    .p-top__serviceBodyCan .business__imgBody {
        overflow: hidden
    }

    .p-top__serviceBodyCan .business__imgBody img {
        transition: transform var(--transition);
        will-change: transform
    }

    .p-top__serviceBodyCan .business__arrow {
        transition: background-color .5s var(--ease-out-quint)
    }

    .p-top__serviceBodyCan .business__arrow svg {
        animation: arrowmove_reverse .5s var(--ease-out-cubic)
    }

    .p-top__serviceBodyCan .business-target:hover .business__titleBody:after {
        transform: scale(1)
    }

    .p-top__serviceBodyCan .business-target:hover .business__img:before {
        opacity: 1
    }

    .p-top__serviceBodyCan .business-target:hover .business__imgBody img {
        transform: scale(1.03);
        will-change: auto
    }

    .p-top__serviceBodyCan .business-target:hover .business__imgTxt {
        opacity: 1;
        transform: scale(1) translateZ(0)
    }

    .p-top__serviceBodyCan .business-target:hover .business__arrow {
        background-color: #000
    }

    .p-top__serviceBodyCan .business-target:hover .business__arrow svg {
        fill: #fff;
        animation: arrowmove .5s var(--ease-out-cubic)
    }

    .p-top__serviceBodyCan .business.is-01 .business__img:hover:before {
        opacity: 1
    }

    .p-top__serviceBodyCan .business.is-01 .business__img:hover .business__imgBody img {
        transform: scale(1.03);
        will-change: auto
    }

    .p-top__serviceBodyCan .business.is-01 .business__img:hover .business__imgTxt {
        opacity: 1;
        transform: scale(1) translateZ(0)
    }
}

.p-top__news {
    --pt: 112;
    --pb: 162;
    overflow: hidden;
    padding: calc(var(--pt)*1em/16) 0 calc(var(--pb)*1em/16);
    background: #F9F3EA;
    width: 90%;
    padding-left: 2%;
}

@media screen and (max-width: 640px) {
    .p-top__news {
        --pt: 112*.8;
        --pb: 162*.8
    }
}

@media screen and (max-width: 430px) {
    .p-top__news {
        --pt: 112*.6;
        --pb: 162*.6
    }
}

.p-top__newsBody {
    display: grid;
    grid-template: "title list"max-content "link list"1fr/max-content 65.52632%;
    justify-content: space-between;
    position: relative;
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .p-top__newsBody {
        grid-template: "title"max-content "list"max-content "link"1fr/1fr
    }
}

.p-top__newsBodyTitle {
    grid-area: title
}

.p-top__newsBodyList {
    grid-area: list
}

@media screen and (max-width: 1024px) {
    .p-top__newsBodyList {
        margin-top: 2.5em
    }
}

@media screen and (max-width: 768px) {
    .p-top__newsBodyList .cm-news__post:first-of-type {
        border-top: .5px solid #e1e1e1
    }
}

.p-top__newsBodyLink {
    --mt: 86;
    grid-area: link;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 1024px) {
    .p-top__newsBodyLink {
        --mt: 40;
        text-align: right
    }
}

.p-top__company {
    --ptb: 156;
    overflow: hidden;
    padding: calc(var(--ptb)*1em/16) 0
}

@media screen and (max-width: 430px) {
    .p-top__company {
        --ptb: 80*.8;
    }
}

.p-top__companyBody {
    display: grid;
    grid-template: "title title title"max-content "imgl main imgr"1fr/13.33333% 49.12281% 1fr
}

@media screen and (max-width: 768px) {
    .p-top__companyBody {
        display: block;
        position: relative
    }
}

.p-top__companyBodyTitle {
    --mb: 32;
    grid-area: title;
    margin-bottom: calc(var(--mb)*1em/16)
}

@media screen and (max-width: 768px) {
    .p-top__companyBodyTitle {
        --mb: 0
    }
}

.p-top__companyBodyMain {
    --mt: 130;
    grid-area: main;
    margin-top: calc(var(--mt)*1em/16);
    margin-right: 8%;
}

@media screen and (max-width: 430px) {
    .p-top__companyBodyMain {
        --mt: 130*.8
    }
}

.p-top__companyBodyMain .subtitle {
    --fs: 30;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .06em;
    line-height: 1.6;
    margin-left: calc(var(--ml)/560*100%);
    --ml: 84;
}

@media screen and (max-width: 430px) {
    .p-top__companyBodyMain .subtitle {
        --fs: 30*.8;
        margin-left: 0;
    }
}

.p-top__companyBodyMain .txt {
    --mt: 65;
    --ml: 84;
    margin: calc(var(--mt)*1em/14) 0 0 calc(var(--ml)/560*100%)
}

@media screen and (max-width: 768px) {
    .p-top__companyBodyMain .txt {
        --ml: 0
    }
}

@media screen and (max-width: 430px) {
    .p-top__companyBodyMain .txt {
        --mt: 40
    }
}

.p-top__companyBodyMain .txt__line:not(:first-of-type) {
    margin-top: 2.14286em
}

.p-top__companyBodyMain .txt__lineBlock {
    display: block
}

@media screen and (max-width: 768px) {
    .p-top__companyBodyMain .txt__lineBlock {
        display: inline
    }

    .p-top__companyBodyMain .txt__lineBlock.is-block {
        display: block
    }
}

.p-top__companyBodyMain .btn {
    --mt: 94;
    --ml: 84;
    margin: calc(var(--mt)*1em/16) 0 0 calc(var(--ml)/560*100%)
}

@media screen and (max-width: 768px) {
    .p-top__companyBodyMain .btn {
        --ml: 0
    }
}

@media screen and (max-width: 430px) {
    .p-top__companyBodyMain .btn {
        --mt: 60
    }
}

.p-top__companyBodyMain .btn .c-btn {
    --btn-w: 258;
    --btn-h: 58;
    --btn-txt-fs: 14
}

.p-top__companyBodyImg01 {
    grid-area: imgr
}

@media screen and (max-width: 768px) {
    .p-top__companyBodyImg01 {
        --top: 150;
        position: absolute;
        right: -15.78947%;
        top: 15%;
        width: 38.94737%
    }
}

.p-top__companyBodyImg01 .item:first-of-type {
    margin-right: calc(133.17757% - var(--ww)*.5);
    width: calc(-33.17757% + var(--ww)*.5)
}

@media screen and (max-width: 768px) {
    .p-top__companyBodyImg01 .item:first-of-type {
        margin-right: 0;
        width: 100%
    }
}

.p-top__companyBodyImg01 .item:first-of-type .item__body {
    border-bottom-left-radius: .3125em;
    border-top-left-radius: .3125em
}

.p-top__companyBodyImg01 .item:nth-of-type(2) {
    --mt: 130;
    --ml: 84;
    grid-area: imgr02;
    margin: calc(var(--mt)*1em/16) 0 0 calc(var(--ml)/428*100%);
    width: 49.06542%
}

@media screen and (max-width: 768px) {
    .p-top__companyBodyImg01 .item:nth-of-type(2) {
        display: none
    }
}

.p-top__companyBodyImg01 .item:nth-of-type(2) .item__body {
    border-radius: .3125em
}

.p-top__companyBodyImg01 .item__body {
    overflow: hidden;
    padding-top: 100%;
    position: relative
}

.p-top__companyBodyImg01 .item__body img {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.p-top__companyBodyImg02 {
    --mt: 457;
    grid-area: imgl;
    margin: calc(var(--mt)*1em/16) 0 0 calc(375% - var(--ww)*.5);
    width: calc(-285.52632% + var(--ww)*.5)
}

@media screen and (max-width: 768px) {
    .p-top__companyBodyImg02 {
        display: none
    }
}

.p-top__companyBodyImg02 .body {
    border-bottom-right-radius: .3125em;
    border-top-right-radius: .3125em;
    overflow: hidden;
    padding-top: 100%;
    position: relative
}

.p-top__companyBodyImg02 .body img {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.p-top__companyImg {
    --mt: 224;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 768px) {
    .p-top__companyImg {
        --mt: 120;
        font-size: .9em
    }
}

@media screen and (max-width: 430px) {
    .p-top__companyImg {
        font-size: .7em
    }
}

.p-top__companyImgBody {
    width: 29.375em
}

.p-top__companyImgBody .body {
    padding-right: 4.25532%
}

.p-service__mv {
    overflow: hidden;
    z-index: 2
}

.p-service__mv,
.p-service__mv .u-section {
    position: relative
}

@media screen and (max-width: 1024px) {
    .p-service__mvImg {
        width: 76.92308%
    }
}

.p-service__mvImg-inner {
    border-radius: .3125em 0 0 .3125em;
    margin: 0 calc(50% - 50vw) 0 0;
    overflow: hidden;
    width: calc(50vw + 50%)
}

@media screen and (max-width: 1024px) {
    .p-service__mvImg-inner {
        height: 0;
        padding-top: 73.33333%;
        position: relative
    }

    .p-service__mvImg-inner img {
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
        object-fit: contain;
    }
}

.p-service-inner {
    --mt: -178;
    --pb: 0;
    margin-top: calc(var(--mt)*1em/16);
    padding-bottom: calc(var(--pb)*1em/16);
    position: relative;
    background: #FAF3EC;
}

.p-manufacture .p-service-inner>.u-section:before {
    background-color: #FAF3EC;
    bottom: 0;
    content: "";
    display: block;
    height: calc(var(--pb)*1em/16);
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .p-service-inner {
        --mt: -72;
        margin-top: calc(var(--mt)/414*100vw)
    }
}

.p-service__main .u-graybg {
    --pt: 325;
    padding-top: calc(var(--pt)*1em/16)
}

@media screen and (max-width: 1024px) {
    .p-service__main .u-graybg {
        --pt: 140;
        padding-top: calc(var(--pt)/414*100vw)
    }
}

.p-service__mainAbout {
    position: relative;
    z-index: 2
}

.p-service__mainAboutContents {
    position: relative;
    z-index: 1
}

.p-manufacture .p-service__mainAboutContents {
    --pb: 308;
    padding-bottom: calc(var(--pb)*1em/16)
}

@media screen and (max-width: 880px) {
    .p-manufacture .p-service__mainAboutContents {
        --pb: 118*.8
    }
}

@media screen and (max-width: 768px) {
    .p-manufacture .p-service__mainAboutContents {
        --pb: 118*.6
    }
}

@media screen and (max-width: 640px) {
    .p-manufacture .p-service__mainAboutContents {
        --pb: 118*.4
    }
}

@media screen and (max-width: 430px) {
    .p-manufacture .p-service__mainAboutContents {
        --pb: 118*.2
    }
}

.p-service__mainAboutContents .body {
    margin: 0 auto;
    width: min(calc(594/var(--mlnone-section-width)*100%), 37.125em)
}

@media screen and (max-width: 1024px) {
    .p-service__mainAboutContents .body {
        width: 100%
    }
}

@media screen and (max-width: 1024px) {
    .p-service__mainAboutContents .body {
        padding: 0 4%;
        width: 92%;
    }
}


.p-service__mainAboutContents .body__title {
    --fs: 26;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .05em;
    line-height: 1.8
}

@media screen and (max-width: 768px) {
    .p-service__mainAboutContents .body__title {
        --fs: 22
    }
}

@media screen and (max-width: 430px) {
    .p-service__mainAboutContents .body__title {
        --fs: 22*.9
    }
}

@media screen and (max-width: 400px) {
    .p-service__mainAboutContents .body__title {
        --fs: 22*.8
    }
}

.p-service__mainAboutContents .body__title .u-block {
    display: block
}

@media screen and (max-width: 640px) {
    .p-service__mainAboutContents .body__title .u-block {
        display: inline
    }
}

.p-service__mainAboutContents .body__txt {
    --mt: 64;
    margin: calc(var(--mt)*1em/16) 0 0 auto;
    width: 87.54209%
}

@media screen and (max-width: 1024px) {
    .p-service__mainAboutContents .body__txt {
        width: 100%
    }
}

.p-manufacture :is(.p-service__mainAboutContents .body__txt) {
    padding-right: 10.77441%
}

@media screen and (max-width: 1024px) {
    .p-manufacture :is(.p-service__mainAboutContents .body__txt) {
        padding-right: 0
    }
}

.p-service__mainAboutContents .body__txt>p:not(:first-child) {
    margin-top: 2em
}

.p-service__mainAboutContents .body__txtBtn {
    --mt: 60;
    margin-top: calc(var(--mt)*1em/14)
}

@media screen and (max-width: 1024px) {
    .p-service__mainAboutContents .img {
        --mt: 80;
        margin: calc(var(--mt)*1em/16) calc(50% - var(--ww)*.5) 0 0;
        width: calc(var(--ww)*.5 + 50%)
    }
}

.p-service__mainAboutContents .img__large,
.p-service__mainAboutContents .img__small {
    overflow: hidden;
    position: absolute;
    z-index: 1
}

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

    .p-service__mainAboutContents .img__large,
    .p-service__mainAboutContents .img__small {
        position: relative
    }
}

.p-service__mainAboutContents .img__large {
    border-radius: .3125em 0 0 .3125em;
    left: min(calc(900/var(--mlnone-width)*100%), 61.875em);
    top: 0;
    width: calc(220/var(--mlnone-width)*100%)
}

.p-manufacture :is(.p-service__mainAboutContents .img__large) {
    left: min(calc(820/var(--mlnone-width)*100%), 56.375em);
    width: calc(300/var(--mlnone-width)*100%)
}

@media screen and (max-width: 1024px) {
    .p-manufacture :is(.p-service__mainAboutContents .img__large) {
        border-radius: .3125em 0 0 .3125em;
        left: auto;
        margin: 0 0 0 auto;
        width: 60.43956%
    }
}

@media screen and (min-width: 1503px) {
    .p-service__mainAboutContents .img__large {
        border-radius: .3125em
    }
}

@media screen and (max-width: 1024px) {
    .p-service__mainAboutContents .img__large {
        border-radius: .3125em 0 0 .3125em;
        left: auto;
        margin: 0 0 0 auto;
        width: 60.43956%
    }
}

.p-service__mainAboutContents .img__small {
    border-radius: .3125em;
    top: 10.25em;
    width: calc(180/var(--mlnone-width)*100%)
}

.p-manufacture :is(.p-service__mainAboutContents .img__small) {
    bottom: 5.9375em;
    top: auto
}

@media screen and (max-width: 1024px) {
    .p-manufacture :is(.p-service__mainAboutContents .img__small) {
        bottom: auto
    }

    .p-service__mainAboutContents .img__small {
        margin: -13.73626% auto 0 0;
        top: auto;
        width: 49.45055%;
        z-index: 1
    }
}

.p-service__mainAboutBottomimg .body {
    display: flex;
    justify-content: space-between;
    margin-top: 8%;
}

.p-service__mainAboutBottomimg .body__large,
.p-service__mainAboutBottomimg .body__small,
.p-service__mainAboutBottomimg .body__large:last-child {
    border-radius: .3125em;
    overflow: hidden;
    position: relative;
    z-index: 1
}

.p-service__mainAboutBottomimg .body__large {
    flex-basis: calc(360/var(--mlnone-section-width)*100%)
}

.p-service__mainAboutBottomimg .body__small,
.p-service__mainAboutBottomimg .body__large:last-child {
    flex-basis: calc(220/var(--mlnone-section-width)*100%)
}

.p-service__mainFeature {
    --pt: 256;
    overflow: hidden;
    padding-top: calc(var(--pt)*1em/16);
    position: relative;
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .p-service__mainFeature {
        overflow: inherit
    }
}

.p-service__mainFeatureHead .title {
    font-size: 1.125em;
    left: 5.94444em;
    letter-spacing: .25em;
    position: absolute;
    top: -4.88889em;
    z-index: 2
}

@media screen and (max-width: 1024px) {
    .p-service__mainFeatureHead .title {
        font-size: 1em;
        left: 0;
        top: -5.5em;
    }
}

.p-service__mainFeatureHead .title:before {
    background: currentColor;
    bottom: 0;
    content: "";
    position: absolute;
    right: -.44444em;
    top: 0;
    width: .5px
}

.p-service__mainFeatureHead .img {
    overflow: hidden;
    position: relative
}

@media screen and (max-width: 1024px) {
    .p-service__mainFeatureHead .img {
        height: 0;
        margin: 0 calc(50% - var(--ww)*.5);
        padding-top: 53.1401%
    }

    .p-service__mainFeatureHead .img img {
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%
    }
}

.p-service__mainFeatureHead .img__title {
    --fs: 150;
    bottom: calc(-32em/var(--fs));
    color: #fff;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .05em;
    position: absolute;
    right: calc(-24em/var(--fs))
}

@media screen and (max-width: 1024px) {
    .p-service__mainFeatureHead .img__title {
        --fs: 120;
        bottom: calc(-28em/var(--fs));
        font-size: calc(var(--fs)/414*100vw);
        right: calc(-20em/var(--fs))
    }
}

.p-service__mainFeatureHead-inner {
    position: relative
}

.p-service__mainFeatureList {
    --mt: 90;
    margin: calc(var(--mt)*1em/16) 0 0 0;
    padding-left: 6.6875em
}

@media screen and (max-width: 1024px) {
    .p-service__mainFeatureList {
        padding-left: 0
    }
}

.p-service__mainFeatureList .item {
    display: grid;
    grid-template: "img title"auto "img txt"1fr/15.75em 1fr
}

@media screen and (max-width: 880px) {
    .p-service__mainFeatureList .item {
        grid-template:
            "title"auto "img"auto "txt"1fr/1fr;
        padding-left: 2%;
        width: 96%;
    }
}

.p-service__mainFeatureList .item:not(:first-child) {
    --mt: 80;
    --pt: 80;
    border-top: .5px solid var(--gray-color);
    margin-top: calc(var(--mt)*1em/16);
    padding-top: calc(var(--pt)*1em/16)
}

.p-service__mainFeatureList .item__title {
    --mb: 20;
    grid-area: title;
    margin-bottom: calc(var(--mb)*1em/16)
}

@media screen and (max-width: 880px) {
    .p-service__mainFeatureList .item__title {
        --mb: 30
    }
}

.p-service__mainFeatureList .item__titleNum {
    color: var(--blue-color);
    letter-spacing: .05em
}

.p-service__mainFeatureList .item__titleJp {
    --mt: 10;
    --fs: 28;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .1em;
    line-height: 1.8;
    margin-top: calc(var(--mt)*1em/var(--fs))
}

@media screen and (max-width: 768px) {
    .p-service__mainFeatureList .item__titleJp {
        --mt: 30;
        --fs: 22
    }
}

.p-service__mainFeatureList .item__titleJp .u-block {
    display: block
}

.p-service__mainFeatureList .item__txt {
    grid-area: txt
}

.p-service__mainFeatureList .item__img {
    grid-area: img;
    padding-right: 4.5em
}

@media screen and (max-width: 880px) {
    .p-service__mainFeatureList .item__img {
        margin: 0 auto 1.875em;
        padding-right: 0;
        width: 55.38462%
    }
}

.p-service__mainFeatureList .item__imgBody {
    border-radius: 100vmax;
    overflow: hidden;
    position: relative;
    z-index: 1
}

.p-service__mainFeatureGallery {
    --mt: 166;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 1024px) {
    .p-service__mainFeatureGallery {
        --mt: 128
    }
}

.p-service__mainFeatureGallery .slider__item {
    margin-right: 1.25em;
    width: 26.25em
}

@media screen and (max-width: 1024px) {
    .p-service__mainFeatureGallery .slider__item {
        margin-right: 5.33333%;
        width: 82.66667%
    }
}

.p-service__mainFeatureGallery-inner {
    overflow: hidden
}

@media screen and (max-width: 1024px) {
    .p-service__mainFeatureGallery-inner {
        margin: 0 calc(50% - var(--ww)*.5) 0;
        width: var(--ww)
    }
}

.p-region__produce {
    --pt: 138;
    padding-top: calc(var(--pt)*1em/16);
    position: relative;
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .p-region__produce {
        --pt: 168;
        padding-top: calc(var(--pt)/325*100%)
    }
}

.p-region__produceList {
    --mt: 64;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 1024px) {
    .p-region__produceList {
        margin: calc(var(--mt)/325*100%) calc(50% - var(--ww)*.5) 0
    }
}

.p-region__produceListItem {
    position: relative
}

.p-region__produceListItem .block {
    color: #fff;
    display: block;
    height: 100%;
    width: 100%
}

.p-region__produceListItem .block__body {
    height: 100%;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.p-region__produceListItem .block__body:after,
.p-region__produceListItem .block__body:before {
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.p-region__produceListItem .block__body:before {
    -webkit-backdrop-filter: blur(.625em);
    backdrop-filter: blur(.625em);
    background: #0003;
    opacity: 1
}

@media screen and (max-width: 880px) {
    .p-region__produceListItem .block__body:before {
        content: none
    }
}

.p-region__produceListItem .block__body:after {
    background: #00000080;
    opacity: 0
}

@media screen and (max-width: 880px) {
    .p-region__produceListItem .block__body:after {
        background: #000000a6;
        opacity: 1
    }
}

.p-region__produceListItem .block__body .u-mlnonesection {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: space-between;
    width: 100%
}

@media screen and (max-width: 1024px) {
    .p-region__produceListItem .block__body .u-mlnonesection {
        flex-direction: column;
        justify-content: center
    }
}

.p-region__produceListItem .block__bodyTxt {
    padding-left: calc(194/var(--mlnone-section-width)*100%);
    position: relative;
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .p-region__produceListItem .block__bodyTxt {
        padding-left: 0
    }
}

.p-region__produceListItem .block__bodyTxt p {
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .05em;
    position: relative;
    width: -moz-fit-content;
    width: fit-content
}

@media screen and (max-width: 1024px) {
    .p-region__produceListItem .block__bodyTxt p {
        margin: 0 auto;
        text-align: center
    }
}

.p-region__produceListItem .block__bodyTxt p:first-child {
    --fs: 18;
    margin-bottom: calc(20em/var(--fs))
}

@media screen and (max-width: 640px) {
    .p-region__produceListItem .block__bodyTxt p:first-child {
        --fs: 14
    }
}

.p-region__produceListItem .block__bodyTxt p:nth-child(2) {
    --fs: 32
}

@media screen and (max-width: 640px) {
    .p-region__produceListItem .block__bodyTxt p:nth-child(2) {
        --fs: 24
    }
}

.p-region__produceListItem .block__bodyTxt p:before {
    background: #fff;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: scaleX(0);
    transform-origin: left top;
    width: 100%;
    z-index: 0
}

.p-region__produceListItem .block__bodyTxt p span {
    display: inline-block;
    padding: .25em;
    position: relative;
    z-index: 1
}

.p-region__produceListItem .block__bodyArrow {
    align-items: center;
    display: flex;
    height: 2em;
    justify-content: center;
    position: relative;
    width: 2em;
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .p-region__produceListItem .block__bodyArrow {
        margin-top: 4.83092%
    }
}

.p-region__produceListItem .block__bodyArrow:after,
.p-region__produceListItem .block__bodyArrow:before {
    border-radius: 100vmax;
    content: "";
    overflow: hidden;
    position: absolute;
    z-index: 1
}

.p-region__produceListItem .block__bodyArrow:before {
    border: .5px solid;
    height: 2em;
    width: 2em
}

@media screen and (max-width: 880px) {
    .p-region__produceListItem .block__bodyArrow:before {
        content: none
    }
}

.p-region__produceListItem .block__bodyArrow:after {
    background: currentColor;
    height: 4.375em;
    transform: scale(0);
    width: 4.375em
}

@media screen and (max-width: 880px) {
    .p-region__produceListItem .block__bodyArrow:after {
        height: 2em;
        transform: none;
        width: 2em
    }
}

.p-region__produceListItem .block__bodyArrow .u-arrow {
    position: relative;
    z-index: 2
}

.p-region__produceListItem .block__bodyArrow .u-arrow svg {
    fill: currentColor
}

@media screen and (max-width: 880px) {
    .p-region__produceListItem .block__bodyArrow .u-arrow svg {
        fill: var(--effect-color)
    }

    .p-region__produceListItem .block__img {
        height: 0;
        padding-top: 77.29469%;
        position: relative
    }

    .p-region__produceListItem .block__img img {
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%
    }
}

@media (any-hover: hover) {

    .p-region__produceListItem .block__body:after,
    .p-region__produceListItem .block__body:before {
        transition: opacity var(--transition)
    }

    .p-region__produceListItem .block__bodyTxt {
        transition: color .3s var(--ease-out-cubic)
    }

    .p-region__produceListItem .block__bodyTxt p:first-child:before {
        transition: transform .3s var(--ease-out-cubic)
    }

    .p-region__produceListItem .block__bodyTxt p:first-child span {
        transition: color .3s var(--ease-out-cubic)
    }

    .p-region__produceListItem .block__bodyTxt p:nth-child(2) {
        transition-delay: .1s
    }

    .p-region__produceListItem .block__bodyTxt p:nth-child(2):before {
        transition: transform .4s var(--ease-out-cubic);
        transition-delay: .1s
    }

    .p-region__produceListItem .block__bodyTxt p:nth-child(2) span {
        transition: color .4s var(--ease-out-cubic);
        transition-delay: .1s
    }

    .p-region__produceListItem .block__bodyArrow:after,
    .p-region__produceListItem .block__bodyArrow:before {
        transition: transform .3s var(--ease-out-cubic)
    }

    .p-region__produceListItem .block__bodyArrow .u-arrow svg {
        transition: fill .3s var(--ease-out-cubic)
    }

    .p-region__produceListItem .block:hover .block__body:before {
        opacity: 0
    }

    .p-region__produceListItem .block:hover .block__body:after {
        opacity: 1
    }

    .p-region__produceListItem .block:hover .block__bodyTxt p:before {
        transform: scaleX(1)
    }

    .p-region__produceListItem .block:hover .block__bodyTxt p span {
        color: var(--main-color)
    }

    .p-region__produceListItem .block:hover .block__bodyArrow:before {
        transform: scale(1.2)
    }

    .p-region__produceListItem .block:hover .block__bodyArrow:after {
        transform: scale(1)
    }

    .p-region__produceListItem .block:hover .block__bodyArrow .u-arrow svg {
        fill: var(--effect-color)
    }
}

.p-shop__feature {
    --inner-w: 928;
    --item-w: 280;
    --item-gap: 44;
    --mt: 220;
    --pt: 124;
    background: #fff;
    margin-top: calc(var(--mt)*1em/16);
    overflow: hidden;
    padding-top: calc(var(--pt)*1em/16);
    position: relative;
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .p-shop__feature {
        margin: calc(var(--mt)*1em/16) calc(50% - var(--ww)*.5) 0;
        overflow: visible;
        width: var(--ww)
    }
}

@media screen and (max-width: 768px) {
    .p-shop__feature {
        --item-w: 155;
        --item-gap: 15
    }
}

@media screen and (max-width: 640px) {
    .p-shop__feature {
        --mt: 128*.8;
        --pt: 124*.8
    }
}

.p-shop__feature-inner {
    margin: 0 0 0 auto;
    width: calc(var(--inner-w)/var(--mlnone-section-width)*100%)
}

@media screen and (max-width: 1024px) {
    .p-shop__feature-inner {
        margin: 0 auto;
        width: 86.66667%
    }
}

.p-shop__featureList {
    --mt: 104;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 880px) {
    .p-shop__featureList {
        --mt: 80;
        margin-top: calc(var(--mt)/414*var(--ww))
    }
}

.p-shop__featureListItem {
    flex-basis: calc(var(--item-w)/var(--inner-w)*100%)
}

@media screen and (max-width: 768px) {
    .p-shop__featureListItem {
        flex-basis: calc(var(--item-w)/325*100%)
    }
}

@media screen and (max-width: 430px) {
    .p-shop__featureListItem {
        flex-basis: 100%
    }
}

.p-shop__featureListItem:not(:nth-child(3n+1)) {
    margin-left: calc(var(--item-gap)/var(--inner-w)*100%)
}

@media screen and (max-width: 768px) {
    .p-shop__featureListItem:not(:nth-child(3n+1)) {
        margin-left: 0
    }

    .p-shop__featureListItem:not(:nth-child(odd)) {
        margin-left: calc(var(--item-gap)/325*100%)
    }
}

@media screen and (max-width: 430px) {
    .p-shop__featureListItem:not(:nth-child(odd)) {
        margin-left: 0
    }
}

.p-shop__featureListItem:nth-child(n+4) {
    --mt: 100;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 768px) {
    .p-shop__featureListItem:nth-child(n+4) {
        margin-top: 0
    }

    .p-shop__featureListItem:nth-child(n+3) {
        --mt: 100;
        margin-top: calc(var(--mt)*1em/16)
    }
}

@media screen and (max-width: 640px) {
    .p-shop__featureListItem:nth-child(n+3) {
        --mt: 100*.8
    }
}

@media screen and (max-width: 430px) {
    .p-shop__featureListItem:nth-child(n+3) {
        margin-top: 0
    }

    .p-shop__featureListItem:nth-child(n+2) {
        --mt: 100*.6;
        margin-top: calc(var(--mt)*1em/16)
    }
}

.p-shop__featureListItem .target__title {
    --mt: 28;
    font-size: 1.125em;
    letter-spacing: .05em;
    line-height: 1.4;
    margin-top: calc(var(--mt)*1em/18)
}

@media screen and (max-width: 640px) {
    .p-shop__featureListItem .target__title {
        --mt: 28*.8
    }
}

.p-shop__featureListItem .info {
    --mt: 30;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 640px) {
    .p-shop__featureListItem .info {
        --mt: 30*.8
    }
}

.p-shop__featureListItem .info__block {
    --mt: 10;
    display: flex;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 640px) {
    .p-shop__featureListItem .info__block {
        --mt: 10*.8
    }
}

.p-shop__featureListItem .info__blockIcon {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    height: 1.0625em;
    justify-content: center;
    margin: .2em .9375em 0 0;
    width: 1.0625em
}

.p-shop__featureListItem .info__blockIconBody {
    --w: 17;
    --h: 17;
    height: calc(var(--h)*1em/16);
    width: calc(var(--w)*1em/16)
}

.p-shop__featureListItem .info__blockIconBody.is-address {
    --w: 14
}

.p-shop__featureListItem .info__blockIconBody.is-tel {
    --w: 12
}

.p-shop__featureListItem .info__blockIconBody svg {
    fill: none;
    stroke: var(--effect-color);
    stroke-width: 1px
}

.p-shop__featureListItem .info__blockBody {
    font-size: .875em;
    letter-spacing: .05em;
    line-height: 1.6
}

.p-shopdtl__mainAbout {
    --pt: 100;
    display: grid;
    grid-template: "title txt"auto "title info"1fr/max(22.1625em, calc(394/var(--inner-section-width)*100%)) 1fr;
    padding-top: calc(var(--pt)*1em/16)
}

@media screen and (max-width: 880px) {
    .p-shopdtl__mainAbout {
        grid-template: "title txt"auto "title info"1fr/max(19.7em, calc(394/var(--inner-section-width)*100%)) 1fr
    }
}

@media screen and (max-width: 768px) {
    .p-shopdtl__mainAbout {
        --pt: 60;
        display: block
    }
}

.p-shopdtl__mainAboutTitle {
    --fs: 20;
    font-size: calc(var(--fs)*1em/16);
    grid-area: title;
    letter-spacing: .1em;
    line-height: 1.8
}

@media screen and (max-width: 880px) {
    .p-shopdtl__mainAboutTitle {
        font-size: calc(var(--fs)*1em/16*.9)
    }
}

.p-shopdtl__mainAboutTitle .u-block {
    display: block
}

@media screen and (max-width: 768px) {
    .p-shopdtl__mainAboutTitle .u-block {
        display: inline
    }
}

.p-shopdtl__mainAboutTxt {
    grid-area: txt
}

@media screen and (max-width: 768px) {
    .p-shopdtl__mainAboutTxt {
        --mt: 48;
        margin-top: calc(var(--mt)*1em/14)
    }
}

.p-shopdtl__mainAboutInfo {
    --mt: 100;
    display: flex;
    grid-area: info;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 768px) {
    .p-shopdtl__mainAboutInfo {
        --mt: 30
    }
}

.p-shopdtl__mainAboutInfo .item {
    --w: 96;
    --h: 96;
    align-items: center;
    background: #fff;
    border: .5px solid;
    display: flex;
    flex-direction: column;
    height: calc(var(--h)*1em/16);
    justify-content: center;
    padding-top: .25em;
    position: relative;
    width: calc(var(--w)*1em/16);
    z-index: 2
}

@media screen and (max-width: 1280px) {
    .p-shopdtl__mainAboutInfo .item {
        --w: 96*.9;
        --h: 96*.9
    }
}

@media screen and (max-width: 880px) {
    .p-shopdtl__mainAboutInfo .item {
        --w: 96*.8;
        --h: 96*.8
    }
}

@media screen and (max-width: 768px) {
    .p-shopdtl__mainAboutInfo .item {
        --w: 96;
        --h: 96
    }
}

@media screen and (max-width: 640px) {
    .p-shopdtl__mainAboutInfo .item {
        --w: 70
    }
}

.p-shopdtl__mainAboutInfo .item.is-noaccept {
    color: var(--gray-color);
    z-index: 1
}

.p-shopdtl__mainAboutInfo .item:not(:first-child) {
    margin-left: -1px
}

.p-shopdtl__mainAboutInfo .item__icon {
    --icon-w: 38;
    --icon-h: 38;
    align-items: center;
    display: flex;
    height: calc(var(--icon-h)*1em/16);
    justify-content: center;
    margin-bottom: .375em;
    width: calc(var(--icon-w)*1em/16)
}

.p-shopdtl__mainAboutInfo .item__iconImg {
    --w: 1;
    --h: 1;
    height: calc(var(--h)/var(--icon-h)*100%);
    width: calc(var(--w)/var(--icon-w)*100%)
}

.p-shopdtl__mainAboutInfo .item__iconImg.is-mask {
    --w: 26;
    --h: 17
}

.p-shopdtl__mainAboutInfo .item__iconImg.is-parking {
    --w: 36;
    --h: 38
}

.p-shopdtl__mainAboutInfo .item__iconImg.is-creditcard {
    --w: 26;
    --h: 19
}

.p-shopdtl__mainAboutInfo .item__iconImg.is-emoney {
    --w: 22;
    --h: 22
}

.p-shopdtl__mainAboutInfo .item__iconImg svg {
    fill: currentColor
}

.p-shopdtl__mainAboutInfo .item__txt {
    font-size: .625em
}

.p-shopdtl__mainAddress {
    --pt: 80;
    align-items: flex-end;
    display: flex;
    padding-top: calc(var(--pt)*1em/16)
}

.p-modernca .p-shopdtl__mainAddress {
    --pt: 70
}

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

    .p-modernca .p-shopdtl__mainAddress,
    .p-shopdtl__mainAddress {
        --pt: 32
    }
}

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

.p-shopdtl__mainAddressTxt {
    font-size: .875em;
    letter-spacing: .05em;
    line-height: 1.6;
    margin-right: .71429em
}

@media screen and (max-width: 640px) {
    .p-shopdtl__mainAddressTxt .u-spblock {
        display: block
    }
}

.p-shopdtl__mainAddressMap {
    font-size: .6875em;
    letter-spacing: .05em;
    margin-bottom: .15em
}

@media screen and (max-width: 640px) {
    .p-shopdtl__mainAddressMap {
        margin-top: .90909em;
        width: -moz-fit-content;
        width: fit-content
    }
}

.p-shopdtl__mainAddressMap .target {
    --pt: 3;
    --pb: 5;
    --pl: 16;
    --pr: 16;
    align-items: center;
    border: .5px solid #707070;
    border-radius: 100vmax;
    display: flex;
    justify-content: center;
    overflow: hidden;
    padding: calc(var(--pt)*1em/16) calc(var(--pr)*1em/16) calc(var(--pb)*1em/16) calc(var(--pl)*1em/16);
    position: relative;
    z-index: 1
}

@media (any-hover: hover) {
    .p-shopdtl__mainAddressMap .target {
        transition: color var(--transition), background-color var(--transition), border-color var(--transition)
    }

    .p-shopdtl__mainAddressMap .target:hover {
        background-color: var(--main-color);
        border-color: #0000;
        color: #fff
    }
}

.p-shopdtl__head {
    --pt: 105;
    padding-top: calc(var(--pt)*1em/16);
    pointer-events: none;
    position: relative;
    z-index: 2
}

@media screen and (max-width: 1024px) {
    .p-shopdtl__head {
        --pt: 54
    }
}

.p-shopdtl__headTitle {
    --fs: 32;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .05em;
    line-height: 1.6;
    pointer-events: auto
}

@media screen and (max-width: 640px) {
    .p-shopdtl__headTitle {
        --fs: 22
    }
}

.p-shopdtl__main {
    --mt: 80;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 1024px) {
    .p-shopdtl__main {
        --mt: 35
    }
}

.p-shopdtl__main .u-section {
    position: relative
}

.p-shopdtl__main .u-section:before {
    background: #fff;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

@media screen and (max-width: 1024px) {
    .p-shopdtl__main .u-section:before {
        left: calc(50% - var(--ww)*.5);
        right: calc(50% - var(--ww)*.5);
        width: var(--ww)
    }
}

.p-shopdtl__main .u-innersection {
    position: relative;
    z-index: 1
}

.p-shopdtl__mainCopy {
    --fs: 18;
    --top: -135;
    display: flex;
    flex-direction: column;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .3em;
    pointer-events: auto;
    position: absolute;
    right: 0;
    top: calc(var(--top)*1em/16);
    white-space: nowrap
}

.p-modernca .p-shopdtl__mainCopy {
    --top: -85
}

.p-kyomachi .p-shopdtl__mainCopy,
.p-souvenir .p-shopdtl__mainCopy {
    --top: -155
}

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

.p-shopdtl__mainCopyTxt:not(:first-child) {
    margin-right: calc(15em/var(--fs))
}

.p-shopdtl__mainCopyTxt .body {
    display: inline-flex;
    padding: 0 calc(8em/var(--fs)) 0 0;
    position: relative
}

.p-shopdtl__mainCopyTxt .body:after {
    background-color: var(--effect-color);
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: .5px
}

.p-tosakoi .u-ls:is(.p-shopdtl__mainCopyTxt .body .u-vtupright) {
    letter-spacing: -.25em
}

.p-shopdtl__mainInfo {
    --mt: 88;
    margin-top: calc(var(--mt)*1em/16)
}

.p-shopdtl__mainInfoBlock {
    --pt: 30;
    --pb: 30;
    display: flex;
    padding: calc(var(--pt)*1em/16) 0 calc(var(--pb)*1em/16);
    position: relative
}

@media screen and (max-width: 768px) {
    .p-shopdtl__mainInfoBlock {
        display: block;
        margin: 0 calc(50% - var(--ww)*.5);
        width: var(--ww)
    }
}

.p-shopdtl__mainInfoBlock:nth-child(odd):before {
    background: var(--light-gray-color);
    content: "";
    height: 100%;
    left: 0;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

.p-shopdtl__mainInfoBlock .title {
    flex-basis: 13.71429em;
    flex-shrink: 0;
    padding-left: 4.28571em
}

@media screen and (max-width: 768px) {
    .p-shopdtl__mainInfoBlock .title {
        margin: 0 auto;
        padding-left: 0;
        width: 86.66667%
    }
}

.p-shopdtl__mainInfoBlock .txt {
    padding-left: 4.28571em;
    padding-right: 3.14286em
}

@media screen and (max-width: 768px) {
    .p-shopdtl__mainInfoBlock .txt {
        margin: 1.14286em auto 0;
        padding-left: 2.14286em;
        padding-right: 0;
        width: 86.66667%
    }
}

.p-shopdtl__mainGallery {
    --mt: 70;
    margin: calc(var(--mt)*1em/16) calc(50% - var(--ww)*.5) 0;
    overflow: hidden
}

@media screen and (max-width: 640px) {
    .p-shopdtl__mainGallery {
        --mt: 40
    }
}

.p-shopdtl__mainGallerySlider {
    margin: 0 auto;
    overflow: visible;
    width: 30em
}

@media screen and (max-width: 768px) {
    .p-shopdtl__mainGallerySlider {
        width: 68.26667%
    }
}

.p-shopdtl__mainGalleryNav {
    --mt: 20;
    align-items: center;
    display: flex;
    justify-content: center;
    margin: calc(var(--mt)*1em/16) auto 0
}

.p-shopdtl__mainGalleryNav .btn {
    border: .5px solid var(--effect-color);
    border-radius: 100vmax;
    height: 2em;
    overflow: hidden;
    position: relative;
    width: 2em;
    z-index: 1
}

.p-shopdtl__mainGalleryNav .btn.is-prev :is(.p-shopdtl__mainGalleryNav .btn__body) {
    transform: scaleX(-1)
}

.p-shopdtl__mainGalleryNav .pagination {
    color: var(--gray-color);
    display: flex;
    font-size: .875em;
    justify-content: center;
    width: 6em
}

.p-shopdtl__mainGalleryNav .pagination .swiper-pagination-current,
.p-shopdtl__mainGalleryNav .pagination .swiper-pagination-total {
    color: var(--main-color);
    letter-spacing: .05em
}

.p-shopdtl__mainGalleryNav .pagination .swiper-pagination-current {
    margin-right: .25em
}

.p-shopdtl__mainGalleryNav .pagination .swiper-pagination-total {
    margin-left: .25em
}

.p-shopdtl__mainAccess {
    --pt: 172;
    padding-top: calc(var(--pt)*1em/16)
}

@media screen and (max-width: 768px) {
    .p-shopdtl__mainAccess {
        --pt: 146
    }
}

.p-shopdtl__mainAccessMap {
    --mt: 48;
    margin-top: calc(var(--mt)*1em/16);
    position: relative;
    z-index: 2
}

@media screen and (max-width: 1024px) {
    .p-shopdtl__mainAccessMap {
        margin-top: calc(var(--mt)/414*var(--ww))
    }
}

.p-shopdtl__mainAccessMap .body {
    height: 0;
    padding-top: calc(472/var(--inner-section-width)*100%);
    position: relative
}

@media screen and (max-width: 1024px) {
    .p-shopdtl__mainAccessMap .body {
        padding-top: 101.91083%
    }
}

.p-shopdtl__mainAccessMap .body iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.p-shopdtl__mainLink {
    --mt: 80;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 880px) {
    .p-shopdtl__mainLink {
        margin: calc(var(--mt)*1em/16) calc(50% - var(--ww)*.5) 0
    }
}

.p-shopdtl__mainLinkBlock {
    display: block;
    overflow: hidden;
    position: relative
}

.p-shopdtl__mainLinkBlock:before {
    background: var(--effect-color);
    content: "";
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
}

@media screen and (max-width: 880px) {
    .p-shopdtl__mainLinkBlock:before {
        opacity: .65
    }
}

.p-shopdtl__mainLinkBlock:after {
    background: var(--gray-color);
    bottom: .5px;
    content: "";
    display: block;
    height: .5px;
    left: 0;
    position: absolute;
    right: 0;
    z-index: 1
}

@media screen and (max-width: 880px) {
    .p-shopdtl__mainLinkBlock:after {
        content: none
    }
}

.p-shopdtl__mainLinkBlock .body {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
}

@media screen and (max-width: 880px) {
    .p-shopdtl__mainLinkBlock .body {
        color: #fff;
        flex-direction: column
    }
}

.p-shopdtl__mainLinkBlock .body__txt {
    --fs: 20;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .1em
}

.p-shopdtl__mainLinkBlock .body__arrow {
    align-items: center;
    bottom: 0;
    display: flex;
    height: 2em;
    justify-content: center;
    margin: auto 0;
    position: absolute;
    right: 7.25em;
    top: 0;
    width: 2em;
    z-index: 2
}

@media screen and (max-width: 880px) {
    .p-shopdtl__mainLinkBlock .body__arrow {
        margin: 1.25em 0 0;
        position: static
    }
}

.p-shopdtl__mainLinkBlock .body__arrow:after,
.p-shopdtl__mainLinkBlock .body__arrow:before {
    border-radius: 100vmax;
    content: "";
    overflow: hidden;
    position: absolute;
    z-index: 1
}

.p-shopdtl__mainLinkBlock .body__arrow:before {
    border: .5px solid;
    height: 2em;
    width: 2em
}

@media screen and (max-width: 880px) {
    .p-shopdtl__mainLinkBlock .body__arrow:before {
        content: none
    }
}

.p-shopdtl__mainLinkBlock .body__arrow:after {
    background: #fff;
    height: 4.375em;
    transform: scale(0);
    width: 4.375em
}

@media screen and (max-width: 880px) {
    .p-shopdtl__mainLinkBlock .body__arrow:after {
        height: 2em;
        transform: none;
        width: 2em
    }
}

.p-shopdtl__mainLinkBlock .body__arrow .u-arrow {
    position: relative;
    z-index: 2
}

.p-shopdtl__mainLinkBlock .body__arrow .u-arrow svg {
    fill: currentColor
}

@media screen and (max-width: 880px) {
    .p-shopdtl__mainLinkBlock .body__arrow .u-arrow svg {
        color: var(--effect-color)
    }
}

.p-shopdtl__mainLinkBlock .img {
    height: 0;
    opacity: 0;
    padding-top: 26.31579%;
    position: relative;
    z-index: 1
}

@media screen and (max-width: 880px) {
    .p-shopdtl__mainLinkBlock .img {
        opacity: 1;
        padding-top: min(72.46377%, 18.75em)
    }
}

.p-shopdtl__mainLinkBlock .img img {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: translateX(-1.25em);
    width: calc(100% + 1.25em)
}

@media screen and (max-width: 880px) {
    .p-shopdtl__mainLinkBlock .img img {
        transform: unset;
        width: 100%
    }
}

@media (any-hover: hover) {
    .p-shopdtl__mainLinkBlock:before {
        transition: opacity .3s var(--ease-out-cubic)
    }

    @media screen and (max-width: 880px) {
        .p-shopdtl__mainLinkBlock:before {
            transition: none
        }
    }

    .p-shopdtl__mainLinkBlock .body {
        transition: color .3s var(--ease-out-cubic)
    }

    @media screen and (max-width: 880px) {
        .p-shopdtl__mainLinkBlock .body {
            transition: none
        }
    }

    .p-shopdtl__mainLinkBlock .body__arrow:after,
    .p-shopdtl__mainLinkBlock .body__arrow:before {
        transition: transform .3s var(--ease-out-cubic)
    }

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

        .p-shopdtl__mainLinkBlock .body__arrow:after,
        .p-shopdtl__mainLinkBlock .body__arrow:before {
            transition: none
        }
    }

    .p-shopdtl__mainLinkBlock .body__arrow .u-arrow svg {
        transition: fill .3s var(--ease-out-cubic)
    }

    @media screen and (max-width: 880px) {
        .p-shopdtl__mainLinkBlock .body__arrow .u-arrow svg {
            transition: none
        }
    }

    .p-shopdtl__mainLinkBlock .img {
        transition: opacity .3s var(--ease-out-cubic)
    }

    @media screen and (max-width: 880px) {
        .p-shopdtl__mainLinkBlock .img {
            transition: none
        }
    }

    .p-shopdtl__mainLinkBlock .img img {
        transition: transform .3s var(--ease-out-cubic)
    }

    @media screen and (max-width: 880px) {
        .p-shopdtl__mainLinkBlock .img img {
            transition: none
        }
    }

    .p-shopdtl__mainLinkBlock:hover:before {
        opacity: .65
    }

    .p-shopdtl__mainLinkBlock:hover .body {
        color: #fff
    }

    .p-shopdtl__mainLinkBlock:hover .body__arrow:before {
        transform: scale(1.2)
    }

    .p-shopdtl__mainLinkBlock:hover .body__arrow:after {
        transform: scale(1)
    }

    .p-shopdtl__mainLinkBlock:hover .body__arrow .u-arrow svg {
        fill: var(--effect-color)
    }

    .p-shopdtl__mainLinkBlock:hover .img {
        opacity: 1
    }

    .p-shopdtl__mainLinkBlock:hover .img img {
        transform: translateX(0)
    }
}

.p-planning__online {
    --pt: 244;
    overflow: hidden;
    padding-top: calc(var(--pt)*1em/16);
    position: relative;
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .p-planning__online {
        overflow: inherit
    }
}

@media screen and (max-width: 640px) {
    .p-planning__online {
        --pt: 244*.8
    }
}

.p-planning__onlineHead-inner {
    position: relative
}

.p-planning__onlineHeadTitle {
    font-size: 1.125em;
    left: 5.94444em;
    letter-spacing: .25em;
    position: absolute;
    top: -4.88889em;
    z-index: 2
}

@media screen and (max-width: 1024px) {
    .p-planning__onlineHeadTitle {
        font-size: 1em;
        left: 0;
        top: -5.5em
    }
}

.p-planning__onlineHeadTitle:before {
    background: currentColor;
    bottom: 0;
    content: "";
    position: absolute;
    right: -.44444em;
    top: 0;
    width: .5px
}

.p-planning__onlineHeadImg {
    overflow: hidden;
    position: relative
}

@media screen and (max-width: 1024px) {
    .p-planning__onlineHeadImg {
        height: 0;
        margin: 0 calc(50% - var(--ww)*.5);
        padding-top: 53.1401%
    }

    .p-planning__onlineHeadImg img {
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%
    }
}

.p-planning__onlineHeadImg .title {
    --fs: 150;
    bottom: calc(-32em/var(--fs));
    color: #fff;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .05em;
    position: absolute;
    right: calc(-24em/var(--fs));
    word-break: keep-all
}

@media screen and (max-width: 1024px) {
    .p-planning__onlineHeadImg .title {
        --fs: 120;
        bottom: calc(-16em/var(--fs));
        font-size: calc(var(--fs)/414*100vw);
        line-height: .83333;
        right: calc(-20em/var(--fs));
        text-align: right
    }
}

.p-planning__onlineBody {
    --mt: 64;
    margin-top: calc(var(--mt)*1em/16);
    padding-bottom: 1em
}

.p-planning__onlineBodyIntro {
    padding-left: 7.64286em
}

@media screen and (max-width: 1024px) {
    .p-planning__onlineBodyIntro {
        padding-left: 0
    }
}

.p-planning__onlineBodyList {
    --mt: 56;
    display: flex;
    justify-content: flex-end;
    margin-top: calc(var(--mt)*1em/16);
    overflow: visible;
    padding-left: 6.6875em
}

@media screen and (max-width: 1024px) {
    .p-planning__onlineBodyList {
        padding-left: 0
    }
}

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

.p-planning__onlineBodyList .item {
    flex-basis: 28.88889%
}

@media screen and (max-width: 768px) {
    .p-planning__onlineBodyList .item {
        flex-basis: 32.30769%
    }
}

.p-planning__onlineBodyList .item:not(:first-child) {
    margin-left: 6.66667%
}

@media screen and (max-width: 768px) {
    .p-planning__onlineBodyList .item:not(:first-child) {
        margin-left: 3.07692%
    }
}

@media screen and (max-width: 540px) {
    .p-planning__onlineBodyList .item:not(:first-child) {
        margin-left: 0;
        margin-top: 18.46154%
    }
}

.p-planning__onlineBodyList .item__target {
    overflow: visible
}

.p-planning__onlineBodyList .item__targetImg {
    border-radius: .3125em;
    overflow: hidden;
    position: relative;
    z-index: 1
}

.p-planning__onlineBodyList .item__targetTxt {
    font-size: .75em;
    letter-spacing: .05em;
    line-height: 1.4;
    margin-top: .625em;
    overflow: visible
}

.p-planning__onlineBodyList .item__targetTxt .u-targetline__txt {
    margin-right: .83333em
}

.p-planning__onlineBodyList .item__targetTxtIcon {
    display: inline-block;
    height: 1em;
    vertical-align: -.16667em;
    width: 1em
}

.p-planning__onlineBodyList .item__targetTxtIcon svg {
    fill: none;
    stroke: var(--effect-color);
    stroke-width: 1px;
    height: 100%;
    width: 100%
}

.p-company {
    overflow: hidden
}

.p-company-inner .u-section {
    position: relative;
    z-index: 1
}

.p-company__philosophy {
    --pt: 122;
    --pb: 0;
    padding: calc(var(--pt)*1em/16) 0 calc(var(--pb)*1em/16);
    position: relative
}

@media screen and (max-width: 880px) {
    .p-company__philosophy {
        --pt: 208;
        padding-top: max(calc(var(--pt)*1em/16), calc(var(--pt)/414*100vw*.8))
    }
}

.p-company__philosophyHead {
    display: flex;
    flex-direction: column-reverse;
    position: relative
}

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

.p-company__philosophyHeadOthers {
    --mt: 48;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 880px) {
    .p-company__philosophyHeadOthers {
        margin-top: 0
    }
}

.p-company__philosophyHeadOthers .title {
    --fs: 130;
    display: flex;
    flex-direction: column;
    font-size: calc(var(--fs)*1em/16);
    left: 0;
    letter-spacing: .1em;
    position: absolute;
    top: calc(-28em/var(--fs));
    width: 3.96923em;
    z-index: 2
}

@media screen and (max-width: 880px) {
    .p-company__philosophyHeadOthers .title {
        --top: -92;
        --fs: 47;
        font-size: max(calc(var(--fs)*1em/16), calc(var(--fs)/414*100vw));
        top: calc(var(--top)*1em/var(--fs))
    }
}

.p-company__philosophyHeadOthers .title__line {
    display: flex;
    line-height: 1.6;
    opacity: 0;
    overflow: hidden;
    visibility: hidden
}

.p-company__philosophyHeadOthers .title__line:not(:first-of-type) {
    --mt: -38;
    margin-top: calc(var(--mt)*1em/var(--fs))
}

@media screen and (max-width: 880px) {
    .p-company__philosophyHeadOthers .title__line:not(:first-of-type) {
        --mt: -28
    }
}

.p-company__philosophyHeadOthers .title__line span {
    opacity: 0;
    visibility: hidden
}

.p-company__philosophyHeadOthers .gallery {
    position: relative;
    z-index: 1
}

.p-company__philosophyHeadOthers .gallery__body {
    margin: 0 calc(50% - 50vw) 0 0;
    overflow: hidden;
    width: calc(50vw + 49%);
}

@media screen and (max-width: 880px) {
    .p-company__philosophyHeadOthers .gallery__body {
        margin: 0 calc(50% - 50vw);
        width: 100vw
    }
}

.p-company__philosophyHeadOthers .gallery__bodySliderImg {
    padding-right: 1.25em;
    width: 38.75em
}

@media screen and (max-width: 880px) {
    .p-company__philosophyHeadOthers .gallery__bodySliderImg {
        width: 100vw
    }
}

.p-company__philosophyHeadFirst {
    margin: 0 0 0 auto;
    width: 22.125em;
}

@media screen and (max-width: 880px) {
    .p-company__philosophyHeadFirst {
        --mt: 42;
        margin: calc(var(--mt)*1em/16) 0 0;
        width: 100%
    }
}

.p-company__philosophyHeadFirst .title {
    color: var(--blue-color);
    letter-spacing: .05em
}

.p-company__philosophyHeadFirst .body {
    --mt: 24;
    margin-top: calc(var(--mt)*1em/16)
}

.p-company__philosophyList {
    --mt: 64;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 880px) {
    .p-company__philosophyList {
        --mt: 48;
        margin: calc(var(--mt)*1em/16) calc(50% - 50vw) 0;
        width: 100vw
    }
}

.p-company__philosophyListItem {
    --pt: 40;
    --pb: 40;
    --pl: 30;
    --pr: 30;
    cursor: pointer;
    padding: calc(var(--pt)*1em/16) calc(var(--pr)/var(--inner-section-width)*100%) calc(var(--pb)*1em/16) calc(var(--pl)/var(--inner-section-width)*100%);
    position: relative
}

@media screen and (max-width: 880px) {
    .p-company__philosophyListItem {
        --pt: 36;
        --pb: 36
    }
}

.p-company__philosophyListItem:before {
    background: var(--gray-color);
    bottom: 0;
    content: "";
    display: block;
    height: .5px;
    left: 0;
    position: absolute;
    right: 0
}

@media screen and (max-width: 880px) {
    .p-company__philosophyListItem:before {
        left: calc(50% - var(--ww)*.5);
        right: calc(50% - var(--ww)*.5)
    }
}

.p-company__philosophyListItem:after {
    content: "";
    height: 100%;
    left: 0;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    transition: background-color var(--transition);
    width: 100%;
    z-index: 0
}

.p-company__philosophyListItem.is-accopen:after {
    background: var(--light-gray-color)
}

.p-company__philosophyListItem .title {
    display: flex
}

@media screen and (max-width: 880px) {
    .p-company__philosophyListItem .title {
        margin: 0 auto;
        position: relative;
        width: 86.66667%
    }
}

.p-company__philosophyListItem .title .u-arrow {
    align-self: center;
    transition: transform var(--transition)
}

@media screen and (max-width: 880px) {
    .p-company__philosophyListItem .title .u-arrow {
        align-self: start;
        position: absolute;
        right: -1.875em;
        top: .25em
    }
}

.p-company__philosophyListItem.is-accopen :is(.p-company__philosophyListItem .title .u-arrow) {
    transform: rotate(-90deg)
}

.p-company__philosophyListItem .title__num {
    color: var(--blue-color);
    flex-basis: 2.5em;
    letter-spacing: .05em
}

.p-company__philosophyListItem .title__txt {
    flex: 1
}

@media screen and (max-width: 880px) {
    .p-company__philosophyListItem .title__txt {
        align-items: flex-end;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
}

.p-company__philosophyListItem .title__txtMain {
    --fs: 18;
    display: inline;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .05em
}

@media screen and (max-width: 880px) {
    .p-company__philosophyListItem .title__txtMain {
        --fs: 17;
    }
}

.p-company__philosophyListItem .title__txtSub {
    --fs: 18;
    color: var(--gray-color);
    display: inline;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .05em
}

@media screen and (max-width: 880px) {
    .p-company__philosophyListItem .title__txtSub {
        --fs: 14;
        margin-top: calc(20em/var(--fs))
    }
}

.p-company__philosophyListItem .title__txtSub .u-tbNone {
    color: var(--main-color);
    display: inline
}

@media screen and (max-width: 880px) {
    .p-company__philosophyListItem .title__txtSub .u-tbNone {
        display: none
    }
}

.p-company__philosophyListItem .body {
    height: 0;
    overflow: hidden
}

@media screen and (max-width: 880px) {
    .p-company__philosophyListItem .body {
        margin: 0 auto;
        width: 86.66667%
    }
}

.p-company__philosophyListItem .body-inner {
    --pt: 32;
    --pl: 40;
    padding-left: calc(var(--pl)*1em/14);
    padding-top: calc(var(--pt)*1em/14)
}

@media screen and (max-width: 880px) {
    .p-company__philosophyListItem .body-inner {
        padding-left: 0
    }
}

@media (any-hover: hover) {
    .p-company__philosophyListItem:hover:after {
        background: var(--light-gray-color)
    }
}

.p-company__overview {
    --pt: 172;
    padding-top: calc(var(--pt)*1em/16)
}

@media screen and (max-width: 880px) {
    .p-company__overview {
        --pt: 128
    }
}

.p-company__overviewList {
    margin-top: 2.5em
}

@media screen and (max-width: 880px) {
    .p-company__overviewList {
        margin: 18.84058vw 0 0
    }
}

@media screen and (max-width: 768px) {
    .p-company__overviewList {
        margin: 18.84058vw calc(50% - 50vw) 0;
        width: 100vw
    }
}

.p-company__overviewListBlock {
    --pt: 30;
    --pb: 30;
    display: flex;
    padding: calc(var(--pt)*1em/16) 0 calc(var(--pb)*1em/16);
    position: relative
}

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

.p-company__overviewListBlock:nth-child(odd):before {
    background: var(--light-gray-color);
    content: "";
    height: 100%;
    left: 0;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

.p-company__overviewListBlock .title {
    flex-basis: 13.71429em;
    flex-shrink: 0;
    padding-left: 4.28571em
}

@media screen and (max-width: 768px) {
    .p-company__overviewListBlock .title {
        margin: 0 auto;
        padding-left: 0;
        width: 86.66667%
    }
}

.p-company__overviewListBlock .txt {
    padding-left: 4.28571em;
    padding-right: 3.14286em
}

@media screen and (max-width: 768px) {
    .p-company__overviewListBlock .txt {
        margin: 1.14286em auto 0;
        padding-left: 2.14286em;
        width: 86.66667%
    }

    .p-company__overviewListBlock .txt .u-tbblock {
        display: block
    }
}

.p-company__overviewListBlock .txt a {
    color: var(--gray-color)
}

.p-company__overviewImglist {
    --mt: 80;
    display: block;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 640px) {
    .p-company__overviewImglist {
        --mt: 80*.8
    }
}

/*.p-company__overviewImglistItem {
    flex-basis: calc(400/var(--inner-section-width)*100%)
}

@media screen and (max-width: 1024px) {
    .p-company__overviewImglistItem {
        flex-basis:47.69231%
    }
}*/

.p-company__overviewImglistItem .body__img {
    border-radius: .3125em;
    overflow: hidden;
    position: relative;
    z-index: 1
}

.p-company__overviewImglistItem figcaption {
    font-size: .75em;
    line-height: 1.4;
    margin-top: 1em
}

@media screen and (max-width: 640px) {
    .p-company__overviewImglistItem figcaption {
        font-size: .6875em
    }
}

.p-company__overviewImglistItem figcaption a {
    color: var(--gray-color)
}

.p-company__history {
    --pt: 178;
    padding-top: calc(var(--pt)*1em/16)
}

.p-company__historyBody {
    --mt: -48;
    margin-top: calc(var(--mt)*1em/16);
    position: relative;
    z-index: 2
}

@media screen and (max-width: 880px) {
    .p-company__historyBody {
        --mt: 70;
        margin-top: max(calc(var(--mt)*1em/16), calc(var(--mt)/414*100vw*.8))
    }
}

.p-company__historyBodyThumb {
    margin: 0 calc(25% - 25vw) 0 0;
    overflow: visible;
    position: relative;
    width: calc(75vw + 25%)
}

@media screen and (max-width: 880px) {
    .p-company__historyBodyThumb {
        margin: 0 calc(50% - 50vw);
        width: 100vw
    }
}

.p-company__historyBodyThumb:before {
    background: var(--gray-color);
    bottom: 0;
    content: "";
    display: block;
    height: .5px;
    left: 0;
    position: absolute;
    right: 0
}

.p-company__historyBodyThumb .slider {
    display: flex;
    margin: 0 auto 0 0;
    max-width: 30em;
    overflow: visible;
    width: 100%
}

.p-company__historyBodyThumb .slider__item {
    height: 5.625em;
    overflow: visible;
    position: relative;
    width: min(7.5em, 25%)
}

.p-company__historyBodyThumb .slider__item:before {
    background: #0000;
    bottom: -.5px;
    content: "";
    display: block;
    height: 3px;
    left: 0;
    position: absolute;
    right: 0;
    transition: background-color var(--transition)
}

.p-company__historyBodyThumb .slider__item.is-active:after,
.p-company__historyBodyThumb .slider__item.is-active:before {
    background: var(--effect-color)
}

.p-company__historyBodyThumb .slider__itemBlock {
    align-items: center;
    color: var(--main-color);
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    width: 100%
}

.p-company__historyBodyThumb .slider__itemBlockJp {
    color: var(--gray-color);
    pointer-events: none;
    transition: color var(--transition);
    font-size: 16px;
}

.p-company__historyBodyThumb .slider__item.is-active :is(.p-company__historyBodyThumb .slider__itemBlockJp) {
    color: var(--main-color);
}

.p-company__historyBodyThumb .slider__itemBlockNum {
    font-size: .875em;
    margin-top: .57143em;
    pointer-events: none
}

.p-company__historyBodyThumb .slider__itemTri {
    background: var(--effect-color);
    border-top-left-radius: 30%;
    bottom: -.8125em;
    height: .625em;
    left: 0;
    margin: 0 auto;
    opacity: 0;
    position: absolute;
    right: 0;
    transform: rotate(30deg) skewY(30deg) scaleX(.86666) rotate(180deg);
    transition: opacity var(--transition);
    width: .625em
}

.p-company__historyBodyThumb .slider__item.is-active :is(.p-company__historyBodyThumb .slider__itemTri) {
    opacity: 1
}

.p-company__historyBodyThumb .slider__itemTri:after,
.p-company__historyBodyThumb .slider__itemTri:before {
    background: var(--effect-color);
    content: "";
    height: .625em;
    position: absolute;
    width: .625em
}

.p-company__historyBodyThumb .slider__itemTri:before {
    border-top-right-radius: 30%;
    transform: skewX(-45deg) translateX(50%)
}

.p-company__historyBodyThumb .slider__itemTri:after {
    border-bottom-left-radius: 30%;
    transform: skewY(-45deg) translateY(50%)
}

.p-company__historyBodyContents-wrapper {
    margin: 0 calc(50% - 50vw) 0 0;
    overflow: hidden;
    width: calc(50vw + 50%)
}

@media screen and (max-width: 880px) {
    .p-company__historyBodyContents-wrapper {
        margin: 0 calc(50% - 50vw);
        width: 100vw
    }
}

.p-company__historyBodyContents {
    --mt: 52;
    cursor: grab;
    margin-top: calc(var(--mt)*1em/16);
    overflow: visible;
    padding-left: 2.5em;
    padding-right: 2.5em;
    position: relative
}

.p-company__historyBodyContents .item,
.p-company__historyBodyContents .swiper-wrapper {
    width: -moz-fit-content;
    width: fit-content
}

.p-company__historyBodyContents .item {
    align-items: flex-start;
    display: flex;
    height: auto
}

.p-company__historyBodyContents .item:not(:last-child) {
    margin-right: 3.125em
}

.p-company__historyBodyContents .item__block-wrapper {
    display: flex
}

.p-company__historyBodyContents .item__block.is-noimg :is(.p-company__historyBodyContents .item__block-wrapper):not(:first-child) {
    margin-top: 1.25em
}

.p-company__historyBodyContents .item__block {
    width: 100%
}

.p-company__historyBodyContents .item__block:not(:first-child) {
    margin-left: 3.125em
}

.p-company__historyBodyContents .item__blockTitle {
    margin-right: .75em;
    margin-top: .25em;
    padding-right: 1.5em;
    position: relative
}

.p-company__historyBodyContents .item__blockTitle:before {
    background: var(--effect-color);
    content: "";
    display: block;
    height: .5px;
    position: absolute;
    right: 0;
    top: .375em;
    width: .625em
}

.p-company__historyBodyContents .item__blockBody {
    width: 20.625em
}

@media screen and (max-width: 880px) {
    .p-company__historyBodyContents .item__blockBody {
        width: 16.5em
    }
}

:is(.p-company__historyBodyContents .item__blockBody)+:is(.p-company__historyBodyContents .item__blockBody) {
    margin-left: 1.25em
}

.p-company__historyBodyContents .item__block.is-img :is(.p-company__historyBodyContents .item__blockBody) {
    display: flex;
    flex-direction: column;
    justify-content: flex-start
}

.p-company__historyBodyContents .item__blockBodyImg {
    border-radius: .3125em;
    margin-bottom: 1.25em;
    overflow: hidden;
    position: relative;
    z-index: 1
}

.p-company__historyBodyContents .item__blockBodyTitle {
    margin-bottom: .9375em
}

.p-company__historyBodyContents .item__blockBodyTxt {
    font-size: .75em
}

:is(.p-company__historyBodyContents .item__blockBodyTxt) p+p {
    margin-top: 2em
}

.p-company__historyBodyContents .item__blockBodyTxt .u-block {
    display: block
}

@media screen and (max-width: 880px) {
    .p-company__historyBodyContents .item__blockBodyTxt .u-block {
        display: inline
    }
}

.p-recruit .u-graybg {
    position: relative
}

.p-recruit .u-graybg:before {
    z-index: 1;
    background: #DAB7A1;
    background: linear-gradient(to bottom, #DAB7A1, #FFFFFF);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DAB7A1 ', endColorstr='#FFFFFF', GradientType=1);
    background: -webkit-linear-gradient(top, #DAB7A1, #FFFFFF);
    background: -o-linear-gradient(bottom, #DAB7A1, #FFFFFF);
}

.p-recruit__mv {
    --mv-txt-bottom: 200;
    --mv-txt-left: -148
}

@media screen and (max-width: 640px) {
    .p-recruit__mv {
        --mv-txt-bottom: 164;
        --mv-txt-left: -64;
        overflow: hidden
    }
}

.p-recruit__mv .u-section {
    display: flex;
    justify-content: flex-end
}

.p-recruit__mvBody {
    flex-shrink: 0;
    width: calc(220/var(--section-width)*100%)
}

@media screen and (max-width: 640px) {
    .p-recruit__mvBody {
        width: 30.87719%
    }
}

.p-recruit__mvBodyTitle {
    --pt: 178;
    --fs: 18;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .3em;
    padding-top: calc(var(--pt)*1em/var(--fs));
    position: relative;
    z-index: 1
}

/*@media screen and (max-width: 880px) {
    .p-recruit__mvBodyTitle {
        display: none
    }
}*/

.p-recruit__mvImg {
    margin-right: calc(50% - var(--ww)*.5);
    position: relative;
    width: calc(var(--ww)*.5 + 50%)
}

.p-recruit__mvImg:before {
    background-color: #fff;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: scale(1);
    transform-origin: top right;
    transition: transform .8s var(--ease-inout-expo);
    width: 100%;
    z-index: 3
}

.p-recruit__mvImg.is-active:before {
    transform: scaleX(0)
}

.p-recruit__mvImgBody {
    border-radius: 0 0 0 6.25em;
    overflow: hidden;
    position: relative;
    z-index: 2
}

@media screen and (max-width: 640px) {
    .p-recruit__mvImgBody {
        height: 0;
        padding-top: 226.66667%
    }

    .p-recruit__mvImgBody img {
        height: 120%;
        left: 0;
        position: absolute;
        top: 0;
        width: 120%
    }
}

.p-recruit__mvImgBody .txt {
    --fs: 28;
    bottom: calc(var(--mv-txt-bottom)/1051*100%);
    color: #fff;
    font-size: calc(var(--fs)*1em/16);
    left: calc(var(--mv-txt-left)/1051*100%);
    letter-spacing: .05em;
    line-height: 1.8;
    position: absolute
}

@media screen and (max-width: 640px) {
    .p-recruit__mvImgBody .txt {
        --fs: 22;
        bottom: calc(var(--mv-txt-bottom)/414*var(--ww));
        left: calc(var(--mv-txt-left)/300*100%)
    }
}

.p-recruit__mvImgBody .txt .u-block {
    display: block
}

.p-recruit__mvImgTxt {
    --fs: 28;
    bottom: calc(var(--mv-txt-bottom)/1051*100%);
    font-size: calc(var(--fs)*1em/16);
    left: calc(var(--mv-txt-left)/1051*100%);
    letter-spacing: .05em;
    line-height: 1.8;
    position: absolute;
    z-index: 1
}

@media screen and (max-width: 640px) {
    .p-recruit__mvImgTxt {
        --fs: 22;
        bottom: calc(var(--mv-txt-bottom)/414*var(--ww));
        left: calc(var(--mv-txt-left)/300*100%)
    }
}

.p-recruit__mvImgTxt .u-block {
    display: block
}

.p-recruit__mvCatchcopy {
    --mt: -116;
    margin: max(calc(var(--mt)*1em/16), calc(var(--mt)/1366*100vw)) auto 0;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    z-index: 2
}

@media screen and (max-width: 1024px) {
    .p-recruit__mvCatchcopy {
        --mt: -88;
        margin: calc(var(--mt)/1024*100vw) auto 0
    }
}

@media screen and (max-width: 640px) {
    .p-recruit__mvCatchcopy {
        --mt: -76;
        display: flex;
        left: -.75em;
        margin: calc(var(--mt)*1em/16) auto 0;
        width: calc(var(--vw)*100)
    }
}

@media screen and (max-width: 430px) {
    .p-recruit__mvCatchcopy {
        --mt: -68
    }
}

.p-recruit__mvCatchcopyBody {
    --copy-duration: 50;
    --fs: 150;
    -webkit-text-fill-color: #0000;
    background: linear-gradient(to right, #fac793, #d680e8);
    -webkit-background-clip: text;
    font-size: min(calc(var(--fs)/1366*var(--ww)), calc(var(--fs)*1em/16));
    letter-spacing: .05em;
    line-height: 1.3;
    padding-bottom: .25em;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    z-index: 3
}

@media screen and (max-width: 640px) {
    .p-recruit__mvCatchcopyBody {
        --fs: 96;
        flex: 0 0 auto;
        font-size: min(calc(var(--fs)/414*var(--ww)), calc(var(--fs)*1em/16));
        padding-right: .25em;
        white-space: nowrap;
        width: auto
    }

    .p-recruit__mvCatchcopy.is-scrolling .p-recruit__mvCatchcopyBody:nth-child(odd) {
        animation: loop calc(var(--copy-duration)*1s) calc(var(--copy-duration)*.5s*-1) linear infinite
    }

    .p-recruit__mvCatchcopy.is-scrolling .p-recruit__mvCatchcopyBody:nth-child(2n) {
        animation: loop2 calc(var(--copy-duration)*1s) linear infinite
    }
}

.p-recruit__mvCatchcopyBody.u-pcNone {
    display: none
}

@media screen and (max-width: 640px) {
    .p-recruit__mvCatchcopyBody.u-pcNone {
        display: block
    }
}

@keyframes loop {
    0% {
        transform: translateX(100%)
    }

    to {
        transform: translateX(-100%)
    }
}

@keyframes loop2 {
    0% {
        transform: translateX(0)
    }

    to {
        transform: translateX(-200%)
    }
}

.p-recruit__about {
    --row01-mt: 90;
    --row02-mt: 132;
    --left-w: 134;
    --right-w: 74;
    --center-ml: 118;
    --center-mr: 102;
    --pt: 120;
    padding-top: calc(var(--pt)*1em/16);
    position: relative;
    z-index: 2
}

@media screen and (max-width: 1024px) {
    .p-recruit__about {
        --row02-mt: 132*2;
        --left-w: 214;
        --right-w: 154;
        --center-ml: 68;
        --center-mr: 52
    }
}

@media screen and (max-width: 880px) {
    .p-recruit__about {
        --row02-mt: 132*3
    }
}

@media screen and (max-width: 768px) {
    .p-recruit__about {
        --right-w: 120
    }
}

@media screen and (max-width: 640px) {
    .p-recruit__about {
        --pt: 40
    }
}

@media screen and (max-width: 430px) {
    .p-recruit__about {
        --pt: 40*.8
    }
}

.p-recruit__about-inner {
    display: grid;
    grid-template: "left . ."calc(var(--row01-mt)*1em/16) "left first ."calc(var(--row02-mt)*1em/16) "left first right"auto "left second right"auto ". . right"1fr/calc(var(--left-w)/var(--inner-section-width)*100%) 1fr calc(var(--right-w)/var(--inner-section-width)*100%)
}

@media screen and (max-width: 768px) {
    .p-recruit__about-inner {
        grid-template: "left left"auto "first first"auto "second right"1fr/1fr calc(var(--right-w)/325*100%)
    }
}

.p-recruit__aboutFirst {
    grid-area: first;
    margin: 0 calc(var(--center-mr)/666*100%) 0 calc(var(--center-ml)/666*100%)
}

@media screen and (max-width: 1024px) {
    .p-recruit__aboutFirst {
        margin: 0 calc(var(--center-mr)/506*100%) 0 calc(var(--center-ml)/506*100%)
    }
}

@media screen and (max-width: 768px) {
    .p-recruit__aboutFirst {
        --mt: 84;
        --mb: 60;
        margin: calc(var(--mt)*1em/16) 0 calc(var(--mb)*1em/16)
    }
}

.p-recruit__aboutFirstTitle {
    --mt: 0;
    --mb: 60;
    --fs: 26;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .05em;
    margin: calc(var(--mt)*1em/var(--fs)) 0 calc(var(--mb)*1em/var(--fs))
}

@media screen and (max-width: 1024px) {
    .p-recruit__aboutFirstTitle {
        --mb: 60*.6;
        white-space: nowrap;
        width: -moz-fit-content;
        width: fit-content
    }
}

@media screen and (max-width: 768px) {
    .p-recruit__aboutFirstTitle {
        --mb: 60;
        --fs: 22
    }
}

.p-recruit__aboutFirstBody>p:not(:first-child) {
    margin-top: 2em
}

.p-recruit__aboutSecond {
    align-self: start;
    grid-area: second;
    margin: 1.75em calc(var(--center-mr)/666*100%) 0 calc(var(--center-ml)/666*100%)
}

@media screen and (max-width: 1024px) {
    .p-recruit__aboutSecond {
        margin: 1.75em calc(var(--center-mr)/506*100%) 0 calc(var(--center-ml)/506*100%)
    }
}

@media screen and (max-width: 768px) {
    .p-recruit__aboutSecond {
        margin: 0 14.76923% 0 0
    }
}

.p-recruit__aboutSecondBody>p:not(:first-child) {
    margin-top: 2em
}

.p-recruit__aboutSecondBtn {
    --mt: 40;
    color: var(--main-color);
    display: block;
    margin-top: calc(var(--mt)*1em/16)
}

.p-recruit__aboutSecondBtn .body {
    align-items: center;
    display: flex;
    flex-direction: row-reverse;
    padding-bottom: .875em
}

@media screen and (max-width: 768px) {
    .p-recruit__aboutSecondBtn .body {
        align-items: flex-start;
        padding-bottom: .75em
    }
}

.p-recruit__aboutSecondBtn .body__txt {
    font-size: .875em
}

@media screen and (max-width: 768px) {
    .p-recruit__aboutSecondBtn .body__txt {
        font-size: .75em;
        line-height: 1.6;
        text-align: left
    }

    .p-recruit__aboutSecondBtn .body__txt .u-tbblock {
        display: block
    }
}

.p-recruit__aboutSecondBtn .u-arrow {
    margin-right: 1.25em
}

@media screen and (max-width: 768px) {
    .p-recruit__aboutSecondBtn .u-arrow {
        margin-top: .4em
    }
}

.p-recruit__aboutLeft {
    grid-area: left
}

.p-recruit__aboutLeftImg01,
.p-recruit__aboutLeftImg02 {
    margin-left: calc(var(--inner-section-width)/var(--left-w)*50% - var(--ww)*.5)
}

@media screen and (max-width: 768px) {
    .p-recruit__aboutLeftImg01 {
        margin-left: calc(50% - var(--ww)*.5);
        width: 101.53846%
    }
}

.p-recruit__aboutLeftImg01 .body {
    border-radius: 0 3.125em 0 0;
    overflow: hidden;
    position: relative;
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .p-recruit__aboutLeftImg01 .body {
        height: 0;
        padding-top: 14.0625em
    }

    .p-recruit__aboutLeftImg01 .body img {
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%
    }
}

@media screen and (max-width: 880px) {
    .p-recruit__aboutLeftImg01 .body {
        padding-top: 12.65625em
    }
}

@media screen and (max-width: 768px) {
    .p-recruit__aboutLeftImg01 .body {
        padding-top: 78.48485%
    }

    .p-recruit__aboutLeftImg02 {
        margin-left: auto;
        margin-right: calc(50% - var(--ww)*.5);
        position: relative;
        width: 46.15385%;
        z-index: 1
    }
}

.p-recruit__aboutLeftImg02 .body {
    margin: 3.25em 0 0 auto;
    width: 55.26316%
}

@media screen and (max-width: 1024px) {
    .p-recruit__aboutLeftImg02 .body {
        height: 0;
        padding-top: 9.8125em;
        position: relative
    }

    .p-recruit__aboutLeftImg02 .body img {
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%
    }
}

@media screen and (max-width: 880px) {
    .p-recruit__aboutLeftImg02 .body {
        padding-top: 8.83125em
    }
}

@media screen and (max-width: 768px) {
    .p-recruit__aboutLeftImg02 .body {
        margin: -5em 0 0 auto;
        padding-top: 100%;
        width: 100%
    }
}

.p-recruit__aboutRight {
    grid-area: right
}

.p-recruit__aboutRightImg {
    border-radius: 3.125em 0 0 0;
    margin-right: calc(var(--inner-section-width)/var(--right-w)*50% - var(--ww)*.5);
    overflow: hidden;
    position: relative;
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .p-recruit__aboutRightImg {
        height: 0;
        padding-top: 26.875em
    }

    .p-recruit__aboutRightImg img {
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%
    }
}

@media screen and (max-width: 880px) {
    .p-recruit__aboutRightImg {
        padding-top: 24.1875em
    }
}

@media screen and (max-width: 768px) {
    .p-recruit__aboutRightImg {
        margin-right: calc(325/var(--right-w)*50% - var(--ww)*.5);
        padding-top: 311.76471%
    }
}

.p-recruit__keyword {
    --icon-w: 1;
    --icon-h: 1;
    --item-w: 370;
    --mt: -76;
    --pt: 108;
    --pb: 160;
    margin-top: calc(var(--mt)/var(--section-width)*100%);
    overflow: hidden;
    padding: calc(var(--pt)*1em/16) 0 calc(var(--pb)*1em/16);
    position: relative;
    z-index: 1
}

@media screen and (max-width: 880px) {
    .p-recruit__keyword {
        --item-w: 300
    }
}

@media screen and (max-width: 768px) {
    .p-recruit__keyword {
        margin-top: calc(var(--mt)/414*100%)
    }
}

@media screen and (max-width: 640px) {
    .p-recruit__keyword {
        --pt: 108*.8;
        --pb: 160*.8
    }
}

@media screen and (max-width: 540px) {
    .p-recruit__keyword {
        --mt: -36
    }
}

@media screen and (max-width: 430px) {
    .p-recruit__keyword {
        --mt: -24
    }
}

.p-recruit__keywordList {
    --mt: 52;
    display: flex;
    flex-wrap: wrap;
    margin: calc(var(--mt)*1em/16) calc(50% - var(--ww)*.5) 0 0
}

@media screen and (max-width: 1024px) {
    .p-recruit__keywordList {
        font-size: .9em;
        margin: calc(var(--mt)*1em/16) calc(50% - var(--ww)*.5) 0 auto;
        width: 98%
    }
}

@media screen and (max-width: 880px) {
    .p-recruit__keywordList {
        --mt: 96;
        display: block;
        font-size: 1em;
        margin: calc(var(--mt)/350*100%) auto 0;
        max-width: 28.125em;
        width: 95.4386%
    }
}

@media screen and (max-width: 640px) {
    .p-recruit__keywordList {
        margin: calc(var(--mt)/350*100%) calc(50% - var(--ww)*.5) 0 auto
    }
}

.p-recruit__keywordListItem {
    background: #fff;
    flex-basis: calc(370/var(--mlnone-width)*100%);
    position: relative
}

.p-recruit__keywordListItem:not(:nth-child(3n+1)) {
    margin-left: calc(5/var(--mlnone-width)*100%)
}

@media screen and (max-width: 880px) {
    .p-recruit__keywordListItem:not(:nth-child(3n+1)) {
        margin-left: 0
    }
}

.p-recruit__keywordListItem:nth-child(n+4) {
    margin-top: calc(5/var(--mlnone-width)*100%)
}

@media screen and (max-width: 880px) {
    .p-recruit__keywordListItem:nth-child(n+4) {
        margin-top: 0
    }

    .p-recruit__keywordListItem:not(:first-child) {
        margin-top: 3.33333%
    }
}

.p-recruit__keywordListItem.is-gender {
    --icon-w: 54;
    --icon-h: 54
}

.p-recruit__keywordListItem.is-birthplace {
    --icon-w: 54;
    --icon-h: 64
}

.p-recruit__keywordListItem.is-founding {
    --icon-w: 60;
    --icon-h: 60
}

.p-recruit__keywordListItem.is-age {
    --icon-w: 68;
    --icon-h: 44
}

.p-recruit__keywordListItem.is-policy {
    --icon-w: 48;
    --icon-h: 59
}

.p-recruit__keywordListItem.is-goods {
    --icon-w: 55;
    --icon-h: 55
}

.p-recruit__keywordListItem.is-subjects {
    --icon-w: 64;
    --icon-h: 57
}

.p-recruit__keywordListItem.is-lunch {
    --icon-w: 59;
    --icon-h: 59
}

.p-recruit__keywordListItem.is-hobby {
    --icon-w: 64;
    --icon-h: 57
}

.p-recruit__keywordListItem .btn {
    display: block;
    height: 100%;
    position: relative;
    width: 100%;
    z-index: 3
}

.p-recruit__keywordListItem .btn__body {
    display: block;
    height: 0;
    padding-top: 100%;
    position: relative
}

.p-recruit__keywordListItem .block {
    font-size: clamp(1em, 1.1713vw, 1.1em);
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

@media screen and (max-width: 880px) {
    .p-recruit__keywordListItem .block {
        font-size: 1em
    }
}

.p-recruit__keywordListItem .block__after,
.p-recruit__keywordListItem .block__before {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    transition: opacity var(--transition), visibility var(--transition);
    width: 100%
}

.p-recruit__keywordListItem .block__before {
    justify-content: center
}

.p-recruit__keywordListItem .block__before:before {
    background: var(--blue-color);
    bottom: 0;
    clip-path: polygon(0 0, 0 100%, 100% 100%);
    content: "";
    height: calc(20/var(--item-w)*100%);
    left: 0;
    position: absolute;
    width: calc(20/var(--item-w)*100%)
}

.p-recruit__keywordListItem.is-keywordshow :is(.p-recruit__keywordListItem .block__before) {
    opacity: 0;
    visibility: hidden
}

.p-recruit__keywordListItem .block__beforeTitle {
    margin-bottom: calc(60/var(--item-w)*100%)
}

@media screen and (max-width: 880px) {
    .p-recruit__keywordListItem .block__beforeTitle {
        margin-bottom: calc(60/var(--item-w)*100%*.8)
    }
}

@media screen and (max-width: 430px) {
    .p-recruit__keywordListItem .block__beforeTitle {
        margin-bottom: calc(60/var(--item-w)*100%*.6)
    }
}

.p-recruit__keywordListItem .block__beforeIcon {
    align-items: center;
    display: flex;
    height: 4.25em;
    justify-content: center;
    width: 4.25em
}

@media screen and (max-width: 880px) {
    .p-recruit__keywordListItem .block__beforeIcon {
        height: calc(68/var(--item-w)*100%);
        width: calc(68/var(--item-w)*100%)
    }
}

.p-recruit__keywordListItem .block__beforeIconBody {
    height: calc(var(--icon-h)*1em/16);
    width: calc(var(--icon-w)*1em/16)
}

@media screen and (max-width: 880px) {
    .p-recruit__keywordListItem .block__beforeIconBody {
        height: calc(var(--icon-h)/68*100%);
        width: calc(var(--icon-w)/68*100%)
    }
}

.p-recruit__keywordListItem .block__beforePoint {
    align-items: center;
    display: flex;
    height: 4.625em;
    margin-top: calc(32/var(--item-w)*100%)
}

.p-recruit__keywordListItem .block__beforePointTxt {
    font-size: 1.625em;
    letter-spacing: .05em;
    line-height: 1.2
}

@media screen and (max-width: 430px) {
    .p-recruit__keywordListItem .block__beforePointTxt {
        font-size: 1.4625em
    }
}

.p-recruit__keywordListItem .block__beforePointTxt .u-fontnum {
    font-size: 2.46154em
}

.p-recruit__keywordListItem.is-goods :is(.p-recruit__keywordListItem .block__beforePointTxt) {
    font-size: 1.375em
}

.p-recruit__keywordListItem .block__after {
    --ptb: 48;
    --plr: 48;
    background: linear-gradient(45deg, #DAB7A1, #ffffff);
    color: #fff;
    justify-content: flex-start;
    opacity: 0;
    padding: calc(var(--ptb)/var(--item-w)*100%) calc(var(--plr)/var(--item-w)*100%);
    visibility: hidden
}

@media screen and (max-width: 1024px) {
    .p-recruit__keywordListItem .block__after {
        --ptb: 48*.5;
        --plr: 48*.5
    }
}

@media screen and (max-width: 880px) {
    .p-recruit__keywordListItem .block__after {
        --ptb: 48;
        --plr: 48;
        padding: calc(var(--ptb)*1em/16) calc(var(--plr)*1em/16)
    }
}

@media screen and (max-width: 768px) {
    .p-recruit__keywordListItem .block__after {
        font-size: 3.09179vw
    }
}

@media screen and (max-width: 375px) {
    .p-recruit__keywordListItem .block__after {
        --ptb: 48*.5;
        --plr: 48*.5
    }
}

.p-recruit__keywordListItem.is-keywordshow :is(.p-recruit__keywordListItem .block__after) {
    opacity: 1;
    visibility: visible
}

.p-recruit__keywordListItem .block__afterHead {
    --mb: 52;
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: calc(var(--mb)/var(--item-w)*100%);
    width: 100%
}

@media screen and (max-width: 1024px) {
    .p-recruit__keywordListItem .block__afterHead {
        --mb: 52*.6
    }
}

@media screen and (max-width: 880px) {
    .p-recruit__keywordListItem .block__afterHead {
        --mb: 52
    }
}

@media screen and (max-width: 430px) {
    .p-recruit__keywordListItem .block__afterHead {
        --mb: 52*.6
    }
}

.p-recruit__keywordListItem.is-goods :is(.p-recruit__keywordListItem .block__afterHead) {
    --mb: 20
}

@media screen and (max-width: 1024px) {
    .p-recruit__keywordListItem.is-goods :is(.p-recruit__keywordListItem .block__afterHead) {
        --mb: 52*.6
    }
}

@media screen and (max-width: 880px) {
    .p-recruit__keywordListItem.is-goods :is(.p-recruit__keywordListItem .block__afterHead) {
        --mb: 52
    }
}

@media screen and (max-width: 430px) {
    .p-recruit__keywordListItem.is-goods :is(.p-recruit__keywordListItem .block__afterHead) {
        --mb: 52*.6
    }
}

.p-recruit__keywordListItem .block__afterHeadTitle {
    line-height: 1.2
}

@media screen and (max-width: 768px) {
    .p-recruit__keywordListItem .block__afterHeadTitle {
        font-size: max(12px, .75em)
    }
}

@media screen and (max-width: 320px) {
    .p-recruit__keywordListItem .block__afterHeadTitle {
        font-size: 11px
    }
}

.p-recruit__keywordListItem .block__afterHeadTitle .u-inbl {
    display: inline-block
}

.p-recruit__keywordListItem .block__afterHeadIcon {
    align-items: center;
    background: #fff;
    border-radius: 100vmax;
    display: flex;
    flex-shrink: 0;
    height: 3em;
    justify-content: center;
    overflow: hidden;
    position: relative;
    width: 3em;
    z-index: 1
}

.p-recruit__keywordListItem .block__afterHeadIconBody {
    height: calc(var(--icon-h)*1em/16*.4);
    width: calc(var(--icon-w)*1em/16*.4)
}

.p-recruit__keywordListItem .block__afterPoint {
    align-items: center;
    display: flex;
    height: 4.625em
}

.p-recruit__keywordListItem .block__afterPointTxt {
    font-size: 1.625em;
    letter-spacing: .05em;
    line-height: 1.2
}

@media screen and (max-width: 430px) {
    .p-recruit__keywordListItem .block__afterPointTxt {
        font-size: 1.4625em
    }
}

.p-recruit__keywordListItem .block__afterPointTxt .u-fontnum {
    font-size: 2.46154em
}

.p-recruit__keywordListItem.is-goods :is(.p-recruit__keywordListItem .block__afterPointTxt) {
    font-size: 1.375em
}

.p-recruit__keywordListItem .block__afterBody {
    --mt: 36;
    font-size: .75em;
    margin-top: calc(var(--mt)/var(--item-w)*100%)
}

@media screen and (max-width: 1024px) {
    .p-recruit__keywordListItem .block__afterBody {
        --mt: 36*.9
    }
}

@media screen and (max-width: 880px) {
    .p-recruit__keywordListItem .block__afterBody {
        --mt: 36
    }
}

@media screen and (max-width: 768px) {
    .p-recruit__keywordListItem .block__afterBody {
        font-size: max(12px, .75em)
    }
}

@media screen and (max-width: 320px) {
    .p-recruit__keywordListItem .block__afterBody {
        font-size: 11px
    }
}

@media screen and (max-width: 430px) {
    .p-recruit__keywordListItem .block__afterBody {
        --mt: 36*.8
    }
}

.p-recruit__workstyle {
    --pb: 140;
    overflow: hidden;
    padding-bottom: calc(var(--pb)*1em/16);
    position: relative;
    z-index: 1
}

@media screen and (max-width: 640px) {
    .p-recruit__workstyle {
        --pb: 140*.8
    }
}

.p-recruit__workstyleImg {
    background-attachment: fixed;
    background-image: url(../image/workstyle01.jpg);
    background-position: 50%;
    background-size: cover;
    height: 0;
    padding-top: 23.42606%;
    position: relative
}

@media screen and (max-width: 880px) {
    .p-recruit__workstyleImg {
        background-attachment: unset;
        padding-top: 46.37681%
    }
}

.p-recruit__workstyleMain {
    --pt: 108;
    padding-top: calc(var(--pt)*1em/16)
}

@media screen and (max-width: 880px) {
    .p-recruit__workstyleMain {
        --pt: 108*.4;
        padding-top: calc(var(--pt)/414*100%)
    }
}

.p-recruit__workstyleMainTablist {
    --mt: 100;
    display: flex;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 1024px) {
    .p-recruit__workstyleMainTablist {
        --mt: 24;
        margin: calc(var(--mt)*1em/16) 0 0 auto;
        width: 92%
    }
}

@media screen and (max-width: 880px) {
    .p-recruit__workstyleMainTablist {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        margin: calc(var(--mt)*1em/16) 0 0 auto;
        width: 100%
    }
}

@media screen and (max-width: 640px) {
    .p-recruit__workstyleMainTablist {
        justify-content: flex-start;
        max-width: 13.75em;
        width: 100%
    }
}

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

.p-recruit__workstyleMainTablist .item {
    border-radius: 100vmax;
    overflow: hidden;
    position: relative;
    z-index: 1
}

.p-recruit__workstyleMainTablist .item:nth-child(n+2) {
    margin-left: .625em
}

@media screen and (max-width: 640px) {
    .p-recruit__workstyleMainTablist .item:nth-child(n+2) {
        margin-left: 0
    }

    .p-recruit__workstyleMainTablist .item:nth-child(n+3) {
        margin-top: .625em
    }

    .p-recruit__workstyleMainTablist .item:nth-child(odd) {
        margin-right: .625em
    }

    .p-recruit__workstyleMainTablist .item {
        flex-shrink: 0
    }
}

.p-recruit__workstyleMainTablist .item__block {
    --ptb: 10;
    --plr: 48;
    color: var(--main-color);
    padding: calc(var(--ptb)*1em/16) calc(var(--plr)*1em/16);
    position: relative
}

@media screen and (max-width: 1024px) {
    .p-recruit__workstyleMainTablist .item__block {
        --plr: 32;
        font-size: .9em
    }
}

@media screen and (max-width: 768px) {
    .p-recruit__workstyleMainTablist .item__block {
        --plr: 20
    }
}

.p-recruit__workstyleMainTablist .item__block:after,
.p-recruit__workstyleMainTablist .item__block:before {
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.p-recruit__workstyleMainTablist .item__block:before {
    background: #fff;
    z-index: 1
}

@media screen and (max-width: 880px) {
    .p-recruit__workstyleMainTablist .item__block:before {
        border: .5px solid var(--gray-color);
        border-radius: 100vmax;
        overflow: hidden
    }
}

.p-recruit__workstyleMainTablist .item__block:after {
    background: linear-gradient(to right, var(--blue-color), var(--red-color));
    opacity: 0;
    transition: opacity var(--transition);
    z-index: 2
}

.p-recruit__workstyleMainTablist .item__block.is-active:after {
    opacity: 1
}

.p-recruit__workstyleMainTablist .item__blockTxt {
    position: relative;
    transition: color var(--transition);
    z-index: 3
}

.p-recruit__workstyleMainTablist .item__block.is-active :is(.p-recruit__workstyleMainTablist .item__blockTxt) {
    color: #fff
}

.p-recruit__workstyleMainList {
    --mt: 50;
    border-top: .5px solid var(--gray-color);
    margin-top: calc(var(--mt)*1em/16);
    position: relative
}

@media screen and (max-width: 1024px) {
    .p-recruit__workstyleMainList {
        margin: calc(var(--mt)*1em/16) 0 0 auto;
        width: 92%
    }
}

@media screen and (max-width: 880px) {
    .p-recruit__workstyleMainList {
        width: 100%
    }
}

.p-recruit__workstyleMainList .item {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    visibility: hidden;
    width: 100%;
    z-index: 1
}

.p-recruit__workstyleMainList .item.is-active {
    opacity: 1;
    pointer-events: auto;
    position: relative;
    transition: opacity .8s, visibility .8s;
    visibility: visible;
    z-index: 0
}

.p-recruit__workstyleMainList .item__block {
    --pt: 40;
    --pb: 40;
    border-bottom: .5px solid var(--gray-color);
    display: flex;
    padding: calc(var(--pt)*1em/16) 0 calc(var(--pb)*1em/16)
}

@media screen and (max-width: 880px) {
    .p-recruit__workstyleMainList .item__block {
        display: block
    }
}

.p-recruit__workstyleMainList .item__blockTitle {
    flex-basis: calc(212/var(--inner-section-width)*100%);
    flex-shrink: 0;
    padding-left: calc(40/var(--inner-section-width)*100%)
}

@media screen and (max-width: 880px) {
    .p-recruit__workstyleMainList .item__blockTitle {
        padding-left: 0
    }

    .p-recruit__workstyleMainList .item__blockTxt {
        margin: 1.28571em auto 0;
        padding-left: 2.14286em
    }
}

@media (any-hover: hover) {
    .p-recruit__workstyleMainTablist .item__block:hover:after {
        opacity: 1
    }

    .p-recruit__workstyleMainTablist .item__block:hover .item__blockTxt {
        color: #fff
    }
}

.p-recruit__recruitment {
    --pt: 68;
    overflow: hidden;
    padding-top: calc(var(--pt)*1em/16);
    position: relative;
    z-index: 1
}

@media screen and (max-width: 640px) {
    .p-recruit__recruitment {
        --pt: 68*.8
    }
}

.p-recruit__recruitmentIntro {
    --mt: 40;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 1024px) {
    .p-recruit__recruitmentIntro {
        margin: calc(var(--mt)*1em/16) 0 0 auto;
        width: 92%
    }
}

@media screen and (max-width: 880px) {
    .p-recruit__recruitmentIntro {
        margin: calc(var(--mt)*1em/16) 0 0 auto;
        width: 100%
    }
}

@media screen and (max-width: 640px) {
    .p-recruit__recruitmentIntro {
        --mt: 60
    }
}

@media screen and (max-width: 430px) {
    .p-recruit__recruitmentIntro {
        --mt: 80
    }
}

.p-recruit__recruitmentIntroBody .large {
    --mb: 36;
    font-size: 1.28571em;
    margin-bottom: calc(var(--mb)*1em/18)
}

@media screen and (max-width: 880px) {
    .p-recruit__recruitmentIntroBody .large {
        margin: 0 0 calc(var(--mb)*1em/18) auto;
        text-align: left;
        width: 100%
    }
}

.p-recruit__recruitmentIntroBody .large .u-inbl {
    display: inline-block
}

.p-recruit__recruitmentList {
    --mt: 44;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 1024px) {
    .p-recruit__recruitmentList {
        margin: calc(var(--mt)*1em/16) 0 0 auto;
        width: 92%
    }
}

@media screen and (max-width: 880px) {
    .p-recruit__recruitmentList {
        width: 100%
    }
}

.p-recruit__recruitmentListItem .target {
    --pt: 56;
    --pb: 56;
    --pl: 50;
    --pr: 20;
    align-items: center;
    border-bottom: .5px solid var(--gray-color);
    display: flex;
    justify-content: space-between;
    padding: calc(var(--pt)*1em/16) calc(var(--pr)*1em/16) calc(var(--pb)*1em/16) calc(var(--pl)*1em/16);
    position: relative
}

@media screen and (max-width: 880px) {
    .p-recruit__recruitmentListItem .target {
        --pl: 50*.8
    }
}

@media screen and (max-width: 640px) {
    .p-recruit__recruitmentListItem .target {
        --pl: 50*.6
    }
}

@media screen and (max-width: 430px) {
    .p-recruit__recruitmentListItem .target {
        --pl: 50*.4
    }
}

.p-recruit__recruitmentListItem:first-child :is(.p-recruit__recruitmentListItem .target) {
    border-top: .5px solid var(--gray-color)
}

.p-recruit__recruitmentListItem .target:before {
    background: linear-gradient(to right, #fbc893, #d782e6);
    content: "";
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.p-recruit__recruitmentListItem .target__body {
    position: relative;
    z-index: 1
}

@media screen and (max-width: 430px) {
    .p-recruit__recruitmentListItem .target__body {
        font-size: .9em
    }
}

.p-recruit__recruitmentListItem .target__bodyJob {
    color: var(--blue-color);
    font-size: .875em;
    margin-bottom: 1.14286em
}

.p-recruit__recruitmentListItem .target__bodyTxt {
    font-size: 1.625em
}

@media screen and (max-width: 640px) {
    .p-recruit__recruitmentListItem .target__bodyTxt {
        font-size: 1.4625em
    }
}

@media screen and (max-width: 430px) {
    .p-recruit__recruitmentListItem .target__bodyTxt {
        font-size: 1.3em
    }
}

.p-recruit__recruitmentListItem .target__arrow {
    position: relative;
    width: .5625em;
    z-index: 1
}

.p-recruit__recruitmentListItem .target__arrow svg {
    fill: currentColor
}

@media (any-hover: hover) {
    .p-recruit__recruitmentListItem .target {
        transition: border-color var(--transition)
    }

    .p-recruit__recruitmentListItem .target:before {
        transition: opacity var(--transition)
    }

    .p-recruit__recruitmentListItem .target:hover {
        border-color: #0000;
        color: #fff
    }

    .p-recruit__recruitmentListItem:first-child :is(.p-recruit__recruitmentListItem .target:hover) {
        border-color: #0000
    }

    .p-recruit__recruitmentListItem .target:hover:before {
        opacity: 1
    }

    .p-recruit__recruitmentListItem .target:hover .target__bodyJob {
        color: #fff
    }

    .p-recruit__recruitmentListItem .target:hover .target__arrow {
        transform: translate3d(1.25em, 0, 0)
    }

    .p-recruit__recruitmentListItem .target__bodyJob,
    .p-recruit__recruitmentListItem .target__bodyTxt {
        transition: color var(--transition)
    }

    .p-recruit__recruitmentListItem .target__arrow {
        transform-origin: top left;
        transition: transform var(--transition), color var(--transition)
    }
}

.p-recruit__promise {
    height: 100%;
    left: 0;
    min-height: 100vh;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    visibility: hidden;
    z-index: 10
}

html.is-popupopen .p-recruit__promise {
    opacity: 1;
    overflow-y: scroll;
    pointer-events: auto;
    visibility: visible
}

.p-recruit__promise-inner {
    --pt: 50;
    --pb: 116;
    padding-bottom: calc(var(--pb)*1em/16);
    padding-top: calc(var(--pt)*1em/16);
    position: relative
}

.p-recruit__promise-inner:before {
    -webkit-backdrop-filter: blur(.9375em) brightness(.85) opacity(0);
    backdrop-filter: blur(.9375em) brightness(.85) opacity(0);
    background-color: #ffffff03;
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: -webkit-backdrop-filter .6s var(--ease-out-sine);
    transition: backdrop-filter .6s var(--ease-out-sine);
    transition: backdrop-filter .6s var(--ease-out-sine), -webkit-backdrop-filter .6s var(--ease-out-sine);
    z-index: 1
}

html.is-popupopen .p-recruit__promise-inner:before {
    -webkit-backdrop-filter: blur(.9375em) brightness(.85) opacity(1);
    backdrop-filter: blur(.9375em) brightness(.85) opacity(1)
}

.p-recruit__promiseBody {
    opacity: 0;
    position: relative;
    transform: translate3d(0, -2em, 0);
    visibility: hidden;
    z-index: 1
}

html.is-popupopen .p-recruit__promiseBody {
    opacity: 1;
    transform: translateZ(0);
    transition: opacity .8s var(--ease-out-cubic), visibility .8s var(--ease-out-cubic), transform .8s var(--ease-out-cubic);
    transition-delay: .7s;
    visibility: visible
}

.p-recruit__promiseBody-inner {
    --pt: 174;
    --pb: 156;
    background: #fff;
    border-radius: 1.25em;
    overflow: hidden;
    padding-bottom: calc(var(--pb)*1em/16);
    padding-top: calc(var(--pt)*1em/16)
}

.p-recruit__promiseBodyBtn {
    color: var(--main-color);
    overflow: visible;
    position: absolute
}

.p-recruit__promiseBodyBtn.is-small {
    right: 3.125em;
    top: 3.125em
}

.p-recruit__promiseBodyBtn.is-large {
    align-items: center;
    background: #fff;
    border: .5px solid #cecece;
    border-radius: 100vmax;
    bottom: -2.5em;
    display: flex;
    flex-direction: column;
    height: 5em;
    justify-content: center;
    left: 0;
    margin: 0 auto;
    overflow: hidden;
    right: 0;
    width: 21.5625em;
    z-index: 1
}

.p-recruit__promiseBodyBtn .line {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: .5625em;
    height: .9375em;
    justify-content: space-between;
    position: relative;
    width: 1.875em
}

.p-recruit__promiseBodyBtn .line:after,
.p-recruit__promiseBodyBtn .line:before {
    background: currentColor;
    content: "";
    display: block;
    height: .5px;
    left: .1875em;
    position: relative;
    width: 1.875em
}

.p-recruit__promiseBodyBtn .line:before {
    transform: rotate(30deg);
    transform-origin: left top
}

.p-recruit__promiseBodyBtn .line:after {
    transform: rotate(-30deg);
    transform-origin: left bottom
}

.p-recruit__promiseBodyBtn .txt {
    display: block;
    font-size: .625em;
    letter-spacing: .1em;
    margin-top: .6em;
    position: relative;
    text-align: center;
    width: 100%
}

.p-recruit__promiseBodyList {
    --mt: 60;
    margin: calc(var(--mt)*1em/16) 0 0 auto;
    width: calc(740/var(--inner-section-width)*100%)
}

.p-recruit__promiseBodyList .item {
    border-bottom: .5px solid var(--gray-color);
    display: flex;
    padding-bottom: 1.71429em
}

.p-recruit__promiseBodyList .item:not(:first-child) {
    --mt: 32;
    margin-top: calc(var(--mt)*1em/16)
}

.p-recruit__promiseBodyList .item__num {
    display: flex;
    flex-shrink: 0;
    font-size: 1.5em;
    justify-content: center;
    padding-right: .16667em;
    width: 3em
}

.p-infolist-inner {
    --pb: 100;
    padding-bottom: calc(var(--pb)*1em/16);
    background: #FAF3EC;
    background: linear-gradient(to bottom, #FAF3EC, #FFFFFF);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FAF3EC ', endColorstr='#FFFFFF', GradientType=1);
    background: -webkit-linear-gradient(top, #FAF3EC, #FFFFFF);
    background: -o-linear-gradient(bottom, #FAF3EC, #FFFFFF);
}

.p-infolist__body {
    --mt: 126;
    margin: calc(var(--mt)*1em/16) auto 0
}

.p-infolist__bodyList {
    margin: 0 auto;
    width: calc(747/var(--mlnone-section-width)*100%)
}

@media screen and (max-width: 1024px) {
    .p-infolist__bodyList {
        width: 100%
    }
}

.p-infodtl-inner {
    --pt: 128;
    padding-top: calc(var(--pt)*1em/16);
    background: #FAF3EC;
    background: linear-gradient(to bottom, #FAF3EC, #FFFFFF);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FAF3EC ', endColorstr='#FFFFFF', GradientType=1);
    background: -webkit-linear-gradient(top, #FAF3EC, #FFFFFF);
    background: -o-linear-gradient(bottom, #FAF3EC, #FFFFFF);

}

@media screen and (max-width: 640px) {
    .p-infodtl-inner {
        --pt: 128*.8
    }
}

@media screen and (max-width: 430px) {
    .p-infodtl-inner {
        --pt: 0;
    }
}

@media screen and (max-width: 880px) {
    .p-infodtl-inner .u-section {
        width: 100%
    }
}

.p-infodtl__body {
    display: flex;
    flex-direction: row-reverse;
    position: relative;
    z-index: 1
}

.p-infodtl__bodyMain {
    width: 100%
}

.p-infodtl__bodyMainHead .u-innersection {
    display: flex;
    flex-direction: column-reverse
}

@media screen and (max-width: 880px) {
    .p-infodtl__bodyMainHead .u-innersection {
        width: 76%
    }
}

.p-infodtl__bodyMainHead .title {
    --fs: 32;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .05em;
    line-height: 1.6
}

@media screen and (max-width: 880px) {
    .p-infodtl__bodyMainHead .title {
        --fs: 26
    }
}

@media screen and (max-width: 768px) {
    .p-infodtl__bodyMainHead .title {
        --fs: 22
    }
}

@media screen and (max-width: 430px) {
    .p-infodtl__bodyMainHead .title {
        --fs: 22*.9
    }
}

@media screen and (max-width: 400px) {
    .p-infodtl__bodyMainHead .title {
        --fs: 22*.8
    }
}

.p-infodtl__bodyMainHead .info {
    --mb: 16;
    align-items: center;
    display: flex;
    margin-bottom: calc(var(--mb)*1em/16)
}

.p-infodtl__bodyMainHead .info__cat {
    margin-right: .75em
}

.p-infodtl__bodyMainHead .info__catTarget {
    border-radius: 100vmax;
    display: block;
    font-size: .75em;
    overflow: hidden;
    padding: .33333em 1.33333em;
    position: relative;
    z-index: 1
}

.p-infodtl__bodyMainHead .info__catTarget:before {
    background: var(--light-gray-color);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

.p-infodtl__bodyMainHead .info__catTargetTxt {
    position: relative;
    z-index: 1
}

.p-infodtl__bodyMainHead .info__date {
    font-size: .75em
}

.p-infodtl__bodyMainBottom {
    --mt: 76;
    --pt: 64;
    background: #fff;
    border-radius: .3125em .3125em 0 0;
    margin-top: calc(var(--mt)*1em/16);
    padding-top: calc(var(--pt)*1em/16);
    position: relative;
    z-index: 1
}

@media screen and (max-width: 880px) {
    .p-infodtl__bodyMainBottom {
        border-radius: 0
    }
}

@media screen and (max-width: 768px) {
    .p-infodtl__bodyMainBottom {
        --mt: 76*.8;
        --pt: 64*.8
    }
}

@media screen and (max-width: 430px) {
    .p-infodtl__bodyMainBottom {
        --mt: 0;
        --pt: 64*.6
    }
}

.p-infodtl__bodyMainBottom .u-innersection {
    max-width: 48em;
    width: 84.61538%
}

@media screen and (max-width: 880px) {
    .p-infodtl__bodyMainBottom .u-innersection {
        width: 90%
    }
}

.p-infodtl__bodyMainBottom .body__img {
    --mb: 50;
    margin-bottom: calc(var(--mb)*1em/16)
}

.p-infodtl__bodyMainBottom .foot {
    --mt: 54;
    margin-top: calc(var(--mt)*1em/16)
}

.p-infodtl__bodyMainBottom .foot__sharelist {
    border-radius: .3125em;
    display: flex;
    justify-content: space-between;
    overflow: hidden;
    position: relative;
    width: 100%;
    z-index: 1
}

@media screen and (max-width: 768px) {
    .p-infodtl__bodyMainBottom .foot__sharelist {
        border-radius: 0;
        display: block
    }
}

.p-infodtl__bodyMainBottom .foot__sharelistItem {
    align-items: center;
    display: flex;
    justify-content: center;
    width: 100%
}

@media screen and (max-width: 768px) {
    .p-infodtl__bodyMainBottom .foot__sharelistItem {
        border-radius: .3125em;
        margin: 0 auto;
        max-width: 18.25em;
        overflow: hidden;
        position: relative;
        width: 100%;
        z-index: 1
    }

    .p-infodtl__bodyMainBottom .foot__sharelistItem:not(:first-child) {
        margin-top: 1em
    }
}

.p-infodtl__bodyMainBottom .foot__sharelistItemTarget {
    --pt: 20;
    --pb: 20;
    align-items: center;
    color: #fff;
    display: flex;
    font-size: .875em;
    height: 100%;
    justify-content: center;
    padding: calc(var(--pt)*1em/14) 0 calc(var(--pb)*1em/14);
    width: 100%
}

.p-infodtl__bodyMainBottom .foot__sharelistItem.is-tw :is(.p-infodtl__bodyMainBottom .foot__sharelistItemTarget) {
    background: #1da1f2
}

.p-infodtl__bodyMainBottom .foot__sharelistItem.is-fb :is(.p-infodtl__bodyMainBottom .foot__sharelistItemTarget) {
    background: #4166b1
}

.p-infodtl__bodyMainBottom .foot__sharelistItem.is-line :is(.p-infodtl__bodyMainBottom .foot__sharelistItemTarget) {
    background: #4cc764
}

.p-infodtl__bodyMainBottom .foot__nav {
    --mt: 68;
    display: grid;
    grid-template: "prev next"1fr/50% 50%;
    margin-top: calc(var(--mt)*1em/16)
}

.p-infodtl__bodyMainBottom .foot__navItem.is-prev {
    border-right: .5px solid var(--gray-color);
    grid-area: prev
}

@media screen and (max-width: 768px) {
    .p-infodtl__bodyMainBottom .foot__navItem.is-prev {
        border-right: none
    }
}

.p-infodtl__bodyMainBottom .foot__navItem.is-next {
    grid-area: next
}

.p-infodtl__bodyMainBottom .foot__navItemBlock {
    display: flex;
    flex-direction: column;
    height: 100%
}

.p-infodtl__bodyMainBottom .foot__navItem.is-prev :is(.p-infodtl__bodyMainBottom .foot__navItemBlock) {
    padding-right: 2.5em
}

@media screen and (max-width: 768px) {
    .p-infodtl__bodyMainBottom .foot__navItem.is-prev :is(.p-infodtl__bodyMainBottom .foot__navItemBlock) {
        padding-right: 2em
    }
}

.p-infodtl__bodyMainBottom .foot__navItem.is-next :is(.p-infodtl__bodyMainBottom .foot__navItemBlock) {
    padding-left: 2.5em
}

@media screen and (max-width: 768px) {
    .p-infodtl__bodyMainBottom .foot__navItem.is-next :is(.p-infodtl__bodyMainBottom .foot__navItemBlock) {
        padding-left: 2em
    }
}

.p-infodtl__bodyMainBottom .foot__navItemBlockTop {
    align-items: center;
    color: var(--gray-color);
    display: flex
}

.p-infodtl__bodyMainBottom .foot__navItem.is-next :is(.p-infodtl__bodyMainBottom .foot__navItemBlockTop) {
    justify-content: flex-end
}

.p-infodtl__bodyMainBottom .foot__navItemBlockTop .u-arrow {
    margin-top: .1em
}

.p-infodtl__bodyMainBottom .foot__navItemBlockTop .u-arrow svg {
    fill: currentColor
}

.p-infodtl__bodyMainBottom .foot__navItem.is-prev :is(.p-infodtl__bodyMainBottom .foot__navItemBlockTop .u-arrow) {
    transform: scaleX(-1)
}

.p-infodtl__bodyMainBottom .foot__navItemBlockTopTxt {
    font-size: .875em
}

.p-infodtl__bodyMainBottom .foot__navItem.is-prev :is(.p-infodtl__bodyMainBottom .foot__navItemBlockTopTxt) {
    margin-left: 1.07143em
}

.p-infodtl__bodyMainBottom .foot__navItem.is-next :is(.p-infodtl__bodyMainBottom .foot__navItemBlockTopTxt) {
    margin-right: 1.07143em
}

.p-infodtl__bodyMainBottom .foot__navItemBlockBottom {
    --mt: 32;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 768px) {
    .p-infodtl__bodyMainBottom .foot__navItemBlockBottom {
        display: none
    }
}

.p-infodtl__bodyMainBottom .foot__navItemBlockBottomInfo {
    display: flex;
    font-size: .875em;
    margin-bottom: .71429em
}

.p-infodtl__bodyMainBottom .foot__navItemBlockBottomInfoCat {
    color: var(--gray-color)
}

.p-infodtl__bodyMainBottom .foot__navItem.is-prev :is(.p-infodtl__bodyMainBottom .foot__navItemBlockBottomInfoCat) {}

.p-infodtl__bodyMainBottom .foot__navItem.is-next :is(.p-infodtl__bodyMainBottom .foot__navItemBlockBottomInfoCat) {
    margin-right: .71429em
}

.p-infodtl__bodyMainBottom .foot__navItemBlockBottomTitle {
    font-size: .875em;
    line-height: 1.4
}

.p-infodtl__bodySide {
    bottom: 10.5em;
    height: -moz-fit-content;
    height: fit-content;
    margin-left: calc(50% - var(--ww)*.5);
    position: sticky;
    top: 7.875em;
    z-index: 2
}

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

.p-infodtl__bodySide-inner {
    margin-right: -.625em
}

.p-infodtl__bodySideTitle {
    font-size: .75em;
    text-align: center
}

.p-infodtl__bodySideList {
    margin-top: 1.25em
}

.p-infodtl__bodySideList .item {
    --icon-w: 1;
    --icon-h: 1;
    border: .5px solid #707070;
    border-radius: 100vmax;
    height: 3.75em;
    overflow: hidden;
    position: relative;
    width: 3.75em;
    z-index: 1
}

.p-infodtl__bodySideList .item.is-tw {
    --icon-w: 15;
    --icon-h: 12
}

.p-infodtl__bodySideList .item.is-fb {
    --icon-w: 8;
    --icon-h: 15
}

.p-infodtl__bodySideList .item.is-line {
    --icon-w: 21;
    --icon-h: 21
}

.p-infodtl__bodySideList .item:not(:first-child) {
    margin-top: .625em
}

.p-infodtl__bodySideList .item__block {
    align-items: center;
    color: var(--main-color);
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%
}

.p-infodtl__bodySideList .item__blockIcon {
    height: calc(var(--icon-h)*1em/16);
    width: calc(var(--icon-w)*1em/16)
}

.p-infodtl__bodySideList .item__blockIcon svg {
    fill: currentColor;
    height: 100%;
    width: 100%
}

.p-contact__logo {
    left: 2.75em;
    position: absolute;
    top: 2.75em;
    width: 12.125em;
    z-index: 1
}

@media screen and (max-width: 430px) {
    .p-contact__logo {
        font-size: .9em;
        width: 15.75em;
        left: 0.75em;
        top: 1.75em;
    }
}

.p-contact__logoTarget {
    display: block
}

.p-contact__main {
    --main-inner: 792;
    --contact-w: 780
}

.p-contact__mainTitle {
    margin: 0 0 0 auto;
    position: relative;
    width: calc(var(--main-inner)/var(--mlnone-section-width)*100%)
}

@media screen and (max-width: 1024px) {
    .p-contact__mainTitle {
        width: 100%
    }
}

.p-contact__mainTitleJp {
    --fs: 20;
    bottom: calc(12em/var(--fs));
    font-size: calc(var(--fs)*1em/16);
    position: absolute;
    z-index: 2
}

.p-contact__mainTitleEn {
    --fs: 150;
    color: #fff;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .05em;
    position: relative;
    z-index: 1
}

@media screen and (max-width: 880px) {
    .p-contact__mainTitleEn {
        --fs: 120;
        font-size: max(calc(var(--fs)*1em/16*.9), calc(var(--fs)/414*var(--ww)));
        left: calc(50% - var(--ww)*.5 - var(--ww)*.04831)
    }
}

.p-contact__mainBody {
    --mt: 60;
    margin: calc(var(--mt)*1em/16) 0 0 auto;
    width: calc(var(--main-inner)/var(--mlnone-section-width)*100%)
}

@media screen and (max-width: 1024px) {
    .p-contact__mainBody {
        --mt: 80;
        width: 100%
    }
}

@media screen and (max-width: 640px) {
    .p-contact__mainBody {
        --mt: 80*.8
    }
}

@media screen and (max-width: 430px) {
    .p-contact__mainBody {
        --mt: 80*.6
    }
}

.p-contact__mainBodyContents {
    --pt: 80;
    max-width: calc(var(--contact-w)*1em/16);
    padding-top: calc(var(--pt)*1em/16);
    width: 100%
}

@media screen and (max-width: 1024px) {
    .p-contact__mainBodyContents {
        max-width: unset
    }
}

@media screen and (max-width: 640px) {
    .p-contact__mainBodyContents {
        --pt: 80*.8
    }
}

@media screen and (max-width: 430px) {
    .p-contact__mainBodyContents {
        --pt: 80*.6
    }
}

.p-contact__mainBodyContents .form__listRow {
    display: flex
}

@media screen and (max-width: 880px) {
    .p-contact__mainBodyContents .form__listRow {
        display: block
    }
}

.p-contact__mainBodyContents .form__listRow:not(:first-child) {
    --mt: 30;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 880px) {
    .p-contact__mainBodyContents .form__listRow:not(:first-child) {
        --mt: 80
    }
}

@media screen and (max-width: 640px) {
    .p-contact__mainBodyContents .form__listRow:not(:first-child) {
        --mt: 80*.8
    }
}

@media screen and (max-width: 430px) {
    .p-contact__mainBodyContents .form__listRow:not(:first-child) {
        --mt: 80*.6
    }
}

.p-contact__mainBodyContents .form__listRowTitle {
    --fs: 14;
    flex-basis: calc(250em/var(--fs));
    flex-shrink: 0;
    font-size: calc(var(--fs)*1em/16)
}

@media screen and (max-width: 1280px) {
    .p-contact__mainBodyContents .form__listRowTitle {
        flex-basis: calc(250em/var(--fs)*0.85)
    }
}

@media screen and (max-width: 880px) {
    .p-contact__mainBodyContents .form__listRowTitle {
        --mb: 40;
        display: block;
        margin-bottom: calc(var(--mb)*1em/var(--fs))
    }
}

@media screen and (max-width: 640px) {
    .p-contact__mainBodyContents .form__listRowTitle {
        --mb: 40*.8
    }
}

@media screen and (max-width: 430px) {
    .p-contact__mainBodyContents .form__listRowTitle {
        --mb: 40*.6
    }
}

.p-contact__mainBodyContents .form__listRowTitle .u-required {
    color: var(--red-color);
    display: inline-block;
    margin-left: 1em
}

.p-contact__mainBodyContents .form__listRowTxt {
    flex: 1
}

.p-contact__mainBodyContents .form__listRowTxt .wpcf7-not-valid-tip {
    font-size: .875em;
    margin-top: 1em
}

.p-contact__mainBodyContents .form__listRowTxtBody {
    align-items: center;
    display: flex;
    flex: 1
}

.p-contact__mainBodyContents .form__listRowTxtBody.u-mt {
    margin-top: calc(4em/var(--fs))
}

.p-contact__mainBodyContents .form__listRowTxtBody .wpcf7-form-control-wrap {
    width: 100%
}

.p-contact__mainBodyContents .form__listRowTxtBodyPostcode {
    margin-right: calc(24em/var(--fs))
}

.p-contact__mainBodyContents .form__accept {
    --mt: 34;
    --fs: 14;
    margin-left: calc(250em/var(--fs));
    margin-top: calc(var(--mt)*1em/var(--fs))
}

@media screen and (max-width: 1280px) {
    .p-contact__mainBodyContents .form__accept {
        margin-left: calc(250em/var(--fs)*.85)
    }
}

@media screen and (max-width: 880px) {
    .p-contact__mainBodyContents .form__accept {
        --mt: 100;
        margin-left: 0
    }
}

@media screen and (max-width: 640px) {
    .p-contact__mainBodyContents .form__accept {
        --mt: 100*.8
    }
}

@media screen and (max-width: 430px) {
    .p-contact__mainBodyContents .form__accept {
        --mt: 100*.6
    }
}

.p-contact__mainBodyContents .form__accept .u-target {
    color: var(--hover-color)
}

.p-contact__mainBodyContents .form__btn {
    --mt: 76;
    margin-left: 15.625em;
    margin-top: calc(var(--mt)*1em/16)
}

@media screen and (max-width: 1280px) {
    .p-contact__mainBodyContents .form__btn {
        margin-left: 13.28125em
    }
}

@media screen and (max-width: 880px) {
    .p-contact__mainBodyContents .form__btn {
        --mt: 100;
        margin-left: 0
    }
}

@media screen and (max-width: 640px) {
    .p-contact__mainBodyContents .form__btn {
        --mt: 100*.8
    }
}

@media screen and (max-width: 430px) {
    .p-contact__mainBodyContents .form__btn {
        --mt: 100*.6
    }
}

.p-contact__mainBodyContents .form__btn p {
    position: relative
}

.p-contact__mainBodyContents .form__btn .wpcf7-spinner {
    left: 0;
    margin: 1.5em auto 0;
    position: absolute;
    right: 0
}

.p-contact__mainBodyContents .form__btnBody {
    align-items: center;
    background: #c78b62;
    border-radius: .3125em;
    color: #fff;
    display: flex;
    height: 4.75em;
    justify-content: center;
    overflow: hidden;
    position: relative;
    width: 100%;
    z-index: 1
}

@media screen and (max-width: 640px) {
    .p-contact__mainBodyContents .form__btnBody {
        height: 4.6em
    }
}

@media screen and (max-width: 430px) {
    .p-contact__mainBodyContents .form__btnBody {
        height: 3.45em
    }
}

.p-contact__mainBodyContents form .wpcf7-response-output {
    font-size: .875em;
    line-height: 1.6;
    margin: 0 0 3.57143em 17.85714em;
    padding: .625em
}

@media screen and (max-width: 1280px) {
    .p-contact__mainBodyContents form .wpcf7-response-output {
        margin-left: 15.17857em
    }
}

@media screen and (max-width: 1024px) {
    .p-contact__mainBodyContents form .wpcf7-response-output {
        margin-left: 0
    }
}

.p-contact__mainBodyContents form.invalid :is(.p-contact__mainBodyContents form .wpcf7-response-output),
.p-contact__mainBodyContents form.payment-required :is(.p-contact__mainBodyContents form .wpcf7-response-output),
.p-contact__mainBodyContents form.unaccepted :is(.p-contact__mainBodyContents form .wpcf7-response-output) {
    color: var(--red-color)
}

:is(.p-contact__mainBodyContents form .wpcf7-response-output)+.form__btn {
    --mt: 76*.8
}

@media screen and (max-width: 880px) {
    :is(.p-contact__mainBodyContents form .wpcf7-response-output)+.form__btn {
        --mt: 100*.8
    }
}

@media screen and (max-width: 640px) {
    :is(.p-contact__mainBodyContents form .wpcf7-response-output)+.form__btn {
        --mt: 100*.8*.8
    }
}

@media screen and (max-width: 430px) {
    :is(.p-contact__mainBodyContents form .wpcf7-response-output)+.form__btn {
        --mt: 100*.6*.8
    }
}

.p-contact__mainBodyContents .form .wpcf7-response-output {
    margin-bottom: 2.14286em;
    margin-top: 3.57143em
}

.p-contact__side {
    width: 18.125em
}

@media screen and (max-width: 1024px) {
    .p-contact__side {
        width: 100%
    }
}

.p-contact__sideHead {
    align-items: center;
    border-bottom: .5px solid var(--gray-color);
    display: flex;
    justify-content: center;
    margin-bottom: 2.5em;
    padding-bottom: 1.5em;
    line-height: 1.5;
    font-size: 14px;
}

@media screen and (max-width: 1024px) {
    .p-contact__sideHead {
        border-bottom: none;
        border-top: .5px solid var(--gray-color);
        padding-bottom: 0;
        padding-top: 2.5em
    }
}

@media screen and (max-width: 640px) {
    .p-contact__sideHead {
        margin-bottom: 1.5em;
        padding-top: 1.5em
    }
}

@media screen and (max-width: 430px) {
    .p-contact__sideHead {
        margin-bottom: 1em;
        padding-top: 1em
    }
}

.p-contact__sideHeadTitle {
    --fs: 14;
    font-size: calc(var(--fs)*1em/16)
}

.p-contact__sideHeadTxt {
    --fs: 30;
    color: var(--red-color);
    font-size: calc(var(--fs)*1em/16);
    margin-left: calc(54em/var(--fs))
}

.p-contact__sideBody {
    margin: 0 auto;
    width: -moz-fit-content;
    width: fit-content
}

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

.p-contact__sideBodyTel {
    margin-bottom: 1.5em
}

.p-contact__sideBodyTel .title {
    font-size: .875em;
    margin-bottom: 1.28571em
}

.p-contact__sideBodyTel .txt {
    font-size: 1.625em;
    letter-spacing: .05em
}

.p-contact__sideBodyInfo {
    align-items: center;
    display: flex;
    margin-top: .625em
}

.p-contact__sideBodyInfo.u-mt0 {
    margin-top: 0
}

.p-contact__sideBodyInfo .title {
    align-items: center;
    background: var(--light-gray-color);
    border-radius: 100vmax;
    display: flex;
    font-size: .75em;
    height: 2.08333em;
    justify-content: center;
    margin-right: 1.25em;
    overflow: hidden;
    position: relative;
    width: 6.66667em;
    z-index: 1
}

.p-contact__sideBodyInfo .txt {
    font-size: .75em
}

@media (any-hover: hover) {
    .p-contact__mainBodyContents .form__btnBody {
        transition: transform .2s var(--ease-out-cubic);
        will-change: transform
    }

    .p-contact__mainBodyContents .form__btnBody:hover {
        transform: scale(.98)
    }
}

.p-privacy__body {
    --pt: 116;
    --pb: 60;
    padding: calc(var(--pt)*1em/16) 0 calc(var(--pb)*1em/16);
    position: relative
}

@media screen and (max-width: 640px) {
    .p-privacy__body {
        --pt: 116*.8
    }
}

.p-privacy__bodyTitle {
    --fs: 26;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .05em;
    position: relative;
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .p-privacy__bodyTitle {
        margin-left: min(23.07692%, 4.6875em);
        margin-right: 0
    }
}

@media screen and (max-width: 768px) {
    .p-privacy__bodyTitle {
        font-size: calc(var(--fs)*1em/16*.9)
    }
}

@media screen and (max-width: 430px) {
    .p-privacy__bodyTitle {
        font-size: calc(var(--fs)*1em/16*.8);
        margin-left: 15.38462%
    }
}

.p-privacy__bodyIntro {
    --mt: 60;
    margin-top: calc(var(--mt)*1em/14);
    position: relative;
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .p-privacy__bodyIntro {
        --mt: 100
    }
}

.p-privacy__bodyList {
    position: relative;
    z-index: 1
}

.p-privacy__bodyList,
.p-privacy__bodyListItem:not(:first-child),
.p-privacy__bodyList,
.block__bodyListItem:not(:first-child),
.p-privacy__bodyList li:not(:first-child) {
    --mt: 30;
    margin-top: calc(var(--mt)*1em/16)
}

.p-privacy__bodyListItem .block__title,
.p-privacy__bodyList .block__bodyListItem .block__title,
.p-privacy__bodyList li .block__title {
    --fs: 26;
    border-bottom: .5px solid var(--gray-color);
    display: flex;
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .05em;
    line-height: 1.4;
    margin-bottom: calc(13em/var(--fs));
    padding-bottom: calc(18em/var(--fs))
}

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

    .p-privacy__bodyListItem .block__title,
    .p-privacy__bodyList .block__bodyListItem .block__title,
    .p-privacy__bodyList li .block__title {
        font-size: calc(var(--fs)*1em/16*.8)
    }
}

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

    .p-privacy__bodyListItem .block__title,
    .p-privacy__bodyList .block__bodyListItem .block__title,
    .p-privacy__bodyList li .block__title {
        font-size: calc(var(--fs)*1em/16*.7)
    }
}

.p-privacy__bodyListItem .block__title .u-num,
.p-privacy__bodyList .block__bodyListItem .block__title .u-num,
.p-privacy__bodyList li .block__title .u-num {
    flex-shrink: 0;
    width: 2em
}

.p-privacy__bodyListItem .block__body>:not(:first-child),
.p-privacy__bodyList .block__bodyListItem .block__body>:not(:first-child) {
    margin-top: 1.8em
}

.p-privacy__bodyListItem .block__body a,
.p-privacy__bodyList li .block__body a,
.p-privacy__bodyList .block__bodyListItem .block__body a {
    color: var(--blue-color)
}

.p-privacy__bodyListItem .block__bodyListItem:not(:first-child),
.p-privacy__bodyList li .block__bodyListItem:not(:first-child),
.p-privacy__bodyList .block__bodyListItem:not(:first-child) {
    --mt: 50;
    margin-top: calc(var(--mt)*1em/16)
}

.p-privacy__bodyListItem .block__bodyListItem .dt,
.p-privacy__bodyList li .block__bodyListItem .dt,
.p-privacy__bodyList .block__bodyListItem .dt {
    font-size: 1.125em;
    margin-bottom: 1.11111em
}

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

    .p-privacy__bodyListItem .block__bodyListItem .dt,
    .p-privacy__bodyList li .block__bodyListItem .dt,
    .p-privacy__bodyList .block__bodyListItem .dt {
        font-size: 1.0125em
    }
}

.p-privacy__bodyListItem .block__bodyListItem .dt .block__bodyListItemNum,
.p-privacy__bodyList li .block__bodyListItem .dt .block__bodyListItemNum,
.p-privacy__bodyList .block__bodyListItem .dt .block__bodyListItemNum {
    display: inline-block;
    width: 2.22222em
}

.p-privacy__bodyListItem .block__bodyListItem .dd,
.p-privacy__bodyList li .block__bodyListItem .dd,
.p-privacy__bodyList .block__bodyListItem .dd {
    padding-left: 2.85714em
}

.p-privacy__bodyListItem .block__bodyListItem .dd>:not(:first-child),
.p-privacy__bodyList li .block__bodyListItem .dd>:not(:first-child),
.p-privacy__bodyList .block__bodyListItem .dd>:not(:first-child) {
    margin-top: 1.8em
}

.p-privacy__bodyListItem .block__bodyListItem .dd li,
.p-privacy__bodyList .block__bodyListItem .dd li,
.p-privacy__bodyList .block__bodyListItem .dd .li,
.p-privacy__bodyList li .block__bodyListItem .dd .li {
    padding-left: 1em;
    position: relative
}

.p-privacy__bodyListItem .block__bodyListItem .dd li:before,
.p-privacy__bodyList .block__bodyListItem .dd li:before,
.p-privacy__bodyList .block__bodyListItem .dd .li:before,
.p-privacy__bodyList li .block__bodyListItem .dd .li:before {
    background: currentColor;
    border-radius: 100vmax;
    content: "";
    display: block;
    height: .35714em;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: .85714em;
    width: .35714em
}

.p-gallery__intro {
    position: relative;
    z-index: 1
}

.p-gallery__introTxt {
    --pt: 115;
    margin: 0 auto;
    max-width: 54.625em;
    padding-top: calc(var(--pt)*1em/16);
    width: 100%
}

@media screen and (max-width: 430px) {
    .p-gallery__introTxt {
        --pt: 115*.8
    }
}

.p-gallery__body {
    --mt: 125;
    background-color: #fff;
    margin-top: calc(var(--mt)*1em/16);
    overflow: hidden;
    position: relative;
    z-index: 1
}

@media screen and (max-width: 430px) {
    .p-gallery__body {
        --mt: 125*.6
    }
}

@media screen and (max-width: 1024px) {
    .p-gallery__bodyNav {
        overflow: hidden;
        padding-left: 6.66667%;
        width: 100%
    }
}

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

@media screen and (max-width: 430px) {
    .p-gallery__bodyNav {
        font-size: .8em
    }
}

@media screen and (max-width: 1024px) {
    .p-gallery__bodyNav-inner {
        overflow-scrolling: touch;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap
    }
}

.p-gallery__bodyNavList {
    display: flex
}

.p-gallery__bodyNavList .item__target {
    --plr: 31;
    --h: 79;
    align-items: center;
    color: var(--main-color);
    display: flex;
    height: calc(var(--h)*1em/16);
    justify-content: center;
    overflow: hidden;
    padding: 0 calc(var(--plr)*1em/16);
    position: relative;
    transition: color .4s var(--ease-out-quint)
}

@media screen and (max-width: 1440px) {
    .p-gallery__bodyNavList .item__target {
        --plr: 28
    }
}

@media screen and (max-width: 1280px) {
    .p-gallery__bodyNavList .item__target {
        --plr: 22
    }
}

@media screen and (max-width: 1150px) {
    .p-gallery__bodyNavList .item__target {
        --plr: 20
    }
}

@media screen and (max-width: 1024px) {
    .p-gallery__bodyNavList .item__target {
        --plr: 31;
        white-space: nowrap
    }
}

@media screen and (max-width: 640px) {
    .p-gallery__bodyNavList .item__target {
        --plr: 23
    }
}

.p-gallery__bodyNavList .item__target:after {
    background-color: #242424;
    bottom: 0;
    content: "";
    display: block;
    height: 3px;
    left: 0;
    position: absolute;
    transform: scaleY(0) skewY(10deg);
    transform-origin: bottom left;
    transition: transform .4s var(--ease-out-quint);
    width: 100%
}

.p-gallery__bodyNavList .item__target.is-active {
    color: #9d9d9d
}

.p-gallery__bodyNavList .item__target.is-active:after {
    transform: scale(1) skewY(0deg)
}

@media (any-hover: hover) {
    .p-gallery__bodyNavList .item__target:hover {
        color: #9d9d9d
    }
}

.p-gallery__bodyNavList .item__targetTxt {
    font-size: .875em
}

@media screen and (max-width: 1024px) {
    .p-gallery__bodyNavList .item:last-of-type {
        padding-right: 2em
    }
}

.p-gallery__bodyMain {
    position: relative
}

.p-gallery__bodyMainBlock {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    transition: opacity .6s, visibility .6s;
    visibility: hidden;
    width: 100%;
    z-index: 1
}

.p-gallery__bodyMainBlock.is-active {
    opacity: 1;
    pointer-events: auto;
    position: relative;
    transition-duration: .8s;
    visibility: visible;
    z-index: 0
}

.p-gallery__bodyMainBlock .list {
    display: grid;
    grid-template-areas: "item1 item2 item3 item4""item5 item6 item7 item8""item9 item9 item10 item11""item9 item9 item12 item13";
    grid-template-columns: repeat(4, 1fr)
}

@media screen and (max-width: 640px) {
    .p-gallery__bodyMainBlock .list {
        grid-template-areas: "item1 item2""item3 item4""item5 item6""item7 item8""item9 item9""item10 item11""item12 item13";
        grid-template-columns: repeat(2, 1fr)
    }
}

.p-gallery__bodyMainBlock .list__itemBody {
    padding-top: 70.90909%;
    position: relative
}

.p-gallery__bodyMainBlock .list__itemBody img {
    height: 100%;
    left: -1px;
    position: absolute;
    top: 0;
    width: calc(100% + 1px);
    z-index: 0
}

.p-gallery__bodyMainBlock .list__itemBody:before {
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.p-gallery__bodyMainBlock .list__item:nth-of-type(13n-4) {
    grid-area: item9
}

.p-gallery__bodyMainBlock .list__item:nth-of-type(13n-1) {
    grid-area: item12
}

.p-gallery__bodyMainBlock .list__item:nth-of-type(13n) {
    grid-area: item13
}

.p-gallery__link {
    --pt: 196;
    --pb: 112;
    background-color: #fff;
    overflow: hidden;
    padding: calc(var(--pt)*1em/16) 0 calc(var(--pb)*1em/16);
    position: relative;
    z-index: 1
}

@media screen and (max-width: 768px) {
    .p-gallery__link {
        --pt: 112
    }
}

@media screen and (max-width: 430px) {
    .p-gallery__link {
        --pt: 112*.6;
        --pb: 112*.8
    }
}

.p-gallery__linkTitle {
    align-items: center;
    display: flex;
    flex-direction: column-reverse
}

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

.p-gallery__linkTitleJp {
    --fs: 20;
    --mt: -35;
    font-size: calc(var(--fs)*1em/16);
    margin-top: calc(var(--mt)*1em/var(--fs));
    position: relative;
    z-index: 1
}

@media screen and (max-width: 640px) {
    .p-gallery__linkTitleJp {
        --mt: -40;
        align-items: center;
        display: flex;
        flex-direction: column;
        line-height: 1.8
    }
}

.p-gallery__linkTitleEn {
    --fs: 150;
    color: var(--light-gray-color);
    font-size: calc(var(--fs)*1em/16);
    letter-spacing: .02em;
    position: relative;
    z-index: 0
}

@media screen and (max-width: 640px) {
    .p-gallery__linkTitleEn {
        --fs: 120
    }
}

.p-gallery__linkBody {
    display: flex;
    justify-content: center;
    margin-top: 4.375em
}

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

.p-gallery__linkBodyItem {
    flex-basis: 46.49123%
}

@media screen and (max-width: 1024px) {
    .p-gallery__linkBodyItem {
        font-size: 1.5625vw
    }
}

@media screen and (max-width: 768px) {
    .p-gallery__linkBodyItem {
        font-size: 2.13333vw
    }
}

@media screen and (max-width: 430px) {
    .p-gallery__linkBodyItem {
        font-size: 2.90909vw
    }
}

.p-gallery__linkBodyItem:not(:first-of-type) {
    margin-left: 7.01754%
}

@media screen and (max-width: 768px) {
    .p-gallery__linkBodyItem:not(:first-of-type) {
        margin: 2.5em 0 0
    }
}

.p-gallery__linkBodyItem .target {
    --h: 300;
    align-items: center;
    border-bottom: .5px solid var(--gray-color);
    display: flex;
    height: calc(var(--h)*1em/16);
    justify-content: center;
    position: relative
}

.p-gallery__linkBodyItem .target:before {
    background-color: #242424a6;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .p-gallery__linkBodyItem .target:before {
        opacity: 1
    }
}

.p-gallery__linkBodyItem .target__arrow,
.p-gallery__linkBodyItem .target__txt {
    position: relative;
    z-index: 2
}

.p-gallery__linkBodyItem .target__txt {
    --fs: 20;
    font-size: calc(var(--fs)*1em/16)
}

@media screen and (max-width: 1024px) {
    .p-gallery__linkBodyItem .target__txt {
        color: #fff
    }
}

@media screen and (max-width: 768px) {
    .p-gallery__linkBodyItem .target__txt {
        --fs: 20*1.3
    }
}

.p-gallery__linkBodyItem .target__arrow {
    --right: 37;
    align-items: center;
    border: .5px solid var(--gray-color);
    border-radius: 50%;
    display: flex;
    height: 2em;
    justify-content: center;
    margin-top: -1em;
    position: absolute;
    right: calc(var(--right)*1em/16);
    top: 50%;
    width: 2em
}

@media screen and (max-width: 1024px) {
    .p-gallery__linkBodyItem .target__arrow {
        background-color: #fff
    }
}

@media screen and (max-width: 768px) {
    .p-gallery__linkBodyItem .target__arrow {
        --right: 20;
        font-size: 1.3em
    }
}

.p-gallery__linkBodyItem .target__arrow svg {
    width: .4375em
}

.p-gallery__linkBodyItem .target__img {
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

@media screen and (max-width: 1024px) {
    .p-gallery__linkBodyItem .target__img {
        opacity: 1
    }
}

.p-gallery__linkBodyItem .target__img img {
    transform: scale(1.1)
}

@media screen and (max-width: 1024px) {
    .p-gallery__linkBodyItem .target__img img {
        transform: scale(1)
    }
}

@media (any-hover: hover) {
    .p-gallery__linkBodyItem .target:before {
        transition: opacity .4s var(--ease-out-quad)
    }

    .p-gallery__linkBodyItem .target__txt {
        transition: color .4s var(--ease-out-quad)
    }

    .p-gallery__linkBodyItem .target__arrow {
        transition: background-color .4s var(--ease-out-quad), transform .4s var(--ease-inout-quint)
    }

    .p-gallery__linkBodyItem .target__img {
        transition: opacity .3s var(--ease-out-quad)
    }

    .p-gallery__linkBodyItem .target__img img {
        transition: transform 4s linear
    }

    .p-gallery__linkBodyItem .target:hover:before {
        opacity: 1
    }

    .p-gallery__linkBodyItem .target:hover .target__txt {
        color: #fff
    }

    .p-gallery__linkBodyItem .target:hover .target__arrow {
        background-color: #fff;
        transform: scale(1.4)
    }

    .p-gallery__linkBodyItem .target:hover .target__img {
        opacity: 1
    }

    .p-gallery__linkBodyItem .target:hover .target__img img {
        transform: scale(1)
    }
}

.p-manufacture__main {
    --mt: -60;
    --pt: 160;
    background-color: #F9F3EA;
    left: calc(100% - var(--ww));
    margin-top: min(calc(var(--mt)*1em/16), calc(var(--mt)/1366*100%));
    overflow: hidden;
    padding: min(calc(var(--pt)*1em/16), calc(var(--pt)/1366*100%)) 0 calc(var(--pb)*1em/16);
    position: relative;
    width: var(--ww);
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .p-manufacture__main {
        --mt: 120;
        background-color: initial;
        left: calc(50% - var(--vw)*50);
        margin-top: calc(var(--mt)*1em/16);
        padding: 0;
        width: calc(var(--vw)*100)
    }
}

@media screen and (max-width: 640px) {
    .p-manufacture__main {
        --mt: 120*.8
    }
}

@media screen and (max-width: 1024px) {
    .pm-manufacture__item {
        background-color: var(--brown-color)
    }
}

.pm-manufacture__itemTop {
    position: relative
}

.pm-manufacture__itemTop:before {
    background: #c78b62;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.pm-manufacture__itemTop-inner {
    --h: 120;
    align-items: center;
    display: flex;
    height: calc(var(--h)*1em/16);
    justify-content: space-between;
    position: relative
}

@media screen and (max-width: 1024px) {
    .pm-manufacture__itemTop-inner {
        justify-content: center;
        width: 100%
    }
}

.pm-manufacture__itemTopTitle {
    --jp-fs: 26;
    --en-fs: 150;
    --en-top: -120;
    flex-basis: 35.08772%
}

@media screen and (max-width: 1024px) {
    .pm-manufacture__itemTopTitle {
        --en-top: -132;
        flex-basis: auto;
        text-align: center
    }
}

@media screen and (max-width: 640px) {
    .pm-manufacture__itemTopTitle {
        --en-fs: 150*.8;
        --en-top: -155
    }
}

@media screen and (max-width: 430px) {
    .pm-manufacture__itemTopTitle {
        --en-fs: 150*.6;
        --en-top: -210
    }
}

.pm-manufacture__itemTopTitle .title {
    color: #fff;
    font-size: calc(var(--jp-fs)*1em/16);
    letter-spacing: .06em;
    margin-left: calc((var(--inner-left) + var(--inner-inner-left))/640*100%);
    opacity: 1;
    position: relative;
    visibility: visible;
    width: max-content;
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .pm-manufacture__itemTopTitle .title {
        margin-left: 0
    }
}

.pm-manufacture__itemTopTitle .en .en__txt {
    color: #0000;
    display: flex;
    font-size: calc(var(--en-fs)*1em/16);
    left: calc(var(--inner-left)/1140*100%);
    letter-spacing: .06em;
    line-height: 1.3;
    opacity: 1;
    overflow: hidden;
    position: absolute;
    top: calc(var(--en-top)*1em/var(--en-fs));
    visibility: visible;
    z-index: 0
}

@media screen and (max-width: 1024px) {
    .pm-manufacture__itemTopTitle .en .en__txt {
        left: 50%;
        transform: translate3d(-50%, 0, 0);
        width: 100%;
        width: max-content
    }
}

.pm-manufacture__itemTopTitle .en .en__txt:first-of-type {
    -webkit-text-stroke: 1px #BB9580;
}

.pm-manufacture__itemTopTitle .en .en__txt:nth-of-type(2) {
    -webkit-text-stroke: 1px #ffffff4d;
    z-index: 1
}

.pm-manufacture__itemTopTitle .en .en__txt span {
    opacity: 1;
    visibility: visible;
}

.pm-manufacture__itemTopNav {
    --fs: 14;
    display: flex;
    font-size: calc(var(--fs)*1em/16);
    position: relative;
    z-index: 1
}

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

.pm-manufacture__itemTopNav .item {
    display: flex
}

.pm-manufacture__itemTopNav .item:not(:first-of-type):before {
    color: #fff;
    content: "/";
    margin: 0 1em
}

.pm-manufacture__itemTopNav .item__target {
    color: #fff;
    overflow: inherit
}

.pm-manufacture__itemLink {
    --h: 23;
    align-items: center;
    display: flex;
    flex-direction: row-reverse;
    height: calc(var(--h)*1em/16);
    justify-content: flex-end
}

.pm-manufacture__itemLinkTxt {
    color: var(--main-color);
    font-size: .75em;
    margin-left: .75em
}

.pm-manufacture__itemLink.is-shop .pm-manufacture__itemLinkArrow {
    width: 1.4375em
}

.pm-manufacture__itemLink.is-cart .pm-manufacture__itemLinkArrow {
    width: 1.3125em
}

.pm-manufacture__itemLink.is-comment .pm-manufacture__itemLinkArrow {
    width: 1.375em
}

.pm-manufacture__itemLinkArrow svg {
    fill: #a0793d
}

.pm-manufacture__itemInfo,
ul.js-iteminfo__list>li,
.p-manufacture__nutsBodyMain .info>li {
    --ptb: 30;
    --plr: 30;
    border-top: .5px solid var(--gray-color);
    display: flex;
    padding: calc(var(--ptb)*1em/16) calc(var(--plr)*1em/16)
}

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

    .pm-manufacture__itemInfo,
    ul.js-iteminfo__list>li,
    .p-manufacture__nutsBodyMain .info>li {
        --plr: 15
    }
}

.pm-manufacture__itemInfo:before,
ul.js-iteminfo__list>li:before,
.p-manufacture__nutsBodyMain .info>li:before {
    border: .5px solid var(--main-color);
    border-radius: 50%;
    content: "";
    display: block;
    flex-shrink: 0;
    height: .375em;
    margin-top: .75em;
    width: .375em
}

.pm-manufacture__itemInfoBody {
    display: flex;
    flex-grow: 1;
    margin-left: 1.78571em;
    justify-content: space-between;
}

@media screen and (max-width: 768px) {
    .pm-manufacture__itemInfoBody {
        display: flex;
        /*        display: block;*/
    }
}

.pm-manufacture__itemInfoBodyTitle {
    flex-shrink: 0
}

@media screen and (max-width: 768px) {
    .pm-manufacture__itemInfoBodyTitle {
        margin-bottom: .57143em
    }
}

.pm-manufacture__itemInfoBodyTitle.is-wide {
    flex-basis: 17.14286em
}

.pm-manufacture__itemInfoBodyTxt {
    width: 30px;
    text-align: center;
}

.p-manufacture__intro {
    position: relative;
    padding-bottom: calc(var(--pt)*1em/50);
}

@media screen and (max-width: 1024px) {
    .p-manufacture__intro {
        background-color: var(--brown-color)
    }
}

.p-manufacture__intro .u-section {
    --pt: 205;
    --pb: 180;
    align-items: start;
    display: grid;
    grid-template-areas: "title name""title copy""title txt";
    grid-template-columns: 21.05263% 1fr;
    justify-items: start;
    padding: calc(var(--pt)*1em/16) 0 calc(var(--pb)*1em/16)
}

@media screen and (max-width: 768px) {
    .p-manufacture__intro .u-section {
        --pt: 0;
        grid-template-areas:
            "title title"
            "name name"
            "copy copy"
            "txt txt";
        margin-top: 5em;
        --pb: 80;
    }
}

.p-manufacture__introCopy,
.p-manufacture__introName,
.p-manufacture__introTxt {
    --ml: 179;
    margin-left: calc(var(--ml)/900*100%);
    position: relative;
    z-index: 1
}

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

    .p-manufacture__introCopy,
    .p-manufacture__introName,
    .p-manufacture__introTxt {
        --ml: 0
    }
}

.p-manufacture__introName {
    --mt: 73;
    grid-area: name;
    margin-top: calc(var(--mt)*1em/16);
    width: 15.625em
}

@media screen and (max-width: 768px) {
    .p-manufacture__introName {
        --mt: 50
    }
}

@media screen and (max-width: 640px) {
    .p-manufacture__introName {
        --mt: 30
    }
}

@media screen and (max-width: 430px) {
    .p-manufacture__introName {
        --mt: 0
    }
}

.p-manufacture__introNameSub {
    margin-top: 8%;
    width: 20%
}

.p-manufacture__introTitle {
    --fs: 18;
    font-size: calc(var(--fs)*1em/16);
    grid-area: title;
    justify-self: end;
    letter-spacing: .2em;
    padding-right: calc(7em/var(--fs));
    position: relative;
    z-index: 1
}

@media screen and (max-width: 768px) {
    .p-manufacture__introTitle {
        top: calc(-70em/var(--fs))
    }
}

.p-manufacture__introTitle:before {
    background-color: var(--gray-color);
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 1px
}

.p-manufacture__introCopy {
    --fs: 22;
    --mt: 30;
    font-size: calc(var(--fs)*1em/16);
    grid-area: copy;
    margin-top: calc(var(--mt)*1em/var(--fs))
}

@media screen and (max-width: 430px) {
    .p-manufacture__introCopy {
        --fs: 21
    }
}

.p-manufacture__introTxt {
    --mt: 65;
    grid-area: txt;
    margin-top: calc(var(--mt)*1em/14)
}

.p-manufacture__introLt {
    --top: 126;
    display: flex;
    left: 0;
    opacity: .4;
    position: absolute;
    top: calc(var(--top)*1em/16);
    white-space: nowrap;
    z-index: 0
}

@media screen and (max-width: 768px) {
    .p-manufacture__introLt {
        --top: 145
    }
}

@media screen and (max-width: 430px) {
    .p-manufacture__introLt {
        --top: 130
    }
}

.p-manufacture__introLtItem {
    /*    --w: 1520;*/
    --w: 700;
    width: calc(var(--w)*1em/16)
}

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

@media screen and (max-width: 768px) {
    .p-manufacture__introLtItem {
        font-size: .6em
    }
}

@media screen and (max-width: 640px) {
    .p-manufacture__introLtItem {
        font-size: .4em
    }
}

@media screen and (max-width: 430px) {
    .p-manufacture__introLtItem {
        font-size: .35em
    }
}

.p-manufacture__introLtItem:not(:first-of-type) {
    margin-left: 2.5em
}


.p-manufacture__imokenpiItem {
    --pt: 120;
    padding-top: calc(var(--pt)*1em/16)
}

@media screen and (max-width: 430px) {
    .p-manufacture__imokenpiItem {
        --pt: 120*.8
    }
}

.p-manufacture__imokenpiItem-inner {
    --bg-top: 155;
    --pb: 112;
    align-items: start;
    display: grid;
    grid-template: "title slider"calc(var(--bg-top)*1em/16) "txt slider"max-content "link slider"1fr "info info"max-content /66.66667% 1fr;
    justify-content: space-between;
    padding-bottom: calc(var(--pb)*1em/16);
    position: relative
}

@media screen and (max-width: 768px) {
    .p-manufacture__imokenpiItem-inner {
        --bg-top: 550;
        grid-template: "title"max-content "slider"max-content "txt"max-content "link"1fr "info"max-content/1fr
    }
}

@media screen and (max-width: 430px) {
    .p-manufacture__imokenpiItem-inner {
        --pb: 112*.8
    }
}

.p-manufacture__imokenpiItem-inner:before {
    background-color: #fff6;
    border-bottom-left-radius: .3125em;
    border-top-left-radius: .3125em;
    content: "";
    display: block;
    height: calc(100% - var(--bg-top)*1em/16);
    left: calc(var(--inner-left)/1140*100%);
    position: absolute;
    top: calc(var(--bg-top)*1em/16);
    width: calc((1140 - var(--inner-left))/1140*100% + var(--ww)*.5 - 50%);
    z-index: 0
}

@media screen and (max-width: 1024px) {
    .p-manufacture__imokenpiItem-inner:before {
        left: -7.69231%;
        width: 115.38462%
    }
}

@media screen and (max-width: 768px) {
    .p-manufacture__imokenpiItem-inner:before {
        border-bottom-left-radius: 0;
        border-top-left-radius: 0;
        height: calc(100% - var(--bg-top)/750*100vw);
        top: calc(var(--bg-top)/750*100vw)
    }
}

.p-manufacture__imokenpiItemInfo,
.p-manufacture__imokenpiItemLink,
.p-manufacture__imokenpiItemTitle,
.p-manufacture__imokenpiItemTxt {
    padding-left: calc((var(--inner-left) + var(--inner-inner-left))/760*100%);
    position: relative;
    z-index: 1
}

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

    .p-manufacture__imokenpiItemInfo,
    .p-manufacture__imokenpiItemLink,
    .p-manufacture__imokenpiItemTitle,
    .p-manufacture__imokenpiItemTxt {
        padding-left: 0
    }
}

.p-manufacture__imokenpiItemTitle {
    display: flex;
    flex-direction: column-reverse;
    grid-area: title
}

@media screen and (max-width: 768px) {
    .p-manufacture__imokenpiItemTitle {
        margin-bottom: 3.125em
    }
}

.p-manufacture__imokenpiItemTitle .name {
    font-size: 1.625em;
    letter-spacing: .02em;
    margin-top: 1em
}

.p-manufacture__imokenpiItemTitle .txt {
    color: #a0793d;
    font-size: .875em;
    text-decoration: underline;
    display: none;

}

.p-manufacture__imokenpiItemSlider {
    grid-area: slider;
    overflow: hidden;
    position: relative;
    width: 210.52632%;
    z-index: 1
}

@media screen and (max-width: 768px) {
    .p-manufacture__imokenpiItemSlider {
        width: 115.78947%
    }
}

.p-manufacture__imokenpiItemSlider .swiper {
    margin-left: 0;
    overflow: visible;
    width: 50%
}

@media screen and (max-width: 768px) {
    .p-manufacture__imokenpiItemSlider .swiper {
        width: 86.36364%
    }
}

.p-manufacture__imokenpiItemSlider .body__itemImg {
    margin-right: 5%
}

.p-manufacture__imokenpiItemSlider .nav {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-top: 1.25em;
    width: 47.5%
}

@media screen and (max-width: 768px) {
    .p-manufacture__imokenpiItemSlider .nav {
        width: 92.85714%
    }
}

.p-manufacture__imokenpiItemSlider .nav__nextBtn,
.p-manufacture__imokenpiItemSlider .nav__prevBtn {
    align-items: center;
    border: .5px solid var(--gray-color);
    border-radius: 50%;
    display: flex;
    height: 2em;
    justify-content: center;
    overflow: hidden;
    width: 2em
}

.p-manufacture__imokenpiItemSlider .nav__nextBtn svg,
.p-manufacture__imokenpiItemSlider .nav__prevBtn svg {
    width: .4375em
}

.p-manufacture__imokenpiItemSlider .nav__nextBtn.swiper-button-disabled,
.p-manufacture__imokenpiItemSlider .nav__prevBtn.swiper-button-disabled {
    opacity: .4;
    pointer-events: none
}

.p-manufacture__imokenpiItemSlider .nav__prevBtn {
    transform: rotate(-180deg)
}

@media (any-hover: hover) {

    .p-manufacture__imokenpiItemSlider .nav__nextBtn,
    .p-manufacture__imokenpiItemSlider .nav__prevBtn {
        transition: background-color .3s var(--ease-out-quint)
    }

    .p-manufacture__imokenpiItemSlider .nav__nextBtn svg,
    .p-manufacture__imokenpiItemSlider .nav__prevBtn svg {
        animation: arrowmove_reverse .3s var(--ease-out-cubic)
    }

    .p-manufacture__imokenpiItemSlider .nav__nextBtn:hover,
    .p-manufacture__imokenpiItemSlider .nav__prevBtn:hover {
        background-color: #000
    }

    .p-manufacture__imokenpiItemSlider .nav__nextBtn:hover svg,
    .p-manufacture__imokenpiItemSlider .nav__prevBtn:hover svg {
        fill: #fff;
        animation: arrowmove .3s var(--ease-out-cubic)
    }
}

.p-manufacture__imokenpiItemSlider .nav__pagination {
    font-size: .875em;
    margin: 0 1em;
    width: auto
}

.p-manufacture__imokenpiItemTxt {
    --mt: 55;
    --pr: 80;
    grid-area: txt;
    margin-top: calc(var(--mt)*1em/16);
    padding-right: calc(var(--pr)/760*100%)
}

@media screen and (max-width: 768px) {
    .p-manufacture__imokenpiItemTxt {
        --pr: 0
    }
}

.p-manufacture__imokenpiItemLink {
    --mt: 45;
    display: flex;
    flex-wrap: wrap;
    grid-area: link;
    margin: calc(var(--mt)*1em/16) 0 -1.25em -1.875em
}

@media screen and (max-width: 768px) {
    .p-manufacture__imokenpiItemLink {
        justify-content: center
    }
}

.p-manufacture__imokenpiItemLink .item {
    margin-bottom: 1.25em;
    margin-left: 1.875em
}

.p-manufacture__imokenpiItemLink .item.is-hidden {
    display: none
}

.p-manufacture__imokenpiItemInfo {
    --mt: 75;
    --btn-w: 200;
    --btn-h: 30;
    grid-area: info;
    margin-top: calc(var(--mt)*1em/16);
    overflow: hidden;
    padding-left: calc((var(--inner-left) + var(--inner-inner-left))/1140*100%);
    position: relative
}

@media screen and (max-width: 1024px) {
    .p-manufacture__imokenpiItemInfo {
        padding-left: 0
    }
}

.p-manufacture__imokenpiItemInfo:before {
    background-color: var(--gray-color);
    bottom: calc(var(--btn-h)*.5em/16);
    content: "";
    display: block;
    height: .5px;
    left: calc((var(--inner-left) + var(--inner-inner-left))/1140*100%);
    position: absolute;
    width: calc(100% - (var(--inner-left) + var(--inner-inner-left))/1140*100%)
}

@media screen and (max-width: 1024px) {
    .p-manufacture__imokenpiItemInfo:before {
        left: 0;
        width: 100%
    }
}

.p-manufacture__imokenpiItemInfo .btn {
    bottom: 0;
    color: var(--main-color);
    left: 0;
    padding-left: calc((var(--inner-left) + var(--inner-inner-left))/1140*100%);
    position: absolute;
    text-align: center;
    width: 100%
}

@media screen and (max-width: 1024px) {
    .p-manufacture__imokenpiItemInfo .btn {
        padding-left: 0
    }
}

.p-manufacture__imokenpiItemInfo .btn__body {
    align-items: center;
    background-color: #fff;
    border-radius: 100vmax;
    color: currentColor;
    display: inline-flex;
    height: calc(var(--btn-h)*1em/16);
    justify-content: center;
    overflow: hidden;
    position: relative;
    width: calc(var(--btn-w)*1em/16)
}

.p-manufacture__imokenpiItemInfo .btn__bodyIcon {
    --left: 15;
    align-items: center;
    display: flex;
    font-size: .75em;
    height: 100%;
    left: calc(var(--left)*1em/16);
    position: absolute;
    top: 0
}

.p-manufacture__imokenpiItemInfo .btn__body:after,
.p-manufacture__imokenpiItemInfo .btn__bodyHovertxt {
    font-size: .875em
}

.p-manufacture__imokenpiItemInfo .btn__body:after {
    content: attr(data-text);
    display: block
}

.p-manufacture__imokenpiItemInfo .btn__bodyHovertxt {
    display: none
}

@media (any-hover: hover) {

    .p-manufacture__imokenpiItemInfo .btn__body:after,
    .p-manufacture__imokenpiItemInfo .btn__bodyHovertxt {
        transition: transform .3s var(--ease-inout-quint)
    }

    .p-manufacture__imokenpiItemInfo .btn__bodyHovertxt {
        align-items: center;
        display: flex;
        height: 100%;
        justify-content: center;
        left: 0;
        position: absolute;
        top: 0;
        transform: translate3d(0, calc(var(--btn-h)*1em/16), 0);
        width: 100%
    }

    .p-manufacture__imokenpiItemInfo .btn__body:hover {
        border: .5px solid var(--gray-color)
    }

    .p-manufacture__imokenpiItemInfo .btn__body:hover:after {
        transform: translate3d(0, calc(var(--btn-h)*-1em/16), 0)
    }

    .p-manufacture__imokenpiItemInfo .btn__body:hover .btn__bodyHovertxt {
        transform: translateZ(0)
    }
}

.p-manufacture__nuts {
    background: #fff;
}

@media screen and (max-width: 640px) {
    .p-manufacture__nuts {
        --pt: 252*.8
    }
}

@media screen and (max-width: 430px) {
    .p-manufacture__nuts {
        --pt: 252*.6
    }
}

.p-manufacture__nutsBodyMain {
    --mt: 120;
    margin-bottom: 10%;
    --pb: 30;
    display: grid;
    grid-template:
        "img img"max-content "title link"max-content "info info"max-content/1fr 1fr;
    margin-top: calc(var(--mt)*1em/16);
    padding-bottom: calc(var(--pb)*1em/16);
    position: relative
}

@media screen and (max-width: 768px) {
    .p-manufacture__nutsBodyMain {
        grid-template: "img"max-content "title"max-content "link"max-content "info"max-content/1fr
    }
}

@media screen and (max-width: 430px) {
    .p-manufacture__nutsBodyMain {
        --mt: 120*.8;
        --pb: 90*.8
    }
}

.p-manufacture__nutsBodyMain:before {
    background-color: #F9F3EA;
    border-bottom-left-radius: .3125em;
    content: "";
    display: block;
    height: 100%;
    left: calc(var(--inner-left)/1140*100%);
    position: absolute;
    top: 0;
    width: calc((1140 - var(--inner-left))/1140*100% + var(--ww)*.5 - 50%);
    z-index: 0
}

@media screen and (max-width: 768px) {
    .p-manufacture__nutsBodyMain:before {
        border-bottom-left-radius: 0;
        left: -7.69231%;
        width: 115.38462%
    }
}

.p-manufacture__nutsBodyMain .img,
.p-manufacture__nutsBodyMain .info,
.p-manufacture__nutsBodyMain .link,
.p-manufacture__nutsBodyMain .title {
    position: relative;
    z-index: 1
}

.p-manufacture__nutsBodyMain .img {
    --mb: 100;
    border-top-left-radius: .3125em;
    margin-bottom: calc(var(--mb)*1em/16);
    margin-left: calc(var(--inner-left)/1140*100%);
    overflow: hidden;
    width: calc((1140 - var(--inner-left))/1140*100% + var(--ww)*.5 - 50%)
}

@media screen and (max-width: 768px) {
    .p-manufacture__nutsBodyMain .img {
        --mb: 80;
        border-top-left-radius: 0;
        margin-left: -7.69231%;
        width: 115.38462%
    }
}

@media screen and (max-width: 430px) {
    .p-manufacture__nutsBodyMain .img {
        --mb: 40
    }
}

@media screen and (max-width: 768px) {
    .p-manufacture__nutsBodyMain .img__body {
        height: 40vw
    }
}

.p-manufacture__nutsBodyMain .title {
    font-size: 1.625em;
    grid-area: title;
    letter-spacing: .02em;
    padding-left: calc((var(--inner-left) + var(--inner-inner-left))/570*100%)
}

@media screen and (max-width: 768px) {
    .p-manufacture__nutsBodyMain .title {
        margin-bottom: 1.92308em;
        padding-left: 0
    }
}

.p-manufacture__nutsBodyMain .img {
    grid-area: img
}

.p-manufacture__nutsBodyMain .link {
    align-self: end;
    display: flex;
    grid-area: link;
    margin: 0 0 -1.25em -1.875em
}

.p-manufacture__nutsBodyMain .link__item {
    margin-bottom: 1.25em;
    margin-left: 1.875em
}

.p-manufacture__nutsBodyMain .link__item.is-hidden {
    opacity: 0;
    visibility: hidden
}

.p-manufacture__nutsBodyMain .info {
    --mt: 60;
    grid-area: info;
    margin-top: calc(var(--mt)*1em/16);
    padding-left: calc((var(--inner-left) + var(--inner-inner-left))/1140*100%)
}

@media screen and (max-width: 768px) {
    .p-manufacture__nutsBodyMain .info {
        padding-left: 0
    }

    .business .p-company__overviewImglist {
        display: block !important;
        margin-top: 0;
        margin-bottom: 30%;
    }

    .business .p-company__overviewImglistItem {
        width: 100% !important;
        margin-bottom: 10%;
    }
}

.p-manufacture__imgsliderBody {
    margin-left: calc(var(--inner-left)/1140*100%);
    overflow: hidden;
    width: calc((1140 - var(--inner-left))/1140*100% + var(--ww)*.5 - 50%)
}

@media screen and (max-width: 1024px) {
    .p-manufacture__imgsliderBody {
        --pb: 124;
        background-color: var(--brown-color);
        margin-left: calc(50% - var(--vw)*50);
        padding-bottom: calc(var(--pb)*1em/16);
        width: calc(var(--vw)*100)
    }
}

@media screen and (max-width: 430px) {
    .p-manufacture__imgsliderBody {
        --pb: 124*.8
    }
}

.p-manufacture__lbItem {
    --ptb: 30;
    --plr: 30;
    border-bottom: .5px solid var(--gray-color);
    display: flex;
    padding: calc(var(--ptb)*1em/16) calc(var(--plr)*1em/16)
}

.p-manufacture__lbItem:before {
    border: .5px solid var(--main-color);
    border-radius: 50%;
    content: "";
    display: block;
    flex-shrink: 0;
    height: .375em;
    margin-top: .75em;
    width: .375em
}

.p-manufacture__lbItemBody {
    display: flex;
    margin-left: 1.78571em
}

.business {
    padding-top: 0 !important;
}

.business .p-service__mainFeature {
    padding-top: 18%;
}

.business .p-company__overview {}

.business .p-company__overviewImglist {
    width: 100%;
    display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
}

.business .p-company__overviewImglistItem {
    padding: 0 2%;
    width: 50%;
    position: relative;
}

.business .p-company__overviewImglistItem .body {
    border: solid 1px #efe9e2;
    position: relative;
}

.business .p-company__overviewImglistItem .body__img {
    overflow: hidden;
    border-radius: 0;
}

.business .p-company__overviewImglist .info {
    padding: 5%;
}

.business .p-company__overviewImglist .tit {
    font-size: 16px;
    color: #437bc7;
    backface-visibility: visible;
    opacity: 1;
    position: relative;
    padding-bottom: 5%;
    border-bottom: solid 1px #efe9e2;
}

.business .p-company__overviewImglist .txt {
    position: relative;
    padding-top: 5%;
    font-size: 13px;
    line-height: 1.75;
    min-height: 90px;
}

.business .p-company__overviewImglist .link {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    display: block;
    cursor: pointer;
    z-index: 2;
}

.business .p-company__overviewImglistItem:hover .txt {
    opacity: .6;
    transition: all .3s;
}

.nav_lan {
    background-color: #fff;
    display: none;
}

.nav_lan .cm-nav__listItemTarget .title {
    height: 50px;
    justify-content: center;
}

.nav_lan .cm-nav__listItemTarget:hover .title:before {
    display: none;
}

.nav_lan .cm-nav__listItemTarget:hover .title {
    color: #1d5781;
}

.p-manufacture__introName h2 {
    font-size: 2em;
    font-weight: 600;
}


.cm-nav>h2 {
    --pr: 50;
    padding-right: calc(var(--pr)*1em/16);
    text-align: right;
    margin-bottom: 16px;
    font-size: 22px;
}

.cm-nav>h2>span {
    font-size: 16px;
    margin-left: 2%;
}

.cm-nav__listItem:last-child>a {
    background-color: #BB9580;
    color: #fff;
    display: block;
}

.cm-nav__listItem:last-child>a:hover .title:before {
    display: none;
}

/**202208**/
#calloutElm {
    position: fixed;
    right: 8px;
    /*    bottom: 40%;*/
    bottom: 8px;
    z-index: 99;
}

#calloutElm.scroll-in {
    display: block;
}

#calloutElm a {
    display: block;
    width: 40vw;
    max-width: 210px;
    /**background: #000;**/
    transition: .2s;
}

#calloutElm a img {
    width: 100%;
    height: auto;
}

#calloutElm a:hover {
    opacity: .8;
}

.closebtn {
    position: absolute;
    top: -15px;
    right: 5px;
    color: white;
    background: #BB9580;
    line-height: 1;
    cursor: pointer;
    z-index: 1;
    width: 30px;
    line-height: 30px;
    padding: 0;
    text-align: center;
    border-radius: 15px;
    font-size: 13px;
    font-weight: bold;
}

.cm-f__sns {}

.cm-f__sns>ul {
    text-align: right;
}

.cm-f__sns>ul>li {
    display: inline-block;
    margin-left: 20px;
}

.cm-f__sns>ul>li>a {
    display: block;
}

.cm-f__sns>ul>li>a>img {
    width: 30px;
}

.pm-manufacture__itemInfoBodyTxt svg {
    width: 10px;
    margin: 0 auto;
}

.cm-f__commonBodyRelationship .body__sliderListItem p {
    font-size: 16px;
    margin-top: 5%;
}


/*business__nav*/
.business__nav {
    display: block;
    overflow: hidden;
}

.business__nav ul {
    display: block;
    overflow: hidden;
    width: 88%;
    margin: 0 auto;
}

.business__nav ul li {
    width: calc(100% / 4 - 4%);
    float: left;
    margin-right: 2%;
    box-sizing: content-box;
    background-color: #fff;
    margin-bottom: 1%;
    border-radius: 6px;
}

.business__nav ul li:nth-child(4n+2) {
    margin-right: 6%;
}

.business__nav ul li:nth-child(4n+3) {
    margin-left: 6%;
}

.business__nav ul li:nth-child(4n+4) {
    margin-right: 0;
}

.business__nav ul li>a {
    position: relative;
    display: block;
    padding: 20px 2px;
    text-align: left;
    /* border-bottom: 1px solid #ccc; */
    font-size: 15px;
    color: #BB9580;
    text-align: center;
}

.business__nav ul li>a span {
    position: absolute;
    right: 3%;
}

.business__nav ul li>a span svg {}

.business__nav ul li.cur {
    background: #BB9580;
}

.business__nav ul li.cur a,
.business__nav ul li.cur a:hover {
    color: #fff;
}

.business__nav ul li.cur a span {}

.business__nav ul li.cur a span svg path {
    stroke: #fff;
    fill: #fff;
}

.business__titleCon {
    display: block;
    font-size: 14px;
    margin-top: 10px;
    margin-bottom: 5%;
}

@media screen and (max-width: 768px) {
    .cm-f__sns>ul {
        text-align: center;
        margin-top: 5%;
    }

    .cm-f__sns>ul>li {
        display: inline-block;
        margin: 0 10px;
    }


    .business__nav {
        display: block;
        overflow: hidden;
    }

    .business__nav ul {
        display: block;
        overflow: hidden;
        width: 83%;
        margin: 0 auto;
    }

    .business__nav ul li {
        width: calc(100% / 2 - 2%);
        float: left;
        margin-right: 4%;
        box-sizing: content-box;
        background-color: transparent;
    }

    .business__nav ul li:nth-child(2n+2) {
        margin-right: 0;
    }

    .business__nav ul li:nth-child(4n+2) {
        margin-right: 0;
    }

    .business__nav ul li:nth-child(4n+3) {
        margin-left: 0;
    }

    .business__nav ul li:nth-child(4n+4) {
        margin-right: 0;
    }

    .business__nav ul li>a {
        position: relative;
        display: block;
        padding: 20px 2px;
        text-align: left;
        border-bottom: 1px solid #ccc;
        font-size: 15px;
    }

    .business__nav ul li>a span {
        position: absolute;
        right: 0;
    }

    .business__nav ul li>a span svg {}

    .business__nav ul li.cur {
        background: #BB9580;
    }

    .business__nav ul li.cur a,
    .business__nav ul li.cur a:hover {
        color: #fff;
    }

    .business__nav ul li.cur a span {}

    .business__nav ul li.cur a span svg path {
        stroke: #fff;
        fill: #fff;
    }
}

/* 仅在移动设备上显示 */
.mobile-only {
    display: none;
}


.pricesPage .business__nav {
    margin-top: 6%;
}

.pricesPage .business__nav>ul {
    width: 100%;
    overflow: visible;
}

.pricesPage .business__nav>ul>li {
    background: #fff;
    width: calc(100% / 2 - 1%);
    position: relative;
}

.pricesPage .business__nav {
    /* padding: 0 2%; */
    overflow: visible;
}

.pricesPage .business__nav .secPrice {
    display: none;
    position: absolute;
    top: 100%;
    width: 100%;
    background: #fff;
    z-index: 11;
    box-shadow: 1px 1px 5px rgba(0,0,0,.2);
}

.pricesPage .business__nav .secPrice>li {
    display: block;
    width: 100%;
    margin-bottom: 2%;
}

.pricesPage .business__nav .secPrice>li>a {
    padding: 10px 2px;
    font-size: 13px;
}

.pricesPage .prices-list{
    clear: both;
    padding-top: 2%;
}
.pricesPage .prices-nav{margin-top: 6%;}
.pricesPage .prices-nav>h2{
    margin: 3% 0;
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    line-height: 22.4px;
    letter-spacing: 1.600000023841858px;
}
.pricesPage .prices-list .prices-item{}
.pricesPage .prices-list .prices-item h3{
    background: #BB9580;
    padding: 10px;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 22.4px;
    letter-spacing: 1.600000023841858px;
    text-align: left;
    border-radius: 4px 4px 0 0;
}
.pricesPage .prices-list .prices-item table{}
.pricesPage .prices-list .prices-item table tr{}
.pricesPage .prices-list .prices-item table tr td{
    font-size: 14px;
    font-weight: 500;
    line-height: 3;
    text-align: center;
    background: #fff;
    border: 1px solid #eee;
}
.pricesPage .prices-list .prices-item table tr td:nth-child(1){
    background: #ECDFDF;
}

.pricesPage .business__nav ul li:nth-child(4n+2),
.pricesPage .business__nav ul li:nth-child(4n+3),
.pricesPage .business__nav ul li:nth-child(4n+4) {
    margin-left: 0;
    margin-right: 0;
}

.pricesPage .business__nav ul li:nth-child(2n+1){
    margin-right: 2%;
}

@media only screen and (max-width: 768px) {
    .mobile-only {
        display: block;
    }

    .mobile-only>ul {
        text-align: left !important;
        /* 左对齐 */
    }

    .pricesPage .business__nav{
        padding: 0 2%;
    }

}