@charset "UTF-8";

/*---------------------------------
  Google Fonts
---------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@200..900&display=swap');

.NotoSans { font-family: 'Noto Sans JP', sans-serif; }
.NotoSerif { font-family: 'Noto Serif JP', serif; }
.Poppins { font-family: 'Poppins', sans-serif; }
.NotoSerifKR { font-family: "Noto Serif KR", serif; }

/*---------------------------------
  表示・非表示（PC / TB / SP）
---------------------------------*/
.pconly {
	display: block;
}
.tbonly {
	display: block;
}
.sponly {
	display: none !important;
}
.pcnone {
	display: none;
}
@media screen and (max-width: 767px) {
.pconly {
	display: none !important;
}
.tbonly {
	display: none !important;
}
.sponly {
	display: block;
}
.pcnone {
	display: inline-block;
}
.spnone {
	display: none !important;
}
}

/*---------------------------------
  html/bodyの設定
---------------------------------*/
html {
	font-size: 62.5%; /* 62.5%は10px */
	font-family: 'Noto Sans JP', sans-serif;
}
body {
	color: #000000;
	background: #ffffff;
	overflow-x: hidden;
    text-align: justify;
    word-break: break-all;
	word-wrap: break-word;
    font-feature-settings: "palt" 1, "trad" 1;
}
@media screen and (max-width: 767px) {
html {
	font-size: 62.5%; /* 62.5%は10px */
	font-family: 'Noto Sans JP', sans-serif;
}
body {
	color: #000000;
	background: #ffffff;
	overflow-x: hidden;
    word-break: break-all;
	word-wrap: break-word;
    font-feature-settings: "palt" 1, "trad" 1;
}
}

/*---------------------------------
  画像
---------------------------------*/
img {
	width: 100%;
	height: auto;
    display: block;
}
#maincontentswrap01 img {
   vertical-align: bottom;
}
#maincontentswrap01 a img {
	border-style: none;
}
#maincontentswrap01 img {
	width: 100%;
	height: auto;
	image-rendering: auto;
}
#maincontentswrap01 img[src$=".svg"] {
    width: 100%;
}


/*---------------------------------
  テキストリンク
---------------------------------*/
#maincontentswrap01 a:link {
	color: #066EB8;
	text-decoration: underline;
	transition: 1.0s;
}
#maincontentswrap01 a:visited {
	color: #066EB8;
	text-decoration: underline;
	transition: 1.0s;
}
#maincontentswrap01 a:active {
	color: #066EB8;
	text-decoration: underline;
	transition: 1.0s;
}
#maincontentswrap01 a:hover {
	color: #066EB8;
	text-decoration: underline;
    -webkit-filter: drop-shadow(0px 0px 5px rgba(6,110,184,0.6));
    filter: drop-shadow(0px 0px 5px rgba(6,110,184,0.6));
	transition: 1.0s;
}

/*---------------------------------
  クリックイベント
---------------------------------*/
.noevent {
    pointer-events: none;
}

/*---------------------------------
  画像リンク
---------------------------------*/
a img {
	display: block;
	transition: 1.0s;
}
a:hover img {
	display: block;
    opacity: 0.8 !important;
	transition: 1.0s;
}

