@charset "UTF-8";

:root {
  /* 色管理用の変数 */
  --white-color: #fff;
  --black-color: #000;
  --base-color: #000228;
  --base-color02: #0D1840;
  --accent-color: #211966;
  --key-color: #A37C52;
}

:root {
  /* コンテンツ幅管理用の変数 */
  --content-width: 936px;
  --content-width-sm: 800px;
  --content-width-lg: 1080px;
}

:root {
  /* z-index管理用の変数 */
  --z-index-back: -1;
  --z-index-default: 1;
  --z-index-page-top: 50;
  --z-index-header: 100;
  --z-index-menu: 150;
  --z-index-modal: 200;
}

html {
  scroll-behavior: smooth;
}

body {
  color: #423123;
  font-family: Zen Kaku Gothic New;
  position: relative;
  background-color: #DBB671;
}

section {
  position: relative;
  z-index: 1;
}


.top_accent {
  position: relative;
}

.top_accent::after {
  content: '';
  position: absolute;
  width: 100%;
  height: min(calc(5105 / 1440 * 100vw),5105px);
  left: 50%;
  transform: translateX(-50%);
  top: min(calc(1282 / 1440 * 100vw),1282px);
  z-index: 0;
  background: url(../img/top-accent.png)no-repeat center center / cover;
}

.under_accent {
  position: relative;
}

.under_accent::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100Vh;
  left: 50%;
  transform: translateX(-50%);
  bottom: 15%;
  z-index: 0;
  background: url(../img/under-accent.png)no-repeat center center / cover;
}

.entry-link {
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: min(calc(5 / 1440 * 100vw),5px) solid #0B318F;
  width: min(calc(190 / 1440 * 100vw),190px);
  height: min(calc(190 / 1440 * 100vw),190px);
  position: fixed;
  right: min(calc(33 / 1440 * 100vw),33px);
  bottom: min(calc(24 / 1440 * 100vw),24px);
  z-index: 5;
  transition: 0.3s;
  animation: floatUpDown 3s ease-in-out infinite;
}

@keyframes floatUpDown {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10%);
  }
  100% {
    transform: translateY(0);
  }
}

.entry-link:hover {
  opacity: 0.7;
}

.entry-link-inner {
  width: min(calc(169 / 1440 * 100vw),169px);
  height: min(calc(169 / 1440 * 100vw),169px);
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #0B318F;
  border-radius: 50%;
}

.entry-link-text {
  text-align: center;
  font-weight: 700;
  font-size: min(calc(26 / 1440 * 100vw),26px);
  line-height: 120%;
  color: #FFFFFF;
}

.top_kv-date {
  position: absolute;
  left: min(calc(744 / 1440 * 100vw),744px);
  top: min(calc(581 / 1440 * 100vw),581px);
  font-family: "Fraunces", serif;
  font-weight: 900;
  font-size: min(calc(51 / 1440 * 100vw),51px);
  color: #FFFFFF;
  text-shadow: 4px 3px 0px rgba(102, 68, 20, 0.6);
  z-index: 3;
}

.top_kv-date span {
  font-size: min(calc(102 / 1440 * 100vw),102px);
}

@media screen and (max-width: 768px) {
  .top_accent::after {
    display: none;
  }
  .under_accent::after {
    display: none;
  }

  .top_kv-date {
    width: 100%;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
    top: calc(166 / 390 * 100vw);
    font-size: calc(31 / 390 * 100vw);
  }

  .top_kv-date span {
    font-size: calc(51.07 / 390 * 100vw);
  }
}

.sp {
  display: block !important;
}

@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

.pc {
  display: none !important;
}

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

.tbsp {
  display: block !important;
}

@media screen and (min-width: 1280px) {
  .tbsp {
    display: none !important;
  }
}

.tbpc {
  display: none !important;
}

@media screen and (min-width: 1280px) {
  .tbpc {
    display: block !important;
  }
}

@media screen and (max-width: 768px) {
  .entry-link {
    border: calc(2.7 / 390 * 100vw) solid #0B318F;
    width: calc(97 / 390 * 100vw);
    height: calc(97 / 390 * 100vw);
    position: fixed;
    right: calc(10 / 390 * 100vw);
    bottom: calc(10 / 390 * 100vw);
    }
    .entry-link-inner {
    width:calc(91.58 / 390 * 100vw);
    height: calc(91.58 / 390 * 100vw);
  }

  .entry-link-text {
    font-size: calc(14.09 / 390 * 100vw);
  }
}
/* ---------- layout ---------- */
.l_container-sm,
.l_container-lg,
.l_container {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.l_container {
  max-width: var(--content-width);
}

.l_container-sm {
  max-width: var(--content-width-sm);
}

.l_header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-index-header);
  width: 100%;
  background-color: #423123;
  padding: min(calc(14 / 1440 * 100vw),14px) 0;
}

.l_header-under {
  background-color: transparent;
  background: linear-gradient(#423123, #DBB671);
}

.l_header-inner {
  padding: 0 min(calc(20 / 1440 * 100vw),20px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  position: relative;
}

.l_header-logo {
  width: min(calc(210 / 1440 * 100vw),210px);
}

.l_header-nav {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* z-index: -1; */
  display: flex;
  align-items: center;
  gap: min(calc(20 / 1440 * 100vw),20px);
  opacity: 1;
  position: static;
}

.l_header-nav_list-left {
  display: flex;
  align-items: center;
  gap: min(calc(20 / 1440 * 100vw),20px);
}

.l_header-nav_list-left-item {

}

.l_header-nav_list-left-item a {
  display: inline-block;
  width: min(calc(126 / 1440 * 100vw),126px);
  text-align: center;
  font-weight: 700;
  font-size: min(calc(18 / 1440 * 100vw),18px);
  color: #FFFFFF;
  line-height: 120%;
  transition: 0.3s;
}

.l_header-nav_list-left-item a:hover {
  opacity: 0.7;
}

.l_header-nav_list {
  display: flex;
  gap: min(calc(8 / 1440 * 100vw),8px);
  align-items: center;
  justify-content: center;
}

.l_header-nav_item a {
  display: inline-block;
  text-align: center;
  font-family: Zen Kaku Gothic New;
  font-size: min(calc(15 / 1440 * 100vw),15px);
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: 0px;
  border-radius: min(calc(50 / 1440 * 100vw),50px);
  transition: 0.3s;
  cursor: pointer;
  padding: min(calc(16 / 1440 * 100vw),16px) min(calc(25 / 1440 * 100vw),25px);
}

.l_header-nav_item_reunion a {
  color: #FFF;
  background-color: #0B318F;
  border: 1px solid #FFFFFF;
}

.l_header-nav_item_reunion a:hover {
  color: #0B318F;
  background-color: #FFFFFF;
}

.l_header-nav_item_hakusan a {
  color: #0B318F;
  cursor: pointer;
  background-color: #FFFFFF;
  border: 1px solid #0B318F;
}

.l_header-nav_item_hakusan a:hover {
  color: #FFFFFF;
  background-color: #0B318F;
}

.l_header-nav_link {
  display: block;
  transition: 0.3s;
}

.l_header-nav_link:hover {
  opacity: 0.7;
}

.l_header-sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .l_header {
    padding: calc(12 / 390 * 100vw) 0;
  }

  .l_header-inner {
    padding: 0 calc(10 / 390 * 100vw) 0 calc(17 / 390 * 100vw);
  }

  .l_header-logo {
    width: calc(113 / 390 * 100vw);
  }

  .sp-reunion-container {
    display: inline-block;
  }

  .sp-reunion-container a {
    display: inline-block;
    text-align: center;
    font-family: Zen Kaku Gothic New;
    font-size: calc(14 / 390 * 100vw);
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    letter-spacing: 0px;
    border-radius: calc(40 / 390 * 100vw);
    transition: 0.3s;
    cursor: pointer;
    padding: calc(14 / 390 * 100vw) calc(20 / 390 * 100vw);
    color: #FFF;
    background-color: #0B318F;
    border: 1px solid #FFFFFF;
  }

  .l_header-sp {
    padding-right: calc(54 / 390 * 100vw);
    display: block;
  }
}

.header-sp {
    display: none;
}

.drawer-icon {
    position: fixed;
    top: calc(4 / 390 * 100vw);
    right: calc(10 / 390 * 100vw);
    z-index: 11;
    display: none;
    transform: none;
}

.drawer-icon-bars {
    width: calc(46 / 390 * 100vw);
    height: calc(46 / 390 * 100vw);
    display: block;
    position: relative;
    background-color: #FFFFFF;
    border-radius: 50%;
}

.drawer-icon-bar1,
.drawer-icon-bar2 {
    position: absolute;
    width: calc(23.35 / 390 * 100vw);
    height: calc(1 / 390 * 100vw);
    background: #0B318F;
    left: 50%;
    transform: translateX(-50%);
    z-index: 11;
    transition: transform 0.3s ease-in-out, top 0.3s ease-in-out;
}

.drawer-icon-bar1 {
    top: calc(18.52 / 390 * 100vw);
}

.drawer-icon-bar2 {
    top: calc(27.18 / 390 * 100vw);
}

.drawer-icon.is-active {

}

.drawer-icon.is-active .drawer-icon-bar1 {
  transform: translateX(-50%) rotate(-30deg);
  top: calc(22.5 / 390 * 100vw);
}

.drawer-icon.is-active .drawer-icon-bar2 {
  transform: translateX(-50%) rotate(30deg);
  top: calc(22.5 / 390 * 100vw);
}

.drawer-content {
    width: 100%;
    height: 100%;
    position: fixed;
    right: 0;
    top: 0;
    background: #DBB671;
    z-index: 10;
    transform: translateY(-105%);
    transition: transform 0.5s ease 0s;
}

.drawer-content.is-active {
    transform: translateX(0%);
    transition: transform 0.5s ease 0s;
}

.drawer-content-items {
    display: block;
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translateY(-40%) translateX(-50%);
    width: calc(220 / 390 * 100vw);
}

.drawer-content-item {
    text-align: center;
}

.drawer-content-item:not(:first-child) {
    padding-top: calc(40 / 390 * 100vw);
}

.drawer-content-item:nth-child(5) {
  padding-top: calc(12 / 390 * 100vw);
}

.drawer-content-item a {
    font-size: calc(18 / 390 * 100vw);
    font-weight: 700;
    line-height: 120%;
    display: inline-block;
    text-decoration: none;
}

.drawer-content-item-reunion {
  background-color: #0B318F;
  border: calc(1 / 390 * 100vw) solid #FFFFFF;
  padding: calc(15.5 / 390 * 100vw);
  fww: 700px;
  font-size: calc(16 / 390 * 100vw);
  line-height: 120%;
  color: #FFFFFF;
  border-radius: calc(50 / 390 * 100vw);
  width: 100%;
}

.drawer-content-item-hakusan {
  background-color: #FFFFFF;
  border: calc(1 / 390 * 100vw) solid #0B318F;
  padding: calc(15.5 / 390 * 100vw);
  fww: 700px;
  font-size: calc(16 / 390 * 100vw);
  line-height: 120%;
  color: #0B318F;
  border-radius: calc(50 / 390 * 100vw);
  width: 100%;
}


@media screen and (max-width: 768px) {
  .header-sp {
    display: block;
    position: relative;
    z-index: 10;
  }
  .drawer-icon {
    display: block;
  }
}

/*---------- footer ----------*/
.l_footer {
  padding: min(calc(49 / 1440 * 100vw),49px) 10% min(calc(53 / 1440 * 100vw),53px);
  background-color: #211966;
}

.l_footer_archive {
  padding: min(calc(49 / 1440 * 100vw),49px) 10% min(calc(53 / 1440 * 100vw),53px);
  background-color: #211966;
  margin-top: min(calc(1270 / 1440 * 100vw),1270px);
}

.l_footer_contents {
  display: flex;
  justify-content: center;
  gap: min(calc(115 / 1440 * 100vw),115px);
}

.l_footer-logo {
  width: min(calc(281 / 1440 * 100vw),281px);
}

.l_footer_content {
  color: #FFF;
  font-family: Zen Kaku Gothic New;
  font-size: min(calc(15 / 1440 * 100vw),15px);
  font-style: normal;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: min(calc(0.75 / 1440 * 100vw),0.75px);
}

.l_footer_content a {
  text-decoration: underline;
  transition: 0.3s;
}

.l_footer_content a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .l_footer {
    padding: calc(48 / 390 * 100vw) 10% calc(60 / 390 * 100vw);
  }

  .l_footer_contents {
    flex-direction: column;
    align-items: center;
    gap: calc(30 / 390 * 100vw);
  }

  .l_footer-logo {
    width: calc(249 / 390 * 100vw);
  }

  .l_footer_content {
    font-size: calc(14 / 390 * 100vw);
    letter-spacing: calc(0.7 / 390 * 100vw);
  }
}

