@charset "UTF-8";

/* CSS Document */
/* ======================================
common
====================================== */
* {
  margin: 0px;
  padding: 0px;
}

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

html {
  font-size: 62.5%;
}

body {
  animation: loadFadeIn 1.2s ease 0s 1 normal;
}

@keyframes loadFadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

body.hidden {
  overflow: hidden;
}

a {
  text-decoration: none;
  outline: none;
  display: block;
  color: inherit;
  transition: all 0.3s;
}

a:hover {
  cursor: default;
}

a[href^="tel:"] {
  cursor: default;
}

@media only screen and (min-width: 760px) {
  a[href] {
    transition: all 0.3s;
  }

  a[href]:hover {
    cursor: pointer;
    opacity: 0.6;
  }

  a[href^="tel:"] {
    text-decoration: none;
    pointer-events: none;
  }

  a[href^="tel:"]:hover {
    cursor: default;
  }
}

img {
  width: 100%;
  max-width: 100%;
  border-style: none;
  vertical-align: bottom;
}

img[src$=".svg"] {
  width: 100%;
  height: auto;
}

ul,
dl,
ol {
  text-indent: 0;
}

li {
  list-style: none;
}

/* ======================================
common id & class
====================================== */
/* .pc.sp */
.pc {
  display: none !important;
}

.sp {
  display: block !important;
}

@media only screen and (min-width: 760px) {
  .pc {
    display: block !important;
  }

  .sp {
    display: none !important;
  }
}

/* bg */
.bg_green {
  background-color: #60715f;
}

.bg_beige {
  clip-path: inset(0 0 0 0);
  overflow: hidden;
}

.bg_beige::after {
  content: "";
  background-image: url(../images/cts02_bg_01.webp);
  background-size: cover;
  background-position: center center;
  width: 100%;
  height: 100vh;

  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

@media only screen and (min-width: 760px) {
  .bg_beige {
    background-image: url(../images/cts02_bg_01_pc.webp);
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center center;
  }

  .bg_beige::after {
    content: none;
  }
}

/* keyframes */
@keyframes fadeIn-up {
  from {
    opacity: 0;
    transform: translateY(10px);
    filter: blur(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0px);
  }
}

@keyframes fadeIn-upKvImg {
  from {
    opacity: 0;
    transform: translateY(5px);
    filter: blur(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0px);
  }
}

/* fadeIn */
.fadeIn,
.fadeIn_01,
.fadeIn_02,
.fadeIn_03,
.fadeIn_04,
.fadeIn_03_list {
  opacity: 0;
}

.fadeIn-up,
.fadeIn-up_01,
.fadeIn-up_02,
.fadeIn-up_03,
.fadeIn-up_04 {
  animation: fadeIn-up 1s ease 1s 1 forwards;
  opacity: 0;
  animation-delay: 0.5s;
}

.fadeIn-up_02,
.fadeIn-up_03,
.fadeIn-up_04 {
  animation-delay: 0s;
}

.fadeIn-upKvImg_01 {
  animation: fadeIn-upKvImg 1s ease 1s 1 forwards;
  opacity: 0;
}

.fadeIn-up_delay03 {
  animation-delay: 0.3s;
}

.fadeIn-up_delay04 {
  animation-delay: 0.4s;
}

.fadeIn-up_delay05 {
  animation-delay: 0.5s;
}

.fadeIn-up_delay06 {
  animation-delay: 0.6s;
}

.fadeIn-up_delay07 {
  animation-delay: 0.7s;
}

.fadeIn-up_delay08 {
  animation-delay: 0.8s;
}

.fadeIn-up_delay09 {
  animation-delay: 0.9s;
}

.fadeIn-up_delay10 {
  animation-delay: 1s;
}

.fadeIn-up_delay11 {
  animation-delay: 1.1s;
}

.fadeIn-up_delay12 {
  animation-delay: 1.2s;
}

.fadeIn-up_delay13 {
  animation-delay: 1.3s;
}

.fadeIn-up_delay14 {
  animation-delay: 1.4s;
}

.fadeIn-up_delay15 {
  animation-delay: 1.5s;
}

.fadeIn-up_delay17 {
  animation-delay: 1.7s;
}

.fadeIn-up_delay20 {
  animation-delay: 2s;
}

.fadeIn-up_delay21 {
  animation-delay: 2.1s;
}

.fadeIn-up_delay23 {
  animation-delay: 2.3s;
}

.fadeIn-up_delay25 {
  animation-delay: 2.5s;
}

.fadeIn-up_delay30 {
  animation-delay: 3s;
}

/* ======================================
cts_fantasysprings
====================================== */
.cts_fantasysprings {
  font-size: 62.5%;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  font-family: "Noto Sans JP", "SF Pro JP", "SF Pro Text", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-text-size-adjust: 100%;
  word-break: break-all;
  background-color: #fff;
  color: #535353;
  text-align: left;
}

.cts_fantasysprings p {
  font-size: calc((24 / 750) * 100vw);
  line-height: 1.92;
  font-weight: 400;
}

@media only screen and (min-width: 760px) {
  .cts_fantasysprings p {
    font-size: calc((22 / 2400) * 100vw);
    line-height: 2;
  }
}

/* ======================================
cts_header
====================================== */
.show {
  animation: headerTxtsFadeIn 1s ease 2s 1 forwards;
  opacity: 0;
}

@keyframes headerTxtsFadeIn {
  from {
    opacity: 0;
    filter: blur(10px);
  }

  to {
    opacity: 1;
    filter: blur(0px);
  }
}

#cts_header {
  background-image: url(../images/header_bg_01.webp);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
  z-index: 99998;
}

#cts_header::after {
  content: "";
  width: calc(100% - (40 / 750) * 100vw);
  height: calc(100% - (40 / 750) * 100vw);
  backdrop-filter: blur(calc((10 / 750) * 100vw));
  -webkit-backdrop-filter: blur(calc((10 / 750) * 100vw));
  background-color: rgba(255, 255, 255, 0.3);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}

#cts_header .cts_inner {
  position: relative;
  z-index: 1;
  padding: calc((20 / 750) * 100vw) 0 0;
}

#cts_header .cts_header_top_nav {
  display: none;
}

#cts_header .cts_header_top_navTrigger {
  position: absolute;
  top: calc((30 / 750) * 100vw);
  right: 0;
  width: calc((100 / 750) * 100vw);
  height: calc((70 / 750) * 100vw);
  z-index: 101;
}

#cts_header .cts_header_top_navTrigger.fixed {
  position: fixed;
  top: 0;
  height: calc((100 / 750) * 100vw);
  background-color: #e8e6df;
}

#cts_header .cts_header_top_navTrigger.active {
  background-color: #e8e6df;
}

#cts_header .cts_header_top_navTrigger a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

#cts_header .cts_header_top_navTrigger_line {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc((40 / 750) * 100vw);
  height: calc((24 / 750) * 100vw);
}

#cts_header .cts_header_top_navTrigger span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  right: 0;
  height: 1px;
  background: #85714d;
}

#cts_header .cts_header_top_navTrigger span:nth-of-type(1) {
  top: 0;
  width: calc((40 / 750) * 100vw);
}

#cts_header .cts_header_top_navTrigger span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
  width: calc((32 / 750) * 100vw);
}

#cts_header .cts_header_top_navTrigger span:nth-of-type(3) {
  bottom: 0;
  width: calc((22 / 750) * 100vw);
}

#cts_header .cts_header_top_navTrigger.active span:nth-of-type(1) {
  transform: translateY(calc((11 / 750) * 100vw)) rotate(-27deg);
  width: calc((40 / 750) * 100vw);
}

#cts_header .cts_header_top_navTrigger.active span:nth-of-type(2) {
  opacity: 0;
}

#cts_header .cts_header_top_navTrigger.active span:nth-of-type(3) {
  transform: translateY(calc((-11 / 750) * 100vw)) rotate(27deg);
  width: calc((40 / 750) * 100vw);
}

#cts_header .cts_header_top_navTrigger p {
  display: none;
}

#cts_header .cts_header_top_navCts {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  background-color: #e8e6df;
  display: none;
}

#cts_header .cts_header_top_navCts_open {
  width: 100vw;
  height: 100vh;
  overflow: scroll;
}

#cts_header .cts_header_top_navCts_open::-webkit-scrollbar {
  display: none;
}

#cts_header .cts_header_top_navCts_open.min {
  margin-top: calc((200 / 750) * 100vw);
}

#cts_header .cts_header_top_navCts .cts_inner {
  width: 100%;
  padding: calc((135 / 750) * 100vw) 0 calc((80 / 750) * 100vw);
}

#cts_header .cts_header_top_navCts_open .cts_inner.min {
  padding-top: 0;
  margin-bottom: calc((200 / 750) * 100vw);
}

