@charset "UTF-8";

html {
    font-size: 100%;
    margin: 0;
    scroll-behavior: smooth;
}
#contact {
  scroll-margin-top: 80px;
}
body {
    color: #281E13;
    font-family: "Zen Old Mincho", "Cormorant Garamond", serif;
    background-color: #FFFBF2;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.img img {
    display: block;
}
img {
    max-width: 100%;
    vertical-align: bottom;
    height: auto;
}
ul {
    margin: 0;
    padding: 0;
}
li {
    list-style: none;
}
dl,
dd {
    margin: 0;
}
h1,h2,h3 {
    margin: 0;
}
p {
    margin: 0;
}
a {
    color: #281E13;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
}
a:hover {
    opacity: 1;
}
*, *::before, *::after {
  box-sizing: border-box;
}

.wrapper {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 100px;
}
.br-tab,
.br-1280,
.br-414,
.br-320 {
    display: none;
}

/*-------------------------------------------
Header
-------------------------------------------*/
.header {
    padding: 30px 40px 0;
    position: relative;
    z-index: 999;
}
.header .logo {
    width: 100%;
    max-width: 160px;
    line-height: 0;
}
.header .logo a {
    display: block;
}
.header .logo a:hover {
    opacity: 0.7;
}
.header .logo .img {
    width: 100%;
}
.header .title {
    max-width: 275px;
    line-height: 0;
    z-index: 1;
    margin: -23px auto 0;
}

/*-------------------------------------------
タブレット
-------------------------------------------*/
@media screen and (max-width: 840px) {
    .header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px 15px 13px;
    }
    .header .title {
        max-width: 150px;
        margin: 0;
    }
    .header .logo {
        width: 120px;
    }
}

