@charset "UTF-8";

html {
  scroll-behavior: smooth;
	scroll-padding-top: 80px;
}

html,
body {
  font-size: 62.5%;
  width: 100%;
  margin: 0;
  padding: 0;
}

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

* {
  margin: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
}

body {
  background-color: #090806;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.6rem;
  line-height: 1.93;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-x: hidden;
}

ul,
li {
  list-style-type: none;
}

a {
  text-decoration: none;
  cursor: pointer;
  color: #fff;
  transition: .3s ease;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

.en {
  font-family: "Montserrat", sans-serif;
}

.sans {
  font-family: "Noto Sans JP", sans-serif;
}

.serif {
  font-family: "Noto Serif JP", serif;
}

.sp-only {
  display: none;
}

/* header --------------------------------------------*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

.header-wrapper {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  background: rgba(0, 0, 0, 0.7);
  height: 80px;
  position: relative;
	z-index:999;
}

.page-width {
  margin: 0 auto;
  max-width: 1800px;
  width: 93.75%;
  height: 100%;
}

.header-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}

.header-logo {
  max-width: 108px;
  width: 100%;
  z-index: 999;
}

.header-logo a {
  display: block;
}

.header-logo a:hover {
  opacity: .7;
}

.header-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nav-list {
  display: flex;
  align-items: center;
  gap: 4.4rem;
}

.nav-link:hover {
  opacity: .7;
}

.nav-column {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.nav-en {
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
}

.nav-ja {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  color: #fff;
}

.nav-border {
  position: relative;
}

.nav-border:before,
.nav-border:after {
  content: '';
  width: 1px;
  height: 35px;
  display: inline-block;
  background-color: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.nav-border:before {
  left: -2.2rem;
}

.nav-border:after {
  right: -2.2rem;
}

.hamburger {
  display: none;
}

.header-sns {
  margin-top: 1.2rem;
	position:relative;
	z-index:10;
}

.sns-list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.4rem;
}

.sns-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: .6;
}

.sns-item a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sns-item a:hover {
  opacity: 1;
}

.sp-sns-list {
  display: none;
}
/* GTranslate */
.header-lang {
  position: relative;
	z-index:99999;
}

.header-lang__head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0;
  border: 0;
  background: none;
  color: #fff;
  font-size: 2.9rem;
  font-weight: 400;
  cursor: pointer;
}

.header-lang__arrow {
  width: 9px;
  height: 9px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(135deg);
  transition: transform .3s;
}

.header-lang.is-open .header-lang__arrow {
  transform: rotate(-45deg);
}

/* メニュー */
.header-lang__body {
  position: absolute;
  top: 100%;
  right: -10px;
  width: 108px;
  padding: 10px 0;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, .08);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-5px);
  transition: .2s;
	z-index:99999;
}

.header-lang.is-open .header-lang__body {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.header-lang__item {
  display: block;
  width: 100%;
  padding: 8px 10px;
  border: 0;
  background: none;
  color: #aaa;
  font-size: 1.8rem;
  font-weight: 400;
	line-height:1;
  text-align: center;
  cursor: pointer;
}

.header-lang__item:hover {
  color: #222;
}

.header-lang__item.is-current {
  color: #222;
}

/* GTranslate本体は非表示 */
.header-lang .gtranslate_wrapper {
  display: none;
}
/* kv -------------------------------------------------*/
.kv {
  position: relative;
  height: 100vh;
  min-height: 950px;
}

.kv-back {
  width: 100%;
  height: 100%;
  position: relative;
}

.kv-back div {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 100%;
  margin: 0;
}

.kv-back01 {
  background-image: url(../images/kv01.jpg);
}

.kv-back02 {
  background-image: url(../images/kv02.jpg);
}

.kv-back03 {
  background-image: url(../images/kv03.jpg);
}

.kv-back img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kv .slick-dotted.slick-slider {
  margin-bottom: 0;
}

.line-wrap {
  display: flex;
  justify-content: center;
  gap: 1.3rem;
  position: absolute;
  bottom: 8rem;
  left: 50%;
	transform:translateX(-50%);
  z-index: 10;
}

.line-wrap li {
  width: 55px;
  height: 4px;
  background: #fff;
  cursor: pointer;
  border-radius: 999px;
  opacity: .4;
  transition: .3s ease;
}

.line-wrap li:hover,
.line-wrap li.slick-active {
  opacity: 1;
}

.line-wrap li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}

.kv-content {
  position: absolute;
  left: -5%;
  top: 30%;
  width: 100%;
}
.kv-logo {
  max-width: 755px;
}

.kv-logo img {
  width: 100%;
  height: 100%;
}
.kv-movie {
  position: absolute;
  bottom: 3.2rem;
  left: 0;
  width: 100%;
}

.kv-movie-inner {
  width: 37.5vw;
}

.kv-movie-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.kv-movie-head h2 {
  font-size: 3rem;
  font-weight: 400;
  line-height: 1;
}

.more-btn {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  display: inline-block;
  padding-right: 1.6rem;
  position: relative;
}

.more-btn:after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  right: 0;
  margin: auto;
}

.more-btn:hover {
  opacity: .7;
}

.kv .movie-list {
  display: flex !important;
}

.kv-movie-slider .slick-list {
  margin: 0 -12px;
}

.kv-movie-slider .slick-slide {
  margin: 0 12px;
}

.movie-item {
  border-radius: 10px;
  overflow: hidden;
  position: relative;
	cursor:pointer;
}

.movie-item:before,
.core-movie-img:before {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  width: 52px;
  height: 52px;
  background-color: #fff;
  opacity: .3;
}
.core-movie-img:before{
  width: 128px;
  height: 128px;	
}
.movie-item:after,
.core-movie-img:after{
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-40%, -50%);
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: 13px 0 13px 23px;
  opacity: .5;
}
.core-movie-img:after{
	border-width: 23px 0 23px 33px;	
}
.movie-item img {
  width: 100%;
  height: 100%;
}

/* about -------------------------------------------------*/
.about-back {
  position: relative;
  background-repeat: no-repeat;
  background-size: contain;
}

.about-back-top {
  background-position: center bottom;
  background-image: url(../images/about-back-top.png);
  padding-top: 16rem;
}

.about-back-bottom {
  background-position: center top;
  background-image: url(../images/about-back-bottom.png);
}

.about-flex {
  display: flex;
  align-items: center;
  padding-bottom: 12rem;
}

.about-info {
  width: 410px;
}

.about-ttl h2 {
  font-size: 10.6rem;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 2rem;
}

.about-ttl p {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
}

.about-heading {
  margin: 6.5rem 0 2rem;
  font-size: 3.4rem;
  font-weight: 400;
  line-height: 1.53;
}
.about-txt{
	font-size:1.8rem;
	font-weight:500;
	line-height:1.72;
}
.about-img-sp{
  display: none;
}
.about-img {
  width: calc(100% - 410px);
	 flex: 1;
    margin-right: calc(50% - 50vw);
}

.about-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.center {
  text-align: center;
}

.section-ttl {
  padding-bottom: 3rem;
}

.section-ttl h2 {
  font-size: 6rem;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 1rem;
}

.section-ttl p {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
}

.core-img {
  display: flex;
}

.core-img div {
  width: 50%;
}

.core-img div img,
.core-img-sp img {
  width: 100%;
  height: 100%;
  aspect-ratio: 320 / 169;
  object-fit: cover;
}

.core-flex {
  display: flex;
  justify-content: space-between;
  padding: 3.2rem 0 18.8rem;
  gap: 8%;
}