#cts_header .cts_header_top_navCts .cts_header_list01 {
  max-width: calc((670 / 750) * 100vw);
  margin: 0 auto;
}

#cts_header .cts_header_top_navCts .cts_header_list01 .cts_header_item + .cts_header_item {
  margin-top: calc((50 / 750) * 100vw);
}

#cts_header .cts_header_top_navCts .cts_header_list01 .cts_header_item a {
  display: flex;
  align-items: center;
}

#cts_header .cts_header_top_navCts .cts_header_list01 .cts_header_item a > .line {
  content: "";
  width: calc((30 / 750) * 100vw);
  height: 1px;
  background-color: #d5ccbc;
}

#cts_header .cts_header_top_navCts .cts_header_list01 .cts_header_item a > .ja {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  font-size: calc((40 / 750) * 100vw);
  line-height: 1;
  text-align: left;
  color: #85714d;
  margin-left: calc((30 / 750) * 100vw);
  white-space: nowrap;
}

#cts_header .cts_header_top_navCts .cts_header_list01 .cts_header_item a > .en {
  font-family: "Cinzel", serif;
  font-weight: 400;
  font-size: calc((26 / 750) * 100vw);
  letter-spacing: 0.18em;
  line-height: 1;
  text-align: left;
  color: #60715f;
  margin-left: calc((30 / 750) * 100vw);
  white-space: nowrap;
}

#cts_header .cts_header_top_navCts .cts_header_list02 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: calc((670 / 750) * 100vw);
  margin: calc((70 / 750) * 100vw) auto 0;
}

#cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item {
  width: calc((316 / 750) * 100vw);
  margin-top: calc((20 / 750) * 100vw);
}

/* #cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item:nth-of-type(13) {
  width: 50%;
} */

#cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item:nth-of-type(1),
#cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item:nth-of-type(2) {
  margin-top: 0;
}

#cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: calc((2 / 750) * 100vw) solid #d5ccbc;
  height: calc((90 / 750) * 100vw);
}

#cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item a > p {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: calc((26 / 750) * 100vw);
  line-height: 1.25;
  color: #85714d;
}

#cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item a > img {
  width: calc((11 / 750) * 100vw);
}

#cts_header .cts_header_top_lang {
  width: calc((100 / 750) * 100vw);
  height: calc((70 / 750) * 100vw);
  position: absolute;
  top: calc((110 / 750) * 100vw);
  right: 0;
  z-index: 101;
}

#cts_header .cts_header_top_lang.fixed {
  position: fixed;
  top: calc((100 / 750) * 100vw);
  height: calc((100 / 750) * 100vw);
  background-color: #e8e6df;
}

#cts_header .cts_header_top_lang.active {
  background-color: #e8e6df;
}

#cts_header .cts_header_top_lang a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

#cts_header .cts_header_top_lang img {
  width: calc((30 / 750) * 100vw);
}

#cts_header .cts_header_top_lang.fixed img {
  padding-bottom: calc((10 / 750) * 100vw);
}

#cts_header .cts_header_top_lang p {
  display: none;
}

#cts_header .cts_header_top_langCts {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 100;
  background-color: #e8e6df;
  display: none;
}

#cts_header .cts_header_top_langCts_bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  background-color: #000;
  background-color: transparent;
  display: none;
  z-index: 99;
}

#cts_header .cts_header_top_langCts_bg.active {
  display: block;
}

#cts_header .cts_header_top_langCts_open::-webkit-scrollbar {
  display: none;
}

#cts_header .cts_header_top_langCts .cts_inner {
  width: 100%;
  padding: calc((135 / 750) * 100vw) 0 calc((135 / 750) * 100vw);
}

#cts_header .cts_header_top_langCts .cts_header_list {
  max-width: calc((670 / 750) * 100vw);
  margin: 0 auto;
}

#cts_header .cts_header_top_langCts .cts_header_item + .cts_header_item {
  margin-top: calc((50 / 750) * 100vw);
}

#cts_header .cts_header_top_langCts .cts_header_item a {
  display: flex;
  align-items: center;
}

#cts_header .cts_header_top_langCts .cts_header_item a > .line {
  content: "";
  width: calc((30 / 750) * 100vw);
  height: 1px;
  background-color: #d5ccbc;
}

#cts_header .cts_header_top_langCts .cts_header_item a > p {
  font-weight: 400;
  font-size: calc((40 / 750) * 100vw);
  letter-spacing: 0.18em;
  line-height: 1;
  text-align: left;
  color: #85714d;
  margin-left: calc((30 / 750) * 100vw);
  white-space: nowrap;
}

#cts_header .cts_header_top_langCts .cts_header_item a > p.ja {
  font-family: "Shippori Mincho B1", serif;
}

#cts_header .cts_header_top_langCts .cts_header_item a > p.en {
  font-family: "Cinzel", serif;
}

#cts_header .cts_header_top_langCts .cts_header_item a > p.tc {
  font-family: "Microsoft Jhenghei", "PingFang", sans-serif;
}

#cts_header .cts_header_top_langCts .cts_header_item a > p.sc {
  font-family: "-apple-system", "BlinkMacSystemFont", "Microsoft YaHei", "PingFang SC", sans-serif;
}

#cts_header .cts_header_top_langCts .cts_header_item a > p.kr {
  font-family: "Malgun Gothic", "Dotum", "Apple SD Gothic Neo", sans-serif;
}

#cts_header .cts_header_top_logo {
  padding: calc((20 / 750) * 100vw) 0;
}

#cts_header .cts_header_top_logo img {
  display: block;
  width: calc((250 / 750) * 100vw);
  margin: 0 auto;
}

#cts_header .cts_header_top_txts {
  background-color: #60715f;
  height: calc((20 / 750) * 100vw);
}

#cts_header .cts_header_imgs {
  opacity: 0;
  position: relative;
}

#cts_header .cts_header_imgs .slick-list {
  transition: none !important;
}

#cts_header .cts_header_img li {
  background-image: url(../images/header_img_01-01.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: calc((1050 / 750) * 100vw);
}

#cts_header .cts_header_img li.add-zoom {
  animation: bgzoomIn 10s ease forwards;
}

@keyframes bgzoomIn {
  from {
    transform: scale(1);
  }

  to {
    transform: scale(1.05);
  }
}

#cts_header .cts_header_img li:nth-of-type(2) {
  background-image: url(../images/header_img_01-02.jpg);
}

#cts_header .cts_header_img li:nth-of-type(3) {
  background-image: url(../images/header_img_01-03.jpg);
}

.txtsFadeIn span {
  opacity: 0;
}

.txtsFadeIn.showTxts span {
  animation: text_anime_on 1s ease-out forwards;
}

@keyframes text_anime_on {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

#cts_header .cts_header_top_logo,
#cts_header .cts_header_imgs,
#cts_header .cts_header_img_txts01_txt01,
#cts_header .cts_header_img_txts02_img01,
#cts_header .cts_header_img_txts02_txt01 {
  opacity: 0;
}

#cts_header .cts_header_top_logo.show {
  animation-delay: 0s;
}

#cts_header .cts_header_imgs.show {
  animation-delay: 0.6s;
}

#cts_header .cts_header_img_txts01_txt01.show {
  animation-delay: 1.2s;
}

#cts_header .cts_header_img_txts02_img01.show {
  /* animation-delay: 6s; */
  animation-delay: 5s;
}

#cts_header .cts_header_img_txts02_txt01.show {
  /* animation-delay: 7s; */
  animation-delay: 6s;
}

#cts_header .cts_header_img_txts01 {
  position: absolute;
  /* top: calc((368 / 750) * 100vw); */
  top: calc((410 / 750) * 100vw);
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
  z-index: 2;
}

#cts_header .cts_header_img_txts01_txt01 {
  font-size: calc((24 / 750) * 100vw);
  padding-bottom: calc((10 / 750) * 100vw);
  margin-bottom: calc((25 / 750) * 100vw);
  display: inline-block;
  font-family: "Cinzel", serif;
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1.5;
  text-align: center;
  color: #fff;
  position: relative;
  white-space: nowrap;
}

#cts_header .cts_header_img_txts01_txt01::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: calc((-10 / 750) * 100vw);
  transform: translateX(-50%);

  width: calc((415 / 750) * 100vw);
  height: 1px;
  background-color: #fff;
}

#cts_header .cts_header_img_txts01_txt02,
#cts_header .cts_header_img_txts01_txt03 {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
  font-size: calc((30 / 750) * 100vw);
  letter-spacing: 0.12em;
  line-height: 1.87;
  color: #fff;
  /* display: flex;
  align-items: center;
  justify-content: center; */
  /* text-align: left; */
  text-align: center;
  margin-right: calc((-25 / 750) * 100vw);
}