/*---------------------------------
  フォントカラー
---------------------------------*/
.font-white01 { color: #ffffff; }
.font-blue01 { color: #2B457D; }
.font-black01 { color: #000000; }
.font-red01 { color: #B31142; }
.font-redwhiteborder01 {
    color: #c50018;
    text-shadow: 1px 1px 1px #ffffff,
                 -1px 1px 1px #ffffff,
                 1px -1px 1px #ffffff,
                 -1px -1px 1px #ffffff;
}
.font-green01 { color: #26b7bc; }
.font-pink01 { color: #e7364a; }
.font-pink02 { color: #e8528d; }
.font-orange01 { color: #d3773d; }


/*---------------------------------
  テキスト頭揃え
---------------------------------*/
.indent01-01 {
	text-indent: -1em;
	margin: 0 0 0 1em;
}
.indent01-05 {
	text-indent: -1.5em;
	margin: 0 0 0 1.5em;
}
.indent01-08 {
	text-indent: -1.8em;
	margin: 0 0 0 1.8em;
}
.indent03-01 {
	text-indent: -3em;
	margin: 0 0 0 3em;
}


/*---------------------------------
  テキスト太さ
---------------------------------*/
.font800 {
    font-weight: 800;
}


/*---------------------------------
  文字間調整用
---------------------------------*/
.letterspace01 {
	letter-spacing: -0.02em;
}

/*---------------------------------
  テキスト位置
---------------------------------*/
.textleft {
	text-align: left !important;
}
.textcenter {
	text-align: center !important;
}
.textright {
	text-align: right !important;
}

/*---------------------------------
  改行設定
---------------------------------*/
.break:before {
	content: "\A";
	white-space: pre;
}
.pcno-break:before {
	content: "";
	white-space: pre;
}
.spno-break:before {
	content: "\A";
	white-space: pre;
}
@media screen and (max-width: 767px) {
.break:before {
	content: "\A";
	white-space: pre;
}
.pcno-break:before {
	content: "\A";
	white-space: pre;
}
.spno-break:before {
	content: "";
	white-space: pre;
}
}


/*---------------------------------
  アンカー位置設定
---------------------------------*/
#concept,
#schedule,
#map,
#contents,
#access {
	margin: -9.333333333333334vw 0 0; /* 1500px基準でmargin: -140px 0 0; */
	padding: 9.333333333333334vw 0 0; /* 1500px基準でpadding: 140px 0 0; */
    position: absolute;
    z-index: 0;
}
@media screen and (max-width: 767px) {
#concept,
#schedule,
#map,
#contents,
#access {
	margin: -19.491525423728813vw 0 0; /* 590px基準でmargin: -115px 0 0; */
	padding: 19.491525423728813vw 0 0; /* 590px基準でpadding: -115px 0 0; */
    position: absolute;
    z-index: 0;
}
}


/*---------------------------------
  バックグラウンド
---------------------------------*/
.bg01 {
    background: #F6F1E8;
}
.bg02 {
    background: #EDE4D1;
}


/*---------------------------------
  ローディング
---------------------------------*/
#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	background: #29505F;
	z-index: 999999;
	text-align:center;
	color:#fff;
}

#splash-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定 */
#splash-logo img {
	width: 100%;
}

/* fadeUpをするアイコンの動き */
.fadeUp{
	animation-name: fadeUpAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity: 0;
}

@keyframes fadeUpAnime{
from {
	opacity: 0;
	transform: translateY(100px);
}

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

/*画面遷移アニメーション*/
/*画面遷移の後現れるコンテンツ設定*/
#wrapper{
	opacity: 0;/*はじめは透過0に*/
}

/*bodyにappearクラスがついたら出現*/
body.appear #wrapper{
	animation-name:PageAnimeAppear;
	animation-duration:1s;
	animation-delay:0.2s;
	animation-fill-mode:forwards;
	opacity: 0;
}

@keyframes PageAnimeAppear{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}
@media screen and (max-width: 767px) {
#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	background: #29505F;
	z-index: 999999;
	text-align:center;
	color:#fff;
}

#splash-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
/* Loading アイコンの大きさ設定 */
#splash-logo img {
	width: 100%;
}
}


/*---------------------------------
  ヘッダースキップ（読み上げ対策）
---------------------------------*/
#headerskip {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1px;
	overflow: hidden;
	background-color: #29505F;
	text-align: center;
	color: #0A2530;
	z-index: 3000;
}
#headerskip a {
	color: #0A2530;
	overflow: hidden;
	background-color: transparent;
}
.show {
	line-height: 1.5 !important;
	background-color: #F6F6F6 !important;
	border-bottom: solid 1px #29505F !important;
	color: #0A2530;
}
.show a {
	color: #000 !important;
	line-height: 150% !important;
	font-size: 100% !important;
	background-color: transparent;
}


/*---------------------------------
  ヘッダー
---------------------------------*/
header {
	width: 100%;
	padding: 0 0 20px;
    position: fixed;
    z-index: 2;
}
header.transform img {
    -webkit-filter: drop-shadow(0px 0px 5px rgba(102,102,102,0.2));
    filter: drop-shadow(0px 0px 5px rgba(102,102,102,0.2));
	transition: 0.5s;
}
#headwrap01 {
	width: 94.66666666666667vw; /* 1500px基準でwidth: 1420px; */
    position: absolute;
    top: 1.4666666666666666vw; /* 1500px基準でtop: 22px; */
    left: 0;
    right: 0;
	margin: 0 auto;
	display: flex;
	align-items: center;
    justify-content: space-between;
}
#headwrap01 a:link {
	opacity: 1.0;
	transition: 1.0s;
}
#headwrap01 a:hover {
    -webkit-filter: drop-shadow(0px 0px 5px rgba(255,255,255,1.0));
    filter: drop-shadow(0px 0px 5px rgba(255,255,255,1.0));
	opacity: 1.0;
	transition: 1.0s;
}
.headinner01 {
}
.headinner01 a {
	width: 100%;
    display: block;
}
.headinner01 img {
	width: 100%;
}
.headinner01:nth-child(1) {
	width: 17.2vw; /* 1500px基準でwidth: 258px; */
    margin: 0 6.266666666666667vw 0 0; /* 1500px基準でmargin: 0 94px 0 0; */
    order: 1;
}
.headinner01:nth-child(2) {
    order: 2;
    margin: 0 6.666666666666667vw 0 0; /* 1500px基準でmargin: 0 100px 0 0; */
}
.headnavbtn {
    display: none;
}
@media screen and (max-width: 767px) {
header {
	width: 100%;
	padding: 0 0 20px;
    position: fixed;
    z-index: 2;
}
header.transform img {
    -webkit-filter: drop-shadow(0px 0px 5px rgba(102,102,102,0.2));
    filter: drop-shadow(0px 0px 5px rgba(102,102,102,0.2));
	transition: 0.5s;
}
#headwrap01 {
	width: 100%;
    position: absolute;
    top: 4.067796610169491vw; /* 590px基準でtop: 24px; */
    left: 0;
    right: 0;
	margin: 0 auto;
	display: flex;
	align-items: center;
    justify-content: space-between;
}
#headwrap01 a:link {
	opacity: 1.0;
	transition: 1.0s;
}
#headwrap01 a:hover {
    -webkit-filter: drop-shadow(0px 0px 5px rgba(255,255,255,1.0));
    filter: drop-shadow(0px 0px 5px rgba(255,255,255,1.0));
	opacity: 1.0;
	transition: 1.0s;
}
.headinner01 {
}
.headinner01 a {
	width: 100%;
    display: block;
}
.headinner01 img {
	width: 100%;
}
.headinner01:nth-child(1) {
	width: 51.52542372881356vw; /* 590px基準でwidth: 304px; */
    margin: 0 8.47457627118644vw 0 7.627118644067797vw; /* 590px基準でmargin: 0 50px 0 45px; */
    order: 1;
}
.headinner01:nth-child(2) {
	width: 8.47457627118644vw; /* 590px基準でwidth: 50px; */
    order: 3;
    margin: 0 7.627118644067797vw 0 0; /* 590px基準でmargin: 0 45px 0 0; */
}
.headnavbtn {
    display: block;
}
}