.core-info {
  width: 46%;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.core-img-sp{
  display: none;
}
.core-ttl {
  font-size: 2.9rem;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 1.7rem;
}

.program-btn {
  margin-top: auto;
  padding-top: 2.4rem;
}

.program-btn .btn {
  margin: 0 auto;
}

.btn {
  background-color: rgba(0, 0, 0, 0.6);
  border: 1px solid #fff;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  color: #fff;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 43px;
  width: 100%;
  max-width: 213px;
  text-align: center;
  transition: 0.3s;
  z-index: 1;
  position: relative;
}

.btn:hover {
  background-color: #fff;
  color: #000;
}

.btn span {
  padding-right: 2.4rem;
  position: relative;
}

.btn span:after {
  content: '';
  width: 9px;
  height: 9px;
  border: 0;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  right: 0;
  margin: auto;
}

.btn:hover span:after {
  border-top: solid 1px #000;
  border-right: solid 1px #000;
}
.top-area-list{
margin-top:3.7rem;
}
.top-area-img {
  overflow: hidden;
}

.top-area-img img{
	width:100%;
	height:100%;
	aspect-ratio: 367 / 229;
	object-fit:cover;
	transition: .3s ease;
}

.top-area-link:hover .top-area-img img {
  transform: scale(1.05, 1.05);
}
.top-area-ttl{
	font-size:1.8rem;
	font-weight:500;
	margin-top:1.7rem;
	line-height:1.55;
}
.area-slider .slick-list {
  margin: 0 -15px;
}

.area-slider .slick-slide {
  margin: 0 15px;
}
.top-area-btn{
	margin-top:7.7rem;
}
.top-area-btn .btn{
	margin:0 auto;	
}
/* stamp -------------------------------------------------*/
.stamp {
  padding-top: 16.5rem;
}

.stamp-flex {
  display: flex;
  align-items: center;
	gap:7.3%;
  margin-bottom: 3.8rem;
}

.stamp-info {
  width: 53.6%;
}

.stamp-map {
  width: 39.1%;
}

.stamp-content {
  display: flex;
  gap: 50px;
  padding-top: 3rem;
}

.stamp-detail {
  width: calc(100% - 370px);
}

.stamp-img {
  width: 320px;
  text-align: center;
}

.stamp-head {
  font-size: 2rem;
  font-weight: 500;
	line-height:1.5;
  margin-bottom: 1.3rem;
}
.stamp-link-head{
	margin-bottom: 0;
}
.stamp-info-ttl{
	margin-bottom:2.5rem;
}
.stamp-info-ttl img {
  width: 100%;
  height: 100%;
}
.stamp-box{
	font-size:1.4rem;
	font-weight:500;
	line-height:1.6;
	border:1px solid #E8A95E;
	display:inline-block;
	padding:0 0.8rem;
}
.stamp-date{
	font-size:2.4rem;
	font-weight:500;
	line-height:1.55;
	margin:0.5rem 0 1rem;
}
.stamp-detail .stamp-att{
	margin-bottom:3.6rem;
}
.stamp-txt {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.68;
	margin-bottom:4.5rem;
}
.stamp-chance{
display:flex;
	flex-direction:column;
	gap:0.4rem;
	margin-bottom:2.7rem;
}
.chance-flex{
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.chance-img{
	display:flex;
	align-items:center;
	gap:0.5rem;
}
.chance-icon{
	width:37px;
}
.chance-icon img{
	width:100%;
	height:100%;
	object-fit:contain;
}
.chance-line{
	flex-grow: 2;
	padding:0 1rem;
}
.chance-line hr{
	border:none;
	border-top:1px solid #626262;	
}
.chance-txt{
font-size:1.6rem;
	font-weight:500;
	line-height:1.5;
}
.stamp-link {
  display: block;
}

.stamp-link img {
  width: 100%;
  height: 100%;
  transition: .3s ease;
}

.stamp-link:hover img {
  transform: scale(1.05, 1.05);
}
.stamp-soon{
	font-size:2rem;
	border:1px solid #E8A95E;
	padding:1.4rem;
}
.stamp-slider {
  margin: 0 !important;
}

.stamp-slider-img {
  max-width: 224px;
  text-align: center;
  margin: 0 auto;
}

.stamp-slider-txt {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.85;
  color: #E8A95E;
  margin-top: 2.4rem;
}

.dots-wrap {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-top: 2rem;
}

.dots-wrap li {
  width: 34px;
  height: 34px;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  cursor: pointer;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 34px;
  transition: 0.3s;
}

.dots-wrap li.slick-active,
.dots-wrap li:hover {
  background-color: #E8A95E;
}

.stamp-att {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.83;
}

.orange {
  color: #E8A95E;
}

.js-modal,
.js-movie-modal{
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 9999;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.5s ease;
}

.js-modal.is-open,
.js-movie-modal.is-open{
  visibility: visible;
  opacity: 1;
}

.modal-bg {
  background: rgba(0, 0, 0, 0.6);
  height: 100vh;
  position: absolute;
  width: 100%;
}

.modal-container {
  background-color: #000;
  border: 1px solid #fff;
  border-radius: 20px;
  left: 50%;
  padding: 45px 27px;
  position: absolute;
  width: 100%;
  max-width: 338px;
  top: 50%;
  transform: translate(-50%, -50%) scale(0.9);
  opacity: 0;
  transition: transform 0.5s ease, opacity 0.5s ease;
}
.js-movie-modal .modal-container {
	border: none;
	padding: 0;
	border-radius: 0;
	max-width: 769px;
	height:auto;
}
.movie-modal-video{
	width:100%;
	height:100%;
}
.js-modal.is-open .modal-container,
.js-movie-modal.is-open .modal-container{
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}

.modal-close {
  width: 68px;
  height: 68px;
  background-color: #000;
  border: 1px solid #fff;
  border-radius: 999px;
  position: absolute;
  top: -24px;
  right: -20px;
  cursor: pointer;
}

.modal-close::before,
.modal-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 40px;
  background: #fff;
}

.modal-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.modal-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.modal-img {
  width: 100%;
  height: 100%;
  aspect-ratio: 95 / 59;
  object-fit: cover;
display:block;
}
.modal-icon {
  width: 50px;
  height: auto;
  object-fit: contain;
display:block;
	margin:0.7rem 0;
}
.modal-head{
	font-size:1.4rem;
	font-weight:500;
	line-height:1.5;
}
.modal-title {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom:1.2rem;
}
.modal-table{
    width: 100%;
    margin-top: 1rem;
}
.modal-table table {
    width: 100%;
    border-collapse: collapse;
}
.modal-table table th,
.modal-table table td {
    text-align: left;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.43;
    vertical-align: top;
	padding-bottom:1rem;
}
.modal-table table th{
  width:75px ;
}
.modal-table table td {
  width:calc(100% - 75px) ;
}
.modal-btn {
  margin-top: 2rem;
}

.modal-btn .btn {
  margin: 0 auto;
}
/*  prize-------------------------------------------------*/
.prize{
	margin-top:11.2rem;
}
.prize-head {
  font-size: 2.6rem;
  font-weight: 500;
}

.prize-list {
  display: flex;
	justify-content:center;
  flex-wrap: wrap;
  gap: 8rem 3.3rem;
  margin-top: 2.2rem;
}

.prize-item {
  width: calc((100% - (3.3rem * 3))/4);
}
.prize-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 425 / 278;
}
.prize-ttl {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.4;
  margin: 2rem 0 0.8rem;
}
.prize-number {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.55;
  margin-bottom:0.8rem;
}
.prize-txt {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7;
}
/*  news-------------------------------------------------*/
.news {
  padding: 23.5rem 0 19.6rem;
}

.news .news-list {
  margin-top: 2.2rem;
}

.news-list {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #464646;
}

.news-item {
  border-bottom: 1px solid #464646;
}

.news-item a {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  position: relative;
  padding: 2.5rem 7rem 2.5rem 0;
}

.news-item a:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

.news-item a:after {
  content: '';
  width: 12px;
  height: 12px;
  border: 0;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  right: 3.5rem;
  margin: auto;
}
.news-head{
  display: flex;
  align-items: center;
  gap:2.5rem;
}
.news-tag {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  padding: 0.5rem;
  width: 140px;
  text-align: center;
}

.news-tag.hold {
  background-color: #503A1F;
}

.news-tag.business {
  background-color: #1F3050;
}

.news-date,
.news-ttl {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
}

.news-btn {
  margin-top: 4rem;
}

.news-btn .btn {
  margin: 0 auto;
}

/*  sponsor-------------------------------------------------*/
.sponsor {
  background-color: #fff;
  padding: 6rem 0 8rem;
  margin-bottom: 14.6rem;
}

.page-width-narrow {
  max-width: 1268px;
}

.sponsor-ttl,
.sponsor-box h3 {
  color: #E8A95E;
  font-size: 2rem;
  font-weight: 500;
  align-items: center;
  display: flex;
  text-align: center;
  justify-content: center;
  margin-bottom: 1rem;
}

.sponsor-ttl::before,
.sponsor-ttl::after {
  background-color: #E8A95E;
  content: "";
  flex-grow: 1;
  height: 1px;
}

.sponsor-ttl::before {
  margin-right: 3rem;
}

.sponsor-ttl::after {
  margin-left: 3rem;
}

.sponsor-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.sponsor-list-top {
  gap: 7rem;
}

.sponsor-list-top .sponsor-item {
  max-width: 282px;
  width: calc((100% - 7rem)/2);
}

.sponsor-list-middle {
  gap: 2.2rem 4.4rem;
  margin-top: 1rem;
}

.sponsor-list-middle .sponsor-item {
  width: calc((100% - (4.4rem * 6))/7);
}

.sponsor-item a {
  display: block;
}

.sponsor-item a:hover {
  opacity: .7;
}

.sponsor-item a img {
  width: 100%;
  height: 100%;
}

.sponsor-box {
  border: 1px solid #E8A95E;
  padding: 1.7rem 6rem;
  margin: 2rem 0 3rem;
}

.sponsor-box .sponsor-list {
  gap: 3rem;
}

.sponsor-box .sponsor-item {
  width: calc((100% - (3rem * 4))/5);
}

.sponsor-list-bottom {
  gap: 2rem 3rem;
}

.sponsor-list-bottom .sponsor-item {
  width: calc((100% - (3rem * 7))/8);
}

/*  float-------------------------------------------------*/
.float {
  position: fixed;
  bottom: 4rem;
  right: 3.125%;
  z-index: 10;
  width: 100%;
  max-width: 374px;
}

.float-link {
  display: block;
}

.float-link img {
  width: 100%;
  height: 100%;
  transition: .3s ease;
}

.float-link:hover img {
  transform: scale(1.05, 1.05);
}

/*  footer-------------------------------------------------*/
.footer {
  padding: 12.5rem 0 5.4rem;
}

.banner-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 3.5rem;
  margin-bottom: 13rem;
}

.banner-item {
  width: calc((100% - (3.5rem * 5))/6);
}

.banner-item a {
  display: block;
}

.banner-item a:hover {
  opacity: .7;
}

.banner-item a img {
  width: 100%;
  height: 100%;
}

.footer-flex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 14.2rem;
}

.footer-logo {
  max-width: 160px;
}

.footer-logo a {
  display: block;
}

.footer-logo a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.footer-logo a:hover,
.footer-item a:hover {
  opacity: .7;
}

.footer-link {
  display: flex;
  gap: 3.5rem;
}

.footer-link .sns-list {
  align-items: flex-start;
}

.footer-list {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(3, auto);
  gap: 1rem 5.5rem;
}

.footer-item a {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.3;
  display: block;
}

