@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&family=Corinthia:wght@400;700&display=swap");

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
    display: block
}

audio,
canvas,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden],
template {
    display: none
}

html {
    color: #000;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%
}

button,
html,
input,
select,
textarea {
    font-family: sans-serif
}

body {
    margin: 0
}

a {
    background: transparent
}

a:focus {
    outline: thin dotted
}

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

h1 {
    font-size: 2em;
    margin: .67em 0
}

h2 {
    font-size: 1.5em;
    margin: .83em 0
}

h3 {
    font-size: 1.17em;
    margin: 1em 0
}

h4 {
    font-size: 1em;
    margin: 1.33em 0
}

h5 {
    font-size: .83em;
    margin: 1.67em 0
}

h6 {
    font-size: .75em;
    margin: 2.33em 0
}

abbr[title] {
    border-bottom: 1px dotted
}

b,
strong {
    font-weight: 800
}

dfn {
    font-style: italic
}

mark {
    background: #ff0;
    color: #000
}

code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em
}

pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word
}

q {
    quotes: "“" "”" "‘" "’"
}

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

small {
    font-size: 80%
}

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

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

img {
    border: 0
}

svg:not(:root) {
    overflow: hidden
}

figure {
    margin: 0
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    border: 0;
    padding: 0;
    white-space: normal
}

button,
input,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    margin: 0;
    vertical-align: baseline
}

button,
input {
    line-height: normal
}

button,
select {
    text-transform: none
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer
}

button[disabled],
input[disabled] {
    cursor: default
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto;
    vertical-align: top
}

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

input[type=search] {
    -webkit-appearance: textfield;
    box-sizing: content-box
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

input[type=checkbox],
input[type=radio] {
    box-sizing: border-box;
    padding: 0
}

* {
    box-sizing: border-box
}

html {
    font-size: 62.5%
}

body,
html {
    background: #fff
}

body {
    box-sizing: border-box;
    color: #000;
    font-family: Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    min-width: 1000px;
    position: relative;
    width: 100%;
    --space-xs: clamp(1.0rem, 0.5rem + 0.5vw, 1.875rem);
    --space-sm: calc(var(--space-xs)*1.5);
    --space-md: calc(var(--space-xs)*2);
    --space-lg: calc(var(--space-xs)*3);
    --space-xl: calc(var(--space-xs)*4);
    --space-xxl: calc(var(--space-xs)*5);
    font-size: max(1.3rem, 1.1346998536vw)
}

@media only screen and (max-width:1000px) {
    body {
        -webkit-text-size-adjust: 100%;
        word-wrap: break-word
    }
}

body.is_mb_menuOpen {
    height: 100vh;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%
}

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

    body,
    html {
        height: 100%;
        min-width: 100%;
        overscroll-behavior: none
    }
}

ul {
    margin: 0;
    padding: 0
}

p {
    line-height: 2;
    margin: 0 0 1rem
}

@media only screen and (max-width:767px) {
    p {
        line-height: 1.8
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 1em;
    font-weight: 400;
    margin: 0
}

a {
    color: #1e8c94;
    text-decoration: none;
    transition: color .2s ease-in-out, background .2s ease-in-out
}

a:hover {
    color: #15646a;
    transition: color .3s ease-in-out, background .3s ease-in-out
}

hr {
    border: 0;
    border-top: 1px solid #eab300;
    height: 0;
    margin: 20px 0
}

@media only screen and (max-width:767px) {
    hr {
        margin: 12px 0
    }
}

.ly_header {
    align-items: center;
    background: hsla(0, 0%, 100%, .95);
    display: flex;
    height: 4.831625183vw;
    justify-content: space-between;
    left: 0;
    padding: .7320644217vw 2.196193265vw;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 102
}

@media only screen and (max-width:767px) {
    .ly_header {
        height: 44px;
        justify-content: center;
        padding: 8px 0
    }

    .is_mbMenuOpen .ly_header {
        background: transparent
    }
}

.ly_header--staff {
    border-bottom: 2px solid #6cba51;
    height: 7.3206442167vw;
    padding-top: 2.878477306vw
}

@media only screen and (max-width:767px) {
    .ly_header--staff {
        height: 60px
    }

    .is_mbMenuOpen .ly_header--staff {
        border-bottom: none
    }
}

.ly_footer {
    background: #000;
    color: #fff;
    padding: 1vw 2vw;
    position: relative;
    z-index: 2
}

.ly_footer--staff {
    background: #f5f5f5;
    color: #000
}

.ly_page {
    padding-top: 4.831625183vw;
    position: relative
}

@media only screen and (max-width:767px) {
    .ly_page {
        padding-top: 44px
    }
}

.ly_page--grayInR {
    background: linear-gradient(90deg, #fff 77%, #f5f5f5 0)
}

@media only screen and (max-width:767px) {
    .ly_page--whiteInMob {
        background: #fff
    }
}

.ly_page--staff {
    padding-top: 7.3206442167vw
}

@media only screen and (max-width:767px) {
    .ly_page--staff {
        padding-top: 60px
    }
}

.ly_pageBody {
    margin: 0 auto;
    max-width: 100vw;
    padding: 0 3.2942898975vw;
    position: relative;
    z-index: 2
}

.ly_pageBody--shiftTop {
    margin-top: -8.78477306vw;
    position: relative;
    z-index: 1
}

@media only screen and (max-width:767px) {
    .ly_pageBody--shiftTop {
        margin-top: 0
    }
}

.ly_pageBody--recruit {
    margin-top: -8.78477306vw;
    position: relative;
    z-index: 1
}

@media only screen and (max-width:1100px) {
    .ly_pageBody--recruit {
        margin-top: 0
    }
}

@media only screen and (max-width:767px) {
    .ly_pageBody--recruit {
        padding: 0
    }
}

.ly_pageBody--hasPb {
    padding-bottom: 4.39238653vw
}

.ly_pageBody--groups {
    background: #e3e6de;
    padding-bottom: 3.2942898975vw;
    padding-top: 3.2942898975vw
}

.ly_pageInner {
    background: #fff;
    padding: 3.2942898975vw 5.8565153734vw 4.39238653vw 0;
    width: 73.2064421669vw
}

@media only screen and (max-width:767px) {
    .ly_pageInner {
        padding: 4.39238653vw 4.39238653vw 4.39238653vw 0;
        width: 100%
    }
}

.ly_pageInner--center {
    margin: 0 auto;
    padding-right: 0
}

@media only screen and (max-width:767px) {
    .ly_pageInner--center {
        padding: 4.39238653vw
    }
}

.ly_2col {
    align-items: stretch;
    display: flex;
    gap: 3.2942898975vw;
    position: relative
}

@media only screen and (max-width:767px) {
    .ly_2col {
        flex-direction: column;
        gap: 2.196193265vw
    }
}

.ly_2col__nav {
    background: #f5f5f5;
    width: 20%
}

@media only screen and (max-width:1366px) {
    .ly_2col__nav {
        width: min(250px, 30%)
    }
}

@media only screen and (max-width:767px) {
    .ly_2col__nav {
        width: 100%
    }
}

.ly_2col__body {
    flex: 1
}

.ly_cols {
    display: flex;
    flex-wrap: wrap;
    gap: 3.2942898975vw;
    width: 100%
}

.ly_cols__item {
    display: block;
    list-style: none;
    width: calc(33.33% - 2.19619vw)
}

.ly_overlay {
    background: rgba(0, 0, 0, .75);
    display: none;
    height: 100%;
    left: 0;
    opacity: .8;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 99
}

.is_mbMenuOpen .ly_overlay {
    display: block
}

.cp_headLogoBox {
    width: clamp(140px, 100px + 6vw, 300px)
}

.cp_headLogoBox--inMenu {
    display: none
}

@media only screen and (max-width:767px) {
    .cp_headLogoBox--inMenu {
        display: block;
        padding: var(--space-sm) calc(var(--space-lg));
        width: 180px
    }
}

.is_mbMenuOpen .cp_headLogoBox--head {
    opacity: 0
}

.cp_headLogo__img {
    display: block
}

@media only screen and (max-width:767px) {
    .cp_headLogo__img {
        padding: 3px 0
    }
}

.cp_headLogo img {
    display: block;
    height: auto;
    width: 100%
}

.cp_headNav {
    align-items: start;
    display: flex;
    justify-content: start;
    transition: right .3s ease-in-out
}

@media only screen and (max-width:1000px) {
    .cp_headNav {
        flex-direction: column;
        position: absolute;
        right: -100%;
        top: 0
    }

    .is_mbMenuOpen .cp_headNav {
        background: #fff;
        height: 100vh;
        right: 0;
        transition: right .3s ease-in-out;
        width: 80%
    }
}

.cp_headNav__grp {
    align-items: center;
    align-items: start;
    display: flex;
    justify-content: start;
    width: 100%
}

@media only screen and (max-width:1000px) {
    .cp_headNav__grp {
        flex-direction: column;
        padding-top: 2.196193265vw
    }
}

.cp_headNav__item {
    display: block;
    list-style: none;
    position: relative
}

@media only screen and (max-width:1000px) {
    .cp_headNav__item {
        opacity: 0;
        width: 100%
    }
}

.is_mbMenuOpen .cp_headNav__item {
    animation-duration: .4s;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
    animation-name: menuToLeft
}

.cp_headNav__item:first-child {
    animation-delay: .45s
}

.cp_headNav__item:nth-child(2) {
    animation-delay: .5s
}

.cp_headNav__item:nth-child(3) {
    animation-delay: .55s
}

.cp_headNav__item:nth-child(4) {
    animation-delay: .6s
}

.cp_headNav__item:nth-child(5) {
    animation-delay: .65s
}

.cp_headNav__item:nth-child(6) {
    animation-delay: .7s
}

.cp_headNav__item:nth-child(7) {
    animation-delay: .75s
}

.cp_headNav__item:nth-child(8) {
    animation-delay: .8s
}

.cp_headNav__item:nth-child(9) {
    animation-delay: .85s
}

.cp_headNav__item:nth-child(10) {
    animation-delay: .9s
}

.cp_headNav__link {
    align-items: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: #000;
    cursor: pointer;
    display: flex;
    font-family: Inter, sans-serif;
    font-optical-sizing: auto;
    font-size: max(.8rem, .8052708638vw);
    font-style: normal;
    font-weight: 400;
    gap: var(--space-sm);
    justify-content: center;
    outline: none;
    overflow: hidden;
    padding: var(--space-sm) var(--space-md);
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: all .3s ease;
    will-change: transform
}

.cp_headNav__link:before {
    background-color: #178335;
    bottom: 0;
    content: "";
    height: 3px;
    mix-blend-mode: screen;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .3s ease-in-out, opacity 0s linear .3s;
    width: 100%;
    z-index: 0
}

.cp_headNav__link:hover {
    color: #1a923b
}

.cp_headNav__link:hover:before {
    opacity: 1;
    transform: scaleX(1);
    transform-origin: left;
    transition: transform .3s ease-in-out, opacity 0s linear 0s
}

.cp_headNav__link--recruit {
    background: #000;
    color: #fff
}

.cp_headNav__link--recruit:hover {
    background: #1a923b;
    color: #fff
}

.cp_headNav__link--recruit:hover:before {
    display: none
}

.cp_headNav__link--staff {
    background: #22bd4c;
    color: #fff
}

.cp_headNav__link--staff:hover {
    background: #15752f;
    color: #fff
}

.cp_headNav__link--staff:hover:before {
    display: none
}

.ly_header--staff .cp_headNav__link {
    font-size: max(1.3rem, 1.1346998536vw)
}

.ly_header--staff .cp_headNav__link:before {
    display: none
}

.ly_header--staff .cp_headNav__link:after {
    border-bottom: 1px solid #555;
    border-right: 1px solid #555;
    bottom: 3px;
    content: "";
    height: 5px;
    left: 50%;
    position: absolute;
    transform: rotate(45deg) translateX(-50%);
    transition: all .3s ease;
    width: 5px
}

.ly_header--staff .cp_headNav__link:hover:after {
    border-color: #6cba51;
    bottom: 0
}

.cp_headNav__link--org {
    background: #000;
    color: #fff
}

.cp_headNav__link--org:hover {
    color: #fff
}

.cp_headNav__link--org:after {
    display: none
}

@media only screen and (max-width:1000px) {
    .cp_headNav__link {
        font-size: max(1.3rem, 1.1346998536vw);
        justify-content: start;
        padding: var(--space-md) var(--space-lg);
        text-align: left;
        width: 100%
    }
}

.cp_headNav__dropdown {
    position: relative
}

.cp_headNav__dropdown:hover .cp_headNav__dropdownList {
    display: block
}

@media only screen and (max-width:767px) {
    .cp_headNav__dropdown:hover .cp_headNav__dropdownList {
        display: none
    }

    .cp_headNav__dropdown {
        width: 100%
    }
}

.cp_headNav__dropdownList {
    display: none;
    left: 50%;
    padding-top: 6.66px;
    position: absolute;
    top: 100%;
    transform: translateX(-50%);
    white-space: nowrap;
    z-index: 100
}

@media only screen and (max-width:767px) {
    .cp_headNav__dropdownList {
        display: none;
        position: relative
    }

    .cp_headNav__dropdown.is_open .cp_headNav__dropdownList {
        display: block
    }
}

.cp_headNav__toggleBtn {
    display: none
}

@media only screen and (max-width:767px) {
    .cp_headNav__toggleBtn {
        background: transparent;
        border: none;
        cursor: pointer;
        display: block;
        height: 44px;
        position: absolute;
        right: 0;
        top: 0;
        transition: transform .3s ease-in-out;
        width: 44px;
        z-index: 1
    }

    .cp_headNav__toggleBtn:before {
        height: 1px;
        transform: translate(-50%, -50%);
        width: 11px
    }

    .cp_headNav__toggleBtn:after,
    .cp_headNav__toggleBtn:before {
        background: #000;
        content: "";
        display: block;
        left: 50%;
        position: absolute;
        top: 50%
    }

    .cp_headNav__toggleBtn:after {
        height: 11px;
        transform: translateY(-50%);
        width: 1px
    }

    .is_open .cp_headNav__toggleBtn {
        transform: rotate(45deg)
    }
}

.cp_headNav__subGrp {
    background: hsla(0, 0%, 100%, .95);
    border-radius: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, .1);
    padding: calc(var(--space-sm)/1) var(--space-md);
    position: relative
}

@media only screen and (max-width:767px) {
    .cp_headNav__subGrp {
        background: none;
        box-shadow: none;
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        padding: 0 calc(var(--space-md))
    }
}

.cp_headNav__subGrp:before {
    background: hsla(0, 0%, 100%, .95);
    clip-path: polygon(0 100%, 50% 0, 100% 100%);
    content: "";
    height: 6.66px;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translate(-50%, -50%);
    width: 10px;
    z-index: -1
}

@media only screen and (max-width:767px) {
    .cp_headNav__subGrp:before {
        display: none
    }
}

.cp_headNav__subItem {
    display: block;
    list-style: none
}

@media only screen and (max-width:767px) {
    .cp_headNav__subItem {
        width: 100%
    }
}

.cp_headNav__subLink {
    color: #000;
    display: flex;
    padding: var(--space-sm) var(--space-md);
    position: relative
}

@media only screen and (max-width:767px) {
    .cp_headNav__subLink {
        font-size: 1em
    }
}

.cp_headNav__subLink:hover {
    color: #1a923b
}

.cp_headNav__subLink:before {
    background-color: #178335;
    content: "";
    height: 1px;
    left: calc(var(--space-md)/2);
    opacity: 1;
    position: absolute;
    top: 50%;
    width: 5px
}

@keyframes menuToLeft {
    0% {
        opacity: 0;
        transform: translateX(10px)
    }

    to {
        opacity: 1;
        transform: translateX(0)
    }
}

.cp_headMobileBtn {
    align-items: center;
    cursor: pointer;
    display: none;
    flex-direction: column;
    height: 44px;
    justify-content: center;
    position: fixed;
    right: 0;
    top: 0;
    width: 44px;
    z-index: 101
}

.ly_header--staff .cp_headMobileBtn {
    top: 10px
}

@media only screen and (max-width:1000px) {
    .cp_headMobileBtn {
        display: flex
    }
}

.cp_headMobileBtn__bar {
    background: #000;
    height: 2px;
    margin: 4px 0;
    transition: all .3s ease;
    width: 60%
}

.is_mbMenuOpen .cp_headMobileBtn__bar {
    position: absolute
}

.is_mbMenuOpen .cp_headMobileBtn__bar:first-child {
    margin: 0;
    transform: rotate(45deg)
}

.is_mbMenuOpen .cp_headMobileBtn__bar:nth-child(2) {
    opacity: 0
}

.is_mbMenuOpen .cp_headMobileBtn__bar:last-child {
    margin: 0;
    transform: rotate(-45deg)
}

.cp_headStaffText {
    font-size: max(.96rem, .878477306vw);
    left: 2.3426061493vw;
    position: absolute;
    top: .7320644217vw
}

@media only screen and (max-width:767px) {
    .cp_headStaffText {
        left: 5px;
        top: 2px
    }
}

.cp_footerTop {
    display: flex;
    flex-direction: column;
    gap: 0 40px;
    margin-bottom: 4.39238653vw;
    padding-top: 3.2942898975vw
}

@media only screen and (max-width:767px) {
    .cp_footerTop {
        gap: 20px;
        padding: 3.2942898975vw 2.196193265vw
    }
}

.cp_footerLogo {
    display: block;
    max-width: 160px
}

@media only screen and (max-width:767px) {
    .cp_footerLogo {
        max-width: 100px;
        padding: 20px 0
    }
}

.cp_footerLogo img {
    display: block;
    height: auto;
    width: 100%
}

.ly_footer--staff .cp_footerLogo g {
    fill: #1a923b
}

.cp_footerNav {
    display: flex;
    gap: var(--space-xl);
    margin: var(--space-xl) 0
}

@media only screen and (max-width:767px) {
    .cp_footerNav {
        flex-wrap: wrap;
        gap: 1.4641288433vw 4.39238653vw;
        gap: 10px 0;
        margin: var(--space-sm) 0
    }
}

.cp_footerNav__item {
    display: block;
    list-style: none
}

@media only screen and (max-width:767px) {
    .cp_footerNav__item {
        width: 50%
    }
}

.cp_footerNav__link {
    color: #fff;
    display: block;
    font-family: Inter, sans-serif;
    font-optical-sizing: auto;
    font-size: max(.8rem, .8052708638vw);
    font-style: normal;
    font-weight: 400;
    margin-bottom: var(--space-sm)
}

.cp_footerNav__link:hover {
    color: hsla(0, 0%, 100%, .7)
}

@media only screen and (max-width:767px) {
    .cp_footerNav__link {
        font-size: max(1.04rem, .9516837482vw)
    }
}

.ly_footer--staff .cp_footerNav__link {
    color: #000
}

.cp_footerTextLink {
    align-items: center;
    display: flex;
    gap: var(--space-sm)
}

@media only screen and (max-width:767px) {
    .cp_footerTextLink {
        flex-wrap: wrap
    }
}

.cp_footerTextLink__item {
    display: flex;
    gap: var(--space-sm);
    list-style: none
}

.cp_footerTextLink__item:after {
    border-right: 1px solid #fff;
    content: "";
    display: block;
    height: 10px;
    width: 1px
}

.cp_footerTextLink__item:last-child:after {
    display: none
}

.cp_footerTextLink__link {
    color: #fff;
    display: flex;
    font-size: max(.8rem, .8052708638vw)
}

@media only screen and (max-width:767px) {
    .cp_footerTextLink__link {
        font-size: max(1.04rem, .9516837482vw)
    }
}

.cp_footerTextLink__link:hover {
    color: hsla(0, 0%, 100%, .7)
}

.ly_footer--staff .cp_footerTextLink__link {
    color: #000
}

.cp_footerBottom {
    padding: .25vw 0
}

.cp_footerBottom__inner {
    display: flex;
    gap: 0 40px
}

@media only screen and (max-width:767px) {
    .cp_footerBottom__inner {
        flex-direction: column-reverse;
        justify-content: center;
        padding: 0 2.196193265vw
    }
}

.cp_copyrights {
    font-size: max(.8rem, .8052708638vw)
}

@media only screen and (max-width:767px) {
    .cp_copyrights {
        font-size: max(1.04rem, .9516837482vw);
        padding: 4.39238653vw 0
    }
}

.cp_btnArea {
    margin: 3.2942898975vw 0
}

.cp_btnArea--column {
    margin: 5.2942898975vw 0
}

.cp_btn,
.cp_btnArea--center {
    text-align: center
}

.cp_btn {
    align-items: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    background: #fff;
    border: 1px solid #000;
    border-radius: calc(10px + .75vw);
    color: #000;
    cursor: pointer;
    display: inline-flex;
    flex-direction: column;
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-weight: 700;
    font-weight: 400;
    gap: 5px;
    height: calc(20px + 1.5vw);
    justify-content: center;
    min-width: 200px;
    outline: none;
    overflow: hidden;
    padding: 0 2.5vw;
    position: relative;
    text-decoration: none;
    transition: all .3s ease;
    will-change: transform
}

.cp_btn:before {
    background-color: #126629;
    content: "";
    height: 100%;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .3s ease-in-out, opacity 0s linear .3s;
    width: 100%;
    z-index: 0
}

.cp_btn:hover {
    border-color: #126629;
    color: #fff
}

.cp_btn:hover:before {
    opacity: 1;
    transform: scaleX(1);
    transform-origin: left;
    transition: transform .3s ease-in-out, opacity 0s linear 0s
}

.cp_btn span {
    position: relative;
    z-index: 1
}

@media only screen and (max-width:767px) {
    .cp_btn {
        border-radius: 20px;
        height: auto;
        min-height: 40px;
        min-width: -moz-fit-content;
        min-width: fit-content
    }
}

.cp_btn--sm {
    font-size: clamp(1.2rem, 1rem + .1vw, 1.4rem);
    min-width: 160px
}

@media only screen and (max-width:767px) {
    .cp_btn--sm {
        min-width: 120px
    }
}

.cp_btn--lg {
    font-size: clamp(1.6rem, 1.2rem + 1vw, 2rem)
}

.cp_btn--full {
    width: 100%
}

.cp_btn--fsSm {
    font-size: clamp(1.2rem, 1rem + .1vw, 1.4rem)
}

.cp_btn--arrow {
    padding: 0 var(--space-lg)
}

.cp_btn--arrow:after {
    border-right: 1px solid #666;
    border-top: 1px solid #666;
    content: "";
    height: 6px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    transition: border-color .3s ease-in-out;
    width: 6px
}

.cp_btn--arrow:hover:after {
    border-color: #fff
}

.cp_btn--arrowLeft {
    padding: 0 var(--space-lg)
}

.cp_btn--arrowLeft:after {
    border-left: 1px solid #666;
    border-top: 1px solid #666;
    content: "";
    height: 6px;
    left: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    transition: border-color .3s ease-in-out;
    width: 6px
}

.cp_btn--arrowLeft:hover:after {
    border-color: #fff
}

.cp_btn--external {
    padding: 0 var(--space-xl)
}

@media only screen and (max-width:767px) {
    .cp_btn--external {
        padding: 0 28px
    }
}

.cp_btn--external:after {
    background-image: url(../../img/icon_blank_gray.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    height: 14px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    transition: border-color .3s ease-in-out;
    width: 14px
}

@media only screen and (max-width:767px) {
    .cp_btn--external:after {
        height: 12px;
        right: 10px;
        width: 12px
    }
}

.cp_btn--cancel {
    background: #eee;
    border-color: #666;
    color: #666;
    position: relative
}

.cp_btn--cancel:before {
    border-left: 1px solid #666;
    border-top: 1px solid #666;
    content: "";
    height: 8px;
    left: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    transition: border-color .3s ease-in-out;
    width: 8px
}

.cp_btn--cancel:hover {
    background: #ddd;
    color: #666
}

.cp_btn--back {
    background: #fff;
    border: 1px solid #000;
    color: #000;
    min-width: auto;
    padding: 0 32px
}

.cp_btn--back:before {
    border-left: 1px solid #666;
    border-top: 1px solid #666;
    content: "";
    height: 8px;
    left: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    transition: border-color .3s ease-in-out;
    width: 8px
}

.cp_btn--back:hover {
    background: #ddd;
    border-color: #000;
    color: #000
}

.cp_btn--white {
    background: #fff;
    border: 1px solid #000;
    color: #000
}

.cp_btn--white:hover {
    background: #1a923b;
    border: 1px solid #1a923b;
    color: #fff
}

.cp_btn--secondary {
    border-color: #1a923b;
    color: #1a923b
}

.cp_btn--secondary.cp_btn--external:after {
    background-image: url(../../img/icon_blank.svg)
}

.cp_balloonBtn {
    align-items: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    background: #fff;
    border: 1px solid #000;
    border-radius: calc(10px + .75vw);
    color: #000;
    cursor: pointer;
    display: inline-flex;
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-weight: 700;
    font-weight: 400;
    gap: 5px;
    height: calc(20px + 1.5vw);
    justify-content: center;
    min-width: 200px;
    outline: none;
    padding: 0 2.5vw;
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: all .3s ease;
    will-change: transform
}

@media only screen and (max-width:767px) {
    .cp_balloonBtn {
        border-radius: 20px;
        height: 40px
    }
}

.cp_balloonBtn:before {
    background: #fff;
    left: 3px;
    z-index: 2
}

.cp_balloonBtn:after,
.cp_balloonBtn:before {
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    content: "";
    height: 10px;
    position: absolute;
    top: 50%;
    transform: translate(-100%, -50%);
    width: 10px
}

.cp_balloonBtn:after {
    background: #000;
    left: 1px;
    z-index: 1
}

.cp_circleBtn {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .5);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    height: 3.6603221083vw;
    justify-content: center;
    position: relative;
    text-decoration: none;
    transition: all .3s ease-in-out;
    width: 3.6603221083vw;
    z-index: 2
}

.cp_circleBtn:before {
    background-color: #1faf47;
    border-radius: 50%;
    content: "";
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: scale(0);
    transform-origin: center;
    transition: transform .1s ease-in-out, opacity 0s linear .3s;
    width: 100%
}

.cp_circleBtn:after {
    border-right: 1px solid rgba(0, 0, 0, .5);
    border-top: 1px solid rgba(0, 0, 0, .5);
    content: "";
    height: .7320644217vw;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(calc(-50% - .14641vw), -50%) rotate(45deg);
    transition: border-color .3s ease-in-out, transform .3s ease-in-out;
    width: .7320644217vw
}

.cp_circleBtn--xs {
    height: 2.196193265vw;
    width: 2.196193265vw
}

.cp_circleBtn--xs:after {
    height: .439238653vw;
    width: .439238653vw
}

@media only screen and (max-width:767px) {
    .cp_circleBtn--xs {
        height: 16px;
        width: 16px
    }

    .cp_circleBtn--xs:after {
        height: 3.5px;
        width: 3.5px
    }
}

.cp_circleBtn--sm {
    height: 2.9282576867vw;
    width: 2.9282576867vw
}

.cp_circleBtn--sm:after {
    height: .5856515373vw;
    width: .5856515373vw
}

@media only screen and (max-width:767px) {
    .cp_circleBtn--sm {
        height: 10px;
        width: 10px
    }

    .cp_circleBtn--sm:after {
        height: 2px;
        width: 2px
    }
}

.cp_circleBtn:hover {
    color: #fff
}

.cp_circleBtn:hover:before {
    opacity: 1;
    transform: scale(1.05);
    transform-origin: center;
    transition: transform .2s ease-in-out, opacity 0s linear 0s
}

a:hover .cp_circleBtn:before {
    opacity: .8;
    transform: scale(1.05);
    transform-origin: center;
    transition: transform .3s ease-in-out, opacity 0s linear 0s
}

a:hover .cp_circleBtn:after {
    border-color: #fff
}

.is_current .cp_circleBtn:before {
    background: #000;
    opacity: 1;
    transform: scale(1)
}

.is_current .cp_circleBtn:after {
    border-color: #fff
}

.cp_textlink--hasUl {
    text-decoration: underline
}

.cp_textlink--hasColor {
    color: #1a923b
}

.cp_closeBtn {
    align-items: center;
    background: #000;
    border: none;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: flex;
    height: 3.2210834553vw;
    justify-content: center;
    position: relative;
    text-decoration: none;
    transition: all .3s ease-in-out;
    width: 3.2210834553vw
}

@media only screen and (max-width:767px) {
    .cp_closeBtn {
        height: 40px;
        width: 40px
    }
}

.cp_closeBtn:before {
    background: #fff;
    content: "";
    height: 1px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    transition: background .3s ease-in-out;
    width: 2.196193265vw
}

@media only screen and (max-width:767px) {
    .cp_closeBtn:before {
        width: 20px
    }
}

.cp_closeBtn:after {
    background: #fff;
    content: "";
    height: 1px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    transition: background .3s ease-in-out;
    width: 2.196193265vw
}

@media only screen and (max-width:767px) {
    .cp_closeBtn:after {
        width: 20px
    }
}

.cp_closeBtn:hover {
    color: #000
}

.cp_topMsgLink {
    background: #000;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 1.4641288433vw;
    overflow: hidden;
    padding: 3.2942898975vw 4.39238653vw;
    position: relative;
    width: 100%;
    will-change: transform
}

.cp_topMsgLink:before {
    background: #15752f;
    content: "";
    height: 100%;
    left: 0;
    mix-blend-mode: screen;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .3s ease-in-out, opacity 0s linear .3s;
    width: 100%;
    z-index: 1
}

.cp_topMsgLink:hover {
    color: #fff
}

.cp_topMsgLink:hover:before {
    opacity: 1;
    transform: scaleX(1);
    transform-origin: left;
    transition: transform .5s ease-in-out, opacity 0s linear 0s
}

.cp_topMsgLink__title {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.12rem, 1.0248901903vw);
    font-style: normal;
    font-weight: 700
}