/*---------------------------------
  ハンバーガーメニュー
---------------------------------*/
/* Toggle(Button) */
#navToggle {
	display: none;
	position: absolute;/*to body*/
	right: 7.627118644067797vw; /* 590px基準でright: 45px; */
	top: 1.694915254237288vw; /* 590px基準でtop: 8px; */
	width: 7.627118644067797vw; /* 590px基準でwidth: 45px; */
	height: 7.627118644067797vw; /* 590px基準でheight: 45px; */
	cursor: pointer;
    z-index: 9999;
}
#navToggle div {position:relative}
#navToggle span {
	display:block;
	position:absolute;/*to div*/
	width: 100%;
	border-bottom:solid 5px #ffffff;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#navToggle span:nth-child(1) {top:0;}
#navToggle span:nth-child(2) {top:2.5423728813559325vw;} /* 590px基準でtop:15px; */
#navToggle span:nth-child(3) {top:5.084745762711865vw;} /* 590px基準でtop:30px; */

@media screen and (min-width: 768px) {
header nav {
    display: block;
    text-align: center;
}
header nav ul {
    width: 100%;
    display: flex;
}
header nav ul li {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 2.5em;
}

/* 仕切り線：最後以外に表示 */
header nav ul li:not(:last-child)::after {
  content: url(../img/naviborder_pc.svg);
  position: absolute;
  right: -2.5em;
  top: 50%;
  transform: translateY(-50%);
  width: 3px; /* 1500px基準でwidth: 2.7808px; */
  height: auto;
}
header nav ul li:nth-child(1) {
    width: 7.44326vw; /* 1500px基準でwidth: 111.6489px; */
}
header nav ul li:nth-child(2) {
    width: 8.220433333333334vw; /* 1500px基準でwidth: 123.3065px; */
}
header nav ul li:nth-child(3) {
    width: 3.2753066666666673vw; /* 1500px基準でwidth: 49.1296px; */
}
header nav ul li:nth-child(4) {
    width: 8.405686666666668vw; /* 1500px基準でwidth: 126.0853px; */
}
header nav ul li:nth-child(5) {
    width: 6.211353333333333vw; /* 1500px基準でwidth: 93.1703px; */
}
}
@media screen and (max-width: 767px) {
header nav {
	position:fixed;
	left: 200vw;
    top: 0;
	background:rgba(40,81,95,0.95);
    width: 100%;
    height: 100vh;
	padding:0 2%;
	-webkit-transition:.5s ease-in-out;
	-moz-transition:.5s ease-in-out;
	-o-transition:.5s ease-in-out;
	transition:.5s ease-in-out;
	text-align: center;
    z-index: 9998;
}
header nav ul {
    display: table;
    margin: 22.033898305084744vw auto 0; /* 590px基準でmargin: 130px auto 0; */
}
header nav ul li {
    display: block;
    margin: 0 0 5.932203389830509vw; /* 590px基準でmargin: 0 0 35px; */
}
header nav ul li:nth-child(1) {
    width: 32.23093220338983vw; /* 590px基準でwidth: 190.1625px; */
}
header nav ul li:nth-child(2) {
    width: 35.48210169491526vw; /* 590px基準でwidth: 209.3444px; */
}
header nav ul li:nth-child(3) {
    width: 14.377288135593218vw; /* 590px基準でwidth: 84.826px; */
}
header nav ul li:nth-child(4) {
    width: 36.33008474576271vw; /* 590px基準でwidth: 214.3475px; */
}
header nav ul li:nth-child(5) {
    width: 26.898338983050845vw; /* 590px基準でwidth: 158.7002px; */
    margin: 0;
}
header nav ul li a {
    display: block;
}
/* Toggle(Button) */
#navToggle {display: block}
/* Click Toggle(Button) */
.openNav #navToggle span:nth-child(1) {
	top: 11px;
	-webkit-transform:rotate(-45deg);
	-moz-transform:rotate(-45deg);
	transform:rotate(-45deg)}