.footer-copy {
  font-size: 1.4rem;
  font-weight: 400;
}

.fadein {
  opacity: 0;
  transform: translate(0, 0);
  transition: all 1.5s;
}

.fadein-bottom {
  transform: translate(0, 30px);
}

.scrollin {
  opacity: 1 !important;
  transform: translate(0, 0) !important;
}

/*  page-------------------------------------------------*/
/*  program-------------------------------------------------*/
.page{
  position: relative;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center top;
  background-image: url(../images/page-back.png);
  padding-top: 14.5rem;
}
.page-ttl{
  margin-bottom: 7.2rem;
}
.page-ttl h1{
  font-size: 7.6rem;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 2rem;
}

.page-ttl p{
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
}
.core .core-ttl{
	padding-left:7rem;
	position:relative;
}
.core .core-ttl:before{
	content: '';
	display: inline-block;
	width: 60px;
	height: 60px;
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
}
.core .core-ttl-m:before{
	background-image: url(../images/icon-stamp-a.png);
}
.core .core-ttl-r:before{
	background-image: url(../images/icon-stamp-b.png);
}
.page-heading{
  font-size: 3.4rem;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 5.6rem;
}
.program-flex{
  display: flex;
  gap:3.7%;
}
.program-info{
  width: 27.7%;
}
.program-img{
  flex: 1;
    margin-right: calc(50% - 50vw);
    width: 31.4%;
}
.program-ttl{
  font-size: 5rem;
  font-weight: 400;
  line-height: 1.08;
  margin-bottom: 1.8rem;
}
.program-table{
  margin: 5.2rem auto 0;
    width: 100%;
    border-bottom: solid 1px #503A20;
}
.program-table table {
    width: 100%;
    border-collapse: collapse;
}
.program-table table tr {
    border-top: solid 1px #503A20;
}
.program-table table th,
.program-table table td {
  color: #E8A95E;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.43;
    padding: 2.8rem 0;
    vertical-align: top;
}
.program-table table th{
  width:108px ;
}
.program-table table td {
  width:calc(100% - 108px) ;
}
.little-width{
	width:83.8%;	
}
.m-cont{
	background-color:#1F3050;
	padding:7.5rem 0;
	margin-top:10.9rem;
}
.m-cont-flex{
	display:flex;
	align-items:center;
	gap:3.5%;
}
.m-cont-img{
	width:50.6%;
}
.m-cont-img img{
	width:100%;
	height:100%;	
}
.m-cont-info{
	width:45.9%;
	max-width:662px;
}
.m-cont-block{
	padding-bottom:5.3rem;
	margin-bottom:3.3rem;
	border-bottom:1px solid #E8A95E;
}
.m-cont-ttl{
	font-size:3.4rem;
	font-weight:400;
	line-height:1.5;
	margin-bottom:1.3rem;
}
.m-cont-table{
  margin-top: 1.5rem;
    width: 100%;
    border-bottom: solid 1px #464646;
}
.m-cont-table table {
    width: 100%;
    border-collapse: collapse;
}
.m-cont-table table tr {
    border-top: solid 1px #464646;
}
.m-cont-table table th,
.m-cont-table table td {
  color: #E8A95E;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.43;
    padding: 1rem 0;
    vertical-align: top;
}
.m-cont-table table td a{
	color: #E8A95E;
}
.m-cont-table table td .small{
	font-size:1.4rem;	
}
.m-cont-table table th{
  width:108px ;
}
.m-cont-table table td {
  width:calc(100% - 108px) ;
}
.m-cont-btn{
	margin-top:2.5rem;
}
.m-cont-btn .btn{
	width:161px;	
}
.timeline{
	padding-top:10rem;
}
.timeline-list{
	display:flex;
	gap:3rem;
	margin-top:6.7rem;
}
.timeline-item{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:1rem;
	text-align:center;
}
.timeline-year{
	font-size:2.7rem;
	font-weight:500;
	line-height:1;
	display:flex;
	align-items:center;
	gap:1.6rem;
}
.italic{
	font-style:italic;
}
.timeline-item:first-child{
	color:#8B8B8B;
}
.timeline-item:nth-child(3){
	color:#E8A95E;
}
.timeline-item:nth-child(5),
.timeline-item:nth-child(7){
	opacity:.5;
	color:#E8A95E;
}
.timeline-txt{
	font-size:2.4rem;
	font-weight:400;
	line-height:1.3;
}
.timeline-txt .large{
	font-size:3.4rem;	
}
.timeline-arrow{
	width:50px;
}
.timeline-arrow img{
	width:100%;
	height:100%;
	object-fit:contain;	
}
.gimmick{
	padding-top:11.2rem;
}
.gimmick-list{
	margin-top:3.7rem;
	display:flex;
	gap:4.3%;
}
.gimmick-item{
	width:calc((100% - 12.9%)/4);
}
.gimmick-img img{
	width:100%;
	height:100%;
	object-fit:cover;
	aspect-ratio: 175 / 109;	
}
.gimmick-num{
	font-size:4.4rem;
	font-weight:500;
	line-height:1;
	margin:1rem 0;
}
.gimmick-ttl{
	font-size:2.4rem;
	font-weight:500;
	line-height:1.55;
	margin-bottom:1rem;
}
.gimmick-txt{
	font-size:1.4rem;
	font-weight:400;
	line-height:1.64;
}
.program-slider.slick-dotted.slick-slider {
    margin-bottom: 0;
}
.disc-wrap {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 2.3rem;
}

.disc-wrap li {
    width: 10px;
    height: 10px;
    background: #fff;
    border-radius: 50%;
    cursor: pointer;
    opacity: .3;
    transition: 0.3s;
}

.disc-wrap li:hover,
.disc-wrap li.slick-active {
   opacity: 1;
}
.disc-wrap li button {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
}
.color{
  padding-top: 14.7rem;
}
.color-flex{
  display: flex;
  gap:5.8%;
	margin-top:8rem;
}
.color-info{
  width: 50%;
}
.color-img img{
  width: 100%;
  height: 100%;
  aspect-ratio: 806 / 439;
  object-fit: cover;
}
.color-year{
	font-size:2.9rem;
	font-weight:500;
	line-height:1.5;
	margin-top:1rem;
}
.color-head{
  display: flex;
  align-items: center;
  gap: 1.4rem;
  margin: 1rem 0;
}
.color-area{
	font-size:1.8rem;
	font-weight:400;
	background-color:#1F3050;
	line-height:1;
	padding:0.7rem 0;
	width:151px;
	text-align:center;	
}
.color-map-wrap{
    width: 44.2%;
    height: 100%;
    position: relative;
}
.color-map-wrap:after {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 0) 20%,
    rgba(0, 0, 0, 0) 80%,
    rgba(0, 0, 0, 1) 100%
  );
  content: "";
}
.color-map{
  width: 100%;
  height: 78vh;
  overflow: hidden;
  position: relative;
}
.color-map-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transition: transform 0.8s ease;
}
.color-map-inner img {
  display: block;
  width: 100%;
  height: auto;
}
.color-map-prev,
.color-map-next {
  width: 72px;
  height: 72px;
  border-radius: 999px;
  position: absolute;
  z-index: 10;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.3);
  border: none;
  cursor: pointer;
  transition: 0.3s;
}
.color-map-prev:hover,
.color-map-next:hover{
  background: rgba(255, 255, 255, 0.5);
}

.color-map-prev {
  top: -36px;
}

.color-map-next {
  bottom: -36px;
}
.color-map-prev:after,
.color-map-next:after{
content: '';
  width: 18px;
  height: 18px;
  border: 0;
  position: absolute;
  left: 50%;
  margin: auto;
}
.color-map-prev:after{
    top: 34px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
    transform: translateX(-50%) rotate(-45deg);
}
.color-map-next:after{
  bottom: 30px;
  border-bottom: solid 1px #fff;
  border-right: solid 1px #fff;
    transform: translateX(-50%) rotate(45deg);
}
.color-map-prev.is-hidden,
.color-map-next.is-hidden {
  visibility: hidden;
}
.pickup{
  padding: 17.2rem 0 13.6rem;
}
.sub-ttl{
  margin-bottom: 9.7rem;
}
.sub-ttl h2{
  font-size: 4.6rem;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 1rem;
}
.sub-ttl p{
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
}
.pickup-list{
  display: flex;
  flex-wrap: wrap;
  gap: 8rem 4rem;
}
.pickup-item{
  width: calc((100% - (4rem * 2))/3);
  display: flex;
  flex-direction: column;
}
.pickup-img img{
  width: 100%;
  height: 100%;
  aspect-ratio: 507 / 328;
  object-fit: cover;
}
.pickup-att{
	text-align:right;
	font-size:1.2rem;
	font-weight:400;
	height: 1em;
  margin-top:1rem;
}
.pickup-ttl{
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.55;
	margin-top:1rem;
}
.pickup-ttl .small{
	font-size:1.6rem;	
}
.third-ttl{
  font-size: 2.9rem;
  font-weight: 500;
  line-height: 1.3;
}
.third-txt{
  margin-top: 1.6rem;
  font-size: 1.4rem;
  font-weight: 400;
}
.building-list{
  display: flex;
  flex-wrap: wrap;
  gap: 3.6rem;
	margin-top:8rem;
}
.building-item{
  width: calc((100% - (3.6rem * 4))/5);
}
.building-img img{
   width: 100%;
  height: 100%;
  aspect-ratio: 293 / 211;
  object-fit: cover; 
}
.building-ttl{
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top:1.5rem;
}
.tree{
	padding:13.6rem 0 10rem;
}
.tree-list{
  display: flex;
  gap:4rem;
}
.tree-item{
  width: calc((100% - (4rem * 2))/3);
	display:flex;
	gap:2.9%;
}
.tree-info{
	width:54.7%;
	
}
.tree-img{
	width:42.4%;
}
.tree-img img{
   width: 100%;
  height: 100%;
	aspect-ratio: 27 / 35;
  object-fit: contain; 
}
.over{
  background-color: #1F3050;
  padding:5rem 0;  
}
.over-box{
	border:1px solid #E8A95E;
	font-size:1.4rem;
	font-weight:400;
	line-height:1;
	padding:0.7rem 3rem;
	display:inline-block;
	margin-top:3rem;
}
.over-tel{
	font-size:2.4rem;
	font-weight:400;
}
.over-btn{
  margin-top: 2.8rem;
}
.over-btn .btn{
  margin:0 auto;
}
.partnership{
  padding: 0 0 15rem 0;
}
.partnership-flex{
  display: flex;
  max-width: 1150px;
  margin:7.5rem auto 0;
  gap: 5.5%;
}
.partnership-info{
  width: 44.9%;
}
.partnership-head{
font-size:2rem;
	font-weight:500;
}
.middle-btn{
  font-size: 1.4rem;
    height: 35px;
    width: 145px;
}
.middle-btn span {
    padding-right: 1.8rem;
}
.middle-btn span:after {
    width: 7px;
    height: 7px;
}
.partnership-img{
  width: 49.6%;
}
.partnership-img img{
  width: 100%;
  height: 100%;
  object-fit: contain ;
}
.event-btn{
  margin-top: 20rem;
}
.event-btn .box-btn{
	margin:0 auto;
}
.box-btn{
	background-color:#1F3050;
	max-width:489px;
	border-radius:6px;
	height:65px;
}
.renaissance .over{
  margin-top: 5rem;
}
.over-ttl{
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.5;
}