/*-------------------------------------------
Mainvisual
-------------------------------------------*/
.mainvisual {
    width: 100%;
    height: 768px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 50;
    text-align: center;
    background-image: url('../img/mainvisual.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
/* .mainvisual .back {
    position: relative;
    z-index: 0;
} */
.mainvisual .catchphrase {
    width: 100%;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.4;
    margin-top: 156px;
    margin-bottom: 24px;
}
.mainvisual .catchphrase span {
    color: #AC5E08;
}
.mainvisual .item {
    display: flex;
    justify-content: center;
    gap: 30px;
}
.mainvisual .item li {
    width: 230px;
    height: 230px;
    border: solid 1px #AC5E08;
    border-radius: 50%;
    background-color: rgb(255 255 255 / 70%);
    box-shadow: 0 0 54px 0 rgba(40 30 19 / 16%) ;
}
.mainvisual .item li .img {
    width: 24px;
    height: 24px;
    margin: 30px auto 3px;
}
.mainvisual .item li .title {
    color: #AC5E08;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.03em;
}
.mainvisual .item li .description {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.03em;
    margin-top: 10px;
}

.mainvisual .text {
    margin-top: 20px;
    margin-bottom: 29px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.7;
    letter-spacing: 0.03em;
    text-align: center;
}
.mainvisual .meet {
    padding: 0 15px;
}
.mainvisual .meet .btn {
    display: block;
    width: fit-content;
    max-width: 840px;
    margin: 0 auto;
    outline: solid 1px rgb(255 255 255 / 40%);
    background: #AC5E08;
    outline-offset: -5px;
    border-radius: 10px;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.03em;
    position: relative;
    color: #fff;
    padding: 22px 92px 22px 77px;
}
.mainvisual .meet .btn::after {
    content: "";
    background-image: url(../img/arrow-right.svg);
    position: absolute;
    right: 31px;
    width: 40px;
    height: 40px;
}
.mainvisual .meet .btn:hover {
    background: #D77C17;
}
.mainvisual .meet .btn:hover::after {
    background-image: url(../img/arrow-right-hv.svg);
}
.recruit-btn {
    position: relative;
    z-index: 10;
    position: fixed;
    top: 211px;
    right: 0px;
}
/* お問い合わせエリアで消える */
.apply-btn.is-hidden {
    display: none;
}
.job-description-btn {
    display: none;
}
.apply-btn {
    display: block;
    writing-mode: vertical-rl;
    background: #AC5E08;
    border-radius: 10px 0 0 10px;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.2em;
    text-align: center;
    color: #fff;
    padding: 24px 22px 60px 20px;
}
.apply-btn::after {
    content: "";
    background-image: url(../img/arrow-right.svg);
    width: 26px;
    height: 26px;
    background-size: contain; /* コンテナに合わせて縮小 */
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translate(-50%);
}
.apply-btn:hover {
    background: #D77C17;
}
.apply-btn:hover::after {
    background-image: url(../img/arrow-right-hv.svg);
}

/*-------------------------------------------
タブレット
-------------------------------------------*/
@media screen and (max-width:840px) {
    .mainvisual {
        background-image: url('../img/mainvisual-sp.jpg');
        position: static;
        background-position: top center;
        height: clamp(29.375rem, 12.742rem + 70.97vw, 50rem);
    }
    .mainvisual .catchphrase {
        font-weight: 900;
        font-size: clamp(1.375rem, 0.065rem + 5.59vw, 3rem);
        line-height: 1.4;
        letter-spacing: 0.02em;
        padding-top: clamp(1.875rem, 0.968rem + 3.87vw, 3rem);
        text-shadow: 0 0 4px #fff;
        margin-top: 0;
        margin-bottom: 16px;
    }
    .mainvisual .item {
        position: relative;
        width: clamp(18.75rem, 11.058rem + 38.46vw, 31.25rem);
        height: clamp(18.938rem, 11.024rem + 33.76vw, 28.75rem);
        margin: 0 auto;
    }
    .mainvisual .item li:nth-of-type(1){
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .mainvisual .item li:nth-of-type(2){
        position: absolute;
        top: 227px;
        left: 0;
    }
    .mainvisual .item li:nth-of-type(3){
        position: absolute;
        top: 227px;
        right: 0;
    }
    .mainvisual .item li{
        width: clamp(9.688rem, 5.806rem + 16.56vw, 14.5rem);
        height: clamp(9.688rem, 5.806rem + 16.56vw, 14.5rem);
    }
    .mainvisual .item li:first-child {
        width: clamp(9.375rem, 5.242rem + 17.63vw, 14.5rem);
        height: clamp(9.375rem, 5.242rem + 17.63vw, 14.5rem);
    }
    .mainvisual .item li:nth-of-type(2),
    .mainvisual .item li:nth-of-type(3) {
        top: clamp(9.188rem, 5.155rem + 17.2vw, 14.188rem);
    }
    .mainvisual .item li .img {
        width: clamp(1.125rem, 0.766rem + 1.53vw, 1.5rem);
        height: clamp(1.125rem, 0.766rem + 1.53vw, 1.5rem);
        margin: 18px auto 4px;
    }
    .mainvisual .item li .title {
        font-size: clamp(0.875rem, 0.516rem + 1.53vw, 1.25rem);
    }
    .mainvisual .item li .description {
        font-size: clamp(0.625rem, 0.386rem + 1.02vw, 0.875rem);
        margin-top: 1px;
    }
    .mainvisual .text {
        font-size: clamp(1rem, 0.899rem + 0.43vw, 1.125rem);
        margin-top: clamp(3.75rem, -0.282rem + 17.2vw, 8.75rem);
        margin-bottom: clamp(1.25rem, 0.796rem + 1.94vw, 1.813rem);
        padding: 0 60px;
    }
    .mainvisual .recruit-btn {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        top: auto;
        display: flex;
        gap: 1px;
    }
    .job-description-btn.is-hidden,
    .apply-btn.is-hidden {
        display: none;
    }
    .job-description-btn {
        flex: 1;
        display: block;
        background: #947757;
        border-radius: 10px 10px 0 0;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 500;
        font-size: 18px;
        line-height: 1.2;
        letter-spacing: 0.03em;
        text-align: center;
        color: #fff;
        padding: 10px 0;
        width: 49.9%;
    }
    .apply-btn {
        flex: 1;
        writing-mode: horizontal-tb;
        border-radius: 10px 10px 0 0;
        font-size: 18px;
        line-height: 1.2;
        letter-spacing: 0.03em;
        text-align: center;
        padding: 10px 0;
        width: 49.9%;
        top: auto;
        }
    .apply-btn::after {
        display: none;
    }
    
    .mainvisual .meet .btn {
        font-size: 18px;
        display: flex;
        align-items: center;
        padding: 19px clamp(3.188rem, 1.121rem + 8.82vw, 5.75rem) 19px clamp(2.25rem, 0.183rem + 8.82vw, 4.813rem);
        outline-offset: -4px;
    }
    .mainvisual .meet .btn::after {
        width: 30px;
        height: 30px;
        background-size: contain;
        right: clamp(1rem, 0.244rem + 3.23vw, 1.938rem);
    }
}

/*-------------------------------------------
スマホ
-------------------------------------------*/
@media screen and (max-width:414px) {

.mainvisual .text {
    padding: 0 20px;
}

}

/*-------------------------------------------
320px
-------------------------------------------*/
@media screen and (max-width:320px) {
    .mainvisual .item {
        height: 286px;
    }
    .mainvisual .item li {
        width: 149px;
        height: 149px;
    }
    .mainvisual .item li:nth-of-type(2),
    .mainvisual .item li:nth-of-type(3) {
        top: 138px;
    }
    .apply-btn,
    .job-description-btn {
        font-size: 16px;
    }
}
/*-------------------------------------------
Section-title
-------------------------------------------*/
.tectonic-movement {
    width: 100%;
    margin-top: 805px;
}
.title-area {
    position: relative;
    text-align: center;
}
.title-area img {
    position: absolute;
    top: 39px;
    left: 50%;
    transform: translate(-50%);
    z-index: 0;
}
.tectonic-movement .title-area img {
    top: 21px;
}
.hightech_hospitality .title-area img {
    top: 36px;
}
.message .title-area img {
    top: 52px;
}
.section-title {
    width: 100%;
    text-align: center;
    position: relative;
}
.section-title .en {
    font-family: "Cormorant Garamond", serif;
    color: #908164;
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 8px;
}
.section-title .ja {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.03em;
}
.title-area .text {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0.03em;
    margin-top: 40px;
    padding: 0 60px;
    position: relative;
}

/*-------------------------------------------
タブレット
-------------------------------------------*/
@media screen and (max-width:840px) {
    .section-title .en {
        font-size: clamp(1.125rem, 0.823rem + 1.29vw, 1.5rem);
        letter-spacing: 0;
        margin-bottom: 4px;
    }
    .section-title .ja {
        font-size: clamp(1.75rem, 1.044rem + 3.01vw, 2.625rem);
        padding: 0 20px;
    }
    .message .section-title .ja {
        position: relative;
        z-index: 5;
    }
    .title-area .text {
        font-size: clamp(1.125rem, 0.823rem + 1.29vw, 1.5rem);
        padding-top: clamp(2rem, 1.597rem + 1.72vw, 2.5rem);
        margin-top: 0;
    }
    .title-area img {
        top: 22px;
        width: 100%;
    }
    .message .title-area img {
        z-index: 5;
    }
    .hightech_hospitality .title-area img {
        top: 40px;
    }
     .work_life_stability .title-area img {
        top: 60px;
    }
    .message .title-area img {
        top: 63px;
    }
   
}

/*-------------------------------------------
スマホ
-------------------------------------------*/
@media screen and (max-width:414px) {
    .hightech_hospitality .section-title { 
        margin-bottom: 32px;
    }
    .hightech_hospitality .title-area .text {
        padding-top: 0;
    }
    .hightech_hospitality .title-area img {
        top:  auto;
        bottom: 155px;
    }
    .title-area .text {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/*-------------------------------------------
Tctonic Movement
-------------------------------------------*/
.tectonic-movement .content {
    display: flex;
    justify-content: center;
    margin: 80px auto 60px;
}
.tectonic-movement .content .text {
    max-width: 720px;
    width: 58%;
    margin-right: 80px;
}
.tectonic-movement .content .text .title {
    font-weight: 700;
    font-size: 48px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    margin-top: 52px;
}
.tectonic-movement .content .text .title span {
    color: #AC5E08;
}
.tectonic-movement .content .text .description {
    font-family: "Noto Sans JP", sans-serif;
    margin-top: 48px;
    font-weight: 400;
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.03em;
}
.tectonic-movement .content .img {
    width: 35.5%;
}
.tectonic-movement .content .img img {
    border-radius: 250px 250px 0 0;
}

.tectonic-movement .content-bottom .inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 60px 100px;
    background-color: #fff;
    position: relative;
    z-index: 0;
    text-align: center;
}
.tectonic-movement .content-bottom .inner::before {
    content: "";
    width: 120px;
    height: 120px;
    background-image: url(../img/kado-top.svg);
    position: absolute;
    top: -1px;
    left: -1px;
    z-index: 2;
}
.tectonic-movement .content-bottom .inner::after {
    content: "";
    width: 120px;
    height: 120px;
    background-image: url(../img/kado-bottom.svg);
    position: absolute;
    bottom: -1px;
    right: -1px;
    z-index: 2;
}
.tectonic-movement .content-bottom .inner .title {
    font-weight: 700;
    font-size: 36px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    display: inline-block;
    position: relative;
    margin-bottom: 46px;
}
.tectonic-movement .content-bottom .inner .title::before {
    content: "";
    width: 40px;
    height: 40px;
    background-image: url(../img/exclude.svg);
    position: absolute;
    left: -80px;
    top: 38px;
}
.tectonic-movement .content-bottom .inner .title::after {
    content: "";
    width: 40px;
    height: 40px;
    background-image: url(../img/exclude.svg);
    position: absolute;
    right: -80px;
    top: 38px;
}
.tectonic-movement .content-bottom .inner .title span {
    color: #AC5E08;
}
.tectonic-movement .content-bottom .inner .description {
    font-family: "Noto Sans JP", sans-serif;
    text-align: left;
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.03em;
}

/*-------------------------------------------
タブレット
-------------------------------------------*/
@media screen and (max-width:840px) {
    .tectonic-movement {
        margin-top: 303px;
    }
    .tectonic-movement .content {
        flex-direction: column-reverse;
        align-items: center;
        margin-top: clamp(2.5rem, 0.484rem + 8.6vw, 5rem);
        margin-bottom: clamp(2.5rem, 1.492rem + 4.3vw, 3.75rem);
    }
    .tectonic-movement .content .img {
        width: auto;
    }
    .tectonic-movement .content .text {
        margin-right: 0;
        width: 100%;
    }
    .tectonic-movement .content .text .title {
        font-size: clamp(1.75rem, 1.044rem + 3.01vw, 2.625rem);
        margin-top: clamp(2.5rem, 2.097rem + 1.72vw, 3rem);
    }
    .tectonic-movement .content .text .description {
        font-size: clamp(1rem, 0.899rem + 0.43vw, 1.125rem);
        text-align: justify;
        margin-top: clamp(2rem, 1.194rem + 3.44vw, 3rem);
    }
    .tectonic-movement .content-bottom .inner {
        padding: 48px 50px;
    }
    .tectonic-movement .content-bottom .inner::after,
    .tectonic-movement .content-bottom .inner::before {
        width: clamp(6.25rem, 5.242rem + 4.3vw, 7.5rem);
        height: clamp(6.25rem, 5.242rem + 4.3vw, 7.5rem);
        background-size: contain;
    }
    .tectonic-movement .content-bottom .inner .title {
        font-size: clamp(1.375rem, 0.669rem + 3.01vw, 2.25rem);
        margin-bottom: clamp(1.5rem, 0.391rem + 4.73vw, 2.875rem);
    }
    .tectonic-movement .content-bottom .inner .title::before {
        width: clamp(1.563rem, 0.806rem + 3.23vw, 2.5rem);
        height: clamp(1.563rem, 0.806rem + 3.23vw, 2.5rem);
        top: auto;
        bottom: 0;
        left: -8px;
        background-size: contain;
    }
    .tectonic-movement .content-bottom .inner .title::after {
        width: clamp(1.563rem, 0.806rem + 3.23vw, 2.5rem);
        height: clamp(1.563rem, 0.806rem + 3.23vw, 2.5rem);
        top: auto;
        bottom: 0;
        right: -8px;
        background-size: contain;
    }
    .tectonic-movement .content-bottom .inner .description {
        font-size: clamp(1rem, 0.899rem + 0.43vw, 1.125rem);
    }
    
}
/*-------------------------------------------
タブレット
-------------------------------------------*/
@media screen and (max-width:414px) {
    .tectonic-movement .content-bottom .inner {
        padding-left: 25px;
        padding-right: 25px;
    }
}


/*-------------------------------------------
High Tech × Hospitality
-------------------------------------------*/
.hightech_hospitality .wave-top,
.work_life_stability .wave-top {
    margin-top: clamp(-900px, calc(238.29px - 44.46vw), -402px)
;
    position: relative;
    z-index: -1;
}
.hightech_hospitality .title-area,
.work_life_stability .title-area{
    margin-top: clamp(-900px, calc(105.71px - 39.29vw), -460px);
}
.hightech_hospitality .title-area {
    background: #F6F1E6;
    padding-bottom: 120px;
}
.hightech_hospitality .content {
    background: linear-gradient(180deg, #f6f1e6, #fff, #f6f1e6);
    width: 100%;
    top: -2px;
    padding-bottom: 120px;
    position: relative;
}
.hightech_hospitality .content.essential_hospitality {
    padding-bottom: 125px;
}

.hightech_hospitality .content .border-top {
    width: 100%;
    height: 1px;
    background: rgb(40, 30, 19, 20%);
    border: none;
    margin: 0;
    position: relative;
    top: 1px;
}
.hightech_hospitality .content .border-bottom {
    width: 100%;
    height: 1px;
    background: rgb(40, 30, 19, 20%);
    border: none;
    margin: 0;
    position: relative;
    top: 200.8px;
}
.hightech_hospitality .content .item {
    max-width: 1440px;
    padding: 0 100px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    position: relative;
    gap: clamp(2.5rem, -1.01rem + 6.68vw, 5rem);
    align-items: flex-start;
}
.hightech_hospitality .content .item .text-area {
    width: 50%;
    max-width: 600px;
}
.hightech_hospitality .content .item .text-area .content-title {
    padding: 50px 0 40px 0;
    position: relative;
}
.hightech_hospitality .item .text-area .content-title::after {
    content: "";
    display: block;
    border-bottom: solid 1px #281E13;
    width: 100px;
    position: absolute;
    bottom: -1px;
}
.hightech_hospitality .item .text-area .content-title .sub {
    width: fit-content;
}
.hightech_hospitality .item .text-area .content-title .no {
    margin-right: 12px;
    font-family: "EB Garamond", serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 1;
    color: #908164;
}
.hightech_hospitality .item .text-area .content-title .en {
    font-family: "Cormorant Garamond", serif;
    font-weight: 500;
    font-size: 24px;
    color: #908164;
    line-height: 1;
}
.hightech_hospitality .item .text-area .content-title .ja {
    font-weight: 600;
    font-size: 48px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    width: fit-content;
    white-space: nowrap;
    margin-top: 8px;
}

.hightech_hospitality .content .item .text-area .text {
    margin: 71px 0 0 0;
}

.hightech_hospitality .content .item .text-area .text .title {
    font-weight: 700;
    font-size: 28px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    color: #AC5E08;
    margin-bottom: 24px;
}
.hightech_hospitality .content .item .text-area .text .description {
    font-weight: 400;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.03em;
}
.hightech_hospitality .content .item .img {
    width: 48%;
    max-width: 560px;
    margin-top: -40px;
}
.hightech_hospitality .content .item .img img{
    border-radius: 160px 0 160px 0;
}
.hightech_hospitality .content.essential_hospitality .item .img img{
    border-radius: 0 160px 0 160px;
}
.hightech_hospitality .content.essential_hospitality .item {
    flex-direction: row-reverse;
}
.hightech_hospitality .wave-bottom {
    margin-top: -418px;
}



/*-------------------------------------------
1280px
-------------------------------------------*/
@media screen and (max-width:1280px) {
    
    .hightech_hospitality .content.essential_hospitality .border-bottom {
        top: 277.5px;
    }
    .hightech_hospitality .wave-bottom {
        margin-top: clamp(-341px, calc(226px - 44.31818vw), -146px);
    }
}

/*-------------------------------------------
1024px
-------------------------------------------*/
@media screen and (max-width:1240px) {
    
    .hightech_hospitality .wave-top,
    .work_life_stability .wave-top {
        margin-top: -300px;
    }
    .hightech_hospitality .title-area {
        margin-top: -334px;
    }
    .work_life_stability .title-area {
        margin-top: clamp(-334px, calc(-40.17px - 23.70vw), -116px);
    }
}


/*-------------------------------------------
タブレット
-------------------------------------------*/
@media screen and (max-width:840px) {
    .hightech_hospitality .wave-top,
    .work_life_stability .wave-top {
        margin-top: clamp(-230px, calc(6.39px - 28.39vw), -98px);
    }
    .hightech_hospitality .wave-top img,
    .work_life_stability .wave-top img {
        width: 100%;
    }
    .hightech_hospitality .content {
        padding-bottom: clamp(5.625rem, 4.113rem + 6.45vw, 7.5rem);
    }
    .hightech_hospitality .content.fusion_of_values {
        padding-bottom: 0;
    }
    .hightech_hospitality .content .item {
        flex-direction: column-reverse;
        align-items: center;
        padding: 0;
        gap: 0;
    }
    .hightech_hospitality .content.essential_hospitality .item {
        flex-direction: column-reverse;
        align-items: center;
    }
    .hightech_hospitality .title-area {
        margin-top: clamp(-270px, calc(26.27px - 35.27vw), -106px);
        padding-bottom: clamp(4.688rem, 2.419rem + 9.68vw, 7.5rem);
    }
    
    .hightech_hospitality .content .item .text-area .content-title {
        padding-bottom: 47px;
    }
    .hightech_hospitality .item .text-area .content-title .no {
        font-size: clamp(1rem, 0.597rem + 1.72vw, 1.5rem);
    }
    .hightech_hospitality .item .text-area .content-title .en {
        font-size: clamp(1rem, 0.597rem + 1.72vw, 1.5rem);
    }
    .hightech_hospitality .item .text-area .content-title .ja {
        font-size: clamp(2rem, 1.194rem + 3.44vw, 3rem);
        white-space: normal;
        margin-top: 6px;
    }
    .hightech_hospitality .content .item .text-area .text {
        margin-top: clamp(1.875rem, 0.565rem + 5.59vw, 3.5rem);
    }
    .hightech_hospitality .content .item .text-area .text .title {
        font-size: clamp(1.5rem, 1.298rem + 0.86vw, 1.75rem);
    }
    .hightech_hospitality .content .item .text-area .text .description {
        margin-bottom: 0;
    }
    .hightech_hospitality .content .item .img {
        width: 78.666%;
        margin-bottom: -35px;
        position: relative;
        z-index: 1;
    }
    .hightech_hospitality .content .item .img img {
        border-radius: 80px 0 80px 0;
    }
    .hightech_hospitality .content.essential_hospitality .item .img img {
        border-radius: 0 80px 0 80px;
    }
    .hightech_hospitality .content .item .text-area {
        width: 100%;
        max-width: 840px;
    }
    .hightech_hospitality .content.precision_clinical_strategy {
        margin-top: 0;
        padding-bottom: clamp(5.938rem, 4.677rem + 5.38vw, 7.5rem);
    }
    .hightech_hospitality .content.essential_hospitality {
        padding-bottom: clamp(5.938rem, 4.677rem + 5.38vw, 7.5rem);
    }
    .hightech_hospitality .content .border-top {
        display: none;
    }
    .hightech_hospitality .content .border-bottom {
        display: none;
    }
    .hightech_hospitality .content .item .text-area .content-title {
        padding: 60px 60px 30px 60px;
        border-top: solid 1px rgba(40, 30, 19, 0.2);
        border-bottom: solid 1px rgba(40, 30, 19, 0.2);
    }
    .hightech_hospitality .content .item .text-area .text {
        padding: 0 60px;
    }
    .hightech_hospitality .wave-bottom {
        margin-top: clamp(-146px, calc(40.07px - 22.15vw), -43px);
    }
}
/*-------------------------------------------
540px
-------------------------------------------*/
@media screen and (max-width:540px) {
    .hightech_hospitality .title-area .text {
        background-color: #F6F1E6;
    }
}
/*-------------------------------------------
414px
-------------------------------------------*/
@media screen and (max-width:414px) {
    .hightech_hospitality .content .item .text-area .content-title {
        padding-left: 20px;
        padding-right: 20px;
    }
    .hightech_hospitality .item .text-area .content-title::after {
        width: 60px;
    }
    .hightech_hospitality .content .item .text-area .text {
        padding: 0 20px;
    }
    
}
/*-------------------------------------------
Profile & Philosophy
-------------------------------------------*/
.profile_philosophy {
    margin-top: 140px;
}
.profile_philosophy .content {
    background: #fff;
    border: solid 1px rgba(40, 30, 19, 0.3);
    border-radius: 20px;
    padding: 80px;
    margin: 124px auto 0;
}
.profile_philosophy .content .profile {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    max-width: 1080px;
    margin: -144px auto 0;
}
.profile_philosophy .content .profile .img {
    width: 41%;
    margin-bottom: 10px;
}
.profile_philosophy .content .profile .img img {
    border-radius: 250px 250px 0 0;
}
.profile_philosophy .content .profile .text {
    width: 53.8%;
}
.profile_philosophy .content .profile .text .name {
    border-bottom: solid 1px rgba(40, 30, 19, 0.2);
    padding-bottom: 24px;
    margin-bottom: 50px;
}
.profile_philosophy .content .profile .text .name .ja {
    font-weight: 600;
    font-size: 32px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    margin-right: 19px;
}
.profile_philosophy .content .profile .text .name .en {
    font-family: "Cormorant Garamond", serif;
    font-weight: 500;
    font-size: 24px;
    color: rgba(148, 119, 87, 0.5);
}
.profile_philosophy .content .profile .text dl {
    margin-bottom: 24px;
}
.profile_philosophy .content .profile .text dl:last-child {
    margin-bottom: 0;
}
.profile_philosophy .content .profile .text dt {
    font-family: "Shippori Mincho", serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    width: 120px;
    height: 29px;
    padding: 0 20px;
    background: #ede5d4;
    text-align: center;
    margin-bottom: 12px;
}
.profile_philosophy .content .profile .text dd {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.03em;
    margin-left: 0;
}
.profile_philosophy .philosophy {
    max-width: 1080px;
    margin: 0 auto;
}
.profile_philosophy .philosophy .item {
    border-top: solid 1px rgba(40, 30, 19, 0.2);
    padding-top: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 48px;
}
.profile_philosophy .philosophy .item:first-child {
    margin-top: 60px;
}
.profile_philosophy .philosophy .item .title {
    display: flex;
    align-items: center;
}
.profile_philosophy .philosophy .item .title .en {
    font-family: "Cormorant Garamond", serif;
    writing-mode: vertical-rl;
    text-align: center;
    font-weight: 500;
    font-size: 64px;
    color: rgba(148, 119, 87, 0.4);
    display: block;
    margin-right: 10px;
    line-height: 1;
}
.profile_philosophy .philosophy .item .title .ja {
    writing-mode: vertical-rl;
    text-align: center;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: 0.18em;
    display: block;
}
.profile_philosophy .philosophy .item dl {
    width: 85%;
    margin-left: 65px;
}
.profile_philosophy .philosophy .item dt {
    font-weight: 700;
    font-size: 30px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    color: #AC5E08;
    margin-bottom: 20px;
}
.profile_philosophy .philosophy .item dd {
    margin-left: 0;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.03em;
}

/*-------------------------------------------
タブレット
-------------------------------------------*/
@media screen and (max-width: 840px) {
    .profile_philosophy {
        margin-top: clamp(3.75rem, 1.734rem + 8.6vw, 6.25rem);
    }
    .profile_philosophy .content {
        padding: 40px 50px;
        margin-top: clamp(5.375rem, 0.435rem + 21.08vw, 11.5rem);
    }
    .profile_philosophy .content .profile {
        flex-direction: column;
        margin-top: clamp(-108px, calc(-71.87px - 4.30vw), -88px);
    }
    .profile_philosophy .content .profile .img {
        width: auto;
        margin: 0 auto;
    }
    .profile_philosophy .content .profile .img img {
        border-radius: clamp(15.625rem, 13.609rem + 8.6vw, 18.125rem) clamp(15.625rem, 13.609rem + 8.6vw, 18.125rem) 0 0 ;
    }
    .profile_philosophy .content .profile .text {
        width: 100%;
        margin-top: clamp(2rem, -0.419rem + 10.32vw, 5rem);
    }
    .profile_philosophy .content .profile .text .name {
        margin-bottom: clamp(2rem, 1.093rem + 3.87vw, 3.125rem);
    }
    .profile_philosophy .content .profile .text .name .ja {
        font-size: clamp(1.5rem, 1.097rem + 1.72vw, 2rem);
        display: block;
        margin-right: 0;
        margin-bottom: 4px;
    }
    .profile_philosophy .content .profile .text .name .en {
        font-size: clamp(1.125rem, 0.823rem + 1.29vw, 1.5rem);
    }
    .profile_philosophy .content .profile .text dl {
        margin-bottom: 20px;
    }
    .profile_philosophy .content .profile .text dt {
        font-size: clamp(1rem, 0.899rem + 0.43vw, 1.125rem);
        margin-bottom: 8px;
    }
    
    .profile_philosophy .philosophy .item:first-child {
        margin-top: clamp(3rem, 2.395rem + 2.58vw, 3.75rem);
    }
    .profile_philosophy .philosophy .item {
        display: block;
    }
    .profile_philosophy .philosophy .item .title {
        flex-direction: column-reverse;
        align-items: start;
    }
    .profile_philosophy .philosophy .item .title .en {
        writing-mode: horizontal-tb;
        text-align: left;
        margin-right: 0;
        margin-top: 4px;
    }
     .profile_philosophy .philosophy .item {
        margin-top: 32px;
        padding-top: 32px;
     }
    .profile_philosophy .philosophy .item:first-child {
        padding-top: 48px;
    }

    .profile_philosophy .philosophy .item .title .ja {
        writing-mode: horizontal-tb;
        text-align: left;
        letter-spacing: 0.03em;
    }
    .profile_philosophy .philosophy .item dl {
        width: 100%;
        margin-left: 0;
        margin-top: 32px;
    }
    .profile_philosophy .philosophy .item dt {
        margin-bottom: 18px;
        font-size: clamp(1.5rem, 1.198rem + 1.29vw, 1.875rem);
    }
    
}
/*-------------------------------------------
スマホ
-------------------------------------------*/
@media screen and (max-width: 414px) {

    .profile_philosophy .content {
        padding-left: 25px;
        padding-right: 25px;
}
}

/*-------------------------------------------
Work-Life Stability
-------------------------------------------*/
.work_life_stability .content {
    margin-top: 60px;
    position: relative;
    z-index: 3;
}
.work_life_stability .content .item {
    background-color: #F6F1E6;
    border-radius: 20px;
    text-align: center;
    padding-bottom: 60px;
    margin-bottom: 60px;
}
.work_life_stability .content .item:last-child {
    margin-bottom: 100px;
    padding-bottom: 25px;
}
.work_life_stability .content .item .item-title {
    border-bottom: solid 1px rgba(40, 30, 19, 0.2);
    padding-bottom: 24px;
}
.work_life_stability .content .item .item-title .en {
    padding: 5px 50px;
    background-color: #908164;
    border-radius: 0 0 8px 8px;
    font-family: "Cormorant Garamond", serif;
    color: #fff;
    font-weight: 500;
    font-size: 24px;
    line-height: 1;
    text-align: center;
    display: inline-block;
}
.work_life_stability .content .item .item-title .ja {
    font-weight: 600;
    font-size: 40px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    margin-top: 40px;
    padding: 0 60px;
}
.work_life_stability .content .item .text {
    margin-top: 40px;
    padding: 0 60px;
}
.work_life_stability .content .item .text .title {
    font-weight: 700;
    font-size: 32px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    color: #AC5E08;
}
.work_life_stability .content .item .text .description {
    font-family: "Noto Sans JP", sans-serif;
    margin-top: 20px;
    font-weight: 400;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.03em;
}
.work_life_stability .content .item .list {
    margin: 34px auto 0;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    max-width: 1240px;
    padding: 0 60px;
}
.work_life_stability .content .item .list li {
    background-color: #fff;
    border-radius: 10px;
    padding: 40px 30px;
}
.work_life_stability .content .item .list .title {
    margin-top: 15px;
    font-weight: 700;
    font-size: 26px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    color: #AC5E08;
}
.work_life_stability .content .item .list .description {
    margin-top: 16px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.03em;
    text-align: left;
    max-width: 300px;
}
.work_life_stability .content .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    max-width: 1200px;
    padding: 0 60px;
    margin: 0 auto;
}
.work_life_stability .content .container .flow {
    background-color: #fff;
    border-radius: 10px;
    padding: 12px 30px;
    display: flex;
    width: 100%;
    margin: 0 auto;
    align-items: center;
}
.work_life_stability .content .container .flow:first-child {
    margin-top: 40px;
}
.work_life_stability .content .container .flow .title {
    /* border-right: solid 1px #cdc7bc;
    height: 30px; */
    display: inline-block;
    display: flex;
    align-items: center;
    margin-right: 28px;
}
.work_life_stability .content .container .flow .title .year {
    background-color: rgba(172, 94, 8, 0.7);
    border-radius: 5px;
    width: 180px;
    margin-right: 40px;
}
.work_life_stability .content .container .flow .title .year p {
    color: #fff;
    font-family: "EB Garamond", serif;
    font-weight: 400;
    font-size: 30px;
    line-height: 1.4;
    display: inline-block;
    position: relative;
    padding: 1.5px 0;
}
.work_life_stability .content .container .flow .title .year p::before,
.work_life_stability .content .container .flow .title .year p::after {
    content: "";
    width: 11.02px;
    height: 11.28px;
    position: absolute;
    top: 16.68px;
}
.work_life_stability .content .container .flow .title .year p::before {
    background-image:  url('../img/year.svg');
    left: -19px;
}
.work_life_stability .content .container .flow .title .year p::after {
    background-image:  url('../img/year.svg');
    right: -19px;
}

.work_life_stability .content .container .flow .title .title-text {
    display: inline-block;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: 0.03em;
    color: #AC5E08;
    white-space: nowrap;
}
.work_life_stability .content .container .flow .description {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: 0.03em;
    padding-left: 28px;
    text-align: left;
    border-left: solid 1px #cdc7bc;
    height: auto;
}
.work_life_stability .content .item .container .img {
    display: inline-block;
}
.work_life_stability .content .item .container .img img {
    display: block;
}
.work_life_stability .content .item .inner {
    display: flex;
    justify-content: center;
    max-width: 1240px;
    padding: 0 80px;
    margin: 35px auto 0;
}
.work_life_stability .content .item .inner .text {
    text-align: left;
    width: 71.5%;
    display: inline-block;
    margin-top: 25px;
    margin-right: 57px;
    padding: 0;
}
.work_life_stability .content .item .inner .img {
    width: 26.8%;
}

/* Work-Life Stability_セクション下部 */

.work_life_stability .facility {
    text-align: center;
    position: relative;
    z-index: 2;
}
.work_life_stability .facility .title {
    font-weight: 700;
    font-size: 28px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    text-align: center;
    position: relative;
    display: inline-block;
    margin: 0 auto;
}
.work_life_stability .facility .title span {
    color: #AC5E08;
}
.work_life_stability .facility .title::before, 
.work_life_stability .facility .title::after {
    content: "";
    width: 35px;
    height: 100px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
}
.work_life_stability .facility .title::before {
    background-image:  url('../img/leaf-left.svg');
    background-size: contain;
    left: -75px;
}
.work_life_stability .facility .title::after {
    background-image:  url('../img/leaf-right.svg');
    background-size: contain;
    right: -75px;
}
.work_life_stability .facility .container {
    margin: 40px auto 0;
    background-color: #fff;
    border-left: solid 2px #cdc7bc;
    border-right: solid 2px #cdc7bc;
    padding: 40px 103px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 40px;
    max-width: 1434px;
}
.work_life_stability .facility .container .list {
    text-align: left;
}
.work_life_stability .facility .container .list:last-child {
    margin-right: 0;
}
.work_life_stability .facility .container .list li {
    position: relative;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.03em;
}
.work_life_stability .facility .container .list li::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #AC5E08;
    position: absolute;
    top: 14px;
    left: -19px;
}
.work_life_stability .wave-bottom {
    margin-top: clamp(-646px, calc(126.57px - 30.18vw), -308px);
    position: relative;
    z-index: 1;
}

/*-------------------------------------------
1399px
-------------------------------------------*/
@media screen and (max-width: 1399px) {
.work_life_stability .wave-bottom {
    margin-top: clamp(-308px, calc(39.49px - 24.84vw), -40px);
}
}
/*-------------------------------------------
1280px
-------------------------------------------*/
@media screen and (max-width: 1280px) {
    .work_life_stability .content .container .flow {
        max-width: clamp(43.813rem, 5.618rem + 72.67vw, 63.75rem);
    }
}
/*-------------------------------------------
1024px
-------------------------------------------*/
@media screen and (max-width: 1024px) {
    .work_life_stability .facility .container {
        grid-template-columns: repeat(2, 1fr);
    }
}
/*-------------------------------------------
タブレット
-------------------------------------------*/
@media screen and (max-width: 840px) {
    .work_life_stability .content .item {
        padding-bottom: 40px;
        margin-bottom: clamp(3rem, 2.395rem + 2.58vw, 3.75rem);
    }
    .work_life_stability .content .item:last-child {
        padding-bottom: 40px;
        margin-bottom: clamp(3.75rem, 1.734rem + 8.6vw, 6.25rem);
    }
    .work_life_stability .content .item .item-title .en {
        font-size: clamp(1.25rem, 1.048rem + 0.86vw, 1.5rem);
    }
    .work_life_stability .content .item .item-title .ja {
        font-size: clamp(1.5rem, 0.694rem + 3.44vw, 2.5rem);
        margin-top: clamp(1.5rem, 0.694rem + 3.44vw, 2.5rem);
        padding: 0 20px;
    }
    
    .work_life_stability .content .item .text {
        padding: 0 40px;
        margin-top: 24px;
    }
    .work_life_stability .content .item .text .title {
        font-size: clamp(1.25rem, 0.645rem + 2.58vw, 2rem);
    }
    .work_life_stability .content .item .text .description {
        margin-top: clamp(1rem, 0.798rem + 0.86vw, 1.25rem);
    }
    .work_life_stability .content .item .list {
        margin-top: clamp(1.875rem, 1.673rem + 0.86vw, 2.125rem);
        flex-direction: column;
        align-items: center;
        padding: 0 40px;
    }
    .work_life_stability .content .item .list .description {
        max-width: 100%;
        margin-top: clamp(0.5rem, 0.097rem + 1.72vw, 1rem);
    }
    .work_life_stability .content .item .list li {
        padding: 30px;
    }
    .work_life_stability .content .item .list .title {
        font-size: clamp(1.375rem, 1.173rem + 0.86vw, 1.625rem);
    }
    .work_life_stability .content .container {
        padding-left: 40px;
        padding-right: 40px;
    }
    .work_life_stability .content .container .flow {
        flex-direction: column;
        width: 100%;
        padding: 15px;
    }
    .work_life_stability .content .container .flow:first-child {
        margin-top: clamp(1.875rem, 1.371rem + 2.15vw, 2.5rem);
    }
    .work_life_stability .content .container .flow .title {
        margin-right: auto;
        margin-bottom: 12px;
    }
    .work_life_stability .content .container .flow .title .year {
        width: clamp(8.125rem, 5.605rem + 10.75vw, 11.25rem);
        margin-right: clamp(1.25rem, 0.242rem + 4.3vw, 2.5rem);
    }
    .work_life_stability .content .container .flow .title .year p {
        font-size: clamp(1.25rem, 0.746rem + 2.15vw, 1.875rem);
        padding: clamp(1.5px, calc(8.52px - 0.835vw), 4px) 0;
    }
    .work_life_stability .content .container .flow .title .year p::after,
    .work_life_stability .content .container .flow .title .year p::before {
        top: clamp(0.813rem, 0.56rem + 1.08vw, 1.125rem);
    }
    .work_life_stability .content .container .flow .title .year p::after{
        right: -17px;
    }
    .work_life_stability .content .container .flow .title .year p::before {
        left: -17px;
    }
    .work_life_stability .content .container .flow .title .title-text {
        font-size: clamp(1.625rem, 1.524rem + 0.43vw, 1.75rem);
    }
    .work_life_stability .content .container .flow .description {
        font-size: clamp(1.125rem, 1.024rem + 0.43vw, 1.25rem);
        border-left: none;
        border-top: solid 1px #cdc7bc;
        padding-top: 12px;
        padding-left: 0;
        display: inline;
        width: 100%;
    }
    .work_life_stability .content .item .inner {
        flex-direction: column;
        align-items: center;
        gap: 16px;
        padding: 0 40px;
        margin-top: 24px;
    }
    .work_life_stability .content .item .inner .text {
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .work_life_stability .content .item .inner .text .title {
        text-align: center;
    }
    .work_life_stability .content .item .inner .img {
        width: 100%;
    }

    /* Work-Life Stability_セクション下部 */
    .work_life_stability .facility .title {
        font-size: clamp(1.125rem, 0.621rem + 2.15vw, 1.75rem);
        width: 74%;
    }
    .work_life_stability .facility .title::before {
        left: clamp(-75px, calc(-17.2px - 6.88vw), -43px);
    }
    .work_life_stability .facility .title::after {
        right: clamp(-75px, calc(-17.2px - 6.88vw), -43px);
    }
    .work_life_stability .facility .container {
        flex-direction: column;
        padding: 20px 31px 20px 41px;
        margin-top: 30px;
    }
    .work_life_stability .facility .container .list {
        margin-right: 0;
    }
    .work_life_stability .facility .container .list li {
        font-size: 14px;
    }
    .work_life_stability .facility .container .list li::before {
        top: 11px;
        left: -14px;
    }
}
/*-------------------------------------------
540px
-------------------------------------------*/
@media screen and (max-width: 540px) {
    .work_life_stability .facility .container {
        grid-template-columns: 1fr;
    }
}
/*-------------------------------------------
414px以下
-------------------------------------------*/
@media screen and (max-width: 414px) {
    .work_life_stability .content .container .flow .title .year {
        width: clamp(6.438rem, -3.381rem + 49.09vw, 8.125rem);
    }
    .work_life_stability .content .container .flow .title .year::before {
        left: clamp(0.405rem, -3.231rem + 18.18vw, 1.03rem);
    }
    .work_life_stability .content .container .flow .title .year::after {
        right: clamp(0.405rem, -3.231rem + 18.18vw, 1.03rem);
    }
    .work_life_stability .content .item .item-title .ja.pd19 {
        padding: 0 19px;
    }
    .work_life_stability .content .item .text {
        padding: 0 20px;
    }
    .work_life_stability .content .item .list {
        padding: 0 20px;
    }
    .work_life_stability .content .item {
        padding-bottom: 24px;
    }
    .work_life_stability .content .container {
        padding-left: 20px;
        padding-right: 20px;
    }
    .work_life_stability .content .item .inner {
        padding: 0 20px;
    }
    .work_life_stability .content .item:last-child {
        padding-bottom: 24px;
    }
}

/*-------------------------------------------
Last Message
-------------------------------------------*/
.message {
    position: relative;
    z-index: 0;
    margin-top: -266px;
}

.message .inner {
    background-image: url("../img/back-message.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom center;
    padding-top: clamp(6.125rem, 1.786rem + 21.7vw, 21.313rem);
    padding-bottom: clamp(7.063rem, 2.964rem + 4.55vw, 10.25rem);
    overflow: hidden;
}


.message .content {
    display: flex;
    position: relative;
    z-index: 5;
    margin-top: 81px;
}
.message .content::before {
    content: "";
    position: absolute;
    right: clamp(44.875rem, 8.897rem + 68.45vw, 70.5rem);
    bottom: clamp(-75px, calc(658.25px - 50.92vw), 230px);
    width: clamp(12.5rem, 3.286rem + 17.53vw, 19.063rem);
    height: clamp(12.5rem, 3.286rem + 17.53vw, 19.063rem);
    background-image: url("../img/circle-left.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom center;
    z-index: 3;
}
.message .content::after {
    content: "";
    position: absolute;
    left: clamp(46.563rem, 15.938rem + 58.26vw, 68.375rem);
    top: clamp(-300px, calc(-75.37px - 11.02vw), -234px);
    width: clamp(18.75rem, 14.977rem + 7.18vw, 21.438rem);
    height: clamp(18.75rem, 14.977rem + 7.18vw, 21.438rem);
    background-image: url("../img/circle-right.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom center;
    z-index: 3;
}


.message .content .img {
    max-width: 354px;
    margin-top: -43px;
    position: relative;
    z-index: 3;
}
.message .content .img img {
    border-radius: 250px 250px 0 0;
}
.message .content .text {
    margin-left: 48px;
    width: 70.3%;
    /* position: relative; */
}
.message .content .text::before {
    content: "";
    position: absolute;
    right: clamp(-5.563rem, -14.601rem + 17.2vw, 0.875rem);
    top: clamp(93px, calc(838.2px - 51.75vw), 403px);
    width: clamp(25rem, 7.587rem + 33.17vw, 37.438rem);
    height: clamp(25rem, 7.587rem + 33.17vw, 37.438rem);
    background-image: url("../img/circle-bottom.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom center;
    z-index: -1;
}
.message .content .text .title {
    font-weight: 700;
    font-size: 32px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    color: #AC5E08;
    margin-bottom: 24px;
}
.message .content .text .description {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.03em;
    margin-bottom: 46px;
}
.message .content .text .post {
    font-weight: 600;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    color: #947757;
    margin-bottom: 2px;
}
.message .content .text .name {
    font-weight: 600;
    font-size: 28px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    display: inline-block;
    margin-right: 16px;
}
.message .content .text .en {
    font-family: "Cormorant Garamond", serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 1;
    color: rgba(148, 119, 87, 0.4);
    display: inline-block;
}

.message .wave-bottom {
    margin-top: clamp(-611px, calc(17.57px - 24.55vw), -336px);
}
@media (max-width: 1439px) {
    .message .wave-bottom {
        margin-top: clamp(-336px, calc(-152.55px - 12.78vw), -205px);
    }
}

/*-------------------------------------------
1240px
-------------------------------------------*/
@media screen and (max-width: 1240px) {
    .message {
        margin-top: clamp(-200px, calc(-3.17px - 15.87vw), -54px);
    }
}

/*-------------------------------------------
タブレット
-------------------------------------------*/
@media screen and (max-width: 840px) {
    .message .inner {
        background-image: url("../img/back-message-sp.png");
        padding-bottom: clamp(60px, calc(51.94px + 2.15vw), 70px);
    }
    .message .content {
        flex-direction: column;
        align-items: center;
    }
    .message .content::before {
        background-image: url("../img/circle-left-sp.png");
        bottom: 0;
        top: clamp(6.875rem, -0.181rem + 30.11vw, 15.625rem);
        right: clamp(16.875rem, -5.706rem + 96.34vw, 44.875rem);
    }
    .message .content::after {
        background-image: url("../img/circle-right-sp.png");
        top: -141px;
        left: 76%;
    }
    .message .content .text {
        width: 100%;
        margin-left: 0;
        margin-top: 40px;
    }
    .message .content .text::before {
        right: -180px;
        top: auto;
        bottom: -70px;
    }
    .message .content .text .title {
        font-size: clamp(1.375rem, 0.871rem + 2.15vw, 2rem);
    }
    .message .content .text .description {
        margin-bottom: clamp(1.875rem, 1.069rem + 3.44vw, 2.875rem);
    }
    .message .content .img {
        width: 77.6%;
    }
    .message .wave-bottom {
        margin-top: clamp(-200px, calc(-12.1px - 22.37vw), -96px);
    }
}
/*-------------------------------------------
375px以下
-------------------------------------------*/
@media screen and (max-width: 375px) {
    .message .content .text::before {
        bottom: clamp(-70px, calc(318.64px - 103.64vw), -13px);
    }
}


/*-------------------------------------------
Recruitments
-------------------------------------------*/
#requirements {
    background-image: url("../img/back-requirements.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top center;
    text-align: center;
    margin-top: clamp(-215px, calc(-49.71px - 6.45vw), -104px);
    margin-bottom: 80px;
}
#requirements .catchphrase {
    font-weight: 700;
    font-size: 32px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    color: #fff;
    background-color: #C58E52;
    padding: 10px 80px;
    border-radius: 30px 30px 0 0;
    display: inline-block;
    margin-top: 486px;
}
#requirements .container {
    margin-top: -1px;
}
#requirements .container .inner {
    background-color: #fff;
    border: solid 1px #CDC7BC;
    padding: 60px 80px 40px 80px;
    border-radius: 20px;
}
#requirements .container .content {
    margin-top: 48px;
    text-align: left;
}
#requirements .container .content dl {
    display: flex;
    align-items: flex-start;
}
#requirements .container .content dl dt {
    border-top: solid 1px #CDC7BC;
    padding: 24px 30px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 2;
    color: #A98765;
    margin-right: 24px;
    width: 260px;
}
#requirements .container .content dl dd {
    border-top: solid 1px #CDC7BC;
    padding: 24px 30px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 2;
    width: 796px;
}
#requirements .container .content dl dd .tag-list {
    display: flex;
    justify-content: flex-start;
    gap: 10px;
    flex-wrap: wrap;
}
#requirements .container .content dl dd .tag-list li {
    color: #fff;
    line-height: 1.5;
    background-color: #BCA882;
    border-radius: 30px;
    padding: 4px 18px;
}
#requirements .container .content dl dd .tag-list.mb {
    margin-bottom: 20px;
}
#requirements .container .content dl dd .salary-list {
    margin: 20px 0;
    padding-left: 16px;
}
#requirements .container .content dl dd .salary-list li {
    position: relative;
    line-height: 1.5;
}
#requirements .container .content dl dd .salary-list li::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #BCA882;
    position: absolute;
    top: 12px;
    left: -16px;
}

