@charset "utf-8";

/*================================
Layout
================================*/
@media screen and (max-width: 768px) {
}


/*================================
Header
================================*/
@media screen and (max-width: 768px) {
    .header .inner {
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-block: 0;
        width: 100%;
        height: 14vw;
        background: rgba(255,255,255,0.9);
        z-index: 10;
        transition: all 0.3s ease;
    }
    .scroll .header .inner {
        position: fixed;
        top: 0;
        left: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-block: 0;
        width: 100%;
        height: 14vw;
        background: rgba(255,255,255,0.9);
        z-index: 10;
        transition: all 0.3s ease;
    }
    .header .logo img {
        width: 12vw;
        height: 8vw;
    }
    .header nav {
        position: absolute;
        top: 14vw;
        left: 0;
        width: 100%;
        height: calc(100vh - 14vw);
        z-index: 100;
        opacity: 0;
        pointer-events: none;
        background: #EBE6DF;
        transition: all 0.3s ease;
        overflow-y: auto;
    }
    .header nav .nav {
        position: relative;
        display: flex;
        justify-content: space-between;
        padding: 2.667vw 4.4vw 34.667vw;
        column-gap: 4.667vw;
    }
    .header nav .nav_upper {
        order: 1;
        width: 50%;
    }
    .header nav .nav_lower {
        order: 0;
        width: 50%;
    }

    .header .inner .nav .nav_lower .nav_lower_gnav li,
    .header .inner .nav .nav_upper .nav_upper_company li {
        width: 100%;
        border-bottom: 1px solid #CCCCCC;
    }

    .header .inner .nav .nav_lower .nav_lower_gnav li a,
    .header .inner .nav .nav_upper .nav_upper_company li a {
        display: flex;
        align-items: center;
        padding-inline: 0;
        padding-block: 1em;
        font-size: max(14px,2.667vw);
        font-weight: 500;
        line-height: 1.7;
        color: #000;
    }

    .header .inner .nav .nav_lower .nav_lower_gnav li.menu-item-has-children .sub-menu li {
        border-bottom: none;
        list-style: disc;
        margin-left: 1em;
        width: calc(100% - 1em);
    }

    .header .inner .nav .nav_lower .nav_lower_gnav li.menu-item-has-children .sub-menu a {
        font-size: max(12px,2.667vw);
        padding-block: 0.5em;
    }

    .header nav .nav_upper_pickup {
        position: fixed;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .header .inner .nav .nav_upper .nav_upper_pickup li a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 13.467vw;
        font-size: max(14px,2.667vw);
        font-weight: 700;
        color: #FFF;
    }

    .header .inner .nav .nav_upper .nav_upper_pickup li:nth-of-type(1) a {
        background: var(--c-gray);
    }

    .header .inner .nav .nav_upper .nav_upper_pickup li:nth-of-type(2) a {
        background: var(--c-brown);
    }

    .header .inner .nav .nav_upper .nav_upper_company li.current-menu-item a {
        color: var(--c-brown);
    }

    .header .inner .nav .nav_upper .nav_upper_pickup li.current-menu-item a {
        background: var(--c-lightgray);
    }

    .header .inner .nav .nav_lower .nav_lower_gnav li.current a,
    .header .inner .nav .nav_lower .nav_lower_gnav li.current-menu-item > a  {
        color: var(--c-brown);
        line-height: 1.7;
    }

    .header .inner .nav .nav_upper .sp_sns {
        display: flex;
        justify-content: center;
        align-items: center;
        column-gap: 4vw;
        margin-top: 5.333vw;
    }

    .header .inner .nav .nav_upper .sp_sns .item {
        position: relative;
    }

    .header .inner .nav .nav_upper .sp_sns .header_igm {
        width: 3.733vw;
        height: 3.733vw;
    }

    .header .inner .nav .nav_upper .sp_sns .sub-menu {
        visibility: hidden;
        pointer-events: none;
        position: absolute;
        top: 100%;
        right: 0;
        width: 100%;
        z-index: 102;
        background: #FFF;
        box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
    }

    .header .inner .nav .nav_upper .sp_sns .item .sub-menu.active {
        visibility: visible;
        pointer-events: all;
        width: 10em;
    }

    .header .inner .nav .nav_upper .sp_sns .item .sub-menu li a {
        padding: 1em;
        display: flex;
        justify-content: space-between;
        font-size: 2.667vw;
        color: #000;
    }

    .header .inner .nav .nav_upper .sp_sns .item a[href="#pll_switcher"] {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0.5em 1em;
        background: #FFF;
        box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
        color: #000;
    }

    .hamburger {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 6.933vw;
        height: 6.933vw;
        z-index: 101;
        transition: all 0.3s ease;
        border: 1px solid transparent;
        transform: translate3d(0,0,0);
        cursor: pointer;
    }

    .hamburger span {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 5.867vw;
        height: 1px;
        background: #000000;
        border-radius: 9999px;
        transition: all 0.3s ease;
        pointer-events: none;
    }
    .hamburger span:nth-of-type(1) {
        top: 1.733vw;
    }
    .hamburger span:nth-of-type(2) {
        top: 3.2vw;
    }
    .hamburger span:nth-of-type(3) {
        top: 4.667vw;
    }

    /* menu open */
    .nonScroll .header .inner {
        background: #EBE6DF;
    }
    .nonScroll .header nav {
        opacity: 1;
        pointer-events: all;
    }
    .nonScroll .hamburger {
        border: 1px solid #000;
        z-index: 101;
    }
    .nonScroll .hamburger span {
        position: absolute;
        border-radius: 9999px;
        transition: all 0.3s ease;
    }
    .nonScroll .hamburger span:nth-of-type(1) {
        top: 3.2vw;
        transform: translateX(-50%) rotate(45deg);
    }
    .nonScroll .hamburger span:nth-of-type(2) {
        top: 3.2vw;
        opacity: 0;
    }
    .nonScroll .hamburger span:nth-of-type(3) {
        top: 3.2vw;
        transform: translateX(-50%) rotate(-45deg);
    }
}