#cts_header .cts_header_img_txts02 {
  position: absolute;
  bottom: calc((50 / 750) * 100vw);
  left: 50%;
  transform: translateX(-50%);
  width: 100%;

  z-index: 2;
}

#cts_header .cts_header_img_txts02 img {
  display: block;
  width: calc((422 / 750) * 100vw);
  margin: 0 auto;
}

#cts_header .cts_header_img_txts02 p {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
  font-size: calc((22 / 750) * 100vw);
  letter-spacing: -0.02em;
  line-height: 1.36;
  text-align: center;
  color: #fff;
  text-shadow: 0px 0px calc((20 / 750) * 100vw) rgba(0, 0, 0, 0.3);
  padding-top: calc((10 / 750) * 100vw);
}

#cts_header .cts_header_img_bg01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(26, 34, 25, 0.3);
  z-index: 0;
}

#cts_header .cts_header_img_bg02 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc((370 / 750) * 100vw);
  background: linear-gradient(rgba(26, 34, 25, 0) 0%, #000 100%);
  opacity: 0.4;
  z-index: 1;
}

@media only screen and (min-width: 760px) {
  #cts_header {
    background-image: url(../images/header_bg_01_pc.webp);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
  }

  #cts_header::after {
    width: calc(100% - (80 / 2400) * 100vw);
    height: calc(100% - (80 / 2400) * 100vw);
    backdrop-filter: blur(calc((10 / 2400) * 100vw));
    -webkit-backdrop-filter: blur(calc((10 / 2400) * 100vw));
  }

  #cts_header .cts_inner {
    padding: calc((40 / 2400) * 100vw) 0 0;
  }

  #cts_header .cts_header_top {
    position: relative;
  }

  #cts_header .cts_header_top_nav {
    position: absolute;
    width: 100%;
    height: calc((184 / 2400) * 100vw);
    top: 0;
  }

  #cts_header .cts_header_top_navTrigger {
    top: 50%;
    transform: translateY(-50%);
    right: calc((280 / 2400) * 100vw);
    width: calc((188 / 2400) * 100vw);
    height: calc((100 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_navTrigger.fixed {
    right: calc((250 / 2400) * 100vw);
    transform: translateY(0);
    height: calc((100 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_navTrigger_line {
    width: calc((40 / 2400) * 100vw);
    height: calc((24 / 2400) * 100vw);
    left: calc((30 / 2400) * 100vw);
    transform: translate(0, -50%);
  }

  #cts_header .cts_header_top_navTrigger span:nth-of-type(1) {
    width: calc((40 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_navTrigger span:nth-of-type(2) {
    width: calc((32 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_navTrigger span:nth-of-type(3) {
    width: calc((22 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_navTrigger.active span:nth-of-type(1) {
    transform: translateY(calc((11 / 2400) * 100vw)) rotate(-27deg);
    width: calc((40 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_navTrigger.active span:nth-of-type(3) {
    transform: translateY(calc((-11 / 2400) * 100vw)) rotate(27deg);
    width: calc((40 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_navTrigger p {
    display: block;
    font-family: "Cinzel", serif;
    font-weight: 500;
    font-size: calc((20 / 2400) * 100vw);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    line-height: 1;
    color: #85714d;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    right: calc((18 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_navTrigger.fixed p {
    color: #7d6e54;
  }

  #cts_header .cts_header_top_navTrigger.active p {
    color: #7d6e54;
  }

  #cts_header .cts_header_top_navCts_open.min {
    margin-top: calc((120 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_navCts .cts_inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: calc((140 / 2400) * 100vw) 0 calc((140 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_navCts .cts_inner.min {
    position: static;
    top: 0;
    left: 0;
    transform: translate(0, 0);
  }

  #cts_header .cts_header_top_navCts_open .cts_inner.min {
    margin-bottom: calc((60 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_navCts .cts_header_list01 {
    max-width: calc((1590 / 2400) * 100vw);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #cts_header .cts_header_top_navCts .cts_header_list01 .cts_header_item + .cts_header_item {
    margin-top: 0;
    margin-left: calc((92 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_navCts .cts_header_list01 .cts_header_item a > .line {
    width: calc((30 / 2400) * 100vw);
    height: 1px;
  }

  #cts_header .cts_header_top_navCts .cts_header_list01 .cts_header_item a > .ja {
    font-size: calc((40 / 2400) * 100vw);
    margin-left: calc((30 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_navCts .cts_header_list01 .cts_header_item a > .en {
    font-size: calc((26 / 2400) * 100vw);
    margin-left: calc((30 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_navCts .cts_header_list02 {
    max-width: calc((1460 / 2400) * 100vw);
    margin: calc((100 / 2400) * 100vw) auto 0;
  }

  #cts_header .cts_header_top_navCts .cts_header_list02::after {
    content: "";
    display: block;
    width: calc((316 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item {
    width: calc((316 / 2400) * 100vw);
    margin-top: calc((40 / 2400) * 100vw);
  }

  /* #cts_header
    .cts_header_top_navCts
    .cts_header_list02
    .cts_header_item:last-of-type {
    width: calc((696 / 2400) * 100vw);
  } */

  #cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item:nth-of-type(1),
  #cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item:nth-of-type(2),
  #cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item:nth-of-type(3),
  #cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item:nth-of-type(4) {
    margin-top: 0;
  }

  #cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item a {
    border-bottom: calc((2 / 2400) * 100vw) solid #d5ccbc;
    height: calc((90 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item a > p {
    font-size: calc((24 / 2400) * 100vw);
    /* line-height: 1.77; */
    line-height: 1.3;
  }

  #cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item a > img {
    width: calc((9 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_lang {
    width: calc((250 / 2400) * 100vw);
    height: calc((100 / 2400) * 100vw);
    top: 50%;
    transform: translateY(-50%);
    right: calc((30 / 2400) * 100vw);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  #cts_header .cts_header_top_lang.fixed {
    top: 0;
    right: 0;
    transform: translateY(0);
    height: calc((100 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_lang a {
    justify-content: space-between;
  }

  #cts_header .cts_header_top_lang img {
    width: calc((30 / 2400) * 100vw);
    margin-left: calc((30 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_lang.fixed img {
    padding-bottom: 0;
  }

  #cts_header .cts_header_top_lang p {
    display: block;
    font-family: "Cinzel", serif;
    font-weight: 500;
    font-size: calc((20 / 2400) * 100vw);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    line-height: 1;
    color: #85714d;
    padding-right: calc((30 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_lang.fixed p {
    color: #7d6e54;
  }

  #cts_header .cts_header_top_lang.active p {
    color: #7d6e54;
  }

  #cts_header .cts_header_top_langCts .cts_inner {
    padding: calc((220 / 2400) * 100vw) 0 calc((220 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_langCts .cts_header_list {
    max-width: calc((1590 / 2400) * 100vw);
    display: flex;
    justify-content: center;
  }

  #cts_header .cts_header_top_langCts .cts_header_item + .cts_header_item {
    margin-top: 0;
    margin-left: calc((100 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_langCts .cts_header_item a > .line {
    width: calc((30 / 2400) * 100vw);
    height: 1px;
  }

  #cts_header .cts_header_top_langCts .cts_header_item a > p {
    font-size: calc((40 / 2400) * 100vw);
    line-height: 1.65;
    margin-left: calc((30 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_logo {
    padding: calc((25 / 2400) * 100vw) 0;
  }

  #cts_header .cts_header_top_logo img {
    width: calc((270 / 2400) * 100vw);
  }

  #cts_header .cts_header_top_txts {
    height: calc((20 / 2400) * 100vw);
  }

  #cts_header .cts_header_img li {
    background-image: url(../images/header_img_01-01_pc.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
    height: calc((1050 / 2400) * 100vw);
  }

  #cts_header .cts_header_img li:nth-of-type(2) {
    background-image: url(../images/header_img_01-02_pc.jpg);
  }

  #cts_header .cts_header_img li:nth-of-type(3) {
    background-image: url(../images/header_img_01-03_pc.jpg);
  }

  #cts_header .cts_header_img_txts01 {
    /* top: calc((360 / 2400) * 100vw); */
    top: calc((430 / 2400) * 100vw);
  }

  #cts_header .cts_header_img_txts01_txt01 {
    font-size: calc((24 / 2400) * 100vw);
    padding-bottom: calc((10 / 2400) * 100vw);
    margin-bottom: calc((20 / 2400) * 100vw);
  }

  #cts_header .cts_header_img_txts01_txt01::after {
    bottom: 0;
    width: 100%;
  }

  #cts_header .cts_header_img_txts01_txt02,
  #cts_header .cts_header_img_txts01_txt03 {
    font-size: calc((37 / 2400) * 100vw);
    text-align: center;
    display: block;
    margin-right: 0;
  }

  #cts_header .cts_header_img_txts02 {
    bottom: calc((50 / 2400) * 100vw);
  }

  #cts_header .cts_header_img_txts02 img {
    width: calc((538 / 2400) * 100vw);
  }

  #cts_header .cts_header_img_txts02 p {
    font-size: calc((22 / 2400) * 100vw);
    line-height: 1.36;
    text-shadow: 0px 0px calc((20 / 2400) * 100vw) rgba(0, 0, 0, 0.3);
    padding-top: calc((10 / 2400) * 100vw);
  }

  #cts_header .cts_header_img_bg02 {
    height: calc((370 / 2400) * 100vw);
  }
}

@media only screen and (min-width: 760px) and (max-width: 1100px) {
  /* ======================================
  cts_header
  ====================================== */
  #cts_header .cts_header_top_navTrigger {
    right: calc((280 / 1700) * 100vw);
    width: calc((188 / 1700) * 100vw);
    height: calc((100 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navTrigger.fixed {
    right: calc((250 / 1700) * 100vw);
    height: calc((100 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navTrigger_line {
    width: calc((40 / 1700) * 100vw);
    height: calc((24 / 1700) * 100vw);
    left: calc((30 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navTrigger span:nth-of-type(1) {
    width: calc((40 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navTrigger span:nth-of-type(2) {
    width: calc((32 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navTrigger span:nth-of-type(3) {
    width: calc((22 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navTrigger.active span:nth-of-type(1) {
    transform: translateY(calc((11 / 1700) * 100vw)) rotate(-27deg);
    width: calc((40 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navTrigger.active span:nth-of-type(3) {
    transform: translateY(calc((-11 / 1700) * 100vw)) rotate(27deg);
    width: calc((40 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navTrigger p {
    font-size: calc((20 / 1700) * 100vw);
    right: calc((18 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navCts_open.min {
    margin-top: calc((120 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navCts .cts_inner {
    padding: calc((140 / 1700) * 100vw) 0 calc((140 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navCts_open .cts_inner.min {
    margin-bottom: calc((60 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navCts .cts_header_list01 {
    max-width: calc((1590 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navCts .cts_header_list01 .cts_header_item + .cts_header_item {
    margin-left: calc((92 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navCts .cts_header_list01 .cts_header_item a > .line {
    width: calc((30 / 1700) * 100vw);
    height: 1px;
  }

  #cts_header .cts_header_top_navCts .cts_header_list01 .cts_header_item a > .ja {
    font-size: calc((40 / 1700) * 100vw);
    margin-left: calc((30 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navCts .cts_header_list01 .cts_header_item a > .en {
    font-size: calc((26 / 1700) * 100vw);
    margin-left: calc((30 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navCts .cts_header_list02 {
    max-width: calc((1460 / 1700) * 100vw);
    margin: calc((100 / 1700) * 100vw) auto 0;
  }

  #cts_header .cts_header_top_navCts .cts_header_list02::after {
    width: calc((316 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item {
    width: calc((316 / 1700) * 100vw);
    margin-top: calc((40 / 1700) * 100vw);
  }

  /* #cts_header
    .cts_header_top_navCts
    .cts_header_list02
    .cts_header_item:last-of-type {
    width: calc((696 / 1700) * 100vw);
  } */

  #cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item a {
    border-bottom: calc((2 / 1700) * 100vw) solid #d5ccbc;
    height: calc((90 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item a > p {
    font-size: calc((24 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_navCts .cts_header_list02 .cts_header_item a > img {
    width: calc((9 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_lang {
    width: calc((250 / 1700) * 100vw);
    height: calc((100 / 1700) * 100vw);
    right: calc((30 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_lang.fixed {
    height: calc((100 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_lang img {
    width: calc((30 / 1700) * 100vw);
    margin-left: calc((30 / 1700) * 100vw);
  }

  #cts_header .cts_header_top_lang p {
    font-size: calc((20 / 1700) * 100vw);
    padding-right: calc((30 / 1700) * 100vw);
  }
}

/* ======================================
cts01
====================================== */
.cts01 .cts_decoration {
  position: absolute;
  overflow: hidden;
}

.cts01_decorationAnime {
  opacity: 0;
  overflow: hidden;
  display: inline-block;
}

.cts01_decorationAnimeInner {
  display: inline-block;
}

.cts01_decorationAnime.show {
  animation-name: cts01decorationAnimeShow;
  animation-duration: 1.8s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 0.8s;
}

@keyframes cts01decorationAnimeShow {
  from {
    transform: translateX(-100%);
    opacity: 0;
    filter: blur(10px);
  }

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

.cts01_decorationAnimeInner.showChild {
  animation-name: cts01decorationAnimeShowChild;
  animation-duration: 1.8s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 0.8s;
}

@keyframes cts01decorationAnimeShowChild {
  from {
    transform: translateX(100%);
    opacity: 0;
    filter: blur(10px);
  }

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

.cts01 .cts_ttl p {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: calc((54 / 750) * 100vw);
  letter-spacing: 0.08em;
  line-height: 1.74;
  color: #efe8cf;
}

.cts01 .cts_txts .cts_txts_01 {
  padding-top: calc((40 / 750) * 100vw);
}

.cts01 .cts_txts .cts_txts_01 .ja {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  font-size: calc((28 / 750) * 100vw);
  letter-spacing: 0.1em;
  line-height: calc((40 / 750) * 100vw);
  color: #efe8cf;
  padding-right: calc((20 / 750) * 100vw);
  position: relative;
}

.cts01 .cts_txts .cts_txts_01 .ja::after {
  content: "";
  background-color: #efe8cf;
  width: calc((2 / 750) * 100vw);
  height: calc((30 / 750) * 100vw);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.cts01 .cts_txts .cts_txts_01 .en {
  font-family: "Cinzel", serif;
  font-weight: 500;
  font-size: calc((28 / 750) * 100vw);
  letter-spacing: 0.1em;
  line-height: calc((40 / 750) * 100vw);
  color: #efe8cf;
  padding-left: calc((20 / 750) * 100vw);
}

.cts01 .cts_txts .cts_txts_02 {
  color: #fff;
  padding-top: calc((5 / 750) * 100vw);
}

.cts01 .cts_txts .cts_txts_03 {
  color: #fff;
}

.cts01 .cts_imgs01 {
  padding-top: calc((50 / 750) * 100vw);
  width: calc((670 / 750) * 100vw);
  margin: 0 auto 0 0;
  position: relative;
  z-index: 0;
}

.cts01 .cts_imgs01::after {
  content: "";
  background-color: #d8d3c3;
  width: calc((570 / 750) * 100vw);
  height: calc((360 / 750) * 100vw);
  position: absolute;
  left: 0;
  bottom: calc((-30 / 750) * 100vw);
  z-index: -1;
}

.cts01 .cts_imgs02 {
  padding-top: calc((50 / 750) * 100vw);
  width: calc((670 / 750) * 100vw);
  margin: 0 0 0 auto;
  position: relative;
  z-index: 0;
}

.cts01 .cts_imgs02::after {
  content: "";
  background-color: #d8d3c3;
  width: calc((570 / 750) * 100vw);
  height: calc((369 / 750) * 100vw);
  position: absolute;
  right: 0;
  bottom: calc((-30 / 750) * 100vw);
  z-index: -1;
}

.cts01 .cts_imgs03 {
  padding-top: calc((80 / 750) * 100vw);
  width: calc((400 / 750) * 100vw);
  margin: 0 calc((80 / 750) * 100vw) 0 auto;
}

@media only screen and (min-width: 760px) {
  .cts01 .cts_ttl p {
    font-size: calc((54 / 2400) * 100vw);
    line-height: 1.74;
  }

  .cts01 .cts_txts .cts_txts_01 {
    padding-top: calc((50 / 2400) * 100vw);
  }

  .cts01 .cts_txts .cts_txts_01 .ja {
    font-size: calc((28 / 2400) * 100vw);
    line-height: calc((40 / 2400) * 100vw);
    padding-right: calc((20 / 2400) * 100vw);
  }

  .cts01 .cts_txts .cts_txts_01 .ja::after {
    width: calc((2 / 2400) * 100vw);
    height: calc((30 / 2400) * 100vw);
  }

  .cts01 .cts_txts .cts_txts_01 .en {
    font-size: calc((28 / 2400) * 100vw);
    line-height: calc((40 / 2400) * 100vw);
    padding-left: calc((20 / 2400) * 100vw);
  }

  .cts01 .cts_txts .cts_txts_02 {
    padding-top: calc((20 / 2400) * 100vw);
  }

  .cts01 .cts_imgs01 {
    padding-top: 0;
    width: calc((1240 / 2400) * 100vw);
    margin: 0 0 0 calc((120 / 2400) * 100vw);
  }

  .cts01 .cts_imgs01::after {
    width: calc((1200 / 2400) * 100vw);
    height: calc((400 / 2400) * 100vw);
    bottom: calc((-30 / 2400) * 100vw);
    left: calc((-120 / 2400) * 100vw);
  }

  .cts01 .cts_imgs02 {
    padding-top: 0;
    width: calc((940 / 2400) * 100vw);
    margin: 0 calc((320 / 2400) * 100vw) 0 0;
  }

  .cts01 .cts_imgs02::after {
    width: calc((990 / 2400) * 100vw);
    height: calc((400 / 2400) * 100vw);
    bottom: calc((-60 / 2400) * 100vw);
    right: calc((-320 / 2400) * 100vw);
  }

  .cts01 .cts_imgs03 {
    padding-top: calc((20 / 2400) * 100vw);
    width: calc((550 / 2400) * 100vw);
    margin: 0 calc((200 / 2400) * 100vw) 0 auto;
  }
}

/* ----------------
loacaton
---------------- */
#loacaton {
  padding-top: calc((170 / 750) * 100vw);
  position: relative;
}

#loacaton .loacaton_decoration {
  top: calc((45 / 750) * 100vw);
  right: 0;
  width: calc((230 / 750) * 100vw);
}

#loacaton .loacaton_txts {
  max-width: calc((590 / 750) * 100vw);
  margin: 0 auto;
}

@media only screen and (min-width: 760px) {
  #loacaton {
    padding-top: calc((180 / 2400) * 100vw);
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
  }

  #loacaton .loacaton_decoration {
    top: calc((210 / 2400) * 100vw);
    right: calc((200 / 2400) * 100vw);
    width: calc((238 / 2400) * 100vw);
  }

  #loacaton .loacaton_txts {
    max-width: calc((640 / 2400) * 100vw);
    margin: 0 auto 0 calc((100 / 2400) * 100vw);
    padding-top: calc((130 / 2400) * 100vw);
  }
}

/* ----------------
hospitality
---------------- */
#hospitality {
  padding-top: calc((180 / 750) * 100vw);
  padding-bottom: calc((90 / 750) * 100vw);
  position: relative;
}

#hospitality .hospitality_decoration {
  top: calc((145 / 750) * 100vw);
  left: 0;
  width: calc((226 / 750) * 100vw);
}

#hospitality .hospitality_txts {
  max-width: calc((590 / 750) * 100vw);
  margin: 0 auto;
}

#hospitality .hospitality_txts .cts_ttl {
  text-align: right;
}

#hospitality .hospitality_txts .cts_txts_01 {
  text-align: right;
}

#hospitality .hospitality_txts .cts_txts_03 {
  padding-top: calc((50 / 750) * 100vw);
}

@media only screen and (min-width: 760px) {
  #hospitality {
    min-height: calc((1220 / 2400) * 100vw);
    padding-top: calc((180 / 2400) * 100vw);
    padding-bottom: calc((370 / 2400) * 100vw);
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
  }

  #hospitality .hospitality_decoration {
    top: calc((275 / 2400) * 100vw);
    left: calc((300 / 2400) * 100vw);
    width: calc((210 / 2400) * 100vw);
  }

  #hospitality .hospitality_txts {
    max-width: calc((640 / 2400) * 100vw);
    margin: 0 auto 0 calc((300 / 2400) * 100vw);
    padding-top: calc((190 / 2400) * 100vw);
  }

  #hospitality .hospitality_txts .cts_txts_03 {
    padding-top: calc((15 / 2400) * 100vw);
  }

  #hospitality .hospitality_imgs03 {
    z-index: 0;
    position: absolute;
    top: calc((785 / 2400) * 100vw);
    right: 0;
  }
}

/* ======================================
cts02
====================================== */
.cts02 .cts02_note {
  padding-top: calc((20 / 750) * 100vw);
  padding-left: calc((20 / 750) * 100vw);
  position: relative;
  font-size: calc((20 / 750) * 100vw);
  line-height: 1.5;
  color: #85714d;
  max-width: calc((670 / 750) * 100vw);
  margin: 0 auto;
}

.cts02 .cts02_note span {
  position: absolute;
  left: 0;
}

.cts02 .cts_decoration_wrap {
  position: absolute;
  top: calc((200 / 750) * 100vw);
  width: 100%;
  height: calc((72 / 750) * 100vw);
}

.cts02 .cts_decoration {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.cts02 .cts_decoration {
  position: absolute;
  overflow: hidden;
}

.cts02 .cts_decoration img {
  width: calc((216 / 750) * 100vw);
}

.cts02_decorationAnime {
  opacity: 0;

  overflow: hidden;
  display: inline-block;
}

.cts02_decorationAnimeInner {
  display: inline-block;
}

.cts02_decorationAnime.show {
  animation-name: cts02decorationAnimeShow;
  animation-duration: 1.2s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 0.8s;
}

@keyframes cts02decorationAnimeShow {
  from {
    transform: translateX(-100%);
    opacity: 0;
    filter: blur(10px);
  }

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

.cts02_decorationAnimeInner.showChild {
  animation-name: cts02decorationAnimeShowChild;
  animation-duration: 1.2s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 0.8s;
}

@keyframes cts02decorationAnimeShowChild {
  from {
    transform: translateX(100%);
    opacity: 0;
    filter: blur(10px);
  }

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

.cts02 .cts_decoration_wrap .cts02_decorationLine {
  content: "";
  background-color: #e0dedc;
  width: calc((160 / 750) * 100vw);
  height: 2px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
}

.cts02 .cts_decoration_wrap .cts02_decorationLine.show {
  animation: cts02_decorationAnimeLine 1s linear forwards;
}

.cts02 .cts_decoration_wrap .cts02_decorationLine:nth-of-type(1) {
  left: 0;
}

.cts02 .cts_decoration_wrap .cts02_decorationLine:nth-of-type(2) {
  right: 0;
}

@keyframes cts02_decorationAnimeLine {
  0% {
    width: 0%;
    opacity: 0;
  }

  100% {
    width: calc((160 / 750) * 100vw);
    opacity: 1;
  }
}

.cts02 .cts_ttl p.ja {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  line-height: 2.75;
  text-align: center;
  color: #85714d;
}

.cts02 .cts_ttl p.en {
  font-family: "Cinzel", serif;
  font-weight: 400;
  font-size: calc((64 / 750) * 100vw);
  letter-spacing: 0.18em;
  line-height: 1.28;
  text-align: center;
  color: #60715f;
}

.cts02 .cts_lead p {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: calc((34 / 750) * 100vw);
  letter-spacing: 0.04em;
  line-height: 1.82;
  text-align: center;
  color: #85714d;
  padding-top: calc((50 / 750) * 100vw);
}

.cts02 .cts_more {
  margin-top: calc((80 / 750) * 100vw);
  text-align: center;
}

.cts02 .cts_more a {
  width: calc((300 / 750) * 100vw);
  margin: 0 auto;
  border-top: calc((2 / 750) * 100vw) solid #ac9771;
  border-bottom: calc((2 / 750) * 100vw) solid #ac9771;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.cts02 .cts_more a > p {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  font-size: calc((40 / 750) * 100vw);
  line-height: 1;
  text-align: center;
  color: #85714d;
  padding: calc((25 / 750) * 100vw) 0 calc((40 / 750) * 100vw);
}

.cts02 .cts_more a > img {
  width: calc((11 / 750) * 100vw);
  margin-left: calc((80 / 750) * 100vw);
  position: absolute;
  right: calc((10 / 750) * 100vw);
}

@media only screen and (min-width: 760px) {
  .cts02 .cts02_note {
    padding-top: calc((25 / 2400) * 100vw);
    padding-left: calc((20 / 2400) * 100vw);
    font-size: calc((18 / 2400) * 100vw);
    line-height: 1.5;
    max-width: calc((1800 / 2400) * 100vw);
  }

  .cts02 .cts_decoration_wrap {
    top: calc((200 / 2400) * 100vw);
    height: calc((52 / 2400) * 100vw);
  }

  .cts02 .cts_decoration img {
    width: calc((155 / 2400) * 100vw);
  }

  .cts02 .cts_decoration_wrap .cts02_decorationLine {
    width: calc((500 / 2400) * 100vw);
    height: 2px;
  }

  @keyframes cts02_decorationAnimeLine {
    0% {
      width: 0%;
      opacity: 0;
    }

    100% {
      width: calc((500 / 2400) * 100vw);
      opacity: 1;
    }
  }

  .cts02 .cts_ttl p.ja {
    font-size: calc((24 / 2400) * 100vw);
    line-height: 2.75;
  }

  .cts02 .cts_ttl p.en {
    font-size: calc((64 / 2400) * 100vw);
    line-height: 1.28;
  }

  .cts02 .cts_lead p {
    font-size: calc((34 / 2400) * 100vw);
    line-height: 1.82;
    padding-top: calc((50 / 2400) * 100vw);
  }

  .cts02 .cts_more {
    margin-top: calc((100 / 2400) * 100vw);
  }

  .cts02 .cts_more a {
    width: calc((260 / 2400) * 100vw);
    border-top: calc((2 / 2400) * 100vw) solid #ac9771;
    border-bottom: calc((2 / 2400) * 100vw) solid #ac9771;
  }

  .cts02 .cts_more a > p {
    font-size: calc((36 / 2400) * 100vw);
    padding: calc((20 / 2400) * 100vw) 0 calc((30 / 2400) * 100vw);
  }

  .cts02 .cts_more a > img {
    width: calc((9 / 2400) * 100vw);
    margin-left: calc((70 / 2400) * 100vw);
    right: calc((10 / 2400) * 100vw);
  }
}

/* ----------------
experience
---------------- */
#experience {
  padding-top: calc((340 / 750) * 100vw);
  position: relative;
}

#experience .experience_imgs01 {
  padding-top: calc((60 / 750) * 100vw);
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 0;
}

#experience .experience_imgs01::after {
  content: "";
  background-color: #60715f;
  width: calc((670 / 750) * 100vw);
  height: calc((410 / 750) * 100vw);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc((-30 / 750) * 100vw);
  z-index: -1;
}

#experience .experience_list_ttl {
  border-top: 1px solid #ac9771;
  border-bottom: 1px solid #ac9771;
  max-width: calc((670 / 750) * 100vw);
  margin: calc((120 / 750) * 100vw) auto 0;
  padding-top: calc((30 / 750) * 100vw);
  padding-bottom: calc((30 / 750) * 100vw);
}

#experience .experience_list_ttl p {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: calc((30 / 750) * 100vw);
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: center;
  color: #85714d;
}

#experience .experience_list_txts {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: calc((24 / 750) * 100vw);
  line-height: 1.6;
  text-align: center;
  color: #85714d;
  padding-top: calc((40 / 750) * 100vw);
}

#experience .experience_list_note {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: calc((20 / 750) * 100vw);
  line-height: 1.6;
  text-align: center;
  color: #85714d;
  padding-top: calc((20 / 750) * 100vw);
}

#experience .experience_list {
  padding-top: calc((40 / 750) * 100vw);
  max-width: calc((670 / 750) * 100vw);
  margin: 0 auto;
}

#experience .experience_item {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#experience .experience_item + .experience_item {
  border-top: solid calc((2 / 750) * 100vw) #e0dedc;
  padding-top: calc((40 / 750) * 100vw);
  margin-top: calc((40 / 750) * 100vw);
}

#experience .experience_item_imgs02 {
  width: calc((290 / 750) * 100vw);
}

#experience .experience_item_txts01 {
  width: calc((345 / 750) * 100vw);
}

#experience .experience_item_txts01 p {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: calc((24 / 750) * 100vw);
  line-height: 1.62;
  color: #85714d;
  white-space: nowrap;
  /* font-feature-settings: "palt"; */
}

#experience .experience_item_txts01 p span {
  color: #535353;
}

#experience .experience_item_txts01 p.note {
  font-family: "Noto Sans JP";
  font-weight: normal;
  font-size: calc((20 / 750) * 100vw);
  line-height: 1.5;
  color: #535353;
  padding-top: calc((10 / 750) * 100vw);
  padding-left: calc((25 / 750) * 100vw);
  position: relative;
  white-space: inherit;
}

#experience .experience_item_txts01 p.note span {
  position: absolute;
  left: 0;
}

#experience .experience_column_bg {
  background-color: #60715f;
  margin: calc((80 / 750) * 100vw) auto 0;
  padding: calc((100 / 750) * 100vw) 0;
}

#experience .experience_column {
  margin: 0 auto;
  max-width: calc((662 / 750) * 100vw);
  background: #f8f7f2;
  padding: calc((120 / 750) * 100vw) calc((60 / 750) * 100vw) calc((90 / 750) * 100vw);
  position: relative;
}

#experience .experience_column > span {
  content: "";
  background-image: url(../images/cts02_deco_02.svg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  width: calc((28 / 750) * 100vw);
  height: calc((28 / 750) * 100vw);
  position: absolute;
}

#experience .experience_column > span:nth-of-type(1) {
  top: calc((10 / 750) * 100vw);
  left: calc((10 / 750) * 100vw);
}

#experience .experience_column > span:nth-of-type(2) {
  top: calc((10 / 750) * 100vw);
  right: calc((10 / 750) * 100vw);
  transform: rotate(90deg);
}

#experience .experience_column > span:nth-of-type(3) {
  bottom: calc((10 / 750) * 100vw);
  left: calc((10 / 750) * 100vw);
  transform: rotate(-90deg);
}

#experience .experience_column > span:nth-of-type(4) {
  bottom: calc((10 / 750) * 100vw);
  right: calc((10 / 750) * 100vw);
  transform: rotate(180deg);
}

#experience .experience_column_decoration {
  position: absolute;
  top: calc((40 / 750) * 100vw);
  width: calc((143 / 750) * 100vw);
}

#experience .experience_column_ttl p {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: calc((44 / 750) * 100vw);
  letter-spacing: 0.04em;
  line-height: 1.59;
  text-align: center;
  color: #60715f;
}

#experience .experience_column_list {
  margin-top: calc((40 / 750) * 100vw);
}

#experience .experience_column_item + .experience_column_item {
  margin-top: calc((40 / 750) * 100vw);
}

#experience .experience_column_item p:nth-of-type(1) {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: calc((34 / 750) * 100vw);
  line-height: 1.47;
  text-align: center;
  color: #60715f;
}

#experience .experience_column_item p:nth-of-type(2) {
  line-height: 1.5;
  text-align: center;
  color: #535353;
  padding-top: calc((10 / 750) * 100vw);
}

#experience .experience_column_item p:nth-of-type(3) {
  font-size: calc((20 / 750) * 100vw);
  line-height: 1.5;
  color: #535353;
  padding-top: calc((20 / 750) * 100vw);
  text-align: left;
}

#experience .experience_column_item p:nth-of-type(3) a {
  display: inline-block;
  text-decoration: underline;
  color: #535353;
}

#experience .experience_column_item img {
  padding-top: calc((20 / 750) * 100vw);
}

#experience .experience_column_note {
  padding-top: calc((30 / 750) * 100vw);
  padding-left: calc((25 / 750) * 100vw);
  position: relative;
  font-size: calc((20 / 750) * 100vw);
  line-height: 1.5;
  color: #535353;
}

#experience .experience_column_note span {
  position: absolute;
  left: 0;
}

@media only screen and (min-width: 760px) {
  #experience {
    padding-top: calc((300 / 2400) * 100vw);
  }

  #experience .experience_imgs01 {
    padding-top: calc((70 / 2400) * 100vw);
    width: calc((1135 / 2400) * 100vw);
  }

  #experience .experience_imgs01::after {
    width: calc((1054 / 2400) * 100vw);
    height: calc((800 / 2400) * 100vw);
    left: 50%;
    transform: translateX(-50%);
    bottom: calc((-40 / 2400) * 100vw);
  }

  #experience .experience_list_ttl {
    border-top: 1px solid #ac9771;
    border-bottom: 1px solid #ac9771;
    max-width: calc((1460 / 2400) * 100vw);
    margin: calc((140 / 2400) * 100vw) auto 0;
    padding-top: calc((30 / 2400) * 100vw);
    padding-bottom: calc((30 / 2400) * 100vw);
  }

  #experience .experience_list_ttl p {
    font-size: calc((30 / 2400) * 100vw);
  }

  #experience .experience_list_txts {
    font-size: calc((26 / 2400) * 100vw);
    padding-top: calc((40 / 2400) * 100vw);
  }

  #experience .experience_list_note {
    font-size: calc((18 / 2400) * 100vw);
    padding-top: calc((15 / 2400) * 100vw);
  }

  #experience .experience_list {
    padding-top: calc((50 / 2400) * 100vw);
    max-width: calc((1460 / 2400) * 100vw);
    display: flex;
    justify-content: center;
  }

  #experience .experience_item {
    display: block;
    /* width: calc((443 / 2400) * 100vw); */
    width: calc((487 / 2400) * 100vw);
    padding: 0 calc((44 / 2400) * 100vw);
  }

  #experience .experience_item + .experience_item {
    border-top: none;
    border-left: solid calc((2 / 2400) * 100vw) #e0dedc;
    padding-top: 0;
    margin-top: 0;
  }

  #experience .experience_item_imgs02 {
    width: 100%;
    height: auto;
    text-align: center;
  }

  #experience .experience_item_imgs02 img {
    width: calc((390 / 2400) * 100vw);
    height: calc((250 / 2400) * 100vw);
    object-fit: cover;
    object-position: center;
  }

  #experience .experience_item_txts01 {
    width: 100%;
    padding-top: calc((35 / 2400) * 100vw);
  }

  #experience .experience_item_txts01 p {
    font-size: calc((26 / 2400) * 100vw);
    line-height: 1.62;
    text-align: center;
  }

  #experience .experience_item_txts01 p.note {
    font-size: calc((18 / 2400) * 100vw);
    padding-top: calc((10 / 2400) * 100vw);
    padding-left: 0;
  }

  #experience .experience_item_txts01 p.note span {
    position: static;
  }

  #experience .experience_column_bg {
    margin: calc((80 / 2400) * 100vw) auto 0;
    padding: calc((80 / 2400) * 100vw) 0;
  }

  #experience .experience_column {
    max-width: calc((2000 / 2400) * 100vw);
    padding: calc((120 / 2400) * 100vw) calc((360 / 2400) * 100vw) calc((70 / 2400) * 100vw);
  }

  #experience .experience_column > span {
    width: calc((30 / 2400) * 100vw);
    height: calc((30 / 2400) * 100vw);
  }

  #experience .experience_column > span:nth-of-type(1) {
    top: calc((16 / 2400) * 100vw);
    left: calc((16 / 2400) * 100vw);
  }

  #experience .experience_column > span:nth-of-type(2) {
    top: calc((16 / 2400) * 100vw);
    right: calc((16 / 2400) * 100vw);
  }

  #experience .experience_column > span:nth-of-type(3) {
    bottom: calc((16 / 2400) * 100vw);
    left: calc((16 / 2400) * 100vw);
  }

  #experience .experience_column > span:nth-of-type(4) {
    bottom: calc((16 / 2400) * 100vw);
    right: calc((16 / 2400) * 100vw);
  }

  #experience .experience_column_decoration {
    top: calc((50 / 2400) * 100vw);
    width: calc((112 / 2400) * 100vw);
  }

  #experience .experience_column_ttl p {
    font-size: calc((42 / 2400) * 100vw);
  }

  #experience .experience_column_list {
    margin-top: calc((40 / 2400) * 100vw);
    display: flex;
    justify-content: center;
  }

  #experience .experience_column_item {
    width: calc((540 / 2400) * 100vw);

    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  #experience .experience_column_item + .experience_column_item {
    margin-top: 0;
    margin-left: calc((60 / 2400) * 100vw);
  }

  #experience .experience_column_item p:nth-of-type(1) {
    font-size: calc((34 / 2400) * 100vw);
    line-height: 1.3;
  }

  #experience .experience_column_item p:nth-of-type(2) {
    line-height: 1.5;
    padding-top: calc((10 / 2400) * 100vw);
  }

  #experience .experience_column_item p:nth-of-type(3) {
    font-size: calc((18 / 2400) * 100vw);
    line-height: 1.5;
    padding-top: calc((15 / 2400) * 100vw);
    white-space: nowrap;
    text-align: center;
  }

  #experience .experience_column_item img {
    padding-top: calc((20 / 2400) * 100vw);
  }

  #experience .experience_column_note {
    padding-top: calc((30 / 2400) * 100vw);
    padding-left: 0;
    font-size: calc((18 / 2400) * 100vw);
    line-height: 1.5;
    text-align: center;
  }

  #experience .experience_column_note span {
    position: static;
  }
}

@media only screen and (min-width: 760px) and (max-width: 1000px) {
  #experience .experience_list_ttl {
    max-width: calc((1460 / 2000) * 100vw);
  }

  #experience .experience_list {
    max-width: calc((1460 / 2000) * 100vw);
  }

  #experience .experience_item {
    width: 33.3333%;
  }
}

/* ----------------
guestRoom
---------------- */
#guestRoom {
  padding-top: calc((340 / 750) * 100vw);
  position: relative;
}

#guestRoom .cts_txts01 p {
  padding-top: calc((50 / 750) * 100vw);
  max-width: calc((590 / 750) * 100vw);
  margin: 0 auto;
}

#guestRoom .guestRoom_imgs01 {
  padding-top: calc((60 / 750) * 100vw);
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 0;
}

#guestRoom .guestRoom_imgs01::after {
  content: "";
  background-color: #60715f;
  width: calc((670 / 750) * 100vw);
  height: calc((410 / 750) * 100vw);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc((-30 / 750) * 100vw);
  z-index: -1;
}

#guestRoom .guestRoom_imgs02 {
  padding-top: calc((40 / 750) * 100vw);
  max-width: calc((500 / 750) * 100vw);
  margin: 0 0 0 auto;
  position: relative;
  z-index: 0;
}

#guestRoom .cts_txts02 p {
  padding-top: calc((50 / 750) * 100vw);
  max-width: calc((590 / 750) * 100vw);
  margin: 0 auto;
}

#guestRoom .guestRoom_imgs03 {
  padding-top: calc((70 / 750) * 100vw);
  max-width: calc((535 / 750) * 100vw);
  margin: 0 0 0 auto;
}

#guestRoom .guestRoom_imgs04 {
  max-width: calc((370 / 750) * 100vw);
  margin: calc((-50 / 750) * 100vw) auto 0 0;
}

#guestRoom .guestRoom_imgs05 {
  max-width: calc((670 / 750) * 100vw);
  margin: calc((40 / 750) * 100vw) 0 0 auto;
}

@media only screen and (min-width: 760px) {
  #guestRoom {
    padding-top: calc((300 / 2400) * 100vw);
  }

  #guestRoom .cts_txts01 p {
    padding-top: calc((70 / 2400) * 100vw);
    max-width: 100%;
    text-align: center;
  }

  #guestRoom .guestRoom_imgs01 {
    padding-top: calc((90 / 2400) * 100vw);
    width: calc((1135 / 2400) * 100vw);
    margin: 0 auto;
  }

  #guestRoom .guestRoom_imgs01::after {
    width: calc((1054 / 2400) * 100vw);
    height: calc((677 / 2400) * 100vw);
    left: 50%;
    transform: translateX(-50%);
    bottom: calc((-40 / 2400) * 100vw);
  }

  #guestRoom .guestRoom_imgs02 {
    padding-top: calc((405 / 2400) * 100vw);
    max-width: calc((600 / 2400) * 100vw);
    margin: 0 calc((400 / 2400) * 100vw) 0 auto;
  }

  #guestRoom .cts_txts02 p {
    padding-top: calc((120 / 2400) * 100vw);
    max-width: 100%;
    text-align: center;
  }

  #guestRoom .guestRoom_imgs03 {
    padding-top: calc((70 / 2400) * 100vw);
    max-width: calc((1000 / 2400) * 100vw);
    margin: 0 auto 0 calc((300 / 2400) * 100vw);
  }

  #guestRoom .guestRoom_imgs04 {
    padding-top: 0;
    max-width: calc((755 / 2400) * 100vw);
    margin: calc((-265 / 2400) * 100vw) calc((300 / 2400) * 100vw) 0 auto;
  }

  #guestRoom .guestRoom_imgs05 {
    max-width: calc((430 / 2400) * 100vw);
    margin: calc((-150 / 2400) * 100vw) calc((985 / 2400) * 100vw) 0 auto;
  }
}