.openNav #navToggle span:nth-child(2),
.openNav #navToggle span:nth-child(3) {
	top: 11px;
	-webkit-transform:rotate(45deg);
	-moz-transform:rotate(45deg);
	transform:rotate(45deg)}
/*header menu*/
.openNav nav {
	-moz-transform: translateX(-200vw);
	-webkit-transform: translateX(-200vw);
	transform: translateX(-200vw)}
}


/*---------------------------------
  メインビジュアル
---------------------------------*/
#mainvisualwrap01 {
	width: 100%;
}
@media screen and (max-width: 767px) {
#mainvisualwrap01 {
	width: 100%;
}
}


/*---------------------------------
  メインコンテンツ
---------------------------------*/
#maincontentswrap01 {
	width: 100%;
    font-size: 1.6vw; /* 1500px基準でfont-size: 24px; */
    font-weight: 400;
    line-height: 160%;
}
@media screen and (max-width: 767px) {
#maincontentswrap01 {
	width: 100%;
    font-size: 3.389830508474576vw; /* 590px基準でfont-size: 20px; */
    font-weight: 400;
    line-height: 160%;
}
}


/*---------------------------------
  コンテンツ（共通）
---------------------------------*/
.contentswrap01 {
	width: 100%;
	padding: 0 0 4.666666666666667vw; /* 1500px基準でpadding: 0 0 70px; */
}
.contentswrap01:last-child {
	padding: 0;
}
.contentsinner01 {
    width: 66vw; /* 1500px基準でwidth: 990px; */
    margin: 0 auto;
	padding: 0 0 4.666666666666667vw; /* 1500px基準でpadding: 0 0 70px; */
}
.contentsinner01:last-child {
	padding: 0;
}
.contentsinner02 {
    width: 66vw; /* 1500px基準でwidth: 990px; */
    margin: 0 auto;
	padding: 0 0 4.666666666666667vw; /* 1500px基準でpadding: 0 0 70px; */
}
.contentsinner02:last-child {
	padding: 0;
}
.contentsinner03 {
    width: 66vw; /* 1500px基準でwidth: 990px; */
    margin: 0 auto;
	padding: 0 0 1.866666666666667vw; /* 1500px基準でpadding: 0 0 28px; */
}
.contentsinner03:last-child {
	padding: 0;
}

.contents2columnwrap01 {
    width: 100%;
    display: flex;
    gap: 0 3.3333333333333335vw; /* 1500px基準でgap: 0 50px; */
}
.contents2columnwrap02 {
    width: 61.33333333333333vw; /* 1500px基準でwidth: 920px; */
    margin: 0 auto;
    display: flex;
    gap: 0 2.3333333333333335vw; /* 1500px基準でgap: 0 35px; */
}
.contents2columninner01 {
    width: calc(100% / 2);
}
@media screen and (max-width: 767px) {
.contentswrap01 {
	width: 100%;
	padding: 0 0 10.677966101694915vw; /* 590px基準でpadding: 0 0 63px; */
}
.contentswrap01:last-child {
	padding: 0;
}
.contentsinner01 {
    width: 100%;
    margin: 0 auto;
	padding: 0 0 6.779661016949152vw; /* 590px基準でpadding: 0 0 40px; */
}
.contentsinner01:last-child {
	padding: 0;
}
.contentsinner02 {
    width: 88.13559322033898vw; /* 590px基準でwidth: 520px; */
    margin: 0 auto;
	padding: 0 0 6.779661016949152vw; /* 590px基準でpadding: 0 0 40px; */
}
.contentsinner02:last-child {
	padding: 0;
}
.contentsinner03 {
    width: 100%;
    margin: 0 auto;
	padding: 0 0 6.440677966101695vw; /* 590px基準でpadding: 0 0 38px; */
}
.contentsinner03:last-child {
	padding: 0;
}

.contents2columnwrap01 {
    width: 100%;
    display: flex;
    flex-flow: column;
    gap: 5.932203389830509vw 0; /* 590px基準でgap: 35px 0; */
}
.contents2columnwrap02 {
    width: 74.91525423728814vw; /* 590px基準でwidth: 442px; */
    margin: 0 auto;
    display: flex;
    flex-flow: column;
    gap: 2.8813559322033897vw 0; /* 590px基準でgap: 17px 0; */
}
.contents2columninner01 {
    width: 100%;
}
}


/*---------------------------------
  アコーディオン
---------------------------------*/
.accordion {
  display: block;
  padding: 0 0 4vw; /* 1500px基準で60px */
}

/* 全画像共通リセット */
.accordion img {
  display: block;
  width: 100%;
  min-width: 100%;
  height: auto;
  vertical-align: bottom;
  line-height: 0;
  border: none;
  margin: 0;
  padding: 0;
  image-rendering: -webkit-optimize-contrast;
}