.third-ttl .small{
  font-size: 1.4rem;
}
.pickup-l{
	padding-top:9rem;
}
.m-cont-flex.reverse{
	flex-direction:row-reverse;
	margin-top:6.3rem;
}
.road{
	background-color:#1F3050;
	padding:4rem 0;
	margin-bottom:8rem;
}
.road-flex{
	display:flex;
	gap:4.2%;
	max-width:933px;
	margin:0 auto;
}
.road-info{
	width:54.3%;
}
.road-img{
	width:41.5%;
}
/* area------------------------------------------------*/
.archive-area{
	margin-top:10.5rem;
}
.area-list{
  display: flex;
  flex-wrap: wrap;
  gap: 7.2rem 5.3rem;
}
.area-item{
  width: calc((100% - (5.3rem * 3))/4);
	display: flex;
  flex-direction: column;
}
.area-item a{
	height:100%;
	display:flex;
	flex-direction:column;
}
	.area-flex{
		display:flex;
		gap:8.4%;	
}
.area-img {
  overflow: hidden;
}

.area-img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: .3s ease;
}

.area-link:hover .area-img img {
  transform: scale(1.05, 1.05);
}
.area-detail{
	  padding-left: 7rem;
  position: relative;
	margin-top:1.4rem;
}
.area-ttl {
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 0.7rem;
}
.area-icon {
  position: absolute;
  left: 0;
  top: 0;
  width: 50px;
  height: 50px;
}
.area-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
	.area-info{
		width:31.2%;
	}
	.area-program-img{
		    flex: 1;
    margin-right: calc(50% - 50vw);
    width: 60.4%;
	}
.area-program-img img{
	width:100%;
	height:auto;
	object-fit:contain;
	aspect-ratio: 37 / 23;
}
.program-att{
	text-align:right;
	font-size:1.2rem;
	font-weight:400;
	line-height:1.66;
	margin-top:1.3rem;
	margin-right:3.125%;
}
.area-area{
  font-size: 1.6rem;
  font-weight: 400;
	line-height:1.5;
}
.area-by{
    font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
	margin-top:0.5rem;
}
.area-place{
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 0.7rem;
}
.area-place span{
	display:none;
}
.program-table table td .small{
	font-size:1.4rem;
	font-weight:400;
	line-height:1.5;
}
.area-btn{
	margin-top: auto;
  padding-top: 2rem;
}
.area-btn .btn{
  margin:0 auto;
}
.small-btn{
    font-size: 1.2rem;
    height: 27px;
    max-width: 136px;
}
.small-btn span {
    padding-right: 2rem;
}
.small-btn span:after {
    width: 7px;
    height: 7px;
}
.area-link:hover .btn {
    background-color: #fff;
    color: #000;
}
.area-link:hover .btn span:after {
    border-top: solid 1px #000;
    border-right: solid 1px #000;
}
.area-map{
margin:15rem 0 10rem;
}
.area-map .stamp-map{
	max-width:704px;
	width:100%;
	margin:0 auto;
}
.program-area{
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 1rem;
}
.program-by{
    font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 1rem;
}
.program-single-ttl{
  font-size: 4rem;
  font-weight: 400;
  line-height: 1.35;
  margin-bottom: 1.4rem;
}
.program-paid{
  background-color: #E8A95E;
  color: #080B0A;
  font-size: 1.4rem;
  font-weight: 500;
  display: inline-block;
  padding: 0.3rem 1.1rem;
}
.program-txt{
  margin-top: 4rem;
}
.program-table p{
  margin-bottom: 1rem;
}
.group-link{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap:2rem 1.4rem;
  margin-top: 2.4rem;
}
.access{
  padding: 13.4rem 0 19.2rem;
}
.access-table{
  margin:0 auto 5.3rem;
  max-width: 562px;
}
.access-map iframe{
  width: 100%;
  height: 80vh;
  filter: invert(85%);
  border: none;
}
.addition{
	margin-bottom:16rem;
}
.s-area-flex{
display:flex;
	gap:3.5%;
}
.s-area-img{
	width:46.7%;
}
.s-area-info{
	width:49.8%;
}
/* event------------------------------------------------*/
.events{
  margin-bottom: 12rem;
}
.events .page-heading{
  margin-bottom: 3.6rem;
}
.events .m-cont {
    padding:2.4rem 0 6rem;
    margin-top: 7.2rem;
}
.events .m-cont-flex{
	max-width:1183px;
	padding-top:2.6rem;
	gap:3.7%;
	margin:0 auto;
}
.events .m-cont-info {
    width: 49.8%;
}
.events .m-cont-img {
    width: 46.5%;
}
.page-txt{
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.93;
}
.kitena-flex{
display:flex;
	align-items:center;
	gap:4.5rem;
}
.kitena-info{
	width:calc(100% - 19rem);	
}
.kitena-img{
	width:14.5rem;	
}
.kitena-img img{
	width:100% ;
	height:100%;
	object-fit:contain;	
}
.events .over{
  margin-top: 8rem;
}
.cruise{
	padding-top:12rem;
}
.event-flex{
	display:flex;
	gap:3.5rem;
	justify-content:center;
}
.event-flex>div{
	width:calc((100% - 7rem)/3);
}
.oica .event-flex{
	align-items:center;	
}
.oica .pickup-img{
	max-width:180px;	
}
.dcttree{
	margin-bottom:24rem;
}
.dcttree-logo{
	margin-top:2.6rem;
}
.dcttree-map{
	margin:5.6rem auto 0;
	width:calc((100% / 3)*2 );
}
/* information------------------------------------------------*/
.archive-filter{
margin-bottom:6.4rem;
}
.news-filter{
display:flex;
	align-items:flex-start;
	gap:6.4rem;
}
.filter-box{
display:flex;
	gap:1.8rem;
}
.news-filter-title{
	white-space:nowrap;
}
.news-filter-main{
width:580px;
}
.category-list{
	display:flex;
	gap:1.6rem;
	margin-bottom:1.6rem;
}
.category-list li{
	width:calc((100% - 3.2rem)/3);
}
.category-list a{
	font-size:1.7rem;
	font-weight:400;
	background-color:#002651;
	color:#325088;
	padding:;
	width:100%;
	height:46px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.category-list a:hover,
.category-list .is-active,
.year-list a:hover,
.year-list .is-active{
	background-color:#0071B9;
	color:#fff;
}
.year-list{
display:flex;
	flex-wrap:wrap;
	gap:1.4rem;
}
.year-list li{
	width:calc((100% - 5.6rem)/5);
}
.year-list a{
	font-size:1.4rem;
	font-weight:400;
	background-color:#002651;
	color:#325088;
	width:100%;
	height:30px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.filter-keyword{
display:flex;
	gap:1.4rem;
	align-items:center;
	flex:1;
}
.news-search{
	display:flex;
	align-items:center;
	gap:1.8rem;
	width:100%;
}
.news-search input{
	border:1px solid #fff;
	border-radius:999px;
	padding:0.7rem 1.5rem;
		width:100%;
	max-width:405px;
}
.news-search button{
	font-size:1.7rem;
	font-weight:400;
	color:#fff;
	background-color:#0071B9;
	border-radius:999px;
	padding:0.7rem 3.4rem;
	white-space:nowrap;
}
.pagination{
	margin-top:2.4rem;
}
.page-numbers{
	display:flex;
	justify-content:flex-end;
	gap:2.8rem;
	font-size:1.6rem;
	font-weight:400;
}
.page-numbers.current{
	color:#E8A95E;
	text-decoration:underline;
}
.information-single{
	padding-bottom:24rem;
}
.information-single-width{
	max-width:1000px;
}
.information-single-ttl{
font-size:3.4rem;
	font-weight:400;
	line-height:1.5;
	margin-bottom:2.7rem;
}
.information-single-txt{
margin-top:2.7rem;
}
.information-single-txt p{
	margin-bottom:2rem;
}
.information-single-txt a{
	text-decoration:underline;	
}
.information-single-btn{
margin-top:7.8rem;
}
.information-single-btn .btn{
	margin:0 auto;	
}
.back-btn span{
	padding: 0 0 0 2rem;
}
.back-btn span:after {
    border-top: solid 1px #fff;
    border-left: solid 1px #fff;
	border-right: none;
    transform: translateY(-50%) rotate(-45deg);
    right: auto;
	left:0;
}
.back-btn:hover span:after {
    border-top: solid 1px #000;
    border-left: solid 1px #000;
	border-right: none;
}
/* single------------------------------------------------*/
.content{
  margin-bottom: 17rem;
}
.content h2 {
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 1.41;
  margin:10rem 0 1.8rem;
}
.content .flex{
  display: flex;
  gap:5rem;
}
.content p a{
  color: orange;
  text-decoration: underline;
}
.content p a:hover{
  opacity: .7;
}
.committee .content{
  max-width: 1060px;
  margin:0 auto;
	padding-bottom:17rem;
}
.committee h2{
  font-size: 2.2rem;
  border-bottom: 1px solid #747474;
  padding-bottom: 1.5rem;
  margin-bottom: 4.6rem;
}
.committee ul{
  display: flex;
  flex-wrap: wrap;
  gap:0.5rem 5rem;
  max-width: 670px;
  margin:0 auto;
}
.committee li{
  width: calc((100% - 5rem)/2);
}
.committee-btn .btn{
  margin:0 auto;
  max-width: 369px;
  height: 53px;
  font-size: 2rem;
  font-weight: 400;
}
/*  policy-------------------------------------------------*/
.post .content h2 {
  font-size: 2.4rem;
  font-weight: 500;
  margin: 5rem 0 2rem;
  line-height: 1.6;
}
/*  faq-------------------------------------------------*/
.content-ttl{
	margin-top:12rem;
}
.content-ttl .en{
	font-size:7.6rem;
	font-weight:400;
	line-height:1;
}
.content-ttl p{
	margin-top:2.5rem;
	font-size:3rem;
	font-weight:400;
	line-height:1.55;
}
.faq{
	margin-bottom:22rem;
}
.faq-ttl{
	font-size:2.2rem;
	font-weight:400;
	margin:7rem 0 1rem;
}
.accordion{
  display: flex;
  flex-direction: column;
	border-top:1px solid #747474;
}
.accordion-item{
	border-bottom:1px solid #747474;
}
.accordion-header {
	display:flex;
	gap:2.6rem;
  position: relative;
  width: 100%;
  padding: 2.5rem 8rem 2.5rem 0;
  text-align: left;
  cursor: pointer;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.55;
}
.accordion-header span,
.accordion-content div span{
	font-size:2.6rem;
	line-height:1;
}
.accordion-header::before{
content: '';
  width: 12px;
  height: 12px;
  border: 0;
  border-bottom: solid 1px #fff;
  border-right: solid 1px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 30px;
  bottom: 0;
  margin: auto;
  transition: 0.3s;
}
.accordion-header.active::before {
  transform: rotate(225deg);
}
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.accordion-content div{
	display:flex;
	gap:2.6rem;
  font-size: 1.8rem;
  font-weight: 400;
line-height:1.55;
	padding: 0 0 3rem 0;
}
.accordion-content p{
  font-size: 1.8rem;
  font-weight: 400;
line-height:1.55;
}
.accordion-content p a{
  color:#E8A95E;
	text-decoration:underline;
}
.inquiry-tel{
	margin-top:7rem;
}
.inquiry-tel .sans{
	font-size:1.8rem;
	font-weight:400;
	line-height:1.83;
}
.inquiry-tel .serif{
	font-size:3rem;
	font-weight:400;
	margin:2rem 0;
}
.inquiry-mail{
	margin:3rem 0 22rem;
}
.form-area{
	max-width:846px;
	margin:0 auto;
}
.form-ttl {
	display:flex;
	justify-content:space-between;
  font-size: 1.8rem;
  font-weight: 400;
  margin-top: 3.5rem;
}

.form-ttl span {
  font-size: 1.4rem;
	font-weight:400;
  color:#E8A95E;
}
input[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

span.wpcf7-spinner {
  display: none;
}

.form-txt {
	text-align:center;
	margin-top:5rem;
  font-size: 1.8rem;
  font-weight: 400;
}
.select-wrapper {
  position: relative;
  width: 100%;
}
.wpcf7-list-item{
	display:flex!important;
	align-items:center;
	gap:1rem;
	margin:1rem 0 0 0!important;
}
select {
  -webkit-appearance: none;
  appearance: none;
}

select.wpcf7-form-control.wpcf7-select,
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
  width: 100%;
  padding: 8px 15px;
  margin-top: 0.5rem;
  border: 1px solid #747474;
  font-size: 1.6rem;
  font-weight: 400;
	border-radius:7px;
}

textarea.wpcf7-form-control.wpcf7-textarea {
  height: 320px;
}

span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
  color: #B70000;
  font-size: 1.4rem;
  line-height: 1.5;
}

.form-policy {
  display: flex;
	justify-content:center;
  gap: 1rem;
  margin: 3rem 0;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 27px;
}

.form-policy a {
  text-decoration: underline;
}

.form-policy a:hover {
  opacity: .7;
}
#cf-chl-widget-po48v{
	margin:0 auto;
}