/*-------------------------------------------
1240px
-------------------------------------------*/
@media screen and (max-width: 1240px) {
    #requirements {
        background-image: url("../img/back-requirements-sp.png");
    }
}
/*-------------------------------------------
840px
-------------------------------------------*/
@media screen and (max-width: 840px) {
    #requirements {
        margin-top: clamp(-103px, calc(12.61px - 13.76vw), -39px);
        margin-bottom: 40px;
    }
    #requirements .catchphrase {
        font-size: clamp(1rem, 0.194rem + 3.44vw, 2rem);
        padding: 10px 20px;
        border-radius: 20px 20px 0 0;
        margin-top: clamp(10.188rem, 1.688rem + 42.5vw, 24rem);
    }
    #requirements .container .inner {
        padding: 40px 40px 24px;
    }
    #requirements .container .content {
        margin-top: clamp(1.5rem, 0.29rem + 5.16vw, 3rem);
    }
    #requirements .container .content dl {
        flex-direction: column;
    }
    #requirements .container .content dl dt {
        width: 100%;
        padding: 16px 0 0 0;
        margin-right: 0;
        margin-bottom: 4px;
        font-size: clamp(1rem, 0.899rem + 0.43vw, 1.125rem);
    }
    #requirements .container .content dl dd {
        width: 100%;
        border-top: none;
        padding: 0 0 16px 0;
        font-size: clamp(1rem, 0.899rem + 0.43vw, 1.125rem);
    }
    #requirements .container .content dl .mb-24 {
        padding-bottom: 24px;
    }
    #requirements .container .content dl dd .tag-list li {
        padding: 4px 14px;
    }
    #requirements .container .content dl dd .tag-list.mb {
        margin-bottom: 16px;
        margin-top: 4px;
        gap: 6px;
    }
    #requirements .container .content dl dd .tag-list {
        gap: 6px;
    }
    #requirements .container .content dl dd .salary-list li::before {
        top: clamp(0.625rem, 0.575rem + 0.22vw, 0.688rem);
    }
}
/*-------------------------------------------
414px
-------------------------------------------*/
@media screen and (max-width: 414px) {
    #requirements .container .inner {
        padding-left: 20px;
        padding-right: 20px;
    }
}