/* ----------------
restaurant
---------------- */
#restaurant {
  padding-top: calc((340 / 750) * 100vw);
  padding-bottom: calc((200 / 750) * 100vw);
  position: relative;
}

#restaurant .restaurant_imgs01 {
  padding-top: calc((60 / 750) * 100vw);
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 0;
}

#restaurant .restaurant_imgs01::after {
  content: "";
  background-color: #60715f;
  width: calc((670 / 750) * 100vw);
  height: calc((410 / 750) * 100vw);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc((-30 / 750) * 100vw);
  z-index: -1;
}

#restaurant .cts_txts01 p {
  padding-top: calc((110 / 750) * 100vw);
  max-width: calc((590 / 750) * 100vw);
  margin: 0 auto;
}

#restaurant .restaurant_imgs02 {
  padding-top: calc((70 / 750) * 100vw);
  max-width: calc((525 / 750) * 100vw);
  margin: 0 0 0 auto;
}

#restaurant .restaurant_imgs03 {
  max-width: calc((395 / 750) * 100vw);
  margin: calc((-40 / 750) * 100vw) auto 0 0;
}

#restaurant .restaurant_imgs04 {
  max-width: calc((670 / 750) * 100vw);
  padding-top: calc((40 / 750) * 100vw);
  margin: 0 0 0 auto;
}