.form-btn[disabled],
.form-btn-inner:has(.form-btn[disabled]):after {
  opacity: 0.3;
  cursor: not-allowed;
}

input[type="checkbox"] {
  position: relative;
  width: 27px;
  height: 27px;
  border: 1px solid #747474;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	border-radius:7px;
}

.form-btn-block {
  text-align: center;
  margin: 6rem auto 0;
}

.form-btn-inner {
  position: relative;
  margin: 0 auto;
  display: inline-block;
  width: 100%;
  max-width: 263px;
}
.form-btn{
	max-width:263px;
	height:53px;
	font-size:2.4rem;
}
input[type="checkbox"]:checked:before {
  position: absolute;
  top: 3px;
  left: 8px;
  transform: rotate(50deg);
  width: 9px;
  height: 13px;
  border-right: 2px solid #E8A95E;
  border-bottom: 2px solid #E8A95E;
  content: '';
}

.screen-reader-response {
  text-align: center;
  font-size: 1.4rem;
}

.screen-reader-response ul {
  display: none;
}

.wpcf7-response-output {
  font-size: 1.4rem;
  text-align: center;
  padding-top: 2rem;
  color: #B70000;
}

input:-internal-autofill-selected {
  box-shadow: 0 0 0 1000px rgb(9, 8, 6) inset !important;
  -webkit-text-fill-color: #fff !important;
}

input:-webkit-autofill:focus {
  caret-color: #fff !important;
}

:focus-visible {
  outline: none;
}

.wpcf7 form .wpcf7-response-output {
  margin: 2em 0 1em !important;
  padding: 0 !important;
  border: none !important;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border: none !important;
}
.thanks{
	padding:10rem 0 20rem;
	text-align:center;
}
.thanks h2{
	font-size:3rem;
	font-weight:400;
	margin-bottom:3rem;	
}
/*  application-------------------------------------------------*/
.form-flex{
	display:flex;
	gap:2.4rem;
	margin-top:10rem;
}
.form-item{
	width:calc((100% - 4.8rem) / 3);
}
.form-item h3{
	font-size:2.6rem;
	font-weight:400;	
}
.form-item .btn {
    font-size: 1.7rem;
    height: 53px;
    max-width: 418px;
	margin-top:1.8rem;
}
.library{
	padding-bottom:28.5rem;
}
.library-head{
	font-size:2.6rem;
	font-weight:400;
	border-bottom:1px solid #747474;
	padding-bottom:1rem;
	margin-bottom:6rem;
}
.library-ttl{
	font-size:2.6rem;
	font-weight:400;
	margin-bottom:2.8rem;
}
.img-list{
	display:flex;
	flex-wrap:wrap;
	gap:3.4rem 2rem;
	margin-bottom:10rem;
}
.img-item{
	width:calc((100% - 6rem)/4);
}
.img-ttl{
	font-size:1.8rem;
	font-weight:400;
	line-height:1.66;
	margin-top:2.8rem;
}
/* movie -------------------------------------------------*/
.movie {
  position: relative;
  height: 790px;
}

.movie-back {
  width: 100%;
  height: 100%;
  position: relative;
}

.movie-back div {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 100%;
  margin: 0;
}

.movie-back01 {
  background-image: url(../images/bg-movie.jpg);
}

.movie-back img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.movie-content {
  position: absolute;
  left: 0;
  top: 10%;
  width: 100%;
}
.movie-subttl{
	font-size:2rem;
	font-weight:400;	
}
.movie-ttl{
	font-size:5rem;
	font-weight:400;
	line-height:1;
	margin:1rem 0 1.6rem;
}
.movie-txt{
	max-width:500px;
}
.core-movie,
.area-movie{
  position: relative;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center top;
background-image: url(../images/about-back-bottom.png);
  padding-top: 12rem;
}
.core-movie{
	padding-bottom:22.4rem;
}
.area-movie{
padding-bottom:28rem;	
}
.core-movie .core-flex {
    padding: 0;
    gap: 0;
}
.core-movie .core-ttl {
    margin:2rem 0 0 0;
}
.core-movie-img{
position:relative;	
}
.tab-list {
  display: flex;
	justify-content:center;
	gap:6.4rem;
	margin:1rem 0 8rem;
}