/*================================
Contents Common
================================*/
@media screen and (max-width: 768px) {
    main {
        padding-top: 14vw;
    }
    .mv {
        position: relative;
    }
    .mv img,
    .mv video {
        width: 100%;
        height: auto;
    }
    .mv .mv_title {
        width: 100%;
        font-size: 4vw;
    }

    .flex {
        display: flex;
    }

    .flex.col2 {
        align-items: center;
        justify-content: space-between;
    }

    .bg_beige {
        background: rgba(228,225,223,0.5);
    }

    .section_header {
        text-align: center;
    }

    .section_title,
    .acm_detail_intro h2 {
        font-size: 4.933vw;
        font-weight: 500;
        letter-spacing: 0.2em;
        line-height: 1.6;
    }

    .section_title .section_title_sub {
        margin-top: 10px;
        font-size: 14px;
    }

    .section_title > small {
        font-size: 20px;
    }

    .section_header .notes {
        margin-top: 20px;
        font-size: 14px;
    }

    .contents section:last-of-type {
        padding-bottom: 14.667vw;
    }

    .link a {
        font-size: max(14px,1.867vw);
    }

    .link a:before {
    }

    .service_list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 3.2vw 0;
    }

    .service_list .item {
        padding: 2.4vw 1.333vw 5.333vw;
    }

    .service_list .item .img {
        width: 100%;
        max-height: 44.4vw;
    }

    .service_list .item .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .service_list .item .text {
        padding: 8vw 1.333vw 8vw;
        text-align: center;
    }

    .service_list .item .text .label {
        font-size: max(16px,2.4vw);
        font-weight: 500;
        line-height: 2.5;
    }

    .service_list .item .text p {
        font-size: max(14px,2.867vw);
    }

    .service_list .item .link {
        margin-inline: auto;
    }

    .acm_list {
        display: flex;
        flex-direction: column;
        gap: 3.2vw 0;
    }

    .acm_list .item {
        padding: 2.4vw 1.333vw 5.333vw;
        border: 1px solid rgba(153,153,153,0.31);
        background: #FFF;
    }

    .acm_list .item .img {
        width: 100%;
        max-height: 333px;
        overflow: hidden;
    }

    .acm_list .item .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .acm_list .item .text {
        padding: 10.667vw 20px 10.667vw;
        text-align: center;
    }

    .acm_list .item .text .label {
        font-size: 18px;
        font-weight: 500;
        line-height: 2.5;
    }

    .acm_list .item .link {
        width: 200px;
        height: 38px;
        margin-inline: auto;
    }

    .breadcrumbs {
        padding-block: 2.667vw;
    }

    .breadcrumbs ul {
        flex-wrap: wrap;
    }

    .breadcrumbs ul li {
        padding: 0 2.667vw;
        font-size: max(10px,1.6vw);
    }

    .pager {
        margin:17.241vw auto 0;
        padding:0 0 0 0;
    }

    .pager_inner {
        display:-webkit-flex;
        display:flex;
        -webkit-flex-flow:row wrap;
        flex-flow:row wrap;
        -webkit-justify-content:center;
        justify-content:center;
    }

    .back,
    .next {
        position:relative;
        box-sizing:border-box;
        margin:10px 0;
        border:1px solid #999;
        width:22px;
        height:22px;
        text-indent:-9999px;
    }

    .back a,
    .next a {
        display:block;
        width:100%;
        height:100%;
        text-indent:-9999px;
    }

    .back::after,
    .next::after {
        position:absolute;
        top:calc(50% - 4px);
        display:block;
        box-sizing:border-box;
        border-top:1px solid #ccc;
        width:8px;
        height:8px;
        content:"";
        pointer-events: none;
    }

    .back::after {
        border-left:1px solid #ccc;
        left:calc(50% - 2px);
        transform:rotate(315deg);
    }

    .pager ol {
        display:-webkit-inline-flex;
        display:inline-flex;
        -webkit-flex-flow:row wrap;
        flex-flow:row wrap;
        -webkit-justify-content:center;
        justify-content:center;
        margin:0 10px;
        list-style-type:none;
    }

    .pager ol li {
        margin:12px 0;
        padding:0 20px;
        line-height:18px;
        font-size:18px;
        font-size: 12px;
    }

    .pager ol li a {
        display: block;
        color:#000;
        text-decoration:none;
        font-size: 12px;
    }

    .pager ol li a:hover,
    .pager ol li.current a {
        color:var(--color-mainblue);
    }

    .pager ol li+li {
        border-left:1px solid #ccc;
    }

    .next::after {
        border-right:1px solid #ccc;
        left:calc(50% - 6px);
        transform:rotate(45deg);
    }

    .back:hover::after,
    .next:hover::after {
        border-color:var(--color-mainblue);
    }
}

/*================================
Home
================================*/
@media screen and (max-width: 768px) {
    .home .mv .mv_title {
        width: 100%;
    }
    .home .mv .mv_title .en {
        font-weight: 300;
        font-size: 2.533vw;
        letter-spacing: 0.1em;
    }

    .home .mv .mv_title .main {
        margin-top: 6.667vw;
        font-weight: 300;
        font-size: 4vw;
        letter-spacing: 0.5em;
    }

    .home .mv .mv_title .sub {
        margin-top: 6.667vw;
        font-weight: 300;
        font-size: 2.133vw;
        line-height: 1.8;
        letter-spacing: 0.1em;
    }

    .home .section_normal {
        padding: 8vw 0 8vw 0;
    }

    .home .home_about .flex {
        flex-direction: column;
        align-items: center;
        row-gap: 4vw;
    }
    .home .home_about .flex .right,
    .home .home_about .flex .left {
        display: contents;
    }
    .home .home_about .flex .right .logo {
        order: 0;
    }
    .home .home_about .flex .right .section_title {
        order: 1;
        margin-top: 8vw;
        font-size: 4.267vw;
    }
    .home .home_about .flex .left picture {
        order: 2;
    }
    .home .home_about .flex .right .text {
        order: 3;
        padding-inline: 20px;
        font-size: max(14px,2.133vw);
        align-self: flex-end;
    }

    .home .home_service .service_list {
        margin-top: 0;
    }

    .home .home_concept {
        position: relative;
        margin-top: 14.667vw;
        background: url(../img/home/bg_home_concept.webp) no-repeat center center;
        background-size: cover;
        min-height: 48.533vw;
    }

    .home .home_concept .catch .title {
        font-size: 4vw;
    }

    .home .home_concept .catch p {
        margin-top: 3.2vw;
        font-size: 1.867vw;
    }
}