@media only screen and (min-width: 760px) {
  #restaurant {
    padding-top: calc((350 / 2400) * 100vw);
    padding-bottom: calc((200 / 2400) * 100vw);
  }

  #restaurant .restaurant_imgs01 {
    padding-top: calc((70 / 2400) * 100vw);
    width: calc((1135 / 2400) * 100vw);
  }

  #restaurant .restaurant_imgs01::after {
    width: calc((1054 / 2400) * 100vw);
    height: calc((677 / 2400) * 100vw);
    left: 50%;
    transform: translateX(-50%);
    bottom: calc((-40 / 2400) * 100vw);
  }

  #restaurant .cts_txts01 p {
    padding-top: calc((110 / 2400) * 100vw);
    max-width: 100%;
    text-align: center;
  }

  #restaurant .restaurant_imgs02 {
    padding-top: calc((70 / 2400) * 100vw);
    max-width: calc((1000 / 2400) * 100vw);
    margin: 0 auto 0 calc((300 / 2400) * 100vw);
  }

  #restaurant .restaurant_imgs03 {
    padding-top: 0;
    max-width: calc((755 / 2400) * 100vw);
    margin: calc((-270 / 2400) * 100vw) calc((300 / 2400) * 100vw) 0 auto;
  }

  #restaurant .restaurant_imgs04 {
    padding-top: calc((70 / 2400) * 100vw);
    max-width: calc((430 / 2400) * 100vw);
    margin: calc((-150 / 2400) * 100vw) auto 0 calc((980 / 2400) * 100vw);
  }
}