.tab-btn {
  cursor: pointer;
  padding-bottom:1rem;
  border: none;
	font-size:2rem;
	font-weight:400;
	line-height:1.55;
}

.tab-btn.active {
  color: #E8A95E;
	border-bottom:1px solid #E8A95E;
}
.tab-content {
  display: none;
}

.tab-content.active {
  display: block;
}
.area-movie-slider .slick-list {
  margin: 0 -20px;
	overflow: visible;
}

.area-movie-slider .slick-slide {
  margin: 0 20px;
}
.area-movie-ttl{
	font-size:1.4rem;
	font-weight:400;
	line-height:1.64;
	margin-top:1rem;
}
/*  sp-------------------------------------------------*/
@media screen and (max-width: 1439px) {

  /* header --------------------------------------------*/
  .header-wrapper {
    height: 64px;
  }

  .header-logo {
    max-width: 77px;
  }

  .hamburger {
    display: flex;
    z-index: 999;
  }

  .header-nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background: #000;
    transition: 0.3s;
    z-index: 10;
    opacity: 0;
    padding: 0 24px;
    display: none;
  }

  .header-nav.active {
    opacity: 1;
    display: block;
  }

  .nav-list {
    position: absolute;
    top: 12%;
    left: 50%;
    transform: translateX(-50%);
    flex-direction: column;
    align-items: flex-start;
    gap: 3rem;
  }

  .hamburger {
    display: block;
    position: relative;
    height: 40px;
    width: 40px;
  }

  .hamburger span:nth-child(1),
  .hamburger span:nth-child(2) {
    position: absolute;
    right: 0;
    transition: 0.3s;
    height: 1px;
    width: 36px;
    background: #fff;
  }

  .hamburger span:nth-child(1) {
    top: 8px;
  }

  .hamburger span:nth-child(2) {
    top: 16px;
  }

  .hamburger span:nth-child(3) {
    position: absolute;
    top: 24px;
    left: 2px;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1;
  }

  .hamburger.active span:nth-child(1) {
    transform: rotate(20deg);
    top: 12px;
  }

  .hamburger.active span:nth-child(2) {
    transform: rotate(-20deg);
    top: 12px;
  }

  .nav-column {
    white-space: nowrap;
  }

  .nav-border:before,
  .nav-border:after {
    content: none;
  }
	.header-lang__head {
    font-size: 2rem;
}
	.header-lang__body {
    top: auto;
		bottom:0;
		right:-118px;
}
.header-lang__item {
    font-size: 1.6rem;
}
  .sp-sns-list {
    display: block;
    margin: 2rem auto 0;
  }

  .header-sns {
    display: none;
  }
	.news-filter-main{
width:420px;
}
	.area-item{
  width: calc((100% - (5.3rem * 2))/3);
}
	
	.footer-list {
	grid-template-rows: repeat(4, auto);
    gap: 1rem 3rem;
}
/*  application-------------------------------------------------*/
.form-flex{
	flex-direction:column;
	gap:5rem;
}
.form-item{
	width:100%;
}
}

@media screen and (max-width: 1023px) {
  body {
    font-size: 1.4rem;
    line-height: 1.71;
  }

  .pc-only {
    display: none !important;
  }

  .sp-only {
    display: block;
  }
.page-width{
  padding: 0 24px;
  width: 100%;
}
  .kv-main {
    width: 100%;
  }
  /* about -------------------------------------------------*/
  .about-back-top {
  padding-top: 0;
}
  .about-flex {
    flex-direction: column;
  }
  .about-info {
  width: 100%;
}

.about-ttl h2 {
  font-size: 6rem;
  margin-bottom: 1rem;
}
.about-txt{
	font-size:1.4rem;
}

.about-heading {
  margin: 0 0 1.5rem 0;
  font-size: 2rem;
}
.about-img-sp{
  display: block;
  margin:3rem -24px 3rem -24px;
}
.about-img {
  display: none;
}
.section-ttl h2 {
  font-size: 3rem;
}
.about-back-bottom {
    background-image:none;
}
.section-ttl p {
  font-size: 1.6rem;
}
.core-img{
  display: none;
}
.core-flex {
  flex-direction: column;
  padding: 0 0 12rem;
  gap: 6rem;
}

.core-info {
  width: 100%;
}
.core-img-sp{
  display: block;
  margin-right: -24px;
  margin-left: -24px;
}
.core-ttl {
  font-size: 1.8rem;
  margin: 2rem 0 1.5rem;
}

.program-btn {
  margin-top: 0;
  padding-top: 3.3rem;
}

.btn {
  font-size: 1.5rem;
  height: 33px;
  max-width: 165px;
}
.box-btn {
    max-width: 389px;
    height: 55px;
}
.btn span {
  padding-right: 2.2rem;
}
.middle-btn span {
    padding-right: 1.6rem;
}
.btn span:after {
  width: 7px;
  height: 7px;
}
.area-slider .slick-list {
  margin: 0 -7px;
}

.area-slider .slick-slide {
  margin: 0 7px;
}
	.top-area-list {
    margin-top: 2.4rem;
}
.top-area-ttl {
    font-size: 1.6rem;
}
	.top-area-btn{
		margin-top:3rem;
	}	
/* stamp -------------------------------------------------*/
.stamp {
  padding-top: 12rem;
}

.stamp-flex {
  flex-direction: column;
  gap:6rem;
  margin-bottom: 4rem;
}

.stamp-info {
  width: 100%;
}

.stamp-map {
  width: 100%;
}
.stamp-info-ttl {
    margin-bottom: 3rem;
	max-width:500px;
}
.stamp-head {
  font-size: 1.4rem;
}
.stamp-date{
	font-size:2rem;
}
.stamp-txt {
  font-size: 1.4rem;
	margin-bottom: 3rem;
}
	.chance-icon {
    width: 30px;
}
	.chance-txt {
    font-size: 1.4rem;
}
.stamp-slider-txt {
  margin-top: 2rem;
}
.modal-container {
  border-radius: 15px;
  padding: 24px 20px 30px;
  max-width: 275px;
}
.js-movie-modal .modal-container {
	padding: 0;
	border-radius: 0;
	max-width: none;
	width:85vw;
}
.modal-close {
  width: 40px;
  height: 40px;
  top: -20px;
  right: -20px;
}

.modal-close::before,
.modal-close::after {
  height: 20px;
}
	.modal-icon {
    width: 40px;
	}
	.modal-head {
    font-size: 1.2rem;
}
.modal-title {
  font-size: 1.6rem;
}
	.modal-table table th, .modal-table table td {
    font-size: 1.2rem;
}
	.modal-table table th {
    width: 65px;
}
	.modal-table table td {
    width: calc(100% - 65px);
}
/*  prize-------------------------------------------------*/
	.prize {
    margin-top: 8rem;
	}
.prize-head {
  font-size: 1.8rem;
}

.prize-list {
  gap: 4rem 2rem;
	justify-content:flex-start;
}

.prize-item {
  width: calc((100% - (2rem * 2))/3);
}

.prize-ttl {
  font-size: 1.6rem;
}

.prize-txt {
  font-size: 1.2rem;
}

.prize-number {
  font-size: 1.2rem;
}
/*  news-------------------------------------------------*/
.news {
  padding: 10rem 0;
}

.news .news-list {
  margin-top: 0;
}

.news-item a {
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
  padding: 2rem 2.4rem 2rem 0;
}

.news-item a:after {
  width: 10px;
  height: 10px;
  right: 0;
}
.news-head{
  gap:1.5rem;
}
.news-tag {
  font-size: 1.2rem;
  width: 100px;
}

.news-date,
.news-ttl {
  font-size: 1.4rem;
}
/*  sponsor-------------------------------------------------*/
.sponsor {
  padding: 8rem 0 10rem;
  margin-bottom: 3rem;
}
.sponsor-ttl,
.sponsor-box h3 {
  font-size: 1.6rem;
}

.sponsor-ttl::before {
  margin-right: 2rem;
}

.sponsor-ttl::after {
  margin-left: 2rem;
}
.sponsor-box {
  padding: 1.7rem 1.4rem;
}
.sponsor-list-middle .sponsor-item {
    width: calc((100% - (4.4rem * 4)) / 5);
}
.sponsor-list-bottom .sponsor-item {
  width: calc((100% - (3rem * 4))/5);
}
/*  footer-------------------------------------------------*/
.footer {
  padding: 8rem 0 16rem;
}

.banner-list {
  gap: 1.5rem 2rem;
  margin-bottom: 6rem;
}

.banner-item {
  width: calc((100% - (2rem * 3))/4);
}
.footer-flex {
  flex-direction: column;
  align-items: center;
  gap:5rem;
  margin-bottom: 6rem;
}

.footer-link {
  flex-direction: column;
  align-items: center;
  gap: 5rem;
}

.footer-link .sns-list {
  align-items: center;
}

.footer-list {
  gap: 1rem 3rem;
}
.footer-copy {
  font-size: 1.2rem;
}
/*  page-------------------------------------------------*/
/*  about-------------------------------------------------*/
.page{
  padding-top: 10rem;
}
.page-ttl{
  margin-bottom: 5rem;
}
.page-ttl h1{
  font-size: 6rem;
  margin-bottom: 1rem;
}

.page-ttl p{
  font-size: 1.6rem;
}

.page-heading{
  font-size: 2.4rem;
  margin-bottom: 3rem;
}
	.core .core-ttl{
	padding-left:5rem;
}
.core .core-ttl:before{
	width: 40px;
	height: 40px;
}
.program-flex{
  flex-direction: column;
  gap:5rem;
}
.program-info{
  width: 100%;
}
.program-img{
    margin-right:0;
    width: 100%;
}
.program-ttl{
  font-size: 3rem;
}
.program-table{
  margin: 3rem auto 0;
}
.program-table table th,
.program-table table td {
    font-size: 1.4rem;
    padding: 2rem 0;
}
.program-table table th{
  width:80px ;
}
.program-table table td {
  width:calc(100% - 80px) ;
}
	
.m-cont{
	padding:6rem 0;
	margin-top:8rem;
}
.m-cont-flex,
.m-cont-flex.reverse{
	flex-direction:column;
	gap:3rem;
}
.m-cont-img{
	width:100%;
}
.m-cont-info{
	width:100%;
}
.m-cont-block{
	padding-bottom:4rem;
	margin-bottom:4rem;
}
.m-cont-ttl{
	font-size:2.4rem;
}
.m-cont-table table th,
.m-cont-table table td {
    font-size: 1.4rem;
}
	.m-cont-table table td .small{
	font-size:1.2rem;	
}
.m-cont-table table th{
  width:78px ;
}
.m-cont-table table td {
  width:calc(100% - 78px) ;
}
	.timeline{
	padding-top:6rem;
}
.timeline-list{
	flex-wrap:wrap;
	justify-content:center;
	gap:2rem 1.5rem;
	margin-top:5rem;
}
.timeline-year{
	font-size:1.8rem;
	gap:1rem;
}
.timeline-txt{
	font-size:1.6rem;
}
.timeline-txt .large{
	font-size:2rem;	
}
.timeline-arrow{
	width:40px;
}
	.gimmick{
	padding-top:8rem;
}
.gimmick-list{
	margin-top:3rem;
	gap:2.4rem;
}
.gimmick-item{
	width:calc((100% - 7.2rem)/4);
}
.gimmick-num{
	font-size:3rem;
}
.gimmick-ttl{
	font-size:1.8rem;
}
.gimmick-txt{
	font-size:1.2rem;
}
.disc-wrap {
    gap: 0.8rem;
    margin-top: 2rem;
}

.disc-wrap li {
    width: 8px;
    height: 8px;
}
.color{
  padding-top: 10rem;
}
.color .page-width{
  width: 100%;
}

.color-map-prev,
.color-map-next {
  width: 40px;
  height: 40px;
}

.color-map-prev {
  top: -20px;
}

.color-map-next {
  bottom: -20px;
}
.color-map-prev:after,
.color-map-next:after{
  width: 10px;
  height: 10px;
}
.color-map-prev:after{
    top: 17px;
}
.color-map-next:after{
  bottom: 16px;
}
.pickup{
  padding: 12rem 0 8rem;
}
.sub-ttl{
  margin-bottom: 2.4rem;
}
.sub-ttl h2{
  font-size: 3rem;
}
.sub-ttl p{
  font-size: 1.6rem;
}
.pickup-list{
  gap: 5rem 3rem;
}
.pickup-item{
  width: calc((100% - 3rem )/2);
}
	.pickup-ttl {
    font-size: 2rem;
}
.third-ttl{
  font-size: 2rem;
}
.building-list{
  gap: 3rem 2rem;
	margin-top:5rem;
}
.building-item{
  width: calc((100% - 2rem)/2);
}
.building-ttl{
  font-size: 1.4rem;
}
		.tree{
	padding:8rem 0;
}
.tree-list{
	flex-direction:column;
  gap:5rem;
}
.tree-item{
  width: 100%;
	gap:2.9%;
}
.tree-info{
	width:54.7%;
	
}
.tree-img{
	width:42.4%;
}
.partnership{
  padding: 0 0 8rem 0;
}
	.partnership-flex {
    margin: 5rem auto 0;
}
	.partnership-head {
    font-size: 1.6rem;
}
.over-ttl{
  font-size: 2.4rem;
}
	.road {
    margin-bottom: 6rem;
}
	.road-flex {
		flex-direction:column;
    gap: 3rem;
}
	.road-info,
	.road-img{
		width:100%;
	}
	.cruise {
    padding-top: 6rem;
}
	.dcttree{
		margin-bottom:8rem;
	}
/*  faq-------------------------------------------------*/
.content-ttl{
	margin-top:8rem;
}
.content-ttl .en{
	font-size:5rem;
}
.content-ttl p{
	font-size:1.8rem;
}
.faq{
	margin-bottom:10rem;
}
.faq-ttl{
	font-size:1.8rem;
	margin:5rem 0 1rem;
}
.accordion-header {
	gap:1.5rem;
  padding: 2rem 3rem 2rem 0;
  font-size: 1.6rem;
}
.accordion-header span,
.accordion-content div span{
	font-size:2rem;
}
.accordion-header::before{
content: '';
  width: 10px;
  height: 10px;
  right: 5px;
}
.accordion-content div{
	gap:1.5rem;
  font-size: 1.8rem;
	padding: 0 0 2rem 0;
}
.accordion-content p{
  font-size: 1.4rem;
}
.inquiry-tel{
	margin-top:5rem;
}
.inquiry-tel .sans{
	font-size:1.4rem;
}
.inquiry-tel .serif{
	font-size:2.4rem;
}
.inquiry-mail{
	margin:3rem 0 8rem;
}
.form-ttl {
  font-size: 1.6rem;
  margin-top: 3rem;
}

.form-ttl span {
  font-size: 1.2rem;
}
.form-txt {
	margin-top:3rem;
  font-size: 1.4rem;
}
select.wpcf7-form-control.wpcf7-select,
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
  font-size: 1.4rem;
}