/*================================
Accommodation
================================*/
@media screen and (max-width: 768px) {
    .mv + .reserve {
        padding: 20px 20px;
        background: #4E4E50;
    }

    .acm_intro {
        padding: 8vw 20px;
        text-align: center;
    }

    .acm_intro .text {
        padding-block: 8vw;
    }

    .acm_intro .title {
        font-size: 4.267vw;
        font-weight: 500;
        left: inherit;
        line-height: 1.6;
    }

    .acm_intro .text p {
        margin-top: 8vw;
        letter-spacing: 0.1em;
        line-height: 2;
    }

    .acm_intro .link a {
        margin-inline: auto;
    }

    .acm_important {
        background: rgba(228,225,223,0.5);
    }

    .acm_important .inner {
        padding: 8vw 20px 8vw;
    }

    .acm_important .section_contents {
        margin-top: 17.333vw;
        flex-direction: column;
        align-items: center;
        column-gap: 80px;
    }

    .acm_important .section_contents .right {
        order: 0;
    }

    .acm_important .section_contents .left {
        order: 1;
    }

    .acm_important .section_contents .text {
        margin-top: 10.667vw;
        width: 100%;
        text-align: center;
    }

    .acm_important .section_contents .text ol {
        list-style-type: none;
    }

    .acm_important .section_contents .text ol li {
        position: relative;
        padding-top: 50px;
        padding-bottom: 30px;
    }

    .acm_important .section_contents .text ol li:before {
        content: counter(list-item);
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        background: #4E4E50;
        border-radius: 50%;
        color: #FFF;
        font-size: 18px;
    }

    .acm_important .section_contents .text .title {
        font-size: 18px;
        font-weight: 500;
        letter-spacing: 0.1em;
        line-height: 2.5;
    }

    .acm_important .section_contents .text p {
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 2.5;
    }

    .acm_important .section_contents .text .link a {
        margin-inline: auto;
    }

    .acm_important .section_contents .img {
        width: 50%;
    }

    .acm_about .inner {
        padding-block: 140px 110px;
    }

    .acm_about .acm_about_list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10.667vw;
    }

    .acm_about .acm_about_list .item {
        text-align: center;
    }

    .acm_about .acm_about_list .item .title {
        font-size: 4.933vw;
        letter-spacing: 0.2em;
        line-height: 1.6;
    }

    .acm_about .acm_about_list .item .img {
        margin-top: 30px;
    }

    .acm_about .acm_about_list .item .img img {
        width: 100%;
    }

    .acm_about .acm_about_list .item .text {
        margin-top: 30px;
    }

    .acm_about .acm_about_list .item .text p {
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 2;
    }

    .acm_about .link a {
        margin-top: 10.667vw;
        margin-inline: auto;
    }

    .acm_map {
        background: rgba(228,225,223,0.5);
    }

    .acm_map .inner {
        padding: 10.667vw 20px 10.667vw;
    }

    .acm_map .map {
        margin-top: 8vw;
    }

    .acm_map .map iframe {
        filter: grayscale(100%);
    }

    .acm_map .acm_list {
        margin-top: 10.667vw;
    }

    .book-form-inline {
        margin-top: 0;
    }
}

/*================================
Accommodation Detail
================================*/
@media screen and (max-width: 768px) {
    .accommodation_detail section {
        padding: 8vw 0 8vw 0;
    }
    .accommodation_detail .acm_detail_intro {
        padding-top: 10.667vw;
        text-align: center;
    }
    .acm_detail_intro .title,
    .acm_detail_intro .title {
        margin-top: 10.667vw;
    }

    .acm_detail_intro .text {
        margin-top: 10.667vw;
    }

    .acm_detail_intro .text .catch,
    .acm_detail_intro .text h3 {
        margin-top: 10.667vw;
        font-size: 16px;
        letter-spacing: 0.1em;
        line-height: 2;
        color: var(--c-lightbrown);
    }

    .acm_detail_intro .text p {
        margin-top: 8vw;
        letter-spacing: 0.1em;
        line-height: 2.5;
    }

    .acm_detail_intro .acm_slider {
        margin-top: 10.667vw;
    }

    .acm_detail_intro .acm_vv {
        margin-top: 10.667vw;
    }

    .section_sub_title {
        font-size: 18px;
        line-height: 2;
        letter-spacing: 0.1em;
    }

    .acm_detail_intro .acm_vv iframe {
        margin-top: 30px;
    }

    .accommodation_detail section.acm_detail_features {
        padding-top: 8vw;
        background: rgba(228,225,223,0.5);
    }

    .acm_detail_features .section_contents {
        margin-top: 8vw;
    }

    .acm_detail_features .acm_detail_features_text p {
        font-size: 16px;
        font-weight: 500;
        line-height: 2;
        letter-spacing: 0.1em;
        text-align: center;
    }

    .acm_detail_spec .section_contents {
        margin-top: 10.667vw;
    }

    .acm_detail_spec .floor img {
        width: 100%;
    }

    .acm_detail_spec .spec {
        flex-direction: column;
        margin-top: 10.667vw;
        row-gap: 10.667vw;
        align-items: flex-start;
    }

    .acm_detail_spec .spec .left {
        flex: 1;
    }

    .acm_detail_spec .spec .right {
        width: 100%;
    }

    .acm_detail_spec .spec .text p {
        margin-top: 1.5em;
    }

    .acm_detail_spec .spec .text p:first-of-type {
        margin-top: 0;
    }

    .acm_detail_spec .spec .address {
        margin-top: 30px;
        text-align: center;
    }

    .acm_detail_spec .sns {
        margin-top: 30px;
    }

    .acm_detail_spec .sns_list {
        display: flex;
        align-items: center;
        column-gap: 20px;
        margin-top: 10px;
    }

    .sns_list .item a {
        display: flex;
        align-items: center;
        column-gap: 10px;
        color: #000;
    }

    .acm_detail_guide {
        display: grid;
        grid-template-columns: 1fr;
        grid-auto-flow: inherit;
        grid-template-rows: inherit;
        row-gap: 8vw;
        column-gap: 8vw;
        margin-top: 10.667vw;
    }

    .acm_detail_guide .item .title {
        display: flex;
        align-items: center;
        column-gap: 10px;
        font-size: 18px;
        line-height: 1.6;
    }

    .acm_detail_guide .item .acm_detail_guide_list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        row-gap: 10px;
        margin-top: 20px;
    }

    .acm_detail_guide .item .acm_detail_guide_list .distance,
    .acm_detail_guide .item .acm_detail_guide_list .label {
        font-size: 15px;
    }

    .acm_detail_guide .item .acm_detail_guide_list .distance {
        text-align: right;
    }

    .accommodation_detail section.acm_detail_reserve {
        padding-top: 10.667vw;
        padding-inline: 20px;
        background: rgba(228,225,223,0.5);
    }

    .acm_detail_reserve .section_header {
        padding-bottom: 10.667vw;
    }

    .acm_detail_reserve .section_contents {
        padding: 10.667vw 20px;
        background: #FFF;
    }

    .acm_detail_reserve_box {
        display: flex;
        flex-direction: column;
        align-items: center;
        row-gap: 0;
    }

    .acm_detail_reserve_box .acm_detail_reserve_calender {
        width: 100%;
    }

    .acm_detail_reserve_box .acm_detail_reserve_widget {
        flex: 1;
        width: 100%;
    }
}