/* タイトル本体 */
.accordion__title {
  width: 100%;
  cursor: pointer;
  position: relative;
  overflow: hidden; /* ← 下の1px線防止 */
  display: block;
  font-size: 0;
  line-height: 0;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  backface-visibility: hidden;
}

.accordion__title img {
  display: block;
  width: 101%; /* ← サブピクセル誤差吸収 */
  height: auto;
  margin-bottom: 0.5px; /* ← 下端にかぶせて白線消し */
  vertical-align: bottom;
  pointer-events: none; /* クリック透過 */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  backface-visibility: hidden;
  will-change: transform;
}

/* ＋マーク */
.accordion__title .plus {
  position: absolute;
  right: 0.533vw; /* 8px */
  top: 50%;
  width: 1.666vw; /* 25px */
  height: 1.666vw;
  transform: translateY(-50%);
  z-index: 10;
  pointer-events: none;
}
.accordion__title .plus::before,
.accordion__title .plus::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 1px;
  background-color: #000;
  transition: all 0.6s ease;
}
.accordion__title .plus::after {
  transform: rotate(90deg);
}
.accordion__title.show .plus::before {
  opacity: 0;
}
.accordion__title.show .plus::after {
  transform: rotate(180deg);
}

/* コンテンツ */
.accordion__content {
  display: none;
  overflow: hidden; /* ← 開閉時の1px伸び防止 */
  will-change: height, opacity;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  backface-visibility: hidden;
  margin-top: -1px;
}
.accordion__contentdetail {
  width: 100%;
  display: block;
  font-size: 1rem;
  line-height: normal;
}
.accordion__contentdetail img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: bottom;
  pointer-events: none;
}

/* 注意文 */
.accordionattenttion01 {
  font-size: 1.2vw;
  font-weight: 500;
  text-align: center;
  color: #3E3A39;
}

/*---------------------------------
  SP（〜767px）
---------------------------------*/
@media screen and (max-width: 767px) {
  .accordion {
    display: block;
    padding: 0 0 5.08vw; /* 30px */
  }

  .accordion__title {
    width: 100%;
    min-width: 100%;
    position: relative;
    overflow: hidden;
    display: block;
    font-size: 0;
    line-height: 0;
  }

  .accordion__title img {
    display: block;
    width: 100%;
    margin-bottom: 0.5px;
    pointer-events: none;
  }

  .accordion__title .plus {
    right: 3.22vw; /* 19px */
    width: 4.23vw; /* 25px */
    height: 4.23vw;
  }

  .accordionattenttion01 {
    font-size: 2.2vw; /* 13px */
  }
}


/*---------------------------------
  コンセプト
---------------------------------*/
#concept {
    display: block;
    position: relative;
}
#concept p.catch01 {
    display: block;
    margin: 0 auto;
    font-size: 1.3333333333333335vw; /* 1500px基準でfont-size: 20px; */
    font-weight: 500;
    line-height: 160%;
    text-align: center;
    color: #29505F;
    position: absolute;
    top: 36.666666666666664vw; /* 1500px基準でtop: 550px; */
    left: 0;
    right: 0;
}
@media screen and (max-width: 767px) {
#concept {
    display: block;
    position: relative;
}
#concept p.catch01 {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 0 20px;
    font-size: 3.389830508474576vw; /* 590px基準でfont-size: 20px; */
    font-weight: 500;
    line-height: 180%;
    text-align: center;
    color: #29505F;
    position: absolute;
    top: 93.22033898305084vw; /* 590px基準でtop: 415px; */
    left: 0;
    right: 0;
}
#concept p.catch01 br {
    display: none;
}
}


/*---------------------------------
  スケジュール
---------------------------------*/
#schedule {
    display: block;
    position: relative;
}
#schedulecontentswrap01 {
    display: block;
    position: relative;
    padding: 2.1333333333333333vw 0 8.666666666666668vw; /* 1500px基準でpadding: 32px 0 130px; */
}
#schedulebtnwrap01 {
    width: 30.666666666666664vw; /* 1500px基準でwidth: 460px; */
    margin: 0 auto;
    padding: 0 0 3vw; /* 1500px基準でpadding: 0 0 45px; */
} 
@media screen and (max-width: 767px) {
#schedule {
    display: block;
    position: relative;
}
#schedulecontentswrap01 {
    display: block;
    position: relative;
    padding: 11.016949152542372vw 0; /* 590px基準でpadding: 65px 0; */
}
#schedulebtnwrap01 {
    width: 64.91525423728814vw; /* 590px基準でwidth: 383px; */
    margin: 0 auto;
    padding: 0 0 6.440677966101695vw; /* 590px基準でpadding: 0 0 38px; */
} 
}


/*---------------------------------
  MAP
---------------------------------*/
#map {
    display: block;
    position: relative;
}
#mapcontentswrap01 {
    display: block;
    position: relative;
    padding: 6vw 0 8.666666666666668vw; /* 1500px基準でpadding: 90px 0 130px; */
}
@media screen and (max-width: 767px) {
#map {
    display: block;
    position: relative;
}
#mapcontentswrap01 {
    display: block;
    position: relative;
    padding: 11.016949152542372vw 0; /* 590px基準でpadding: 65px 0; */
}
}