textarea.wpcf7-form-control.wpcf7-textarea {
  height: 300px;
}
	.form-policy {
  margin: 3rem 0;
		font-size:1.4rem;
  line-height: 20px;
	}

input[type="checkbox"] {
  width: 20px;
  height: 20px;
	border-radius:3px;
}
.form-btn-block {
  margin: 5rem auto 0;
}
.form-btn{
	font-size:1.8rem;
	height: 53px;
	max-width:263px;
}
input[type="checkbox"]:checked:before {
  top: 1px;
  left: 6px;
  width: 8px;
  height: 12px;
}
	.thanks{
	padding:5rem 0 8rem;
}
.thanks h2{
	font-size:2rem;
}
	.pickup-l {
    padding-top: 7rem;
}
  /* area------------------------------------------------*/
	.archive-area{
	margin-top:5rem;
}
.area-list{
  gap: 6rem 2rem;
}
.area-item{
  width: calc((100% - (2rem * 2))/3);
}
	.area-map{
margin:10rem 0 5rem;
}
	.area-detail{
	  padding-left: 5rem;
}
.area-icon {
  width: 40px;
  height: 40px;
}
.area-area{
  font-size: 1.2rem;
}
.area-by{
    font-size: 1.2rem;
}
	.area-ttl {
    font-size: 2rem;
		margin-top: 0.5rem;
}
.area-place{
  font-size: 1.2rem;
}
.program-area{
  font-size: 1.4rem;
}
.program-by{
    font-size: 1.4rem;
}
.program-single-ttl{
  font-size: 2.4rem;
}

.program-txt{
  margin-top: 3rem;
}
.access{
  padding: 10rem 0;
}
.access-table{
  margin:0 auto 5rem;
}
	.addition{
	margin-bottom:8rem;
}
.s-area-flex{
	flex-direction:column;
	gap:5rem;
}
.s-area-img{
	width:100%;
}
.s-area-info{
	width:100%;
}
/* event------------------------------------------------*/
.events{
  margin-bottom: 8rem;
}
.events .page-heading{
  margin-bottom: 2.4rem;
}
.page-txt{
  font-size: 1.4rem;
}
.events .m-cont {
    margin-top: 5rem;
	padding:0 0 5rem 0;
}
	.events .m-cont-flex {
   padding-top:5rem;
    gap: 3rem;
}
	.events .m-cont-img,
	.events .m-cont-info{
    width: 100%;
}
	.kitena-flex {
    gap: 2.4rem;
}
	.kitena-info {
    width: calc(100% - 12.4rem);
}
	.kitena-img {
    width: 10rem;
}
.event-list{
  padding-top: 8rem;
}
.event-btn{
  margin-top: 8rem;
}
.events .over{
  margin-top: 8rem;
}
.event-map{
  max-width: 1670px;
  margin:3rem auto 0;
}
.holding-list{
  padding-top: 8rem;
}
.holding-list .pickup-list{
  margin-bottom: 8rem;
}
.over.holding-list{
  padding:8rem 0;
}
.over.holding-list .pickup-list{
  margin-bottom: 0;
}
	
/* information------------------------------------------------*/
	.news-filter {
    gap: 3rem;
}
.filter-box{
	flex-direction:column;
	gap:1rem;
}

.filter-keyword{
	flex-direction:column;
	gap:1rem;
	align-items:flex-start;
	width:100%;
}
	.news-search {
    gap: 1rem;
}
.news-search input{
	padding:0.6rem 1.5rem;
}
.news-search button{
	font-size:1.4rem;
	padding:0.7rem 2.4rem;
}
.page-numbers{
	justify-content:center;
	gap:2.4rem;
	font-size:1.4rem;
}

/*  application-------------------------------------------------*/
.library{
	padding-bottom:8rem;
}
.img-item{
	width:calc((100% - 4rem)/3);
}
	
/* movie -------------------------------------------------*/
.movie {
  height: 620px;
}
.movie .kv-movie {
        bottom: 3rem;
    }