/* ======================================
cts_footer
====================================== */
#cts_footer {
  padding-top: calc((70 / 750) * 100vw);
  padding-bottom: calc((100 / 750) * 100vw);
  background: #f8f7f2;
}

#cts_footer .cts_footer_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: calc((670 / 750) * 100vw);
  margin: 0 auto;
}

#cts_footer .cts_footer_item {
  width: calc((316 / 750) * 100vw);
  margin-top: calc((20 / 750) * 100vw);
}

#cts_footer .cts_footer_item:nth-of-type(1),
#cts_footer .cts_footer_item:nth-of-type(2) {
  margin-top: 0;
}

#cts_footer .cts_footer_item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: calc((2 / 750) * 100vw) solid #d5ccbc;
  height: calc((90 / 750) * 100vw);
}

#cts_footer .cts_footer_item a > p {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: calc((26 / 750) * 100vw);
  line-height: 1.77;
  color: #85714d;
}

#cts_footer .cts_footer_item a > img {
  width: calc((11 / 750) * 100vw);
}

#cts_footer .cts_footer_column {
  margin: calc((100 / 750) * 100vw) auto 0;
}

#cts_footer .cts_footer_column_ttl p {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: calc((34 / 750) * 100vw);
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-align: center;
  color: #85714d;
}