/*---------------------------------
  LIGHTUP & CONTENTS
---------------------------------*/
#contents {
    display: block;
    position: relative;
}
#contentswrap01 {
    display: block;
    position: relative;
    padding: 2.1333333333333333vw 0 8.666666666666668vw; /* 1500px基準でpadding: 32px 0 130px; */
}
@media screen and (max-width: 767px) {
#contents {
    display: block;
    position: relative;
}
#contentswrap01 {
    display: block;
    position: relative;
    padding: 11.016949152542372vw 0; /* 590px基準でpadding: 65px 0; */
}
}


/*---------------------------------
  MUSIC
---------------------------------*/
#music {
    display: block;
    position: relative;
}
#musiccontentswrap01 {
    display: block;
    position: relative;
    padding: 6vw 0 8.666666666666668vw; /* 1500px基準でpadding: 90px 0 130px; */
}
@media screen and (max-width: 767px) {
#music {
    display: block;
    position: relative;
}
#musiccontentswrap01 {
    display: block;
    position: relative;
    padding: 11.016949152542372vw 0; /* 590px基準でpadding: 65px 0; */
}
}


/*---------------------------------
  FOOD & SHOPS
---------------------------------*/
#food-shop {
    display: block;
    position: relative;
}
#food-shopcontentswrap01 {
    display: block;
    position: relative;
    padding: 6vw 0 8.666666666666668vw; /* 1500px基準でpadding: 90px 0 130px; */
}
@media screen and (max-width: 767px) {
#food-shop {
    display: block;
    position: relative;
}
#food-shopcontentswrap01 {
    display: block;
    position: relative;
    padding: 11.016949152542372vw 0; /* 590px基準でpadding: 65px 0; */
}
}


/*---------------------------------
  きらめきの花スタンプラリー
---------------------------------*/
#stamp-rally {
    display: block;
    position: relative;
    z-index: 1;
}
#stamp-rallycontentswrap01 {
    display: block;
    position: relative;
    padding: 2.1333333333333333vw 0 8.666666666666668vw; /* 1500px基準でpadding: 32px 0 130px; */
}
#stamp-rallybtnwrap01 {
    width: 30.666666666666664vw; /* 1500px基準でwidth: 460px; */
    margin: 0 auto;
    padding: 2.3333333333333335vw 0 0; /* 1500px基準でpadding: 35px 0 0; */
}
#stamp-rallybtnwrap01 a:link {
    display: block;
}
@media screen and (max-width: 767px) {
#stamp-rally {
    display: block;
    position: relative;
    z-index: 1;
}
#stamp-rallycontentswrap01 {
    display: block;
    position: relative;
    padding: 11.016949152542372vw 0; /* 590px基準でpadding: 65px 0; */
}
#stamp-rallybtnwrap01 {
    width: 64.91525423728814vw; /* 590px基準でwidth: 383px; */
    margin: 0 auto;
    padding: 4.067796610169491vw 0 0; /* 590px基準でpadding: 24px 0 0; */
}
#stamp-rallybtnwrap01 a:link {
    display: block;
}
}


/*---------------------------------
  ACCESS
---------------------------------*/
#access {
    display: block;
    position: relative;
}
#accesscontentswrap01 {
    display: block;
    position: relative;
    padding: 6vw 0 8.666666666666668vw; /* 1500px基準でpadding: 90px 0 130px; */
}
#accesscontentswrap01 iframe {
    width: 100%;
    height: 33.33333333333333vw; /* 1500px基準でheight: 500px; */
    padding: 10px;
    background: #ffffff;
}
ul.accesslist01 {
    display: block;
    padding: 2.1333333333333333vw 0 0; /* 1500px基準でpadding: 32px 0 0; */
    font-size: 1.3333333333333335vw; /* 1500px基準でfont-size: 20px; */
    font-weight: 400;
    line-height: 160%;
    color: #3E3A39;
}
ul.accesslist01 li.attention01 {
    line-height: 120%;
}
ul.accesslist02 {
    display: block;
    font-size: 1.2vw; /* 1500px基準でfont-size: 18px; */
    font-weight: 400;
    line-height: 160%;
    color: #3E3A39;
}
ul.accesslist02 li:nth-child(1) {
    display: block;
    width: 18.54312666666667vw; /* 1500px基準でwidth: 278.1469px; */
    margin: 0 auto;
    padding: 0 0 1.2vw; /* 1500px基準でpadding: 0 0 18px; */
}
@media screen and (max-width: 767px) {
#access {
    display: block;
    position: relative;
}
#accesscontentswrap01 {
    display: block;
    position: relative;
    padding: 11.016949152542372vw 0; /* 590px基準でpadding: 65px 0; */
}
#accesscontentswrap01 iframe {
    width: 100%;
    height: 100vw; /* 590px基準でheight: 590px; */
    padding: 0;
    background: #ffffff;
}
ul.accesslist01 {
    display: block;
    width: 84.7457627118644vw; /* 590px基準でwidth: 500px; */
    margin: 0 auto;
    padding: 4.745762711864407vw 0 0; /* 590px基準でpadding: 28px 0 0; */
    font-size: 2.8813559322033897vw; /* 590px基準でfont-size: 17px; */
    font-weight: 400;
    color: #3E3A39;
}
ul.accesslist01 li.attention01 {
    line-height: 100%;
}
ul.accesslist02 {
    display: block;
    width: 84.7457627118644vw; /* 590px基準でwidth: 500px; */
    margin: 0 auto;
    font-size: 2.8813559322033897vw; /* 590px基準でfont-size: 17px; */
    font-weight: 400;
    color: #3E3A39;
}
ul.accesslist02 li:nth-child(1) {
    display: block;
    width: 37.71483050847458vw; /* 590px基準でwidth: 222.5175px; */
    margin: 0 auto;
    padding: 0 0 5.084745762711865vw; /* 590px基準でpadding: 0 0 30px; */
}
}


