/* ***************************************************
 SP
*************************************************** */
@media screen and (max-width:1099px) {
  .hotels-main {
    padding-top: 60px;
    color: #444444;
  }
  .hotels-mv {
    width: 100%;
    margin-bottom: 150px;
  }
  .hotels-mv .text {
    padding: 0 6.7vw;
  }
  .hotels-mv .text hgroup {
    margin-top: 45px;
    color: #d3a86a;
  }
  .hotels-mv .text hgroup p {
    position: relative;
    left: -3.35vw;
    z-index: 1;
    display: block;
    margin: 0 auto;
    font-family: "Marcellus", serif;
    font-size: clamp(25px, 6.6vw, 40px);
    letter-spacing: 0.1em;
  }
  .hotels-mv .text hgroup p::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 52%;
    z-index: -1;
    display: block;
    width: 50vw;
    height: 1px;
    background-color: #d3a86a;
  }
  .hotels-mv .text hgroup p span {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding-left: 3.35vw;
    background-color: #ffffff;
  }
  .hotels-mv .text hgroup h1 {
    margin: 50px 0 50px 6.7vw;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(25px, 6.6vw, 32px);
    font-weight: 600;
    letter-spacing: 0.1em;
  }
  .hotels-mv .img {
    width: 100%;
    height: 340px;
  }
  .hotels-mv .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .hotels-contents {
    width: 1000px;
    max-width: 100%;
    margin: 0 auto;
  }
  .hotels-contents .hotels-tab {
    margin-bottom: 75px;
  }
  .hotels-contents .hotels-tab ul {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(25%, 1fr));
    gap: 0;
  }
  .hotels-contents .hotels-tab ul li a,
  .hotels-contents .hotels-tab ul li span {
    position: relative;
    display: block;
    padding-bottom: 25px;
    font-size: 11px;
    font-weight: 700;
    color: #CCCCCC;
    line-height: 1em;
    text-align: center;
    border-bottom: 3px solid #CCCCCC;
    cursor: pointer;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .hotels-contents .hotels-tab ul li a::after,
  .hotels-contents .hotels-tab ul li span::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -11px;
    width: 10px;
    height: 8px;
    background-color: #CCCCCC;
    -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
            clip-path: polygon(50% 100%, 0 0, 100% 0);
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .hotels-contents .hotels-tab ul li a:hover, .hotels-contents .hotels-tab ul li a.current,
  .hotels-contents .hotels-tab ul li span:hover,
  .hotels-contents .hotels-tab ul li span.current {
    color: #444444;
    border-bottom: 3px solid #444444;
  }
  .hotels-contents .hotels-tab ul li a:hover::after, .hotels-contents .hotels-tab ul li a.current::after,
  .hotels-contents .hotels-tab ul li span:hover::after,
  .hotels-contents .hotels-tab ul li span.current::after {
    background-color: #444444;
  }
  .hotels-contents .hotels-submenu {
    display: none;
    width: 910px;
    max-width: 100%;
    margin: 75px auto 150px;
    padding: 0 13.4vw;
  }
  .hotels-contents .hotels-submenu.active {
    display: block;
  }
  .hotels-contents .hotels-submenu ul {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(275px, 1fr));
    gap: 5px;
    width: 100%;
    margin: 0 auto;
  }
  .hotels-contents .hotels-submenu ul li a {
    display: grid;
    place-content: center;
    max-width: 100%;
    height: 50px;
    font-size: clmap(13px, 3.45vw, 15px);
    font-weight: 600;
    border: 1px solid #444444;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .hotels-contents .hotels-submenu ul li a:hover, .hotels-contents .hotels-submenu ul li a.current {
    color: #fff;
    background-color: #444444;
  }
  .hotels-archive .hotel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    margin: 0 auto 150px;
    padding: 0 0 0 13.4vw;
  }
  .hotels-archive .hotel:last-child {
    margin-bottom: 0;
  }
  .hotels-archive .img-wrapper {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .hotels-archive .img-wrapper .img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    overflow-x: auto;
    padding-bottom: 5px;
    margin-bottom: 20px;
  }
  .hotels-archive .img-wrapper .img img {
    min-width: clamp(275px, 73vw, 550px);
    aspect-ratio: 55/31;
    -o-object-fit: cover;
       object-fit: cover;
    margin-right: clamp(25px, 6.65vw, 50px);
  }
  .hotels-archive .img-wrapper .img img:last-child {
    margin-right: 0;
  }
  .hotels-archive .btn-area {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(calc(50% - 5px), 1fr));
    gap: 0 5px;
    margin-bottom: 50px;
    padding-right: 13.4vw;
  }
  .hotels-archive .btn-hotel,
  .hotels-archive .btn-reserve {
    max-width: 300px;
  }
  .hotels-archive .btn-hotel a,
  .hotels-archive .btn-reserve a {
    position: relative;
    display: block;
    width: 100%;
    padding: 1.25em 1em;
    font-family: "Marcellus", "Noto Serif JP", serif;
    font-size: clamp(13px, 3.46vw, 16px);
    color: #fff;
    letter-spacing: 0.1em;
    text-align: center;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .hotels-archive .btn-hotel a {
    background-color: #d3a86a;
  }
  .hotels-archive .btn-hotel a:hover {
    background-color: #E6B56D;
  }
  .hotels-archive .btn-hotel a::before, .hotels-archive .btn-hotel a::after {
    content: "";
    position: absolute;
    bottom: calc(50% - 2px);
    right: 10px;
    display: block;
    height: 1px;
    background-color: #fff;
  }
  .hotels-archive .btn-hotel a::before {
    width: 15px;
  }
  .hotels-archive .btn-hotel a::after {
    width: 8px;
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg);
    -webkit-transform-origin: bottom right;
            transform-origin: bottom right;
  }
  .hotels-archive .btn-reserve a {
    background-color: #050033;
  }
  .hotels-archive .btn-reserve a:hover {
    color: #d3a86a;
    background-color: #18115A;
  }
  .hotels-archive .btn-reserve a:hover::after {
    background-color: #d3a86a;
  }
  .hotels-archive .btn-reserve a::after {
    content: "";
    position: absolute;
    bottom: calc(50% - 5px);
    right: 10px;
    display: block;
    width: 12px;
    height: 8px;
    -webkit-mask-image: url(https://accor-resorts-japan.jp/en/ko/cn/tw/tw/wp/wp-content/themes/bland2025/assets/images25/common/header-reserve.svg);
            mask-image: url(https://accor-resorts-japan.jp/en/ko/cn/tw/tw/wp/wp-content/themes/bland2025/assets/images25/common/header-reserve.svg);
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    background-color: #fff;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .hotels-archive .text {
    display: contents;
  }
  .hotels-archive .title {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 20px;
    padding-right: 13.4vw;
    font-family: "Noto Serif JP", serif;
  }
  .hotels-archive .title small {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 10px;
    padding: 0.43em 0.7em;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.1em;
    line-height: 1em;
  }
  .hotels-archive .title small.grand {
    background-color: #d3a86a;
  }
  .hotels-archive .title small.mercure {
    background-color: #a790c4;
  }
  .hotels-archive .title h2 {
    font-size: clamp(17px, 4.5vw, 22px);
    font-weight: 700;
    line-height: 1.5em;
    letter-spacing: 0.1em;
  }
  .hotels-archive .profile {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    padding-right: 13.4vw;
  }
  .hotels-archive .profile .address {
    font-size: clamp(13px, 3.46vw, 15px);
    line-height: 2em;
    letter-spacing: 0.1em;
  }
  .hotels-archive .profile .address > div {
    padding: 25px 0;
    border-top: 1px solid #444444;
  }
  .hotels-archive .profile .address dt {
    font-weight: 700;
  }
  .hotels-archive .profile .point {
    margin-top: 25px;
    padding: 25px 6.7vw;
    font-size: clamp(13px, 3.46vw, 15px);
    background-color: #F7F7F7;
  }
  .hotels-archive .profile .point h3 {
    margin-bottom: 0.5em;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(13px, 3.46vw, 15px);
    font-weight: 700;
  }
  .hotels-archive .profile .point ol {
    padding: 0 0 0 1.5em;
    line-height: 2em;
  }
}
/* ***************************************************
 PC
*************************************************** */
@media all and (min-width:1100px) {
  .hotels-main {
    padding-top: 100px;
    color: #444444;
  }
  .hotels-mv {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    width: 100%;
    height: calc(100vh - 100px);
    min-height: 500px;
    max-height: 875px;
    margin-bottom: 300px;
    padding-left: clamp(50px, 4.5vw, 100px);
  }
  .hotels-mv .text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    max-width: 860px;
    padding-right: clamp(50px, 4.5vw, 100px);
  }
  .hotels-mv .text hgroup {
    margin-top: 140px;
    color: #d3a86a;
  }
  .hotels-mv .text hgroup p {
    position: relative;
    left: -20px;
    z-index: 1;
    display: block;
    margin: 0 auto 10px;
    font-family: "Marcellus", serif;
    font-size: clamp(40px, 3.6vw, 50px);
    letter-spacing: 0.1em;
  }
  .hotels-mv .text hgroup p::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 52%;
    z-index: -1;
    display: block;
    width: 50vw;
    height: 1px;
    background-color: #d3a86a;
  }
  .hotels-mv .text hgroup p span {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding-left: 20px;
    background-color: #ffffff;
  }
  .hotels-mv .text hgroup h1 {
    margin-top: 100px;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(40px, 3.6vw, 56px);
    font-weight: 600;
    letter-spacing: 0.1em;
  }
  .hotels-mv .img {
    width: 50vw;
    height: 100%;
  }
  .hotels-mv .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .hotels-contents {
    width: 1480px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 50px;
  }
  .hotels-contents .hotels-tab {
    margin-bottom: 100px;
  }
  .hotels-contents .hotels-tab ul {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(calc(25% - 8px), 1fr));
    gap: 0 8px;
  }
  .hotels-contents .hotels-tab ul li a,
  .hotels-contents .hotels-tab ul li span {
    position: relative;
    display: block;
    padding-bottom: 25px;
    font-size: 18px;
    font-weight: 700;
    color: #CCCCCC;
    line-height: 1em;
    text-align: center;
    border-bottom: 3px solid #CCCCCC;
    cursor: pointer;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .hotels-contents .hotels-tab ul li a::after,
  .hotels-contents .hotels-tab ul li span::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -11px;
    width: 10px;
    height: 8px;
    background-color: #CCCCCC;
    -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
            clip-path: polygon(50% 100%, 0 0, 100% 0);
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .hotels-contents .hotels-tab ul li a:hover, .hotels-contents .hotels-tab ul li a.current,
  .hotels-contents .hotels-tab ul li span:hover,
  .hotels-contents .hotels-tab ul li span.current {
    color: #444444;
    border-bottom: 3px solid #444444;
  }
  .hotels-contents .hotels-tab ul li a:hover::after, .hotels-contents .hotels-tab ul li a.current::after,
  .hotels-contents .hotels-tab ul li span:hover::after,
  .hotels-contents .hotels-tab ul li span.current::after {
    background-color: #444444;
  }
  .hotels-contents .hotels-submenu {
    display: none;
    width: 1000px;
    max-width: 100%;
    margin: 0 auto 100px;
  }
  .hotels-contents .hotels-submenu.active {
    display: block;
  }
  .hotels-contents .hotels-submenu#hotelsBrand ul li {
    margin-right: 10px;
  }
  .hotels-contents .hotels-submenu#hotelsBrand ul li:last-child {
    margin-right: 0;
  }
  .hotels-contents .hotels-submenu#hotelsArea ul li {
    margin-right: 10px;
  }
  .hotels-contents .hotels-submenu#hotelsArea ul li:nth-child(3), .hotels-contents .hotels-submenu#hotelsArea ul li:last-child {
    margin-right: 0;
  }
  .hotels-contents .hotels-submenu ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .hotels-contents .hotels-submenu ul li {
    margin-right: 10px;
    margin-bottom: 10px;
  }
  .hotels-contents .hotels-submenu ul li a {
    display: grid;
    place-content: center;
    width: 300px;
    height: 60px;
    font-size: 18px;
    font-weight: 600;
    border: 1px solid #444444;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .hotels-contents .hotels-submenu ul li a:hover, .hotels-contents .hotels-submenu ul li a.current {
    color: #fff;
    background-color: #444444;
  }
  .hotels-archive .hotel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 1480px;
    max-width: 100%;
    margin: 0 auto 150px;
  }
  .hotels-archive .hotel:last-child {
    margin-bottom: 0;
  }
  .hotels-archive:last-of-type {
    margin-bottom: 0;
  }
  .hotels-archive .img-wrapper {
    width: 50%;
    padding-right: 50px;
  }
  .hotels-archive .img-wrapper .img {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .hotels-archive .img-wrapper .img img:first-child {
    grid-column: span 2;
  }
  .hotels-archive .btn-area {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(calc(50% - 25px), 1fr));
    gap: 0 25px;
    margin-top: 50px;
    padding-right: 15px;
  }
  .hotels-archive .btn-hotel,
  .hotels-archive .btn-reserve {
    max-width: 300px;
  }
  .hotels-archive .btn-hotel a,
  .hotels-archive .btn-reserve a {
    position: relative;
    display: block;
    width: 100%;
    padding: 1em;
    font-family: "Marcellus", "Noto Serif JP", serif;
    font-size: 18px;
    color: #fff;
    letter-spacing: 0.1em;
    text-align: center;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .hotels-archive .btn-hotel a {
    background-color: #d3a86a;
  }
  .hotels-archive .btn-hotel a:hover {
    background-color: #E6B56D;
  }
  .hotels-archive .btn-hotel a::before, .hotels-archive .btn-hotel a::after {
    content: "";
    position: absolute;
    bottom: calc(50% - 5px);
    right: 20px;
    display: block;
    height: 1px;
    background-color: #fff;
  }
  .hotels-archive .btn-hotel a::before {
    width: 20px;
  }
  .hotels-archive .btn-hotel a::after {
    width: 10px;
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg);
    -webkit-transform-origin: bottom right;
            transform-origin: bottom right;
  }
  .hotels-archive .btn-reserve a {
    background-color: #050033;
  }
  .hotels-archive .btn-reserve a:hover {
    color: #d3a86a;
    background-color: #18115A;
  }
  .hotels-archive .btn-reserve a:hover::after {
    background-color: #d3a86a;
  }
  .hotels-archive .btn-reserve a::after {
    content: "";
    position: absolute;
    bottom: calc(50% - 7px);
    right: 20px;
    display: block;
    width: 19px;
    height: 13px;
    -webkit-mask-image: url(https://accor-resorts-japan.jp/en/ko/cn/tw/tw/wp/wp-content/themes/bland2025/assets/images25/common/header-reserve.svg);
            mask-image: url(https://accor-resorts-japan.jp/en/ko/cn/tw/tw/wp/wp-content/themes/bland2025/assets/images25/common/header-reserve.svg);
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    background-color: #fff;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .hotels-archive .text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .hotels-archive .text .title {
    margin-bottom: 50px;
    font-family: "Noto Serif JP", serif;
  }
  .hotels-archive .text .title small {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 10px;
    padding: 0.43em 0.7em;
    font-size: clamp(12px, 1.27vw, 14px);
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.1em;
    line-height: 1em;
  }
  .hotels-archive .text .title small.grand {
    background-color: #d3a86a;
  }
  .hotels-archive .text .title small.mercure {
    background-color: #a790c4;
  }
  .hotels-archive .text .title h2 {
    font-size: clamp(22px, 2vw, 30px);
    font-weight: 700;
    line-height: 1.5em;
    letter-spacing: 0.1em;
  }
  .hotels-archive .text .address {
    margin-bottom: 50px;
    font-size: clamp(16px, 1.45vw, 18px);
    line-height: 2em;
  }
  .hotels-archive .text .address dt {
    font-weight: 700;
  }
  .hotels-archive .text .point {
    padding: 50px;
    font-size: clamp(16px, 1.45vw, 18px);
    background-color: #F7F7F7;
  }
  .hotels-archive .text .point h3 {
    margin-bottom: 0.5em;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
  }
  .hotels-archive .text .point ol {
    padding: 0 1.5em;
    line-height: 2em;
  }
}