/*================================
Page Common
================================*/
@media screen and (max-width: 768px) {
    .page section .inner {
        padding-block: 10.667vw;
    }

    .page .section_header .lead,
    .single-accommodation .section_header .lead {
        margin-top: 6.667vw;
        padding: 0 20px;
        font-size:  max(14px, 2.133vw);
        line-height: 2;
    }

    .page .section_contents {
        margin-top: 8vw;
    }

    .shift_box {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        column-gap: 64px;
    }

    .shift_box .left {
        display: contents;
    }

    .shift_box .right {
        display: contents;
    }

    .shift_box .title {
        order: 0;
    }

    .shift_box img {
        margin-top: 5.333vw;
        order: 1;
    }

    .shift_box p {
        order: 2;
    }

    .shift_box:after {
        content: "";
        position: absolute;
        top: inherit;
        bottom: -4vw;
        left: -20px;
        width: 100vw;
        height: calc(100% - 20vw);
        background: #FAFAF7;
        z-index: -1;
    }

    .shift_box.shift_box_reverse:after {
        content: "";
        position: absolute;
        top: inherit;
        bottom: -4vw;
        left: -20px;
        r: inherit;
        width: 100vw;
        height: calc(100% - 20vw);
        background: #FAFAF7;
        z-index: -1;
    }

    .shift_box .img {
        position: relative;
        width: 600px;
        z-index: 0;
    }

    .shift_box.shift_box_reverse .img {
        order: 2;
    }

    .shift_box .text {
        flex: 1;
        padding: 140px 0 0 0;
    }

    .shift_box.shift_box_reverse .text {
        order: 1;
    }

    .shift_box .text .title {
        font-size: 4.933vw;
        line-height: 2.5;
    }

    .shift_box .text p {
        margin-top: 10px;
        font-size: 14px;
        font-weight: 500;
        line-height: 2.5;
    }

    .grid_list {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        column-gap: 140px;
        row-gap: 5.333vw;
    }

    .grid_list .item {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 3;
        row-gap: 4vw;
    }

    .grid_list .img {
        display: contents;
    }
    .grid_list .label {
        display: contents;
    }
    .grid_list .text {
        display: contents;
    }

    .grid_list .img img {
        order: 1;
        width: 100%;
    }

    .grid_list .label .title {
        order: 0;
        text-align: center;
        font-size: 4.267vw;
        font-weight: 500;
        line-height: 2;
    }

    .grid_list .text p {
        order: 2;
        font-size: max(14px,1.867vw);
        line-height: 2;
    }

    .border_list {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .border_list dt,
    .border_list dd {
        padding: 2.667vw 2.667vw;
        border-bottom: 1px solid #CCC;
        font-size: max(14px,1.867vw);
        font-weight: 500;
        line-height: 1.6;
    }

    .border_list dd {
        padding-bottom: 5.333vw;
        border-bottom: none;
    }

    .border_list dt:last-of-type {
        border-bottom: 1px solid #CCC;
    }

    .border_list .link {
        margin-top: 5.333vw;
    }
}

/*================================
About
================================*/
@media screen and (max-width: 768px) {
    .about .service_list {
        padding-inline: 0;
    }
    .about .service_list .item {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 3;
        row-gap: 4.667vw;
    }
    .about .service_list .item .text {
        padding: 0 2.667vw 0;
    }
}

/*================================
Company
================================*/
@media screen and (max-width: 768px) {
    section.company_intro .inner {
        padding-bottom: 0;
    }

    .company_intro_box {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        column-gap: 50px;
        padding-block: 6.667vw;
    }

    .company_intro_box .img {
        display: flex;
        flex-direction: row;
        column-gap: 2.667vw;
        row-gap: 50px;
        max-width: 100%;
    }

    .company_intro_box .text {
        margin-top: 2.667vw;
        flex: 1;
    }

    .company_intro_box .text .company_intro_service {
        margin-block: 2.667vw;
    }

    .company_overview .border_list {
        grid-template-columns: 1fr;
    }

    .company_overview .border_list dd {
        border-bottom: none;
    }
}

/*================================
Contact
================================*/
@media screen and (max-width: 768px) {
    .contact_accept {
        margin-top: 5.333vw;
        padding: 4vw 2.667vw;
    }

    .contact_accept p {
        font-size: max(14px,2.667vw);
        line-height: 1.6;
    }

    .contact_main .contact_section_title {
        margin-bottom: 4vw;
        padding-bottom: 4vw;
        font-size: max(18px,2.667vw);
    }

    .contact_box .item {
        display: flex;
        flex-direction: column;
        column-gap: 40px;
        row-gap: 5.333vw;
        padding-block: 8vw;
    }

    .contact_box .item .label {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        column-gap: 4vw;
        width: 100%;
        font-size: 16px;
        font-weight: bold;
    }

    .contact_box .item .required span {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0.667vw 2.667vw;
        font-size: max(14px,2.667vw);
        color: #FFF;
        background: #88765A;
    }

    .contact_box .item .input {
        flex: 1;
    }

    .contact_box .item .notes {
        margin-top: 2.667vw;
        font-size: max(14px,2.667vw);
    }

    .contact_box input[type="text"],
    .contact_box input[type="tel"],
    .contact_box input[type="email"],
    .contact_box textarea {
        width: 100%;
        padding: 2.667vw 2.667vw;
        background: #F9F9F9;
        border: 1px solid #CCC;
    }

    .contact_box input[type="file"]::file-selector-button {
        padding: 10px 20px;
        background: #575757;
        color: #FFF;
    }

    .wpcf7-checkbox {
        display: flex;
        flex-direction: column;
        row-gap: 2.667vw;
    }

    .wpcf7-list-item {
        margin-left: 0;
        margin-right: 1em;
    }

    .contact_acceptance {
        display: flex;
        flex-direction: column;
        justify-content: center;
        row-gap: 2.667vw;
        border-top: 1px solid #CCC;
        margin-top: 5.333vw;
        padding-top: 5.333vw;
        text-align: center;
    }

    .contact_submit {
        position: relative;
        width: fit-content;
        margin-inline: auto;
        margin-top: 5.333vw;
        background: #88765A;
    }

    .contact_submit:before {
        content: "";
        position: absolute;
        left: 20px;
        top: 50%;
        transform: translateY(-50%);
        background: url(../img/common/icon_arrow_white@2x.webp) no-repeat center center;
        width: 7px;
        height: 11px;
        background-size: cover;
        z-index: 1;
    }

    .contact_submit input[type="submit"] {
        padding: 5.333vw 13.333vw;
        color: #FFF;
        font-size: 18px;
    }

    .wpcf7-spinner {
        position: absolute;
        bottom: -40px;
        left: 50%;
        transform: translateX(-50%);
    }

    .wpcf7-not-valid-tip {
        margin-top: 20px;
    }
}

/*================================
Kiyaku
================================*/
@media screen and (max-width: 768px) {
    .article_main .article_title {
        margin-top: 8vw;
        font-size: 4.267vw;
    }

    .article_main p {
        margin-top: 2.667vw;
    }

    .default_list li {
        margin-left: 1.25em;
        line-height: 2;
        font-size: max(14px, 3.2vw);
    }

    .article_main .default_list {
        margin-top: 2.667vw;
    }

    .article_main .default_list li {
        margin-left: 2.25em;
    }

    .article_main .link {
        margin-top: 2.667vw;
    }
}

/*================================
Tokushoho
================================*/
@media screen and (max-width: 768px) {
    .tokushoho .border_list {
        grid-template-columns: 1fr;
    }
    .page .tokushoho .section_contents {
        padding-inline: 0;
    }
}

/*================================
FAQ
================================*/
@media screen and (max-width: 768px) {
    .faq_group {
        margin-top: 8vw;
    }

    .faq_group .faq_group_label {
        margin-bottom: 5.333vw;
        font-size: 4.267vw;
        line-height: 2;
    }

    .page .faq .section_contents {
        padding-inline: 0;
    }

    .faq_group .faq_list {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 5.333vw;
    }

    .faq_group .faq_list .question {
        position: relative;
        padding: 20px 20px 20px 70px;
        font-size: 14px;
    }

    .faq_group .faq_list .answer {
        position: relative;
        padding: 20px 20px 20px 70px;
    }

    .faq_group .faq_list .question:before,
    .faq_group .faq_list .answer:before {
        position: absolute;
        left: 15px;
        content: "";
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        color: #FFF;
        line-height: 1;
    }

    .faq_group .faq_list .question:before {
        content: "Q";
        top: 12px;
        background: #575757;
    }

    .faq_group .faq_list .answer:before {
        content: "A";
        top: 17px;
        background: #88765A;
    }

    .faq_group .link {
        margin-top: 5.333vw;
    }
}

/*================================
Service
================================*/
@media screen and (max-width: 768px) {
    .service_intro .service_list {
        margin-top: 13.333vw;
        row-gap: 10.667vw;
        padding-inline: 0;
    }

    .service_intro .service_list .item {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 4;
        row-gap: 8vw;
        padding: 0;
        border: none;
        background: #FFF;
    }

    .service_intro .service_list .text {
        padding: 0 20px 0;
    }

    .service_intro .service_list .text p {
        margin-top: 4vw;
    }

    .service_intro .service_list .service_list_features {
        position: relative;
        margin-top: 4vw;
        padding: 40px 20px 30px;
        border: 1px solid #CCC;
        text-align: center;
    }

    .service_intro .service_list .service_list_features .label {
        position: absolute;
        top: -19px;
        left: 50%;
        transform: translateX(-50%);
        width: fit-content;
        padding: 5px 40px;
        border: 1px solid #CCC;
        background: #FFF;
        font-size: 16px;
    }

    .service_intro .service_list .service_list_features .default_list li {
        /* width: fit-content;
        margin-inline: auto; */
    }

    .service .about_message {
        background: url(../img/service/bg_service_message.webp) no-repeat center center;
        background-size: cover;
    }
}

/*================================
Service detail Common
================================*/
@media screen and (max-width: 768px) {
    .section_header_bg {
        height: 33.333vw;
    }

    .service_detail_intro .catch {
        margin-bottom: 5.333vw;
        font-size: 4.267vw;
        line-height: 2;
        text-align: center;
    }

    .service_detail_intro_list {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
        column-gap: 10px;
        row-gap: 5.333vw;
    }

    .service_detail_intro_list img {
        width: 100%;
    }

    .service_detail_intro .lead {
        margin-top: 5.333vw;
        text-align: center;
    }

    .service_detail_point_list {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
        column-gap: 70px;
        row-gap: 50px;
    }

    .service_detail_point_list .item {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 3;
        row-gap: 5.333vw;
        padding: 0;
    }

    .service_detail_point_list .item .title {
        order: 0;
        text-align: center;
        font-size: max(16px, 2.4vw);
        font-weight: 500;
        align-self: center;
    }

    .service_detail_point_list .item p {
        order: 2;
        text-align: center;
    }

    .service_detail_point_list img {
        order: 1;
        width: 100%;
    }

    .service_detail_facility_list {
        display: flex;
        flex-direction: column;
        column-gap: 15px;
        row-gap: 15px;
    }

    .service_detail_facility_list img {
        width: 100%;
    }

    .service_detail_circle_list {
        display: grid;
        grid: auto-flow auto / repeat(2, 1fr);
        justify-content: center;
        justify-items: center;
        column-gap: 15px;
        row-gap: 8vw;
    }

    .service_detail_circle_list .item {
        text-align: center;
    }

    .service_detail_circle_list .item .label {
        margin-top: 4vw;
        font-size: 3.467vw;
    }

    .service_detail_square_list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 15px;
        row-gap: 15px;
    }

    .service_detail_square_list .item {
        display: flex;
        align-items: center;
        justify-items: center;
        justify-content: center;
        flex-direction: column;
        height: auto;
        text-align: center;
        background: #000;
        padding: 10.667vw 2.667vw;
    }

    .service_detail_square_list .item .label {
        font-size: 3.467vw;
        color: #FFF;
    }

    .service_detail_square_list .item p {
        position: relative;
        margin-top: 30px;
        font-size: 4.267vw;
        color: #FFF;
    }

    .service_detail_square_list .item p:before {
        content: "";
        position: absolute;
        top: -15px;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        max-width: 190px;
        height: 1px;
        background: #FFF;
    }

    .service_detail_flow_list_type1 {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(159px, 1fr));
        justify-content: space-between;
        row-gap: 60px;
    }

    .service_detail_flow_list_type1 .item {
        position: relative;
        text-align: center;
    }

    .service_detail_flow_list_type1 .item:after {
        content: "";
        position: absolute;
        top: inherit;
        bottom: -30px;
        right: 50%;
        transform: translateX(-50%) rotate(90deg);
        transform-origin: bottom;
        width: 14px;
        height: 24px;
        background: url(../img/common/icon_flow_list_type1@2x.webp) no-repeat center center;
        background-size: cover;
    }

    .service_detail_flow_list_type1 .item:last-of-type:after {
        display: none;
    }

    .service_detail_flow_list_type1 .item .label {
        margin-top: 10px;
        font-size: 3.467vw;
        line-height: 2;
    }

    .service_detail_flow_list_type1 .item .label small {
        display: block;
        font-size: 14px;
        line-height: 1.8;
    }

    .service_detail_flow_list_type2 .item {
        position: relative;
        padding: 40px 0;
    }

    .service_detail_flow_list_type2 .item:after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 15px;
        transform: translateX(-50%);
        width: 25px;
        height: 13px;
        background: url(../img/common/icon_arrow_down_gray@2x.webp) no-repeat center center;
        background-size: cover;
    }

    .service_detail_flow_list_type2 .item:last-of-type::after {
        display: none;
    }

    .service_detail_flow_list_type2 .item_inner {
        display: flex;
        justify-content: center;
        align-items: center;
        column-gap: 20px;
        width: 100%;
        max-width: 904px;
        margin-inline: auto;
        padding-inline: 20px;
    }

    .service_detail_flow_list_type2 .item .img {
        width: 60px;
    }

    .service_detail_flow_list_type2 .item .text {
        flex: 1;
    }

    .service_detail_flow_list_type2 .item .text .label {
        font-size: 16px;
    }

    .service_detail_flow_list_type2 .item .text .label small {
        font-size: 16px;
    }

    .service_detail_flow_list_type2 .item .text p {
        margin-top: 10px;
        font-size: 14px;
        line-height: 1.8;
    }

    .service_detail_flow_list_type2 .item:nth-of-type(odd) {
        background: rgba(136,118,90,0.09);
    }

    .service_detail_flow_list_type2 .item:nth-of-type(even) {
        background: rgba(136,118,90,0.32);
    }

    .service_detail_contact .section_contents {
        text-align: center;
    }

    .service_detail_contact .section_contents p {
        text-align: center;
        font-size: 14px;
        font-weight: 500;
    }

    .service_detail_contact .section_contents .link_service a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 300px;
        height: 81px;
        margin-inline: auto;
        margin-top: 50px;
        background: #000;
        color: #FFF;
        font-size: 20px;
    }
    .price_list_wrap {
        overflow: auto;
    }

    .price_list_wrap table {
        white-space: nowrap;
    }
}