/*-------------------------------------------
Contact
-------------------------------------------*/
#contact {
    background: linear-gradient(rgba(246, 241, 230, 0),rgba(246, 241, 230, 1));
    padding-bottom: 140px;
}
#contact .container .inner {
    background-color: #fff;
    border: solid 1px #CDC7BC;
    padding: 100px 80px;
    border-radius: 20px;
}
#contact .container .inner .description {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.03em;
    text-align: center;
    margin-top: 40px;
    margin-bottom: 60px;
}

fieldset {
    display: none;
}


#contact .form-area .lp-form {
    max-width: 1040px;
    margin:0 auto;
}
#contact .form-area .lp-form__row {
    display: grid;
    grid-template-columns: 235px 1fr;
    align-items: center;
    column-gap: 69px;
    padding: 20px 0;
}
#contact .form-area .lp-form__row:first-child {
    padding-top: 0;
}
#contact .form-area .lp-form__row.is-textarea {
    align-items: flex-start;
}
#contact .form-area .lp-form__label {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 2;
}
#contact .form-area .lp-form__label .req {
    color:#AC5E08;
    margin-left:6px;
}

#contact .form-area .lp-form__field input[type="text"],
#contact .form-area .lp-form__field input[type="email"],
#contact .form-area .lp-form__field textarea {
    width:100%;
    box-sizing: border-box;
    background: #F2F2F0;
    border: none;
    border-radius: 6px;
    padding: 20px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.03em;
}
#contact .form-area .lp-form input::placeholder,
#contact .form-area .lp-form textarea::placeholder {
    font-family: "Noto Sans JP", sans-serif;
    color: #C4C4C4;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0.03em;
}
#contact .form-area .lp-form__field textarea {
    min-height: 233px;
    resize: vertical;
}
#contact .form-area .lp-form__actions {
    margin-top: 40px;
    text-align: center;
}
#contact .form-area .lp-form__actions input[type="submit"] {
    min-width: 214px;
    padding: 12px 70px;
    border: none;
    border-radius: 4px;
    background: #AC5E08;
    color: #fff;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.03em;
    cursor: pointer;
}
#contact .form-area .lp-form__actions input[type="submit"]:hover {
    background: #D77C17;
}


