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

html {
    line-height: 1
}

ol,
ul {
    list-style: none
}

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

caption,
th,
td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle
}

q,
blockquote {
    quotes: none
}

qbefore,
qafter,
blockquotebefore,
blockquoteafter {
    content: "";
    content: none
}

a img {
    border: none
}

a {
    -webkit-tap-highlight-color: rgba(53, 93, 167, 0.2)
}

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

img {
    vertical-align: bottom;
    border: none
}

button,
input,
select,
textarea {
    vertical-align: middle
}

button,
input {
    line-height: normal
}

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

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

label,
select,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="radio"],
input[type="checkbox"] {
    cursor: pointer
}

textarea {
    overflow: auto;
    vertical-align: top;
    font-family: sans-serif
}

*,
*:before,
*:after {
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box
}

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

* {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%
}

html {
    font-size: 62.5%;
    margin: 0;
    padding: 0;
    overflow: overlay
}

body {
    background-color: #f9f8f4;
    color: #3a3937;
    text-align: left;
    font-family: YakuHanJP, "æ¸¸ã‚´ã‚·ãƒƒã‚¯ä½“", YuGothic, "æ¸¸ã‚´ã‚·ãƒƒã‚¯", "Yu Gothic", "ãƒ¡ã‚¤ãƒªã‚ª", sans-serif;
    font-weight: 500;
    min-width: 0;
    margin: 0;
    padding: 0;
    width: 100%
}

.page404 {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 550px;
    margin-top: var(--header-h);
    padding: 0 30px
}

@media screen and (max-width:768px) {
    .page404 {
        min-height: 400px;
        padding: 0 5vw
    }
}

.page404__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px
}

.page404__title {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 3rem
}

@media screen and (max-width:768px) {
    .page404__title {
        font-size: 2rem
    }
}

.page404__text {
    text-align: center;
    font-size: 1.5rem;
    line-height: 2
}

@media screen and (max-width:768px) {
    .page404__text {
        font-size: 1.3rem;
        text-align: left
    }

    .page404__text br {
        display: none
    }
}

.about__content--profile {
    display: flex
}

@media screen and (max-width:768px) {
    .about__content--profile {
        flex-direction: column
    }
}

.about__content--philosophy {
    display: flex;
    flex-wrap: wrap
}

.about__content--logo {
    align-items: center
}

.about__image {
    width: 100%;
    height: auto
}

.about__image--profile {
    -webkit-clip-path: inset(0 0 round 8px);
    clip-path: inset(0 0 round 8px);
    margin-bottom: 20px
}

.about__image--logo {
    width: 100px
}

@media screen and (max-width:768px) {
    .about__image--logo {
        width: 80px
    }
}

.about__body {
    flex: 1
}

.about__append {
    width: 251px;
    margin-left: 60px
}

@media screen and (max-width:768px) {
    .about__append {
        margin: 0 auto;
        padding-top: 30px
    }
}

.about__group {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%
}

.about__group--philosophy {
    padding: 40px 0 80px
}

@media screen and (max-width:768px) {
    .about__group--philosophy {
        padding: 30px 0 60px
    }
}

.about__group--logo {
    padding-bottom: 30px
}

@media screen and (max-width:768px) {
    .about__group--logo {
        padding-bottom: 0
    }
}

.about__text--title {
    font-size: 1.3rem;
    margin-bottom: 10px;
    letter-spacing: .15em
}

@media screen and (max-width:768px) {
    .about__text--title {
        text-align: center
    }
}

.about__text--name {
    font-size: 1.8rem;
    letter-spacing: .15em
}

@media screen and (max-width:768px) {
    .about__text--name {
        text-align: center
    }
}

.about__text--philosophy {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 4.2rem;
    color: #dd6b74;
    margin-bottom: 20px
}

@media screen and (max-width:768px) {
    .about__text--philosophy {
        font-size: 3.2rem
    }
}

.about__group--philosophy .about__copy {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.6rem;
    text-align: center;
    line-height: 1.7
}

.about__group--logo .about__copy {
    max-width: 540px;
    margin: 0 auto
}

@media screen and (max-width:768px) {
    .about__copy {
        font-size: 1.4rem
    }
}

.about__prepend {
    padding: 60px 0 40px;
    display: flex;
    justify-content: center
}

@media screen and (max-width:768px) {
    .about__prepend {
        padding: 40px 0 30px
    }
}

.article {
    position: relative;
    width: 800px;
    max-width: 800px;
    margin: 0 auto;
    padding: 80px 0 0;
    font-size: 1.6rem
}

@media screen and (max-width:897.2181551976574px) {
    .article {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .article {
        width: 90vw
    }
}

@media screen and (max-width:768px) {
    .article {
        padding: 0 0 0;
        font-size: 1.5rem
    }
}

.article .topics__date {
    margin-left: auto
}

.article__title {
    width: 100%;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 2.8rem;
    line-height: 1.4;
    padding-top: 20px;
    padding-bottom: 60px
}

@media screen and (max-width:768px) {
    .article__title {
        font-size: 2rem;
        padding-top: 10px;
        padding-bottom: 35px
    }
}

.article__content {
    position: relative
}

.article__content>figure {
    padding-top: 30px;
    padding-bottom: 20px
}

.article__content>figure:first-child {
    padding-top: 0
}

@media screen and (max-width:768px) {
    .article__content>figure {
        padding-top: 20px;
        padding-bottom: 10px;
        width: 100%
    }
}

.article__content>figure>img {
    width: 100%;
    height: auto
}

.article__content>figure>figcaption {
    font-size: 1.4rem;
    text-align: center;
    padding-top: 15px
}

@media screen and (max-width:768px) {
    .article__content>figure>figcaption {
        font-size: 1.3rem
    }
}

.article__content>h3 {
    font-size: 2rem;
    font-weight: bold;
    padding-top: 50px;
    line-height: 1.5
}

.article__content>h3:first-child {
    padding-top: 0
}

@media screen and (max-width:768px) {
    .article__content>h3 {
        font-size: 1.8rem;
        padding-top: 35px
    }
}

.article__content>p {
    padding-top: 30px;
    font-size: 1.6rem;
    line-height: 1.7
}

.article__content>p:first-child {
    padding-top: 0
}

@media screen and (max-width:768px) {
    .article__content>p {
        font-size: 1.5rem;
        padding-top: 20px
    }
}

.article__content ol,
.article__content ul {
    padding-top: 30px;
    padding-left: 2em
}

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

    .article__content ol,
    .article__content ul {
        padding-top: 20px
    }
}

.article__content ol {
    list-style-type: decimal
}

.article__content ul {
    list-style-type: disc
}

.article__content li {
    font-size: 1.6rem;
    line-height: 1.7
}

.article__content li:not(:first-child) {
    padding-top: 20px
}

@media screen and (max-width:768px) {
    .article__content li:not(:first-child) {
        padding-top: 15px
    }
}

@media screen and (max-width:768px) {
    .article__content li {
        font-size: 1.5rem
    }
}

.article__bottom {
    display: flex;
    justify-content: center;
    padding-top: 60px
}

.contents-wrapper {
    display: flex
}

@media screen and (max-width:1200px) {
    .contents-wrapper {
        display: block
    }
}

.contents-block {
    position: relative;
    z-index: 5;
    padding-top: var(--header-h);
    padding-bottom: 120px;
    flex: 1
}

@media screen and (max-width:768px) {
    .contents-block {
        padding-bottom: 12vw;
        overflow: hidden
    }
}

body.home .contents-block {
    padding-top: 0
}

.header-content {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    width: 1400px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 80px 0 80px
}

@media screen and (max-width:1570.1317715959003px) {
    .header-content {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .header-content {
        width: 90vw
    }
}

@media screen and (max-width:768px) {
    .header-content {
        padding: 40px 0 40px
    }
}

.header-content__subtitle {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.4rem;
    color: #dd6b74;
    letter-spacing: .15em;
    padding-bottom: 20px
}

.header-content__title {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 3.4rem;
    color: #3a3937;
    letter-spacing: .15em;
    line-height: 1.2
}

.header-content__title--br {
    display: none
}

@media screen and (max-width:768px) {
    .header-content__title--br {
        display: block
    }
}

@media screen and (max-width:768px) {
    .header-content__title {
        font-size: 2.8rem;
        text-align: center
    }
}

.header-content__tag {
    background-color: #f9ead5;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    height: 34px;
    padding: 0 25px;
    -webkit-clip-path: inset(0 0 round 17px);
    clip-path: inset(0 0 round 17px);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 15px
}

@media screen and (max-width:768px) {
    .header-content__tag {
        font-size: 1.4rem;
        padding: 0 20px
    }
}

.header-content__copy {
    text-align: center;
    padding-top: 30px;
    font-size: 1.6rem;
    line-height: 1.5
}

@media screen and (max-width:768px) {
    .header-content__copy {
        text-align: left;
        font-size: 1.4rem
    }
}

.button {
    width: -moz-fit-content;
    width: fit-content
}

.button--deactive {
    pointer-events: none
}

.button--deactive .arrow-svg {
    opacity: .5
}

.button--reverse .arrow {
    transform: scaleX(-1)
}

@media screen and (max-width:768px) {
    .button {
        width: auto;
        display: flex;
        justify-content: flex-end
    }
}

.button__link {
    text-decoration: none
}

.button__wrap {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    width: -moz-fit-content;
    width: fit-content
}

.button__border {
    width: calc(100% - 3px);
    height: 2px;
    background-color: #dd6b74;
    border-radius: 1px;
    position: absolute;
    left: -100%;
    bottom: 0
}

.button__label {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #dd6b74;
    font-size: 1.6rem;
    padding-right: 15px;
    transform: translateY(-1px)
}

@media screen and (max-width:768px) {
    .button__label {
        font-size: 1.5rem;
        padding-right: 12px
    }
}

.button--reverse .button__label {
    order: 2;
    padding: 0 10px 0 15px
}

.button__arrow {
    position: relative;
    width: 44px;
    height: 44px;
    display: flex;
    justify-content: center;
    align-items: center
}

.button--reverse .button__arrow {
    order: 1;
    transform: scale(-1)
}

.button__arrow .arrow-svg {
    position: relative;
    width: 19px;
    height: auto
}

.button__arrow .arrow-svg__line,
.button__arrow .arrow-svg__path {
    stroke: #f9f8f4
}

.button__circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    background-color: #dd6b74
}

.arrow {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center
}

.arrow--pink .arrow-svg {
    position: relative
}

.arrow--pink .arrow-svg__line,
.arrow--pink .arrow-svg__path {
    stroke: #f9f8f4
}

.arrow--beige .arrow-svg {
    position: relative
}

.arrow--beige .arrow-svg__line,
.arrow--beige .arrow-svg__path {
    stroke: #dd6b74
}

.arrow--white .arrow-svg {
    position: relative
}

.arrow--white .arrow-svg__line,
.arrow--white .arrow-svg__path {
    stroke: #dd6b74
}

.arrow--large {
    width: 44px;
    height: 44px
}

.arrow--large .arrow-svg {
    width: 19px
}

@media screen and (max-width:768px) {
    .arrow--large {
        width: 36px;
        height: 36px
    }

    .arrow--large .arrow-svg {
        width: 16px
    }
}

.arrow--medium {
    width: 30px;
    height: 30px
}

@media screen and (max-width:768px) {
    .arrow--medium {
        width: 26px;
        height: 26px
    }
}

.arrow--medium .arrow-svg {
    width: 14px
}

@media screen and (max-width:768px) {
    .arrow--medium .arrow-svg {
        width: 12px
    }
}

.arrow__circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%)
}

.arrow--pink .arrow__circle {
    background-color: #dd6b74
}

.arrow--beige .arrow__circle {
    background-color: #f9ead5
}

.arrow--white .arrow__circle {
    background-color: #fff
}

.js-inview {
    opacity: 0;
    transform: translateY(100px)
}

.js-inview.is-inview {
    opacity: 1;
    transform: translateY(0);
    transition: all 1.5s cubic-bezier(.19, 1, .22, 1)
}

.icon-line,
.icon-base {
    fill: none;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
    stroke: #3a3937
}

.service-button {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    text-decoration: none;
    padding: 15px;
    -webkit-clip-path: inset(0 0 round 18px);
    clip-path: inset(0 0 round 18px);
    height: 100%
}

.service-button:not(a) {
    padding: 0
}

.service-button--sitemap {
    background-color: #f9f8f4
}

.service-button--sitemap::before {
    display: none
}

@media screen and (max-width:768px) {
    .service-button {
        padding: 0 2.5vw 2.5vw
    }
}

.service-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-clip-path: inset(0 0 round 18px);
    clip-path: inset(0 0 round 18px);
    background-color: rgba(58, 57, 55, 0.035);
    opacity: 0
}

@media screen and (max-width:768px) {
    .service-button::before {
        -webkit-clip-path: inset(0 0 round 12px);
        clip-path: inset(0 0 round 12px)
    }
}

.service-button__icon {
    position: relative;
    width: 100px;
    height: 100px;
    margin: 0 auto
}

@media screen and (max-width:768px) {
    .service-button__icon {
        width: 80px;
        height: 80px;
        margin-top: 10px
    }
}

.service-button__icon .icon-line {
    stroke-width: 12
}

.service-button--residence .service-button__icon .icon-line {
    stroke: #87a976
}

.service-button--residence .service-button__icon .icon-line--1 {
    stroke-dashoffset: 0;
    stroke-dasharray: 25px 55px
}

.service-button--residence .service-button__icon .icon-line--2 {
    stroke-dashoffset: -33px;
    stroke-dasharray: 20px 60px
}

.service-button--facility .service-button__icon .icon-line {
    stroke: #64abcb
}

.service-button--facility .service-button__icon .icon-line--1 {
    stroke-dashoffset: 0;
    stroke-dasharray: 40px 40px
}

.service-button--facility .service-button__icon .icon-line--2 {
    stroke-dashoffset: -58px;
    stroke-dasharray: 20px 60px
}

.service-button--counter .service-button__icon .icon-line {
    stroke: #e6ae5b
}

.service-button--counter .service-button__icon .icon-line--1 {
    stroke-dashoffset: -16px;
    stroke-dasharray: 15px 85px
}

.service-button--counter .service-button__icon .icon-line--2 {
    stroke-dashoffset: -13px;
    stroke-dasharray: 20px 60px
}

.service-button--recruit .service-button__icon .icon-line {
    stroke: #f0a6af
}

.service-button--recruit .service-button__icon .icon-line--1 {
    stroke-dashoffset: -3px;
    stroke-dasharray: 10px 70px
}

.service-button--recruit .service-button__icon .icon-line--2 {
    stroke-dashoffset: 0;
    stroke-dasharray: 20px 60px
}

.service-button__icon .icon-base {
    stroke: #3a3937
}

.service-button__icon .icon-fill {
    fill: #3a3937;
    stroke-width: 0
}

.service-button__icon .icon-nofill {
    fill: none;
    stroke: #3a3937;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10
}

.service-button__tag {
    position: relative;
    text-align: center;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.3rem;
    letter-spacing: .1em;
    color: #fff;
    padding: 7px 0;
    -webkit-clip-path: inset(0 0 round 4px);
    clip-path: inset(0 0 round 4px)
}

@media screen and (max-width:768px) {
    .service-button__tag {
        font-size: 1.2rem
    }
}

.service-button--residence .service-button__tag {
    background-color: #87a976
}

.service-button--facility .service-button__tag {
    background-color: #64abcb
}

.service-button--counter .service-button__tag {
    background-color: #e6ae5b
}

.service-button--recruit .service-button__tag {
    background-color: #f0a6af
}

.service-button__label {
    position: relative;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    text-align: center;
    color: #3a3937;
    font-size: 1.8rem;
    line-height: 1.4;
    padding: 15px 0 10px
}

@media screen and (max-width:768px) {
    .service-button__label {
        font-size: 1.7rem;
        padding: 10px 0 10px
    }
}

.service-explain {
    margin-left: auto
}

body.office .service-explain {
    margin: 0 auto 20px
}

@media screen and (max-width:768px) {
    .service-explain {
        height: auto;
        padding-top: 8vw;
        justify-content: flex-start
    }
}

.service-explain__list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px
}

.service-explain__item {
    position: relative
}

.service-explain__link {
    text-decoration: none;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    display: flex;
    align-items: center;
    color: #f9f8f4;
    font-size: 1.3rem;
    height: 36px;
    padding: 4px;
    -webkit-clip-path: inset(0 0 round 18px);
    clip-path: inset(0 0 round 18px);
    background-color: rgba(255, 255, 255, 0.88);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:768px) {
    .service-explain__link {
        font-size: 1.2rem;
        height: auto;
        -webkit-clip-path: inset(0 0 round 20px);
        clip-path: inset(0 0 round 20px);
        background: none;
        padding: 0
    }
}

.service-explain__link--residence {
    color: #89b07b
}

.service-explain__link--residence::after {
    background-color: #89b07b
}

.service-explain__link--facility {
    color: #64abcb
}

.service-explain__link--facility::after {
    background-color: #64abcb
}

.service-explain__link--counter {
    color: #e6ae5b
}

.service-explain__link--counter::after {
    background-color: #e6ae5b
}

.service-explain__image {
    width: 100%;
    height: auto
}

.service-explain__icon {
    position: relative;
    z-index: 2;
    width: 30px;
    height: 30px
}

@media screen and (max-width:768px) {
    .service-explain__icon {
        width: 32px;
        height: 32px
    }
}

.service-explain__label {
    position: relative;
    z-index: 2;
    padding: 0 10px;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.service-explain__label--br {
    display: none
}

@media screen and (max-width:768px) {
    .service-explain__label--br {
        display: block
    }
}

@media screen and (max-width:768px) {
    .service-explain__label {
        padding: 0 10px 0 8px;
        line-height: 1.2
    }
}

.pagenation {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 80px
}

@media screen and (max-width:768px) {
    .pagenation {
        padding-top: 40px
    }
}

.pagenation__prev {
    transform: scale(-1)
}

.pagenation__list {
    padding: 0 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    -moz-column-gap: 20px;
    column-gap: 20px
}

.pagenation__link {
    text-decoration: none;
    color: #3a3937;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 2.2rem;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.pagenation__link--active {
    color: #dd6b74;
    pointer-events: none
}

.pagenation__link:hover {
    color: #dd6b74;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.content-wrap {
    position: relative;
    width: 1400px;
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between
}

@media screen and (max-width:1570.1317715959003px) {
    .content-wrap {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .content-wrap {
        width: 90vw
    }
}

@media screen and (max-width:1200px) {
    .content-wrap {
        display: block
    }
}

@media screen and (max-width:768px) {
    .content-wrap {
        width: 100%
    }
}

.side-nav {
    width: 24%;
    background-color: rgba(255, 255, 255, 0.88);
    -webkit-clip-path: inset(0 0 1px 0 round 8px);
    clip-path: inset(0 0 1px 0 round 8px);
    height: -moz-fit-content;
    height: fit-content;
    border-top: 6px solid #dd6b74;
    position: sticky;
    top: 174px
}

@media screen and (max-width:1200px) {
    .side-nav {
        width: 100%;
        position: static;
        margin-bottom: 40px
    }
}

@media screen and (max-width:768px) {
    .side-nav#js-side-nav {
        width: 90vw;
        margin: 0 auto 30px
    }

    .side-nav#js-clone-nav {
        margin-bottom: 0;
        background: none;
        border-top: none
    }
}

.header .side-nav {
    display: block;
    width: 100%
}

@media screen and (max-width:1200px) {
    .side-nav__list {
        display: flex;
        flex-wrap: wrap
    }
}

.side-nav__item {
    list-style: none;
    display: flex;
    align-items: center
}

.side-nav__item:not(:last-child) {
    border-bottom: 1px solid rgba(130, 107, 107, 0.12)
}

@media screen and (max-width:1200px) {
    .side-nav__item:not(:last-child) {
        border-bottom: none;
        border-right: 1px solid rgba(130, 107, 107, 0.12)
    }
}

@media screen and (max-width:1200px) {
    .side-nav__item {
        width: 33.33333333333333%
    }

    .side-nav__item:nth-child(n+1) {
        border-bottom: 1px solid rgba(130, 107, 107, 0.12);
        border-right: 1px solid rgba(130, 107, 107, 0.12)
    }

    .side-nav__item:nth-child(3n) {
        border-right: none
    }
}

@media screen and (max-width:768px) {
    .side-nav__item {
        width: 100%
    }

    .side-nav__item:not(:last-child) {
        border-bottom: 1px solid rgba(130, 107, 107, 0.12)
    }

    .side-nav__item:nth-child(n+1) {
        border-right: none
    }
}

@media screen and (max-width:768px) {
    .side-nav--col2 .side-nav__item {
        width: 50%
    }

    .side-nav--col2 .side-nav__item:nth-child(n+1) {
        border-bottom: 1px solid rgba(130, 107, 107, 0.12);
        border-right: 1px solid rgba(130, 107, 107, 0.12)
    }

    .side-nav--col2 .side-nav__item:nth-child(2n) {
        border-right: none
    }
}

.side-nav__link {
    width: 100%;
    display: block;
    text-decoration: none;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    padding: 22px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center
}

@media screen and (max-width:1200px) {
    .side-nav__link .arrow {
        transform: rotate(90deg)
    }
}

@media screen and (max-width:768px) {
    .side-nav__link {
        padding: 18px 5vw
    }
}

.side-nav__subtitle {
    color: #dd6b74;
    font-size: 1.2rem;
    letter-spacing: .1em;
    padding-bottom: 10px
}