/*================================
Sharehouse
================================*/
@media screen and (max-width: 768px) {
    .sharehouse .mv .img:after {
        display: none;
    }

    .sharehouse .section_header_bg {
        background: #75ADB2;
    }

    .sharehouse .service_detail_intro .catch {
        color: #75ADB2;
    }

    .service_detail_facility p {
        margin-top: 40px;
        text-align: center;
    }

    .sharehouse .service_detail_square_list .item {
        background: #75ADB2;
    }

    .service_detail_agreement .notes {
        margin-top: 40px;
        text-align: center;
    }

    .sharehouse .service_detail_contact .section_contents .link_service a {
        background: #75ADB2;
    }

    .sharehouse .about_message {
        background: url(../img/sharehouse/bg_sharehouse_message.webp) no-repeat center center;
        background-size: cover;
    }
}

/*================================
Linen
================================*/
@media screen and (max-width: 768px) {
    .linen .mv .img:after {
        display: none;
    }

    .linen .section_header_bg {
        background: #88765A;
    }

    .linen .service_detail_intro .catch {
        color: #88765A;
    }

    .linen .about_message {
        background: url(../img/linen/bg_linen_message.webp) no-repeat center center;
        background-size: cover;
    }

    .service_detail_linen_price_wrap {
        display: flex;
        flex-direction: column;
        grid-template-columns: 1fr;
        row-gap: 80px;
    }

    .service_detail_linen_price_box .title {
        font-size: 4.267vw;
        font-weight: 500;
        line-height: 2;
        text-align: center;
        margin-bottom: 5.333vw;
    }

    .service_detail_linen_price_set_list {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 5px;
    }

    .service_detail_linen_price_set_list .item {
        display: grid;
        grid-template-columns: 1fr 25%;
        column-gap: 5px;
        row-gap: 5px;
    }

    .service_detail_linen_price_set_list .item .name,
    .service_detail_linen_price_set_list .item .price {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 102px;
        font-size: 14px;
        text-align: center;
        color: #FFF;
    }

    .service_detail_linen_price_set_list .item .name {
        padding-inline: 20px;
        background: #88765A;
    }

    .service_detail_linen_price_set_list .item .price {
        background: #333333;
    }

    .price_list_table {
        width: 100%;
        border-top: 1px solid #CCC;
        border-collapse: collapse;
    }

    .price_list_table th,
    .price_list_table td {
        padding: 20px 20px;
        border-bottom: 1px solid #CCC;
        text-align: left;
        font-size: 14px;
    }

    .service_detail_linen_price_free {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        row-gap: 0;
        height: 172px;
        background: #88765A;
    }

    .service_detail_linen_price_free p {
        margin-top: 20px;
        color: #FFF;
        font-size: 16px;
        font-weight: 500;
        vertical-align: bottom;
        text-align: center;
    }

    .service_detail_linen_price_free strong {
        display: inline-block;
        padding-inline: 0.5em;
        font-size: 24px;
        letter-spacing: 0.1em;
    }

    .service_detail_linen_price_box .notes {
        margin-top: 30px;
        font-size: 14px;
        text-align: center;
    }

    .linen .service_detail_agreement .service_detail_square_list {
        grid-template-columns: 1fr 1fr;
        column-gap: 15px;
    }

    .linen .service_detail_agreement .service_detail_square_list .item {
        height: auto;
        background: #88765A;
    }
}