/* ---------- top_kv ---------- */
.top_kv {
  background-color: #423123;
  margin: 0 auto;
  padding-bottom: min(calc(30 / 1440 * 100vw),30px);
  padding-top: min(calc(84 / 1440 * 100vw),84px);
}

.top_kv-inner {
  max-width: 1440px;
  margin: 0 auto;
  position: relative;
}

.top_kv-inner::after {
  content: '';
  position: absolute;
  width: min(calc(2 / 1440 * 100vw),2px);
  height: min(calc(355 / 1440 * 100vw),355px);
  border-right: min(calc(2 / 1440 * 100vw),2px) dotted #C59F58;
  left: min(calc(30 / 1440 * 100vw),30px);
  top: min(calc(51 / 1440 * 100vw),51px);
}

.top_kv-title-top {
  font-family: "Kaisei Opti", serif;
  font-weight: 400;
  font-size: min(calc(24 / 1440 * 100vw),24px);
  line-height: 120%;
  color: #C59F58;
  text-align: center;
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
}

.top_kv-title {
  text-align: center;
  font-family: "Fraunces", serif;
  font-weight: 900;
  font-size: min(calc(152 / 1440 * 100vw),152px);
  text-align: center;
  line-height: auto;
  letter-spacing: max(calc(-4.56 / 1440 * 100vw),-4.56px);
  color: #C59F58;
  position: relative;
  z-index: 2;
}

.top_kv_bg {
  width: min(calc(1320 / 1440 * 100vw),1320px);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: min(calc(170 / 1440 * 100vw),170px);
  z-index: 1;
}

.top_kv-container {
  width: min(calc(1284 / 1440 * 100vw),1284px);
  margin: 0 auto;
}

.top_kv__present-container {
  position: relative;
  z-index: 2;
}

.top_kv__present-item {
  border: min(calc(2 / 1440 * 100vw),2px) solid #423123;
  width: min(calc(193 / 1440 * 100vw),193px);
}

.top_kv__present-item:not(:first-child) {
  margin-top: min(calc(27 / 1440 * 100vw),27px);
}

.top_kv__present-item-img {
  background: url(../img/top_kv__present-item-img-bg.png)no-repeat center center / cover;
  background-color: #FAF6DB;
  width: 100%;
  height: min(calc(139 / 1440 * 100vw),139px);
}

.top_kv__present-item-img-1 img {
  transform: scale(1.2) translate(min(calc(-5 / 1440 * 100vw),-5px), min(calc(-20 / 1440 * 100vw),-20px));
}

.top_kv__present-item-img-2 img {
  transform: scale(1.13) translate(min(calc(-18 / 1440 * 100vw),-18px), min(calc(-35 / 1440 * 100vw),-35px));
}

.top_kv__present-item-text {
  font-family: "Kaisei Opti", serif;
  font-weight: 700;
  font-size: min(calc(17 / 1440 * 100vw),17px);
  line-height: 120%;
  letter-spacing: 0px;
  color: #C59F58;
  padding: min(calc(8 / 1440 * 100vw),8px) 0;
  text-align: center;
  background-color: #423123;
}

.top_kv__message-container {
  display: inline-block;
  margin-top: min(calc(22 / 1440 * 100vw),22px);
  margin-left: min(calc(7 / 1440 * 100vw),7px);
  padding: min(calc(18 / 1440 * 100vw),18px) min(calc(15 / 1440 * 100vw),15px);
  border-top: min(calc(2 / 1440 * 100vw),2px) dotted #FFFFFF;
  border-bottom: min(calc(2 / 1440 * 100vw),2px) dotted #FFFFFF;
  position: relative;
  z-index: 2;

  overflow: hidden; /* アニメーション範囲を制限 */
  width: min(calc(587 / 1440 * 100vw),587px); /* 必要に応じて調整 */
  box-sizing: border-box;
}

.top_kv__message-wrapper {
  display: flex;
  width: max-content;
  animation: scroll-loop 10s linear infinite;
}

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

.top_kv__message {
  display: flex;
  align-items: center;
  gap: min(calc(4 / 1440 * 100vw),4px);
  white-space: nowrap;
  padding-left: min(calc(50 / 1440 * 100vw),50px);
}

.top_kv__message-span-1,
.top_kv__message-span-2 {
  font-weight: 700;
  font-size: min(calc(20 / 1440 * 100vw), 20px);
  line-height: 120%;
  padding: min(calc(3 / 1440 * 100vw), 3px) min(calc(10 / 1440 * 100vw), 10px);
}

.top_kv__message-span-1 {
  background-color: #FFFFFF;
  color: #B18F51;
}

.top_kv__message-span-2 {
  background-color: #B18F51;
  color: #FFFFFF;
}


.top_kv__message-text {
  font-weight: 700;
  font-size: min(calc(20 / 1440 * 100vw),20px);
  line-height: 120%;
  letter-spacing: 0px;
  color: #FFFFFF;
}

.top_kv-side-text {
  transform: rotate(-90deg);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: min(calc(14 / 1440 * 100vw),14px);
  line-height: 120%;
  color: #C59F58;
  position: absolute;
  bottom: min(calc(153 / 1440 * 100vw),153px);
  left: max(calc(-106 / 1440 * 100vw),-106px);
}

.top_kv_human {
  position: absolute;
  width: min(calc(280 / 1440 * 100vw),280px);
  height: min(calc(547 / 1440 * 100vw),547px);
  right: 0;
  bottom: max(calc(-2 / 1440 * 100vw),-2px);
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .top_kv {
    padding-top: calc(70.5 / 390 * 100vw);
    padding-bottom: calc(14 / 390 * 100vw);
  }

  .top_kv::after {
    width: calc(2 / 390 * 100vw);
    height: calc(179 / 390 * 100vw);
    border-right: calc(2 / 390 * 100vw) dotted #C59F58;
    left: calc(10 / 390 * 100vw);
    top: calc(162 / 390 * 100vw);
  }

  .top_kv-inner::after {
    width: calc(1.23 / 390 * 100vw);
    height: calc(179 / 390 * 100vw);
    border-right: calc(2 / 390 * 100vw) dotted #C59F58;
    left: calc(10 / 390 * 100vw);
    top: calc(162 / 390 * 100vw);
  }

  .top_kv-title-top {
    font-size: calc(15 / 390 * 100vw);
    width: 100%;
    top: calc(7 / 390 * 100vw);
  }

  .top_kv-title {
    font-size: calc(58 / 390 * 100vw);
    line-height: 90%;
    letter-spacing: calc(-2.9 / 390 * 100vw);
    padding-top: calc(36 / 390 * 100vw);
  }

  .top_kv_bg {
    width: calc(368 / 390 * 100vw);
    right: 0;
    left: auto;
    transform: none;
    top: calc(162 / 390 * 100vw);
  }

  .top_kv-container {
    width: calc(362 / 390 * 100vw);
    margin: calc(363 / 390 * 100vw) auto 0;
  }

  .top_kv__present-container {
    margin-left: calc(16 / 390 * 100vw);
    display: flex;
    gap: calc(8.95 / 390 * 100vw);
    position: relative;z-index: 3;
  }

  .top_kv__present-item {
    border: calc(1.23 / 390 * 100vw) solid #423123;
    width: calc(118.53 / 390 * 100vw);
  }

  .top_kv__present-item:not(:first-child) {
    margin-top: 0;
  }

  .top_kv__present-item-img-1 {
    height: calc(85.45 / 390 * 100vw);
  }

  .top_kv__present-item-img-2 {
    height: calc(95.9 / 390 * 100vw);
  }

  .top_kv__present-item-img-1 img {
    transform: scale(1.15) translate(calc(-5 / 390 * 100vw), calc(-12 / 390 * 100vw));
  }

  .top_kv__present-item-img-2 img {
    transform: scale(1.18) translate(calc(-10 / 390 * 100vw), calc(-15 / 390 * 100vw));
  }

  .top_kv__present-item-text {
    font-size: calc(10.45 / 390 * 100vw);
    padding: calc(4.17 / 390 * 100vw) 0 calc(3.02 / 390 * 100vw);
    border: calc(1.23 / 390 * 100vw) solid #FAF6DB;
    color: #FAF6DB;
  }

  .top_kv__message-container {
    margin-top: calc(16 / 390 * 100vw);
    padding: calc(9.25 / 390 * 100vw);
    border-top: calc(1.23 / 390 * 100vw) dotted #FFFFFF;
    border-bottom: calc(1.23 / 390 * 100vw) dotted #FFFFFF;
    width: calc(362 / 390 * 100vw);
  }

  .top_kv__message {
    gap: calc(2.47 / 390 * 100vw);
    padding-left: calc(30 / 390 * 100vw);
  }

  .top_kv__message-span-1,
  .top_kv__message-span-2 {
    font-size: calc(12.33 / 390 * 100vw);
    padding: calc(1.75 / 390 * 100vw) calc(1.67 / 390 * 100vw);
  }

  .top_kv__message-text {
    font-size: calc(12.33 / 390 * 100vw);
  }

  .top_kv-side-text {
    font-size: calc(14 / 390 * 100vw);
    bottom: calc(185 / 390 * 100vw);
    left: calc(-123 / 390 * 100vw);
  }

  .top_kv_human {
    width: calc(181 / 390 * 100vw);
    height: calc(354 / 390 * 100vw);
    bottom: calc(109 / 390 * 100vw);
  }
}