.cp_topMsgLink__text {
    font-size: max(1.76rem, 1.6105417277vw);
    line-height: 1.5
}

@media only screen and (max-width:767px) {
    .cp_topMsgLink__text {
        font-size: max(1.44rem, 1.317715959vw)
    }
}

.cp_mediaLink {
    background: #000;
    color: #fff;
    display: flex;
    overflow: hidden;
    position: relative;
    width: 100%;
    will-change: transform
}

.cp_mediaLink:before {
    background: #15752f;
    content: "";
    height: 100%;
    left: 0;
    mix-blend-mode: screen;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .3s ease-in-out, opacity 0s linear .3s;
    width: 100%;
    z-index: 1
}

.cp_mediaLink:hover {
    color: #fff
}

.cp_mediaLink:hover:before {
    opacity: 1;
    transform: scaleX(1);
    transform-origin: left;
    transition: transform .5s ease-in-out, opacity 0s linear 0s
}

.cp_mediaLink__contents {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 1.4641288433vw;
    padding: 3.2942898975vw 4.39238653vw
}

@media only screen and (max-width:767px) {
    .cp_mediaLink__contents {
        padding: 3.2942898975vw 1.4641288433vw 3.2942898975vw 3.2942898975vw
    }
}

.cp_mediaLink__contents .cp_moreBtn {
    margin-top: auto
}

.cp_mediaLink__title {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.12rem, 1.0248901903vw);
    font-style: normal;
    font-weight: 700
}

.cp_mediaLink__text {
    font-size: max(1.76rem, 1.6105417277vw);
    line-height: 1.5
}

@media only screen and (max-width:767px) {
    .cp_mediaLink__text {
        font-size: max(1.28rem, 1.1713030747vw)
    }
}

.cp_mediaLink__img {
    width: 33.33%
}

.cp_mediaLink__img img {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.cp_pholosophyLink {
    display: flex;
    width: 100%
}

.cp_pholosophyLink__head {
    align-items: center;
    aspect-ratio: 1.618/1;
    background-image: url(../../img/philosophy_thumb.jpg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 1.4641288433vw;
    justify-content: center;
    width: calc(33.33% - 2.19619vw)
}

.cp_pholosophyLink__titleEn {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.2rem, 1.0980966325vw);
    font-style: normal;
    font-weight: 700;
    line-height: 1.2
}

.cp_pholosophyLink__titleJp {
    font-size: max(1.92rem, 1.756954612vw);
    font-weight: 700;
    letter-spacing: .1830161054vw;
    line-height: 1.2
}

.cp_pholosophyLink__detail {
    background: #fafafa;
    background: #e5e5e5;
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 1.4641288433vw;
    justify-content: center;
    padding: 3.2942898975vw 4.39238653vw
}

.cp_pholosophyLink__lead {
    font-size: max(1.6rem, 1.4641288433vw);
    font-weight: 700;
    line-height: 1.5
}

.cp_pholosophyLink__text {
    color: #555;
    font-size: max(1.12rem, 1.0248901903vw);
    line-height: 1.5
}

.cp_infoLink {
    align-items: center;
    color: #000;
    display: flex;
    gap: 1.4641288433vw;
    overflow: hidden;
    position: relative
}

.cp_infoLink:hover {
    color: #1a923b
}

.cp_infoLink.is_current {
    color: #000
}

.cp_infoLink.is_current:after {
    border-bottom: 1px solid rgba(0, 0, 0, .5);
    bottom: -8px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%
}

.cp_infoLink--between {
    justify-content: space-between
}

.cp_infoLink__data {
    display: flex;
    flex-direction: column
}

.cp_infoLink__titleEn {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.04rem, .9516837482vw);
    font-style: normal;
    font-weight: 700;
    line-height: 1.2
}

@media only screen and (max-width:767px) {
    .cp_infoLink__titleEn {
        font-size: max(.96rem, .878477306vw)
    }
}

.cp_infoLink--sm .cp_infoLink__titleEn {
    font-size: max(.8rem, .7320644217vw)
}

.cp_infoLink__titleJp {
    font-size: max(1.92rem, 1.756954612vw);
    font-weight: 700;
    letter-spacing: .1830161054vw;
    line-height: 1.2
}

@media only screen and (max-width:767px) {
    .cp_infoLink__titleJp {
        font-size: max(1.12rem, 1.0248901903vw)
    }
}

.cp_infoLink--sm .cp_infoLink__titleJp {
    font-size: max(1.2rem, 1.0980966325vw)
}

.cp_infoLink__titleJp--sm {
    letter-spacing: 0
}

.cp_infoLink--sm .cp_infoLink__titleJp--sm,
.cp_infoLink__titleJp--sm {
    font-size: max(1.08rem, .9882869693vw)
}

.cp_infoLink__btn,
.cp_moreBtn {
    align-items: center;
    display: flex
}

.cp_moreBtn {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.12rem, 1.0248901903vw);
    font-style: normal;
    font-weight: 700;
    font-weight: 500;
    gap: .7320644217vw
}

.cp_compareIcon {
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-flex;
    font-style: normal;
    height: 3.6603221083vw;
    width: 3.6603221083vw
}

.cp_compareIcon--circle {
    background-image: url(../../img/icon_circle.svg)
}

.cp_compareIcon--double {
    background-image: url(../../img/icon_double.svg)
}

.cp_compareIcon--triangle {
    background-image: url(../../img/icon_triangle.svg)
}

.cp_compareIcon--x {
    background-image: url(../../img/icon_x.svg)
}

.cp_externalIcon {
    background-image: url(../../img/icon_blank_gray.svg);
    height: 1.0248901903vw;
    width: 1.0248901903vw
}

.cp_dateIcon,
.cp_externalIcon {
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: relative
}

.cp_dateIcon {
    background-image: url(../../img/icon_time.svg);
    height: 1.1713030747vw;
    width: 1.1713030747vw
}

@media only screen and (max-width:767px) {
    .cp_dateIcon {
        height: 10px;
        width: 10px
    }
}

.cp_formTitle {
    font-size: max(1.6rem, 1.8301610542vw);
    font-weight: 700;
    line-height: 1.25;
    margin: var(--space-lg) 0 var(--space-xl);
    text-align: center
}

.cp_inputElm {
    width: 100%
}

.cp_required {
    align-items: center;
    background: #f20;
    border-radius: 6px;
    color: #fff;
    display: inline-flex;
    font-size: max(.8rem, .8052708638vw);
    font-style: normal;
    font-weight: 400;
    height: 18px;
    justify-content: center;
    padding: 0 4px;
    text-align: center;
    width: 4em
}

.cp_required--abs {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%)
}

@media only screen and (max-width:767px) {
    .cp_required--abs {
        margin-left: 5px;
        position: relative;
        top: auto;
        transform: translateY(0)
    }

    .cp_required {
        font-size: max(.8rem, .8052708638vw);
        height: 15px;
        padding: 0 2px
    }
}

.cp_formMsg {
    background: #e1f9e1;
    border-radius: 8px;
    color: #377a2c;
    line-height: 1.6;
    margin: 0 0 var(--space-md);
    padding: var(--space-sm) var(--space-md);
    text-align: center
}

@media only screen and (max-width:767px) {
    .cp_formMsg {
        padding: calc(var(--space-xs)) var(--space-sm);
        text-align: left
    }
}

.cp_formMsg--plain {
    background: #fff;
    color: #000
}

.cp_error,
.cp_formMsg--error,
.error {
    background: rgba(255, 50, 0, .1);
    color: #f20
}

.cp_error,
.error {
    border: 1px solid #f20;
    border-radius: 5px;
    box-sizing: border-box;
    margin: 10px 0 0;
    padding: 12px;
    width: 100%
}

.cp_formInit {
    margin: 0 auto;
    width: 800px
}

@media only screen and (max-width:767px) {
    .cp_formInit {
        width: 100%
    }
}

.cp_formInit input[type=email],
.cp_formInit input[type=number],
.cp_formInit input[type=password],
.cp_formInit input[type=tel],
.cp_formInit input[type=text],
.cp_formInit input[type=url],
.cp_formInit textarea {
    align-items: center;
    background: #f4f4f4;
    border: 1px solid #b2b2b2;
    border-radius: 22px;
    box-sizing: border-box;
    display: flex;
    height: 44px;
    line-height: 1.4;
    padding: 0 22px
}

.cp_formInit input[type=email]:focus,
.cp_formInit input[type=number]:focus,
.cp_formInit input[type=password]:focus,
.cp_formInit input[type=tel]:focus,
.cp_formInit input[type=text]:focus,
.cp_formInit input[type=url]:focus,
.cp_formInit textarea:focus {
    background: rgba(64, 158, 255, .2) !important;
    border: 1px solid #1a923b !important;
    box-shadow: 0 0 7px rgba(0, 0, 0, .2);
    outline: none
}

.cp_formInit input[type=email]:valid,
.cp_formInit input[type=number]:valid,
.cp_formInit input[type=password]:valid,
.cp_formInit input[type=tel]:valid,
.cp_formInit input[type=text]:valid,
.cp_formInit input[type=url]:valid,
.cp_formInit textarea:valid {
    background: #fff
}

.cp_formInit input[type=email].is-error,
.cp_formInit input[type=number].is-error,
.cp_formInit input[type=password].is-error,
.cp_formInit input[type=tel].is-error,
.cp_formInit input[type=text].is-error,
.cp_formInit input[type=url].is-error,
.cp_formInit textarea.is-error {
    background: rgba(255, 50, 0, .1);
    border: 1px solid #f20
}

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

    .cp_formInit input[type=email],
    .cp_formInit input[type=number],
    .cp_formInit input[type=password],
    .cp_formInit input[type=tel],
    .cp_formInit input[type=text],
    .cp_formInit input[type=url],
    .cp_formInit textarea {
        font-size: max(1.28rem, 1.1713030747vw);
        height: 38px;
        padding: 6px 15px
    }
}

.cp_formInit input[type=email].cp_inputElm--code,
.cp_formInit input[type=number].cp_inputElm--code,
.cp_formInit input[type=password].cp_inputElm--code,
.cp_formInit input[type=tel].cp_inputElm--code,
.cp_formInit input[type=text].cp_inputElm--code,
.cp_formInit input[type=url].cp_inputElm--code,
.cp_formInit textarea.cp_inputElm--code {
    background: #fff;
    border-radius: 30px;
    font-size: 3em;
    height: 60px;
    padding: 20px 40px;
    text-align: center
}

.cp_formInit textarea {
    height: 12em;
    padding: 20px 22px
}

.cp_formInit ::-moz-placeholder {
    color: #aaa
}

.cp_formInit ::placeholder {
    color: #aaa
}

@media only screen and (max-width:767px) {
    .cp_formInit ::-moz-placeholder {
        font-size: max(1.12rem, 1.0248901903vw)
    }

    .cp_formInit ::placeholder {
        font-size: max(1.12rem, 1.0248901903vw)
    }
}

.cp_formItem {
    display: flex;
    gap: 0 30px;
    margin: 0 0 var(--space-lg)
}

@media only screen and (max-width:767px) {
    .cp_formItem {
        flex-direction: column
    }
}

.cp_formInit--confirm .cp_formItem {
    margin: 0 0 var(--space-sm)
}

.cp_formItem__label {
    align-items: center;
    box-sizing: border-box;
    color: #555;
    display: flex;
    font-size: max(1.2rem, 1.0980966325vw);
    height: 40px;
    justify-content: center;
    line-height: 1.25;
    padding-right: 44px;
    position: relative;
    text-align: center;
    width: 200px
}

@media only screen and (max-width:767px) {
    .cp_formItem__label {
        font-size: max(1rem, 1.0248901903vw);
        height: auto;
        justify-content: start;
        margin: 0 0 calc(var(--space-xs)/2);
        padding-right: 0;
        width: 100%
    }

    .cp_formItem__label br {
        display: none
    }
}

.cp_formItem__input {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    line-height: 1.4;
    margin: 0;
    min-height: 40px;
    padding: 0
}

.cp_formItem__input--multi {
    flex-wrap: wrap
}

.cp_formItem__input--multi,
.cp_formItem__input--tel {
    align-items: center;
    flex-direction: row;
    gap: var(--space-xs) 10px;
    justify-content: flex-start
}

.cp_formItem__input--center {
    justify-content: center
}

.cp_formItem__input--full {
    width: 100%
}

.cp_formItem__inputChild {
    align-items: center;
    display: flex;
    gap: 0 10px;
    width: calc(50% - 5px)
}

.cp_formItem__inputChild--1col {
    margin-bottom: var(--space-md);
    width: 100%
}

.cp_formItem__inputChild--2col {
    width: calc(50% - var(--space-md)/2)
}

.cp_formItem__inputChild--3col {
    width: calc(33.33% - var(--space-md)*2/3)
}

.cp_formItem__inputChild--term {
    width: calc(50% - var(--space-md)*2 + .5em)
}

.cp_formItem__input input[type=checkbox]+label {
    cursor: pointer;
    display: inline-block;
    padding: 5px 0 5px 26px;
    position: relative;
    transition: background-color .2s linear;
    vertical-align: middle;
    width: auto
}

@media only screen and (max-width:767px) {
    .cp_formItem__input input[type=checkbox]+label {
        display: block;
        padding-bottom: 0
    }
}