/*-------------------------------------------
840px
-------------------------------------------*/
@media screen and (max-width: 840px) {
    #contact {
        padding-bottom: 80px;
        background: none;
    }
    #contact .container .inner {
        padding: 40px 40px;
    }
    #contact .container .inner .description {
        margin-top: 24px;
        margin-bottom: 40px;
    }
    #contact .form-area .lp-form__row {
        display: block;
        padding: 8px 0;
    }
    #contact .form-area .lp-form__label {
        font-size: clamp(1rem, 0.899rem + 0.43vw, 1.125rem);
        margin-bottom: 8px;
    }
    #contact .form-area .lp-form__actions {
        margin-top: 32px;
    }
    #contact .form-area .lp-form textarea::placeholder {
        line-height: 1.5;
    }
}

/*-------------------------------------------
414px
-------------------------------------------*/
@media screen and (max-width: 414px) {
    #contact .container .inner {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/*-------------------------------------------
Thanks page
-------------------------------------------*/
.thanks-body {
    margin: 0;
    background: #FFFBF2;
}
.thanks-page {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: clamp(3rem, 2.143rem + 4.29vw, 6rem) 20px clamp(5rem, 3.929rem + 5.36vw, 8.75rem);
}
.thanks-card {
    width: 100%;
    max-width: 980px;
    border-radius: 20px;
    text-align: center;
}
.thanks-message {
    font-family: "Noto Sans JP", sans-serif;
    color: #281E13;
    font-weight: 500;
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.03em;
}
.thanks-note {
    margin-top: clamp(1.25rem, 0.893rem + 1.79vw, 2.5rem);
    font-family: "Noto Sans JP", sans-serif;
    color: #AC5E08;
    font-weight: 500;
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.03em;
}
.thanks-phone {
    margin-top: clamp(1.25rem, 0.893rem + 1.79vw, 2.5rem);
}
.thanks-phone a {
    font-family: "Noto Sans JP", sans-serif;
    color: #AC5E08;
    font-weight: 500;
    font-size: 32px;
    line-height: 1.4;
    letter-spacing: 0.03em;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}
.thanks-phone a i {
    color: #AC5E08;
    font-size: 1.5rem;
}
.thanks-home {
    margin-top: clamp(2.5rem, 1.786rem + 3.57vw, 5rem);
}
.thanks-home a {
    font-family: "Noto Sans JP", sans-serif;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    min-width: 214px;
    min-height: 64px;
    border: solid 1px #AC5E08;
    border-radius: 999px;
    background: #fff;
    color: #AC5E08;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.03em;
    padding: 12px 32px;
}
.thanks-home a i {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #AC5E08;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    transform: rotate(90deg);
    transition: background-color 0.3s ease, color 0.3s ease;
}
.thanks-home a:hover {
    color: #fff;
    background: #AC5E08;
}
.thanks-home a:hover i {
    background-color: #fff;
    color: #AC5E08;
}

@media screen and (max-width: 840px) {
    .thanks-card {
        text-align: left;
    }
    .thanks-message br,
    .thanks-note br {
        display: none;
    }
    .thanks-message br.sp-keep-br {
        display: inline;
    }
    .thanks-message {
        font-size: clamp(1.125rem, 0.922rem + 0.87vw, 1.375rem);
        line-height: 1.9;
    }
    .thanks-note {
        font-size: clamp(1rem, 0.797rem + 0.87vw, 1.25rem);
        line-height: 1.9;
    }
    .thanks-phone {
        text-align: center;
    }
    .thanks-phone a {
        font-size: clamp(1.75rem, 1.14rem + 2.61vw, 2.5rem);
        gap: 10px;
    }
    .thanks-home {
        text-align: center;
    }
    .thanks-home a {
        min-width: 260px;
        min-height: 64px;
        font-size: 20px;
        gap: 12px;
    }
    .thanks-home a i {
        width: 36px;
        height: 36px;
        font-size: 17px;
    }
}

/*-------------------------------------------
Footer
-------------------------------------------*/
#footer .content {
    padding-left: 100px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
#footer .content .text {
    width: 39%;
    margin: 80px 60px 0 0;
}
#footer .content .text .img {
    max-width: 240px;
}
#footer .content .text .info-area {
    margin-top: 48px;
}
#footer .content .text .info-area p {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 2;
}
#footer .content .text .access {
    margin-top: 24px;
}
#footer .content .text .access p {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 2;
}
#footer .content .text .access ul {
    margin-left: 19px;
}
#footer .content .text .access li {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 2;
    position: relative;
}
#footer .content .text .access li::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #A98765;
    position: absolute;
    top: 16px;
    left: -19px;
}