/*---------------------------------
  CONTACT
---------------------------------*/
#contact {
    display: block;
    position: relative;
}
#contactcontentswrap01 {
    display: block;
    position: relative;
    padding: 2.1333333333333333vw 0 5.666666666666666vw; /* 1500px基準でpadding: 32px 0 85px; */
}
@media screen and (max-width: 767px) {
#contact {
    display: block;
    position: relative;
}
#contactcontentswrap01 {
    display: block;
    position: relative;
    padding: 11.016949152542372vw 0; /* 590px基準でpadding: 65px 0; */
}
}


/*---------------------------------
  タイトル（共通）
---------------------------------*/
h2 {
    display: block;
}
.contentscatch01 {
    font-size: 1.2vw; /* 1500px基準でfont-size: 18px; */
    font-weight: 400;
    line-height: 180%;
    letter-spacing: -0.03em;
    color: #3E3A39;
    text-align: center;
}
.contentscatch02 {
    font-size: 1.2vw; /* 1500px基準でfont-size: 18px; */
    font-weight: 400;
    line-height: 180%;
    color: #3E3A39;
    text-align: center;
}
.contentscatch03 {
    font-size: 1.3333333333333335vw; /* 1500px基準でfont-size: 20px; */
    font-weight: 400;
    line-height: 180%;
    color: #3E3A39;
    text-align: center;
}
.contentscatchattention01 {
    font-size: calc(100% * 0.8);
}
@media screen and (max-width: 767px) {
h2 {
    display: block;
}
.contentscatch01 {
    width: 84.7457627118644vw; /* 590px基準でwidth: 500px; */
    margin: 0 auto;
    font-size: 3.2203389830508473vw; /* 590px基準でfont-size: 19px; */
    font-weight: 400;
    line-height: 180%;
    letter-spacing: 0;
    color: #3E3A39;
    text-align: left;
}
.contentscatch02 {
    width: 84.7457627118644vw; /* 590px基準でwidth: 500px; */
    margin: 0 auto;
    font-size: 3.2203389830508473vw; /* 590px基準でfont-size: 19px; */
    font-weight: 400;
    line-height: 180%;
    color: #3E3A39;
    text-align: center;
}
.contentscatch03 {
    width: 84.7457627118644vw; /* 590px基準でwidth: 500px; */
    margin: 0 auto;
    font-size: 3.2203389830508473vw; /* 590px基準でfont-size: 19px; */
    font-weight: 400;
    line-height: 180%;
    color: #3E3A39;
    text-align: center;
}
.contentscatchattention01 {
    font-size: calc(100% * 0.8);
}
}

/*---------------------------------
  タブ
---------------------------------*/
.tab-area {
    display: flex;
    flex-direction:row;
    justify-content:center;
    gap: 0 1.3333333333333335vw; /* 1500px基準でgap: 0 20px; */
    cursor: pointer;
}
.tab {
    width: 29.666666666666668vw; /* 1500px基準でwidth: 445px; */
}
.tab.active {
    margin: 0 0 -1px;
}
.panel {
    display: none;
}
.panel.active {
    display: block;
}
.daywrap01 {
    width: 100%;
    padding: 5.333333333333334vw 0 0; /* 1500px基準でpadding: 80px 0 0; */
    border-top: 1.3px solid #AC5023;
    margin: -1px 0 0;
}
.nightwrap01 {
    width: 100%;
    padding: 5.333333333333334vw 0 0; /* 1500px基準でpadding: 80px 0 0; */
    border-top: 1.3px solid #29505F;
    margin: -1px 0 0;
}
.tabcontentsdetailwrap01 {
    width: 60.66666666666667vw; /* 1500px基準でwidth: 910px; */
    margin: 0 auto;
}
.tabcontentsdetailinner01 {
    width: 100%;
    display: block;
    position: relative;
}
.tabbtn01 {
    display: block;
    width: 22.666666666666664vw; /* 1500px基準でwidth: 340px; */
    position: absolute;
    bottom: 3.3333333333333335vw; /* 1500px基準でbottom: 50px; */
    left: 3.3333333333333335vw; /* 1500px基準でleft: 50px; */
    right: auto;
}
.tabbtn01 img {
    display: block;
    width: 100%;
    height: auto;
}
.tabbtn02 {
    display: block;
    width: 14.6vw; /* 1500px基準でwidth: 219px; */
    position: absolute;
    top: 5.666666666666666vw; /* 1500px基準でtop: 85px; */
    right: 0;
}
.tabbtn02 img {
    display: block;
    width: 100%;
    height: auto;
}