@media screen and (max-width:1200px) {
    .side-nav__subtitle {
        font-size: 1rem;
        padding-bottom: 8px
    }
}

.side-nav__title {
    color: #3a3937;
    font-size: 1.6rem;
    line-height: 1.3
}

@media screen and (max-width:1200px) {
    .side-nav__title {
        font-size: 1.5rem
    }
}

.side-nav__label {
    padding-right: 10px;
    flex: 1
}

.content {
    position: relative;
    width: calc(78% - 60px);
    -webkit-clip-path: inset(0 0 round 18px);
    clip-path: inset(0 0 round 18px);
    background-color: rgba(255, 255, 255, 0.88);
    padding: 5%
}

@media screen and (max-width:1200px) {
    .content {
        width: 100%
    }
}

@media screen and (max-width:768px) {
    .content {
        width: 90vw;
        margin: 0 auto;
        -webkit-clip-path: inset(0 0 round 0);
        clip-path: inset(0 0 round 0);
        background: none;
        padding: 0
    }
}

.content__row:not(:first-child) {
    padding-top: 50px;
    margin-top: 50px;
    border-top: 1px solid rgba(130, 107, 107, 0.12)
}

@media screen and (max-width:768px) {
    .content__row:not(:first-child) {
        padding-top: 30px;
        margin-top: 40px
    }
}

.radio-content {
    position: absolute;
    width: calc(100% - 120px)
}

@media screen and (max-width:768px) {
    .radio-content {
        width: 100%
    }
}

.content-row:not(:first-of-type) {
    padding-top: 30px
}

.content-row--flex {
    display: flex
}

h3.title {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 2.2rem;
    color: #3a3937;
    border-left: 3px solid #dd6b74;
    padding: 6px 0 6px 20px;
    margin-bottom: 30px;
    line-height: 1.4
}

@media screen and (max-width:768px) {
    h3.title {
        font-family: 'Zen Maru Gothic', sans-serif;
        font-weight: 700;
        font-size: 1.9rem;
        margin-bottom: 20px
    }
}

h4.title {
    width: 100%;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    letter-spacing: .15em;
    color: #3a3937;
    display: flex;
    align-items: center
}

@media screen and (max-width:768px) {
    h4.title {
        font-family: 'Zen Maru Gothic', sans-serif;
        font-weight: 700;
        font-size: 1.6rem
    }
}

h5.title {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    color: #dd6b74
}

p.copy {
    font-size: 1.6rem;
    line-height: 2
}

@media screen and (max-width:768px) {
    p.copy {
        font-size: 1.5rem
    }
}

dl dt:not(:first-child) {
    padding-top: 15px
}

dl dd {
    padding-top: 5px
}

.table {
    width: 100%
}

@media screen and (max-width:768px) {
    .table {
        border-top: 1px solid rgba(130, 107, 107, 0.12)
    }
}

.table__th,
.table__td {
    border: 1px solid rgba(130, 107, 107, 0.12);
    padding: 20px;
    font-size: 1.5rem;
    line-height: 1.7
}

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

    .table__th,
    .table__td {
        width: 100%;
        display: block;
        padding: 20px 20px;
        font-size: 1.4rem
    }
}

.table__th {
    background-color: #f9f8f4;
    font-weight: bold;
    width: 22%;
    letter-spacing: .1em;
    font-size: 1.4rem
}

@media screen and (max-width:768px) {
    .table__th {
        border-bottom: none;
        background-color: #f5f3ec;
        width: 100%;
        padding: 15px 20px;
        font-size: 1.3rem
    }

    .table__th:not(:last-child) {
        border-top: none
    }
}

@media screen and (max-width:768px) {
    .table__td {
        background-color: rgba(255, 255, 255, 0.5)
    }
}

.table__p {
    line-height: 2
}

.table__p:not(:first-child) {
    padding-top: 10px
}

.table__span--bold {
    font-weight: bold
}

a {
    color: #0f99d9
}

a:hover {
    text-decoration: none
}

.disclosure__content {
    position: relative;
    width: 1000px;
    max-width: 1000px;
    margin: 0 auto
}

.disclosure__content img{width: 100%;}

@media screen and (max-width:1121.5226939970717px) {
    .disclosure__content {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .disclosure__content {
        width: 90vw
    }
}

.disclosure__row:not(:first-child) {
    padding-top: 60px
}

@media screen and (max-width:768px) {
    .disclosure__row:not(:first-child) {
        padding-top: 40px
    }
}

.disclosure__list {
    padding-top: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px
}

@media screen and (max-width:768px) {
    .disclosure__list {
        gap: 15px
    }
}

.disclosure__item {
    background-color: rgba(255, 255, 255, 0.88);
    width: calc(33.33333333333333% - 30px);
    -webkit-clip-path: inset(0 0 round 4px);
    clip-path: inset(0 0 round 4px)
}

@media screen and (max-width:1024px) {
    .disclosure__item {
        width: calc(50% - 20px)
    }
}

@media screen and (max-width:768px) {
    .disclosure__item {
        width: 100%
    }
}

.disclosure__link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-decoration: none;
    color: #3a3937;
    padding: 25px 20px;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.disclosure__link::after {
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    background: url("/assets/images/common/icon_pdf.png") no-repeat 0 0/cover
}

@media (hover:hover) and (pointer:fine) {
    .disclosure__link:hover {
        opacity: .5;
        transition: all .5s cubic-bezier(.19, 1, .22, 1)
    }
}

@media (hover:hover) and (pointer:fine) {
    .disclosure__link:active {
        opacity: .5;
        transition: all .5s cubic-bezier(.19, 1, .22, 1)
    }
}

.disclosure__name {
    font-size: 1.4rem;
    font-weight: bold
}

.disclosure__info {
    padding-top: 8px;
    font-size: 1.2rem;
    opacity: .7
}

.disclosure__info--size {
    padding-left: 5px
}

.disclosure__annotation {
    font-size: 1.3rem;
    line-height: 1.7
}

@media screen and (max-width:768px) {
    .disclosure__annotation {
        font-size: 1.2rem
    }
}

.download__content {
    position: relative;
    width: 800px;
    max-width: 800px;
    margin: 0 auto
}

@media screen and (max-width:897.2181551976574px) {
    .download__content {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .download__content {
        width: 90vw
    }
}

.download__row:not(:first-child) {
    padding-top: 60px
}

@media screen and (max-width:768px) {
    .download__row:not(:first-child) {
        padding-top: 40px
    }
}

.download__list {
    padding-top: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px
}

@media screen and (max-width:768px) {
    .download__list {
        gap: 15px
    }
}

.download__item {
    width: 100%;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid rgba(130, 107, 107, 0.12);
    padding: 0 20px 30px 20px;
    margin: 0 0 30px 0
}

@media screen and (max-width:768px) {
    .download__item {
        padding: 0 0 30px 0;
        flex-direction: column
    }
}

.download__files {
    display: flex
}

.download__link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-decoration: none;
    color: #3a3937;
    font-weight: bold;
    font-size: 1.3rem;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.download__link:not(:first-child) {
    padding-left: 35px
}

.download__link::before {
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    margin-right: 10px
}

.download__link--pdf::before {
    background: url("/assets/images/common/icon_pdf.png") no-repeat 0 0/cover
}

.download__link--excel::before {
    background: url("/assets/images/common/icon_excel.png") no-repeat 0 0/cover;
    width: 22px;
    height: 22px
}

.download__link--word::before {
    background: url("/assets/images/common/icon_word.png") no-repeat 0 0/cover;
    width: 22px;
    height: 22px
}

@media (hover:hover) and (pointer:fine) {
    .download__link:hover {
        opacity: .5;
        transition: all .5s cubic-bezier(.19, 1, .22, 1)
    }
}

@media (hover:hover) and (pointer:fine) {
    .download__link:active {
        opacity: .5;
        transition: all .5s cubic-bezier(.19, 1, .22, 1)
    }
}

.download__name {
    font-size: 1.6rem;
    font-weight: bold
}

@media screen and (max-width:768px) {
    .download__name {
        margin-bottom: 20px
    }
}

.download__annotation {
    font-size: 1.3rem;
    line-height: 1.7
}

@media screen and (max-width:768px) {
    .download__annotation {
        font-size: 1.2rem
    }
}

.faq__list {
    overflow: hidden
}

body.faq .faq__list {
    position: relative;
    width: 800px;
    max-width: 800px;
    margin: 0 auto;
    padding-top: 0
}

@media screen and (max-width:897.2181551976574px) {
    body.faq .faq__list {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    body.faq .faq__list {
        width: 90vw
    }
}

@media screen and (max-width:768px) {
    .faq__list {
        padding-top: 0;
        margin-top: -15px
    }
}

.faq__item {
    position: relative;
    width: 100%;
    overflow: hidden
}

.faq__item::before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: rgba(130, 107, 107, 0.12)
}

.faq__item.is-active::before {
    background-color: #dd6b74
}

.faq__border {
    position: absolute;
    bottom: 0;
    left: -100%;
    width: 100%;
    height: 1px;
    border-radius: 1px;
    background-color: #dd6b74;
    z-index: 2
}

.faq__question {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 0 30px 0;
    width: 100%;
    background: none;
    border: none;
    padding: 30px 0
}

@media screen and (max-width:768px) {
    .faq__question {
        padding: 20px 0
    }
}

.faq__answer {
    display: flex;
    padding-bottom: 30px
}

@media screen and (max-width:768px) {
    .faq__answer {
        padding-top: 0;
        padding-bottom: 25px
    }
}

.faq__prepend {
    display: flex;
    justify-content: center;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 2.8rem
}

@media screen and (max-width:768px) {
    .faq__prepend {
        font-size: 2.5rem
    }
}

.faq__question .faq__prepend {
    line-height: 3rem;
    color: #dd6b74
}

.faq__answer .faq__prepend {
    color: #fdc073
}

.faq__question .faq__label {
    transform: translateY(-7%)
}

.faq__body {
    padding: 0 0 0 15px;
    flex: 1
}

.faq__question .faq__body {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #3a3937
}

.faq__answer .faq__body {
    margin-top: 0
}

.faq__text {
    line-height: 1.5;
    text-align: left
}

.faq__question .faq__text {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.7rem;
    margin-top: 0
}

@media screen and (max-width:768px) {
    .faq__question .faq__text {
        font-size: 1.5rem
    }
}

.faq__answer .faq__text {
    line-height: 1.7;
    font-size: 1.6rem;
    margin-top: .3em
}

.faq__answer .faq__text:not(:first-child) {
    padding-top: 10px
}

@media screen and (max-width:768px) {
    .faq__answer .faq__text {
        font-size: 1.5rem
    }
}

.faq__icon {
    width: -moz-fit-content;
    width: fit-content;
    height: -moz-fit-content;
    height: fit-content;
    transform: rotate(90deg);
    line-height: 3rem;
    margin-left: 10px
}

.faq__item.is-active .faq__icon {
    transform: rotate(-90deg)
}

.faq__group {
    padding-top: 15px
}

.faq__title {
    font-weight: bold;
    font-size: 1.5rem;
    line-height: 1.4
}

@media screen and (max-width:768px) {
    .faq__title {
        font-size: 1.4rem
    }
}

.faq__desc {
    padding-top: 5px;
    font-size: 1.5rem;
    line-height: 1.4
}

@media screen and (max-width:768px) {
    .faq__desc {
        font-size: 1.4rem
    }
}

.faq__dl {
    padding-left: 20px;
    border-left: 1px solid rgba(130, 107, 107, 0.12)
}

.faq__dl:not(:first-child) {
    margin-top: 15px
}

.faq__dt {
    font-weight: bold;
    font-size: 1.5rem;
    line-height: 1.5;
    padding-bottom: 5px
}

.faq__dt:not(:first-child) {
    padding-top: 15px
}

.faq__dd {
    font-size: 1.5rem;
    line-height: 1.7
}

.cta-section {
    background: #dd6b74;
    width: 100%
}

.cta-section__wrap {
    position: relative;
    width: 1400px;
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    padding: 80px 0
}

@media screen and (max-width:1570.1317715959003px) {
    .cta-section__wrap {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .cta-section__wrap {
        width: 90vw
    }
}

@media screen and (max-width:1000px) {
    .cta-section__wrap {
        flex-direction: column;
        padding: 80px 0;
        gap: 50px
    }
}

@media screen and (max-width:768px) {
    .cta-section__wrap {
        gap: 0;
        padding: 40px 0
    }
}

.cta-section__group {
    position: relative
}

@media screen and (max-width:768px) {
    .cta-section__group {
        width: 100%
    }
}

.cta-section__group--contact {
    width: 55%
}

@media screen and (max-width:768px) {
    .cta-section__group--contact {
        width: 100%
    }
}

.cta-section__group--recruit {
    width: 45%
}

@media screen and (max-width:768px) {
    .cta-section__group--recruit {
        width: 100%;
        max-width: 400px;
        padding-top: 40px
    }
}

.cta-section__link {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #f9f8f4;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem
}

.cta-section__group--contact .cta-section__link {
    justify-content: center
}

.cta-section__group--recruit .cta-section__link {
    letter-spacing: .1em;
    border-radius: 24px;
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 64.45672191528546%;
    background-color: #faf8f5;
    box-shadow: 0 10px 35px -5px rgba(58, 57, 55, 0.4);
    transition: all .7s cubic-bezier(.19, 1, .22, 1)
}

.cta-section__group--recruit .cta-section__link.is-hover {
    transform: scale(1.03);
    transition: all .7s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:1200px) {
    .cta-section__group--recruit .cta-section__link {
        padding-top: 69.06077348066299%
    }
}

@media screen and (max-width:1000px) {
    .cta-section__group--recruit .cta-section__link {
        padding-top: 88.39779005524862%
    }
}

@media screen and (max-width:768px) {
    .cta-section__group--recruit .cta-section__link {
        padding-top: 121.14285714285715%
    }
}

.cta-section__figure {
    position: absolute
}

.cta-section__figure--bg1 {
    width: 100%;
    top: 8.771929824561402%;
    left: 0
}

@media screen and (max-width:768px) {
    .cta-section__figure--bg1 {
        top: 0
    }
}

.cta-section__figure--bg2 {
    width: 92.08103130755065%;
    bottom: 5.614035087719298%;
    right: 0
}

@media screen and (max-width:768px) {
    .cta-section__figure--bg2 {
        width: 100%;
        right: auto;
        bottom: 5.142857142857142%
    }
}

.cta-section__image {
    width: 100%;
    height: auto
}

.cta-section__group--contact .cta-section__body {
    display: flex;
    flex-direction: column;
    align-items: center
}

.cta-section__group--recruit .cta-section__body {
    width: 100%;
    position: absolute;
    top: 48%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center
}

@media screen and (max-width:768px) {
    .cta-section__group--recruit .cta-section__body {
        width: 100%;
        align-items: center;
        top: 37%
    }
}

.cta-section__head {
    position: absolute;
    display: flex;
    top: 80px;
    left: 0
}

@media screen and (max-width:768px) {
    .cta-section__head {
        position: static;
        flex-direction: column;
        margin-right: auto;
        padding-bottom: 40px;
        display: none
    }
}

.cta-section__subtitle {
    font-size: 1.4rem;
    letter-spacing: .2em
}

.cta-section__head .cta-section__subtitle {
    color: #f9f8f4;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.2rem;
    transform: rotate(90deg) translate(0, -2.5em);
    transform-origin: 0 0
}

@media screen and (max-width:768px) {
    .cta-section__head .cta-section__subtitle {
        order: 1;
        transform: rotate(0) translate(0, 0);
        padding-bottom: 15px
    }
}

.cta-section__group--recruit .cta-section__subtitle {
    color: #dd6b74
}

.cta-section__title {
    font-size: 2.8rem;
    padding-top: 20px
}

.cta-section__head .cta-section__title {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 2.4rem;
    color: #f9f8f4;
    letter-spacing: .15em;
    writing-mode: vertical-rl;
    padding-top: 0
}

@media screen and (max-width:768px) {
    .cta-section__head .cta-section__title {
        order: 2;
        writing-mode: horizontal-tb
    }
}

.cta-section__group--recruit .cta-section__title {
    color: #dd6b74
}

.cta-section__text {
    font-size: 1.6rem;
    padding: 20px 0 25px;
    line-height: 1.5;
    color: #3a3937;
    text-align: center
}

@media screen and (max-width:1200px) {
    .cta-section__text {
        font-size: 1.5rem
    }
}

@media screen and (max-width:768px) {
    .cta-section__text {
        font-size: 1.3rem;
        padding: 20px 0 15px
    }
}

.cta-section__copy {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.9rem;
    color: #f9f8f4;
    padding-bottom: 25px;
    line-height: 1.5;
    transform: translateX(.5em)
}

@media screen and (max-width:768px) {
    .cta-section__copy {
        font-size: 1.6rem;
        padding: 10px;
        width: 100%;
        text-align: center;
        margin-bottom: 12px
    }
}

.cta-section__tel {
    display: flex;
    align-items: center;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    margin-bottom: 30px;
    padding: 5px 0
}

@media screen and (max-width:768px) {
    .cta-section__tel {
        font-size: 4.5rem;
        margin-bottom: 25px
    }
}

.cta-section__tel--hyphen {
    display: inline-block;
    transform: translateY(-.1em);
    padding-bottom: 0
}

.cta-section__button {
    position: relative;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center
}

.cta-section__icon {
    position: relative
}

.cta-section__tel .cta-section__icon {
    width: 94px;
    height: 94px;
    margin-left: -5px
}

@media screen and (max-width:768px) {
    .cta-section__tel .cta-section__icon {
        width: 65px;
        height: 65px
    }
}

.cta-section__icon--mail {
    width: 60px;
    height: 60px;
    margin-right: 25px
}

@media screen and (max-width:768px) {
    .cta-section__icon--mail {
        width: 48px;
        height: 48px
    }
}

.cta-section__icon--mail>svg {
    position: relative
}

.cta-section__icon--mail::before {
    content: '';
    width: calc(100% + 15px);
    height: calc(100% + 15px);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #f9f8f4;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.cta-section__button.is-hover .cta-section__icon--mail::before {
    transform: translate(-50%, -50%) scale(1.15);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.cta-section__icon .icon-line,
.cta-section__icon .icon-base {
    fill: none;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10
}

.cta-section__icon .icon-line {
    stroke-width: 10;
    stroke: #f0a6af
}

.cta-section__icon .icon-line--1 {
    stroke-dashoffset: -15px;
    stroke-dasharray: 20px 60px
}

.cta-section__icon .icon-line--2 {
    stroke-dashoffset: -22px;
    stroke-dasharray: 15px 65px
}

.cta-section__icon .icon-base {
    stroke: #3a3937
}

.cta-section__icon .icon-fill {
    fill: #3a3937;
    stroke-width: 0
}

.cta-section__tel .cta-section__icon .icon-fill {
    fill: #f9f8f4
}

.cta-section__icon .icon-nofill {
    fill: none;
    stroke: #3a3937;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10
}

.cta-section__label {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 2rem;
    color: #3a3937;
    margin: 0 auto;
    color: #f9f8f4;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.cta-section__tel .cta-section__label {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 5.5rem;
    color: #f9f8f4;
    transform: translateX(-15px);
    transform: translate(-15px, -10%)
}

@media screen and (max-width:1200px) {
    .cta-section__tel .cta-section__label {
        font-size: 4.5rem
    }
}

@media screen and (max-width:768px) {
    .cta-section__tel .cta-section__label {
        font-size: 4.3rem
    }
}

.cta-section__button.is-hover .cta-section__label {
    transform: translateX(8px);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:768px) {
    .cta-section__label {
        font-size: 1.8rem
    }
}

.footer {
    position: relative;
    width: 1400px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 50px 0 0;
    display: flex;
    flex-wrap: wrap
}

@media screen and (max-width:1570.1317715959003px) {
    .footer {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .footer {
        width: 90vw
    }
}

@media screen and (max-width:1200px) {
    .footer {
        flex-direction: column
    }
}

.footer__logo {
    position: relative;
    display: flex;
    padding-bottom: 40px;
    width: 172px
}

@media screen and (max-width:768px) {
    .footer__logo {
        padding-bottom: 20px
    }
}

.footer__symbol {
    position: relative;
    width: 57px
}

.footer__symbol>.header-logo-svg {
    width: 100%;
    height: auto
}

.footer__symbol>.header-logo-svg__g {
    -webkit-mask: none;
    mask: none
}

.footer__symbol>.header-logo-svg__line {
    display: none
}

.footer__circle {
    position: absolute;
    background-color: #dc6a74;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%)
}

.footer__circle--1 {
    width: 21.8322%;
    height: 21.8322%;
    top: 26.756%;
    left: 13.9326%
}

.footer__circle--2 {
    width: 22.9965%;
    height: 22.9965%;
    top: 1.5489%;
    left: 62.8318%
}

.footer__type {
    width: 115px
}

.footer__text {
    margin-left: 6px
}

.footer__item--address .footer__text {
    margin-left: 0;
    font-size: 1.3rem
}

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

    .footer__item--tel .footer__text,
    .footer__item--fax .footer__text {
        margin: 5px 0 0 0;
        font-family: 'Zen Maru Gothic', sans-serif;
        font-weight: 700;
        font-size: 1rem;
        font-size: 1.8rem
    }
}

.footer__text--1 {
    width: 84.34782608695653%;
    padding-top: 15%
}

.footer__text--2 {
    width: 100%;
    padding-top: 6%
}

.footer__wrap--copyright .footer__text {
    color: #666;
    font-size: 1rem;
    letter-spacing: .05em
}

@media screen and (max-width:768px) {
    .footer__wrap--copyright .footer__text {
        width: 100%;
        text-align: center;
        padding-bottom: 10px
    }
}

@media screen and (max-width:1200px) {
    .footer__br {
        display: none
    }
}

.footer__image {
    width: 100%;
    height: auto
}

.footer__wrap {
    padding: 20px 0
}

.footer__wrap--summary {
    padding-right: 60px;
    border-right: 1px solid rgba(130, 107, 107, 0.12)
}

@media screen and (max-width:1200px) {
    .footer__wrap--summary {
        padding: 40px 0 0 0;
        border-right: none;
        border-top: 1px solid rgba(130, 107, 107, 0.12);
        display: flex;
        flex-direction: column;
        align-items: center;
        order: 2
    }
}

.footer__wrap--menu {
    padding-top: 35px;
    flex: 1;
    display: flex;
    justify-content: space-between;
    padding-left: 60px
}

@media screen and (max-width:1200px) {
    .footer__wrap--menu {
        padding: 0 0 40px 0;
        order: 1;
        padding-left: 0
    }
}

@media screen and (max-width:768px) {
    .footer__wrap--menu {
        flex-direction: column;
        padding: 0 3vw 6vw
    }
}

.footer__wrap--copyright {
    width: 100%;
    margin-top: 30px;
    padding: 30px 0 35px;
    border-top: 1px solid rgba(130, 107, 107, 0.12);
    display: flex;
    justify-content: space-between;
    align-items: center
}

@media screen and (max-width:1200px) {
    .footer__wrap--copyright {
        order: 3
    }
}

@media screen and (max-width:768px) {
    .footer__wrap--copyright {
        justify-content: center;
        flex-wrap: wrap
    }
}

@media screen and (max-width:1200px) {
    .footer__column {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column
    }
}

@media screen and (max-width:768px) {
    .footer__column {
        flex-direction: row
    }

    .footer__column:not(:last-child) {
        padding-bottom: 10px
    }
}

@media screen and (max-width:768px) {
    .footer__column--first {
        justify-content: space-between
    }
}

@media screen and (max-width:1200px) {
    .footer__column--wide {
        display: grid;
        grid-template-columns: max-content max-content;
        grid-template-rows: max-content max-content
    }
}

@media screen and (max-width:768px) {
    .footer__column--wide {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: max-content max-content
    }
}

@media screen and (max-width:1200px) {
    .footer__wrap--summary .footer__list {
        display: flex;
        justify-content: center;
        flex-wrap: wrap
    }
}

.footer__wrap--menu .footer__list {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column
}

@media screen and (max-width:768px) {
    .footer__wrap--menu .footer__list {
        margin-top: -5px;
        padding-bottom: 10px;
        width: 100%;
        flex-direction: row
    }
}

@media screen and (max-width:1200px) {
    .footer__list--1 {
        grid-column: 1/2;
        grid-row: 2/3
    }
}

@media screen and (max-width:768px) {
    .footer__column--wide .footer__list--1 {
        grid-column: 1/2;
        grid-row: 2/3;
        flex-direction: column
    }
}

@media screen and (max-width:1200px) {
    .footer__list--2 {
        padding-left: 3vw;
        grid-column: 2/3;
        grid-row: 2/3
    }
}

@media screen and (max-width:768px) {
    .footer__column--wide .footer__list--2 {
        padding-left: 0;
        grid-column: 2/3;
        grid-row: 2/3;
        flex-direction: column
    }
}

.footer__wrap--copyright .footer__list {
    display: flex
}

.footer__item {
    font-size: 1.4rem
}

.footer__wrap--summary .footer__item {
    display: flex;
    align-items: center
}

.footer__wrap--summary .footer__item:not(:last-child) {
    padding: 0 0 12px 0
}

@media screen and (max-width:1200px) {
    .footer__wrap--summary .footer__item:not(:last-child) {
        padding: 0 20px 0 0
    }
}

.footer__wrap--summary .footer__item--address {
    line-height: 1.5
}

@media screen and (max-width:768px) {
    .footer__wrap--summary .footer__item--address {
        width: 100%;
        display: flex;
        justify-content: center
    }

    .footer__wrap--summary .footer__item--address:nth-child(n+1) {
        padding: 0 0 15px
    }
}

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

    .footer__wrap--summary .footer__item--tel,
    .footer__wrap--summary .footer__item--fax {
        padding-right: 20px;
        display: flex;
        align-items: center
    }

    .footer__wrap--summary .footer__item--tel::after,
    .footer__wrap--summary .footer__item--fax::after {
        content: '';
        width: 1px;
        height: 130%;
        border-left: 1px solid rgba(0, 0, 0, 0.12);
        margin-left: 20px
    }
}

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

    .footer__wrap--summary .footer__item--tel,
    .footer__wrap--summary .footer__item--fax {
        width: 100%;
        display: flex;
        flex-direction: column
    }

    .footer__wrap--summary .footer__item--tel:nth-child(n+1),
    .footer__wrap--summary .footer__item--fax:nth-child(n+1) {
        padding: 0
    }

    .footer__wrap--summary .footer__item--tel::after,
    .footer__wrap--summary .footer__item--fax::after {
        display: none
    }
}

.footer__wrap--menu .footer__item {
    padding-bottom: 12px
}

@media screen and (max-width:768px) {
    .footer__wrap--menu .footer__item {
        width: 50%
    }
}

@media screen and (max-width:768px) {
    .footer__column--wide .footer__item {
        width: 100%
    }
}

.footer__wrap--copyright .footer__item:not(:last-child) {
    padding-right: 20px
}

.footer__label {
    min-width: 4.5em;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.3rem
}

@media screen and (max-width:768px) {
    .footer__label {
        width: 50%
    }
}

@media screen and (max-width:768px) {
    .footer__column--first .footer__label {
        width: auto
    }
}

.footer__wrap--summary .footer__label {
    cursor: default
}

@media screen and (max-width:1200px) {
    .footer__wrap--summary .footer__label {
        min-width: auto;
        padding-right: 5px
    }
}

@media screen and (max-width:768px) {
    .footer__wrap--summary .footer__label {
        width: auto;
        min-width: auto;
        padding-right: 0
    }
}

.footer__wrap--menu .footer__label {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.4rem
}

.footer__wrap--menu .footer__label:not(:last-child) {
    padding-bottom: 20px
}

.footer__column--wide .footer__label {
    grid-column: 1/3;
    grid-row: 1/2
}

@media screen and (max-width:768px) {
    .footer__column--wide .footer__label {
        grid-column: 1/3;
        grid-row: 1/2
    }
}

.footer__link {
    position: relative;
    text-decoration: none;
    color: #3a3937;
    transition: all .5s cubic-bezier(.19, 1, .22, 1);
    font-size: 1.4rem
}

.footer__list .footer__link {
    font-size: 1.3rem
}

.footer__link::before {
    content: '';
    position: absolute;
    top: calc(50% + 1px);
    left: -11px;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background-color: #dd6b74;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    display: none
}

.footer__wrap--copyright .footer__link {
    font-size: 1rem;
    color: #666
}

.footer__link:hover {
    color: #dd6b74;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.form {
    position: relative;
    width: 700px;
    max-width: 700px;
    margin: 0 auto
}

@media screen and (max-width:785.0658857979502px) {
    .form {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .form {
        width: 90vw
    }
}

.form__copy {
    font-size: 1.5rem;
    text-align: center;
    line-height: 1.7;
    padding-bottom: 60px
}

@media screen and (max-width:768px) {
    .form__copy {
        text-align: left;
        padding-bottom: 30px
    }
}

.form__row {
    display: flex
}

@media screen and (max-width:768px) {
    .form__row {
        display: block
    }
}

.form__row:not(:first-child) {
    padding-top: 30px
}

@media screen and (max-width:768px) {
    .form__row:not(:first-child) {
        padding-top: 15px
    }
}

.form__body {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 20px;
    column-gap: 20px;
    font-size: 1.5rem;
    line-height: 40px
}

@media screen and (max-width:768px) {
    .form__body {
        -moz-column-gap: 15px;
        column-gap: 15px
    }
}

.form__subhead {
    position: relative;
    width: 100%;
    margin: 10px 0 0
}

@media screen and (max-width:768px) {
    .form__subhead {
        margin: 5px 0 0
    }
}

.form__subhead::before {
    content: '';
    width: 100%;
    height: 1px;
    background-color: rgba(130, 107, 107, 0.12);
    position: absolute;
    top: 50%;
    left: 0
}

.form__subhead .form__text {
    position: relative;
    display: inline-block;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.3rem;
    background-color: #f9f8f4;
    padding-right: 10px;
    opacity: .7
}

.form__group {
    height: 40px;
    display: flex;
    align-items: center
}

.form__label {
    position: relative;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.6rem;
    min-width: 11em;
    line-height: 40px
}

@media screen and (max-width:768px) {
    .form__label {
        font-size: 1.5rem
    }
}

.form__label[type="submit"] {
    padding: 0;
    border: none;
    color: #fff;
    background-color: transparent
}

.form__body .form__label {
    min-width: auto;
    font-size: 1.4rem;
    cursor: pointer;
    padding-left: 28px;
    line-height: auto;
    color: #3a3937;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.form__body .form__label::before,
.form__body .form__label::after {
    content: '';
    display: block;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    position: absolute;
    transform: translateY(-50%);
    top: 50%
}

.form__body .form__label::before {
    background-color: #fff;
    width: 22px;
    height: 22px;
    left: 0
}

.form__body .form__label::after {
    background-color: #dd6b74;
    width: 14px;
    height: 14px;
    left: 4px;
    transform: translateY(-50%) scale(0);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.form__input[type="radio"]:checked+ {
    color: #dd6b74;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.form__input[type="radio"]:checked+::after {
    transform: translateY(-50%) scale(1);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.form__input[type="radio"] {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    margin: -1px
}

.form__input[type="text"],
.form__input[type="tel"],
.form__input[type="email"],
.form__input[type="textarea"] {
    width: 100%;
    padding: 10px 15px;
    font-size: 16px;
    border-radius: 3px;
    border: 1px solid rgba(130, 107, 107, 0.12);
    box-sizing: border-box
}

.form__input:focus {
    border: 1px solid #dd6b74;
    z-index: 10;
    outline: 0
}

.form textarea {
    width: 100%;
    padding: 10px 15px;
    font-size: 16px;
    border-radius: 3px;
    border: 1px solid rgba(130, 107, 107, 0.12);
    box-sizing: border-box
}

.form__button {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 20px;
    width: auto;
    height: 60px;
    margin: 0 auto;
    border-radius: 30px;
    border: none;
    background-color: #dd6b74;
    color: #fff;
    margin-top: 60px;
    width: -moz-max-content;
    width: max-content
}

@media screen and (max-width:768px) {
    .form__button {
        margin-top: 40px
    }
}

.form__button#button-back {
    margin-top: 40px;
    background-color: rgba(221, 107, 116, 0.8)
}

@media screen and (max-width:768px) {
    .form__button#button-back {
        margin-top: 20px
    }
}

.form__button#button-back .form__label {
    order: 2
}

.form__button#button-back .arrow {
    transform: rotate(180deg)
}

.form__back {
    display: flex;
    justify-content: center
}

#js-confirm #js-tel,
#js-confirm #js-email {
    display: flex !important
}

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

    #js-confirm #js-tel,
    #js-confirm #js-email {
        display: block !important
    }
}