#cts_footer .cts_footer_column_wrap {
  width: calc((670 / 750) * 100vw);
  margin: 0 auto;
  position: relative;
  padding-bottom: calc((50 / 750) * 100vw);
  margin-top: calc((30 / 750) * 100vw);
}

#cts_footer .cts_footer_column_bg01 {
  width: calc((670 / 750) * 100vw);
  position: absolute;
  top: calc((35 / 750) * 100vw);
}

#cts_footer .cts_footer_column_img01 {
  width: calc((520 / 750) * 100vw);
  position: relative;
  z-index: 0;
  margin: 0 auto;
}

#cts_footer .cts_footer_column_img01::after {
  content: "";
  background-color: #f8f7f2;
  width: calc((520 / 750) * 100vw);
  height: calc((260 / 750) * 100vw);
  position: absolute;
  left: calc((10 / 750) * 100vw);
  bottom: calc((-10 / 750) * 100vw);
  z-index: -1;
}

#cts_footer .cts_footer_column_txts01 {
  position: relative;
  z-index: 0;
  padding-top: calc((30 / 750) * 100vw);
}

#cts_footer .cts_footer_column_txts01 p {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
  font-size: calc((28 / 750) * 100vw);
  letter-spacing: 0.04em;
  line-height: 1.57;
  text-align: center;
  color: #85714d;
}