/*================================
Owner
================================*/
@media screen and (max-width: 768px) {
    .owner .mv .img:after {
        display: none;
    }

    .owner .section_header_bg {
        background: #4E4E50;
    }

    .owner .service_detail_intro .catch {
        color: #4E4E50;
    }

    .owner .about_message {
        background: url(../img/owner/bg_owner_message.webp) no-repeat center center;
        background-size: cover;
    }

    .service_detail_reason_list {
        display: flex;
        flex-direction: column;
        column-gap: 70px;
        row-gap: 60px;
    }

    .service_detail_reason_list .item {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 3;
        row-gap: 15px;
    }

    .service_detail_reason_list .item .title {
        order: 0;
        font-size: 16px;
        align-self: center;
        text-align: center;
    }

    .service_detail_reason_list .item p {
        order: 2;
        text-align: center;
    }

    .service_detail_reason_list img {
        order: 1;
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    .service_detail_services_list {
        display: flex;
        flex-direction: column;
        column-gap: 10px;
        row-gap: 10px;
    }

    .service_detail_services_list .item {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100px;
    }

    .service_detail_services_list .item .label {
        text-align: center;
        color: #FFF;
        font-size: 16px;
        letter-spacing: 0.05em;
    }

    .service_detail_services_list .item .label small {
        font-size: 14px;
    }

    .service_detail_services_list .item:nth-of-type(even) {
        background: #88765A;
    }

    .service_detail_services_list .item:nth-of-type(odd) {
        background: #333333;
    }

    .owner .service_detail_contact .inner {
        padding-top: 0;
    }
}

/*================================
Partner
================================*/
@media screen and (max-width: 768px) {
    .partner .mv .img:after {
        display: none;
    }

    .partner .section_header_bg {
        background: #CDAA5E;
    }

    .partner .service_detail_intro .catch {
        color: #CDAA5E;
    }

    .partner .about_message {
        background: url(../img/partner/bg_partner_message.webp) no-repeat center center;
        background-size: cover;
    }

    .service_detail_plus_list {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        row-gap: 88px;
    }

    .service_detail_plus_list .item {
        position: relative;
        text-align: center;
    }

    .service_detail_plus_list .item:after {
        content: "";
        position: absolute;
        top: inherit;
        bottom: -50px;
        right: 50%;
        transform: translateX(50%);
        display: block;
        width: 29px;
        height: 28px;
        background: url(../img/common/icon_plus_gray@2x.webp) no-repeat center center;
        background-size: cover;
    }

    .service_detail_plus_list .item:last-of-type:after {
        display: none;
    }

    .service_detail_plus_list .item .label {
        margin-top: 20px;
        font-size: 18px;
        text-align: center;
    }

    .service_detail_partner .lead {
        margin-top: 50px;
        text-align: center;
    }

    .partner .service_detail_contact .inner {
        padding-top: 0;
    }

    .partner .service_detail_model .inner {
        padding-top: 0;
    }

    .partner_model_example {
        position: relative;
        width: 100%;
        max-width: 884px;
        margin-inline: auto;
        padding: 44px 20px 36px;
        text-align: center;
        background: #CDAA5E;
        color: #FFF;
    }

    .partner_model_example p {
        color: #FFF;
        font-size: 16px;
    }

    .partner_model_example .label {
        position: absolute;
        top: -18px;
        left: 50%;
        transform: translateX(-50%);
        padding: 5px 70px;
        color: #CDAA5E;
        border: 2px solid #CDAA5E;
        background: #FFF;
    }

    .service_detail_model .lead {
        margin-top: 50px;
        text-align: center;
    }
}

/*================================
EC
================================*/
@media screen and (max-width: 768px) {
}


/*================================
Blog
================================*/
@media screen and (max-width: 768px) {
    .archive section .inner,
    .category section .inner,
    .blog section .inner,
    .single:not(.single-accommodation) section .inner {
        padding-block: 8vw;
    }

    .archive .section_contents,
    .category .section_contents,
    .blog .section_contents,
    .single:not(.single-accommodation) .section_contents {
        margin-top: 10.667vw;
    }

    .blog_list {
        margin-top: 17.333vw;
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 20px;
    }

    .blog_list .item {
        display: flex;
        align-items: center;
        flex-flow: wrap;
        color: #000;
        column-gap: 20px;
        row-gap: 20px;
    }

    .blog_list .item .date {
        width: 8em;
        font-size: 14px;
    }

    .blog_list .item .cat {
        width: 8em;
    }

    .blog_list .item .title {
        flex: inherit;
        width: 100%;
        font-size: 16px;
    }

    .blog_list .item .title a {
        color: #000;
    }

    .cat .cat_link {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 7px 20px;
        background: #000;
        color: #FFF;
        font-size: 12px;
    }

    .cat .cat_link.info {
        background: #4E4E50;
    }
    .cat .cat_link.campaign {
        background: #835643;
    }
    .cat .cat_link.story {
        background: #EAB449;
    }
    .cat .cat_link.casestudy {
        background: #96877E;
    }
    .cat .cat_link.press {
        background: #66B5BC;
    }

    .blog_cat_list {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-flow: wrap;
        column-gap: 10px;
    }

    .blog_cat_list li a {
        padding: 10px 20px;
        border: 1px solid #999;
        background: #FAFAF7;
        color: #393939;
        font-size: 14px;
    }

    .blog_cat_list li.current a {
        background: #E6E6E6;
    }

    .blog_detail {
        margin-top: 17.333vw;
    }

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

    .blog_meta .date {
        font-size: 14px;
    }

    .blog_main .title {
        margin-top: 20px;
        font-size: 4.267vw;
        line-height: 2;
    }

    .blog_content p,
    .blog_content img,
    .blog_content h2,
    .blog_content h3,
    .blog_content h4 {
        margin-top: 5.333vw;
    }

    .blog_content h2 {
        margin-top: 8vw;
        font-size: 3.733vw;
        line-height: 2;
    }

    .blog_content h3 {
        font-size: 3.467vw;
        line-height: 2;
    }

    .blog_content h4 {
        font-size: 3.2vw;
        line-height: 2;
    }

    .blog_content p {
        font-size: max(14px,2.667vw);
        line-height: 1.6;
    }

    .blog_content .size-full img {
        width: 100%;
        height: auto;
    }


    .topics_nav {
        margin-top: 17.333vw;
        display: flex;
        justify-content: space-around;
        align-items: center;
        column-gap: 60px;
    }

    .topics_nav .list {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .topics_nav .list a {
        position: relative;
        padding-left: 22px;
        font-size: 14px;
        color: #000;
    }

    .topics_nav a {
        font-size: 16px;
        line-height: 1;
    }

    .topics_back,
    .topics_next {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 10px;
    }

    .topics_back:before,
    .topics_next:after {
        content: "";
        display: inline-block;
        position:relative;
        box-sizing:border-box;
        border:1px solid #999;
        width:22px;
        height:22px;
        text-indent:-9999px;
    }

    .topics_nav .list a:after {
        position:absolute;
        top:calc(50% - 4px);
        left: 0;
        display:block;
        box-sizing:border-box;
        border-top:1px solid #CCCCCC;
        width:8px;
        height:8px;
        content:"";
        pointer-events: none;
        border-left:1px solid #CCCCCC;
        left: 0;
        transform:rotate(135deg);
    }

    .topics_back a,
    .topics_next a {
        display:block;
        color: #000;
    }

    .topics_back a::after,
    .topics_next a::after {
        position:absolute;
        top:calc(50% - 4px);
        display:block;
        box-sizing:border-box;
        border-top:1px solid #ccc;
        width:8px;
        height:8px;
        content:"";
        pointer-events: none;
    }

    .topics_back a::after {
        border-left:1px solid #ccc;
        left: 9px;
        transform:rotate(315deg);
    }

    .topics_next a::after {
        border-left:1px solid #ccc;
        right: 9px;
        transform:rotate(135deg);
    }
}

/*================================
Footer
================================*/
@media screen and (max-width: 768px) {
    .about_message {
        position: relative;
        min-height: 529px;
        background-size: cover;
    }

    .about_message .inner {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        text-align: center;
        width: 100%;
    }

    .about_message .section_contents {
        margin-top: 0;
    }

    .about_message .inner .title {
        font-size: 4vw;
        line-height: 1.6;
        letter-spacing: 0.5em;
        color: #FFF;
    }

    .about_message .inner .message {
        margin-top: 30px;
        line-height: 2;
        letter-spacing: 0.1em;
        color: #FFF;
    }

    .brand_message {
        position: relative;
        min-height: 529px;
        background: url(../img/common/bg_footer_message.webp) no-repeat center center;
        background-size: cover;
    }

    .brand_message .inner {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        text-align: center;
    }

    .brand_message .inner .title {
        margin-top: 30px;
        font-size: 31px;
        line-height: 1.6;
        letter-spacing: 0.5em;
        color: #FFF;
    }

    .brand_message .inner .message {
        margin-top: 30px;
        line-height: 2;
        letter-spacing: 0.1em;
        color: #FFF;
    }

    .footer {
        padding-block: 16vw 14.667vw;
    }

    .footer img {
        width: 13.333vw;
    }

    .footer .copy {
        margin-top: 2.133vw;
        font-size: 1.333vw;
    }
}