#footer .content .schedule-table {
    width: 100%;
    max-width: 560px;
    margin: 40px 0 35px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 2;
    border-collapse: collapse;
}
#footer .content .schedule-table th,
#footer .content .schedule-table td {
    text-align: center;
    border-bottom: solid 1px #CDC7BC;
    padding: 10px 16px;
}
#footer .content .schedule-table th:first-child,
#footer .content .schedule-table td:first-child {
    text-align: left;
    padding-left: 20px;
    white-space: nowrap;
}
/* 左の縦罫線 */
#footer .content .schedule-table th:first-child {
    border-right: solid 1px #CDC7BC;
}

#footer .content .schedule-table tbody tr:last-child th,
#footer .content .schedule-table tbody tr:last-child td {
    border-bottom: none; /* 最下部の横罫線 */
    padding-bottom: 0; /* 一番下（tbody 最終行）のpaddingを0 */
}
/* 一番上（thead）のpadding-topを0 */
#footer .content .schedule-table thead th {
    padding-top: 0;
}

#footer .content .schedule-table .mc {
    color: #947757;
}
#footer .content .notes {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.7;
}
#footer .content .notes span {
    color: #947757;
}

#footer .content .map {
    position: relative;
    width: 50%;
    height: 777px
}
#footer .content .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#footer .copyright {
    font-family: "Cormorant Garamond", serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.6;
    background-color: #fff;
    text-align: center;
    padding: 12px 0 11px 0;
    margin-top: -4px;
}