/* ---------- top_message ---------- */
.top_message {
  background: linear-gradient(#423123, #DBB671);
  padding: min(calc(40 / 1440 * 100vw),40px) 0 min(calc(85 / 1440 * 100vw),85px);
}

.top_message-sdgs {
  width: min(calc(224 / 1440 * 100vw),224px);
  margin: 0 auto;
}

.top_message__title-container {
  text-align: center;
  width: min(calc(860 / 1440 * 100vw),860px);
  margin: min(calc(62 / 1440 * 100vw),62px) auto 0;
  padding-bottom: min(calc(28 / 1440 * 100vw),28px);
  position: relative;
}

.top_message__title-text {
  display: inline-block;
  font-family: "Fraunces", serif;
  font-weight: 700;
  font-size: min(calc(42 / 1440 * 100vw),42px);
  line-height: auto;
  color: #DBB671;
  letter-spacing: min(calc(-1.26 / 1440 * 100vw),-1.26px);
}

.top_message__title-left {
  width: min(calc(131.61 / 1440 * 100vw),131.61px);
  position: absolute;
  top: min(calc(19 / 1440 * 100vw),19px);
  left: 0;
}

.top_message__title-right {
  width: min(calc(131.61 / 1440 * 100vw),131.61px);
  position: absolute;
  top: min(calc(19 / 1440 * 100vw),19px);
  right: 0;
}

.top_message__title-under {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: min(calc(410 / 1440 * 100vw),410px);
}

.top_message__message {
  margin-top: min(calc(53 / 1440 * 100vw),53px);
  text-align: center;
  font-weight: 500;
  font-family: "Shippori Mincho", serif;
  font-size: min(calc(20 / 1440 * 100vw),20px);
  line-height: 160%;
  letter-spacing: max(calc(-0.6 / 1440 * 100vw),-0.6px);
  color: #FFFFFF;
}

@media screen and (max-width: 768px) {
  .top_message {
    padding: calc(23 / 390 * 100vw) 0 calc(50 / 390 * 100vw);
  }

  .top_message-sdgs {
    width: calc(150 / 390 * 100vw);
  }

  .top_message__title-container {
    width: 100%;
    margin-top: calc(20 / 390 * 100vw);
    padding-bottom: calc(30 / 390 * 100vw);
  }

  .top_message__title-text {
    font-size: calc(26 / 390 * 100vw);
    letter-spacing: calc(-0.48 / 390 * 100vw);
  }

  .top_message__title-left {
    display: none;
  }

  .top_message__title-right {
    display: none;
  }

  .top_message__title-under {
    width: calc(318 / 390 * 100vw);
  }

  .top_message__message {
    margin: calc(30 / 390 * 100vw) auto 0;
    font-size: calc(15 / 390 * 100vw);
    letter-spacing: calc(-0.45 / 390 * 100vw);
    width: calc(365 / 390 * 100vw);
  }
}

/* ---------- top_overview ---------- */
.top_overview {
  margin-top: min(calc(41 / 1440 * 100vw),41px);
}

.top_section-title-container {
  text-align: center;
  max-width: 1440px;
  margin: 0 auto;
}

.top_section-title-top {
  width: min(calc(169 / 1440 * 100vw),169px);
}

.top_section-title {
  font-family: "Fraunces", serif;
  font-weight: 700;
  font-size: min(calc(102 / 1440 * 100vw),102px);
  line-height: auto;
  letter-spacing: max(calc(-3.06 / 1440 * 100vw),-3.06px);
  position: relative;
}

.top_section-title::before,
.top_section-title::after {
  content: '';
  position: absolute;
  width: min(calc(443 / 1440 * 100vw),443px);
  height: min(calc(2 / 1440 * 100vw),2px);
  border-top: min(calc(2 / 1440 * 100vw),2px) dotted #423123;
  top: 50%;
  transform: translateY(-50%);
}

.top_section-title::before {
  left: min(calc(51.5 / 1440 * 100vw),51.5px);
}

.top_section-title::after {
  right: min(calc(51.5 / 1440 * 100vw),51.5px);
}

.top_section-title-2::before,
.top_section-title-2::after {
  width: min(calc(349 / 1440 * 100vw),349px);
}

.top_section-subtitle {
  font-family: "Kaisei Opti", serif;
  font-weight: 700;
  font-size: min(calc(28 / 1440 * 100vw),28px);
  line-height: auto;
  letter-spacing: min(calc(14 / 1440 * 100vw),14px);
}

.top_overview-content {
  margin: min(calc(38 / 1440 * 100vw),38px) auto 0;
  padding: min(calc(76 / 1440 * 100vw),76px) 0 min(calc(67 / 1440 * 100vw),67px);
  width: min(calc(629 / 1440 * 100vw),629px);
  text-align: center;
  background: url(../img/top_overview-bg.png)no-repeat center center / contain;
  position: relative;
}

.top_overview-content::after {
  content: '';
  position: absolute;
  width: min(calc(554 / 1440 * 100vw),554px);
  height: min(calc(1 / 1440 * 100vw),1px);
  left: 50%;
  transform: translateX(-50%);
  top: min(calc(239 / 1440 * 100vw),239px);
  border-top: min(calc(1 / 1440 * 100vw),1px) #979797 dotted;
}

.top_overview-title {
  padding: min(calc(4 / 1440 * 100vw),4px) min(calc(10 / 1440 * 100vw),10px);
  font-family: "Kaisei Decol", serif;
  font-weight: 700;
  font-size: min(calc(20 / 1440 * 100vw),20px);
  line-height: 160%;
  color: #FFFFFF;
  background-color: #423123;
  border-radius: min(calc(3 / 1440 * 100vw),3px);
  display: inline-block;
}

.top_overview-title:not(:first-child) {
  margin-top: min(calc(48 / 1440 * 100vw),48px);
}

.top_overview-date {
  margin-top: min(calc(12 / 1440 * 100vw),12px);
}

.top_overview-date-span-1 {
  font-family: "Kaisei Decol", serif;
  font-weight: 700;
  font-size: min(calc(40 / 1440 * 100vw),40px);
  line-height: 120%;
  letter-spacing: max(calc(-1.2 / 1440 * 100vw),-1.2px);
  color: #333333;
}

.top_overview-date-span-2 {
  font-family: "Kaisei Decol", serif;
  font-weight: 700;
  font-size: min(calc(24 / 1440 * 100vw),24px);
  line-height: 120%;
  letter-spacing: max(calc(-0.72 / 1440 * 100vw),-0.72px);
  color: #333333;
}

.top_overview-date-span-3 {
  font-family: "Kaisei Decol", serif;
  font-weight: 500;
  font-size: min(calc(26 / 1440 * 100vw),26px);
  line-height: 120%;
  letter-spacing: max(calc(-0.78 / 1440 * 100vw),-0.78px);
}

.top_overview-spot {
  font-family: "Kaisei Decol", serif;
  font-weight: 700;
  font-size: min(calc(30 / 1440 * 100vw),30px);
  line-height: 140%;
  letter-spacing: max(calc(0.9 / 1440 * 100vw),0.9px);
  margin-top: min(calc(12 / 1440 * 100vw),12px);
}

.top_overview-link-container {
  text-align: center;
  margin-top: min(calc(30 / 1440 * 100vw),30px);
}

.top_overview-link {
  display: inline-block;
  border-radius: min(calc(43 / 1440 * 100vw),43px);
  background-color: #0B318F;
  font-weight: 700;
  font-size: min(calc(20 / 1440 * 100vw),20px);
  line-height: 160%;
  letter-spacing: min(calc(4.3 / 1440 * 100vw),4.3px);
  color: #FFFFFF;
  padding: min(calc(10 / 1440 * 100vw),10px) min(calc(30 / 1440 * 100vw),30px);
  border: min(calc(2 / 1440 * 100vw),2px) solid #0B318F;
  transition: 0.3s;
}

.top_overview-link:hover {
  color: #0B318F;
  background-color: #FFFFFF;
}

@media screen and (max-width: 768px) {
  .top_overview {
    margin-top: calc(41 / 390 * 100vw);
  }

  .top_section-title-top {
    width: calc(169 / 390 * 100vw);
  }

  .top_section-title {
    font-size: calc(62 / 390 * 100vw);
    letter-spacing: calc(-1.86 / 390 * 100vw);
  }

  .top_section-title::before,
  .top_section-title::after {
    display: none;
  }

  .top_section-subtitle {
    font-size: calc(16 / 390 * 100vw);
    letter-spacing: calc(8 / 390 * 100vw);
  }

  .top_overview-content {
    margin: calc(27 / 390 * 100vw) auto 0;
    padding: calc(41 / 390 * 100vw) 0 calc(31 / 390 * 100vw);
    width: calc(342 / 390 * 100vw);
  }

  .top_overview-content::after {
    width: calc(301 / 390 * 100vw);
    height: calc(1 / 390 * 100vw);
    top: calc(130 / 390 * 100vw);
    border-top: calc(1 / 390 * 100vw) #979797 dotted;
  }

  .top_overview-title {
    padding: calc(2 / 390 * 100vw) calc(5.4 / 390 * 100vw);
    font-size: calc(10.88 / 390 * 100vw);
    border-radius: calc(1.63 / 390 * 100vw);
  }

  .top_overview-title:not(:first-child) {
    margin-top: calc(26.1 / 390 * 100vw);
  }

  .top_overview-date {
    margin-top: calc(6.5 / 390 * 100vw);
  }

  .top_overview-date-span-1 {
    font-size: calc(21.75 / 390 * 100vw);
    letter-spacing: calc(-0.65 / 390 * 100vw);
  }

  .top_overview-date-span-2 {
    font-size: calc(13.05 / 390 * 100vw);
    letter-spacing: calc(-0.39 / 390 * 100vw);
  }

  .top_overview-date-span-3 {
    font-size: calc(14 / 390 * 100vw);
    letter-spacing: calc(-0.42 / 390 * 100vw);
  }

  .top_overview-spot {
    font-size: calc(16 / 390 * 100vw);
    letter-spacing: calc(-0.48 / 390 * 100vw);
    margin-top: calc(6.53 / 390 * 100vw);
  }

  .top_overview-link-container {
    margin-top: calc(16 / 390 * 100vw);
  }

  .top_overview-link {
    border-radius: calc(29 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
    letter-spacing: calc(1.4 / 390 * 100vw);
    padding: calc(6.73 / 390 * 100vw) calc(20.19 / 390 * 100vw);
  }

  .top_section-title-2 {
    line-height: 1;
  }
}

/* ---------- top_present ---------- */
.top_present {
  margin-top: min(calc(93 / 1440 * 100vw),93px);
}

.top_present-content {
  display: flex;
  margin-top: min(calc(60 / 1440 * 100vw),60px);
}

.top_present-content-item {
  width: 50%;
  padding-top: min(calc(342 / 1440 * 100vw),342px);
}

.top_present-content-item-1 {
  background: url(../img/top_present-content-item-1-bg.png)no-repeat center center / cover;
  border: min(calc(5 / 1440 * 100vw),5px) solid #423123;
}

.top_present-content-item-2 {
  background: url(../img/top_present-content-item-2-bg.png)no-repeat center center / cover;
  border-top: min(calc(5 / 1440 * 100vw),5px) solid #423123;
  border-right: min(calc(5 / 1440 * 100vw),5px) solid #423123;
  border-bottom: min(calc(5 / 1440 * 100vw),5px) solid #423123;
  position: relative;
}

.top_present-content-item-2-img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(calc(650 / 1440 * 100vw),650px);
}

.top_present-content-item-text-container {
  width: min(calc(348 / 1440 * 100vw),348px);
  border: min(calc(2 / 1440 * 100vw),2px) solid #423123;
  background-color: #FFFFFF;
  padding: min(calc(17 / 1440 * 100vw),17px) min(calc(27 / 1440 * 100vw),27px);
}

.top_present-content-item-subtitle {
  display: inline-block;
  background-color: #0B318F;
  padding: min(calc(4 / 1440 * 100vw),4px) min(calc(9 / 1440 * 100vw),9px);
  font-family: "Kaisei Opti", serif;
  font-weight: 700;
  font-size: min(calc(16 / 1440 * 100vw),16px);
  line-height: auto;
  letter-spacing: max(calc(-0.48 / 1440 * 100vw),-0.48px);
  color: #FFFFFF;
}

.top_present-content-item-title {
  margin-top: min(calc(7 / 1440 * 100vw),7px);
  font-family: "Kaisei Opti", serif;
  font-weight: 700;
  font-size: min(calc(26 / 1440 * 100vw),26px);
  line-height: auto;
  letter-spacing: max(calc(-0.78 / 1440 * 100vw),-0.78px);
}

.top_present-content-item-title span {
  font-weight: 700;
  color: #0B318F;
}

@media screen and (max-width: 768px) {
  .top_present {
    margin-top: calc(91 / 390 * 100vw);
  }

  .top_present-content {
    margin-top: calc(37 / 390 * 100vw);
    flex-direction: column;
  }

  .top_present-content-item {
    width: 100%;
    padding-top: calc(150 / 390 * 100vw);
  }

  .top_present-content-item-1 {
    border: calc(2.73 / 390 * 100vw) solid #423123;
  }

  .top_present-content-item-2 {
    background: url(../img/top_present-content-item-2-bg-sp.png)no-repeat center center / cover;
    border: calc(2.73 / 390 * 100vw) solid #423123;
  }

  .top_present-content-item-2-img {
    left: 14%;
    top: -17%;
    transform: none;
    width: calc(330 / 390 * 100vw);
  }

  .top_present-content-item-text-container {
    width: calc(221 / 390 * 100vw);
    border: calc(1.27 / 390 * 100vw) solid #423123;
    padding: calc(14.5 / 390 * 100vw) 0 calc(12 / 390 * 100vw) calc(15.2 / 390 * 100vw);
  }

  .top_present-content-item-subtitle {
    padding: calc(0.18 / 390 * 100vw) calc(5.7 / 390 * 100vw);
    letter-spacing: calc(-0.42 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
    letter-spacing: calc(-0.42 / 390 * 100vw);
  }

  .top_present-content-item-title {
    margin-top: calc(4.44 / 390 * 100vw);
    font-size: calc(18 / 390 * 100vw);
    letter-spacing: calc(-0.54 / 390 * 100vw);
  }
}

/* ---------- top_program ---------- */
.top_program {
  margin-top: min(calc(123 / 1440 * 100vw),123px);
}

.top_program_container {
  margin-top: min(calc(50 / 1440 * 100vw),50px);
}

.top_program-content_left {
  width: calc(861 / 1440 * 100vw);
  margin-left: auto;
  background-color: #F9F5E4;
  padding: min(calc(49 / 1440 * 100vw),49px) min(calc(52 / 1440 * 100vw),52px) min(calc(48 / 1440 * 100vw),48px) min(calc(129 / 1440 * 100vw),129px);
  position: relative;
}

.top_program-content_left:not(:first-child) {
  margin-top: min(calc(55 / 1440 * 100vw),55px);
}

.top_program-content_right {
  width: calc(861 / 1440 * 100vw);
  margin-right: auto;
  background-color: #F9F5E4;
  padding: min(calc(49 / 1440 * 100vw),49px) min(calc(52 / 1440 * 100vw),52px) min(calc(48 / 1440 * 100vw),48px) min(calc(129 / 1440 * 100vw),129px);
  position: relative;
}

.top_program-content_right:not(:first-child) {
  margin-top: min(calc(55 / 1440 * 100vw),55px);
}

.top_program-content_left-img {
  position: absolute;
  width: min(calc(365 / 1440 * 100vw),365px);
  height: min(calc(486 / 1440 * 100vw),486px);
  left: max(calc(-275 / 1440 * 100vw),-275px);
  top: max(calc(-20 / 1440 * 100vw),-20px);
}

.top_program-content_left-img-2 {
  position: absolute;
  width: min(calc(617 / 1440 * 100vw),617px);
  height: min(calc(430 / 1440 * 100vw),430px);
  left: max(calc(-520 / 1440 * 100vw),-520px);
  top: max(calc(-20 / 1440 * 100vw),-20px);
}

.top_program-content_right-img {
  position: absolute;
  width: min(calc(617 / 1440 * 100vw),617px);
  height: min(calc(430 / 1440 * 100vw),430px);
  right: max(calc(-480 / 1440 * 100vw),-480px);
  top: max(calc(-20 / 1440 * 100vw),-20px);
}

.top_program-content_right-img-2 {
  width: min(calc(365 / 1440 * 100vw),365px);
  height: min(calc(486 / 1440 * 100vw),486px);
  right: max(calc(-265 / 1440 * 100vw),-265px);
  top: max(calc(-40 / 1440 * 100vw),-40px);
}

.top_program-content-pickup {
  font-family: "Fraunces", serif;
  font-weight: 700;
  font-size: min(calc(40 / 1440 * 100vw),40px);
  line-height: auto;
  letter-spacing: max(calc(-1.2 / 1440 * 100vw),-1.2px);
  color: #A56C0F;
}

.top_program-content-time {
  margin-top: min(calc(10 / 1440 * 100vw),10px);
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: min(calc(22 / 1440 * 100vw),22px);
  line-height: 120%;
  letter-spacing: max(calc(-0.66 / 1440 * 100vw),-0.66px);
  color: #423123;
}

.top_program-content-title {
  margin-top: min(calc(10 / 1440 * 100vw),10px);
  font-family: "Kaisei Decol", serif;
  font-weight: 700;
  font-size: min(calc(36 / 1440 * 100vw),36px);
  line-height: auto;
  letter-spacing: max(calc(-1.08 / 1440 * 100vw),-1.08px);
  color: #423123;
}

.top_program-content-text {
  width: min(calc(580 / 1440 * 100vw),580px);
  margin-top: min(calc(10 / 1440 * 100vw),10px);
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: min(calc(18 / 1440 * 100vw),18px);
  line-height: 160%;
  letter-spacing: max(calc(-0.54 / 1440 * 100vw),-0.54px);
}

.top_program-content-text-2 {
  width: min(calc(620 / 1440 * 100vw),620px);
}

.top_program-content-link {
  display: inline-block;
  padding: min(calc(14 / 1440 * 100vw),14px) min(calc(55 / 1440 * 100vw),55px);
  border-radius: min(calc(80 / 1440 * 100vw),80px);
  border: min(calc(2 / 1440 * 100vw),2px) solid #423123;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: min(calc(18 / 1440 * 100vw),18px);
  line-height: 120%;
  letter-spacing: max(calc(-0.54 / 1440 * 100vw),-0.54px);
  color: #423123;
  transition: 0.3s;
}

.top_program-content-link:hover {
  opacity: 0.7;
}

.top_program-link-container {
  margin-top: min(calc(18 / 1440 * 100vw),18px);
}

.top_program-content-link-2 {
  display: inline-block;
  border-radius: min(calc(27.5 / 1440 * 100vw),27.5px);
  background-color: #0B318F;
  text-align: center;
  padding: min(calc(13 / 1440 * 100vw),13px) min(calc(43 / 1440 * 100vw),43px);
  color: #FFFFFF;
  font-weight: 700;
  font-size: min(calc(16 / 1440 * 100vw),16px);
  line-height: min(calc(28 / 1440 * 100vw),28px);
  letter-spacing: max(calc(-0.48 / 1440 * 100vw),-0.48px);
  border: min(calc(2 / 1440 * 100vw),2px) solid #0B318F;
  transition: 0.3s;
}

.top_program-content-link-2:hover {  
  background-color: #FFFFFF;
  color: #0B318F;
}

.top_program-button-container {
  margin-top: min(calc(79 / 1440 * 100vw),79px);
  text-align: center;
}

.top_program-button {
  display: inline-block;
  font-family: "Shippori Mincho", serif;
  padding: min(calc(22 / 1440 * 100vw),22px) min(calc(80 / 1440 * 100vw),80px) min(calc(20 / 1440 * 100vw),20px) min(calc(58 / 1440 * 100vw),58px);
  border: min(calc(2 / 1440 * 100vw),2px) solid #423123;
  border-radius: min(calc(80 / 1440 * 100vw),80px);
  background-color: #FAF6DB;
  font-size: min(calc(20 / 1440 * 100vw),20px);
  letter-spacing: max(calc(-0.6 / 1440 * 100vw),-0.6px);
  position: relative;
  transition: 0.3s;
}

.top_program-button::after {
  content: '';
  position: absolute;
  width: min(calc(38 / 1440 * 100vw),38px);
  height: min(calc(38 / 1440 * 100vw),38px);
  top: 50%;
  transform: translateY(-50%);
  right: min(calc(23 / 1440 * 100vw),23px);
  background: url(../img/top_program-button-vector.png)no-repeat center center / contain;
}

.top_program-button:hover {
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .top_program {
    margin-top: calc(93 / 390 * 100vw);
  }

  .top_program_container {
    margin-top: calc(275 / 390 * 100vw);
  }

  .top_program-content_left {
    width: 100%;
    padding: calc(156 / 390 * 100vw) calc(30 / 390 * 100vw) calc(31 / 390 * 100vw);

  }

  .top_program-content_left-2 {
    padding: calc(156 / 390 * 100vw) calc(30 / 390 * 100vw) calc(25 / 390 * 100vw);
  }

  .top_program-content_left:not(:first-child) {
    margin-top: calc(145 / 390 * 100vw);
  }

  .top_program-content_right {
    width: 100%;
    padding: calc(156 / 390 * 100vw) calc(30 / 390 * 100vw) calc(25 / 390 * 100vw);
  }

  .top_program-content_right-2 {
    padding: calc(306 / 390 * 100vw) calc(30 / 390 * 100vw) calc(31 / 390 * 100vw);
  }

  .top_program-content_right:not(:first-child) {
    margin-top: calc(145 / 390 * 100vw);
  }

  .top_program-content_left-img {
    width: calc(283 / 390 * 100vw);
    height: calc(376 / 390 * 100vw);
    left: 13%;
    top: calc(-235 / 390 * 100vw);
  }

  .top_program-content_left-img-2 {
    width: calc(369 / 390 * 100vw);
    height: calc(230 / 390 * 100vw);
    left: 2%;
    top: calc(-110 / 390 * 100vw);
  }

  .top_program-content_right-img {
    width: calc(369 / 390 * 100vw);
    height: calc(230 / 390 * 100vw);
    left: 2%;
    top: calc(-94 / 390 * 100vw);
  }

  .top_program-content_right-img-2 {
    width: calc(369 / 390 * 100vw);
    height: calc(377 / 390 * 100vw);
    left: 2%;
    top: calc(-90 / 390 * 100vw);
  }

  .top_program-content-pickup {
    font-size: calc(40 / 390 * 100vw);
    letter-spacing: calc(-1.2 / 390 * 100vw);
  }

  .top_program-content-time {
    margin-top: calc(12 / 390 * 100vw);
    font-size: calc(22 / 390 * 100vw);
    letter-spacing: calc(-0.66 / 390 * 100vw);
  }

  .top_program-content-title {
    margin-top: calc(12 / 390 * 100vw);
    font-size: calc(24 / 390 * 100vw);
    letter-spacing: 0;
  }

  .top_program-content-text {
    width: 100%;
    margin-top: calc(12 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
    letter-spacing: 0;
  }

  .top_program-content-text-2 {
    width: 100%;
  }

  .top_program-content-link {
    padding: calc(14 / 390 * 100vw) calc(56 / 390 * 100vw);
    border-radius: calc(80 / 390 * 100vw);
    border: calc(2 / 390 * 100vw) solid #423123;
    font-size: calc(18 / 390 * 100vw);
    letter-spacing: calc(-0.54 / 390 * 100vw);
  }

  .top_program-link-container {
    margin-top: calc(20 / 390 * 100vw);
    text-align: center;
  }

  .top_program-content-link-2 {
    border-radius: calc(27.5 / 390 * 100vw);
    padding: calc(13 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
    line-height: calc(28 / 390 * 100vw);
    letter-spacing: calc(-0.48 / 390 * 100vw);
    border: calc(2 / 390 * 100vw) solid #0B318F;
    width: 100%;
  }

  .top_program-button-container {
    margin-top: calc(40 / 390 * 100vw);
  }

  .top_program-button {
    padding: calc(22 / 390 * 100vw) calc(80 / 390 * 100vw) calc(20 / 390 * 100vw) calc(58 / 390 * 100vw);
    border: calc(2 / 390 * 100vw) solid #423123;
    border-radius: calc(80 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
    letter-spacing: calc(-0.48 / 390 * 100vw);
  }

  .top_program-button::after {
    width: calc(38 / 390 * 100vw);
    height: calc(38 / 390 * 100vw);
    right: calc(23 / 390 * 100vw);
  }
}

/* ---------- top_timetable ---------- */
.top_timetable {
  padding: min(calc(159 / 1440 * 100vw),159px) 0 min(calc(146 / 1440 * 100vw),146px);
  position: relative;
}

.top_timetable-title-container {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: min(calc(228 / 1440 * 100vw),228px);
  z-index: 2;
  text-align: center;
}

.top_timetable-title-top {
  display: inline-block;
  width: min(calc(169 / 1440 * 100vw),169px);
}

.top_timetable-title {
  font-family: "Fraunces", serif;
  font-weight: 700;
  font-size: min(calc(102 / 1440 * 100vw),102px);
  line-height: auto;
  letter-spacing: max(calc(-3.06 / 1440 * 100vw),-3.06px);
  color: #423123;
}

.top_timetable-subtitle {
  font-family: "Kaisei Opti", serif;
  font-weight: 700;
  font-size: min(calc(26 / 1440 * 100vw),26px);
  line-height: auto;
  letter-spacing: min(calc(13 / 1440 * 100vw),13px);
  color: #423123;
}

.top_timetable-message {
  margin-top: min(calc(15 / 1440 * 100vw),15px);
  display: inline-block;
  border-radius: min(calc(41 / 1440 * 100vw),41px);
  background-color: #fff;
  padding: min(calc(12 / 1440 * 100vw),12px) min(calc(18.5 / 1440 * 100vw),18.5px);
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 400;
  font-size: min(calc(15 / 1440 * 100vw),15px);
  line-height: auto;
  letter-spacing: max(calc(-0.45 / 1440 * 100vw),-0.45px);
  color: #423123;
}


.top_timetable-container {
  position: relative;
  background: url(../img/top_timetable-bg.png)no-repeat center center / contain;
  width: min(calc(1040 / 1440 * 100vw),1040px);
  margin: 0 auto;
  padding: min(calc(360 / 1440 * 100vw),360px) min(calc(80 / 1440 * 100vw),80px) min(calc(76 / 1440 * 100vw),76px);
  z-index: 1;
}

.top_timetable_contents {
  position: relative;
  width: min(calc(879 / 1440 * 100vw),879px);
  height: auto;
  margin: 0 auto;
}

.top_timetable_contents a {
  transition: 0.3s;
}

.top_timetable_contents a:hover {
  opacity: 0.7;
}

.timetable_greeting {
  position: absolute;
  width: min(calc(183 / 1440 * 100vw),183px);
  height: auto;
  top: min(calc(145 / 1440 * 100vw),145px);
  left: min(calc(127 / 1440 * 100vw),127px);
}

.timetable_hero {
  position: absolute;
  width: min(calc(183 / 1440 * 100vw),183px);
  height: auto;
  top: min(calc(177 / 1440 * 100vw),177px);
  left: min(calc(127 / 1440 * 100vw),127px);
}

.timetable_comic {
  position: absolute;
  width: min(calc(183 / 1440 * 100vw),183px);
  height: auto;
  top: min(calc(330 / 1440 * 100vw),330px);
  left: min(calc(127 / 1440 * 100vw),127px);
}

.timetable_gakushoku {
  position: absolute;
  width: min(calc(183 / 1440 * 100vw),183px);
  height: min(calc(429 / 1440 * 100vw),429px);
  top: min(calc(243 / 1440 * 100vw),243px);
  left: min(calc(315 / 1440 * 100vw),315px);
  background-color: #A56C0F;
}

.timetable-vector {
  width: min(calc(12 / 1440 * 100vw),12px);
  height: min(calc(12 / 1440 * 100vw),12px);
}

.timetable-vector img {
  vertical-align: top;
}

.timetable_gakushoku-link {
  display: flex;
  align-items: center;
  gap: min(calc(7 / 1440 * 100vw),7px);
  position: absolute;
  left: min(calc(327 / 1440 * 100vw),327px);
}

.timetable-gakushoku_text {
  font-weight: 700;
  font-size: min(calc(14 / 1440 * 100vw),14px);
  line-height: 140%;
  letter-spacing: max(calc(-0.42 / 1440 * 100vw),-0.42px);
  color: #FFFFFF;
}

.timetable-gakushoku_text span {
  font-size: min(calc(10 / 1440 * 100vw),10px);
  line-height: 140%;
  letter-spacing: max(calc(-0.3 / 1440 * 100vw),-0.3px);
}

.timetable_cafe {
  top: min(calc(264 / 1440 * 100vw),264px);
}

.timetable_bussanten {
  top: min(calc(300 / 1440 * 100vw),300px);
}

.timetable_goods-global {
  top: min(calc(336 / 1440 * 100vw),336px);
}

.timetable_goods-seikyo {
  top: min(calc(385 / 1440 * 100vw),385px);
}

.timetable_materials {
  top: min(calc(434 / 1440 * 100vw),434px);
}

.timetable_kids {
  top: min(calc(470 / 1440 * 100vw),470px);
}

.timetable_reunion {
  top: min(calc(506 / 1440 * 100vw),506px);
}

.timetable_party {
  top: min(calc(542 / 1440 * 100vw),542px);
}

.timetable_pronet {
  top: min(calc(618 / 1440 * 100vw),618px);
}

.timetable_greeting-live {
  position: absolute;
  width: min(calc(183 / 1440 * 100vw),183px);
  height: auto;
  top: min(calc(145 / 1440 * 100vw),145px);
  left: min(calc(502 / 1440 * 100vw),502px);
}

.timetable_hero-live {
  position: absolute;
  width: min(calc(183 / 1440 * 100vw),183px);
  height: auto;
  top: min(calc(177 / 1440 * 100vw),177px);
  left: min(calc(502 / 1440 * 100vw),502px);
}

.timetable_comic-live {
  position: absolute;
  width: min(calc(183 / 1440 * 100vw),183px);
  height: auto;
  top: min(calc(330 / 1440 * 100vw),330px);
  left: min(calc(502 / 1440 * 100vw),502px);
}

.timetable_networking {
  position: absolute;
  width: min(calc(183 / 1440 * 100vw),183px);
  height: auto;
  top: min(calc(453 / 1440 * 100vw),453px);
  left: min(calc(692 / 1440 * 100vw),692px);
}

.timetable_comment-1 {
  position: absolute;
  width: min(calc(133 / 1440 * 100vw),133px);
  height: auto;
  top: min(calc(125 / 1440 * 100vw),125px);
  left: min(calc(355 / 1440 * 100vw),355px);
}

.timetable_comment-2 {
  position: absolute;
  width: min(calc(164 / 1440 * 100vw),164px);
  height: auto;
  top: min(calc(588 / 1440 * 100vw),588px);
  left: min(calc(123 / 1440 * 100vw),123px);
}

.top_timetable_txt {
  margin: min(calc(35 / 1440 * 100vw),35px) auto 0;
  color: #423123;
  text-align: center;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: min(calc(14 / 1440 * 100vw),14px);
  font-weight: 400;
  line-height: normal;
  letter-spacing: max(calc(-0.42 / 1440 * 100vw),-0.42px);
}

.top_timetable-tbsp {
  display: none;
}

@media screen and (max-width: 1280px) {
  .a {
    height: auto;
    margin: 0 auto;
    white-space: nowrap;
    overflow-x: scroll;
    /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
    -ms-overflow-style: none;
    /*Firefoxへの対応*/
    scrollbar-width: none;
    position: relative;
  }
    /*Google Chrome、Safariへの対応*/
    .a::-webkit-scrollbar{
    display: none;
  }
}

@media screen and (max-width: 1080px) {
  .top_timetable-pc {
    display: none !important;
  }
  .top_timetable-tbsp {
    display: block !important;
  }
  .top_timetable_contents {
    position: relative;
  }
}

@media screen and (max-width: 768px) {
  .top_timetable {
    margin-top: calc(41 / 390 * 100vw);
    padding: calc(69 / 390 * 100vw) 0 calc(50 / 390 * 100vw);
    background: #FAF6DB;
    border-top: calc(5 / 390 * 100vw) solid #423123;
    border-bottom: calc(5 / 390 * 100vw) solid #423123;
  }

  .top_timetable-container {
    background: none;
    padding: calc(221 / 390 * 100vw) calc(16 / 390 * 100vw) 0;
    width: 100%;
  }
  
  .top_timetable-title-container {
    top: min(calc(228 / 1440 * 100vw),228px);
    width: 100%;
  }

  .top_timetable-title-top {
    width: calc(169 / 390 * 100vw);
  }

  .top_timetable-title {
    font-size: calc(62 / 390 * 100vw);
    letter-spacing: calc(-1.86 / 390 * 100vw);
  }

  .top_timetable-subtitle {
    font-size: calc(16 / 390 * 100vw);
    letter-spacing: calc(13 / 390 * 100vw);
  }

  .top_timetable-message {
    margin-top: calc(20 / 390 * 100vw);
    border-radius: calc(41 / 390 * 100vw);
    padding: calc(12 / 390 * 100vw) calc(18.5 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
    letter-spacing: calc(-0.45 / 390 * 100vw);
  }
  
  .top_timetable_contents {
    width: 879px;
  }

  .timetable_greeting {
    width: 183px;
    top: 145px;
    left: 127px;
  }

  .timetable_hero {
    width: 183px;
    top: 177px;
    left: 127px;
  }

  .timetable_comic {
    width: 183px;
    top: 330px;
    left: 127px;
  }

  .timetable_gakushoku {
    width: 183px;
    height: 429px;
    top: 243px;
    left: 315px;
  }

  .timetable-vector {
    width: 12px;
    height: 12px;
  }

  .timetable_gakushoku-link {
    gap: 7px;
    left: 327px;
  }

  .timetable-gakushoku_text {
    font-weight: 700;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: -0.42px;
  }

  .timetable-gakushoku_text span {
    font-size: 10px;
    line-height: 140%;
    letter-spacing: -0.3px;
  }

  .timetable_cafe {
    top: 264px;
  }

  .timetable_bussanten {
    top: 300px;
  }

  .timetable_goods-global {
    top: 336px;
  }

  .timetable_goods-seikyo {
    top: 385px;
  }

  .timetable_materials {
    top: 434px;
  }

  .timetable_kids {
    top: 470px;
  }

  .timetable_reunion {
    top: 506px;
  }

  .timetable_party {
    top: 542px;
  }

  .timetable_pronet {
    top: 618px;
  }

  .timetable_greeting-live {
    width: 183px;
    top: 145px;
    left: 502px;
  }

  .timetable_hero-live {
    width: 183px;
    top: 177px;
    left: 502px;
  }

  .timetable_comic-live {
    width: 183px;
    top: 330px;
    left: 502px;
  }

  .timetable_networking {
    width: 183px;
    top: 453px;
    left: 692px;
}

  .timetable_comment-1 {
    width: 133px;
    top: 125px;
    left: 355px;
  }

  .timetable_comment-2 {
    width: 164px;
    top: 588px;
    left: 123px;
  }

  .top_timetable_txt {
    margin: calc(55 / 390 * 100vw) auto 0;
    font-size: calc(14 / 390 * 100vw);
    letter-spacing: calc(-0.42 / 390 * 100vw);
  }

}

/* ---------- top_tour ---------- */
.top_tour {
  margin-top: min(calc(146 / 1440 * 100vw),146px);
}

.top_tour_container {
  margin-top: min(calc(55 / 1440 * 100vw),55px);
}

.top-content_left {
  width: calc(861 / 1440 * 100vw);
  margin-left: auto;
  background-color: #F9F5E4;
  padding: min(calc(55 / 1440 * 100vw),55px) min(calc(52 / 1440 * 100vw),52px) min(calc(52 / 1440 * 100vw),52px) min(calc(147 / 1440 * 100vw),147px);
  position: relative;
}

.top-content_left-img {
  position: absolute;
  width: min(calc(617 / 1440 * 100vw),617px);
  height: min(calc(430 / 1440 * 100vw),430px);
  left: max(calc(-500 / 1440 * 100vw),-500px);
  top: max(calc(-6 / 1440 * 100vw),-6px);
}

.top-content_left-tour-title {
  font-family: "Kaisei Opti", serif;
  font-weight: 700;
  font-size: min(calc(48 / 1440 * 100vw),48px);
  line-height: auto;
  letter-spacing: max(calc(-1.44 / 1440 * 100vw),-1.44px);
  color: #333333;
}

.top-content_left-tour-text {
  margin-top: min(calc(24 / 1440 * 100vw),24px);
  font-weight: 700;
  font-size: min(calc(18 / 1440 * 100vw),18px);
  line-height: 120%;
  letter-spacing: max(calc(-0.54 / 1440 * 100vw),-0.54px);
  font-family: "Shippori Mincho", serif;
  color: #333333;
}

.top_tour-link-container {
  margin-top: min(calc(24 / 1440 * 100vw),24px);
}

.top_tour-link {
  display: inline-block;
  border-radius: min(calc(27.5 / 1440 * 100vw),27.5px);
  background-color: #0B318F;
  text-align: center;
  padding: min(calc(11 / 1440 * 100vw),11px) min(calc(38 / 1440 * 100vw),38px);
  color: #FFFFFF;
  font-weight: 700;
  font-size: min(calc(16 / 1440 * 100vw),16px);
  line-height: min(calc(28 / 1440 * 100vw),28px);
  letter-spacing: max(calc(-0.48 / 1440 * 100vw),-0.48px);
  border: min(calc(2 / 1440 * 100vw),2px) solid #0B318F;
  transition: 0.3s;
}

.top_tour-link:hover {  
  background-color: #FFFFFF;
  color: #0B318F;
}

.top_tour-sns-container {
  margin-top: min(calc(24 / 1440 * 100vw),24px);
  display: flex;
  align-items: center;
  gap: min(calc(20 / 1440 * 100vw),20px);
}

.top_tour-sns {
  transition: 0.3s;
}

.top_tour-sns:hover {
  opacity: 0.7;
}

.content_left-tour-instagram {
  width: min(calc(24 / 1440 * 100vw),24px);
}

.content_left-tour-x {
  width: min(calc(22 / 1440 * 100vw),22px);
} 

@media screen and (max-width: 768px) {
  .top_tour {
    margin-top: calc(95 / 390 * 100vw);
  }

  .top_tour_container {
    margin-top: calc(149 / 390 * 100vw);
  }

  .top-content_left {
    width: 100%;
    padding: calc(156 / 390 * 100vw) calc(30 / 390 * 100vw) calc(35 / 390 * 100vw);
  }

  .top-content_left-img {
    width: calc(369 / 390 * 100vw);
    height: calc(230 / 390 * 100vw);
    left: 2%;
    top: calc(-94 / 390 * 100vw);
  }

  .top-content_left-tour-title {
    font-size: calc(26 / 390 * 100vw);
    letter-spacing: 0;
  }

  .top-content_left-tour-text {
    margin-top: calc(18 / 390 * 100vw);
    font-weight: 500;
    font-size: calc(15 / 390 * 100vw);
    line-height: 140%;
    letter-spacing: 0;
    font-family: Zen Kaku Gothic New;
  }

  .top_tour-link-container {
    margin-top: calc(18 / 390 * 100vw);
  }

  .top_tour-link {
    border-radius: calc(27.5 / 390 * 100vw);
    padding: calc(11 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
    line-height: calc(28 / 390 * 100vw);
    letter-spacing: calc(-0.48 / 390 * 100vw);
    border: calc(2 / 390 * 100vw) solid #0B318F;
    width: 100%;
  }

  .top_tour-sns-container {
    margin-top: calc(20 / 390 * 100vw);
    gap: calc(20 / 390 * 100vw);
    justify-content: center;
  }

  .content_left-tour-instagram {
    width: calc(24 / 390 * 100vw);
  }

  .content_left-tour-x {
    width: calc(22 / 390 * 100vw);
  } 
}

/* ---------- top_access ---------- */
.top_access {
  margin-top: min(calc(128 / 1440 * 100vw),128px);
  padding-bottom: min(calc(121 / 1440 * 100vw),121px);
  background: linear-gradient(0deg, #423123, #DBB671 60%);
}

.top_access-content {
  margin: min(calc(53 / 1440 * 100vw),53px) auto 0;
  width: min(calc(1140 / 1440 * 100vw),1140px);
  padding: min(calc(88 / 1440 * 100vw),88px) min(calc(143 / 1440 * 100vw),143px);
  background: url(../img/top_access_bg.png)no-repeat center center / contain;
}

.top_access-top {
  text-align: center;
}

.top_access-top iframe {
  border: min(calc(1 / 1440 * 100vw),1px) solid #423123;
  width: 100%;
  height: min(calc(426 / 1440 * 100vw),426px);
}

.top_access-top-link-container {
  margin-top: min(calc(14 / 1440 * 100vw),14px);
  text-align: right;
}

.top_access-top-link {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: min(calc(14 / 1440 * 100vw),14px);
  line-height: 160%;
  letter-spacing: max(calc(-0.42 / 1440 * 100vw),-0.42px);
  transition: 0.3s;
  text-decoration: underline;
}

.top_access-top-link:hover {
  opacity: 0.7;
}

.top_access-under {
  display: flex;
  align-items: center;
  gap: min(calc(59 / 1440 * 100vw),59px);
  width: min(calc(674 / 1440 * 100vw),674px);
  margin: min(calc(36 / 1440 * 100vw),36px) auto 0;
}

.top_access-under-img {
  width: min(calc(315 / 1440 * 100vw),315px);
}

.top_access-under-right {
  width: min(calc(300 / 1440 * 100vw),300px);
}

.top_access-under-title {
  font-family: "Kaisei Opti", serif;
  font-weight: 700;
  font-size: min(calc(26 / 1440 * 100vw),26px);
  line-height: auto;
  letter-spacing: max(calc(-0.78 / 1440 * 100vw),-0.78px);
}

.top_access-under-address {
  margin-top: min(calc(15 / 1440 * 100vw),15px);
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: min(calc(16 / 1440 * 100vw),16px);
  line-height: 160%;
  letter-spacing: max(calc(-0.48 / 1440 * 100vw),-0.48px);
}

.top_access-under-access {
  margin-top: min(calc(30 / 1440 * 100vw),30px);
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: min(calc(14 / 1440 * 100vw),14px);
  line-height: 160%;
  letter-spacing: max(calc(-0.42 / 1440 * 100vw),-0.42px);
  position: relative;
}

.top_access-under-access::before {
  content: '';
  position: absolute;
  width: 100%;
  height: min(calc(2 / 1440 * 100vw),2px);
  border-top: min(calc(2 / 1440 * 100vw),2px) dotted #423123;
  left: 50%;
  transform: translateX(-50%);
  top: max(calc(-15 / 1440 * 100vw),-15px);
}

@media screen and (max-width: 768px) {
  .top_access {
    margin-top: calc(51 / 390 * 100vw);
    padding-bottom: calc(49 / 390 * 100vw);
    background: none;
  }

  .top_access-content {
    margin: calc(34 / 390 * 100vw) auto 0;
    width: 100%;
    padding: calc(55.5 / 390 * 100vw) calc(20 / 390 * 100vw) calc(65.5 / 390 * 100vw);
    background: url(../img/top-access-bg-sp.png)no-repeat center center / cover;
  }

  .top_access-top iframe {
    border: calc(1 / 390 * 100vw) solid #423123;
    height: calc(426 / 390 * 100vw);
  }

  .top_access-top-link-container {
    margin-top: calc(14 / 390 * 100vw);
  }

  .top_access-top-link {
    font-size: calc(14 / 390 * 100vw);
    letter-spacing: calc(-0.42 / 390 * 100vw);
  }

  .top_access-under {
    flex-direction: column;
    align-items: center;
    gap: calc(30 / 390 * 100vw);
    width: calc(315 / 390 * 100vw);
    margin: calc(36 / 390 * 100vw) auto 0;
  }

  .top_access-under-img {
    width: 100%;
  }

  .top_access-under-right {
    width: 100%;
  }

  .top_access-under-title {
    font-size: calc(26 / 390 * 100vw);
    letter-spacing: calc(-0.78 / 390 * 100vw);
  }

  .top_access-under-address {
    margin-top: calc(15 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
    letter-spacing: calc(-0.48 / 390 * 100vw);
  }

  .top_access-under-access {
    margin-top: calc(30 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
    letter-spacing: calc(-0.42 / 390 * 100vw);
  }

  .top_access-under-access::before {
    height: calc(2 / 390 * 100vw);
    border-top: calc(2 / 390 * 100vw) dotted #423123;
    top: calc(-15 / 390 * 100vw);
  }
}

/*----------  ----------*/

/* コンテンツ一覧ページ */

/*----------  ----------*/
.under-title-container {
  padding-top: min(calc(140 / 1440 * 100vw),140px);
  text-align: center;
  position: relative;
  z-index: 2;
}

.under-title-top {
  width: min(calc(169 / 1440 * 100vw),169px);
}

.under_section-title {
    font-family: "Fraunces", serif;
    font-weight: 700;
    font-size: min(calc(102 / 1440 * 100vw), 102px);
    line-height: auto;
    letter-spacing: max(calc(-3.06 / 1440 * 100vw), -3.06px);
    position: relative;
}

.under_section-subtitle {
    font-family: "Kaisei Opti", serif;
    font-weight: 700;
    font-size: min(calc(28 / 1440 * 100vw), 28px);
    line-height: auto;
    letter-spacing: min(calc(14 / 1440 * 100vw), 14px);
}


.full_content {
  max-width: 95%;
  position: relative;
  margin: min(calc(55 / 1440 * 100vw),55px) auto 0;
  display: flex;
  justify-content: center;
  z-index: 2;
}

.tabmenu {
  width: min(calc(209 / 1440 * 100vw),209px);
  padding: min(calc(13 / 1440 * 100vw),13px) 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-align: center;
  font-family: Zen Kaku Gothic New;
  font-size: min(calc(16 / 1440 * 100vw),16px);
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: min(calc(0.8 / 1440 * 100vw),0.8px);
  background: #FFFFFF;
  border: min(calc(1 / 1440 * 100vw),1px) solid #423123;
  transition: 0.3s;
}

.tabactive {
  color: #FFFFFF;
  background-color: #423123;
}

.active,
.hover {
  color: #F2F2F2;
  background-color: #423123;
}


.tabcontent {
  width: min(calc(1139 / 1440 * 100vw),1139px);
  top: min(calc(117 / 1440 * 100vw),117px);
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  display: flex;
  align-content: center;
  flex-wrap: wrap;
  gap: min(calc(60 / 1440 * 100vw),60px) min(calc(40 / 1440 * 100vw),40px);
}

.contents_item {
  width: min(calc(353 / 1440 * 100vw),353px);
  background: #FFFFFF;
  position: relative;
}

.contents_item-thumbnail {
  width: 100%;
  height: min(calc(200 / 1440 * 100vw),200px);
}

.contents_item-thumbnail img {
  object-fit: cover;
  border: min(calc(4 / 1440 * 100vw),4px) solid #423123;
  width: 100%;
  height: inherit;
}

.contents_item_txt {
  padding: min(calc(20 / 1440 * 100vw),20px) min(calc(25 / 1440 * 100vw),25px) min(calc(95 / 1440 * 100vw),95px);
}

.contents_item_txt_title {
  font-family: "Kaisei Opti", serif;
  font-weight: 700;
  font-size: min(calc(24 / 1440 * 100vw),24px);
  line-height: 140%;
}

.contents_item_txt_txt {
  margin-top: min(calc(12 / 1440 * 100vw),12px);
  font-weight: 500;
  font-size: min(calc(15 / 1440 * 100vw),15px);
  line-height: 140%;
}

.contents_item_txt_time {
  padding-left: min(calc(24 / 1440 * 100vw),24px);
  margin-top: min(calc(12 / 1440 * 100vw),12px);
  font-weight: 500;
  font-size: min(calc(15 / 1440 * 100vw),15px);
  line-height: 140%;
  position: relative;
}

.contents_item_txt_time::after {
  content: '';
  position: absolute;
  width: min(calc(22 / 1440 * 100vw),22px);
  height: min(calc(22 / 1440 * 100vw),22px);
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/contents_time.png)no-repeat center center / contain;
}

.contents_item_txt_place {
  padding-left: min(calc(24 / 1440 * 100vw),24px);
  margin-top: min(calc(6 / 1440 * 100vw),6px);
  font-weight: 500;
  font-size: min(calc(15 / 1440 * 100vw),15px);
  line-height: 140%;
  position: relative;
}

.contents_item_txt_place::after {
  content: '';
  position: absolute;
  width: min(calc(22 / 1440 * 100vw),22px);
  height: min(calc(22 / 1440 * 100vw),22px);
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/contents_time.png)no-repeat center center / contain;
}

.contents_item_link-container {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: min(calc(25 / 1440 * 100vw),25px);
  text-align: center;
  width: 100%;
}

.contents_item_link {
  display: inline-block;
  font-weight: 700;
  font-size: min(calc(16 / 1440 * 100vw),16px);
  line-height: 120%;
  letter-spacing: min(calc(0.8 / 1440 * 100vw),0.8px);
  color: #FFFFFF;
  padding: min(calc(13 / 1440 * 100vw),13px) min(calc(62 / 1440 * 100vw),62px);
  border-radius: min(calc(24.5 / 1440 * 100vw),24.5px);
  background-color: #423123;
  border: min(calc(2 / 1440 * 100vw),2px) solid #423123;
  transition: 0.3s;
  position: relative;
}

.contents_item_link:hover {
  opacity: 0.7;
}

.contents_item_link::after {
  content: '';
  position: absolute;
  width: min(calc(15 / 1440 * 100vw),15px);
  height: min(calc(8 / 1440 * 100vw),8px);
  top: 50%;
  transform: translateY(-50%);
  right: min(calc(20 / 1440 * 100vw),20px);
  background: url(../img/contents-vector.png)no-repeat center center / contain;
}

@media screen and (max-width: 768px) {
  .under-title-container {
    padding-top: calc(70.5 / 390 * 100vw);
  }

  .under-title-top {
    width: calc(169 / 390 * 100vw);
  }

  .under_section-title {
      font-size: calc(62 / 390 * 100vw);
      letter-spacing: calc(-1.86 / 390 * 100vw);
  }

  .under_section-subtitle {
      font-size: calc(16 / 390 * 100vw);
      letter-spacing: calc(8 / 390 * 100vw);
  }

  .full_content {
    margin: calc(40 / 390 * 100vw) auto 0;
  }

  .tabmenu {
    width: calc(113 / 390 * 100vw);
    padding: calc(13 / 390 * 100vw) 0;
    font-size: calc(16 / 390 * 100vw);
    letter-spacing: calc(0.8 / 390 * 100vw);
    border: calc(1 / 390 * 100vw) solid #423123;
  }

  .tabcontent {
    width: calc(353 / 390 * 100vw);
    top: calc(94 / 390 * 100vw);
    flex-direction: column;
    gap: calc(40 / 390 * 100vw);
  }

  .contents_item {
    width: 100%;
  }

  .contents_item-thumbnail {
    height: calc(200 / 390 * 100vw);
  }

  .contents_item-thumbnail img {
    border: calc(4 / 390 * 100vw) solid #423123;
  }

  .contents_item_txt {
    padding: calc(20 / 390 * 100vw) calc(25 / 390 * 100vw) calc(84 / 390 * 100vw);
  }

  .contents_item_txt_title {
    font-size: calc(24 / 390 * 100vw);
  }

  .contents_item_txt_txt {
    margin-top: calc(12 / 390 * 100vw);
    font-size: calc(12 / 390 * 100vw);
  }

  .contents_item_txt_time {
    padding-left: calc(24 / 390 * 100vw);
    margin-top: calc(12 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
  }

  .contents_item_txt_time::after {
    width: calc(22 / 390 * 100vw);
    height: calc(22 / 390 * 100vw);
  }

  .contents_item_txt_place {
    padding-left: calc(24 / 390 * 100vw);
    margin-top: calc(6 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
  }

  .contents_item_txt_place::after {
    width: calc(22 / 390 * 100vw);
    height: calc(22 / 390 * 100vw);
  }

  .contents_item_link-container {
    bottom: calc(20 / 390 * 100vw);
  }

  .contents_item_link {
    font-size: calc(16 / 390 * 100vw);
    letter-spacing: calc(0.8 / 390 * 100vw);
    padding: calc(13 / 390 * 100vw) calc(62 / 390 * 100vw);
    border-radius: calc(24.5 / 390 * 100vw);
    border: calc(2 / 390 * 100vw) solid #423123;
  }

  .contents_item_link::after {
    width: calc(15 / 390 * 100vw);
    height: calc(8 / 390 * 100vw);
    right: calc(20 / 390 * 100vw);
  }
}

/*----------  ----------*/

/* コンテンツ個別ページ */

/*----------  ----------*/

.content_main {
  position: relative;
  z-index: 2;
}

.content_container {
  position: relative;
  background-color: #F9F5E4;
  width: min(calc(1140 / 1440 * 100vw),1140px);
  margin: min(calc(290 / 1440 * 100vw),290px) auto 0;
  padding: min(calc(256 / 1440 * 100vw),256px) min(calc(160 / 1440 * 100vw),160px) min(calc(108 / 1440 * 100vw),108px);
}

.content_img {
  position: absolute;
  width: min(calc(810 / 1440 * 100vw),810px);
  height: min(calc(458 / 1440 * 100vw),458px);
  left: 50%;
  transform: translateX(-50%);
  top: max(calc(-240 / 1440 * 100vw),-240px);
}

.content_img img {
  object-fit: cover;
  border: min(calc(4 / 1440 * 100vw),4px) solid #423123;
  width: 100%;
  height: inherit;
}

.content_name {
  font-family: "Kaisei Opti", serif;
  font-size: min(calc(48 / 1440 * 100vw),48px);
  font-weight: 700;
  line-height: 140%;
}

.content_time {
  padding-left: min(calc(24 / 1440 * 100vw),24px);
  margin-top: min(calc(12 / 1440 * 100vw),12px);
  font-weight: 500;
  font-size: min(calc(15 / 1440 * 100vw),15px);
  line-height: 140%;
  position: relative;
}

.content_time::after {
  content: '';
  position: absolute;
  width: min(calc(22 / 1440 * 100vw),22px);
  height: min(calc(22 / 1440 * 100vw),22px);
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/contents_time.png)no-repeat center center / contain;
}

.content_place {
  padding-left: min(calc(24 / 1440 * 100vw),24px);
  margin-top: min(calc(6 / 1440 * 100vw),6px);
  font-weight: 500;
  font-size: min(calc(15 / 1440 * 100vw),15px);
  line-height: 140%;
  position: relative;
}

.content_place::after {
  content: '';
  position: absolute;
  width: min(calc(22 / 1440 * 100vw),22px);
  height: min(calc(22 / 1440 * 100vw),22px);
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/contents_time.png)no-repeat center center / contain;
}

.content_text {
  font-weight: 500;
  font-size: min(calc(20 / 1440 * 100vw),20px);
  line-height: 140%;
  margin-top: min(calc(18 / 1440 * 100vw),18px);
}

.content_text a {
  text-decoration: underline;
  transition: 0.3s;
}

.content_text a:hover {
  opacity: 0.7;
}

.content_others {
  margin-top: min(calc(75 / 1440 * 100vw),75px);
  padding-bottom: min(calc(80 / 1440 * 100vw),80px);
  position: relative;
  z-index: 2;
}

.content_others .under-title-container {
  padding-top: 0;
}

.content_others_contents {
  margin: min(calc(60 / 1440 * 100vw),60px) auto 0;
  width: min(calc(1139 / 1440 * 100vw),1139px);
  display: flex;
  flex-wrap: wrap;
  gap: min(calc(60 / 1440 * 100vw),60px) min(calc(40 / 1440 * 100vw),40px);
}

@media screen and (max-width: 768px) {
  .content_container {
    width: 100%;
    margin: calc(156 / 390 * 100vw) auto;
    padding: calc(130 / 390 * 100vw) calc(20 / 390 * 100vw) calc(38 / 390 * 100vw);
  }

  .content_img {
    width: calc(353 / 390 * 100vw);
    height: calc(211 / 390 * 100vw);
    top: calc(-106 / 390 * 100vw);
  }

  .content_img img {
    border: calc(4 / 390 * 100vw) solid #423123;
  }

  .content_name {
    font-size: calc(26 / 390 * 100vw);
  }

  .content_time {
    padding-left: calc(24 / 390 * 100vw);
    margin-top: calc(18 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
  }

  .content_time::after {
    width: calc(22 / 390 * 100vw);
    height: calc(22 / 390 * 100vw);
  }

  .content_place {
    padding-left: calc(24 / 390 * 100vw);
    margin-top: calc(6.5 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
  }

  .content_place::after {
    width: calc(22 / 390 * 100vw);
    height: calc(22 / 390 * 100vw);
  }

  .content_text {
    font-size: calc(15 / 390 * 100vw);
    margin-top: calc(18 / 390 * 100vw);
  }

  .content_others {
    margin-top: calc(50 / 390 * 100vw);
    padding-bottom: calc(80 / 390 * 100vw);
  }

  .content_others_contents {
    margin: calc(40 / 390 * 100vw) auto 0;
    width: calc(353 / 390 * 100vw);
    flex-direction: column;
    gap: calc(40 / 390 * 100vw);
  }
}

/* ---------- js ---------- */
.js_body.is_hidden {
  overflow: hidden;
}

.js_hamburger_bar {
  transition: top 0.24s, transform 0.24s, opacity 0.24s;
}

.js_hamburger_bar.is_active:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(150deg);
}

.js_hamburger_bar.is_active:nth-child(2) {
  top: 50%;
  transform: translateY(-50%) rotate(-150deg);
}

.js_nav {
  transition: opacity 0.24s;
}

.js_nav.is_active {
  opacity: 1;
  pointer-events: auto;
}

@media screen and (max-width: 1280px) {
  .js_nav.is_active {
    display: block;
    background-color: #E8EFF9;
  }
}

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


/* fuwa start */
.fadeUp {
  -webkit-animation-name: fadeUpAnime;
  animation-name: fadeUpAnime;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@keyframes fadeUpAnime {
  0% {
      opacity: 0;
      -webkit-transform: translateY(100px);
      transform: translateY(100px);
  }
  100% {
      opacity: 1;
      -webkit-transform: translateY(0);
      transform: translateY(0);
  }
}
.fuwa {
  opacity: 0;
}
/* fuwa end */

.top_live-content {
  margin-top: min(calc(40 / 1440 * 100vw),40px);
  text-align: center;
}

.top_live-item {
  margin: 0 auto;
  width: min(calc(596 / 1440 * 100vw),596px);
  height: min(calc(398 / 1440 * 100vw),398px);
  border: min(calc(8 / 1440 * 100vw),8px) solid #423123;
  box-sizing: content-box;
}

.top_live-item iframe {
  width: inherit;
  height: inherit;
}

.top_live-link-container {
  margin-top: min(calc(39 / 1440 * 100vw),39px);
}

.top_live-link {
  display: inline-block;
  border-radius: min(calc(80 / 1440 * 100vw),80px);
  padding: min(calc(22 / 1440 * 100vw),22px) min(calc(103 / 1440 * 100vw),103px) min(calc(20 / 1440 * 100vw),20px) min(calc(77 / 1440 * 100vw),77px);
  font-weight: 700;
  font-size: min(calc(20 / 1440 * 100vw),20px);
  letter-spacing: max(calc(-0.6 / 1440 * 100vw),-0.6px);
  color: #423123;
  border: min(calc(2 / 1440 * 100vw),2px) solid #423123;
  background-color: #FAF6DB;
  font-family: "Shippori Mincho", serif;
  position: relative;
  transition: 0.3s;
}

.top_live-link:hover {
  opacity: 0.7;
}

.top_live-link::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: min(calc(23 / 1440 * 100vw),23px);
  width: min(calc(38 / 1440 * 100vw),38px);
  height: min(calc(38 / 1440 * 100vw),38px);
  background: url(../img/live-button.png)no-repeat center center / contain;
}

@media screen and (max-width: 768px) {
  .top_live-content {
    margin-top: calc(40 / 390 * 100vw);
  }

  .top_live-item {
    width: calc(353 / 390 * 100vw);
    height: calc(200 / 390 * 100vw);
    border: calc(4 / 390 * 100vw) solid #423123;
  }

  .top_live-link-container {
    margin-top: calc(40 / 390 * 100vw);
  }

  .top_live-link {
    border-radius: calc(80 / 390 * 100vw);
    padding: calc(22 / 390 * 100vw) calc(103 / 390 * 100vw) calc(20 / 390 * 100vw) calc(77 / 390 * 100vw);
    font-size: calc(20 / 390 * 100vw);
    letter-spacing: calc(-0.6 / 390 * 100vw);
    border: calc(2 / 390 * 100vw) solid #423123;
  }

  .top_live-link::after {
    right: calc(23 / 390 * 100vw);
    width: calc(38 / 390 * 100vw);
    height: calc(38 / 390 * 100vw);
  }
}