input[type=radio] {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    margin: -1px
}

.mwform-radio-field-text {
    position: relative;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.4rem;
    min-width: auto;
    font-size: 1.4rem;
    cursor: pointer;
    padding-left: 28px;
    line-height: auto;
    color: #3a3937;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:768px) {
    .mwform-radio-field-text {
        font-size: 1.5rem
    }
}

.mwform-radio-field-text::before,
.mwform-radio-field-text::after {
    content: '';
    display: block;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    position: absolute;
    transform: translateY(-50%);
    top: 50%
}

.mwform-radio-field-text::before {
    background-color: #fff;
    width: 22px;
    height: 22px;
    left: 0
}

.mwform-radio-field-text::after {
    background-color: #dd6b74;
    width: 14px;
    height: 14px;
    left: 4px;
    transform: translateY(-50%) scale(0);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

input[type="radio"]:checked+.mwform-radio-field-text {
    color: #dd6b74;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

input[type="radio"]:checked+.mwform-radio-field-text::after {
    transform: translateY(-50%) scale(1);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.mw_wp_form .horizontal-item+.horizontal-item {
    margin-left: 0 !important
}

.flow__content {
    position: relative;
    width: 800px;
    max-width: 800px;
    margin: 0 auto;
    background-color: rgba(255, 255, 255, 0.88);
    -webkit-clip-path: inset(0 0 round 18px);
    clip-path: inset(0 0 round 18px);
    padding: 60px;
    margin-bottom: 80px
}

@media screen and (max-width:897.2181551976574px) {
    .flow__content {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .flow__content {
        width: 90vw
    }
}

@media screen and (max-width:768px) {
    .flow__content {
        background: none;
        margin-bottom: 30px;
        padding: 0 0 30px;
        border-bottom: 1px solid rgba(130, 107, 107, 0.12)
    }
}

.flow__title {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 2.2rem;
    text-align: center;
    padding-bottom: 60px;
    color: #dd6b74
}

@media screen and (max-width:768px) {
    .flow__title {
        padding-bottom: 30px
    }
}

.flow__copy {
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.7
}

.flow__row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px
}

@media screen and (max-width:768px) {
    .flow__row {
        gap: 15px
    }
}

.flow__row:not(:last-child) {
    padding-bottom: 10px
}

@media screen and (max-width:768px) {
    .flow__row:not(:last-child) {
        padding-bottom: 15px
    }
}

.flow__row::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 14px 20px 0 20px;
    border-color: #dd6b74 transparent transparent transparent
}

@media screen and (max-width:768px) {
    .flow__row::after {
        border-width: 10px 16px 0 16px
    }
}

.flow__row--annotation {
    display: block;
    padding-top: 20px
}

@media screen and (max-width:768px) {
    .flow__row--annotation {
        padding-top: 10px
    }
}

.flow__row--step5::after,
.flow__row--annotation::after {
    display: none
}

.flow__prepend {
    position: relative;
    width: 38px;
    height: 38px;
    display: flex;
    justify-content: center;
    align-items: center
}

@media screen and (max-width:768px) {
    .flow__prepend {
        width: 30px;
        height: 30px
    }
}

.flow__prepend::before {
    content: '';
    width: 100%;
    height: 100%;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    background-color: #dd6b74;
    position: absolute
}

.flow__no {
    position: relative;
    color: #f9f8f4;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 2rem;
    transform: translateY(-5%)
}

@media screen and (max-width:768px) {
    .flow__no {
        font-size: 1.8rem
    }
}

.flow__dl {
    width: 100%
}

.flow__dt {
    position: relative;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    padding-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px
}

@media screen and (max-width:768px) {
    .flow__dt {
        align-items: flex-start;
        flex-wrap: wrap;
        padding-bottom: 5px
    }
}

.flow__dd {
    font-size: 1.6rem;
    line-height: 1.7
}

@media screen and (max-width:768px) {
    .flow__dd {
        font-size: 1.4rem
    }
}

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

@media screen and (max-width:768px) {
    .flow__text {
        padding-top: .1em
    }
}

.flow__annotation {
    font-size: 1.3rem;
    line-height: 1.5;
    padding-left: 1em;
    text-indent: -1em
}

@media screen and (max-width:768px) {
    .flow__annotation {
        font-size: 1.2rem
    }
}

.flow__annotation:not(:last-child) {
    padding-bottom: 5px
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 30px;
    z-index: 99;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    width: 100%;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:768px) {
    .header {
        padding: 4vw 4vw 5vw;
        transition: all .5s cubic-bezier(.19, 1, .22, 1)
    }
}

.header::before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.88);
    -webkit-backdrop-filter: blur(6px) brightness(1.2);
    backdrop-filter: blur(6px) brightness(1.2);
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 8px;
    opacity: 0;
    box-shadow: 0 10px 25px -5px rgba(58, 57, 55, 0.2);
    transition: all .4s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:768px) {
    .header::before {
        height: 100%
    }
}

.header::after {
    content: '';
    width: 100%;
    height: 1px;
    background-color: rgba(130, 107, 107, 0.12);
    position: absolute;
    top: 74px;
    left: 0;
    opacity: 0;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:768px) {
    .header.is-clicked::after {
        opacity: 1;
        transition: all .5s cubic-bezier(.19, 1, .22, 1)
    }
}

.header.is-active {
    width: calc(100% - 36px);
    left: 18px;
    top: 18px;
    padding: 25px;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:768px) {
    .header.is-active {
        width: calc(100% - 20px);
        left: 10px;
        top: 10px;
        padding: 15px
    }
}

.header.is-active::before {
    opacity: 1;
    transition: all .8s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:768px) {
    .header.is-local::before {
        height: calc(100% + 40px - 10px)
    }
}

@media screen and (max-width:768px) {
    .header.is-clicked::before {
        border-radius: 8px;
        height: calc(100% + var(--local-nav-h) - 5px)
    }
}

.header__local {
    display: none;
    overflow: hidden
}

@media screen and (max-width:768px) {
    .header__local {
        display: block;
        position: fixed;
        top: calc(78px + 5px);
        left: 10px;
        width: calc(100% - 20px);
        visibility: none;
        opacity: 0;
        transition: all .5s cubic-bezier(.19, 1, .22, 1);
        padding-bottom: 40px;
        pointer-events: none
    }

    .header.is-local .header__local {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
        transition: all .5s cubic-bezier(.19, 1, .22, 1)
    }

    .header__local.is-clicked .side-nav {
        pointer-events: auto;
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
        transition: all .5s cubic-bezier(.19, 1, .22, 1)
    }

    .header__local .side-nav {
        pointer-events: none;
        visibility: hidden;
        opacity: 0;
        transform: translateY(-100%);
        transition: all .5s cubic-bezier(.19, 1, .22, 1)
    }

    .header.is-local .header__local .side-nav {
        pointer-events: auto
    }
}