.cp_formItem__input input[type=checkbox]+label:hover:after,
.cp_formItem__input input[type=checkbox]:checked+label:after {
    border-color: #1a923b
}

.cp_formItem__input input[type=checkbox]+label:after {
    background: #fff;
    border: 2px solid #ccc;
    border-radius: 2px;
    content: "";
    display: block;
    height: 16px;
    left: 0;
    margin-top: -10px;
    position: absolute;
    top: 50%;
    transition: border-color .2s linear;
    width: 16px;
    z-index: 0
}

.cp_formItem__input input[type=checkbox]+label:before {
    border-bottom: 3px solid #1a923b;
    border-right: 3px solid #1a923b;
    content: "";
    display: block;
    height: 9px;
    left: 6px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    transition: opacity .2s linear;
    width: 5px;
    z-index: 1
}

.cp_formItem__input input[type=checkbox]:checked+label:before {
    opacity: 1
}

.cp_formItem__input input[type=radio]+label {
    cursor: pointer;
    display: inline-block;
    padding: 5px 0 5px 26px;
    position: relative;
    transition: background-color .2s linear;
    vertical-align: middle;
    width: auto
}

@media only screen and (max-width:767px) {
    .cp_formItem__input input[type=radio]+label {
        display: block;
        padding-bottom: 0
    }
}

.cp_formItem__input input[type=radio]+label:hover:after,
.cp_formItem__input input[type=radio]:checked+label:after {
    border-color: #1a923b
}

.cp_formItem__input input[type=radio]+label:after {
    background: #fff;
    border: 2px solid #ccc;
    border-radius: 2px;
    border-radius: 50%;
    content: "";
    display: block;
    height: 16px;
    left: 0;
    margin-top: -10px;
    position: absolute;
    top: 50%;
    transition: border-color .2s linear;
    width: 16px;
    z-index: 0
}

.cp_formItem__input input[type=radio]+label:before {
    border-bottom: 3px solid #1a923b;
    border-right: 3px solid #1a923b;
    content: "";
    display: block;
    height: 9px;
    left: 6px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    transition: opacity .2s linear;
    width: 5px;
    z-index: 1
}

.cp_formItem__input input[type=radio]:checked+label:before {
    opacity: 1
}

.cp_formItem__input input[type=radio] {
    display: none
}

.cp_formItem__input input[type=radio]+span {
    cursor: pointer;
    display: inline-block;
    padding: 5px 0 5px 26px;
    position: relative;
    transition: background-color .2s linear;
    vertical-align: middle
}

@media only screen and (max-width:767px) {
    .cp_formItem__input input[type=radio]+span {
        display: block;
        padding-bottom: 0
    }
}

.cp_formItem__input input[type=radio]+span:hover:after,
.cp_formItem__input input[type=radio]:checked+span:after {
    border-color: #eab300
}

.cp_formItem__input input[type=radio]+span:after {
    background: #fff;
    border: 2px solid #ccc;
    border-radius: 50%;
    content: "";
    display: block;
    height: 16px;
    left: 0;
    margin-top: -10px;
    position: absolute;
    top: 50%;
    transition: border-color .2s linear;
    width: 16px;
    z-index: 0
}

.cp_formItem__input input[type=radio]+span:before {
    border-bottom: 3px solid #eab300;
    border-right: 3px solid #eab300;
    content: "";
    display: block;
    height: 9px;
    left: 6px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    transition: opacity .2s linear;
    width: 5px;
    z-index: 1
}

.cp_formItem__input input[type=radio]:checked+span:before {
    opacity: 1
}

.cp_formItem__input input[type=checkbox] {
    display: none
}

.cp_formItem__input input[type=checkbox]+span {
    cursor: pointer;
    display: inline-block;
    padding: 5px 0 5px 26px;
    position: relative;
    transition: background-color .2s linear;
    vertical-align: middle
}

@media only screen and (max-width:767px) {
    .cp_formItem__input input[type=checkbox]+span {
        display: block;
        padding-bottom: 0
    }
}

.cp_formItem__input input[type=checkbox]+span:hover:after,
.cp_formItem__input input[type=checkbox]:checked+span:after {
    border-color: #eab300
}

.cp_formItem__input input[type=checkbox]+span:after {
    background: #fff;
    border: 2px solid #ccc;
    border-radius: 2px;
    content: "";
    display: block;
    height: 16px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(calc(-50% + 2px));
    transition: border-color .2s linear;
    width: 16px;
    z-index: 0
}

.cp_formItem__input input[type=checkbox]+span:before {
    border-bottom: 3px solid #eab300;
    border-right: 3px solid #eab300;
    content: "";
    display: block;
    height: 9px;
    left: 6px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    transition: opacity .2s linear;
    width: 5px;
    z-index: 1
}

.cp_formItem__input input[type=checkbox]:checked+span:before {
    opacity: 1
}

.cp_formItem__btn {
    margin-top: calc(var(--space-xs)/2);
    width: auto
}

.cp_formFellowNote {
    background: #f0f0f0;
    line-height: 1.6;
    margin: var(--space-md) 0 var(--space-lg);
    padding: var(--space-md) var(--space-lg)
}

.cp_formNote {
    color: #555;
    font-size: clamp(1rem, 1rem + .4vw, 1.3rem);
    margin: calc(var(--space-xs)) 0;
    width: 100%
}

.cp_formTextArea {
    background: #f0f0f0;
    border-radius: 10px;
    line-height: 1.6;
    margin-top: var(--space-md);
    padding: var(--space-md) var(--space-lg);
    text-align: center
}

@media only screen and (max-width:767px) {
    .cp_formTextArea {
        text-align: left
    }
}

.cp_formTextArea--hasMtLg {
    margin-top: 80px
}

.cp_formTerm {
    border-top: 1px solid #ccc;
    padding-top: 30px
}

.cp_formTerm__scroll {
    background: #f9f9f9;
    border: 1px solid #ccc;
    border-radius: .7320644217vw;
    font-size: max(1.12rem, 1.0248901903vw);
    height: 260px;
    line-height: 1.5;
    overflow-y: scroll;
    padding: 26px;
    width: 100%
}

.cp_formBtn {
    display: flex;
    gap: 0 var(--space-md);
    justify-content: center;
    margin: var(--space-lg) auto 0;
    text-align: center
}

.cp_formBtn--inHead {
    margin: 0 0 var(--space-md)
}

.cp_formBtn--fixedBR {
    background: #fff;
    border-top: 1px solid #e0e0e0;
    bottom: 0;
    left: 0;
    padding: 10px;
    position: fixed;
    width: 100%;
    z-index: 10
}

.cp_formTextLinkBox {
    margin: var(--space-lg) auto 0;
    text-align: center
}

.cp_selectMenu {
    border-radius: 3px;
    box-shadow: none;
    display: block;
    padding: 0;
    position: relative;
    width: 100%
}

.cp_selectMenu:after,
.cp_selectMenu:before {
    z-index: 2
}

.cp_selectMenu select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    background: #fff;
    border: 1px solid transparent;
    box-sizing: border-box;
    font-size: 16px;
    height: 44px;
    margin: 0;
    outline: none;
    width: 100%
}

.cp_selectMenu select:focus {
    background-color: transparent;
    outline: none
}

@media only screen and (max-width:767px) {
    .cp_selectMenu select {
        height: 38px
    }
}

.cp_selectMenu option {
    font-weight: 400
}

.cp_selectMenu x:-o-prefocus,
.cp_selectMenu:after {
    display: none
}

@media (-ms-high-contrast:none),
screen and (-ms-high-contrast:active) {
    .cp_selectMenu select::-ms-expand {
        display: none
    }

    .cp_selectMenu select:focus::-ms-value {
        background: transparent;
        color: #000
    }
}

@-moz-document url-prefix() {
    .cp_selectMenu {
        overflow: hidden
    }

    .cp_selectMenu select {
        width: 120%;
        width: calc(100% + 3em)
    }

    @supports (-moz-appearance:none) {
        .cp_selectMenu select {
            width: 100%
        }
    }

    .cp_selectMenu select:-moz-focusring {
        color: transparent;
        text-shadow: 0 0 0 #000
    }
}

@supports (-moz-appearance:none) {
    .cp_selectMenu {
        width: 100%
    }
}

.cp_selectMenu:after,
.cp_selectMenu:before {
    border: 1px solid transparent;
    content: "";
    display: block;
    height: 0;
    pointer-events: none;
    position: absolute;
    right: 16px;
    width: 0
}

.cp_selectMenu:before {
    border-bottom-color: #d6d6d6;
    border-width: 0 6.5px 8px;
    bottom: 55%;
    transition: all .2s ease-in-out
}

.cp_selectMenu:after {
    border-top-color: #d6d6d6;
    border-width: 8px 6.5px 0;
    top: 55%;
    transition: all .2s ease-in-out
}

@-moz-document url-prefix() {
    .cp_selectMenu {
        border-right: 1px solid #e6e6e6
    }

    .cp_selectMenu:hover {
        border-right: 1px solid #1a923b
    }
}

.cp_selectMenu:hover select {
    border-color: #1a923b;
    box-shadow: inset 0 2px 3px rgba(26, 146, 59, .1)
}

.cp_selectMenu:hover select:focus {
    outline-color: transparent
}

.cp_selectMenu:hover:before {
    border-bottom-color: #1a923b
}

.cp_selectMenu:hover:after {
    border-top-color: #1a923b
}

.cp_selectMenu select {
    border: 1px solid #acacac;
    border-radius: 22px;
    color: inherit;
    font-weight: 400;
    line-height: normal;
    padding: 0 22px;
    transition: border-color .2s ease, outline .2s ease
}

.cp_selectMenu select:focus {
    box-shadow: inset 0 3px 4px rgba(26, 146, 59, .3);
    outline: 1px solid #1a923b;
    outline-offset: -1px
}

.cp_selectMenu select:disabled,
.cp_selectMenu select[disabled] {
    cursor: not-allowed;
    opacity: .4
}

.cp_selectMenu select:not(:focus):invalid {
    color: #c7c7c7
}

.cp_content {
    min-height: calc(100vh - .65em - 2.5vw)
}

.cp_content--404 {
    align-items: center;
    background-position: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center
}

.cp_contentHead {
    margin-bottom: 5.8565153734vw
}

.cp_contentHead__title {
    font-size: max(1.8rem, 2.3426061493vw);
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 2.196193265vw
}

.cp_contentHead__title--sm {
    font-size: max(1.696rem, 1.5519765739vw);
    line-height: 1.5
}

.cp_contentHead__titleEn {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-style: normal;
    font-weight: 700
}

.cp_contentBlock {
    padding: 4.39238653vw 0 5.8565153734vw
}

.cp_contentBlock--column {
    padding: 0 3.2942898975vw
}

.cp_contentBlock--bgGray {
    background-color: #f5f5f5;
    margin-left: calc(50% - 50vw);
    width: 100vw
}

.cp_contentBlock--shiftTop {
    margin-top: -9.9560761347vw;
    padding-top: 0
}

.cp_contentBlock__inner {
    margin: 0 auto;
    max-width: 100vw;
    padding: 0 var(--space-lg)
}

.cp_contentBlock__head {
    margin-bottom: 3.2942898975vw
}

.cp_contentBlock__head--shiftTop {
    align-items: center;
    background: #fff;
    display: inline-flex;
    margin-left: calc(50% - 50vw);
    min-height: 10.980966325vw;
    padding: 2.196193265vw 5.8565153734vw 1px 3.2942898975vw
}

.cp_contentBlock__title {
    font-size: max(1.6rem, 1.8301610542vw);
    line-height: 1.5;
    margin-bottom: 2.196193265vw
}

.cp_contentBlock__subtitle,
.cp_contentBlock__title {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-style: normal;
    font-weight: 700
}

.cp_contentBlock__subtitle {
    color: #555;
    font-size: max(1.3rem, 1.1346998536vw);
    margin-bottom: .7320644217vw
}

.cp_contentBlock__text {
    color: #555;
    margin-bottom: 3.2942898975vw
}

.cp_contentBlock__textLg {
    font-size: max(1.32rem, 1.2079062958vw);
    margin-bottom: 3.2942898975vw
}

.cp_contentImg img {
    display: block;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

.cp_contentFullImg {
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    width: 100vw
}

.cp_contentFullImg--service {
    aspect-ratio: 16/6
}

.cp_contentFullImg img {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

.cp_interviews {
    display: grid;
    gap: 2.196193265vw;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr))
}

@media only screen and (max-width:1000px) {
    .cp_interviews {
        display: flex;
        flex-wrap: wrap;
        gap: 2.196193265vw
    }
}

.cp_interviews--row {
    gap: 2.196193265vw;
    grid-template-columns: repeat(auto-fill, calc(33.33333% - 1.46413vw))
}

@media only screen and (max-width:1240px) {
    .cp_interviews--row {
        grid-template-columns: repeat(auto-fill, calc(33.33333% - 1.46413vw))
    }
}

@media only screen and (max-width:767px) {
    .cp_interviews--row {
        display: flex;
        flex-wrap: wrap
    }
}

.cp_interviews--media {
    display: flex;
    flex-wrap: wrap;
    gap: 1.4641288433vw
}

.cp_interviews__item {
    display: block;
    list-style: none
}

@media only screen and (max-width:1000px) {
    .cp_interviews__item {
        width: calc(33.33% - 1.46413vw)
    }
}

@media only screen and (max-width:767px) {
    .cp_interviews__item {
        width: calc(50% - 1.64714vw)
    }
}

.cp_interviews--media .cp_interviews__item {
    width: calc(50% - .73206vw)
}

@media only screen and (max-width:767px) {
    .cp_interviews--media .cp_interviews__item {
        width: 100%
    }
}

.cp_interviewCard {
    aspect-ratio: 3/4;
    color: #000;
    display: flex;
    position: relative
}

.cp_interviewCard:hover .cp_interviewCard__photo img {
    filter: grayscale(0);
    transform: scale(1.05)
}

.cp_interviewCard__photo {
    overflow: hidden
}

.cp_interviewCard__photo img {
    display: block;
    filter: grayscale(100%);
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    transition: filter .3s ease-in-out, transform .3s ease-in-out;
    width: 100%
}

.cp_interviewCard__data {
    background: #fff;
    bottom: 0;
    left: 1.4641288433vw;
    line-height: 1.6;
    padding: 1.4641288433vw;
    position: absolute;
    width: 60%
}

.cp_interviews--row .cp_interviewCard__data {
    width: calc(100% - 2.92826vw)
}

@media only screen and (max-width:767px) {
    .cp_interviewCard__data {
        left: 2.5%;
        padding: 10px 15px;
        width: 95%
    }
}

.cp_interviewCard__division {
    font-size: max(1.3rem, 1.1346998536vw);
    line-height: 1.25;
    margin-bottom: .439238653vw;
    min-height: 2em
}

.cp_interviews--row .cp_interviewCard__division {
    margin-bottom: 0
}

.cp_interviewCard__entryYear,
.cp_interviewCard__title {
    color: #555;
    font-size: max(.8rem, .8052708638vw)
}

.cp_interviewCard__btn {
    bottom: 1.4641288433vw;
    position: absolute;
    right: 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .cp_interviewCard__btn {
        right: 8%
    }
}

.cp_interviewMedia {
    background: #f5f5f5;
    color: #000;
    display: flex;
    gap: 1.4641288433vw;
    padding: 1.4641288433vw;
    position: relative
}

@media only screen and (max-width:767px) {
    .cp_interviewMedia {
        gap: 10px
    }
}

.cp_interviewMedia:hover .cp_interviewMedia__photo img {
    filter: grayscale(0);
    transform: scale(1.05)
}

.cp_interviewMedia__photo {
    aspect-ratio: 3/4;
    overflow: hidden;
    width: 20%
}

.cp_interviewMedia__photo img {
    display: block;
    filter: grayscale(100%);
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    transition: filter .3s ease-in-out, transform .3s ease-in-out;
    width: 100%
}

.cp_interviewMedia__data {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center
}

.cp_interviewMedia__heading {
    font-size: max(1.44rem, 1.317715959vw);
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 1.4641288433vw
}

.cp_interviewMedia__division {
    font-size: max(1.3rem, 1.1346998536vw);
    margin-bottom: .7320644217vw
}

@media only screen and (max-width:767px) {
    .cp_interviewMedia__division {
        margin-bottom: 5px
    }
}

.cp_interviewMedia__entryYear {
    color: #555;
    font-size: max(.8rem, .8052708638vw);
    margin-bottom: .7320644217vw
}

@media only screen and (max-width:767px) {
    .cp_interviewMedia__entryYear {
        font-size: max(1.04rem, .9516837482vw);
        margin-bottom: 5px
    }
}

.cp_interviewMedia__title {
    color: #555;
    font-size: max(.8rem, .8052708638vw)
}

@media only screen and (max-width:767px) {
    .cp_interviewMedia__title {
        font-size: max(1.04rem, .9516837482vw)
    }
}

.cp_newsList {
    border-top: .5px solid #acacac
}

.cp_newsList__item {
    border-bottom: .5px solid #acacac;
    display: block;
    list-style: none
}

.cp_newsItem {
    align-items: start;
    display: flex;
    gap: 1.4641288433vw;
    padding: 2.196193265vw 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .cp_newsItem {
        padding: 12px 5px
    }
}

.cp_newsItem:hover {
    background: #f5f5f5
}

.cp_newsItem__date {
    color: #555;
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(.96rem, .878477306vw);
    font-style: normal;
    font-weight: 700;
    font-weight: 300;
    line-height: 1.8;
    width: 5.5em
}

.cp_newsItem__title {
    flex: 1;
    line-height: 1.4
}

.cp_newsHead {
    margin-bottom: 3.2942898975vw;
    width: 10.980966325vw
}

@media only screen and (max-width:767px) {
    .cp_newsHead {
        width: 30vw
    }
}

.cp_marks {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xxl)
}

@media only screen and (max-width:767px) {
    .cp_marks {
        gap: 15px
    }
}

.cp_marks__item {
    align-items: center;
    display: flex;
    gap: 20px;
    width: calc(50% - var(--space-xxl)/2)
}

@media only screen and (max-width:767px) {
    .cp_marks__item {
        width: 100%
    }
}

.cp_marks__photo {
    height: 80px;
    overflow: hidden;
    width: 80px
}

@media only screen and (max-width:767px) {
    .cp_marks__photo {
        height: 60px;
        width: 60px
    }
}

.cp_marks__photo img {
    height: auto;
    transition: transform .3s ease-in-out;
    width: 100%
}

.cp_marks__data {
    flex: 1
}

.cp_marks__text {
    color: #929292;
    font-size: max(1rem, 1.0248901903vw);
    line-height: 1.6
}

.cp_groups {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    gap: 1.4641288433vw
}

.cp_groups__item {
    display: flex;
    list-style: none;
    width: calc(33.33% - .97609vw)
}

@media only screen and (max-width:767px) {
    .cp_groups__item {
        width: calc(50% - .73206vw)
    }
}

.cp_groups__item--spool {
    width: 100%
}

.cp_groupCard {
    align-items: center;
    background: #fff;
    color: #122264;
    display: flex;
    flex-direction: column;
    gap: 1.4641288433vw;
    height: 100%;
    justify-content: center;
    overflow: hidden;
    padding: 3.2942898975vw 4.39238653vw;
    text-align: center;
    width: 100%
}

.cp_groupCard--spool {
    flex-direction: row;
    padding-left: 0
}

.cp_groupCard--plus {
    color: #f08300
}

.cp_groupCard--logi {
    color: #006ab7
}

.cp_groupCard--sales {
    color: #804e65
}

.cp_groupCard--spool {
    color: #122264
}

.cp_groupCard--link {
    color: #c62f58
}

.cp_groupCard--glocal {
    color: #55828c
}

.cp_groupCard--bluedotgreen {
    color: #2371b9
}

.cp_groupCard--bridge {
    color: #31673f
}

.cp_groupCard__left {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 1.4641288433vw;
    justify-content: center;
    width: 100%;
    width: calc(33.33% - .97609vw)
}

@media only screen and (max-width:767px) {
    .cp_groupCard__left {
        width: calc(50% - .73206vw)
    }
}

.cp_groupCard__logo {
    height: 3.2210834553vw
}

.cp_groupCard__logo img {
    display: block;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

@media only screen and (max-width:767px) {
    .cp_groupCard__name {
        font-size: max(1.12rem, 1.0248901903vw)
    }
}

.cp_groupCard__text {
    color: #555;
    flex: 1;
    font-size: max(1rem, 1.0248901903vw);
    line-height: 1.5;
    text-align: left
}

@media only screen and (max-width:767px) {
    .cp_groupCard__text {
        font-size: max(.88rem, .8052708638vw)
    }
}

.cp_floating {
    bottom: 20px;
    min-width: 200px;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: 20px;
    visibility: hidden;
    width: 21.2298682284vw;
    z-index: 1000
}

@media only screen and (max-width:767px) {
    .cp_floating {
        bottom: 10px;
        min-width: 250px;
        right: 10px
    }
}

.cp_floating.is_show {
    opacity: 1;
    pointer-events: auto;
    transform: none;
    transition: opacity .25s ease, transform .25s ease;
    visibility: visible
}

.cp_floating.is_hidden {
    display: none
}

.cp_floating__link {
    align-items: center;
    background: #fff;
    border: 2px solid #1a923b;
    border-radius: 12px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, .2);
    display: flex;
    flex-direction: column;
    padding-bottom: 10px;
    position: relative;
    text-align: center;
    transition: transform .3s ease-in-out;
    z-index: 0
}