/*-------------------------------------------
1280px
-------------------------------------------*/
@media screen and (max-width: 1280px) {

    #footer .content .text {
        margin-right: 0;
        width: 44%;
    }
    #footer .content .text .table-scroll {
        overflow-x: auto;
    }
    #footer .content .text .table-scroll .schedule-table {
        min-width: 560px;
    }
}
/*-------------------------------------------
840px
-------------------------------------------*/
@media screen and (max-width: 840px) {
    
    #footer .content {
        flex-direction: column;
        gap: 40px;
        padding: 0;
        max-width: 1200px;
    }
    #footer .content .text {
        width: 100%;
        padding: 0 60px;
        margin-top: 0;
    }
    #footer .content .text .img {
        margin: 0 auto;
        max-width: clamp(12.5rem, 10.484rem + 8.6vw, 15rem);
    }
    #footer .content .text .info-area {
        margin-top: clamp(1.875rem, 0.968rem + 3.87vw, 3rem);
    }
    #footer .content .text .access {
        margin-top: clamp(1rem, 0.597rem + 1.72vw, 1.5rem);
    }
    #footer .content .text .info-area p,
    #footer .content .text .access p,
    #footer .content .text .access li {
        font-size: clamp(1rem, 0.899rem + 0.43vw, 1.125rem);
    }
    #footer .content .text .access li::before {
        top: clamp(0.875rem, 0.774rem + 0.43vw, 1rem);
    }
    #footer .content .text .access ul {
        margin-top: 4px;
    }
    #footer .content .text .table-scroll {
        overflow-x: hidden;
    }
    #footer .content .text .table-scroll .schedule-table {
        min-width: auto;
    }
    #footer .content .schedule-table {
        font-size: clamp(0.75rem, 0.649rem + 0.43vw, 0.875rem);
    }
    #footer .content .schedule-table th,
    #footer .content .schedule-table td {
        padding: 10px 5px;
    }
    #footer .content .schedule-table th:first-child {
        width: 114px;
    }
    #footer .content .schedule-table th:first-child,
    #footer .content .schedule-table td:first-child {
        padding-left: 8px;
        padding-right: 11px;
    }
    /* 一番上（thead）のpadding-topを0 */
    #footer .content .schedule-table thead th {
         padding-top: 0;
    }
    #footer .content .notes {
        font-size: clamp(0.75rem, 0.649rem + 0.43vw, 0.875rem);
    }
    #footer .content .map {
        width: 100%;
        height: 405px;
    }
    #footer .copyright {
        font-size: 14px;
		margin-bottom: 42px;
    }
    #footer .content .schedule-table {
        margin: 30px 0 20px;
    }
}