.sound-area { display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); }
.play-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  width:100%; padding:12px 16px; border:1px solid #ddd; border-radius:12px; background:#fff;
}
.play-btn.is-playing { outline:2px solid #8ecae6; }
.play-btn[disabled]{opacity:.6; cursor:not-allowed;}
@media screen and (max-width: 767px) {
.tab-area {
    display: flex;
    flex-direction:row;
    justify-content:center;
    gap: 0 2.0338983050847457vw; /* 590px基準でgap: 0 12px; */
    cursor: pointer;
}
.tab {
    width: 45.76271186440678vw; /* 590px基準でwidth: 270px; */
}
.tab.active {
    margin: 0 0 -1px;
}
.panel {
    display: none;
}
.panel.active {
    display: block;
}
.daywrap01 {
    width: 100%;
    padding: 4.666666666666667vw 0 0; /* 590px基準でpadding: 70px 0 0; */
    border-top: 1.3px solid #AC5023;
    margin: -1px 0 0;
}
.nightwrap01 {
    width: 100%;
    padding: 4.666666666666667vw 0 0; /* 590px基準でpadding: 70px 0 0; */
    border-top: 1.3px solid #29505F;
    margin: -1px 0 0;
}
.tabcontentsdetailwrap01 {
    width: 84.7457627118644vw; /* 590px基準でwidth: 500px; */
    margin: 0 auto;
}
.tabcontentsdetailinner01 {
    width: 100%;
    display: block;
    position: relative;
}
.tabbtn01 {
    display: block;
    width: 57.6271186440678vw; /* 590px基準でwidth: 340px; */
    margin: 0 auto;
    position: absolute;
    bottom: 7.457627118644068vw; /* 590px基準でbottom: 44px; */
    left: 0;
    right: 0;
}
.tabbtn01 img {
    display: block;
    width: 100%;
    height: auto;
}
.tabbtn02 {
    display: block;
    width: 100%;
    position: absolute;
    top: 48.30508474576271vw; /* 590px基準でtop: 301px; */
    right: 0;
}
.tabbtn02 img {
    display: block;
    width: 100%;
    height: auto;
}
}

/*---------------------------------
  フッター
---------------------------------*/
footer {
    width: 100%;
}
#organizer {
    font-size: 1.2vw; /* 1500px基準でfont-size: 18px; */
    font-weight: 400;
    line-height: 160%;
    text-align: center;
    color: #000000;
    padding: 2vw 0; /* 1500px基準でpadding: 30px 0; */
}
.organizerattention01 {
    display: block;
    font-size: 1.2vw; /* 1500px基準でfont-size: 18px; */
    line-height: 140%;
}
#copyright {
    font-size: 1.0666666666666667vw; /* 1500px基準でfont-size: 16px; */
    font-weight: 400;
    text-align: center;
    color: #ffffff;
    background: #3E3A39;
    padding: 2vw 0; /* 1500px基準でpadding: 30px 0; */
}
@media screen and (max-width: 767px) {
footer {
    width: 100%;
}
#organizer {
    font-size: 2.711864406779661vw; /* 590px基準でfont-size: 16px; */
    font-weight: 400;
    line-height: 180%;
    text-align: center;
    color: #000000;
    padding: 5.084745762711865vw 0; /* 590px基準でpadding: 30px 0; */
}
.organizerattention01 {
    display: block;
    font-size: 3.050847457627119vw; /* 590px基準でfont-size: 18px; */
    line-height: 160%;
}
#copyright {
    font-size: 2.711864406779661vw; /* 590px基準でfont-size: 16px; */
    font-weight: 400;
    text-align: center;
    color: #ffffff;
    background: #3E3A39;
    padding: 5.084745762711865vw 0; /* 590px基準でpadding: 30px 0; */
}
}


/*---------------------------------
  PAGETOP
---------------------------------*/
#pagetop {
  display: none;
  width: 7.333333333333333vw; /* 1500px基準でwidth: 110px; */
  position: fixed;
  right: 1.3333333333333335vw; /* 1500px基準でight: 20px; */
  bottom: 1.3333333333333335vw; /* 1500px基準でbottom: 20px; */
  z-index: 1000;
  transition: opacity 0.4s ease;
}
@media screen and (max-width: 767px) {
#pagetop {
  display: none;
  width: 16.94915254237288vw; /* 590px基準でwidth: 100px; */
  position: fixed;
  right: 3.389830508474576vw; /* 590px基準でight: 20px; */
  bottom: 3.389830508474576vw; /* 590px基準でbottom: 20px; */
  z-index: 1000;
  transition: opacity 0.4s ease;
}
}