.cp_floating__link:hover {
    transform: scale(1.05);
    transition: transform .15s ease-in-out
}

@media only screen and (max-width:767px) {
    .cp_floating__link {
        flex-direction: row;
        flex-wrap: wrap
    }
}

.cp_floating__title {
    align-items: center;
    background-image: url(../../img/balloon.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    color: #000;
    display: flex;
    font-weight: 700;
    height: 100px;
    justify-content: center;
    margin-left: -1.8301610542vw;
    margin-top: -1.4641288433vw;
    padding-bottom: 1.6105417277vw;
    width: 100%
}

@media only screen and (max-width:767px) {
    .cp_floating__title {
        background-image: none;
        display: inline-flex;
        height: auto;
        margin: 0;
        padding: 20px 15px;
        width: auto
    }
}

.cp_floating__img {
    margin-top: -4.9780380673vw;
    transform: translate(28px, 20px);
    width: 60%
}

@media only screen and (max-width:767px) {
    .cp_floating__img {
        margin-top: 0;
        position: absolute;
        right: 10px;
        top: -26px;
        transform: translate(0);
        width: 40%
    }
}

.cp_floating__img img {
    display: block;
    height: auto;
    width: 100%
}

.cp_floating__text {
    background: #1a923b;
    border-radius: 4px;
    color: #000;
    color: #fff;
    padding: .7320644217vw;
    position: relative;
    width: calc(100% - 20px);
    z-index: 1
}

@media only screen and (max-width:767px) {
    .cp_floating__text {
        margin: 0 auto;
        padding: 5px 10px
    }
}

.cp_floating__close {
    align-items: center;
    background: #000;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    height: 24px;
    justify-content: center;
    position: absolute;
    right: -10px;
    top: -10px;
    width: 24px;
    z-index: 1
}

.cp_floating__close:before {
    transform: rotate(45deg)
}

.cp_floating__close:after,
.cp_floating__close:before {
    background: #fff;
    content: "";
    height: 1px;
    position: absolute;
    width: 10px
}

.cp_floating__close:after {
    transform: rotate(-45deg)
}

@media only screen and (max-width:767px) {
    .cp_floating__close {
        height: 34px;
        width: 34px
    }

    .cp_floating__close:after,
    .cp_floating__close:before {
        width: 15px
    }
}

.cp_pageHead {
    display: flex;
    justify-content: end;
    position: relative
}

@media only screen and (max-width:767px) {
    .cp_pageHead {
        flex-direction: column
    }
}

.cp_pageHead--high {
    background: #000
}

.cp_pageHead--topMessage {
    aspect-ratio: 16/5.2;
    background-image: url(../../img/top_msg_photo_murobayashi.jpg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    flex-direction: column
}

.cp_pageHead--hasBgBlur {
    overflow: hidden
}

.cp_pageHead--hasBgBlur:after {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    filter: blur(1.6471449488vw);
    height: 300%;
    left: -2.0131771596vw;
    position: absolute;
    top: -1.6471449488vw;
    width: 300%;
    z-index: 0
}

@media only screen and (max-width:767px) {
    .cp_pageHead--hasBgBlur:after {
        display: none
    }
}

.cp_pageHead--temporaryStaff:after {
    background-image: url(../../img/service_temporary_staff.jpg);
    filter: blur(.4026354319vw)
}

.cp_pageHead--growthTransfer:after {
    background-image: linear-gradient(180deg, rgba(63, 146, 24, .5), rgba(0, 0, 0, .5)), url(../../img/service_growth_transfer.jpg)
}

.cp_pageHead--bpo:after {
    background-image: url(../../img/service_bpo.jpg)
}

.cp_pageHead--constructionManagement:after {
    background-image: url(../../img/service_construction_management.jpg)
}

.cp_pageHead--recruit {
    aspect-ratio: 16/9
}

.cp_pageHead--narrow {
    margin: 0 auto;
    width: 73.2064421669vw
}

@media only screen and (max-width:767px) {
    .cp_pageHead--narrow {
        padding: 0 3.2942898975vw;
        width: 100%
    }
}

.cp_pageHead--narrow .cp_pageHead__contents {
    padding-left: 0;
    padding-right: 0
}

@media only screen and (max-width:767px) {
    .cp_pageHead--narrow .cp_pageHead__contents {
        padding: 4.39238653vw
    }
}

.cp_pageHead__contents {
    flex: 1;
    padding: 4.39238653vw 3.2942898975vw;
    position: relative;
    z-index: 1
}

.cp_pageHead__contents--abs {
    background: hsla(0, 0%, 100%, .8);
    left: 0;
    position: absolute;
    top: 0;
    z-index: 3
}

@media only screen and (max-width:767px) {
    .cp_pageHead__contents--abs {
        left: auto;
        position: relative;
        top: auto
    }
}

.cp_pageHead__contents--absHasTop {
    top: 4.39238653vw
}

@media only screen and (max-width:767px) {
    .cp_pageHead__contents--absHasTop {
        top: auto
    }
}

.cp_pageHead__contents--absvMdl {
    top: 50%;
    transform: translateY(-50%)
}

@media only screen and (max-width:767px) {
    .cp_pageHead__contents--absvMdl {
        top: auto;
        transform: none
    }
}

.cp_pageHead__contents--nobg {
    background: none
}

.cp_pageHead__contents--textWht {
    color: #fff
}

.cp_pageHead--topMessage .cp_pageHead__contents {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
    padding: 0;
    width: 73.2064421669vw
}

.cp_pageHead__title {
    font-size: max(1.8rem, 2.3426061493vw);
    line-height: 1.5
}

.cp_pageHead__title,
.cp_pageHead__title--sm {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-style: normal;
    font-weight: 700
}

.cp_pageHead__title--sm {
    font-size: max(1.92rem, 1.756954612vw)
}

.cp_pageHead__subTitle {
    color: #15752f;
    display: block;
    font-size: max(.96rem, .878477306vw);
    font-weight: 700;
    margin-top: .7320644217vw
}

.cp_pageHead__titleLg {
    font-size: max(3.2rem, 2.9282576867vw)
}

.cp_pageHead__titleLg,
.cp_pageHead__titleXl {
    font-weight: 700;
    line-height: 1.25;
    margin-top: 1.4641288433vw
}

.cp_pageHead__titleXl {
    font-size: max(6.4rem, 5.8565153734vw)
}

@media only screen and (max-width:767px) {
    .cp_pageHead__titleXl {
        font-size: max(3.84rem, 3.513909224vw)
    }
}

.cp_pageHead__titleEn {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-style: normal;
    font-weight: 700
}

.cp_pageHead__titleJpSm {
    font-weight: 500;
    margin: 1.4641288433vw 0
}

.cp_pageHead__lead {
    font-size: max(1.44rem, 1.317715959vw);
    font-weight: 700;
    margin-top: 1.4641288433vw
}

.cp_pageHead__text {
    font-size: max(1.2rem, 1.0980966325vw);
    margin-top: 3.2942898975vw
}

.cp_pageHead__contents--textWht .cp_pageHead__text {
    color: #fff
}

.cp_pageHead__img {
    overflow: hidden;
    position: relative;
    width: 77%;
    z-index: 1
}

@media only screen and (max-width:767px) {
    .cp_pageHead__img {
        width: 100%
    }
}

.cp_pageHead__img--high {
    aspect-ratio: 16/9
}

.cp_pageHead__img img {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

.cp_pageHeadCover {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    position: relative
}

.cp_pageHeadCover--recruit {
    aspect-ratio: 16/9;
    justify-content: start
}

@media only screen and (max-width:767px) {
    .cp_pageHeadCover--recruit {
        aspect-ratio: auto
    }
}

.cp_pageHeadCover__pageTitle {
    font-size: max(1.92rem, 1.756954612vw)
}

.cp_pageHeadCover__pageTitle,
.cp_pageHeadCover__title {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-style: normal;
    font-weight: 700;
    padding: 4.39238653vw 3.2942898975vw .7320644217vw;
    position: relative;
    z-index: 1
}

.cp_pageHeadCover__title {
    font-size: max(5.92rem, 5.4172767204vw);
    line-height: 1.25;
    mix-blend-mode: overlay
}

@media only screen and (max-width:767px) {
    .cp_pageHeadCover__title {
        font-size: 8.3333333333vw;
        padding: var(--space-xl) 3.2942898975vw var(--space-xs)
    }
}

.cp_pageHeadCover--recruit .cp_pageHeadCover__title {
    color: #fff;
    color: #000;
    padding-top: 1.4641288433vw
}

.cp_pageHeadCover__subTitle {
    color: #fff;
    display: block;
    font-size: max(3.2rem, 2.9282576867vw);
    font-weight: 700;
    line-height: 1.5;
    padding: .7320644217vw 3.2942898975vw;
    position: relative;
    z-index: 1
}

@media only screen and (max-width:767px) {
    .cp_pageHeadCover__subTitle {
        font-size: max(1.92rem, 1.756954612vw);
        margin-bottom: 1.4641288433vw
    }
}

.cp_pageHeadCover--recruit .cp_pageHeadCover__subTitle {
    color: #000
}

@media only screen and (max-width:767px) {
    .cp_pageHeadCover--recruit .cp_pageHeadCover__subTitle {
        font-size: max(1.92rem, 1.756954612vw)
    }
}

.cp_pageHeadCover__text {
    color: #fff;
    font-size: max(1.28rem, 1.1713030747vw);
    padding: .7320644217vw 3.2942898975vw 4.39238653vw;
    position: relative;
    z-index: 1
}

.cp_pageHeadCover--recruit .cp_pageHeadCover__text {
    color: #000
}

.cp_pageHeadCover__bg {
    height: 100%;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

.cp_pageHeadCover__video {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

@media only screen and (max-width:767px) {
    .cp_pageHeadCover__video {
        height: 100svh;
        -o-object-position: center;
        object-position: center
    }
}

.cp_bgVideo {
    height: 100vh;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    position: fixed;
    right: 0;
    top: 0;
    width: 70%;
    z-index: 0
}

@media only screen and (max-width:767px) {
    .cp_bgVideo {
        width: 60%
    }
}

.cp_bgVideo--wide {
    width: 100%
}

@media only screen and (max-width:767px) {
    .cp_bgVideo--wide {
        height: 70vh
    }
}

.cp_bgVideo--officeLocation {
    background-image: url(../../img/bg_office_location.jpg);
    background-position: 50%;
    background-size: cover
}

@media only screen and (max-width:767px) {
    .cp_bgVideo--officeLocation {
        background-image: url(../../img/bg_office_location_mob.jpg);
        background-position: 0
    }
}

.cp_bgVideo--sustainability {
    background-image: url(../../img/bg_sustainability.jpg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover
}

@media only screen and (max-width:767px) {
    .cp_bgVideo--sustainability {
        background-image: url(../../img/bg_sustainability_mob.jpg);
        background-position: top;
        background-size: 100vw auto
    }
}

.cp_bgVideo--compliance {
    background-image: url(../../img/bg_compliance.jpg);
    background-position: 50%;
    background-size: cover
}

@media only screen and (max-width:767px) {
    .cp_bgVideo--compliance {
        background-image: url(../../img/bg_compliance_mob.jpg);
        background-position: 0
    }
}

.cp_bgLoop {
    height: inherit;
    inset: 0;
    overflow: hidden;
    position: relative;
    width: 100%;
    --fade: 0.8s
}

.cp_bgCrossFadeVideo {
    opacity: 0;
    transition: opacity var(--fade) linear
}

.cp_bgCrossFadeVideo.is_show {
    opacity: 1
}

.cp_bgImg {
    height: 100vh;
    overflow: hidden;
    position: fixed;
    right: 0;
    top: 0;
    width: 30%;
    z-index: 0
}

@media only screen and (max-width:767px) {
    .cp_bgImg {
        width: 10%
    }
}

.cp_bgImg img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

.cp_bgImg--hasBlur img {
    filter: blur(2.5px);
    height: 105vh;
    width: 101%
}

.cp_bgImg--wide {
    width: 77%
}

.cp_bgImg--wide img {
    height: auto
}

.cp_serviceCard {
    align-items: center;
    color: #000;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    position: relative;
    transition: text-shadow .3s ease-in-out, color .3s ease-in-out;
    width: 100%
}

.cp_serviceCard:hover .cp_serviceCard__img img {
    opacity: 1;
    transform: scale(1.05)
}

.cp_serviceCard__img {
    aspect-ratio: 1.618/1;
    background: #000;
    overflow: hidden;
    width: 100%
}

.cp_serviceCard__img img {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    opacity: .75;
    transition: opacity .3s ease-in-out, transform .3s ease-in-out;
    width: 100%
}

.cp_serviceCard--opc1 .cp_serviceCard__img img {
    opacity: 1
}

.cp_serviceCard__name {
    font-size: max(1.28rem, 1.1713030747vw);
    font-weight: 700;
    padding: 2.196193265vw
}

@media only screen and (max-width:767px) {
    .cp_serviceCard__name {
        font-size: max(1.16rem, 1.0614934114vw);
        line-height: 1.6;
        padding: 9px 0;
        text-align: center
    }
}

.cp_serviceCardType2 {
    color: #000;
    display: block;
    position: relative;
    transition: text-shadow .3s ease-in-out, color .3s ease-in-out;
    width: 100%
}

.cp_serviceCardType2:hover .cp_serviceCardType2__img img {
    transform: scale(1.05)
}

.cp_serviceCardType2__img {
    aspect-ratio: 1.618/1;
    background: #000;
    overflow: hidden;
    width: 100%
}

.cp_serviceCardType2__img img {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    transition: opacity .3s ease-in-out, transform .3s ease-in-out;
    width: 100%
}

.cp_serviceCardType2__contents {
    align-items: center;
    background: #fff;
    display: flex;
    justify-content: space-between;
    margin: -4.39238653vw auto 0;
    padding: 2.196193265vw;
    position: relative;
    width: calc(100% - 2.19619vw);
    z-index: 1
}

@media only screen and (max-width:767px) {
    .cp_serviceCardType2__contents {
        margin: -6.588579795vw auto 0;
        min-height: 4.2em;
        padding: 0 10px
    }
}

.cp_serviceCardType2__name {
    display: block;
    font-size: max(1.28rem, 1.1713030747vw);
    font-weight: 700
}

@media only screen and (max-width:767px) {
    .cp_serviceCardType2__name {
        display: block;
        font-size: max(1.16rem, 1.0614934114vw);
        line-height: 1.6;
        padding: 9px 0;
        text-align: center
    }
}

.cp_linkCard {
    align-items: center;
    aspect-ratio: 1.618/1;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    position: relative;
    transition: text-shadow .3s ease-in-out, color .3s ease-in-out;
    width: 100%
}

.cp_linkCard:hover {
    color: #fff;
    text-shadow: 0 0 7px rgba(0, 0, 0, .5)
}

.cp_linkCard:hover .cp_linkCard__bg img {
    opacity: 1;
    transform: scale(1.05)
}

.cp_linkCard--wide {
    aspect-ratio: 16/3.067
}

.cp_linkCard__bg {
    background: #000;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1
}

.cp_linkCard__bg img {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    opacity: .75;
    transition: opacity .3s ease-in-out, transform .3s ease-in-out;
    width: 100%
}

.cp_linkCard__data {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: .7320644217vw;
    justify-content: center;
    position: relative;
    text-align: center;
    z-index: 1
}

.cp_linkCard--wide .cp_linkCard__data {
    align-items: start;
    padding: 0 4.39238653vw;
    text-align: left;
    width: 100%
}

.cp_linkCard__titleEn {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.2rem, 1.0980966325vw);
    font-style: normal;
    font-weight: 700;
    line-height: 1.2
}

@media only screen and (max-width:767px) {
    .cp_linkCard__titleEn {
        font-size: max(.96rem, .878477306vw)
    }
}

.cp_linkCard__titleJp {
    font-size: max(1.92rem, 1.756954612vw);
    font-weight: 700;
    letter-spacing: .1830161054vw;
    line-height: 1.2
}

@media only screen and (max-width:767px) {
    .cp_linkCard__titleJp {
        font-size: max(1.28rem, 1.1713030747vw);
        letter-spacing: 0
    }
}

.cp_linkCard__btn {
    margin-top: 3.2942898975vw
}

@media only screen and (max-width:767px) {
    .cp_linkCard__btn {
        margin-top: 2.196193265vw
    }
}

.cp_columnCard {
    align-items: center;
    color: #000;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    position: relative;
    transition: text-shadow .3s ease-in-out, color .3s ease-in-out;
    width: 100%
}

.cp_columnCard:hover .cp_columnCard__img img {
    opacity: 1;
    transform: scale(1.05)
}

.cp_columnCard__img {
    aspect-ratio: 1.618/1;
    background: #000;
    overflow: hidden;
    width: 100%
}

.cp_columnCard__img img {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    transition: opacity .3s ease-in-out, transform .3s ease-in-out;
    width: 100%
}

.cp_columnCard__contents {
    align-items: start;
    background: #fff;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: .7320644217vw;
    justify-content: center;
    padding: 1.4641288433vw 1em;
    width: 100%
}

@media only screen and (max-width:767px) {
    .cp_columnCard__contents {
        gap: 5px;
        padding-left: 0;
        padding-right: 0
    }
}

.cp_columnCard__title {
    font-size: max(1.28rem, 1.1713030747vw);
    font-weight: 700;
    line-height: 1.4
}

@media only screen and (max-width:767px) {
    .cp_columnCard__title {
        font-size: max(1.16rem, 1.0614934114vw)
    }
}

.cp_columnCard__date {
    align-items: center;
    display: flex;
    font-size: max(1.04rem, .9516837482vw);
    gap: 6px
}

.cp_breadcrumbs {
    background: #fff;
    border-top: 1px solid rgba(0, 0, 0, .1);
    margin: 0 auto;
    max-width: 100vw;
    padding: 1.4641288433vw 2.196193265vw;
    position: relative;
    z-index: 2
}

@media only screen and (max-width:767px) {
    .cp_breadcrumbs {
        overflow-x: auto
    }
}

.cp_breadcrumbs__grp {
    align-items: center;
    display: flex;
    gap: var(--space-sm)
}

@media only screen and (max-width:767px) {
    .cp_breadcrumbs__grp {
        white-space: nowrap
    }
}

.cp_breadcrumbs__item {
    align-items: center;
    display: flex;
    gap: var(--space-xs);
    list-style: none
}

.cp_breadcrumbs__item:after {
    align-items: center;
    border-right: 1px solid #929292;
    border-top: 1px solid #929292;
    content: "";
    display: inline-flex;
    height: .4rem;
    transform: rotate(45deg);
    transform-origin: center;
    width: .4rem
}

.cp_breadcrumbs__item:last-child:after {
    display: none
}

@media only screen and (max-width:767px) {
    .cp_breadcrumbs__item {
        flex-shrink: 0
    }

    .cp_breadcrumbs__item:last-child {
        padding-right: var(--space-sm)
    }
}

.cp_breadcrumbs__link {
    align-items: center;
    color: #000;
    display: inline-flex;
    font-size: max(.8rem, .8052708638vw)
}

@media only screen and (max-width:767px) {
    .cp_breadcrumbs__link {
        font-size: max(1.04rem, .9516837482vw);
        padding: 5px 0
    }
}

.cp_breadcrumbs__logo {
    width: 1.756954612vw
}

@media only screen and (max-width:767px) {
    .cp_breadcrumbs__logo {
        width: 20px
    }
}

.cp_breadcrumbs__logo img {
    display: block;
    height: auto;
    width: 100%
}

.cp_localNav {
    background: #fff;
    padding: 5.8565153734vw 3.2942898975vw;
    position: relative;
    z-index: 2
}

.cp_localNav__grp {
    display: flex;
    flex-wrap: wrap;
    gap: 1.4641288433vw 2.196193265vw
}

@media only screen and (max-width:767px) {
    .cp_localNav__grp {
        gap: 4.39238653vw
    }
}

.cp_localNav__item {
    display: block;
    list-style: none;
    width: calc(25% - 1.64714vw)
}

@media only screen and (max-width:767px) {
    .cp_localNav__item {
        width: calc(50% - 2.19619vw)
    }
}

.cp_sideNav {
    left: 0;
    padding-top: 2.196193265vw;
    position: sticky;
    top: 5.4758418741vw
}

@media only screen and (max-width:767px) {
    .cp_sideNav {
        left: auto;
        padding: 15px 10px;
        position: relative;
        top: 49.84px;
        top: auto
    }
}

.cp_sideNav__grp {
    display: flex;
    flex-direction: column;
    gap: 3.2942898975vw 0;
    padding: 1.4641288433vw 2.196193265vw
}

@media only screen and (max-width:767px) {
    .cp_sideNav__grp {
        flex-direction: row;
        gap: 5.8565153734vw
    }
}

.cp_sideNav__item {
    display: block;
    list-style: none
}

.cp_sideNav__link {
    color: #000;
    display: flex;
    font-weight: 700
}

@media only screen and (max-width:767px) {
    .cp_sideNav__link {
        font-size: max(1.04rem, .9516837482vw)
    }
}

.cp_modal {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .1);
    margin: 0 auto;
    padding: 4.39238653vw;
    position: relative
}

@media only screen and (max-width:767px) {
    .cp_modal {
        padding: 20px 10px
    }
}

.cp_modal__head {
    margin-bottom: 3.2942898975vw
}

.cp_modal__titleEn {
    display: block;
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.44rem, 1.317715959vw);
    font-style: normal;
    font-weight: 700;
    margin-bottom: 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .cp_modal__titleEn {
        font-size: max(1.28rem, 1.1713030747vw)
    }
}

.cp_modal__title {
    font-size: max(2.56rem, 2.3426061493vw);
    font-weight: 700;
    margin-bottom: 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .cp_modal__title {
        font-size: max(1.92rem, 1.756954612vw)
    }

    .cp_modal__body {
        max-height: 80vh;
        overflow: scroll
    }
}

.cp_modal__icons {
    display: flex;
    flex-wrap: wrap;
    gap: 2.196193265vw 4.39238653vw
}

.cp_modal__iconList {
    display: block;
    list-style: none;
    width: calc(33.33% - 2.92826vw)
}

@media only screen and (max-width:767px) {
    .cp_modal__iconList {
        width: 100%
    }
}

.cp_modal__closeBtn {
    position: absolute;
    right: 2px;
    top: 2px;
    z-index: 10
}

.cp_strengthIcon {
    display: flex;
    gap: .7320644217vw;
    position: relative
}

@media only screen and (max-width:767px) {
    .cp_strengthIcon {
        gap: 10px
    }
}

.cp_strengthIcon--iconOnly:hover .cp_strengthIcon__contents {
    opacity: 1;
    visibility: visible
}

.cp_strengthIcon__img {
    aspect-ratio: 1/1;
    height: 100px;
    width: 100px
}

@media only screen and (max-width:767px) {
    .cp_strengthIcon__img {
        height: 55px;
        width: 55px
    }
}

.cp_strengthIcon__img img {
    aspect-ratio: 1/1;
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.cp_strengthIcon__contents {
    flex: 1;
    line-height: 1.5
}

.cp_strengthIcon--iconOnly .cp_strengthIcon__contents {
    background: #fff;
    border: 1px solid #e5e5e5;
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
    display: block;
    left: 0;
    opacity: 0;
    padding: 2.196193265vw;
    position: absolute;
    top: -10px;
    transform: translateY(-100%);
    transition: opacity .3s ease-in-out, visibility .3s ease-in-out;
    visibility: hidden;
    width: 21.9619326501vw;
    z-index: 100
}

@media only screen and (max-width:767px) {
    .cp_strengthIcon--iconOnly .cp_strengthIcon__contents {
        left: auto;
        width: 30vw
    }
}

.cp_strengthIcon__name {
    display: block;
    font-size: max(1.28rem, 1.1713030747vw);
    font-weight: 700;
    margin-bottom: .439238653vw
}

.cp_strengthIcon__text {
    color: #555;
    display: block;
    font-size: max(1.04rem, .9516837482vw)
}

.cp_strengthIconList {
    display: flex;
    gap: .7320644217vw
}

@media only screen and (max-width:767px) {
    .cp_strengthIconList {
        flex-wrap: wrap
    }
}

.cp_strengthIconList__item {
    display: block;
    list-style: none;
    width: calc(10% - .58565vw)
}

@media only screen and (max-width:767px) {
    .cp_strengthIconList__item {
        width: auto
    }
}

.cp_problemBox {
    padding-top: 4.39238653vw
}

.cp_problemBox__head {
    align-items: center;
    display: flex;
    flex-direction: column;
    margin-bottom: 4.39238653vw
}

.cp_problemBox__titleEn {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.8rem, 2.9282576867vw);
    font-style: normal;
    font-weight: 700;
    margin-bottom: 1.4641288433vw
}

.cp_problemBox__title {
    color: #15752f;
    font-weight: 700
}

.cp_problemList {
    display: flex;
    gap: 2.196193265vw;
    justify-content: center
}

@media only screen and (max-width:767px) {
    .cp_problemList {
        flex-wrap: wrap
    }
}

.cp_problemList--inDetail {
    justify-content: start
}

.cp_problemList__item {
    display: block;
    list-style: none;
    width: calc(20% - 3.51391vw)
}

@media only screen and (max-width:767px) {
    .cp_problemList__item {
        width: calc(33.333% - 2.92826vw)
    }
}

.cp_problemList__radio {
    display: none
}

.cp_problemList__label {
    align-items: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    aspect-ratio: 1.618/1;
    background-color: #f5f5f5;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.5;
    outline: none;
    padding: 1.4641288433vw;
    position: relative;
    text-align: center;
    width: 100%
}

.cp_problemList--inDetail .cp_problemList__label {
    aspect-ratio: 4/3;
    gap: .7320644217vw;
    justify-content: start
}

.cp_problemList__label span {
    position: relative;
    z-index: 1
}

.cp_problemList__label:before {
    background-color: #126629;
    background-color: #000;
    content: "";
    height: 100%;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .3s ease-in-out, opacity 0s linear .3s;
    width: 100%;
    z-index: 0
}

.cp_problemList__label:after {
    background-image: url(../../img/icon_checked.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 5.1244509517vw;
    left: 50%;
    opacity: 0;
    position: absolute;
    top: 0;
    transform: translate(-50%, -50%);
    transition: opacity .3s ease-in-out;
    width: 5.1244509517vw;
    z-index: 2
}

.cp_problemList__label:hover {
    color: #fff
}

.cp_problemList__label:hover:before {
    opacity: 1;
    transform: scaleX(1);
    transform-origin: left;
    transition: transform .3s ease-in-out, opacity 0s linear 0s
}

.cp_problemList__radio:checked+.cp_problemList__label {
    color: #fff
}

.cp_problemList__radio:checked+.cp_problemList__label:before {
    opacity: 1;
    transform: scaleX(1);
    transform-origin: left;
    transition: transform .3s ease-in-out, opacity 0s linear 0s
}

.cp_problemList__radio:checked+.cp_problemList__label:after {
    animation: checkIcon .3s ease-in-out forwards
}

.cp_problemList__radio:disabled+.cp_problemList__label {
    cursor: default
}

.cp_problemList__radio:disabled+.cp_problemList__label:before {
    display: none
}

.cp_problemList__radio:disabled+.cp_problemList__label:hover {
    color: #000
}

.cp_problemList__title {
    align-items: center;
    display: flex;
    font-weight: 700;
    min-height: 3em
}

@media only screen and (max-width:767px) {
    .cp_problemList__title {
        font-size: max(.96rem, .878477306vw)
    }
}

.cp_problemList__text {
    color: #555;
    display: block;
    font-size: max(1.04rem, .9516837482vw);
    text-align: left
}

@media only screen and (max-width:767px) {
    .cp_problemList__text {
        font-size: max(.96rem, .878477306vw)
    }
}

@keyframes checkIcon {
    0% {
        opacity: 0;
        transform: scale(.9) translate(-50%, -50%)
    }

    50% {
        opacity: .5;
        transform: scale(1.1) translate(-50%, -50%)
    }

    to {
        opacity: 1;
        transform: scale(1) translate(-50%, -50%)
    }
}

.cp_problemArrow {
    display: block;
    margin: 2.9282576867vw auto;
    width: 5.8565153734vw
}

.cp_problemArrow img {
    display: block;
    height: auto;
    width: 100%
}

.cp_serviceList {
    display: flex;
    flex-wrap: wrap;
    gap: 4.39238653vw;
    transition: all .4s ease
}

.cp_serviceList__item {
    display: block;
    flex-shrink: 0;
    list-style: none;
    transition: filter .4s ease;
    width: calc(33.33% - 2.92826vw);
    will-change: transform
}

.cp_servicePointList {
    display: flex
}

@media only screen and (max-width:767px) {
    .cp_servicePointList {
        flex-direction: column
    }
}

.cp_servicePointList__item {
    display: block;
    list-style: none;
    padding: 2.196193265vw;
    position: relative;
    width: 33.33%
}

@media only screen and (max-width:767px) {
    .cp_servicePointList__item {
        padding: 0 0 20px;
        width: 100%
    }
}

.cp_servicePointList__item:after {
    border-right: .5px solid #acacac;
    content: "";
    height: 75%;
    left: 0;
    position: absolute;
    top: 12.5%;
    width: 1px
}

@media only screen and (max-width:767px) {
    .cp_servicePointList__item:after {
        display: none
    }
}

.cp_servicePointList__head {
    align-items: center;
    display: flex;
    gap: 1.4641288433vw;
    margin-bottom: 2.196193265vw;
    min-height: 4.39238653vw
}

.cp_servicePointList__icon {
    align-items: center;
    border-right: .5px solid #acacac;
    display: flex;
    flex-direction: column;
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-style: normal;
    font-weight: 700;
    justify-content: center;
    padding-right: 1.4641288433vw
}

.cp_servicePointList__iconNum {
    font-size: max(2.56rem, 2.3426061493vw)
}

.cp_servicePointList__title {
    font-size: max(1.6rem, 1.4641288433vw);
    font-weight: 700;
    line-height: 1.5
}

.cp_servicePointList__text {
    color: #555
}

.cp_lineupList {
    display: flex;
    flex-wrap: wrap;
    gap: 4.39238653vw
}

.cp_lineupList__item {
    display: block;
    list-style: none;
    width: calc(50% - 2.92826vw)
}

@media only screen and (max-width:767px) {
    .cp_lineupList__item {
        width: 100%
    }
}

.cp_lineupItem {
    display: flex;
    gap: .7320644217vw
}

@media only screen and (max-width:767px) {
    .cp_lineupItem {
        gap: 10px
    }
}

.cp_lineupItem__img {
    aspect-ratio: 1/1;
    background: #e5e5e5;
    height: 140px;
    width: 140px
}

@media only screen and (max-width:767px) {
    .cp_lineupItem__img {
        height: 70px;
        width: 70px
    }
}

.cp_lineupItem__img img {
    aspect-ratio: 1/1;
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.cp_lineupItem__contents {
    flex: 1;
    line-height: 1.5
}

.cp_lineupItem__name {
    display: block;
    font-size: max(1.28rem, 1.1713030747vw);
    font-weight: 700;
    margin-bottom: .439238653vw
}

.cp_lineupItem__text {
    color: #555;
    display: block;
    font-size: max(1.04rem, .9516837482vw)
}

.cp_expertTable {
    line-height: 1.5
}

.cp_expertTable tbody tr {
    box-shadow: 0 1px 2px rgba(0, 0, 0, .1)
}

.cp_expertTable__th {
    background: transparent;
    color: #fff;
    font-size: max(1.6rem, 1.4641288433vw);
    font-weight: 700;
    padding: 0 3.2942898975vw;
    vertical-align: bottom
}

.cp_expertTable__th--title {
    width: 20%
}

.cp_expertTable__th--main {
    width: 40%
}

.cp_expertTable__th--sub {
    color: #fff;
    width: 40%
}

.cp_expertTable__thCell {
    border-top-left-radius: .878477306vw;
    border-top-right-radius: .878477306vw
}

.cp_expertTable__thCell--main {
    background: linear-gradient(180deg, #24cb52, #15752f);
    padding: 3.2942898975vw 2.196193265vw
}

.cp_expertTable__thCell--sub {
    background: linear-gradient(180deg, #565d56, #3f443f);
    padding: 2.196193265vw
}

.cp_expertTable__td {
    background: #fff;
    padding: 0 3.2942898975vw
}

.cp_expertTable__td--title {
    font-weight: 700;
    text-align: center
}

tr:nth-child(2n) .cp_expertTable__td {
    background: #f4f5f4
}

.cp_expertTable__cell {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 2.196193265vw;
    justify-content: center;
    padding: 2.196193265vw
}

.cp_expertTable__cell--main {
    background-color: #eaf8e1
}

tr:nth-child(2n) .cp_expertTable__cell--main {
    background: #dae8cc
}

.cp_bpoResultsBox {
    background: #fff;
    border-radius: 1.4641288433vw;
    margin-bottom: 4.39238653vw;
    margin-top: 2.196193265vw;
    padding: 0 3.2942898975vw 3.2942898975vw
}

@media only screen and (max-width:767px) {
    .cp_bpoResultsBox {
        margin-top: 40px
    }
}

.cp_bpoResultsBox__title {
    background: #000;
    color: #fff;
    display: inline-flex;
    font-size: max(1.6rem, 1.4641288433vw);
    font-weight: 500;
    padding: .7320644217vw 2.196193265vw;
    transform: translateY(-50%)
}

@media only screen and (max-width:767px) {
    .cp_bpoResultsBox__title {
        font-size: max(1.44rem, 1.317715959vw);
        padding: var(--space-xs) var(--space-sm);
        width: 100%
    }
}

.cp_bpoResultsBox__body {
    align-items: center;
    display: flex;
    gap: 3.2942898975vw
}

@media only screen and (max-width:767px) {
    .cp_bpoResultsBox__body {
        flex-direction: column
    }
}

.cp_bpoResultsBox__l {
    width: 40%
}

@media only screen and (max-width:767px) {
    .cp_bpoResultsBox__l {
        width: 100%
    }
}

.cp_bpoResultsBox__r {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .cp_bpoResultsBox__r {
        padding-left: 2em;
        width: 100%
    }
}

.cp_bpoResultsBox__label {
    background: #f5f5f5;
    color: #555;
    display: inline-flex;
    font-size: max(1.2rem, 1.0980966325vw);
    margin-bottom: .7320644217vw;
    padding: .3660322108vw 1.4641288433vw
}

.cp_bpoResultsBox__detail {
    align-items: baseline;
    display: flex;
    gap: .7320644217vw
}

.cp_bpoResultsBox__detailElm {
    font-size: max(2.08rem, 1.9033674963vw);
    font-weight: 700
}

.cp_bpoResultsBox__detailElm--lg {
    font-size: max(3.2rem, 2.9282576867vw)
}

.cp_bpoResultsElm {
    display: flex;
    flex-direction: column;
    line-height: 1.8
}

.cp_bpoResultsElm__label {
    display: block;
    font-size: max(1.44rem, 1.317715959vw);
    font-weight: 500;
    position: relative
}

.cp_bpoResultsElm__label:before {
    background: #1a923b;
    content: "";
    height: 2px;
    left: -18px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 10px
}

.cp_bpoResultsElm__text {
    color: #555;
    display: block
}

.cp_serviceFlow {
    counter-reset: flow
}

@media only screen and (max-width:767px) {
    .cp_serviceFlow {
        padding: 0 0 20px
    }
}

.cp_serviceFlow__item {
    background: #fff;
    color: #fff;
    display: flex;
    justify-content: space-between;
    padding: 2.196193265vw 1.4641288433vw;
    position: relative
}

@media only screen and (max-width:767px) {
    .cp_serviceFlow__item {
        padding: 20px 10px 20px 0
    }
}

.cp_serviceFlow__item:after {
    bottom: 0;
    box-shadow: 2px 5px 8px rgba(0, 0, 0, .2);
    content: "";
    display: block;
    height: 5px;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 1
}

.cp_serviceFlow__item:first-child {
    background: #5ddbbc
}

.cp_serviceFlow__item:nth-child(2) {
    background: #28b390
}

.cp_serviceFlow__item:nth-child(3) {
    background: #1c7d65
}

.cp_serviceFlow__item:nth-child(4) {
    background: #eda006
}

.cp_serviceFlow__item:nth-child(5) {
    background: #0e3d32
}

.cp_serviceFlow__item:nth-child(6) {
    background: #eda006
}

.cp_serviceFlow__ic {
    align-items: center;
    box-sizing: border-box;
    color: #fff;
    display: flex;
    justify-content: center;
    position: relative;
    text-align: center;
    width: 8.78477306vw
}

.cp_serviceFlow__ic:after {
    border-color: #5ddbbc transparent transparent;
    border-style: solid;
    border-width: 15px 20px 0;
    content: "";
    height: 0;
    left: 50%;
    position: absolute;
    top: calc(100% + 2.19619vw);
    transform: translate(-50%);
    width: 0;
    z-index: 2
}

@media only screen and (max-width:767px) {
    .cp_serviceFlow__ic {
        width: 60px
    }
}

.cp_serviceFlow__item:nth-child(2) .cp_serviceFlow__ic:after {
    border-color: #28b390 transparent transparent
}

.cp_serviceFlow__item:nth-child(3) .cp_serviceFlow__ic:after {
    border-color: #1c7d65 transparent transparent
}

.cp_serviceFlow__item:last-child .cp_serviceFlow__ic:after {
    display: none
}

.cp_serviceFlow__icNum {
    display: block;
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(3.2rem, 2.9282576867vw);
    font-style: normal;
    font-weight: 700;
    font-weight: 500
}

.cp_serviceFlow__icNum:before {
    content: counter(flow);
    counter-increment: flow
}

.cp_serviceFlow__cont {
    align-items: center;
    display: flex;
    flex: 1
}

.cp_serviceFlow__title {
    font-size: max(1.6rem, 1.4641288433vw);
    font-weight: 700
}

@media only screen and (max-width:767px) {
    .cp_serviceFlow__title {
        line-height: 1.6
    }
}

.cp_attentionBox {
    align-items: center;
    background: #f5f5f5;
    border-radius: 1.6105417277vw;
    display: flex;
    gap: 1.4641288433vw;
    margin-bottom: 3.2942898975vw;
    padding: 2.196193265vw 3.2942898975vw
}

.cp_attentionBox__icon {
    align-items: center;
    background-color: #eab300;
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(2.56rem, 2.3426061493vw);
    font-style: normal;
    font-weight: 700;
    height: 3.953147877vw;
    justify-content: center;
    width: 3.953147877vw
}

.cp_attentionBox__text {
    font-size: max(1.44rem, 1.317715959vw);
    line-height: 1.5
}

.cp_faq__item {
    border-bottom: 1px solid #acacac;
    display: block;
    line-height: 1.8;
    list-style: none;
    margin-bottom: 2.196193265vw
}

.cp_faq__q {
    padding: calc(var(--space-xs)/2) 15px calc(var(--space-xs)/2) 2.0497803807vw;
    position: relative
}

@media only screen and (max-width:767px) {
    .cp_faq__q {
        padding-right: 0
    }
}

.cp_faq__q:before {
    align-items: center;
    content: "Q";
    display: inline-flex;
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.92rem, 1.756954612vw);
    font-style: normal;
    font-weight: 700;
    height: 3.2210834553vw;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    width: 3.2210834553vw
}

@media only screen and (max-width:767px) {
    .cp_faq__q:before {
        top: 10px
    }
}

.cp_faq__q span {
    display: block;
    padding: .2196193265vw 2.0497803807vw
}

@media only screen and (max-width:767px) {
    .cp_faq__q span {
        padding: 2px 0 0 12px
    }
}

.cp_faq__a {
    padding: calc(var(--space-xs)/2) 15px 2.196193265vw 2.0497803807vw;
    position: relative
}

@media only screen and (max-width:767px) {
    .cp_faq__a {
        padding-right: 0
    }
}

.cp_faq__a:before {
    align-items: center;
    content: "A";
    display: inline-flex;
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.92rem, 1.756954612vw);
    font-style: normal;
    font-weight: 700;
    height: 3.2210834553vw;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    width: 3.2210834553vw
}

@media only screen and (max-width:767px) {
    .cp_faq__a:before {
        top: 10px
    }
}

.cp_faq__a span {
    display: block;
    padding: .2196193265vw 2.0497803807vw
}

@media only screen and (max-width:767px) {
    .cp_faq__a span {
        padding: 2px 0 0 12px
    }
}

.cp_contactBox {
    padding-bottom: 4.39238653vw;
    width: 100%
}

.cp_contactBox__inner {
    align-items: center;
    background: #f5f5f5;
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0 auto;
    max-width: 1000px;
    padding: 4.39238653vw
}

@media only screen and (max-width:767px) {
    .cp_contactBox__inner {
        padding-left: 10px;
        padding-right: 10px;
        padding-top: 28px
    }
}

.cp_contactBox__head {
    align-items: center;
    display: flex;
    flex-direction: column;
    margin-bottom: 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .cp_contactBox__head {
        margin-bottom: 30px
    }
}

.cp_contactBox__titleEn {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.8rem, 2.3426061493vw);
    font-style: normal;
    font-weight: 700;
    margin-bottom: 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .cp_contactBox__titleEn {
        padding-bottom: 10px
    }
}

.cp_contactBox__title {
    font-weight: 700;
    position: relative
}

.cp_contactBox__title:after {
    background: #1a923b;
    bottom: -1.4641288433vw;
    content: "";
    height: 2px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 10%
}

@media only screen and (max-width:767px) {
    .cp_contactBox__title:after {
        bottom: -15px
    }
}

.cp_contactBox__title--lg {
    font-size: max(1.6rem, 1.4641288433vw)
}

.cp_contactBox__text {
    color: #555;
    font-size: max(1.28rem, 1.1713030747vw);
    margin-top: 2.196193265vw;
    text-align: center
}

.cp_contactBox__btns {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 2.196193265vw;
    margin-top: 2.196193265vw
}

.cp_contactBox__btns--Vmid {
    margin-top: 4.39238653vw
}

.cp_contactBox__note {
    align-items: center;
    display: flex;
    gap: .7320644217vw;
    padding-bottom: 2.196193265vw
}

@media only screen and (max-width:767px) {
    .cp_contactBox__note {
        flex-direction: column;
        gap: 6px;
        margin-top: 10px
    }
}

.cp_contactBox__noteLabel {
    font-weight: 500
}

.cp_contactBox__noteValue {
    height: 1.2298682284vw
}

@media only screen and (max-width:767px) {
    .cp_contactBox__noteValue {
        height: 14px
    }
}

.cp_contactBox__noteValue img {
    display: block;
    height: 100%;
    width: auto
}

.cp_tel {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 1.4641288433vw;
    justify-content: center;
    padding: 2.196193265vw
}

.cp_tel__top {
    display: flex;
    gap: 6px;
    margin-bottom: 2px
}

.cp_tel__icon svg {
    height: 3.2210834553vw;
    width: 3.953147877vw;
    fill: #000
}

@media only screen and (max-width:767px) {
    .cp_tel__icon svg {
        height: 30px;
        width: 36px
    }
}

.cp_tel__num {
    color: #000;
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.8rem, 2.9282576867vw);
    font-style: normal;
    font-weight: 700
}

@media only screen and (max-width:767px) {
    .cp_tel__num {
        font-size: max(2.88rem, 2.635431918vw)
    }
}

.cp_tel__text {
    font-size: max(1rem, 1.0248901903vw);
    line-height: 1.6;
    text-align: center
}

.cp_contactBoxContainer {
    align-items: stretch;
    display: flex;
    gap: 2.196193265vw
}

@media only screen and (max-width:767px) {
    .cp_contactBoxContainer {
        flex-direction: column
    }
}

.cp_contactBoxContainer .cp_contactBox__inner {
    padding: 4.39238653vw 0 .7320644217vw
}

@media only screen and (max-width:767px) {
    .cp_contactBoxContainer .cp_contactBox__inner {
        padding: 30px 20px
    }
}

.cp_terms {
    counter-reset: title_item
}

.cp_termsBox {
    margin-top: 4.39238653vw
}

.cp_termsBox:first-child {
    margin-top: 0
}

.cp_termsBox--sign {
    line-height: 1.8;
    text-align: right
}

.cp_termsBox--sm {
    margin-top: 2.196193265vw
}

.cp_termsBox__title {
    font-size: max(1.6rem, 1.4641288433vw);
    font-weight: 500;
    margin-bottom: 1.4641288433vw
}

.cp_termsBox__title--hasNumber {
    counter-increment: title_item
}

.cp_termsBox__title--hasNumber:before {
    border: none;
    content: counter(title_item) ". ";
    left: 0;
    top: 0
}

.cp_termsBox__title--sm {
    font-size: max(1.44rem, 1.317715959vw)
}

.cp_termsList {
    counter-reset: item;
    margin: .5em 0 1em;
    padding: 0
}

.cp_termsList__item {
    line-height: 1.8;
    list-style: none;
    list-style-type: none;
    margin-bottom: calc(var(--space-xs)/2);
    padding-left: 1.2em;
    position: relative
}

.cp_termsList__item p {
    margin-bottom: 0
}

.cp_termsList__item:before {
    border-top: 1px solid #000;
    content: "";
    display: inline-flex;
    height: 1px;
    left: .2em;
    position: absolute;
    top: .7em;
    width: 5px
}

.cp_termsList--ol>.cp_termsList__item {
    counter-increment: item;
    padding-left: 1.5em
}

.cp_termsList--ol>.cp_termsList__item:before {
    border: none;
    content: counter(item) ".";
    left: 0;
    top: 0
}

.cp_termsList--olHasBracket>.cp_termsList__item {
    counter-increment: item;
    padding-left: 1.5em
}

.cp_termsList--olHasBracket>.cp_termsList__item:before {
    border: none;
    content: "(" counter(item) ")";
    left: 0;
    top: 0
}

.cp_termsList--olRoman>.cp_termsList__item {
    counter-increment: item;
    padding-left: 1.5em
}

.cp_termsList--olRoman>.cp_termsList__item:before {
    border: none;
    content: counter(item, lower-roman);
    left: 0;
    top: 0
}

.cp_termsTable {
    border-bottom: 1px solid #f2f2e7;
    line-height: 1.6;
    margin: 0 0 30px;
    width: 100%
}

.cp_termsTable th {
    border-right: 1px solid #fff;
    padding: .7320644217vw 1.4641288433vw;
    text-align: left;
    width: 50%
}

.cp_termsTable thead tr {
    background: #c1bfb0
}

.cp_termsTable tr {
    background: #f9f9f7
}

.cp_termsTable tr:nth-child(2n) {
    background: #f2f2e7
}

.cp_termsTable td {
    border-right: 1px solid #fff;
    padding: .7320644217vw 1.4641288433vw
}

.cp_termsTable--app th {
    width: 33.33%
}

.cp_termsTable--app th.cp_termsTableApp__th1 {
    width: 35%
}

.cp_termsTable--app th.cp_termsTableApp__th2 {
    width: 20%
}

.cp_termsTable--app th.cp_termsTableApp__th3 {
    width: 45%
}

.js_fadeInBlur {
    filter: blur(10px);
    opacity: 0;
    pointer-events: none;
    transform: scale(1.03);
    transition: opacity .8s ease, filter .8s ease, transform .8s ease
}

.js_fadeInBlur.is_active {
    filter: blur(0);
    opacity: 1;
    pointer-events: auto;
    transform: scale(1)
}

.js_fadeInUp {
    opacity: 0;
    pointer-events: none;
    transform: translateY(1.2vw);
    transition: opacity 1.4s ease, transform 1.4s ease
}

.js_fadeInUp.is_active {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0)
}

.js_fadeInUpLate {
    opacity: 0;
    pointer-events: none;
    transform: translateY(1.2vw);
    transition: opacity 1.4s ease, transform 1.4s ease
}

.js_fadeInUpLate.is_active {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0)
}

.js_fadeInToLeft {
    opacity: 0;
    pointer-events: none;
    transform: translateX(1.2vw);
    transition: opacity 1.4s ease, transform 1.4s ease
}

.js_fadeInToLeft.is_active {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0)
}