.header__icon {
    width: 16px;
    position: absolute;
    top: 11px;
    right: 15px;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.header__title.is-clicked .header__icon {
    transform: rotate(-180deg) translateY(-3px);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.header__icon .icon-line {
    fill: none;
    stroke: #f9f8f4;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.5
}

.header__container .header__title {
    text-decoration: none;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    background-color: #dd6b74;
    color: #f9f8f4;
    padding: 20px;
    display: flex;
    justify-content: space-between
}

.header__local .header__title {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 40px;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #dd6b74;
    color: #f9f8f4;
    -webkit-clip-path: inset(0 0 round 0 0 8px 8px);
    clip-path: inset(0 0 round 0 0 8px 8px);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:768px) {
    .header__local .header__title {
        pointer-events: auto
    }
}

.header__local .header__title.is-clicked {
    top: calc(var(--local-nav-h) - 40px);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.header__text--en {
    font-size: 1.2rem;
    color: #f9f8f4;
    letter-spacing: .1em;
    opacity: .6
}

.header__figure {
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.header__container--service .header__figure {
    width: 36px;
    margin-right: 15px
}

.header__container--office .header__figure {
    width: 85px;
    height: 70px;
    -webkit-clip-path: inset(0 0 round 4px);
    clip-path: inset(0 0 round 4px);
    margin-right: 18px
}

.header__logo {
    z-index: 5;
    width: 172px;
    transition: all .8s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:768px) {
    .header__logo {
        width: auto;
        height: 44px;
        z-index: 0
    }
}

.header.is-active .header__logo {
    transition: all .8s cubic-bezier(.19, 1, .22, 1)
}

.header__image {
    width: 100%;
    height: auto
}

.header__container--office .header__image {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media screen and (max-width:768px) {
    .header__image {
        width: 100%;
        height: 100%
    }
}

.header__group {
    position: relative;
    padding-left: 30px
}

@media screen and (max-width:920px) {
    .header__group {
        display: none
    }
}

.header__list {
    display: flex
}

.header__list--sub {
    padding-top: 5px
}

.header__list--main {
    padding-top: 15px
}

.header__container .header__list {
    flex-wrap: wrap;
    padding: 20px;
    gap: 15px
}

.header__container--service .header__list--2nd {
    flex-direction: column;
    padding: 0;
    gap: 0
}

.header__container--service .header__list--3rd {
    flex-direction: column;
    padding: 0;
    gap: 0;
    background: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    font-family: YakuHanJP, "æ¸¸ã‚´ã‚·ãƒƒã‚¯ä½“", YuGothic, "æ¸¸ã‚´ã‚·ãƒƒã‚¯", "Yu Gothic", "ãƒ¡ã‚¤ãƒªã‚ª", sans-serif;
    font-weight: 700;
    font-size: 1.3rem
}

.header__item {
    position: relative
}

.header__item:not(:last-child) {
    margin-right: 20px
}

.header__item.is-hover::before {
    content: '';
    width: calc(100% + 20px);
    height: 50px;
    position: absolute;
    left: -10px;
    bottom: -45px;
    z-index: 1
}

.header__container--service .header__item {
    margin-right: 0;
    width: calc(s -) 33.33333333333333% 5px;
    -webkit-clip-path: inset(0 0 round 8px);
    clip-path: inset(0 0 round 8px)
}

.header__container--service .header__item.is-active {
    background-color: rgba(58, 57, 55, 0.035)
}

.header__container--office .header__item {
    margin-right: 0;
    width: calc(50% - 7.5px)
}

.header__container {
    visibility: hidden;
    opacity: 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 25px -5px rgba(58, 57, 55, 0.2);
    pointer-events: none;
    position: absolute;
    top: 49px;
    margin-left: -10px
}

.header__container--office {
    min-width: 640px
}

.header__item.is-hover .header__container {
    pointer-events: auto
}

.header__link {
    text-decoration: none;
    z-index: 2;
    position: relative;
    color: #3a3937;
    font-size: 18px;
    letter-spacing: .1em;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.header__logo:hover .header__link {
    opacity: .7;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.header__logo:hover .header__link::before {
    display: none
}

.header__container .header__link {
    display: flex;
    align-items: center
}

.header__container .header__link::before {
    display: none
}

.header__toggle-menu .header__link,
.header__toggle-content .header__link {
    padding: 8px
}

.header__list--main .header__link::before,
.header__list--sub .header__link::before {
    content: '';
    position: absolute;
    bottom: -13px;
    left: 50%;
    transform: translate(-50% -50%);
    width: 6px;
    height: 6px;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    background-color: #dd6b74;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.header__list--sub .header__link {
    font-size: 1.2rem;
    color: #7e7e7e
}

.header__link:hover {
    color: #dd6b74;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.header__link:hover::before {
    visibility: visible;
    opacity: 1;
    bottom: -8px;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.header__link--top {
    margin-left: -.15em
}

body.home .header__link--top {
    color: #dd6b74
}

body.news .header__link--news {
    color: #dd6b74
}

body.topics .header__link--topics {
    color: #dd6b74
}

body.service .header__link--service {
    color: #dd6b74
}

body.office .header__link--office {
    color: #dd6b74
}

body.recruit .header__link--recruit {
    color: #dd6b74
}

body.about .header__link--about {
    color: #dd6b74
}

body.faq .header__link--faq {
    color: #dd6b74
}

body.reserve .header__link--reserve {
    color: #dd6b74
}

body.disclosure .header__link--disclosure {
    color: #dd6b74
}

body.contact .header__link--contact {
    color: #dd6b74
}

.header .drawer {
    position: relative;
    pointer-events: none;
    margin-left: auto;
    border: none;
    background: transparent;
    padding: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    z-index: 5;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    cursor: pointer
}
.drawer__label a{color:#fff;}
.header .drawer__label {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #fff;
    font-size: 1.8rem;
    padding-right: 0;
    margin-top: -1px;
    position: absolute;
    top: 50%;
    right: 40px;
    width: 10em;
    transform: translateY(-50%);
    pointer-events: auto;
    z-index: 2;
    display: none
}

.header .drawer__circle {
    position: relative;
    width: 56px;
    height: 56px;
    pointer-events: auto;
    z-index: 1
}

.header .drawer__circle::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background-color: #dd6b74
}

@media screen and (max-width:768px) {
    .header .drawer__circle {
        width: 48px;
        height: 48px
    }
}

.header .drawer__line {
    position: absolute;
    width: 24px;
    height: 3px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    -webkit-clip-path: inset(0 0 round 1.5px);
    clip-path: inset(0 0 round 1.5px);
    transform-origin: 50% 50%
}

@media screen and (max-width:768px) {
    .header .drawer__line {
        width: 20px
    }
}

.header .drawer__line--1 {
    transform: translate(-50%, -50%) translateY(-5px)
}

.header .drawer__line--2 {
    transform: translate(-50%, -50%) translateY(5px)
}

.header__toggle {
    display: flex;
    width: 680px;
    background-color: rgba(255, 255, 255, 0.88);
    -webkit-backdrop-filter: blur(6px) brightness(1.2);
    backdrop-filter: blur(6px) brightness(1.2);
    padding: 20px 30px
}

.header__toggle-menu {
    position: relative;
    width: 240px;
    height: -moz-fit-content;
    height: fit-content;
    padding-right: 20px
}

.header__toggle-bar {
    position: absolute;
    top: 0;
    right: -1px;
    width: 1px;
    height: 0;
    background-color: #dd6b74
}

.header__toggle-wrapper {
    position: relative;
    flex: 1;
    border-left: 1px solid rgba(130, 107, 107, 0.12)
}

.header__toggle-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 10px 0 10px 30px;
    visibility: hidden;
    opacity: 0
}

.header__toggle-content.is-active {
    visibility: visible;
    opacity: 1;
    transition: all 1.5s cubic-bezier(.19, 1, .22, 1)
}

.cta-side {
    position: sticky;
    top: calc(100vh);
    right: 0;
    width: 0;
    height: -moz-fit-content;
    height: fit-content;
    text-decoration: none;
    z-index: 9
}

body.flow .cta-side {
    display: none
}

.cta-side__inner {
    position: absolute;
    bottom: 50px;
    right: 0;
    width: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 25px 0 20px;
    color: #fff;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.6rem;
    background-color: #dd6b74;
    -webkit-clip-path: inset(0 0 round 18px 0 0 18px);
    clip-path: inset(0 0 round 18px 0 0 18px);
    z-index: 9
}

.cta-side__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-bottom: 12px;
    writing-mode: vertical-rl;
    letter-spacing: .15em
}

.cta-side__char:not(:first-child) {
    padding-top: .2em
}

.cta-side__button {
    position: relative;
    width: 36px;
    height: 36px;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.cta-side__circle {
    width: 100%;
    height: 100%;
    background-color: #fff;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%)
}

.cta-side__arrow {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center
}

.cta-side__arrow .arrow-svg {
    position: relative;
    width: 19px;
    height: auto
}

.cta-side__arrow .arrow-svg__line,
.cta-side__arrow .arrow-svg__path {
    stroke: #dd6b74
}

.sitemap {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    visibility: hidden;
    pointer-events: auto
}

.sitemap__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #f9f8f4
}

.sitemap__container {
    width: 100%;
    height: var(--vh);
    overflow: auto
}

.sitemap__container::-webkit-scrollbar {
    display: none
}

.sitemap__content {
    display: flex;
    align-items: center;
    padding-top: calc(var(--header-h) - 30px);
    min-height: 100vh
}

@media screen and (max-width:768px) {
    .sitemap__content {
        flex-direction: column;
        padding-top: 0;
        min-height: auto
    }
}

.sitemap__logo {
    display: none
}

@media screen and (max-width:768px) {
    .sitemap__logo {
        height: 44px;
        position: absolute;
        top: calc(4vw + 2px);
        left: 4vw;
        z-index: 8
    }
}

.sitemap__inner {
    width: 100%;
    height: 80vh;
    max-height: 720px;
    display: flex
}

@media screen and (max-width:768px) {
    .sitemap__inner {
        order: 1;
        display: flex;
        flex-direction: column;
        height: auto;
        max-height: 9999px
    }
}

.sitemap__wrap {
    position: relative
}

.sitemap__wrap--menu {
    flex: 1;
    padding: 0 3vw 2.5vw;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

@media screen and (max-width:768px) {
    .sitemap__wrap--menu {
        order: 2;
        padding: 10px 5vw 2.5vw;
        z-index: 2
    }
}

.sitemap__wrap--info {
    position: absolute;
    top: 30px;
    left: 240px;
    display: flex;
    align-items: flex-end
}

@media screen and (max-width:768px) {
    .sitemap__wrap--info {
        order: 2;
        position: static;
        z-index: 3
    }
}

.sitemap__wrap--service {
    padding: 0 2.5vw 2.5vw;
    width: 40%;
    max-width: 560px
}

@media screen and (max-width:768px) {
    .sitemap__wrap--service {
        width: 100%;
        order: 1;
        padding: calc(var(--header-h) - 5px) 4vw 5vw;
        z-index: 1
    }
}

.sitemap__wrap--service::before {
    content: '';
    position: fixed;
    top: 32px;
    right: 32px;
    width: 54px;
    height: 54px;
    background-color: #dd6b74;
    border-radius: 28px;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:768px) {
    .sitemap__wrap--service::before {
        position: absolute;
        top: 4vw;
        right: 4vw;
        width: 48px;
        height: 48px
    }
}

.sitemap.is-scroll .sitemap__wrap--service::before {
    top: calc(18px + 27px);
    right: calc(18px + 27px);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:768px) {
    .sitemap.is-scroll .sitemap__wrap--service::before {
        top: calc(10px + 15px);
        right: calc(10px + 15px)
    }
}

.sitemap__prepend {
    padding-right: 40px
}

.sitemap__body {
    display: flex;
    flex-wrap: wrap
}

@media screen and (max-width:768px) {
    .sitemap__body {
        justify-content: center;
        padding: 15px 0 30px
    }
}

.sitemap__list {
    position: relative
}

.sitemap__list--main {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: stretch;
    height: 100%;
    max-width: 1000px;
    margin: 0 auto
}

@media screen and (max-width:768px) {
    .sitemap__list--main {
        align-items: flex-start;
        height: auto
    }
}

.sitemap__list--sub {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-top: 4%;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto
}

@media screen and (max-width:768px) {
    .sitemap__list--sub {
        flex-wrap: wrap;
        gap: 3vw;
        padding-top: 5vw
    }
}

.sitemap__list--2nd {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 10px 0 10px
}

.sitemap__wrap--service .sitemap__list {
    height: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr auto;
    gap: 1.5vw
}

@media screen and (max-width:768px) {
    .sitemap__wrap--service .sitemap__list {
        gap: 4vw;
        grid-template-rows: auto auto 74px
    }
}

.sitemap__list--main .sitemap__item {
    width: calc(50% - 3%);
    padding-top: 10px
}

.sitemap__list--main .sitemap__item--top {
    width: 100%;
    padding-top: 0
}

.sitemap__list--2nd .sitemap__item {
    padding-top: 10px;
    width: calc(50% - 0.5vw)
}

@media screen and (max-width:768px) {
    .sitemap__list--2nd .sitemap__item {
        width: 100%
    }
}

.sitemap__list--sub .sitemap__item {
    flex: 1
}

@media screen and (max-width:768px) {
    .sitemap__list--sub .sitemap__item:last-child {
        flex: none;
        width: 100%
    }
}

.sitemap__item--tel,
.sitemap__item--fax {
    display: flex;
    align-items: center
}

.sitemap__item--tel {
    padding-right: 20px
}

@media screen and (max-width:768px) {
    .sitemap__item--tel {
        padding: 0 0 8px 0
    }
}

.sitemap__item--address {
    width: 100%;
    padding-top: 10px;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.5rem;
    letter-spacing: .1em
}

@media screen and (max-width:768px) {
    .sitemap__item--address {
        text-align: center;
        padding-top: 15px;
        font-size: 1.4rem
    }
}

.sitemap__wrap--service .sitemap__item {
    height: 100%
}

@media screen and (max-width:768px) {
    .sitemap__wrap--service .sitemap__item {
        height: auto
    }
}

.sitemap__wrap--service .sitemap__item--residence {
    grid-column: 1/2;
    grid-row: 1/2
}

.sitemap__wrap--service .sitemap__item--facility {
    grid-column: 2/3;
    grid-row: 1/2
}

.sitemap__wrap--service .sitemap__item--counter {
    grid-column: 1/2;
    grid-row: 2/3
}

.sitemap__wrap--service .sitemap__item--recruit {
    grid-column: 2/3;
    grid-row: 2/3
}

.sitemap__wrap--service .sitemap__item--entry {
    grid-column: 1/3;
    grid-row: 3/4
}

.sitemap__link {
    position: relative;
    text-decoration: none
}

.sitemap__list--main .sitemap__link {
    width: 100%;
    display: inline-block;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.8rem;
    color: #dd6b74;
    padding: 18px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(130, 107, 107, 0.12);
    overflow: hidden
}

@media screen and (max-width:768px) {
    .sitemap__list--main .sitemap__link {
        font-size: 1.6rem;
        color: #3a3937;
        border-bottom: 1px solid rgba(130, 107, 107, 0.12)
    }
}

.sitemap__list--sub .sitemap__link {
    width: 100%;
    height: 54px;
    display: inline-block;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #3a3937;
    font-size: 1.4rem;
    background-color: rgba(0, 0, 0, 0.03);
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-clip-path: inset(0 0 round 6px);
    clip-path: inset(0 0 round 6px);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:768px) {
    .sitemap__list--sub .sitemap__link {
        font-size: 1.3rem
    }
}

.sitemap__list--sub .sitemap__link:hover {
    color: #dd6b74;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.sitemap__list--2nd .sitemap__link {
    font-size: 1.4rem;
    line-height: 1.2;
    color: #3a3937;
    padding: 0;
    transition: all .5s cubic-bezier(.19, 1, .22, 1);
    border-bottom: none
}

.sitemap__list--2nd .sitemap__link::after {
    content: none
}

.sitemap__list--2nd .sitemap__link:hover {
    color: #dd6b74;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.sitemap__wrap--service .sitemap__link {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 10px 15px 18px;
    text-decoration: none;
    -webkit-clip-path: inset(0 0 round 12px);
    clip-path: inset(0 0 round 12px);
    transition: all .5s cubic-bezier(.19, 1, .22, 1);
    background-color: #f9f8f4
}

@media screen and (max-width:768px) {
    .sitemap__wrap--service .sitemap__link {
        height: auto
    }
}

.sitemap__item--entry .sitemap__link {
    height: 84px;
    padding: 0;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.6rem;
    color: #3a3937;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    line-height: 1
}

@media screen and (max-width:768px) {
    .sitemap__item--entry .sitemap__link {
        font-size: 1.5rem;
        height: 76px
    }
}

.sitemap__arrow {
    position: relative;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center
}

@media screen and (max-width:768px) {
    .sitemap__arrow {
        width: 26px;
        height: 26px
    }
}

.sitemap__item--entry .sitemap__arrow {
    width: 40px;
    height: 40px
}

.sitemap__arrow .arrow-svg {
    position: relative;
    width: 14px;
    height: auto
}

@media screen and (max-width:768px) {
    .sitemap__arrow .arrow-svg {
        width: 12px
    }
}

.sitemap__item--entry .sitemap__arrow .arrow-svg {
    width: 19px
}

.sitemap__arrow .arrow-svg__line,
.sitemap__arrow .arrow-svg__path {
    stroke: #3a3937
}

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

    .sitemap__arrow .arrow-svg__line,
    .sitemap__arrow .arrow-svg__path {
        stroke: #dd6b74
    }
}

.sitemap__item--entry .sitemap__arrow .arrow-svg__line,
.sitemap__item--entry .sitemap__arrow .arrow-svg__path {
    stroke: #fff
}

.sitemap__circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    background-color: #f9ead5
}

@media screen and (max-width:768px) {
    .sitemap__circle {
        background-color: #f9f8f4
    }
}

.sitemap__item--entry .sitemap__circle {
    background-color: #dd6b74
}

.sitemap__border {
    position: absolute;
    bottom: 0;
    left: -100%;
    width: 100%;
    height: 1px;
    border-radius: 1px;
    background-color: #dd6b74
}

.sitemap__icon {
    width: 50%;
    margin: auto auto
}

.sitemap__tag {
    text-align: center;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.3rem;
    letter-spacing: .1em;
    color: #fff;
    padding: 7px 0;
    -webkit-clip-path: inset(0 0 round 4px);
    clip-path: inset(0 0 round 4px)
}

@media screen and (max-width:768px) {
    .sitemap__tag {
        font-size: 1.15rem
    }
}

.sitemap__item--residence .sitemap__tag {
    background-color: #87a976
}

.sitemap__item--facility .sitemap__tag {
    background-color: #64abcb
}

.sitemap__item--counter .sitemap__tag {
    background-color: #e6ae5b
}

.sitemap__item--recruit .sitemap__tag {
    background-color: #f0a6af
}

.sitemap__wrap--service .sitemap__label {
    text-align: center;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #3a3937;
    font-size: 1.8rem;
    line-height: 1.4;
    padding-top: 15px
}

@media screen and (max-width:768px) {
    .sitemap__wrap--service .sitemap__label {
        font-size: 1.5rem;
        padding-top: 8px
    }
}

.sitemap__item--tel .sitemap__label,
.sitemap__item--fax .sitemap__label {
    background-color: #f9ead5;
    color: #3a3937;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.2rem;
    padding: 4px 6px 5px;
    -webkit-clip-path: inset(0 0 round 3px);
    clip-path: inset(0 0 round 3px)
}

.sitemap__number {
    padding-left: 8px;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 2.7rem;
    transform: translateY(-.08em)
}

.sitemap__number--hyphen {
    display: inline-block;
    transform: translateY(-.1em)
}

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

@media screen and (max-width:768px) {
    .sitemap__logo .sitemap__image {
        width: auto;
        height: 100%
    }
}

.sitemap__button {
    position: absolute;
    top: 30px;
    right: 30px;
    z-index: 999;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: flex;
    align-items: center;
    background: transparent;
    border: 0;
    margin-bottom: 10px
}

.sitemap__button .sitemap__text {
    color: #fff;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.8rem;
    padding-right: 10px;
    transform: translateY(-.05em)
}

.sitemap__item--entry .sitemap__text {
    padding-right: 12px
}

.sitemap__close {
    position: relative;
    width: 36px;
    height: 36px
}

.sitemap__line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform-origin: 50% 50%;
    width: 100%;
    height: 2px;
    border-radius: 1px;
    background-color: #fff
}

.sitemap__line--1 {
    transform: translate(-50%, -50%) rotate(45deg)
}

.sitemap__line--2 {
    transform: translate(-50%, -50%) rotate(-45deg)
}

.splash {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--vh);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

.splash__symbol {
    position: relative;
    transform-origin: 50% 100%
}

.splash__circle {
    position: absolute;
    background-color: #dc6a74;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    opacity: 0
}

.splash__circle--1 {
    width: 21.8322%;
    height: 21.8322%;
    top: 26.756%;
    left: 13.9326%
}

.splash__circle--2 {
    width: 22.9965%;
    height: 22.9965%;
    top: 1.5489%;
    left: 62.8318%
}

.splash__text {
    opacity: 0
}

.splash__text--1 {
    width: 173px;
    padding-top: 18px
}

.splash__text--2 {
    width: 206px;
    padding-top: 10px
}

.splash__image {
    width: 100%;
    height: auto
}

.logo-svg {
    width: 100px;
    height: auto;
    transform-origin: 50% 100%
}

.logo-svg__g {
    -webkit-mask: url("#logo-svg__mask");
    mask: url("#logo-svg__mask")
}

.logo-svg__line {
    stroke-dashoffset: -150px;
    stroke-dasharray: 150px 150px;
    stroke: #fff;
    stroke-width: 36.765px;
    stroke-linecap: round;
    stroke-miterlimit: 10
}

.section {
    position: relative;
    width: 1400px;
    max-width: 1400px;
    margin: 0 auto;
    padding-top: 80px
}

@media screen and (max-width:1570.1317715959003px) {
    .section {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .section {
        width: 90vw
    }
}

body.home .section {
    padding-top: 125px
}

@media screen and (max-width:768px) {
    .section {
        padding-top: 15vw
    }

    body.home .section {
        padding-top: 15vw
    }
}

.section__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-bottom: 20px
}

.section__head .button {
    transform: translateY(12.5%)
}

.section__subtitle {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #dd6b74;
    font-size: 1.4rem;
    padding-bottom: 15px;
    line-height: 1;
    letter-spacing: .1em
}

.section__title {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #3a3937;
    font-size: 2.8rem;
    line-height: 1.5
}

@media screen and (max-width:768px) {
    .section__title {
        font-size: 2.4rem
    }
}

.section__title--important {
    color: #dd6b74
}

.idx-kv {
    width: 100%
}

.idx-kv__scroll {
    height: 0;
    position: sticky;
    left: 0;
    bottom: 0;
    z-index: 9
}

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

.idx-kv__scroll-inner {
    display: flex;
    align-items: center;
    position: absolute;
    bottom: 20px;
    left: 20px;
    transform: rotate(90deg) translateX(-100%);
    transform-origin: 0 100%
}

.idx-kv__line {
    margin-left: 10px;
    width: 80px;
    height: 3px;
    -webkit-clip-path: inset(0 0 round 1.5px);
    clip-path: inset(0 0 round 1.5px);
    background-color: rgba(255, 255, 255, 0.28);
    transform: translateY(2px)
}

.idx-kv__line::before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background-color: #fff;
    -webkit-clip-path: inset(0 0 round 1.5px);
    clip-path: inset(0 0 round 1.5px);
    animation: scroll 1.25s cubic-bezier(.455, .03, .515, .955) infinite
}

@keyframes scroll {
    0% {
        transform: translateX(-100%)
    }

    100% {
        transform: translateX(100px)
    }
}

.idx-kv__label {
    text-align: left;
    font-size: 1.5rem;
    letter-spacing: .1em;
    color: #fff;
    padding: 0;
    line-height: 1
}

.idx-kv__wrap {
    position: relative;
    display: flex;
    align-items: flex-start
}

@media screen and (max-width:768px) {
    .idx-kv__wrap {
        max-height: auto;
        flex-direction: column;
        overflow: hidden
    }
}

.idx-kv__prepend {
    position: relative;
    padding-right: 4vw;
    padding-top: var(--header-h);
    height: 110vh;
    max-height: 1000px;
    margin-right: auto;
    flex: 1
}

.page_topimg {padding:0;height: 500px;}

@media screen and (max-width:768px) {
    .idx-kv__prepend {
        padding-right: 0;
        margin-right: 0;
        width: 95vw;
        height: auto;
        max-height: auto
    }
}

.idx-kv__copy {
    position: absolute;
    top: calc(var(--header-h) + 15%);
    right: 25%;
    display: flex
}

@media screen and (max-width:768px) {
    .idx-kv__copy {
        top: calc(var(--header-h) + 8vw);
        right: 12vw
    }
}

.idx-kv__column {
    display: flex;
    flex-direction: column
}

.idx-kv__column--1 {
    order: 2
}

@media screen and (max-width:768px) {
    .idx-kv__column--1 {
        order: 2;
        flex-direction: row-reverse
    }
}

.idx-kv__column--2 {
    order: 1;
    margin-right: 20px
}

@media screen and (max-width:768px) {
    .idx-kv__column--2 {
        margin-right: 15px
    }
}

.idx-kv__column-inner {
    display: flex;
    flex-direction: column
}

@media screen and (max-width:768px) {
    .idx-kv__column-inner--2 {
        margin-right: 15px
    }
}

.idx-kv__char {
    position: relative;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.8rem;
    color: #fff
}

@media screen and (max-width:768px) {
    .idx-kv__char {
        font-size: 1.3rem
    }
}

.idx-kv__char--yakuhan {
    transform: translate(65%, -65%)
}

.idx-kv__char:not(:last-child) {
    margin-bottom: 40%
}

.idx-kv__body {
    position: relative;
    width: 35vw;
    min-width: 400px;
    height: 100vh;
    max-height: 1000px
}

@media screen and (max-width:768px) {
    .idx-kv__body {
        width: 100%;
        min-width: auto;
        height: auto;
        max-height: auto;
        margin-left: auto
    }
}

.idx-kv__figure {
    width: 100%;
    overflow: hidden
}

.idx-kv__prepend .idx-kv__figure {
    height: 100%;
    position: relative;
    -webkit-clip-path: inset(0 0 round 0 18px 18px 0);
    clip-path: inset(0 0 round 0 18px 18px 0)
}

@media screen and (max-width:768px) {
    .idx-kv__prepend .idx-kv__figure {
        height: 90vw
    }
}

.idx-kv__body .idx-kv__figure {
    height: calc(100% - var(--residence-nav-h));
    min-height: 280px;
    -webkit-clip-path: inset(0 0 round 0 0 0 18px);
    clip-path: inset(0 0 round 0 0 0 18px)
}

@media screen and (max-width:768px) {
    .idx-kv__body .idx-kv__figure {
        width: 47vw;
        height: 34vw;
        min-height: auto;
        -webkit-clip-path: inset(0 0 round 18px 0 0 18px);
        clip-path: inset(0 0 round 18px 0 0 18px);
        margin-top: -27vw;
        margin-left: auto
    }
}

.idx-kv__figure>.simpleParallax {
    height: 100%
}

.idx-kv__nav {
    padding: 40px 0 50px;
    width: calc(100% - 60px - 4%);
    max-width: 520px
}

@media screen and (max-width:1200px) {
    .idx-kv__nav {
        width: calc(100% - 3vw)
    }
}

@media screen and (max-width:768px) {
    .idx-kv__nav {
        padding: 6vw 0;
        width: 100%;
        margin: 0 auto
    }
}

.idx-kv__list {
    display: flex;
    flex-wrap: wrap
}

@media screen and (max-width:768px) {
    .idx-kv__list {
        padding: 0 2.5vw
    }
}

.idx-kv__item {
    width: 50%
}

.idx-kv__item--entry {
    width: 100%;
    margin-top: 15px;
    display: none
}

@media screen and (max-width:1200px) {
    .idx-kv__item--entry {
        display: block
    }
}

@media screen and (max-width:768px) {
    .idx-kv__item--entry {
        margin-top: 6vw;
        padding: 0 2vw
    }
}

.idx-kv__link {
    position: relative;
    display: block;
    color: #fff;
    text-decoration: none
}

.idx-kv__item--entry .idx-kv__link {
    background-color: #dd6b74;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    height: 68px;
    -webkit-clip-path: inset(0 0 round 8px);
    clip-path: inset(0 0 round 8px)
}

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

.idx-kv__text {
    padding-right: 10px
}

.idx-kv__button {
    position: relative;
    width: 36px;
    height: 36px
}

.idx-kv__circle {
    width: 100%;
    height: 100%;
    background-color: #fff;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    position: absolute;
    top: 0;
    left: 0
}

.idx-kv__arrow {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center
}

.idx-kv__arrow .arrow-svg {
    position: relative;
    width: 14px;
    height: auto
}

.idx-kv__arrow .arrow-svg__line,
.idx-kv__arrow .arrow-svg__path {
    stroke: #dd6b74
}

section.news {
    position: relative;
    width: 720px;
    max-width: 720px;
    margin: 0 auto
}

@media screen and (max-width:807.4963396778917px) {
    section.news {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    section.news {
        width: 90vw
    }
}

section.news--all {
    position: relative;
    width: 720px;
    max-width: 720px;
    margin: 0 auto
}

@media screen and (max-width:807.4963396778917px) {
    section.news--all {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    section.news--all {
        width: 90vw
    }
}

.news__wrap {
    position: relative;
    padding: 65px 0 80px
}

@media screen and (max-width:768px) {
    .news__wrap {
        padding: 15vw 0
    }
}

.news__wrap::before {
    content: '';
    width: 40vw;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.02);
    position: absolute;
    top: 0;
    right: calc(50% + 10vw);
    border-radius: 0 8px 8px 0
}

@media screen and (max-width:768px) {
    .news__wrap::before {
        width: 100vw;
        right: calc(50% - 50vw);
        border-radius: 0
    }
}

.news__list {
    border-top: 1px solid rgba(0, 0, 0, 0.12);
    margin-top: 15px
}

.news__link {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    text-decoration: none;
    color: #3a3937;
    padding: 30px 15px;
    transition: all .5s cubic-bezier(.19, 1, .22, 1);
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
    overflow: hidden
}

@media (hover:hover) and (pointer:fine) {
    .news__link:hover {
        color: #dd6b74;
        transition: all .5s cubic-bezier(.19, 1, .22, 1)
    }
}

@media (hover:hover) and (pointer:fine) {
    .news__link:active {
        color: #dd6b74;
        transition: all .5s cubic-bezier(.19, 1, .22, 1)
    }
}

@media screen and (max-width:768px) {
    .news__link {
        display: block;
        padding: 25px 0
    }
}

.news__link>.arrow {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%)
}

.news__item {
    position: relative
}

.news__border {
    position: absolute;
    bottom: 0;
    left: -100%;
    width: 100%;
    height: 1px;
    border-radius: 1px;
    background-color: #dd6b74
}

.news__date {
    font-size: 1.4rem;
    line-height: 1.5;
    padding-right: 40px;
    min-width: 7.5em
}

@media screen and (max-width:768px) {
    .news__date {
        padding-bottom: 5px
    }
}

.news__text {
    font-size: 18px;
    line-height: 1.5;
    padding-right: 60px;
    flex: 1
}

@media screen and (max-width:768px) {
    .news__text {
        padding-right: 40px
    }
}

.idx-about {
    position: relative;
    width: 1400px;
    max-width: 1400px;
    margin: 0 auto;
    margin-top: 125px
}

body.home .idx-about {
    padding-top: 0
}

@media screen and (max-width:1570.1317715959003px) {
    .idx-about {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .idx-about {
        width: 90vw
    }
}

@media screen and (max-width:768px) {
    .idx-about {
        margin-top: 15vw;
        display: flex;
        flex-direction: column
    }
}

.idx-about__body {
    width: 33.63636363636363%;
    padding: 125px 0
}

@media screen and (max-width:768px) {
    .idx-about__body {
        order: 2;
        width: 100%;
        padding: 10vw 0 0
    }
}

.idx-about__copy {
    font-size: 18px;
    line-height: 1.7;
    padding-bottom: 20px
}

.idx-about__images {
    width: calc(var(--vw) / 2 + 7%);
    height: 100%;
    position: absolute;
    top: 0;
    left: calc(50% - 7%);
    display: grid;
    grid-template-columns: 1fr 1fr 1.25fr 1.25fr;
    grid-template-rows: calc(55% - 8px) calc(45% - 8px);
    gap: 16px;
    overflow: hidden
}

@media screen and (max-width:1024px) {
    .idx-about__images {
        grid-template-columns: 1fr 1fr 1fr 1fr
    }
}

@media screen and (max-width:768px) {
    .idx-about__images {
        grid-template-columns: 1fr 1fr 1.25fr 1.25fr;
        position: static;
        order: 1;
        width: calc(100% + 5vw);
        gap: 2.5vw
    }
}

.idx-about__block {
    -webkit-clip-path: inset(0 0 round 8px);
    clip-path: inset(0 0 round 8px)
}

@media screen and (max-width:768px) {
    .idx-about__block {
        border-radius: 6px
    }
}

.idx-about__block--img1 {
    grid-column: 1/3;
    grid-row: 1/2
}

.idx-about__images.is-inview .idx-about__block--img1 {
    opacity: 1;
    transform: translate(0, 0);
    transition: all 1.5s .3s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:1024px) {
    .idx-about__block--img1 {
        grid-column: 1/5;
        border-radius: 6px 0 0 6px
    }
}

@media screen and (max-width:768px) {
    .idx-about__block--img1 {
        grid-column: 1/3;
        border-radius: 6px
    }
}

.idx-about__block--img2 {
    grid-column: 1/2;
    grid-row: 2/3
}

.idx-about__images.is-inview .idx-about__block--img2 {
    opacity: 1;
    transform: translate(0, 0);
    transition: all 1.5s .5s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:1024px) {
    .idx-about__block--img2 {
        grid-column: 1/3
    }
}

@media screen and (max-width:768px) {
    .idx-about__block--img2 {
        grid-column: 1/2
    }
}

.idx-about__block--img3 {
    grid-column: 2/3;
    grid-row: 2/3
}

.idx-about__images.is-inview .idx-about__block--img3 {
    opacity: 1;
    transform: translate(0, 0);
    transition: all 1.5s .6s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:1024px) {
    .idx-about__block--img3 {
        grid-column: 3/5;
        -webkit-clip-path: inset(0 0 round 6px 0 0 6px);
        clip-path: inset(0 0 round 6px 0 0 6px)
    }
}

@media screen and (max-width:768px) {
    .idx-about__block--img3 {
        grid-column: 2/3;
        -webkit-clip-path: inset(0 0 round 6px);
        clip-path: inset(0 0 round 6px)
    }
}

.idx-about__block--img4 {
    -webkit-clip-path: inset(0 0 round 8px 0 0 8px);
    clip-path: inset(0 0 round 8px 0 0 8px);
    grid-column: 3/5;
    grid-row: 1/3
}

.idx-about__images.is-inview .idx-about__block--img4 {
    opacity: 1;
    transform: translate(0, 0);
    transition: all 1.5s .4s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:1024px) {
    .idx-about__block--img4 {
        display: none
    }
}

@media screen and (max-width:768px) {
    .idx-about__block--img4 {
        display: block
    }
}

.idx-about__block>.simpleParallax {
    height: 100%
}

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

.office--all {
    position: relative;
    width: 1400px;
    max-width: 1400px;
    margin: 0 auto
}

@media screen and (max-width:1570.1317715959003px) {
    .office--all {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .office--all {
        width: 90vw
    }
}

@media screen and (max-width:768px) {
    .office__head {
        display: block
    }
}

.office__list {
    display: flex;
    flex-wrap: wrap;
    padding-top: 30px
}

.office__wrap--office .office__list {
    -moz-column-gap: 40px;
    column-gap: 40px;
    row-gap: 60px
}

@media screen and (max-width:768px) {
    .office__wrap--office .office__list {
        padding-top: 15px;
        row-gap: 35px
    }
}

.office__wrap--office .office__list--icon {
    padding-top: 0;
    justify-content: flex-end;
    margin-top: -36px;
    gap: 0
}

@media screen and (max-width:1024px) {
    .office__wrap--office .office__list--icon {
        margin-top: -30px
    }
}

@media screen and (max-width:768px) {
    .office__wrap--office .office__list--icon {
        padding-top: 0;
        justify-content: flex-start;
        padding-left: 36vw
    }
}

.office__wrap--service .office__list {
    -moz-column-gap: 4%;
    column-gap: 4%;
    row-gap: 20px;
    z-index: 1
}

.office__item {
    position: relative
}

.office__wrap--office .office__item {
    width: calc(33.33333333333333% - 26.666666666666668px)
}

@media screen and (max-width:768px) {
    .office__wrap--office .office__item {
        width: 100%
    }
}

.office__wrap--service .office__item {
    width: calc(50% - 2%);
    background-color: #f9f8f4;
    -webkit-clip-path: inset(0 0 round 8px);
    clip-path: inset(0 0 round 8px)
}

@media screen and (max-width:768px) {
    .office__wrap--service .office__item {
        width: 100%;
        background-color: rgba(255, 255, 255, 0.88)
    }
}

.office__list--icon .office__item {
    width: auto
}

.office__list--icon .office__item:not(:last-child) {
    padding-right: 8px
}

@media screen and (max-width:1024px) {
    .office__item--wide {
        padding-bottom: 32px
    }
}

@media screen and (max-width:768px) {
    .office__item--wide {
        padding-bottom: 0
    }
}

.office__container {
    width: 100%
}

@media screen and (max-width:768px) {
    .office__item--wide .office__container {
        display: flex
    }
}

.office__item--half .office__container {
    display: flex
}

.office__body {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 25px
}

@media screen and (max-width:1024px) {
    .office__body {
        flex-direction: column;
        align-items: flex-start;
        padding-top: 20px
    }
}

.office__item--wide .office__body {
    padding-bottom: 5px
}

@media screen and (max-width:1024px) {
    .office__item--wide .office__body {
        padding: 15px 0 0 0;
        justify-content: center;
        flex: 1
    }
}

@media screen and (max-width:768px) {
    .office__item--wide .office__body {
        padding: 0 0 0 4vw
    }
}

.office__item--half .office__body {
    padding: 0 0 0 20px;
    flex: 1
}

@media screen and (max-width:1024px) {
    .office__item--half .office__body {
        justify-content: center
    }
}

@media screen and (max-width:768px) {
    .office__item--half .office__body {
        padding: 0 0 0 4vw
    }
}

.office__group {
    position: relative;
    display: flex;
    align-items: center
}

.office__item--service .office__group {
    width: calc(100% - 20px);
    justify-content: space-between
}

@media screen and (max-width:768px) {
    .office__item--service .office__group {
        width: calc(100% - 15px)
    }
}

.office__link {
    position: relative;
    text-decoration: none;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    display: flex;
    align-items: center
}

.office__wrap--office .office__link {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #3a3937;
    z-index: 2
}

.office__group .office__link {
    margin: auto 0
}

.office__figure {
    -webkit-clip-path: inset(0 0 round 8px);
    clip-path: inset(0 0 round 8px);
    transition: all .9s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:768px) {
    .office__item--wide .office__figure {
        width: 32vw;
        height: 32vw
    }
}

.office__item--half .office__figure {
    width: 42%
}

.office__wrap--service .office__item--half .office__figure {
    width: 130px
}

@media screen and (max-width:768px) {
    .office__wrap--service .office__item--half .office__figure {
        width: 27vw;
        height: 27vw
    }
}

@media screen and (max-width:768px) {
    .office__item--half .office__figure {
        width: 32vw;
        height: 32vw
    }
}

.office__wrap--service .office__figure {
    -webkit-clip-path: none;
    clip-path: none
}

.office__link.is-hover .office__figure {
    -webkit-clip-path: inset(5px 5px round 8px);
    clip-path: inset(5px 5px round 8px);
    transition: all .9s cubic-bezier(.19, 1, .22, 1)
}

.office__wrap--service .office__link.is-hover .office__figure {
    -webkit-clip-path: none;
    clip-path: none
}

.office__image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: all .9s cubic-bezier(.19, 1, .22, 1)
}

.office__link.is-hover .office__image {
    transform: scale(1.1);
    transition: all .9s cubic-bezier(.19, 1, .22, 1)
}

.office__icon {
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%)
}

.office__wrap--office .office__icon {
    width: 32px;
    height: 32px;
    background-color: none
}

@media screen and (max-width:1024px) {
    .office__wrap--office .office__icon {
        width: 30px;
        height: 30px
    }
}

.office__wrap--office .office__label {
    padding-right: 10px;
    line-height: 1.3;
    font-size: 1.8rem
}

@media screen and (max-width:1024px) {
    .office__wrap--office .office__label {
        font-size: 1.7rem
    }
}

.office__item--half .office__label {
    flex: 1
}

@media screen and (max-width:1024px) {
    .office__item--half .office__label {
        padding-bottom: 0
    }
}

.office__wrap--service .office__label {
    font-size: 1.6rem;
    flex: 1
}

.office__label--tag {
    color: #dd6b74;
    font-size: 1.4rem;
    margin-bottom: 5px
}

.office__span {
    display: block
}

.office__arrow {
    position: relative;
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center
}

.office__arrow .arrow-svg {
    width: 20px;
    height: auto;
    transform: translateY(1px)
}

.office__arrow .arrow-svg__line,
.office__arrow .arrow-svg__path {
    stroke: #dd6b74
}

.office__circle {
    width: 0;
    height: 0;
    background-color: #dd6b74;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    position: absolute;
    top: calc(50% + 1px);
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0
}

.topics--all {
    position: relative;
    width: 1400px;
    max-width: 1400px;
    margin: 0 auto
}

@media screen and (max-width:1570.1317715959003px) {
    .topics--all {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .topics--all {
        width: 90vw
    }
}

.topics__head {
    padding-bottom: 50px
}

@media screen and (max-width:768px) {
    .topics__head {
        padding-bottom: 8vw
    }
}

.topics__bottom {
    display: flex;
    justify-content: center
}

.topics__wrap {
    display: flex
}

@media screen and (max-width:1200px) {
    .topics__wrap {
        display: block;
        padding-top: 0
    }
}

.topics__scroll {
    width: 22%;
    min-width: 190px
}

@media screen and (max-width:1200px) {
    .topics__scroll {
        width: 100vw;
        margin-left: -5vw;
        overflow: auto;
        -ms-overflow-style: none;
        scrollbar-width: none
    }

    .topics__scroll::-webkit-scrollbar {
        display: none
    }
}

.topics__list--nav {
    height: -moz-fit-content;
    height: fit-content;
    position: sticky;
    top: 174px
}

@media screen and (max-width:1200px) {
    .topics__list--nav {
        position: static;
        width: 100%;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        padding-bottom: 60px;
        -moz-column-gap: 25px;
        column-gap: 25px;
        row-gap: 20px;
        display: flex
    }
}

@media screen and (max-width:768px) {
    .topics__list--nav {
        padding: 0 0 30px;
        justify-content: flex-start;
        flex-wrap: nowrap;
        width: -moz-fit-content;
        width: fit-content;
        -moz-column-gap: 15px;
        column-gap: 15px
    }
}

.topics__list--pickup {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 30px;
    column-gap: 30px;
    border-bottom: 1px solid rgba(130, 107, 107, 0.12);
    padding-bottom: 50px;
    margin-bottom: 50px
}

@media screen and (max-width:768px) {
    .topics__list--pickup {
        gap: 30px;
        padding-bottom: 30px;
        margin-bottom: 30px
    }
}

.topics__list--topics {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 30px
}

@media screen and (max-width:768px) {
    .topics__list--topics {
        -moz-column-gap: 4vw;
        column-gap: 4vw;
        row-gap: 30px
    }
}

.topics__list--all {
    flex: 1;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 30px
}

@media screen and (max-width:768px) {
    .topics__list--all {
        gap: 30px
    }
}

.topics__list--nav .topics__item {
    width: 100%;
    padding-left: 14px
}

.topics__list--nav .topics__item:not(:first-child) {
    padding-top: 25px
}

@media screen and (max-width:1200px) {
    .topics__list--nav .topics__item {
        width: auto
    }

    .topics__list--nav .topics__item:nth-child(n+1) {
        padding: 0
    }
}

@media screen and (max-width:768px) {
    .topics__list--nav .topics__item:first-child {
        margin-left: 5vw
    }

    .topics__list--nav .topics__item:last-child {
        margin-right: 5vw
    }
}

.topics__list--pickup .topics__item {
    width: calc(33.33333333333333% - 20px)
}

@media screen and (max-width:768px) {
    .topics__list--pickup .topics__item {
        width: 100%
    }
}

.topics__list--topics .topics__item {
    width: calc(33.33333333333333% - 20px)
}

@media screen and (max-width:768px) {
    .topics__list--topics .topics__item {
        width: calc(50% - 2vw)
    }
}

.topics__list--all .topics__item {
    width: calc(33.33333333333333% - 20px)
}

@media screen and (max-width:768px) {
    .topics__list--all .topics__item {
        width: 100%
    }
}

.topics__link {
    position: relative;
    text-decoration: none;
    color: #3a3937
}

.topics__list--nav .topics__link {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.4rem;
    opacity: .45
}

.topics__list--nav .topics__link::before {
    content: '';
    width: 7px;
    height: 7px;
    background-color: #dd6b74;
    position: absolute;
    top: 50%;
    left: -14px;
    margin-top: -2px;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    display: none
}

@media screen and (max-width:768px) {
    .topics__list--nav .topics__link::before {
        left: 0
    }
}

@media screen and (max-width:768px) {
    .topics__list--nav .topics__link {
        font-size: 1.5rem;
        white-space: nowrap;
        padding-left: 12px
    }
}

@media (hover:hover) and (pointer:fine) {
    .topics__list--nav .topics__link:hover {
        opacity: 1;
        color: #dd6b74
    }
}

@media (hover:hover) and (pointer:fine) {
    .topics__list--nav .topics__link:active {
        opacity: 1;
        color: #dd6b74
    }
}

.topics__link--past {
    display: block;
    margin: 30px 0 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.4rem;
    padding: 20px 30px;
    background-color: rgba(255, 255, 255, 0.88);
    -webkit-clip-path: inset(0 0 round 8px);
    clip-path: inset(0 0 round 8px)
}

@media screen and (max-width:768px) {
    .topics__link--past {
        width: 100%;
        padding: 20px 0
    }
}

.topics__link--text {
    margin-right: 10px;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.topics__link.is-active {
    opacity: 1;
    color: #dd6b74;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.topics__link.is-active::before {
    display: block
}

.topics__figure {
    width: 100%;
    -webkit-clip-path: inset(0 0 round 8px);
    clip-path: inset(0 0 round 8px);
    transition: all .9s cubic-bezier(.19, 1, .22, 1)
}

.topics__link:hover .topics__figure {
    -webkit-clip-path: inset(5px 5px round 8px);
    clip-path: inset(5px 5px round 8px);
    transition: all .9s cubic-bezier(.19, 1, .22, 1)
}

.topics__image {
    width: 100%;
    height: auto;
    transition: all .9s cubic-bezier(.19, 1, .22, 1)
}

.topics__link:hover .topics__image {
    transform: scale(1.1);
    transition: all .9s cubic-bezier(.19, 1, .22, 1)
}

.topics__group {
    position: relative;
    padding: 15px 0;
    display: flex;
    align-items: center;
    gap: 10px
}

@media screen and (max-width:1200px) {
    .topics__list--topics .topics__group {
        flex-direction: column;
        align-items: flex-start;
        padding: 15px 0 0
    }
}

.topics__tag {
    height: 25px;
    -webkit-clip-path: inset(0 0 round 12.5px);
    clip-path: inset(0 0 round 12.5px);
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.1rem;
    color: #3a3937;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 10px;
    background-color: #f9ead5
}

.topics__tag--pickup {
    background-color: #fdc073;
    color: #f9f8f4
}

.topics__date {
    position: relative;
    height: 25px;
    display: flex;
    align-items: center;
    padding-left: 2px;
    font-size: 1.2rem;
    color: #3a3937
}

@media screen and (max-width:768px) {
    .topics__date {
        opacity: .7
    }
}

@media screen and (max-width:1200px) {
    .topics__list--topics .topics__date {
        padding: 15px 0 0
    }
}

@media screen and (max-width:768px) {
    .topics__list--topics .topics__date {
        padding: 0 0 0
    }
}

.topics__date::before {
    content: '';
    width: 1px;
    height: 100%;
    background-color: rgba(130, 107, 107, 0.12);
    margin-right: 12px
}

@media screen and (max-width:1200px) {
    .topics__list--topics .topics__date::before {
        display: none
    }
}

.topics__circle {
    width: 8px;
    height: 8px;
    background-color: #dd6b74;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    margin-left: auto;
    margin-right: 8px;
    opacity: 0;
    transform: scale(0);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:1200px) {
    .topics__list--topics .topics__circle {
        position: absolute;
        top: calc(15px + 12.5px - 4px);
        right: 0
    }
}

.topics__link:hover .topics__circle {
    opacity: 1;
    transform: scale(1);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.topics__text {
    font-size: 1.5rem;
    line-height: 1.5;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:768px) {
    .topics__text {
        font-size: 1.4rem
    }
}

@media screen and (max-width:1200px) {
    .topics__list--topics .topics__text {
        padding-top: 8px
    }
}

@media screen and (max-width:768px) {
    .topics__list--topics .topics__text {
        padding-top: 3px
    }
}

.topics__link:hover .topics__text {
    color: #dd6b74;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.topics__bottom {
    display: flex;
    justify-content: center;
    padding: 30px 0
}

@media screen and (max-width:768px) {
    .topics__bottom {
        padding: 20px 0
    }
}

.topics__pagination {
    position: static !important;
    transform: translate(0, 0) !important
}

.topics__pagination .swiper-pagination-bullet {
    background-color: #dd6b74
}

.office-head {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr
}

@media screen and (max-width:768px) {
    .office-head {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
        overflow: hidden
    }
}

.office-head__wrap {
    position: relative
}

.office-head__wrap--kv {
    padding-right: 4vw;
    margin-right: auto;
    grid-column: 1/2
}

@media screen and (max-width:768px) {
    .office-head__wrap--kv {
        padding-right: 0;
        width: 95vw;
        height: 270px;
        grid-row: 1/2
    }
}

.office-head__wrap--info {
    width: 35vw;
    height: 100%;
    min-width: 400px;
    padding: 50px 3vw 50px 0;
    grid-column: 2/3;
    display: flex;
    flex-direction: column;
    justify-content: center
}

@media screen and (max-width:768px) {
    .office-head__wrap--info {
        grid-column: 1/2;
        grid-row: 2/3;
        width: 90vw;
        min-width: auto;
        margin: 0 auto;
        padding: 30px 0 0
    }
}

.office-kv {
    position: relative;
    height: 100%
}

.office-kv__wrap {
    width: 100%;
    height: 100%;
    -webkit-clip-path: inset(0 0 round 0 18px 18px 0);
    clip-path: inset(0 0 round 0 18px 18px 0)
}

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

.office-info {
    position: relative;
    padding-top: 15px
}

@media screen and (max-width:768px) {
    .office-info {
        padding-top: 10px
    }
}

.office-info__title {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 3.8rem;
    padding-bottom: 30px
}

@media screen and (max-width:768px) {
    .office-info__title {
        font-size: 2.8rem;
        padding-bottom: 0
    }
}

.office-info__copy {
    font-size: 1.5rem;
    line-height: 1.7;
    padding: 0 40px 15px 0
}

@media screen and (max-width:768px) {
    .office-info__copy {
        padding: 20px 0 15px 0
    }
}

.office-info__row {
    position: relative;
    display: flex;
    align-items: center;
    padding-top: 12px
}

.office-info__row--address {
    flex-direction: column;
    align-items: flex-start
}

@media screen and (max-width:768px) {
    .office-info__row {
        padding-top: 10px
    }
}

.office-info__label {
    min-width: 5.8em;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.3rem;
    background-color: #f9ead5;
    padding: 5px;
    margin-right: 15px;
    text-align: center;
    -webkit-clip-path: inset(0 0 round 4px);
    clip-path: inset(0 0 round 4px)
}

@media screen and (max-width:768px) {
    .office-info__label {
        font-size: 1.2rem
    }
}

.office-info__button .office-info__label {
    min-width: auto;
    font-size: 1.3rem;
    transform: translateY(-.07em);
    padding: 0;
    margin-right: 5px;
    background: none
}

.office-info__text {
    font-size: 1.6rem
}

@media screen and (max-width:768px) {
    .office-info__text {
        font-size: 1.4rem
    }
}

.office-info__text--post {
    padding-bottom: 10px
}

@media screen and (max-width:768px) {
    .office-info__text--post {
        padding-bottom: 5px
    }
}

.office-info__text--address {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    -moz-column-gap: 10px;
    column-gap: 10px;
    row-gap: 9px
}

.office-info__button {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    color: #dd6b74;
    width: 70px;
    height: 28px;
    border: 2px solid #dd6b74;
    border-radius: 14px;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.office-info__button:hover {
    background-color: #dd6b74;
    color: #fff;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.office-info__button:hover .icon-fill {
    fill: #fff;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.office-info__icon {
    width: 11px
}

.office-info__icon .icon {
    display: block;
    width: 100%;
    height: auto
}

.office-info__icon .icon-fill {
    fill: #dd6b74;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.office-content {
    position: relative;
    width: 1400px;
    max-width: 1400px;
    margin: 0 auto;
    padding-top: 100px
}

@media screen and (max-width:1570.1317715959003px) {
    .office-content {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .office-content {
        width: 90vw
    }
}

@media screen and (max-width:768px) {
    .office-content {
        padding-top: 50px
    }
}

.office-content__head {
    position: relative;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 2.8rem;
    color: #3a3937;
    letter-spacing: .2em;
    padding-top: 30px
}

@media screen and (max-width:768px) {
    .office-content__head {
        font-size: 2.2rem;
        padding-top: 25px
    }
}

.office-content__head::before,
.office-content__head::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 3px
}

.office-content__head::before {
    width: 100%;
    background-color: rgba(130, 107, 107, 0.12);
    -webkit-clip-path: inset(0 0 round 1.5px);
    clip-path: inset(0 0 round 1.5px)
}

.office-content__head::after {
    width: 4.8em;
    background-color: #dd6b74;
    -webkit-clip-path: inset(0 0 round 1.5px 0 0 1.5px);
    clip-path: inset(0 0 round 1.5px 0 0 1.5px)
}

.office-content__wrap {
    padding: 60px 0
}

@media screen and (max-width:768px) {
    .office-content__wrap {
        padding: 30px 0
    }
}

.office-content__wrap:not(:last-child) {
    border-bottom: 1px solid rgba(130, 107, 107, 0.12)
}

.office-content__title {
    display: flex;
    align-items: center;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1.3
}

@media screen and (max-width:768px) {
    .office-content__title {
        font-size: 1.8rem
    }
}

.office-content__wrap--residence .office-content__title {
    color: #87a976
}

.office-content__wrap--residence .office-content__title .arrow-svg__line,
.office-content__wrap--residence .office-content__title .arrow-svg__path {
    stroke: #87a976
}

.office-content__wrap--facility .office-content__title {
    color: #64abcb
}

.office-content__wrap--facility .office-content__title .arrow-svg__line,
.office-content__wrap--facility .office-content__title .arrow-svg__path {
    stroke: #64abcb
}

.office-content__wrap--counter .office-content__title {
    color: #e6ae5b
}

.office-content__wrap--counter .office-content__title .arrow-svg__line,
.office-content__wrap--counter .office-content__title .arrow-svg__path {
    stroke: #e6ae5b
}

.office-content__card .office-content__title {
    font-size: 1.8rem;
    padding: 15px 20px;
    color: #fff;
    justify-content: space-between
}

@media screen and (max-width:768px) {
    .office-content__card .office-content__title {
        font-size: 1.6rem
    }
}

.office-content__wrap--residence .office-content__card .office-content__title {
    background-color: #87a976
}

.office-content__wrap--facility .office-content__card .office-content__title {
    background-color: #64abcb
}

.office-content__wrap--counter .office-content__card .office-content__title {
    background-color: #e6ae5b;
    padding: 12px 20px
}

.office-content__br {
    display: none
}

@media screen and (max-width:768px) {
    .office-content__br {
        display: block
    }
}

.office-content__arrow {
    margin-left: 10px;
    position: relative;
    width: 32px;
    height: 32px;
    display: flex;
    justify-content: center;
    align-items: center
}

.office-content__arrow .arrow-svg {
    position: relative;
    width: 16px;
    height: auto
}

.office-content__wrap--residence .office-content__arrow .arrow-svg__line,
.office-content__wrap--residence .office-content__arrow .arrow-svg__path {
    stroke: #87a976
}

.office-content__wrap--facility .office-content__arrow .arrow-svg__line,
.office-content__wrap--facility .office-content__arrow .arrow-svg__path {
    stroke: #64abcb
}

.office-content__wrap--counter .office-content__arrow .arrow-svg__line,
.office-content__wrap--counter .office-content__arrow .arrow-svg__path {
    stroke: #e6ae5b
}

.office-content__circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    background-color: #f9f8f4
}

.office-content__cards {
    padding-top: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 30px
}

@media screen and (max-width:768px) {
    .office-content__cards {
        padding-top: 20px
    }
}

.office-content__card {
    text-decoration: none;
    color: #3a3937;
    width: calc(33.33333333333333% - 20px);
    -webkit-clip-path: inset(0 0 round 18px);
    clip-path: inset(0 0 round 18px);
    background-color: rgba(255, 255, 255, 0.8);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.office-content__card.is-hover {
    transform: scale(1.025);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:1200px) {
    .office-content__card {
        width: calc(50% - 30px)
    }
}

@media screen and (max-width:768px) {
    .office-content__card {
        width: 100%
    }
}

.office-content__list {
    padding: 20px 20px
}

.office-content__list--availability {
    padding: 0 0 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 3px 10px
}

.office-content__item {
    display: flex
}

.office-content__item:not(:first-child) {
    padding-top: 15px
}

.office-content__list--availability .office-content__item {
    align-items: center
}

.office-content__list--availability .office-content__item:not(:first-child) {
    padding-top: 0
}

.office-content__image {
    width: 100%;
    height: auto
}

.office-content__label {
    min-width: 8em;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.2rem;
    background-color: rgba(249, 234, 213, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 5px;
    height: 24px;
    text-align: center;
    -webkit-clip-path: inset(0 0 round 4px);
    clip-path: inset(0 0 round 4px);
    margin-right: 15px
}

.office-content__list--availability .office-content__label {
    min-width: auto;
    background: none;
    padding: 0;
    margin-right: 0
}

.office-content__icon {
    width: 48px;
    margin-right: 15px
}

@media screen and (max-width:768px) {
    .office-content__icon {
        width: 38px;
        margin-right: 12px
    }
}

.office-content__list--availability .office-content__icon {
    width: 16px;
    height: 16px;
    margin-right: 0
}

.office-content__list--availability .office-content__icon .icon-line {
    fill: none;
    stroke: #000;
    stroke-width: 2.5px;
    stroke-linecap: round;
    stroke-linejoin: round
}

.office-content__cards--residence .office-content__list--availability .office-content__icon .icon-line {
    stroke: #87a976
}

.office-content__cards--facility .office-content__list--availability .office-content__icon .icon-line {
    stroke: #64abcb
}

.office-content__cards--counter .office-content__list--availability .office-content__icon .icon-line {
    stroke: #e6ae5b
}

.office-content__text {
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    line-height: 1.4
}

.office-content__title .office-content__text {
    font-size: 2.2rem
}

@media screen and (max-width:768px) {
    .office-content__title .office-content__text {
        font-size: 2rem
    }
}

.office-content__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px
}

.office-content__tag {
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 1.2rem;
    padding: 0 8px;
    height: 24px;
    border-radius: 12px
}

.office-content__cards--residence .office-content__tag {
    color: #87a976;
    border: 2px solid #87a976
}

.office-content__cards--facility .office-content__tag {
    color: #64abcb;
    border: 2px solid #64abcb
}

.office-content__cards--counter .office-content__tag {
    color: #e6ae5b;
    border: 2px solid #e6ae5b
}

.recruit-kv {
    position: relative;
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    z-index: 2;
    display: flex;
    justify-content: center;
    overflow: hidden
}

.recruit-kv__body {
    position: relative;
    margin-top: 5%;
    display: flex;
    flex-direction: column
}

@media screen and (max-width:768px) {
    .recruit-kv__body {
        margin-top: 0%
    }
}

.recruit-kv__group {
    position: absolute
}

.recruit-kv__group--pic,
.recruit-kv__group--bg {
    width: 100%;
    height: 100%;
    top: 0
}

.recruit-kv__group--copy {
    top: 10.273972602739725%;
    left: 50%;
    transform: translate(-50%, 0)
}

@media screen and (max-width:768px) {
    .recruit-kv__group--copy {
        top: 6.535947712418301%
    }
}

.recruit-kv__image {
    width: 100%;
    height: auto
}

.recruit-kv__image--illust {
    width: 270px
}

@media screen and (max-width:768px) {
    .recruit-kv__image--illust {
        margin: 32vw auto 0;
        width: 42%
    }
}

.recruit-kv__group--pic .recruit-kv__image,
.recruit-kv__group--bg .recruit-kv__image {
    position: absolute
}

.recruit-kv__image--pic1 {
    width: 35.065885797950216%;
    top: 11.415525114155251%;
    left: 0;
    -webkit-clip-path: inset(0 0 round 0 18px 18px 0);
    clip-path: inset(0 0 round 0 18px 18px 0)
}

@media screen and (min-width:1601px) {
    .recruit-kv__image--pic1 {
        -webkit-clip-path: inset(0 0 round 18px);
        clip-path: inset(0 0 round 18px)
    }
}

@media screen and (max-width:768px) {
    .recruit-kv__image--pic1 {
        width: 39.23076923076923%;
        top: 0;
        left: 0;
        -webkit-clip-path: inset(0 0 round 0 8px 8px 0);
        clip-path: inset(0 0 round 0 8px 8px 0)
    }
}

.recruit-kv__image--pic2 {
    width: 17.93557833089312%;
    top: 0;
    right: 17.789165446559295%;
    -webkit-clip-path: inset(0 0 round 18px);
    clip-path: inset(0 0 round 18px)
}

@media screen and (max-width:768px) {
    .recruit-kv__image--pic2 {
        width: 28.205128205128204%;
        top: 6.535947712418301%;
        right: 0;
        -webkit-clip-path: inset(0 0 round 8px 0 0 8px);
        clip-path: inset(0 0 round 8px 0 0 8px)
    }
}

.recruit-kv__image--pic3 {
    width: 27.672035139092237%;
    top: 33.67579908675799%;
    right: 0;
    -webkit-clip-path: inset(0 0 round 18px 0 0 18px);
    clip-path: inset(0 0 round 18px 0 0 18px)
}

@media screen and (min-width:1601px) {
    .recruit-kv__image--pic3 {
        -webkit-clip-path: inset(0 0 round 18px);
        clip-path: inset(0 0 round 18px)
    }
}

@media screen and (max-width:768px) {
    .recruit-kv__image--pic3 {
        width: 43.84615384615385%;
        top: 43.30065359477124%;
        -webkit-clip-path: inset(0 0 round 8px 0 0 8px);
        clip-path: inset(0 0 round 8px 0 0 8px)
    }
}

.recruit-kv__image--bg2 {
    width: 6.661786237188873%;
    top: 18.72146118721461%;
    left: 31.844802342606148%
}

@media screen and (max-width:768px) {
    .recruit-kv__image--bg2 {
        display: none
    }
}

.recruit-kv__image--bg3 {
    width: 5.710102489019034%;
    top: 12.899543378995434%;
    right: 4.831625183016105%
}

@media screen and (max-width:768px) {
    .recruit-kv__image--bg3 {
        width: 12.307692307692308%;
        top: 27.287581699346404%;
        right: 19.230769230769234%
    }
}

.recruit-kv__image--bg4 {
    width: 8.857979502196194%;
    top: 30.59360730593607%;
    right: 22.32796486090776%
}

@media screen and (max-width:768px) {
    .recruit-kv__image--bg4 {
        width: 17.435897435897434%;
        top: 72.87581699346404%;
        right: -2.564102564102564%
    }
}

.recruit-kv__image--bg5 {
    width: 10.248901903367496%;
    top: 64.04109589041096%;
    left: 12.005856515373353%
}

@media screen and (max-width:768px) {
    .recruit-kv__image--bg5 {
        width: 20%;
        top: 43.30065359477124%;
        left: 9.487179487179487%
    }
}

.recruit-kv__image--bg6 {
    width: 5.929721815519766%;
    top: 76.82648401826484%;
    left: 24.011713030746705%
}

@media screen and (max-width:768px) {
    .recruit-kv__image--bg6 {
        width: 12.307692307692308%;
        top: 52.614379084967325%;
        left: 25.128205128205128%
    }
}

.recruit-kv__image--bg7 {
    display: none
}

@media screen and (max-width:768px) {
    .recruit-kv__image--bg7 {
        display: block;
        width: 12.307692307692308%;
        top: 79.73856209150327%;
        left: 6.153846153846154%
    }
}

.recruit-kv__title {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

@media screen and (max-width:768px) {
    .recruit-kv__title {
        flex-direction: row-reverse;
        align-items: flex-start;
        gap: 15px
    }
}

.recruit-kv__subtitle {
    transform-origin: 100% 0;
    transform: rotate(90deg) translate(105%, 50%);
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.4rem;
    letter-spacing: .2em;
    position: absolute;
    top: 0;
    left: 50%;
    color: #dd6b74
}

@media screen and (max-width:768px) {
    .recruit-kv__subtitle {
        font-size: 1.2rem;
        transform: rotate(90deg) translate(105%, -60%)
    }
}

.recruit-kv__column {
    display: flex;
    flex-direction: column;
    gap: 5px
}

@media screen and (max-width:768px) {
    .recruit-kv__column--col2 {
        padding-top: 35%
    }
}

.recruit-kv__char {
    position: relative;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 3.3rem;
    font-size: clamp(2.8rem, 3vw, 3.4rem);
    line-height: 1
}

.recruit-kv__char--yakuhan {
    transform: translate(65%, -65%)
}

.recruit-kv__char--pink {
    color: #dd6b74
}

.recruit-kv__char--orange {
    color: #fdc073
}

.about-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 35px 0;
    width: 100%
}

.about-header__copy{font-size: 16px;font-weight: bold;color: #dc6a74;}
.about-header__p{font-size: 18px;line-height: 1.7;}
.svpage p{font-size: 18px;line-height: 1.7;}
.svpage img{width: 100%;}
.svpage h2{font-size: 2.2rem;padding: 17px 0;font-weight: bold;}
@media screen and (max-width:768px) {
    .about-header {
        padding: 40px 0 30px
    }
}

.about-header__subtitle {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.4rem;
    color: #dd6b74;
    letter-spacing: .15em;
    padding-bottom: 20px
}

@media screen and (max-width:768px) {
    .about-header__subtitle {
        font-size: 1.2rem;
        padding-bottom: 15px
    }
}

.about-header__title {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 2.8rem;
    letter-spacing: .15em;
    padding: 0 0 16px 0;
}

@media screen and (max-width:768px) {
    .about-header__title {
        font-size: 2.2rem;
        padding: 17px 0;
    }
}

.recruit-message {
    position: relative;
    width: 1000px;
    max-width: 1000px;
    margin: 0 auto;
    background-color: rgba(255, 255, 255, 0.88);
    border-radius: 18px;
    z-index: 1;
    padding: 80px 80px;
    margin-top: -70px
}

@media screen and (max-width:1121.5226939970717px) {
    .recruit-message {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .recruit-message {
        width: 90vw
    }
}

@media screen and (max-width:768px) {
    .recruit-message {
        padding: 40px 8vw;
        margin-top: -45px
    }
}

.recruit-message::before {
    content: '';
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border: 3px solid #f9f8f4;
    border-radius: 12px;
    position: absolute;
    top: 10px;
    left: 10px;
    pointer-events: none
}

.recruit-message__row:not(:last-child) {
    padding-bottom: 40px
}

@media screen and (max-width:768px) {
    .recruit-message__row:not(:last-child) {
        padding-bottom: 20px
    }
}

.recruit-message__row--signature {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px
}

@media screen and (max-width:768px) {
    .recruit-message__row--signature {
        justify-content: center;
        gap: 15px
    }
}

.recruit-message__text {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.7rem;
    color: #6f6c6b;
    line-height: 2
}

@media screen and (max-width:768px) {
    .recruit-message__text {
        font-size: 1.4rem
    }
}

.recruit-message__text--name {
    font-size: 2rem;
    padding-bottom: 2px
}

@media screen and (max-width:768px) {
    .recruit-message__text--name {
        font-size: 1.7rem;
        padding-bottom: 0
    }
}

.recruit-message__image {
    width: 100%;
    height: auto;
    position: absolute
}

.recruit-message__image--bg1 {
    width: 13.8%;
    top: 12%;
    right: -50px
}

@media screen and (max-width:768px) {
    .recruit-message__image--bg1 {
        display: none
    }
}

.recruit-message__image--bg2 {
    width: 8.799999999999999%;
    top: 55%;
    left: -50px
}

@media screen and (max-width:768px) {
    .recruit-message__image--bg2 {
        display: none
    }
}

.recruit-candidate {
    position: relative;
    width: 1000px;
    max-width: 1000px;
    margin: 0 auto;
    padding-top: 60px
}

@media screen and (max-width:1121.5226939970717px) {
    .recruit-candidate {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .recruit-candidate {
        width: 90vw
    }
}

@media screen and (max-width:768px) {
    .recruit-candidate {
        padding-top: 40px
    }
}

.recruit-candidate__list {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px
}

@media screen and (max-width:768px) {
    .recruit-candidate__list {
        flex-direction: column;
        gap: 15px
    }
}

.recruit-candidate__item {
    width: calc(33.33333333333333% - 20px);
    background-color: rgba(255, 255, 255, 0.88);
    padding: 20px 20px 25px;
    -webkit-clip-path: inset(0 0 round 12px);
    clip-path: inset(0 0 round 12px)
}

.recruit-candidate__item:nth-child(1) {
    margin-top: 0
}

.recruit-candidate__item:nth-child(2) {
    margin-top: 70px
}

.recruit-candidate__item:nth-child(3) {
    margin-top: 140px
}

@media screen and (max-width:768px) {
    .recruit-candidate__item {
        width: 100%;
        display: flex;
        align-items: center;
        padding: 15px
    }

    .recruit-candidate__item:nth-child(n+1) {
        margin: 0
    }
}

.recruit-candidate__figure {
    position: relative;
    padding-bottom: 20px
}

@media screen and (max-width:768px) {
    .recruit-candidate__figure {
        width: 40%;
        padding: 0
    }
}

.recruit-candidate__caption {
    position: absolute;
    top: 10px;
    left: 10px;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 2rem;
    z-index: 2
}

.recruit-candidate__item:nth-child(1) .recruit-candidate__caption {
    color: #dfa963
}

.recruit-candidate__item:nth-child(2) .recruit-candidate__caption {
    color: #d15361
}

.recruit-candidate__item:nth-child(3) .recruit-candidate__caption {
    color: #89af7b
}

@media screen and (max-width:768px) {
    .recruit-candidate__caption {
        top: 6px;
        left: 6px;
        font-size: 1.5rem
    }
}

.recruit-candidate__image {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 1
}

.recruit-candidate__image--bg1 {
    width: 8.799999999999999%;
    position: absolute;
    top: 90px;
    left: 100px
}

@media screen and (max-width:768px) {
    .recruit-candidate__image--bg1 {
        width: 14.871794871794872%;
        top: 70px;
        left: 7.692307692307693%
    }
}

.recruit-candidate__image--bg2 {
    width: 13.8%;
    position: absolute;
    top: 220px;
    right: -20px
}

@media screen and (max-width:768px) {
    .recruit-candidate__image--bg2 {
        width: 25.128205128205128%;
        top: 40px;
        right: 5.641025641025641%
    }
}

.recruit-candidate__image--bg3 {
    width: 6.800000000000001%;
    position: absolute;
    top: 160px;
    right: -80px
}

@media screen and (max-width:768px) {
    .recruit-candidate__image--bg3 {
        display: none
    }
}

.recruit-candidate__image--bg4 {
    width: 6.800000000000001%;
    position: absolute;
    bottom: 40px;
    left: -100px
}

@media screen and (max-width:768px) {
    .recruit-candidate__image--bg4 {
        width: 22.564102564102566%;
        bottom: -80px;
        left: 5.128205128205128%
    }
}

.recruit-candidate__image--bg5 {
    width: 13.8%;
    position: absolute;
    bottom: -40px;
    left: -20px
}

@media screen and (max-width:768px) {
    .recruit-candidate__image--bg5 {
        width: 14.871794871794872%;
        bottom: -105px;
        left: auto;
        right: 7.692307692307693%
    }
}

.recruit-candidate__copy {
    text-align: center;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.9rem;
    line-height: 1.4
}

.recruit-candidate__item:nth-child(1) .recruit-candidate__copy--colored {
    color: #dfa963
}

.recruit-candidate__item:nth-child(2) .recruit-candidate__copy--colored {
    color: #d15361
}

.recruit-candidate__item:nth-child(3) .recruit-candidate__copy--colored {
    color: #89af7b
}

.recruit-candidate__copy--br {
    display: none
}

@media screen and (max-width:768px) {
    .recruit-candidate__copy--br {
        display: block
    }
}

@media screen and (max-width:768px) {
    .recruit-candidate__copy {
        flex: 1;
        text-align: left;
        font-size: 1.8rem;
        padding-left: 20px
    }
}

.recruit-description {
    padding-top: 60px
}

.recruit-cta {
    display: none;
    text-decoration: none;
    background-color: #fcae4b;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

body.recruit .recruit-cta {
    display: block
}

.recruit-cta.is-hover {
    transform: scale(1.05);
    background-color: #fca537;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.recruit-cta__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 80px 0;
    gap: 50px
}

@media screen and (max-width:768px) {
    .recruit-cta__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 25px;
        padding: 50px 10vw
    }
}

.recruit-cta__wrap--main {
    display: flex;
    align-items: center;
    gap: 30px
}

@media screen and (max-width:768px) {
    .recruit-cta__wrap--main {
        gap: 20px
    }
}

.recruit-cta__wrap--sub {
    border-left: 1px solid #f9f8f4;
    padding: 25px 0 25px 40px
}

@media screen and (max-width:768px) {
    .recruit-cta__wrap--sub {
        border: none;
        padding: 0
    }
}

.recruit-cta__prepend {
    position: relative;
    width: 135px;
    height: 135px;
    display: flex;
    justify-content: center;
    align-items: center
}

@media screen and (max-width:768px) {
    .recruit-cta__prepend {
        width: 98px;
        height: 98px
    }
}

.recruit-cta__prepend::before {
    content: '';
    width: 100%;
    height: 100%;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    position: absolute;
    top: 0;
    left: 0;
    background-color: #f9f8f4
}

.recruit-cta__icon {
    position: relative;
    width: 80px
}

@media screen and (max-width:768px) {
    .recruit-cta__icon {
        width: 60px
    }
}

.recruit-cta__icon .icon-line {
    stroke-width: 12;
    stroke: #fdc073
}

.recruit-cta__icon .icon-line--1 {
    stroke-dashoffset: -155px;
    stroke-dasharray: 35px 120px
}

.recruit-cta__icon .icon-line--2 {
    stroke-dashoffset: 0;
    stroke-dasharray: 20px 120px
}

.recruit-cta__subtitle {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.4rem;
    color: #f9f8f4;
    letter-spacing: .2em
}

.recruit-cta__title {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 3.2rem;
    color: #f9f8f4;
    padding-top: 15px
}

@media screen and (max-width:768px) {
    .recruit-cta__title {
        padding-top: 10px;
        font-size: 2.8rem
    }
}

.recruit-cta__copy {
    font-size: 1.5rem;
    color: #f9f8f4;
    font-weight: bold;
    line-height: 1.7
}

.service-top {
    position: relative;
    width: 1400px;
    max-width: 1400px;
    margin: 0 auto
}

@media screen and (max-width:1570.1317715959003px) {
    .service-top {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .service-top {
        width: 90vw
    }
}

.service-top__row {
    position: relative;
    display: flex
}

@media screen and (max-width:768px) {
    .service-top__row {
        flex-direction: column
    }
}

.service-top__row:not(:first-child) {
    padding-top: 120px
}

@media screen and (max-width:768px) {
    .service-top__row:not(:first-child) {
        padding-top: 60px
    }
}

.service-top__prepend,
.service-top__append {
    position: sticky;
    top: 174px;
    width: 50%;
    height: 500px
}

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

    .service-top__prepend,
    .service-top__append {
        position: relative;
        z-index: 1;
        top: 0;
        width: 100%;
        height: 55vw;
        order: 1
    }
}

.service-top__image {
    position: absolute;
    top: 0;
    width: 50vw;
    max-width: 740px;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media screen and (max-width:768px) {
    .service-top__image {
        width: 100vw;
        height: 100%;
        left: 50%;
        margin-left: -50vw
    }
}

.service-top__prepend .service-top__image {
    right: 0;
    -webkit-clip-path: inset(0 0 round 0 18px 18px 0);
    clip-path: inset(0 0 round 0 18px 18px 0)
}

@media screen and (min-width:1481px) {
    .service-top__prepend .service-top__image {
        -webkit-clip-path: inset(0 0 round 18px);
        clip-path: inset(0 0 round 18px)
    }
}

@media screen and (max-width:768px) {
    .service-top__prepend .service-top__image {
        -webkit-clip-path: none;
        clip-path: none;
        right: auto
    }
}

.service-top__append .service-top__image {
    left: 0;
    -webkit-clip-path: inset(0 0 round 18px 0 0 18px);
    clip-path: inset(0 0 round 18px 0 0 18px)
}

@media screen and (max-width:768px) {
    .service-top__append .service-top__image {
        -webkit-clip-path: none;
        clip-path: none;
        left: 50%
    }
}

.service-top__body {
    width: 30%;
    margin: 0 auto
}

@media screen and (max-width:1200px) {
    .service-top__body {
        width: 40%
    }
}

@media screen and (max-width:768px) {
    .service-top__body {
        width: 100%;
        position: relative;
        z-index: 2;
        order: 2;
        padding: 0 5vw
    }

    .service-top__body::before {
        content: '';
        width: 70%;
        padding-top: 10.76923076923077%;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%, -100%);
        background: url("/assets/images/service/gap.svg") no-repeat 0 0/contain
    }
}

.service-top__head {
    margin: 0 auto
}

@media screen and (max-width:768px) {
    .service-top__head {
        margin-top: -20px
    }
}

.service-top__copy {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 2;
    padding: 15px 0 20px
}

@media screen and (max-width:768px) {
    .service-top__copy {
        font-size: 1.5rem
    }
}

.service-top__row--residence .service-top__copy--colored,
.service-category--residence .service-top__copy--colored {
    color: #87a976
}

.service-top__row--facility .service-top__copy--colored,
.service-category--facility .service-top__copy--colored {
    color: #64abcb
}

.service-top__row--counter .service-top__copy--colored,
.service-category--counter .service-top__copy--colored {
    color: #e6ae5b
}

.service-top__group {
    background-color: rgba(255, 255, 255, 0.88);
    -webkit-clip-path: inset(0 0 round 12px);
    clip-path: inset(0 0 round 12px);
    padding: 25px
}

.service-top__subhead {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.4rem;
    border-bottom: 1px solid rgba(130, 107, 107, 0.12);
    padding-bottom: 15px
}

.service-top__list {
    padding-top: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    font-size: 1.3rem
}

.service-top__item {
    display: flex;
    align-items: center;
    font-size: 1.4rem
}

.service-top__item::before {
    content: '';
    display: block;
    width: 13px;
    height: 13px;
    background-color: #fdc073;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    margin-right: 5px
}

.service-top__button {
    display: flex;
    justify-content: center;
    padding-top: 30px
}

.service-top__tag {
    font-size: 1.4rem;
    padding: 10px 0
}

@media screen and (max-width:768px) {
    .service-top__tag {
        font-size: 1.2rem
    }
}

.service-top__label {
    font-size: 2.4rem;
    padding-top: 20px
}

@media screen and (max-width:768px) {
    .service-top__label {
        font-size: 2rem;
        padding-top: 15px
    }
}

.service-top__icon {
    width: 125px;
    height: 125px
}

@media screen and (max-width:768px) {
    .service-top__icon {
        width: 100px;
        height: 100px
    }
}

.service-top__button {
    background: none;
    -webkit-clip-path: none;
    clip-path: none
}

.service-category__head {
    position: relative;
    width: 800px;
    max-width: 800px;
    margin: 0 auto;
    padding: 30px 0 60px
}

@media screen and (max-width:897.2181551976574px) {
    .service-category__head {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .service-category__head {
        width: 90vw
    }
}

@media screen and (max-width:768px) {
    .service-category__head {
        padding: 0 0 10px
    }
}

.service-category__title {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 0 15px
}

@media screen and (max-width:768px) {
    .service-category__title {
        display: block;
        padding: 5px 0 10px
    }
}

.service-category__icon {
    width: 125px;
    height: 125px
}

@media screen and (max-width:768px) {
    .service-category__icon {
        width: 115px;
        height: 115px
    }
}

.service-category__tag {
    width: auto;
    padding: 10px 20px;
    font-size: 1.7rem;
    margin-right: 15px
}

@media screen and (max-width:768px) {
    .service-category__tag {
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 auto;
        font-size: 1.4rem;
        padding: 8px 18px
    }
}

.service-category__label {
    font-size: 3.2rem;
    padding: 0;
    transform: translateY(-2%)
}

@media screen and (max-width:768px) {
    .service-category__label {
        font-size: 2.4rem;
        padding-top: 15px
    }
}

.service-category__label--br {
    display: none
}

@media screen and (max-width:768px) {
    .service-category__content {
        padding-top: 10px
    }
}

.service-category__row {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid rgba(130, 107, 107, 0.12);
    padding: 40px 0;
    margin-top: 60px
}

.service-category__copy {
    width: 55%
}

.service-head {
    position: relative;
    padding-top: 80px;
    padding-bottom: 80px;
    overflow: hidden
}

@media screen and (max-width:1200px) {
    .service-head {
        padding-top: 70px;
        padding-bottom: 50px
    }
}

@media screen and (max-width:768px) {
    .service-head {
        padding-top: 4vw;
        padding-bottom: 8vw
    }
}

.service-head__inner {
    position: relative;
    width: 1400px;
    max-width: 1400px;
    margin: 0 auto;
    display: flex
}

@media screen and (max-width:1570.1317715959003px) {
    .service-head__inner {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .service-head__inner {
        width: 90vw
    }
}

@media screen and (max-width:768px) {
    .service-head__inner {
        display: block
    }
}

.service-head__wrap--title {
    display: flex;
    flex-wrap: wrap;
    flex: 1
}

.service-head__wrap--info {
    position: relative;
    width: 40%;
    min-width: 400px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-left: 1px solid rgba(130, 107, 107, 0.12);
    padding-left: 40px
}

@media screen and (max-width:768px) {
    .service-head__wrap--info {
        padding-left: 0;
        border-left: none;
        padding-top: 30px
    }
}

.service-head__subtitle {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    display: flex;
    align-items: center;
    padding-left: 20px;
    border-left: 3px solid #dd6b74;
    height: 4em;
    color: #dd6b74
}

@media screen and (max-width:768px) {
    .service-head__subtitle {
        height: 2.5em;
        padding-left: 15px
    }
}

.service-head__subtitle .service-explain {
    padding-top: 0
}

.service-head__title {
    width: 100%;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    font-size: 3.2rem;
    padding-top: 25px;
    padding-right: 40px;
    line-height: 1.2
}

@media screen and (max-width:768px) {
    .service-head__title {
        padding-top: 15px;
        font-size: 2.2rem
    }
}

.service-head__text {
    padding-right: 30px;
    font-size: 1.8rem
}

@media screen and (max-width:768px) {
    .service-head__text {
        font-size: 1.4rem
    }
}

.service-content {
    position: relative;
    width: 1400px;
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between
}

@media screen and (max-width:1570.1317715959003px) {
    .service-content {
        width: 87.84773060029282vw
    }
}

@media screen and (max-width:1024px) {
    .service-content {
        width: 90vw
    }
}

@media screen and (max-width:1200px) {
    .service-content {
        display: block
    }
}

@media screen and (max-width:768px) {
    .service-content {
        width: 100%
    }
}

.service-content__wrap {
    position: relative;
    width: calc(78% - 60px);
    overflow: hidden
}

@media screen and (max-width:1200px) {
    .service-content__wrap {
        width: 100%
    }
}

.service-content__inner {
    -webkit-clip-path: inset(0 0 round 18px);
    clip-path: inset(0 0 round 18px);
    background-color: rgba(255, 255, 255, 0.88);
    padding-bottom: 60px
}

@media screen and (max-width:768px) {
    .service-content__inner {
        -webkit-clip-path: inset(0 0 round 0);
        clip-path: inset(0 0 round 0);
        background: none;
        padding-bottom: 0
    }
}

.service-content__slider {
    width: 100%;
    position: relative
}

.service-content__slider-item {
    overflow: hidden
}

.service-content__caption {
    position: absolute;
    bottom: 20px;
    left: 20px;
    width: calc(100% - 40px);
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.3;
    color: #fff;
    text-shadow: 1px 1px 25px rgba(0, 0, 0, 0.8)
}

@media screen and (max-width:768px) {
    .service-content__caption {
        font-size: 1.3rem;
        bottom: 4vw;
        left: 4vw;
        width: calc(100% - 8vw)
    }
}

.service-content__pagination {
    bottom: -25px !important
}

.service-content__pagination .swiper-pagination-bullet-active {
    background-color: #dd6b74
}

.service-content__button-next,
.service-content__button-prev {
    width: 44px !important;
    height: 44px !important
}

.service-content__button-next::after,
.service-content__button-prev::after {
    display: none
}

.service-content__button-prev {
    transform: rotate(-180deg)
}

.service-content__image {
    width: 100%;
    height: 100%;
    max-height: 570px;
    -o-object-fit: cover;
    object-fit: cover
}

.service-content__cover .service-content__image {
    height: auto
}

.service-content__title {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 2.2rem;
    color: #dd6b74;
    border-left: 3px solid #dd6b74;
    padding: 8px 0 8px 20px
}

@media screen and (max-width:768px) {
    .service-content__title {
        font-size: 2rem
    }
}

.service-content__subtitle {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1.5
}

@media screen and (max-width:768px) {
    .service-content__subtitle {
        font-size: 2rem
    }
}

.service-content__group {
    padding: 0 60px
}

@media screen and (max-width:768px) {
    .service-content__group {
        padding: 0 5vw
    }
}

.service-content__group:not(:first-child) {
    padding-top: 60px
}

@media screen and (max-width:768px) {
    .service-content__group:not(:first-child) {
        padding-top: 10vw
    }
}

.service-content__row-wrap {
    display: flex;
    gap: 30px
}

@media screen and (max-width:768px) {
    .service-content__row-wrap {
        flex-direction: column;
        gap: 15px
    }
}

.service-content__row {
    padding-top: 30px
}

.service-content__row--magazine {
    display: flex;
    gap: 30px
}

@media screen and (max-width:768px) {
    .service-content__row--magazine {
        flex-direction: column
    }
}

.service-content__row-wrap .service-content__row {
    flex: 1;
    display: flex;
    flex-direction: column
}

@media screen and (max-width:768px) {
    .service-content__row-wrap .service-content__row {
        width: 100%
    }
}

@media screen and (max-width:768px) {
    .service-content__row {
        padding-top: 6vw
    }
}

.service-content__copy {
    font-size: 1.5rem;
    line-height: 1.7;
    padding-top: 15px
}

@media screen and (max-width:768px) {
    .service-content__copy {
        font-size: 1.4rem
    }

    .service-content__copy br {
        display: none
    }
}

.service-content__list--disc:not(:only-child) {
    padding-top: 15px
}

.service-content__list--schedule {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-content: space-between
}

.service-content__list--schedule:not(:only-child) {
    padding-top: 20px
}

.service-content__list--timeline {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 30px
}

.service-content__list--card {
    display: flex;
    flex-wrap: wrap;
    gap: 20px
}

.service-content__list--card:not(:only-child) {
    padding-top: 20px
}

@media screen and (max-width:768px) {
    .service-content__list--card {
        gap: 3vw
    }
}

.service-content__list--or {
    flex-wrap: nowrap;
    align-items: center
}

@media screen and (max-width:768px) {
    .service-content__list--or {
        flex-direction: column;
        gap: 10px
    }
}

@media screen and (max-width:768px) {
    .service-content__list--plus {
        flex-direction: column;
        gap: 10px
    }
}

.service-content__list--capacity {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 20px;
    column-gap: 20px
}

@media screen and (max-width:768px) {
    .service-content__list--capacity {
        padding-top: 5px;
        -moz-column-gap: 10px;
        column-gap: 10px
    }
}

.service-content__etc .service-content__list {
    padding-top: 15px
}

.service-content__list--disc .service-content__item {
    font-size: 1.5rem;
    display: flex;
    line-height: 1.5
}

@media screen and (max-width:768px) {
    .service-content__list--disc .service-content__item {
        font-size: 1.3rem
    }
}

.service-content__list--disc .service-content__item:not(:first-child) {
    padding-top: 10px
}

.service-content__list--disc .service-content__item::before {
    content: '';
    width: 14px;
    height: 14px;
    min-width: 14px;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    background-color: #fdc073;
    transform: translateY(.25em);
    margin-right: 8px
}

@media screen and (max-width:768px) {
    .service-content__list--disc .service-content__item::before {
        width: 12px;
        height: 12px;
        min-width: 12px;
        margin-right: 6px
    }
}

.service-content__list--schedule .service-content__item {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 20px 20px
}

@media screen and (max-width:1280px) {
    .service-content__list--schedule .service-content__item {
        width: 100%
    }
}

@media screen and (max-width:768px) {
    .service-content__list--schedule .service-content__item {
        padding: 20px 5px
    }
}

.service-content__list--schedule .service-content__item:not(:first-child)::after {
    content: '';
    width: 0;
    height: 100%;
    border-left: 3px solid #fca941;
    position: absolute;
    top: -20px;
    left: 92px;
    z-index: 0
}

@media screen and (max-width:768px) {
    .service-content__list--schedule .service-content__item:not(:first-child)::after {
        left: 78px
    }
}

.service-content__list--schedule .service-content__item:nth-child(even) {
    background-color: #f8f7f2;
    border-radius: 4px
}

@media screen and (max-width:768px) {
    .service-content__list--schedule .service-content__item:nth-child(even) {
        background-color: #f4f2ea
    }
}

.service-content__list--timeline .service-content__item {
    display: flex
}

@media screen and (max-width:768px) {
    .service-content__list--timeline .service-content__item {
        position: relative;
        flex-wrap: wrap
    }

    .service-content__list--timeline .service-content__item:not(:last-child)::before {
        content: '';
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 8px 6px 0 6px;
        border-color: #dd6b74 transparent transparent transparent;
        position: absolute;
        bottom: -18px;
        left: 50%;
        transform: translate(-50%, 0)
    }
}

.service-content__list--card .service-content__item {
    border: 1px solid rgba(130, 107, 107, 0.12);
    border-radius: 10px;
    overflow: hidden;
    width: calc(33.33333333333333% - 13.333333333333334px)
}

@media screen and (max-width:768px) {
    .service-content__list--card .service-content__item {
        background-color: rgba(255, 255, 255, 0.5)
    }
}

@media screen and (max-width:1280px) {
    .service-content__group--price .service-content__list--card .service-content__item {
        width: calc(50% - 10px)
    }
}

@media screen and (max-width:768px) {
    .service-content__group--price .service-content__list--card .service-content__item {
        width: calc(50% - 1.5vw)
    }

    .service-content__group--price .service-content__list--card .service-content__item--wide {
        width: 100%
    }

    .service-content__group--price .service-content__list--card .service-content__item:only-child {
        width: 100%
    }
}

@media screen and (max-width:768px) {
    .service-content__group--availability .service-content__list--card .service-content__item {
        width: calc(33.33333333333333% - 2vw)
    }
}

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

    .service-content__group--price .service-content__list--column-1 .service-content__item,
    .service-content__group--availability .service-content__list--column-1 .service-content__item {
        width: 100%
    }
}

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

    .service-content__group--price .service-content__list--column-2 .service-content__item,
    .service-content__group--availability .service-content__list--column-2 .service-content__item {
        width: auto;
        flex: 1
    }
}

.service-content__group--price .service-content__list--or .service-content__item {
    width: auto;
    flex: 1
}

@media screen and (max-width:768px) {
    .service-content__group--price .service-content__list--or .service-content__item {
        width: 100%
    }
}

.service-content__group--price .service-content__list--or .service-content__item--or {
    flex: none;
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 30px;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #dd6b74;
    color: #fff
}

@media screen and (max-width:768px) {
    .service-content__group--price .service-content__list--or .service-content__item--or {
        width: auto;
        height: 30px;
        padding: 0 12px
    }
}

.service-content__group--price .service-content__list--plus .service-content__item {
    width: auto;
    flex: 1
}

.service-content__group--price .service-content__list--plus .service-content__item--plus {
    flex: none;
    border: none;
    width: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: none
}

@media screen and (max-width:768px) {
    .service-content__group--price .service-content__list--plus .service-content__item--plus {
        width: 100%
    }
}

.service-content__group--price .service-content__list--plus .service-content__item--etc {
    flex: .5
}

.service-content__group--price .service-content__list--plus .service-content__item--wide {
    width: 100%;
    flex: none
}

.service-content__list--capacity .service-content__item {
    display: flex;
    align-items: center;
    gap: 5px
}

@media screen and (max-width:768px) {
    .service-content__list--capacity .service-content__item {
        gap: 5px
    }
}

.service-content__prepend {
    position: relative;
    z-index: 1;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    margin-right: 15px;
    height: -moz-fit-content;
    height: fit-content
}

.service-content__list--timeline .service-content__prepend {
    background-color: #dd6b74;
    color: #fff;
    font-size: 1.4rem;
    padding: 10px 0;
    min-width: 10em;
    display: flex;
    justify-content: center;
    border-radius: 4px
}

@media screen and (max-width:768px) {
    .service-content__list--timeline .service-content__prepend {
        width: 100%;
        margin: 0;
        border-radius: 6px 6px 0 0
    }
}

.service-content__list--timeline .service-content__item:not(:last-child) .service-content__prepend::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 6px 0 6px;
    border-color: #dd6b74 transparent transparent transparent;
    position: absolute;
    bottom: -18px;
    left: 50%;
    transform: translate(-50%, 0)
}

@media screen and (max-width:768px) {
    .service-content__list--timeline .service-content__item:not(:last-child) .service-content__prepend::before {
        display: none
    }
}

.service-content__list--schedule .service-content__body {
    flex: 1
}

.service-content__list--timeline .service-content__body {
    padding-top: 9px
}

@media screen and (max-width:768px) {
    .service-content__list--timeline .service-content__body {
        background-color: rgba(255, 255, 255, 0.88);
        padding: 15px;
        width: 100%;
        -webkit-clip-path: inset(0 0 round 0 0 6px 6px);
        clip-path: inset(0 0 round 0 0 6px 6px)
    }
}

.service-content__label {
    position: relative
}

.service-content__list--card .service-content__label {
    background-color: #f9f8f4;
    text-align: center;
    padding: 12px 0;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.4
}

@media screen and (max-width:768px) {
    .service-content__list--card .service-content__label {
        background-color: #f2f0e7;
        font-size: 1.3rem;
        padding: 12px
    }
}

.service-content__time {
    transform: translateY(-.05em);
    padding-right: 10px;
    min-width: 60px;
    text-align: right
}

.service-content__clock {
    position: relative;
    width: 28px;
    height: 28px;
    border: 3px solid #fca941;
    border-radius: 50%;
    background-color: #fff
}

.service-content__clock::before,
.service-content__clock::after {
    content: '';
    position: absolute;
    top: calc(50% + 1.5px);
    left: 50%;
    transform: translate(-50%, -100%);
    transform-origin: 50% calc(100% - 1.5px);
    width: 3px;
    background-color: #fca941;
    border-radius: 1.5px
}

.service-content__clock::before {
    height: 8px
}

.service-content__clock::after {
    height: 11px
}

.service-content__clock[data-hour="1"]::before {
    transform: translate(-50%, -100%) rotate(30deg)
}

.service-content__clock[data-hour="2"]::before {
    transform: translate(-50%, -100%) rotate(60deg)
}

.service-content__clock[data-hour="3"]::before {
    transform: translate(-50%, -100%) rotate(90deg)
}

.service-content__clock[data-hour="4"]::before {
    transform: translate(-50%, -100%) rotate(120deg)
}

.service-content__clock[data-hour="5"]::before {
    transform: translate(-50%, -100%) rotate(150deg)
}

.service-content__clock[data-hour="6"]::before {
    transform: translate(-50%, -100%) rotate(180deg)
}

.service-content__clock[data-hour="7"]::before {
    transform: translate(-50%, -100%) rotate(210deg)
}

.service-content__clock[data-hour="8"]::before {
    transform: translate(-50%, -100%) rotate(240deg)
}

.service-content__clock[data-hour="9"]::before {
    transform: translate(-50%, -100%) rotate(270deg)
}

.service-content__clock[data-hour="10"]::before {
    transform: translate(-50%, -100%) rotate(300deg)
}

.service-content__clock[data-hour="11"]::before {
    transform: translate(-50%, -100%) rotate(330deg)
}

.service-content__clock[data-hour="12"]::before {
    transform: translate(-50%, -100%) rotate(360deg)
}

.service-content__clock[data-hour="13"]::before {
    transform: translate(-50%, -100%) rotate(390deg)
}

.service-content__clock[data-hour="14"]::before {
    transform: translate(-50%, -100%) rotate(420deg)
}

.service-content__clock[data-hour="15"]::before {
    transform: translate(-50%, -100%) rotate(450deg)
}

.service-content__clock[data-hour="16"]::before {
    transform: translate(-50%, -100%) rotate(480deg)
}

.service-content__clock[data-hour="17"]::before {
    transform: translate(-50%, -100%) rotate(510deg)
}

.service-content__clock[data-hour="18"]::before {
    transform: translate(-50%, -100%) rotate(540deg)
}

.service-content__clock[data-hour="19"]::before {
    transform: translate(-50%, -100%) rotate(570deg)
}

.service-content__clock[data-hour="20"]::before {
    transform: translate(-50%, -100%) rotate(600deg)
}

.service-content__clock[data-hour="21"]::before {
    transform: translate(-50%, -100%) rotate(630deg)
}

.service-content__clock[data-hour="22"]::before {
    transform: translate(-50%, -100%) rotate(660deg)
}

.service-content__clock[data-hour="23"]::before {
    transform: translate(-50%, -100%) rotate(690deg)
}

.service-content__clock[data-hour="24"]::before {
    transform: translate(-50%, -100%) rotate(720deg)
}

.service-content__clock[data-minute="15"]::after {
    transform: translate(-50%, -100%) rotate(90deg)
}

.service-content__clock[data-minute="30"]::after {
    transform: translate(-50%, -100%) rotate(180deg)
}

.service-content__clock[data-minute="45"]::after {
    transform: translate(-50%, -100%) rotate(270deg)
}

.service-content__text {
    line-height: 1.3;
    font-size: 1.5rem
}

@media screen and (max-width:768px) {
    .service-content__text {
        font-size: 1.4rem
    }
}

.service-content__list--schedule .service-content__text:not(:only-child) {
    padding-bottom: 8px
}

.service-content__list--timeline .service-content__text:not(:only-child) {
    padding-bottom: 8px
}

.service-content__list--card .service-content__text {
    text-align: center;
    font-weight: bold;
    padding: 15px 0
}

.service-content__list--card .service-content__text:only-child {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center
}

@media screen and (max-width:768px) {
    .service-content__list--card .service-content__text {
        padding: 12px 0
    }
}

.service-content__item--plus .service-content__text:only-child {
    background-color: #dd6b74;
    width: 30px;
    height: 30px;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.7rem;
    color: #fff;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%)
}

.service-content__item--etc .service-content__text {
    padding: 30px 0
}

@media screen and (max-width:768px) {
    .service-content__item--etc .service-content__text {
        padding: 20px 0
    }
}

.service-content__list--capacity .service-content__text {
    font-size: 1.2rem
}

@media screen and (max-width:768px) {
    .service-content__list--capacity .service-content__text {
        font-size: 1.1rem
    }
}

.service-content__text--bold {
    font-weight: bold
}

.service-content__text--small {
    font-size: 1.2rem;
    padding-left: 10px
}

.service-content__text--price {
    font-size: 2.8rem;
    font-weight: bold;
    color: #dd6b74;
    padding: 0 5px
}

@media screen and (max-width:768px) {
    .service-content__text--price {
        font-size: 2.2rem
    }
}

.service-content__text--full {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center
}

.service-content__text--disc {
    display: flex
}

.service-content__text--disc::before {
    content: '';
    width: 14px;
    height: 14px;
    min-width: 14px;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    background-color: #fdc073;
    transform: translateY(.25em);
    margin-right: 8px
}

@media screen and (max-width:768px) {
    .service-content__text--disc::before {
        width: 12px;
        height: 12px;
        min-width: 12px;
        margin-right: 6px
    }
}

.service-content__etc {
    border: 1px solid rgba(130, 107, 107, 0.12);
    border-radius: 18px;
    padding: 30px
}

@media screen and (max-width:768px) {
    .service-content__etc {
        padding: 20px;
        border-radius: 12px
    }
}

.service-content__bottom {
    padding-top: 20px
}

.service-content__annotation {
    font-size: 1.3rem;
    font-weight: normal;
    line-height: 1.4
}

.service-content__annotation:not(:first-of-type) {
    padding-top: 5px
}

.service-content__group--availability .service-content__icon {
    width: 32px;
    height: 32px;
    margin: 20px auto
}

@media screen and (max-width:768px) {
    .service-content__group--availability .service-content__icon {
        width: 24px;
        height: 24px;
        margin: 15px auto
    }
}

.service-content__group--availability .service-content__icon .icon-line {
    fill: none;
    stroke: #dd6b74;
    stroke-width: 2.5px;
    stroke-linecap: round;
    stroke-linejoin: round
}

.service-content__list--capacity .service-content__icon {
    width: 18px;
    height: 18px
}

@media screen and (max-width:768px) {
    .service-content__list--capacity .service-content__icon {
        width: 16px;
        height: 16px
    }
}

.service-content__map {
    width: 100%;
    position: relative;
    padding-top: 56.25%
}

.service-content__map>iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.service-content__cover {
    width: 300px
}

@media screen and (max-width:768px) {
    .service-content__cover {
        width: 270px;
        margin: 0 auto
    }
}

.service-content__backnumber {
    flex: 1
}

.service-content__backnumber-list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 15px
}

.service-content__backnumber-item {
    width: calc(50% - 7.5px)
}

@media screen and (max-width:768px) {
    .service-content__backnumber-item {
        width: 100%
    }
}

.service-content__backnumber-link {
    text-decoration: none;
    color: #3a3937;
    font-size: 1.4rem;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.service-content__cover .service-content__backnumber-link {
    text-align: center
}

.service-content__cover .service-content__backnumber-link:hover {
    opacity: .7;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.service-content__backnumber .service-content__backnumber-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    font-size: 1.4rem;
    border: 1px solid rgba(130, 107, 107, 0.12);
    border-radius: 8px
}

.service-content__backnumber .service-content__backnumber-link::after {
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    background: url("/assets/images/common/icon_pdf.png") no-repeat 0 0/cover
}

.service-content__backnumber .service-content__backnumber-link:hover {
    background-color: rgba(249, 248, 244, 0.75)
}

.service-content__figcaption {
    padding-top: 10px;
    display: flex;
    justify-content: center;
    align-items: center
}

.service-content__figcaption::after {
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    background: url("/assets/images/common/icon_pdf.png") no-repeat 0 0/cover;
    margin-left: 10px
}

.service-cta {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-top: 60px
}

@media screen and (max-width:768px) {
    .service-cta {
        flex-direction: column;
        padding: 40px 5vw 0;
        gap: 20px
    }
}

.service-cta__head {
    width: 100%;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 2rem;
    padding-bottom: 30px;
    text-align: center;
    line-height: 1.5
}

@media screen and (max-width:768px) {
    .service-cta__head {
        padding-bottom: 0
    }
}

.service-cta__head--br {
    display: none
}

@media screen and (max-width:768px) {
    .service-cta__head--br {
        display: block
    }
}

.service-cta__link {
    display: block;
    text-decoration: none
}

.service-cta__wrap {
    width: calc(50% - 15px)
}

@media screen and (max-width:768px) {
    .service-cta__wrap {
        width: 100%
    }
}

.service-cta__button {
    position: relative;
    width: 100%;
    border: 4px solid #dd6b74;
    border-radius: 12px;
    padding: 25px 0 18px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #fff
}

.service-cta__copy {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    color: #3a3937;
    text-align: center;
    padding-bottom: 7px
}

.service-cta__label {
    display: flex;
    align-items: center;
    margin-left: -10px
}

.service-cta__icon {
    width: 60px;
    margin-right: -3px
}

.service-cta__button--tel .service-cta__icon {
    margin-right: -6px
}

.service-cta__icon .icon-line,
.service-cta__icon .icon-base {
    fill: none;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10
}

.service-cta__icon .icon-line {
    display: none
}

.service-cta__icon .icon-base {
    stroke: #dd6b74
}

.service-cta__icon .icon-fill {
    fill: #dd6b74;
    stroke-width: 0
}

.service-cta__icon .icon-nofill {
    fill: none;
    stroke: #dd6b74;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10
}

.service-cta__text {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 2rem;
    color: #dd6b74
}

.service-cta__button--tel .service-cta__text {
    font-size: 3.4rem;
    transform: translate(0, -7%)
}

.service-cta__button--mail .service-cta__text {
    transform: translate(0, -5%);
    margin-right: 15px
}

.service-button {
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.service-button::before {
    transform: scale(.7);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.service-button.is-hover {
    transform: scale(1.05)
}

.service-button.is-hover::before {
    opacity: 1;
    transform: scale(1);
    opacity: 1;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.drawer__circle::before {
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:768px) {
    .drawer.is-scroll .drawer__circle::before {
        width: calc(100% + 2vw);
        height: calc(100% + 2vw);
        box-shadow: 0 10px 35px -5px rgba(58, 57, 55, 0.4);
        transition: all .5s cubic-bezier(.19, 1, .22, 1)
    }
}

.drawer.is-scroll .drawer__label {
    pointer-events: none
}

.drawer__label--content {
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.drawer.is-active.is-hover .drawer__label--content {
    transform: translateX(8px);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.drawer.is-scroll .drawer__label--content {
    opacity: 0;
    transform: translateY(-20px)
}

.drawer__line {
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.drawer.is-active .drawer__line--1 {
    transform: translate(-50%, -50%) rotate(45deg) scaleX(1.5)
}

@media screen and (max-width:768px) {
    .drawer.is-active .drawer__line--1 {
        transform: translate(-50%, -50%) rotate(45deg) scaleX(1.7)
    }
}

.drawer:not(.is-active).is-hover .drawer__line--1 {
    transform: translate(-50%, -50%) translateY(-5px) translateX(3px)
}

.drawer.is-active.is-hover .drawer__line--1 {
    transform: translate(-50%, -50%) rotate(45deg) scaleX(1.2)
}

.drawer.is-active .drawer__line--2 {
    transform: translate(-50%, -50%) rotate(-45deg) scaleX(1.5)
}

@media screen and (max-width:768px) {
    .drawer.is-active .drawer__line--2 {
        transform: translate(-50%, -50%) rotate(-45deg) scaleX(1.7)
    }
}

.drawer:not(.is-active).is-hover .drawer__line--2 {
    transform: translate(-50%, -50%) translateY(5px) translateX(-3px)
}

.drawer.is-active.is-hover .drawer__line--2 {
    transform: translate(-50%, -50%) rotate(-45deg) scaleX(1.2)
}

.cta-side {
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.cta-side.is-hide {
    transform: translateX(60px);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:1200px) {
    .cta-side {
        display: none
    }
}

.sitemap__wrap--service::before {
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.sitemap.is-active .sitemap__wrap--service::before {
    visibility: visible;
    top: 0;
    right: 0;
    width: var(--sitemap-service-w);
    height: calc(var(--sitemap-h) + var(--sitemap-y));
    border-radius: 0 0 0 18px;
    transition: all .7s cubic-bezier(.19, 1, .22, 1)
}

@media screen and (max-width:768px) {
    .sitemap.is-active .sitemap__wrap--service::before {
        top: 0;
        width: 100%;
        border-radius: 0 0 24px 24px;
        height: var(--sitemap-service-h)
    }
}

.sitemap__item--entry .sitemap__link {
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.sitemap__item--entry .sitemap__link.is-hover {
    transform: scale(1.025);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.idx-kv__item--residence .idx-kv__link::before,
.idx-kv__item--facility .idx-kv__link::before,
.idx-kv__item--counter .idx-kv__link::before,
.idx-kv__item--recruit .idx-kv__link::before {
    transform: scale(.7);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.idx-kv__item--residence .idx-kv__link.is-hover::before,
.idx-kv__item--facility .idx-kv__link.is-hover::before,
.idx-kv__item--counter .idx-kv__link.is-hover::before,
.idx-kv__item--recruit .idx-kv__link.is-hover::before {
    opacity: 1;
    transform: scale(1);
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

body.home #js-header,
body.home #js-side-cta,
body.home #js-kv-figure-1,
body.home #js-kv-figure-2,
body.home .js-kv-menu,
body.home .idx-kv__char {
    visibility: hidden
}

body.home.no-splash #js-header,
body.home.no-splash #js-side-cta,
body.home.no-splash #js-kv-figure-1,
body.home.no-splash #js-kv-figure-2,
body.home.no-splash .js-kv-menu,
body.home.no-splash .idx-kv__char {
    visibility: visible
}

body.home.no-splash #splash {
    display: none
}

body.recruit .recruit-kv {
    visibility: hidden
}