.movie-subttl{
	font-size:1.6rem;
}
.movie-ttl{
	font-size:3.2rem;
}
.core-movie,
.area-movie{
  padding-top: 6rem;
}
.core-movie{
	padding-bottom:10rem;
}
.area-movie{
padding-bottom:10rem;	
}
.core-movie .core-flex {
    gap: 6rem;
}
.core-movie-img{
	display:block;	
}
.tab-list {
	gap:3rem;
	margin:1rem 0 5rem;
}
.tab-btn {
	font-size:1.6rem;
}
.area-movie-slider .slick-list {
  margin: 0 -8px;
}

.area-movie-slider .slick-slide {
  margin: 0 8px;
}
}

@media screen and (max-width: 767px) {
  /* kv -------------------------------------------------*/
  .kv {
    height: 700px;
    min-height: auto;
    margin-bottom: 9rem;
  }

  .kv-back01 {
    background-image: url(../images/kv-sp-01.jpg);
  }
	.kv-back02 {
    background-image: url(../images/kv-sp-02.jpg);
  }
	.kv-back03 {
    background-image: url(../images/kv-sp-03.jpg);
  }
  .kv-content {
    top: 0;
	  left:0;
    height: 100%;
  }
  .kv-logo {
	  margin:0 auto;
  padding: 8rem 0 0 0;
	  max-width:488px;
}
	.line-wrap {
    bottom: 8rem;
    left: 50%;
		transform:translateX(-50%);
}
	.kv-movie {
    bottom: -12rem;
  }
.kv-movie-inner {
  width: 100%;
}

  .kv-movie-head h2 {
    font-size: 1.9rem;
  }

  .more-btn {
    font-size: 1.2rem;
    padding-right: 1rem;
  }

  .more-btn:after {
    width: 5px;
    height: 5px;
  }
.kv .movie-list,
.movie .movie-list{
  margin-right:-12vw;
}
.kv-movie-slider .slick-list {
  margin: 0 -7px;
}

.kv-movie-slider .slick-slide {
  margin: 0 7px;
}
.movie-item:before {
  width: 33px;
  height: 33px;
}

.movie-item:after {
  border-width: 8px 0 8px 15px;
}
/* stamp -------------------------------------------------*/
.stamp-content {
  flex-direction: column;
  align-items: center;
  gap: 4rem;
  padding-top: 0;
}

.stamp-detail {
  width: 100%;
}
.prize-item {
  width: calc((100% - 2rem)/2);
}
	.prize-list {
  gap: 4rem;
}

.prize-item {
  width: 100%;
}
/*  sponsor-------------------------------------------------*/
.sponsor-list-top {
  gap: 3rem;
}

.sponsor-list-top .sponsor-item {
  width: calc((100% - 3rem)/2);
}

.sponsor-list-middle {
  gap: 1rem 1.5rem;
}

.sponsor-list-middle .sponsor-item {
  width: calc((100% - (1.5rem * 2))/3);
}
.sponsor-box .sponsor-list {
  gap: 1rem 1.5rem;
}

.sponsor-box .sponsor-item {
  width: calc((100% - (1.5rem * 2))/3);
}

.sponsor-list-bottom {
  gap: 1.5rem;
}

.sponsor-list-bottom .sponsor-item {
  width: calc((100% - (1.5rem * 3))/4);
}
/*  float-------------------------------------------------*/
.float {
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  right: auto;
  max-width: 430px;
	padding:0 1rem;
}
	
.float-link:hover img {
  transform: none;
}
/*  footer-------------------------------------------------*/
.banner-item {
  width: calc((100% - 2rem)/2);
}
.footer-list {
  grid-template-rows: repeat(6, auto);
  gap: 1rem 3rem;
}
.footer-item a {
  font-size: 1.2rem;
}
/*  program-------------------------------------------------*/
	.gimmick-list{
		flex-direction:column;
	gap:4rem;
}
.gimmick-item{
	width:100%;
}
.color-flex{
  flex-direction: column;
  gap:3rem;
	margin-top:3rem;
}
.color-info{
  width: 100%;
}
.color-ttl{
  margin-bottom: 2.4rem;
}
.color-ttl h2{
  font-size: 3rem;
}
.color-ttl p{
  font-size: 1.6rem;
}
.color-head{
  display: flex;
  align-items: center;
  gap: 1.4rem;
  margin: 1rem 0;
}
.color-name{
  font-size: 1.8rem;
}
.color-map-wrap{
    width: 100%;
}
.color-map{
  height: 35vh;
}
.pickup-list{
  gap:5rem;
}
.pickup-item{
  width:100%;
}

.partnership-flex{
  flex-direction: column;
  margin:5rem auto 10rem;
  gap: 5rem;
}
.partnership-info{
  width: 100%;
}
.partnership-img{
  width: 100%;
  max-width: 500px;
	margin:0 auto;
}
	.event-flex {
	flex-direction:column;
    gap: 3rem;
}
	.event-flex>div {
    width: 100%;
}
	.dcttree-map{
		width:100%;
}
/* area------------------------------------------------*/
.area-list{
  gap: 6rem;
}
.area-item{
  width: 100%;
}
	.area-flex{
		flex-direction:column;
		gap:5rem;	
}
	.area-info{
		width:100%;
	}
	.area-program-img{
    margin-right:0;
    width: 100%;
	}
	.area-program-img img{
		object-fit:cover;		
	}
.program-att{
	margin-right:0;
}
.access-map iframe{
  height: 40vh;
}
/* single------------------------------------------------*/
.content{
  margin-bottom: 8rem;
}
.content h2 {
  font-size: 2rem;
  margin:6rem 0 1.8rem;
}
.content .flex{
  flex-direction: column;
  gap:3rem;
}
.committee .content{
  margin:0 auto;
	padding-bottom:8rem;
}
.committee h2{
  font-size: 2rem;
  margin-bottom: 3rem;
}
.committee ul{
  flex-direction: column;
  align-items: center;
}
.committee li{
  width: 100%;
}
.committee-btn .btn{
  max-width: 340px;
  height: 50px;
  font-size: 1.8rem;
}
	/* information------------------------------------------------*/
	.news-filter-main{
width:100%;
}
	.news-filter{
	flex-direction:column;
}
	.filter-box{
	width:100%;
}
	.category-list{
	gap:1rem;
}
.category-list li{
	width:calc((100% - 2rem)/3);
}
.category-list a{
	font-size:1.4rem;
	height:36px;
}
.year-list{
	gap:1rem;
}
.year-list li{
	width:calc((100% - 3rem)/4);
}
.year-list a{
	font-size:1.3rem;
	height:28px;
}
	.information-single{
	padding-bottom:8rem;
}
.information-single-ttl{
font-size:2.4rem;
	margin-bottom:2rem;
}
.information-single-txt{
margin-top:2rem;
}
.information-single-btn{
margin-top:5rem;
}
	/*  application-------------------------------------------------*/
	.form-flex {
    margin-top: 6rem;
}
	.form-item h3 {
    font-size: 2rem;
}
	.form-item .btn {
    font-size: 1.5rem;
    height: 48px;
}
	.library-head {
    font-size: 2rem;
    margin-bottom: 4rem;
}
	.library-ttl {
    font-size: 2rem;
}
	.img-list {
    gap: 4rem;
    margin-bottom: 8rem;
}
	.img-item {
        width: 100%;
    }
	.img-ttl {
    font-size: 1.4rem;
    margin-top: 2rem;
}
	/*  movie-------------------------------------------------*/
	.core-movie-img:before {
    width: 70px;
    height: 70px;
}
	.core-movie-img:after {
    border-width: 18px 0 18px 28px;
}
}
.fixedBnr {
  position: fixed;
  width: 214px;
  height: 93px;
  right: 15px;
  bottom: 110px;
  z-index: 10;
}
.fixedBnr.--01 {
  bottom: 110px;
}
.fixedBnr.--02 {
  bottom: 240px;
}
.fixedBnr.--03 {
  bottom: 217px;
}
.fixedBnr_close {
  position: absolute;
  width: 26px;
  top: -8px;
  left: -8px;
  z-index: 1;
}
.fixedBnr_bnr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "游明朝", YuMincho, "Kozuka Mincho Pro", "Kozuka Mincho Std", "小塚明朝 Pro R", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Sawarabi Mincho", serif;
  text-align: center;
  width: 100%;
  height: 100%;
}
.fixedBnr_bnr img {
  position: absolute;
  left: 0;
  top: 0;
}
.fixedBnr_bnr span {
  position: relative;
  z-index: 2;
  font-size: 2.3rem;
  font-weight: 600;
  line-height: 1.3;
  top: 3px;
  letter-spacing: 0;
}
.fixedBnr_bnr span b {
  font-size: 1.2rem;
  display: block;
}
@media screen and (max-width: 768px) {
  .fixedBnr {
    width: 200px;
    height: auto;
    right: 0;
    bottom: 0;
  }
  .fixedBnr.--01 {
    bottom: 65px;
    width: 190px;
  }
  .fixedBnr.--01 .fixedBnr_bnr img {
    position: relative;
  }
  .fixedBnr.--02 {
    bottom: 165px;
    width: 190px;
  }
  .fixedBnr.--02 .fixedBnr_bnr img {
    position: relative;
  }
  .fixedBnr.--03 {
    bottom: 60px;
  }
  .fixedBnr_close {
    top: -14px;
    left: 19px;
    width: 22px;
  }
  .fixedBnr_bnr {
    padding-left: 30px;
  }
  .fixedBnr_bnr span {
    font-size: 1.7rem;
    top: 4px;
    line-height: 1.1;
  }
  .fixedBnr_bnr span b {
    font-size: 1.1rem;
  }
}