.js_fadeIn {
    opacity: 0;
    pointer-events: none;
    transition: opacity 1.4s ease
}

.js_fadeIn.is_active {
    opacity: 1;
    pointer-events: auto
}

.js_fadeInChild .js_fadeInChild__elm {
    opacity: 0;
    pointer-events: none;
    transform: translateY(1.2vw);
    transition: opacity 1.4s, transform 1.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1)
}

.js_fadeInChild.is_active .js_fadeInChild__elm:first-child {
    transition-delay: 0s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(2) {
    transition-delay: .2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(3) {
    transition-delay: .4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(4) {
    transition-delay: .6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(5) {
    transition-delay: .8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(6) {
    transition-delay: 1s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(7) {
    transition-delay: 1.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(8) {
    transition-delay: 1.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(9) {
    transition-delay: 1.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(10) {
    transition-delay: 1.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(11) {
    transition-delay: 2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(12) {
    transition-delay: 2.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(13) {
    transition-delay: 2.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(14) {
    transition-delay: 2.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(15) {
    transition-delay: 2.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(16) {
    transition-delay: 3s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(17) {
    transition-delay: 3.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(18) {
    transition-delay: 3.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(19) {
    transition-delay: 3.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(20) {
    transition-delay: 3.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(21) {
    transition-delay: 4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(22) {
    transition-delay: 4.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(23) {
    transition-delay: 4.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(24) {
    transition-delay: 4.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(25) {
    transition-delay: 4.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(26) {
    transition-delay: 5s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(27) {
    transition-delay: 5.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(28) {
    transition-delay: 5.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(29) {
    transition-delay: 5.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(30) {
    transition-delay: 5.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(31) {
    transition-delay: 6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(32) {
    transition-delay: 6.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(33) {
    transition-delay: 6.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(34) {
    transition-delay: 6.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(35) {
    transition-delay: 6.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(36) {
    transition-delay: 7s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(37) {
    transition-delay: 7.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(38) {
    transition-delay: 7.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(39) {
    transition-delay: 7.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(40) {
    transition-delay: 7.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(41) {
    transition-delay: 8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(42) {
    transition-delay: 8.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(43) {
    transition-delay: 8.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(44) {
    transition-delay: 8.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(45) {
    transition-delay: 8.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(46) {
    transition-delay: 9s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(47) {
    transition-delay: 9.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(48) {
    transition-delay: 9.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(49) {
    transition-delay: 9.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(50) {
    transition-delay: 9.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(51) {
    transition-delay: 10s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(52) {
    transition-delay: 10.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(53) {
    transition-delay: 10.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(54) {
    transition-delay: 10.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(55) {
    transition-delay: 10.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(56) {
    transition-delay: 11s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(57) {
    transition-delay: 11.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(58) {
    transition-delay: 11.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(59) {
    transition-delay: 11.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(60) {
    transition-delay: 11.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(61) {
    transition-delay: 12s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(62) {
    transition-delay: 12.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(63) {
    transition-delay: 12.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(64) {
    transition-delay: 12.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(65) {
    transition-delay: 12.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(66) {
    transition-delay: 13s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(67) {
    transition-delay: 13.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(68) {
    transition-delay: 13.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(69) {
    transition-delay: 13.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(70) {
    transition-delay: 13.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(71) {
    transition-delay: 14s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(72) {
    transition-delay: 14.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(73) {
    transition-delay: 14.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(74) {
    transition-delay: 14.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(75) {
    transition-delay: 14.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(76) {
    transition-delay: 15s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(77) {
    transition-delay: 15.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(78) {
    transition-delay: 15.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(79) {
    transition-delay: 15.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(80) {
    transition-delay: 15.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(81) {
    transition-delay: 16s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(82) {
    transition-delay: 16.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(83) {
    transition-delay: 16.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(84) {
    transition-delay: 16.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(85) {
    transition-delay: 16.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(86) {
    transition-delay: 17s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(87) {
    transition-delay: 17.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(88) {
    transition-delay: 17.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(89) {
    transition-delay: 17.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(90) {
    transition-delay: 17.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(91) {
    transition-delay: 18s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(92) {
    transition-delay: 18.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(93) {
    transition-delay: 18.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(94) {
    transition-delay: 18.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(95) {
    transition-delay: 18.8s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(96) {
    transition-delay: 19s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(97) {
    transition-delay: 19.2s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(98) {
    transition-delay: 19.4s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(99) {
    transition-delay: 19.6s
}

.js_fadeInChild.is_active .js_fadeInChild__elm:nth-child(100) {
    transition-delay: 19.8s
}

.js_fadeInWithColor {
    opacity: 0;
    pointer-events: none
}

.js_fadeInWithColor.is_active {
    animation: fadeInWithColor 1.5s forwards;
    pointer-events: auto
}

@keyframes fadeInWithColor {
    0% {
        color: #1a923b;
        opacity: 0
    }

    50% {
        color: #1a923b;
        opacity: 1
    }

    to {
        color: #000;
        opacity: 1
    }
}

@keyframes fadeInShrink {
    0% {
        color: #1a923b;
        opacity: 0;
        transform: scale(1.15)
    }

    50% {
        color: #1a923b;
        opacity: .5;
        transform: scale(1)
    }

    to {
        color: #000;
        opacity: 1;
        transform: scale(1)
    }
}

.an_letter {
    animation: fadeInShrink 1.5s forwards;
    display: inline-block;
    opacity: 0
}

.cp_loading {
    left: 50%;
    opacity: 1;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: opacity .5s ease
}

.cp_loading.is_hide {
    opacity: 0
}

.cp_loading img {
    height: 44px;
    width: 44px
}

.cp_pagination {
    display: flex;
    gap: .5856515373vw;
    padding: 1.4641288433vw 0
}

@media only screen and (max-width:767px) {
    .cp_pagination {
        gap: 12px;
        padding: 20px 0
    }
}

.cp_pagination__btn {
    align-items: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #fff;
    border: none;
    border: 1px solid rgba(0, 0, 0, .5);
    border-radius: 50%;
    color: #000;
    display: inline-flex;
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-style: normal;
    font-weight: 700;
    font-weight: 300;
    height: 2.9282576867vw;
    justify-content: center;
    outline: none;
    position: relative;
    transition: all .3s ease-in-out;
    width: 2.9282576867vw
}

@media only screen and (max-width:767px) {
    .cp_pagination__btn {
        height: 40px;
        width: 40px
    }
}

.cp_pagination__btn span {
    position: relative;
    z-index: 2
}

.cp_pagination__btn:before {
    background-color: #1faf47;
    border-radius: 50%;
    content: "";
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: scale(0);
    transform-origin: center;
    transition: transform .1s ease-in-out, opacity 0s linear .3s;
    width: 100%;
    z-index: 0
}

.cp_pagination__btn:hover {
    color: #fff
}

.cp_pagination__btn:hover:before {
    opacity: 1;
    transform: scale(1.05);
    transform-origin: center;
    transition: transform .2s ease-in-out, opacity 0s linear 0s
}

.cp_pagination__btn[disabled] {
    background: #e5e5e5;
    border-color: #e5e5e5;
    color: #929292
}

.cp_pagination__btn[disabled]:before {
    background-color: #e5e5e5
}

.cp_columnList {
    display: flex;
    flex-wrap: wrap;
    gap: 4.39238653vw;
    transition: all .4s ease
}

.cp_columnList__item {
    display: block;
    list-style: none;
    width: calc(33.33% - 2.92826vw)
}

@media only screen and (max-width:767px) {
    .cp_columnList__item {
        width: calc(50% - 2.19619vw)
    }
}

.pr_home {
    margin-bottom: calc(var(--space-xxl)*2);
    padding-bottom: calc(var(--space-xxl)*2);
    padding-left: var(--space-md);
    pointer-events: none;
    position: relative;
    width: 100%
}

@media only screen and (max-width:767px) {
    .pr_home {
        padding-bottom: calc(var(--space-xxl)*4)
    }
}

.pr_home__tagline {
    color: #333;
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: 8.2em;
    font-style: normal;
    font-weight: 700;
    font-weight: 800;
    left: 2vw;
    max-width: 1240px;
    position: sticky;
    top: 80px;
    will-change: transform;
    z-index: 2
}

@media only screen and (max-width:767px) {
    .pr_home__tagline {
        font-size: 4.2em;
        top: 60px
    }
}

.pr_home__taglineAfter {
    min-height: 100vh;
    padding-top: var(--space-xxl)
}

.pr_homeCover {
    left: 0;
    min-height: 100vh;
    position: absolute;
    top: 0;
    width: 100%
}

.pr_homeCover__bg {
    background: #e5e5e5;
    position: relative
}

.pr_homeCover__video {
    display: block;
    height: 100vh;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%;
    z-index: 0
}

.pr_homeMission {
    display: flex;
    justify-content: end;
    min-height: 100vh;
    position: relative;
    width: 100%
}

@media only screen and (max-width:767px) {
    .pr_homeMission {
        flex-direction: column;
        justify-content: start;
        overflow: hidden
    }
}

.pr_homeMissionContainer {
    padding: var(--space-xxl) var(--space-md) 0 0;
    position: relative;
    width: 35%;
    z-index: 101
}

@media only screen and (max-width:767px) {
    .pr_homeMissionContainer {
        padding: calc(var(--space-xl)*4.5) var(--space-md) 0;
        width: 100%
    }
}

.pr_homeMission__title {
    font-size: max(1.8rem, 2.9282576867vw);
    font-weight: 700;
    line-height: 2;
    margin-bottom: var(--space-md)
}

.pr_homeMission__text {
    font-size: max(1.3rem, 1.1346998536vw);
    font-weight: 400;
    line-height: 1.8;
    margin-bottom: var(--space-lg)
}

.pr_homeMission__video {
    display: block;
    height: 150vh;
    left: 0;
    mix-blend-mode: screen;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    opacity: .5;
    position: absolute;
    top: 0;
    width: 100vw;
    z-index: 99
}

.pr_circleWrapper {
    height: 30vw;
    margin: 0 auto;
    padding-top: calc(var(--space-xxl)*6);
    pointer-events: none;
    width: 30vw
}

@media only screen and (max-width:767px) {
    .pr_circleWrapper {
        margin-left: auto;
        margin-right: var(--space-xxl);
        padding-top: var(--space-xxl)
    }
}

.pr_circle {
    aspect-ratio: 1/1;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 50%;
    position: relative;
    width: 100%;
    will-change: transform
}

.pr_dot {
    --count: 8;
    --radius: 15vw;
    background: #178335;
    border-radius: 50%;
    height: var(--dot-size);
    left: 50%;
    opacity: .8;
    position: absolute;
    top: 50%;
    transform: rotate(calc(1turn/var(--count)*var(--i))) translateX(var(--radius)) rotate(calc(-1turn/var(--count)*var(--i))) translate(-50%, -50%);
    transform-origin: center center;
    width: var(--dot-size)
}

.pr_homePanel {
    padding-bottom: calc(var(--space-xxl)*4);
    padding-top: calc(var(--space-xxl)*2)
}

@media only screen and (max-width:767px) {
    .pr_homePanel {
        padding-bottom: var(--space-xxl);
        padding-top: var(--space-xxl)
    }
}

.pr_homePanel--service {
    background: #e5e5e5;
    padding-bottom: 0;
    position: relative;
    z-index: 99
}

.pr_homePanel--news {
    background: #e5e5e5
}

.pr_homePanel--marks,
.pr_homePanel--news {
    min-height: -moz-fit-content;
    min-height: fit-content;
    padding: var(--space-xxl) var(--space-md)
}

.pr_homePanelHead {
    align-items: center;
    display: flex;
    justify-content: space-between
}

.pr_homePanelHead__title {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(2.56rem, 2.3426061493vw);
    font-style: normal;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: var(--space-lg)
}

.pr_homePanelContainer {
    margin: 0 auto;
    padding: 0 var(--space-md);
    position: relative;
    width: 100%
}

.pr_homeService {
    margin-top: var(--space-xxl)
}

@media only screen and (max-width:767px) {
    .pr_homeService {
        margin-top: var(--space-lg);
        padding-bottom: 30px
    }
}

.pr_homeService__strength {
    margin-top: 4.39238653vw
}

.pr_homeService__link {
    align-items: end;
    color: #000;
    display: flex;
    justify-content: space-between;
    position: relative
}

.pr_homeService__link:hover .cp_btn {
    border-color: #178335;
    color: #fff
}

.pr_homeService__link:hover .cp_btn:before {
    opacity: 1;
    transform: scaleX(1);
    transform-origin: left;
    transition: transform .3s ease-in-out, opacity 0s linear 0s
}

@media only screen and (max-width:767px) {
    .pr_homeService__link {
        align-items: start;
        flex-direction: column
    }
}

.pr_homeService__text {
    background: #fff;
    display: inline-flex;
    flex-direction: column;
    font-size: max(1.3rem, 1.1346998536vw);
    gap: var(--space-xs);
    left: 0;
    padding: var(--space-lg) var(--space-xl);
    position: absolute;
    top: var(--space-lg);
    z-index: 2
}

@media only screen and (max-width:767px) {
    .pr_homeService__text {
        left: auto;
        margin-top: calc(var(--space-md)*-2);
        order: 2;
        padding: var(--space-md) var(--space-lg);
        position: relative;
        top: auto;
        width: 95%
    }
}

.pr_homeService__title {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: 1.5em;
    font-style: normal;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: var(--space-xs)
}

@media only screen and (max-width:767px) {
    .pr_homeService__title {
        font-size: 1.25em;
        line-height: 1.5;
        margin-bottom: 0
    }
}

.pr_homeService__img {
    aspect-ratio: 16/6;
    margin-left: auto;
    overflow: hidden;
    width: 80%
}

@media only screen and (max-width:767px) {
    .pr_homeService__img {
        order: 1
    }
}

.pr_homeService__img:hover img {
    transform: scale(1.05);
    transition: transform .3s ease-in-out
}

.pr_homeService__img img {
    transition: transform .3s ease-in-out
}

.pr_homeService__img img,
.pr_homeService__img video {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

.pr_homeServiceList {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md)
}

.pr_homeServiceList__item {
    display: block;
    list-style: none;
    width: calc(33.33% - var(--space-md)*2/3)
}

@media only screen and (max-width:767px) {
    .pr_homeServiceList__item {
        width: calc(50% - var(--space-md)/2)
    }
}

.pr_homeRecruit {
    text-align: center
}

.pr_homeRecruit__title {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: 2.8em;
    font-style: normal;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: var(--space-md)
}

.pr_homeRecruit__link {
    align-items: center;
    aspect-ratio: 16/9;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    justify-content: center;
    overflow: hidden;
    position: relative;
    transition: all .3s ease-in-out;
    width: 100%
}

.pr_homeRecruit__link:before {
    background-color: rgba(0, 0, 0, .5);
    opacity: .8;
    transition: opacity .3s ease-in-out;
    z-index: 1
}

.pr_homeRecruit__link:after,
.pr_homeRecruit__link:before {
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.pr_homeRecruit__link:after {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 0
}

.pr_homeRecruit__link:hover {
    cursor: pointer;
    opacity: 1;
    transform: scale(1.05);
    transition: all .3s ease-in-out
}

.pr_homeRecruit__link:hover:before {
    opacity: 0
}

.pr_homeRecruit__link--new:after {
    background-image: url(../../img/home_recruit_new.jpg)
}

.pr_homeRecruit__link--career:after {
    background-image: url(../../img/home_recruit_career.jpg)
}

.pr_homeRecruit__label {
    color: #fff;
    display: block;
    font-size: max(1.8rem, 2.9282576867vw);
    font-weight: 700;
    letter-spacing: .2em;
    position: relative;
    z-index: 2
}

.pr_homeRecruit .cp_circleBtn {
    background: transparent;
    border-color: #fff;
    position: relative;
    z-index: 2
}

.pr_homeRecruit .cp_circleBtn:after,
.pr_homeRecruit .cp_circleBtn:before {
    border-color: #fff
}

.pr_homeRecruitLinks {
    display: flex;
    justify-content: center;
    overflow: hidden
}

.pr_homeRecruitLinks__item {
    display: block;
    list-style: none;
    overflow: hidden;
    width: 50%
}

.pr_philosophyBox {
    padding: 4.39238653vw 2.196193265vw;
    position: relative
}

@media only screen and (max-width:767px) {
    .pr_philosophyBox {
        margin-bottom: 13.17715959vw;
        padding: 20px
    }
}

.pr_philosophyBox__contents {
    position: relative;
    z-index: 1
}

.pr_philosophyBox__eng,
.pr_philosophyBox__title {
    font-weight: 700;
    margin-bottom: 3.2942898975vw
}

.pr_philosophyBox__eng {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(8rem, 7.3206442167vw);
    font-style: normal;
    line-height: .75
}

@media only screen and (max-width:767px) {
    .pr_philosophyBox__eng {
        font-size: max(3.2rem, 2.9282576867vw)
    }
}

.pr_philosophyBox__tagline {
    font-size: max(2.56rem, 2.3426061493vw);
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .pr_philosophyBox__tagline {
        font-size: max(1.92rem, 1.756954612vw)
    }
}

.pr_philosophyBox__linkBox {
    margin: 3.2942898975vw 0
}

.pr_philosophyCode {
    display: flex;
    margin-bottom: 4.39238653vw
}

@media only screen and (max-width:767px) {
    .pr_philosophyCode {
        flex-direction: column;
        gap: 1.4641288433vw
    }
}

.pr_philosophyCode__head {
    width: 20em
}

.pr_philosophyCode__title {
    font-size: max(1.92rem, 1.756954612vw);
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 1.4641288433vw
}

.pr_philosophyCode__titleEn {
    color: #1a923b;
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.44rem, 1.317715959vw);
    font-style: normal;
    font-weight: 700;
    margin-bottom: 1.4641288433vw;
    opacity: .8
}

.pr_philosophyCode__text {
    flex: 1
}

.pr_companyIndexBox {
    display: flex;
    margin: 3.2942898975vw auto;
    width: 100%
}

.pr_companyIndexBox--mgXxl {
    margin: 5.8565153734vw auto
}

.pr_companyIndexBox--hasPaddingBottom {
    margin-bottom: 0;
    padding-bottom: 3.2942898975vw
}

.pr_profileBox {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4.39238653vw;
    width: 82.2108345534vw
}

@media only screen and (max-width:767px) {
    .pr_profileBox {
        width: 100%
    }
}

.pr_profilePhoto {
    width: 29.2825768668vw
}

.pr_profilePhoto img {
    display: block;
    height: auto;
    width: 100%
}

.pr_profileTable {
    line-height: 1.4
}

@media only screen and (max-width:767px) {
    .pr_profileTable {
        display: block;
        padding-right: 10px
    }
}

.pr_profileTable__label {
    padding: .7320644217vw .7320644217vw .7320644217vw 1.4641288433vw;
    position: relative;
    width: 7em
}

@media only screen and (max-width:767px) {
    .pr_profileTable__label {
        display: block;
        font-size: max(1.2rem, 1.0980966325vw)
    }
}

.pr_profileTable__label:before {
    border-left: 2px solid #000;
    content: "";
    height: calc(100% - 5px);
    left: 0;
    position: absolute;
    top: 2.5px;
    width: 100%;
    z-index: 1
}

.pr_profileTable__data {
    padding: .7320644217vw
}

@media only screen and (max-width:767px) {
    .pr_profileTable__data {
        display: block;
        font-size: max(1.2rem, 1.0980966325vw);
        margin-bottom: 10px
    }
}

.pr_directer {
    display: flex
}

.pr_directer__title {
    width: 8em
}

.pr_directer__name {
    flex: 1
}

.pr_topMessage p {
    margin-bottom: 3em
}

.pr_topMessageSign {
    line-height: 1.8;
    text-align: right
}

.pr_accessBox {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3.2942898975vw;
    width: 82.2108345534vw
}

@media only screen and (max-width:767px) {
    .pr_accessBox {
        flex-direction: column;
        gap: 10px;
        margin-bottom: 30px;
        width: 100%
    }
}

.pr_accessBox__info {
    line-height: 1.8;
    width: 29.2825768668vw
}

@media only screen and (max-width:767px) {
    .pr_accessBox__info {
        width: 100%
    }
}

.pr_accessBox__infoTitle {
    font-weight: 700;
    margin-bottom: 3.2942898975vw
}

.pr_accessBox__infoText {
    border-left: 2px solid #000;
    font-size: max(1rem, 1.0248901903vw);
    padding-left: 1.4641288433vw
}

.pr_accessBox__map {
    background: #fff;
    flex: 1;
    height: 29.2825768668vw;
    position: relative
}

.pr_googleMap {
    border: 3px double #15752f;
    display: block;
    height: 100%;
    width: 100%
}

.pr_officeLoc {
    background: #fff;
    width: 50%
}

@media only screen and (max-width:767px) {
    .pr_officeLoc {
        width: 100%
    }
}

.pr_officeLocList {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1px;
    position: relative;
    width: 100%
}

.pr_officeLocList:before {
    background: #000;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 1px;
    z-index: 1
}

.pr_officeLocList:nth-child(2n) {
    background: #f5f5f5
}

.pr_officeLocList:last-child {
    margin-bottom: 0
}

.pr_officeLocList:hover .pr_officeLocList__btn {
    background-color: #15752f;
    transition: width .3s ease-in-out, background-color .3s ease-in-out;
    width: 8.78477306vw
}

.pr_officeLocList__detail {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: .7320644217vw;
    padding: 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .pr_officeLocList__detail {
        padding: 15px
    }
}

.pr_officeLocList__text {
    color: #555;
    font-size: max(1rem, .9150805271vw);
    line-height: 1.5
}

.pr_officeLocList__btn {
    align-items: center;
    background: #000;
    display: flex;
    justify-content: center;
    transition: width .3s ease-in-out, background-color .3s ease-in-out;
    width: 5.8565153734vw
}

@media only screen and (max-width:767px) {
    .pr_officeLocList__btn {
        width: 40px
    }
}

.pr_officeLocList__icon {
    align-items: center;
    display: flex;
    justify-content: center;
    width: 1.756954612vw
}

@media only screen and (max-width:767px) {
    .pr_officeLocList__icon {
        width: 10px
    }
}

.pr_officeLocList__icon img {
    display: block;
    height: auto;
    width: 100%
}

.pr_complianceBox {
    display: flex;
    font-size: max(1.12rem, 1.0248901903vw);
    line-height: 1.8;
    margin: 3.2942898975vw 0;
    position: relative
}

.pr_complianceBox:first-of-type:before {
    top: -1.6471449488vw
}

.pr_complianceBox:after,
.pr_complianceBox:first-of-type:before {
    background-color: rgba(0, 0, 0, .05);
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%
}

.pr_complianceBox:after {
    bottom: -1.6471449488vw
}

.pr_complianceBox__title {
    font-weight: 700;
    padding-left: .7320644217vw;
    position: relative;
    width: 16.1054172767vw;
    z-index: 1
}

@media only screen and (max-width:767px) {
    .pr_complianceBox__title {
        width: 8em
    }
}

.pr_complianceBox:first-of-type .pr_complianceBox__title:before {
    background-color: rgba(0, 0, 0, .05);
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    top: -1.6471449488vw;
    width: 90%
}

.pr_complianceBox__title:after {
    background-color: #acacac;
    bottom: -1.6471449488vw;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 90%
}

.pr_complianceBox__text {
    flex: 1;
    padding-right: .7320644217vw
}

.pr_complianceBox__text p {
    margin-bottom: 0
}

.pr_statusBox {
    margin-bottom: 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .pr_statusTable {
        display: block
    }
}

.pr_statusTable__tr--hasLine {
    border-left: 3px solid rgba(0, 0, 0, .2)
}

.pr_statusTable__th {
    border-bottom: 1px solid rgba(0, 0, 0, .05);
    padding: .7320644217vw 0;
    text-align: left;
    width: 13em
}

@media only screen and (max-width:767px) {
    .pr_statusTable__th {
        border: none;
        display: block;
        padding: 10px 0;
        width: 100%
    }
}

.pr_statusTable__tr--hasLine .pr_statusTable__th {
    padding-left: 1em
}

.pr_statusTable__td {
    padding: .7320644217vw 0 .7320644217vw 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .pr_statusTable__td {
        border-bottom: 1px solid rgba(0, 0, 0, .1);
        display: block;
        padding: 0 0 10px
    }

    .pr_statusTable__tr--hasLine .pr_statusTable__td {
        padding-left: 1em
    }
}

tr:last-child .pr_statusTable__td {
    border-bottom: none
}

.pr_statusLink {
    display: flex;
    flex-wrap: wrap;
    gap: 1.4641288433vw;
    margin-top: 2.196193265vw
}

@media only screen and (max-width:767px) {
    .pr_statusLink {
        padding-bottom: 3.2942898975vw
    }
}

.pr_statusLink__item {
    display: block;
    list-style: none;
    width: calc(50% - .73206vw)
}

@media only screen and (max-width:767px) {
    .pr_statusLink__item {
        padding: 8px 0
    }
}

.pr_statusLink__item .cp_infoLink__data {
    min-width: 8em
}

.pr_sustainBox__title {
    font-size: max(1.92rem, 1.756954612vw);
    font-weight: 700;
    padding-bottom: 1.4641288433vw
}

.pr_sdgsBox {
    display: flex;
    padding-bottom: 5.8565153734vw;
    padding-top: 3.2942898975vw
}

@media only screen and (max-width:767px) {
    .pr_sdgsBox {
        flex-direction: column
    }
}

.pr_sdgsBox__contents {
    flex: 1;
    padding-right: 3.2942898975vw
}

.pr_sdgsBox__contents p {
    color: #555
}

.pr_sdgsBox__title {
    font-size: max(1.92rem, 1.756954612vw);
    font-weight: 700;
    margin-bottom: 1.4641288433vw
}

.pr_sdgsBox__poster {
    padding: 0 3.2942898975vw;
    width: 50%
}

@media only screen and (max-width:767px) {
    .pr_sdgsBox__poster {
        margin: 0 auto;
        padding: 20px 0;
        width: 70%
    }
}

.pr_sdgsBox__poster img {
    display: block;
    height: auto;
    width: 100%
}

.pr_sustainContents {
    display: flex;
    margin-top: 5.8565153734vw;
    position: relative
}

@media only screen and (max-width:767px) {
    .pr_sustainContents {
        margin-top: 40px
    }
}

.pr_sustainContents:nth-child(odd) {
    flex-direction: row-reverse
}

.pr_sustainContents__detail {
    aspect-ratio: 4/2.6;
    background: #fff;
    border-left: 1px solid #000;
    margin-top: 8.78477306vw;
    padding: 3.2942898975vw 4.39238653vw 4.39238653vw 3.2942898975vw;
    position: relative;
    width: 50%;
    z-index: 1
}

.pr_sustainContents:nth-child(odd) .pr_sustainContents__detail {
    border-left: none
}

@media only screen and (max-width:767px) {
    .pr_sustainContents__detail {
        border-left: none;
        margin-top: 18vh;
        padding-bottom: .5em;
        width: 100%
    }
}

.pr_sustainContents__img {
    aspect-ratio: 16/9;
    overflow: hidden;
    position: absolute;
    right: -3.2942898975vw;
    top: 0;
    width: 66%;
    z-index: 0
}

.pr_sustainContents:nth-child(odd) .pr_sustainContents__img {
    left: -3.2942898975vw;
    right: auto
}

@media only screen and (max-width:767px) {
    .pr_sustainContents__img {
        width: calc(100% + 6.58858vw)
    }
}

.pr_sustainContents__img img {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

.pr_sustainContents__head {
    align-items: center;
    display: flex;
    margin-bottom: 3.2942898975vw
}

.pr_sustainContents__num {
    display: block;
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.92rem, 1.756954612vw);
    font-style: normal;
    font-weight: 700;
    margin-right: 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .pr_sustainContents__num {
        display: flex;
        justify-content: center;
        margin-right: 0;
        padding-right: .5em;
        text-align: center
    }
}

.pr_sustainContents__title {
    border-left: 1px solid #000;
    font-size: max(1.44rem, 1.317715959vw);
    font-weight: 700;
    line-height: 1.5;
    padding-left: 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .pr_sustainContents__title {
        flex: 1;
        padding-left: .5em
    }
}

.pr_sustainContents__logo {
    margin-bottom: 2.196193265vw
}

.pr_sdgslogo {
    display: flex;
    gap: .7320644217vw
}

.pr_sdgslogo__item {
    display: block;
    list-style: none;
    width: calc(12.5% - .61005vw)
}

.pr_sdgslogo__item img {
    aspect-ratio: 1/1;
    display: block;
    height: auto;
    width: 100%
}

.pr_strengthHead {
    padding: 5.8565153734vw 0
}

.pr_strengthHead__title {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(8rem, 7.3206442167vw);
    font-style: normal;
    font-weight: 700;
    line-height: .75
}

@media only screen and (max-width:767px) {
    .pr_strengthHead__title {
        font-size: max(5.28rem, 4.831625183vw)
    }
}

.pr_strengthItem {
    display: flex;
    margin-top: 5.8565153734vw;
    position: relative
}

.pr_strengthItem:nth-child(odd) {
    flex-direction: row-reverse
}

.pr_strengthItem__contents {
    aspect-ratio: 4/2.6;
    background: #fff;
    margin-top: 8.78477306vw;
    padding: 3.2942898975vw 4.39238653vw 4.39238653vw 3.2942898975vw;
    position: relative;
    width: 50%;
    z-index: 1
}

@media only screen and (max-width:767px) {
    .pr_strengthItem__contents {
        margin-top: 22.2547584187vw;
        width: 95%
    }
}

.pr_strengthItem__img {
    aspect-ratio: 16/9;
    overflow: hidden;
    position: absolute;
    right: -3.2942898975vw;
    top: 0;
    width: 66%;
    z-index: 0
}

.pr_strengthItem:nth-child(odd) .pr_strengthItem__img {
    left: -3.2942898975vw;
    right: auto
}

.pr_strengthItem__img img {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

.pr_strengthItem__head {
    align-items: center;
    display: flex;
    margin-bottom: 3.2942898975vw
}

.pr_strengthItem__num {
    display: block;
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.92rem, 1.756954612vw);
    font-style: normal;
    font-weight: 700;
    margin-right: 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .pr_strengthItem__num {
        margin-right: 20px
    }
}

.pr_strengthItem__title {
    border-left: 1px solid #000;
    font-size: max(1.44rem, 1.317715959vw);
    font-weight: 700;
    line-height: 1.5;
    padding-left: 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .pr_strengthItem__title {
        flex: 1;
        padding-left: 20px
    }
}

.pr_strengthItem__logo {
    margin-bottom: 2.196193265vw
}

.pr_interviewHead {
    display: flex
}

@media only screen and (max-width:767px) {
    .pr_interviewHead {
        background: #fff;
        flex-direction: column
    }
}

.pr_interviewHead__contents {
    display: flex;
    flex-direction: column;
    padding: 4.39238653vw 3.2942898975vw;
    width: 50%
}

@media only screen and (max-width:767px) {
    .pr_interviewHead__contents {
        background: #fff;
        margin-top: -20.5vw;
        order: 2;
        width: 100%;
        width: 90%
    }
}

.pr_interviewHead__titleEn {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.6rem, 1.4641288433vw);
    font-style: normal;
    font-weight: 700;
    line-height: 1.5
}

.pr_interviewHead__title {
    font-size: max(3.04rem, 2.7818448023vw);
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 3.2942898975vw;
    margin-top: 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .pr_interviewHead__title {
        font-size: max(2.24rem, 2.0497803807vw)
    }
}

.pr_interviewHead__division {
    font-size: max(1.28rem, 1.1713030747vw);
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: .7320644217vw
}

.pr_interviewHead__name {
    margin-bottom: 4.39238653vw
}

.pr_interviewHead__entryYear,
.pr_interviewHead__name {
    font-size: max(1.12rem, 1.0248901903vw);
    line-height: 1.5
}

.pr_interviewHead__entryYear {
    margin-bottom: .7320644217vw
}

.pr_interviewHead__profile {
    background: #f5f5f5;
    font-size: max(1.12rem, 1.0248901903vw);
    margin-top: 4.39238653vw;
    padding: 1.4641288433vw 2.196193265vw
}

@media only screen and (max-width:767px) {
    .pr_interviewHead__profile {
        padding: 10px 16px;
        width: calc(100vw - 32px)
    }
}

.pr_interviewHead__profileTitle {
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.28rem, 1.1713030747vw);
    font-style: normal;
    font-weight: 700;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: .7320644217vw
}

.pr_interviewHead__profile p {
    line-height: 1.6;
    margin-bottom: 0
}

.pr_interviewHead__img {
    aspect-ratio: 1/1;
    overflow: hidden;
    width: 50%
}

@media only screen and (max-width:767px) {
    .pr_interviewHead__img {
        order: 1;
        width: 100%
    }
}

.pr_interviewHead__img img {
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

@media only screen and (max-width:767px) {
    .pr_interviewBody {
        background: #fff
    }
}

.pr_interviewBlock {
    margin-bottom: 5.8565153734vw;
    margin-top: 4.39238653vw;
    width: 75%
}

@media only screen and (max-width:767px) {
    .pr_interviewBlock {
        margin-bottom: var(--space-xxl);
        margin-top: var(--space-md);
        width: 100%
    }
}

.pr_interviewBlock__head {
    margin-bottom: 2.196193265vw
}

.pr_interviewBlock__question {
    font-size: max(1.76rem, 1.6105417277vw);
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 2.196193265vw;
    padding-left: 2.5em;
    position: relative
}

@media only screen and (max-width:767px) {
    .pr_interviewBlock__question {
        padding-left: 0
    }
}

.pr_interviewBlock__question:before {
    background: #1a923b;
    content: "";
    display: inline-flex;
    height: 2px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2em
}

@media only screen and (max-width:767px) {
    .pr_interviewBlock__question:before {
        top: -12px;
        transform: translate(0)
    }
}

.pr_interviewBlock__title {
    color: #1a923b;
    font-size: max(2.4rem, 2.196193265vw);
    font-weight: 500;
    line-height: 1.5
}

.pr_interviewBlockContainer {
    display: flex;
    gap: 3.2942898975vw;
    width: 100%
}

@media only screen and (max-width:767px) {
    .pr_interviewBlockContainer {
        flex-direction: column
    }
}

.pr_interviewBlockContainer--narrow {
    width: 75%
}

@media only screen and (max-width:767px) {
    .pr_interviewBlockContainer--narrow {
        width: 100%
    }
}

.pr_interviewBlockContainer__child {
    flex: 1
}

.pr_interviewBlockContainer__child .pr_interviewBlock {
    width: 100%
}

.pr_interviewBlockContainer__child>.pr_interviewBlock {
    margin-top: 0
}

.pr_interviewBlock__photo {
    width: 50%
}

@media only screen and (max-width:767px) {
    .pr_interviewBlock__photo {
        margin-bottom: var(--space-xxl);
        margin-left: -3.2942898975vw;
        width: 100vw
    }
}

.pr_interviewBlock__photo--wide {
    margin: 0 auto;
    width: 80%
}

@media only screen and (max-width:767px) {
    .pr_interviewBlock__photo--wide {
        margin-left: -3.2942898975vw;
        width: 100vw
    }
}

.pr_interviewBlock__photo img {
    display: block;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.pr_recruitPanel--interview {
    padding-bottom: 7.3206442167vw
}

.pr_recruitPanelContainer {
    margin: 0 auto;
    padding: 0 var(--space-md);
    position: relative;
    width: 100%
}

@media only screen and (max-width:767px) {
    .pr_recruitPanelContainer {
        padding: 0 3.2942898975vw 40px
    }
}

.pr_recruitLinks {
    transform: translateY(-25%)
}

@media only screen and (max-width:767px) {
    .pr_recruitLinks {
        padding-top: 20px;
        transform: translateY(0)
    }
}

.pr_staffCoverSlider {
    height: calc(100svh - 7.32064vw);
    overflow: hidden;
    position: relative
}

@media only screen and (max-width:767px) {
    .pr_staffCoverSlider {
        height: -moz-fit-content;
        height: fit-content
    }
}

.pr_staffCoverSlider .swiper {
    height: 100%;
    position: relative;
    z-index: 1
}

.pr_staffCoverSlider__effect {
    height: 100%;
    left: 0;
    mix-blend-mode: multiply;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
}

@media only screen and (max-width:767px) {
    .pr_staffCoverSlider__effect {
        aspect-ratio: 3/2;
        height: auto;
        overflow: hidden
    }
}

.pr_staffCoverSlider__item img {
    animation: shrinkLoop 4s linear forwards;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

@keyframes shrinkLoop {
    0% {
        transform: scale(1.08)
    }

    to {
        transform: scale(1)
    }
}

.pr_staffCoverContents {
    display: flex;
    flex-direction: column;
    height: inherit;
    justify-content: space-between;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 3
}

@media only screen and (max-width:767px) {
    .pr_staffCoverContents {
        left: auto;
        margin: -70px auto 0;
        position: relative;
        top: auto;
        width: 96%
    }
}

.pr_staffCoverContents__head {
    background: #fff;
    border-bottom-right-radius: 2.196193265vw;
    color: #048e4c;
    margin-bottom: auto;
    margin-top: auto;
    padding: 2.196193265vw;
    position: relative;
    width: 44%
}

@media only screen and (max-width:767px) {
    .pr_staffCoverContents__head {
        background: #fff;
        box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
        margin-bottom: 20px;
        padding: 10px 15px 0;
        width: 100%
    }
}

.pr_staffCoverContents__title {
    display: block;
    font-size: max(3.52rem, 3.2210834553vw);
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: .7320644217vw
}

@media only screen and (max-width:767px) {
    .pr_staffCoverContents__title {
        font-size: max(2.24rem, 2.0497803807vw);
        font-weight: 700;
        line-height: 1.4;
        margin-bottom: 5px
    }
}

.pr_staffCoverContents__lead {
    display: block;
    font-size: max(1.44rem, 1.317715959vw);
    font-weight: 400;
    line-height: 1.5
}

.pr_staffCoverSliderLink {
    align-items: center;
    display: flex;
    padding-bottom: 1.4641288433vw;
    padding-left: 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .pr_staffCoverSliderLink {
        flex-wrap: wrap
    }
}

.pr_staffCoverSliderLink__chara {
    width: 8.0527086384vw
}

@media only screen and (max-width:767px) {
    .pr_staffCoverSliderLink__chara {
        width: 60px
    }
}

.pr_staffCoverSliderLink__chara img {
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

@media only screen and (max-width:767px) {
    .pr_staffCoverSliderLink__contents {
        display: contents
    }
}

.pr_staffCoverSliderLink__btns {
    display: flex;
    flex-direction: column;
    gap: .7320644217vw;
    margin-left: .7320644217vw
}

@media only screen and (max-width:767px) {
    .pr_staffCoverSliderLink__btns {
        gap: 1.4641288433vw
    }
}

.pr_staffCoverSliderLink__btn {
    display: block;
    list-style: none
}

@media only screen and (max-width:767px) {
    .pr_staffCoverSliderLink__btn {
        width: calc(50% - .73206vw)
    }

    .pr_staffCoverSliderLink__btn .cp_btn {
        width: 100%
    }
}

.pr_staffPanel {
    padding: 3.2942898975vw 0
}

.pr_staffPanel--find {
    background: #f5f5f5;
    margin-left: calc(50% - 50vw);
    width: 100vw
}

.pr_staffPanelInner {
    margin: 0 auto;
    max-width: 100vw;
    padding: 0 3.2942898975vw
}

.pr_staffPanelContainer {
    margin: 0 auto;
    padding: 0 var(--space-md);
    position: relative;
    width: 100%
}

@media only screen and (max-width:767px) {
    .pr_staffPanelContainer {
        padding: 0 var(--space-xs)
    }
}

.pr_staffPanelHead {
    margin-bottom: 3.2942898975vw
}

@media only screen and (max-width:767px) {
    .pr_staffPanelHead {
        margin-bottom: 20px
    }
}

.pr_staffPanelHead__titleEn {
    color: #6cba51;
    display: block;
    font-family: Corinthia, cursive;
    font-size: max(5.44rem, 4.9780380673vw);
    margin-bottom: .7320644217vw
}

@media only screen and (max-width:767px) {
    .pr_staffPanelHead__titleEn {
        font-size: max(3.84rem, 3.513909224vw)
    }
}

.pr_staffPanelHead__title {
    font-size: max(1.36rem, 1.2445095168vw);
    font-weight: 700
}

@media only screen and (max-width:767px) {
    .pr_staffPanelHead__title {
        font-size: max(1.12rem, 1.0248901903vw)
    }
}

.pr_staffPanelHead__text {
    margin-top: 2.196193265vw
}

.pr_staffSubPanel {
    margin-bottom: 5.8565153734vw;
    position: relative
}

@media only screen and (max-width:767px) {
    .pr_staffSubPanel {
        margin-bottom: 50px
    }
}

.pr_staffSubPanel--location {
    background: #cae7b5;
    border-bottom-left-radius: 2.196193265vw;
    border-top-right-radius: 2.196193265vw;
    display: flex;
    justify-content: space-between
}

@media only screen and (max-width:767px) {
    .pr_staffSubPanel--location {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 2.196193265vw;
        border-top-right-radius: 0;
        padding-bottom: 20px
    }
}

.pr_staffSubPanelHead {
    margin-bottom: 2.196193265vw
}

@media only screen and (max-width:767px) {
    .pr_staffSubPanelHead {
        margin-bottom: 20px
    }
}

.pr_staffSubPanelHead__title {
    font-size: max(1.76rem, 1.6105417277vw);
    font-weight: 700;
    margin-bottom: 2.196193265vw
}

.pr_staffNews {
    display: flex;
    padding: 3.2942898975vw 0
}

@media only screen and (max-width:767px) {
    .pr_staffNews {
        flex-direction: column
    }
}

.pr_staffNews__l {
    width: 20vw
}

@media only screen and (max-width:767px) {
    .pr_staffNews__l {
        display: flex;
        justify-content: space-between;
        width: 100%
    }
}

.pr_staffNews__r {
    flex: 1
}

.pr_staffNews__select {
    padding-bottom: 2.196193265vw;
    width: 10em
}

.pr_staffFind {
    display: flex;
    gap: 1.4641288433vw
}

@media only screen and (max-width:767px) {
    .pr_staffFind {
        flex-wrap: wrap;
        gap: 2.196193265vw
    }
}

.pr_staffFind__item {
    display: block;
    list-style: none;
    width: calc(33.33% - .97609vw)
}

@media only screen and (max-width:767px) {
    .pr_staffFind__item {
        width: 100%
    }
}

.pr_staffLinkCard {
    display: block
}

@media only screen and (max-width:767px) {
    .pr_staffLinkCard {
        display: flex
    }
}

.pr_staffLinkCard:hover .pr_staffLinkCard__img img {
    transform: scale(1.05)
}

.pr_staffLinkCard__img {
    aspect-ratio: 16/9;
    overflow: hidden
}

@media only screen and (max-width:767px) {
    .pr_staffLinkCard__img {
        width: 50%
    }
}

.pr_staffLinkCard__img img {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: transform .3s ease-in-out;
    width: 100%
}

.pr_staffLinkCard__contents {
    background: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
    display: flex;
    flex-direction: column;
    gap: 1.4641288433vw;
    margin: -4.39238653vw auto 0;
    padding: 2.196193265vw 1.4641288433vw;
    position: relative;
    width: 90%
}

@media only screen and (max-width:767px) {
    .pr_staffLinkCard__contents {
        justify-content: center;
        margin-top: 0;
        min-height: 4.5em
    }
}

.pr_staffLinkCard__contents:before {
    border-top: 2px solid #6cba51;
    content: "";
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.pr_staffLinkCard__label {
    color: #000;
    display: block;
    font-size: max(1.44rem, 1.317715959vw);
    font-weight: 600
}

@media only screen and (max-width:767px) {
    .pr_staffLinkCard__label {
        font-size: max(1.28rem, 1.1713030747vw)
    }
}

.pr_staffLinkCard__text {
    color: #6cba51
}

@media only screen and (max-width:767px) {
    .pr_staffLinkCard__text {
        font-size: max(1.12rem, 1.0248901903vw)
    }
}

.pr_staffLinkCard__btn {
    position: absolute;
    right: 1.4641288433vw;
    top: 50%;
    transform: translateY(-50%)
}

.pr_staffFlow {
    display: flex;
    gap: 3.2942898975vw
}

@media only screen and (max-width:767px) {
    .pr_staffFlow {
        flex-direction: column;
        gap: 20px
    }
}

.pr_staffFlow__item {
    background: #f5f5f5;
    display: block;
    list-style: none;
    padding: 2.196193265vw;
    position: relative;
    width: calc(33.33% - 2.19619vw)
}

@media only screen and (max-width:767px) {
    .pr_staffFlow__item {
        align-items: center;
        display: flex;
        gap: 10px;
        padding: 12px 10px 0;
        width: 100%
    }
}

.pr_staffFlow__item:before {
    background: #ffe7a9;
    content: "";
    height: 5px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.pr_staffFlow__item:after {
    background: #6cba51;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    content: "";
    height: 24px;
    position: absolute;
    right: calc(-1.64714vw - 9px);
    top: 50%;
    transform: translateY(-50%);
    width: 18px
}

@media only screen and (max-width:767px) {
    .pr_staffFlow__item:after {
        clip-path: polygon(0 0, 100% 0, 50% 100%);
        height: 10px;
        right: 50%;
        top: calc(100% + 5px);
        transform: translate(50%);
        width: 16px
    }
}

.pr_staffFlow__item:nth-child(2):before {
    background: #e7fb95
}

.pr_staffFlow__item:last-child:before {
    background: #b4f2d1
}

.pr_staffFlow__item:last-child:after {
    display: none
}

.pr_staffFlow__head {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 1.4641288433vw;
    margin-bottom: 2.196193265vw
}

@media only screen and (max-width:767px) {
    .pr_staffFlow__head {
        width: 120px
    }
}

.pr_staffFlow__icon {
    align-items: center;
    display: flex;
    flex-direction: column;
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-style: normal;
    font-weight: 700;
    justify-content: center
}

.pr_staffFlow__iconNum {
    font-size: max(2.56rem, 2.3426061493vw)
}

.pr_staffFlow__title {
    font-size: max(1.6rem, 1.4641288433vw);
    font-weight: 700;
    line-height: 1.5;
    text-align: center
}

@media only screen and (max-width:767px) {
    .pr_staffFlow__text {
        flex: 1
    }

    .pr_staffFlow__text p {
        line-height: 1.4
    }
}

.pr_staffSupportContainer {
    background: #fff8dc;
    border-radius: 2.196193265vw;
    padding: 2.196193265vw
}

.pr_staffSupport {
    background-image: url(../../img/_staff/staff_support_bg.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    display: flex;
    gap: 3.2942898975vw
}

@media only screen and (max-width:767px) {
    .pr_staffSupport {
        background-image: none;
        flex-direction: column
    }
}

.pr_staffSupport__item {
    display: block;
    list-style: none;
    width: calc(33.33% - 2.19619vw)
}

@media only screen and (max-width:767px) {
    .pr_staffSupport__item {
        width: 100%
    }

    .pr_staffSupportElm__img {
        margin: 0 auto;
        width: 75%
    }
}

.pr_staffSupportElm__img img {
    display: block;
    height: auto;
    width: 100%
}

.pr_staffSupportElm__contents {
    background: #fff;
    border-radius: 2.196193265vw;
    padding: 2.196193265vw
}

@media only screen and (max-width:767px) {
    .pr_staffSupportElm__contents {
        padding: 18px
    }
}

.pr_staffSupportElm__title {
    font-weight: 500;
    margin-bottom: 1.4641288433vw;
    text-align: center
}

.pr_staffSupportElm__desc {
    color: #555;
    font-size: max(1.12rem, 1.0248901903vw);
    line-height: 1.5
}

.pr_staffSupportSystem {
    display: flex;
    flex-wrap: wrap;
    gap: 2.196193265vw
}

.pr_staffSupportSystem__item {
    display: block;
    list-style: none;
    width: calc(25% - 1.64714vw)
}

@media only screen and (max-width:767px) {
    .pr_staffSupportSystem__item {
        width: calc(50% - 1.0981vw)
    }
}

.pr_staffSupportSystemElm__img {
    aspect-ratio: 1/1;
    background: #fff8dc;
    border-radius: 50%;
    margin: 0 auto;
    overflow: hidden;
    padding: 1.4641288433vw;
    width: 50%
}

.pr_staffSupportSystemElm__img img {
    display: block;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

.pr_staffSupportSystemElm__contents {
    padding: 2.196193265vw .7320644217vw
}

.pr_staffSupportSystemElm__title {
    font-weight: 500;
    margin: 0 0 1.4641288433vw;
    text-align: center
}

.pr_staffSupportSystemElm__text {
    color: #555;
    font-size: max(1.12rem, 1.0248901903vw);
    line-height: 1.5
}

.pr_staffLocation {
    align-self: start;
    background: hsla(0, 0%, 100%, .8);
    border-bottom-right-radius: 3.2942898975vw;
    margin-top: 2.196193265vw;
    padding: 2.196193265vw;
    position: relative;
    width: 60%
}

@media only screen and (max-width:767px) {
    .pr_staffLocation {
        margin-left: -20px;
        margin-top: -20px;
        padding: 18px 20px;
        width: 78%
    }
}

.pr_staffLocation:before {
    border-top: 4px solid #6cba51;
    content: "";
    height: 0;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

@media only screen and (max-width:767px) {
    .pr_staffLocation:before {
        border-width: 3px
    }
}

.pr_staffLocationList {
    display: flex;
    flex-wrap: wrap;
    gap: 2.196193265vw
}

@media only screen and (max-width:767px) {
    .pr_staffLocationList {
        gap: 10px
    }
}

.pr_staffLocationList__item {
    display: flex;
    gap: .2928257687vw;
    list-style: none
}

@media only screen and (max-width:767px) {
    .pr_staffLocationList__item {
        font-size: max(1.12rem, 1.0248901903vw);
        gap: 3px
    }
}

.pr_staffLocationList__icon {
    width: .878477306vw
}

@media only screen and (max-width:767px) {
    .pr_staffLocationList__icon {
        width: 10px
    }
}

.pr_staffLocationList__icon svg {
    height: auto;
    width: 100%
}

.pr_staffLocationList__icon path {
    fill: #1a923b
}

.pr_staffLocationMap {
    padding: 2.196193265vw;
    text-align: center;
    width: 50%
}

@media only screen and (max-width:767px) {
    .pr_staffLocationMap {
        align-items: end;
        display: flex;
        flex: 1;
        justify-content: center;
        padding-bottom: 10px
    }
}

.pr_staffLocationMap img {
    height: auto;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
    width: 50%
}

@media only screen and (max-width:767px) {
    .pr_staffLocationMap img {
        -o-object-position: bottom;
        object-position: bottom;
        width: 80%
    }
}

.pr_staffSupportjob {
    display: flex;
    gap: 4.39238653vw
}

@media only screen and (max-width:767px) {
    .pr_staffSupportjob {
        flex-wrap: wrap
    }
}

.pr_staffSupportjob__item {
    display: block;
    list-style: none;
    width: calc(25% - 3.29429vw)
}

@media only screen and (max-width:767px) {
    .pr_staffSupportjob__item {
        width: calc(50% - 2.19619vw)
    }
}

.pr_staffSupportjobElm {
    align-items: center;
    display: flex;
    flex-direction: column;
    text-align: center
}

.pr_staffSupportjobElm__title {
    display: inline-flex;
    font-size: max(1.44rem, 1.317715959vw);
    font-weight: 500;
    margin: 0 auto 1.4641288433vw;
    padding: .7320644217vw 2.196193265vw;
    position: relative;
    text-align: center
}

@media only screen and (max-width:767px) {
    .pr_staffSupportjobElm__title {
        margin-bottom: 15px
    }
}

.pr_staffSupportjobElm__title:after {
    background: #6cba51;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: "";
    height: 8px;
    left: 50%;
    position: absolute;
    top: 100%;
    transform: translateX(-50%);
    width: 12px
}

@media only screen and (max-width:767px) {
    .pr_staffSupportjobElm__title:after {
        height: 6px;
        top: calc(100% + 3px);
        width: 10px
    }
}

.pr_staffSupportjobElm__img {
    border-bottom-right-radius: 3.2942898975vw;
    border-top-left-radius: 3.2942898975vw;
    overflow: hidden;
    width: 80%
}

@media only screen and (max-width:767px) {
    .pr_staffSupportjobElm__img {
        width: 70%
    }
}

.pr_staffSupportjobElm__img img {
    display: block;
    height: auto;
    width: 100%
}

.pr_staffCompany {
    display: flex;
    gap: 4.39238653vw
}

@media only screen and (max-width:767px) {
    .pr_staffCompany {
        flex-direction: column
    }
}

.pr_staffCompany__child {
    width: calc(50% - 4.39239vw)
}

@media only screen and (max-width:767px) {
    .pr_staffCompany__child {
        width: 100%
    }
}

.pr_staffCompany__child--r {
    width: 50%
}

@media only screen and (max-width:767px) {
    .pr_staffCompany__child--r {
        width: 100%
    }
}

.pr_staffCompany__img {
    aspect-ratio: 16/9;
    overflow: hidden
}

.pr_staffCompany__img img {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.pr_staffCompany__btn {
    margin-top: 2.196193265vw
}

.pr_staffCompanyMarks {
    padding: var(--space-xxl) 0 0
}

.pr_staffContact {
    background: #f5f5f5;
    margin: 0 auto;
    max-width: 767px;
    padding: 5.8565153734vw 2.196193265vw;
    text-align: center
}

.pr_staffContactBody {
    align-items: center;
    display: flex;
    gap: 2.196193265vw;
    justify-content: center
}

@media only screen and (max-width:767px) {
    .pr_staffContactBody {
        flex-direction: column;
        gap: 20px
    }
}

.pr_staffContactBody__text {
    font-weight: 500
}

.pr_sitemapBox {
    border-bottom: 1px solid #acacac;
    display: flex;
    flex-wrap: wrap;
    gap: 1.4641288433vw 5.8565153734vw;
    margin-bottom: 4.39238653vw;
    padding-bottom: 4.39238653vw
}

@media only screen and (max-width:767px) {
    .pr_sitemapBox {
        gap: 18px 0
    }
}

.pr_sitemapBox--sub {
    gap: 1.4641288433vw 2.196193265vw
}

.pr_sitemapBox__item {
    display: block;
    list-style: none
}

@media only screen and (max-width:767px) {
    .pr_sitemapBox__item--mob2col {
        width: 50%
    }

    .pr_sitemapBox--sub .pr_sitemapBox__item {
        width: 100%
    }
}

.pr_sitemapBox__link {
    color: #000;
    font-family: Barlow, Zen Kaku Gothic New, メイリオ, Meiryo, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, Hiragino Kaku Gothic Pro, sans-serif;
    font-size: max(1.44rem, 1.317715959vw);
    font-style: normal;
    font-weight: 500;
    font-weight: 700
}

.pr_sitemapBox--sub .pr_sitemapBox__link {
    font-size: max(1.12rem, 1.0248901903vw);
    font-weight: 400
}

.pr_sitemapBoxChild {
    display: flex;
    flex-wrap: wrap;
    gap: 1.4641288433vw 2.196193265vw;
    margin-top: 2.196193265vw
}

@media only screen and (max-width:767px) {
    .pr_sitemapBoxChild {
        gap: 12px 0;
        margin-top: 18px;
        padding-left: var(--space-xs)
    }
}

.pr_sitemapBoxChild__item {
    display: block;
    list-style: none
}

@media only screen and (max-width:767px) {
    .pr_sitemapBoxChild__item {
        width: 100%
    }
}

.pr_sitemapBoxChild--2col .pr_sitemapBoxChild__item {
    width: calc(50% - 1.0981vw)
}

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

    .pr_sitemapBoxChild--2col .pr_sitemapBoxChild__item--mob1col,
    .pr_sitemapBoxChild__item--mob1col {
        width: 100%
    }
}

.pr_sitemapBoxChild__link {
    color: #555;
    font-size: max(1.12rem, 1.0248901903vw)
}

.basicLightbox {
    align-items: center;
    background: rgba(0, 0, 0, .5);
    display: flex;
    height: 100vh;
    justify-content: center;
    left: 0;
    opacity: .01;
    overflow: scroll;
    position: fixed;
    top: 0;
    transition: opacity .4s ease;
    width: 100%;
    will-change: opacity;
    z-index: 10001
}

.basicLightbox--visible {
    opacity: 1
}

.basicLightbox.is_scrollable {
    align-items: flex-start;
    padding-bottom: 20px;
    padding-top: 20px
}

.basicLightbox__placeholder {
    max-width: 90%;
    transform: scale(.9);
    transition: transform .4s ease;
    will-change: transform;
    z-index: 1
}

.basicLightbox__placeholder>iframe:first-child:last-child,
.basicLightbox__placeholder>img:first-child:last-child,
.basicLightbox__placeholder>video:first-child:last-child {
    bottom: 0;
    display: block;
    left: 0;
    margin: auto;
    max-height: 95%;
    max-width: 95%;
    position: absolute;
    right: 0;
    top: 0
}

.basicLightbox__placeholder>iframe:first-child:last-child,
.basicLightbox__placeholder>video:first-child:last-child {
    pointer-events: auto
}

.basicLightbox__placeholder>img:first-child:last-child,
.basicLightbox__placeholder>video:first-child:last-child {
    height: auto;
    width: auto
}

.basicLightbox--iframe .basicLightbox__placeholder,
.basicLightbox--img .basicLightbox__placeholder,
.basicLightbox--video .basicLightbox__placeholder {
    height: 100%;
    pointer-events: none;
    width: 100%
}

.basicLightbox--visible .basicLightbox__placeholder {
    transform: scale(1)
}

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

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

:host {
    display: block;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1
}

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

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

.swiper-wrapper {
    box-sizing: content-box;
    display: flex;
    height: 100%;
    position: relative;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    width: 100%;
    z-index: 1
}

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

.swiper-horizontal {
    touch-action: pan-y
}

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

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

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

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide {
    transform-style: preserve-3d
}

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

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

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

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

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

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none
}

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

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

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

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

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

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

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

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

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

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

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

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

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

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

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

.br_inPc {
    display: none
}

@media only screen and (min-width:767px) {
    .br_inPc {
        display: inline
    }
}

.br_inSp {
    display: none
}

@media only screen and (max-width:767px) {
    .br_inSp {
        display: inline
    }
}

.txt_center {
    text-align: center
}

.txt_accent {
    color: #1a923b
}

.txt_red {
    color: #ff3c4e
}

.txt_white {
    color: #fff
}

.txt_bold {
    font-weight: 500
}

.txt_lg {
    font-size: 1.5em
}

@media only screen and (max-width:767px) {
    .txt_lg {
        font-size: 1.25em
    }
}

.ul_bgWhite {
    background: #fff
}

.ul_bgGray {
    background: #f5f5f5
}

.ul_annotation {
    color: #555;
    font-size: max(1rem, 1.0248901903vw)
}

.ul_accent {
    display: inline;
    font-weight: 700
}