/*-------------------------------------------
414px
-------------------------------------------*/
@media screen and (max-width: 414px) {
    #footer .content .text {
        padding: 0 20px;
    }
}


/*-------------------------------------------
ここから下は共通
-------------------------------------------*/




/*-------------------------------------------
1240px共通
-------------------------------------------*/
@media screen and (max-width: 1248px) {
    .br-1280 {
        display: block;
    }
}

/*-------------------------------------------
1240px共通
-------------------------------------------*/
@media screen and (max-width: 1240px) {
    .br-1240 {
        display: none;
    }
}
/*-------------------------------------------
タブレット_共通
-------------------------------------------*/
@media screen and (max-width: 840px) {
    #contact {
        scroll-margin-top: 40px;
    }
    .wrapper {
        padding: 0 60px;
    }
    .br-pc {
        display: none;
    }
    .br-tab {
        display: block;
    }
    .br-1280 {
        display: none;
    }
}

/*-------------------------------------------
414px_共通
-------------------------------------------*/
@media screen and (max-width: 414px) {
    .wrapper {
        padding: 0 20px;
    }
    .br-414 {
        display: block;
    }
}

/*-------------------------------------------
320px_共通
-------------------------------------------*/
@media screen and (max-width: 320px) {
    .br-320 {
        display: block;
    }
}