#cts_footer .cts_footer_column_link {
  position: relative;
  z-index: 0;
  width: calc((590 / 750) * 100vw);
  height: calc((70 / 750) * 100vw);
  background: #be99c1;
  margin: calc((30 / 750) * 100vw) auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

#cts_footer .cts_footer_column_link > p {
  font-weight: 500;
  font-size: calc((24 / 750) * 100vw);
  letter-spacing: 0.04em;
  line-height: 1;
  text-align: center;
  color: #fff;
}

#cts_footer .cts_footer_column_link > img {
  width: calc((9 / 750) * 100vw);
  margin-left: calc((25 / 750) * 100vw);
}

@media only screen and (min-width: 760px) {
  #cts_footer {
    padding-top: calc((120 / 2400) * 100vw);
    padding-bottom: calc((150 / 2400) * 100vw);
  }

  #cts_footer .cts_footer_list {
    max-width: calc((1460 / 2400) * 100vw);
  }

  #cts_footer .cts_footer_list::before {
    content: "";
    display: block;
    width: calc((316 / 2400) * 100vw);
    order: 1;
  }

  #cts_footer .cts_footer_list::after {
    content: "";
    display: block;
    width: calc((316 / 2400) * 100vw);
  }

  #cts_footer .cts_footer_item {
    width: calc((316 / 2400) * 100vw);
    margin-top: calc((40 / 2400) * 100vw);
  }

  #cts_footer .cts_footer_item:nth-of-type(1),
  #cts_footer .cts_footer_item:nth-of-type(2),
  #cts_footer .cts_footer_item:nth-of-type(3),
  #cts_footer .cts_footer_item:nth-of-type(4) {
    margin-top: 0;
  }

  #cts_footer .cts_footer_item a {
    border-bottom: calc((2 / 2400) * 100vw) solid #d5ccbc;
    height: calc((90 / 2400) * 100vw);
  }

  #cts_footer .cts_footer_item a > p {
    font-size: calc((24 / 2400) * 100vw);
    line-height: 1.77;
  }

  #cts_footer .cts_footer_item a > img {
    width: calc((9 / 2400) * 100vw);
  }

  #cts_footer .cts_footer_column {
    margin: calc((100 / 2400) * 100vw) auto 0;
  }

  #cts_footer .cts_footer_column_ttl p {
    font-size: calc((34 / 2400) * 100vw);
    line-height: 1.4;
  }

  #cts_footer .cts_footer_column_wrap {
    margin-top: calc((30 / 2400) * 100vw);
    width: calc((1460 / 2400) * 100vw);
    padding-top: calc((40 / 2400) * 100vw);
    padding-bottom: calc((40 / 2400) * 100vw);
    display: flex;
    align-items: center;
  }

  #cts_footer .cts_footer_column_bg01 {
    width: calc((1410 / 2400) * 100vw);
    top: 0;
    right: 0;
  }

  #cts_footer .cts_footer_column_img01 {
    width: calc((710 / 2400) * 100vw);
    margin-left: 0;
  }

  #cts_footer .cts_footer_column_img01::after {
    width: calc((700 / 2400) * 100vw);
    height: calc((360 / 2400) * 100vw);
    left: calc((24 / 2400) * 100vw);
    bottom: calc((-14 / 2400) * 100vw);
  }

  #cts_footer .cts_footer_column_txts_wrap {
    padding-right: calc((80 / 2400) * 100vw);
  }

  #cts_footer .cts_footer_column_txts01 {
    padding-top: 0;
  }

  #cts_footer .cts_footer_column_txts01 p {
    font-size: calc((34 / 2400) * 100vw);
    line-height: 1.7;
    text-align: left;
  }

  #cts_footer .cts_footer_column_link {
    width: calc((590 / 2400) * 100vw);
    height: calc((70 / 2400) * 100vw);
    margin: calc((30 / 2400) * 100vw) auto 0;
  }

  #cts_footer .cts_footer_column_link > p {
    font-size: calc((24 / 2400) * 100vw);
  }

  #cts_footer .cts_footer_column_link > img {
    width: calc((9 / 2400) * 100vw);
    margin-left: calc((25 / 2400) * 100vw);
  }
}

@media only screen and (min-width: 760px) and (max-width: 900px) {
  #cts_footer .cts_footer_column_link > p {
    font-feature-settings: "palt";
  }

  #cts_footer .cts_footer_column_link > img {
    margin-left: calc((10 / 2400) * 100vw);
  }
}
