@charset "UTF-8";
/* CSS Document */
html {scroll-behavior: smooth;}
*{
    margin:0;
    padding:0;
    box-sizing: border-box;
}
html, body {
  width: 100%;
  height: 100%;
  background-color: #000000;
	font-family: "Noto Serif JP", serif;
    font-weight:normal;
    font-size:16px;
}
a {
	color:#000000;
    text-decoration: none;
    transition: all 0.5s ease;
}
a:hover{
	opacity: 0.7;
}
a:link {
    color: #FFF;
    text-decoration: none;
}
img{
    width: 100%;
    height: auto;
}
h1, h2, h3, h4, h5{
	padding: 0;
	margin:0;
}
p{
	margin-bottom:10px;
}
main .hidden {
    overflow: visible;
}
/* リセット */

/*NTAヘッダー調整*/
header *, footer * {font-family: "ヒラギノ角ゴ Pro W3", "HraKakuProN-W6", "HelveticaNeue";}
header {background-color: #FFF;}
#Gnav .js-gnav * span {box-sizing: unset;}
#headRMain li a span:first-child img {
    width: 22px;
    height: auto;
}
header li,footer li {list-style: none;}
header a:link,
footer a:link,
footer span {color: #343474;}
#overlay {z-index: 1000;}
#watchingoff_header,
#watchingoff_footer {display: none;}

/* オープニング全体 */
#opening {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000000;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 1000;
}

.typedText {
  font-size: 2em;
  text-align: center;
  opacity: 1;
  z-index: 10;
}
/* テキストAの各行の基本スタイル */
#textA{
  font-size: 2.5em;
  position: relative;
  z-index: 10020;
	display: block;
}
#textA .textLine {
  display: block;
  text-align: center;
  font-size: 2.5rem;
  line-height: 1.5;
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s ease;
}
#textA .textLine.show {
  opacity: 1;
  transform: translateY(0);
}
.goldGradient {
  font-weight: bold;
  background: linear-gradient(90deg, #FFD700, #FFC200, #FFB700, #FFD700);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  display: inline-block;
}
/*第２テキスト*/
.openingCatch {
  position: absolute;
  top: 20%;
  right: 5%;
  text-align: right;
  opacity: 0;
  transform: scale(0.8);
  z-index: 1010;
}
.openingCatch h2,.openingCatch h1{
	margin: 0;
	padding: 0;
	line-height: 1.2;
	color:#ffffff;
	text-shadow: 4px 0px 12px rgba(0, 0, 0, 0.3);
}
.openingCatch h2{
	font-size:4rem;
}
.openingCatch h1{
	font-size:7.5rem;
}
@keyframes zoomInFadeIn {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.animateTextZoomIn {
  animation: zoomInFadeIn 1s forwards;
}
/* 既存のフェードアウト */
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.animateFadeOut {
  animation: fadeOut 1s forwards;
}
@keyframes fadeOutFixed {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(1);
  }
}
.animateFadeOutFixed {
  animation: fadeOutFixed 1s forwards;
}

/* 第２画像 */
.introImage {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
	z-index: 1000;
}
/* テキストB,C コンテナ */
.fadeContainer {
  position: absolute;
  top: 80%;
  left: 30%;
  transform: translate(-50%, -50%);
  width: 100%;
	height: 100%;
  opacity: 0;
	z-index: 910;
  text-align: center;
}
#textB, #textC {
  margin: 30px 0;
}
#textB img, #textC img {
  width: 100%;
  max-width: 500px;
  display: block;
  margin: 0 auto;
}
/* テキストC：白色 */
#textC {
  color: #ffffff;
}
/* 背景画像の共通スタイル */
.bgContainer {
  position: fixed;
  top:0; left:0; right:0; bottom:0;
  z-index: 900;
  pointer-events: none;
}
.bgImage {
  position: fixed;
  opacity: 0;
  transition: opacity 3s ease, transform 3s linear;
}
.bgScene {
  top: 0%; right: 15%; transform: translateY(0);
	width:520px;
}
.bgArtist01 {
  top: 15%; right: 10%; transform: translateX(0);
	width:380px;
}
.bgArtist02 {
  bottom: 5%; right: 20%; transform: translateY(0);
	width:780px;
}
.bgScene.active { opacity: 1; transform: translateY(40px); }
.bgArtist01.active { opacity: 1; transform: translateX(-40px); }
.bgArtist02.active { opacity: 1; transform: translateY(-40px); }

/* アニメーションキー */
@keyframes zoomOutFadeIn {
  from {
    transform: scale(1.2);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* 各アニメーション用クラス */
.animateZoom {
  animation: zoomOutFadeIn 1s forwards;
}
.animateFadeOut {
  animation: fadeOut 1s forwards;
}
.animateFadeIn {
  animation: fadeIn 1s forwards;
}
.scrollBlock {
	margin:50px auto 0;
	position: relative;
	text-align:center;
}
.scrollBlock a{
	color:#000000;
	font-weight:normal;
	padding: 10px 30px 30px;
	border-radius:40px;
	background-color: #ffffff;
	display: inline-block;
	font-weight:normal;
	font-size:0.8rem;
}
.scrollBlock::before {
	animation: scroll 1s infinite;
	content: "\f103";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	position: absolute;
	top: 32px;
	right: 0;
	left: 0;
	margin: auto;
	color: #000000;
	opacity: 0;
}

@keyframes scroll {
    0%{
		opacity: 0;
        transform:translateY(0px);
    }
    20%{
		opacity: 1;
        transform:translateY(0px);
    }
    100%{
		opacity: 0;
        transform:translateY(3px);
    }
}

.baseContainer{
    margin: 0 auto;
    max-width:960px;
    padding: 60px 15px 80px;
	width:100%;
	overflow: hidden;
}
/*ヘッダーセクション*/
.secHeader{
	color:#ffffff;
	background-image:url('../images/header/bg.jpg');
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 700px;
}
.secHeader .baseContainer{
    padding: 30px 15px 80px;
}
.headerGrid{
	width:100%;
	display: grid;
	gap:0;
	grid-template-columns:1fr;
}
.headerItem h1,.headerItem:nth-child(2) span{
	font-size:6rem;
	font-weight: bold;
	line-height:1.2;
}
.headerItem:nth-child(1) h1 span,.headerItem:nth-child(3) h1 span{
	position: relative;
	z-index: 1;
	text-shadow: 4px 0px 8px rgba(0, 0, 0, 0.8);
}
.headerItem:nth-child(1) h1 span::before,.headerItem:nth-child(3) h1 span::before{
	position: absolute;
	bottom:-10%;
	left:5px;
	content:'';
	width: 120%;
	height:50px;
	background-size:contain;
	background-position: left center;
	background-repeat: no-repeat;
	z-index:-1;
}
.headerItem:nth-child(1) h1 span::before{
	background-image:url("../images/common/line-kabuki.svg");
}
.headerItem:nth-child(3) h1 span::before{
	background-image:url("../images/common/line-piano.svg");
}

.headerItem:nth-child(1){
	text-align: left;
}
.headerItem:nth-child(2){
	text-align: center;
}
.headerItem:nth-child(3){
	text-align: right;
}
.foreWord{
	margin:30px auto;
	text-align: center;
}
.foreWord h1{
	font-size:2rem;
}
.secHeader .afterWord{
	margin: 50px auto 40px;
	text-align: center;
	width: 100%;
}
.secHeader .afterWord h1{
	font-size:2.8rem;
	color: #FFD700;
	line-height: 1.4;
	text-shadow:2px 2px 4px rgba(0, 0, 0, 0.9),0px 0px 10px rgba(0, 0, 0, 0.8);
}

/*星*/
.star {
  position: absolute;
  width: 2px;
  height: 2px;
  background: white;
  border-radius: 50%;
  opacity: 0;
  z-index: 1;
}
.star:nth-child(1)  { top: 4%;  left: 5%;   animation: twinkle 10s infinite ease-in-out; animation-delay: 0.1s; }
.star:nth-child(2)  { top: 6%;  right: 15%; animation: twinkle 11s infinite ease-in-out; animation-delay: 0.3s; }
.star:nth-child(3)  { top: 8%;  left: 20%;  animation: twinkle 10.5s infinite ease-in-out; animation-delay: 0.6s; }
.star:nth-child(4)  { top: 10%; left: 30%;  animation: twinkle 10.8s infinite ease-in-out; animation-delay: 0.9s; }
.star:nth-child(5)  { top: 12%; right: 25%; animation: twinkle 11.2s infinite ease-in-out; animation-delay: 1.2s; }
.star:nth-child(6)  { top: 14%; left: 40%;  animation: twinkle 10.6s infinite ease-in-out; animation-delay: 1.4s; }
.star:nth-child(7)  { top: 16%; right: 35%; animation: twinkle 11.1s infinite ease-in-out; animation-delay: 1.6s; }
.star:nth-child(8)  { top: 18%; left: 50%;  animation: twinkle 10.3s infinite ease-in-out; animation-delay: 1.8s; }
.star:nth-child(9)  { top: 20%; right: 45%; animation: twinkle 10.9s infinite ease-in-out; animation-delay: 2.0s; }
.star:nth-child(10) { top: 22%; left: 60%;  animation: twinkle 11.3s infinite ease-in-out; animation-delay: 2.2s; }
.star:nth-child(11) { top: 24%; right: 55%; animation: twinkle 10.7s infinite ease-in-out; animation-delay: 2.4s; }
.star:nth-child(12) { top: 6%;  left: 70%;  animation: twinkle 11.4s infinite ease-in-out; animation-delay: 2.6s; }
.star:nth-child(13) { top: 8%;  right: 65%; animation: twinkle 10.4s infinite ease-in-out; animation-delay: 2.8s; }
.star:nth-child(14) { top: 10%; left: 80%;  animation: twinkle 11s infinite ease-in-out; animation-delay: 3.0s; }
.star:nth-child(15) { top: 12%; right: 75%; animation: twinkle 10.2s infinite ease-in-out; animation-delay: 3.2s; }
/* 大きい星 5個（+4s済） */
.star:nth-child(16) {
  top: 5%; left: 10%;
  width: 3px; height: 3px;
  animation: twinkle 10.9s infinite ease-in-out;
  animation-delay: 0.5s;
}
.star:nth-child(17) {
  top: 15%; right: 20%;
  width: 3px; height: 3px;
  animation: twinkle 11.5s infinite ease-in-out;
  animation-delay: 1.5s;
}
.star:nth-child(18) {
  top: 7%; left: 45%;
  width: 3px; height: 3px;
  animation: twinkle 10.6s infinite ease-in-out;
  animation-delay: 2.5s;
}
.star:nth-child(19) {
  top: 22%; right: 30%;
  width: 3px; height: 3px;
  animation: twinkle 10.7s infinite ease-in-out;
  animation-delay: 3.5s;
}
.star:nth-child(20) {
  top: 18%; left: 35%;
  width: 3px; height: 3px;
  animation: twinkle 11.1s infinite ease-in-out;
  animation-delay: 4.0s;
}
/* 瞬きアニメーション */
@keyframes twinkle {
  0%   { opacity: 0; }
  5%   { opacity: 1; }
  10%  { opacity: 0; }
  15%  { opacity: 1; }
  20%  { opacity: 0; }
  65%  { opacity: 0; }
  70%  { opacity: 1; }
  75%  { opacity: 0; }
  80%  { opacity: 1; }
  85%  { opacity: 0; }
  100% { opacity: 0; }
}

section{
	overflow-x: hidden;
}

/*アーティスト*/
.secArtist01{
	background: rgb(130,5,21);
	background: linear-gradient(0deg, rgba(130,5,21,1) 0%, rgba(179,8,30,1) 100%);
	position: relative;
}
.bgOverlay01{
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	content:'';
	background-image: url("../images/artists/kabuki-decoration.png");
	background-position: left top;
	background-repeat: repeat-y;
	background-size: 120px auto;
}

.artistGrid01{
	display: grid;
	gap:50px;
	grid-template-columns:1fr 1.2fr;
}
.secArtist02{
	background: rgb(0,119,139);
	background: linear-gradient(0deg, rgba(0,119,139,1) 0%, rgba(0,145,169,1) 100%);
	position: relative;
}
.bgOverlay02{
	position: absolute;
	top:0;
	right:0;
	width: 100%;
	height: 100%;
	content:'';
	background-image: url("../images/artists/piano-decoration.png");
	background-position: right top;
	background-repeat: repeat-y;
	background-size: 120px auto;
}
.artistGrid02{
	display: grid;
	gap:50px;
	grid-template-columns:1fr 1.2fr;
}
.artistItem01 h1,.artistItem02 h1{
	font-size: 3.3rem;
	line-height: 1.2;
	margin:5px auto 30px;
}
.artistItem01 h3 span,.artistItem02 h3 span{
	font-size: 2rem;
	line-height: 1.2;
}
.artistGrid02{
	display: grid;
	gap:50px;
	grid-template-columns:1.2fr 1fr;
}


.greetingBlock{
	margin:30px auto 0;
	background-color:rgba(255, 255, 255, 0.9);
	/*border-radius:5px;*/
	padding:30px;
	position: relative;
}
.greetingBlock h3{
	position: absolute;
	top:-20px;
	right:5px;
	padding:5px 15px;
	color:#ffffff;
	background-color:#000000;
}
.greetingGrid{
	margin: 30px auto 0;
	display: grid;
	gap:30px;
	grid-template-columns:2fr 1fr;
}
.artistGrid01 .greetingItem h2,.artistGrid02 .greetingItem h2{
	margin-bottom: 30px;
	line-height: 1.2;	
}
.artistGrid01 .greetingItem h2 span{
	font-size:1.5rem;
	color:#e60012;
}
.artistGrid02 .greetingItem h2 span{
	font-size:1.5rem;
	color:#0091a9;	
}
.fanclubBlock{
	margin:30px auto;
}
.fanclubBlock p{
	color:#ffffff;
	margin-bottom:10px;
	font-weight: 700;
}
.fanclubBlock a{
	text-align: center;
	display: block;
	background-color: #000000;
	color:#ffffff;
	padding: 8px 20px;
	font-size:1.2rem;
	font-weight:700;
	background-image: url("../images/artists/kabuki-decoration-s.png");
	background-position: left top;
	background-repeat: repeat-x;
	background-size:30px auto;
	border-radius: 30px;
}
.fanclubBlock a i {
  transition: transform 0.3s ease;
}
.fanclubBlock a:hover i {
  transform: translateX(5px);
}


/*secArtists関連*/
.secArtists .baseContainer{
	padding: 0;
	max-width: 1400px;
	position: relative;
}
.secArtists .foreWord{
	position:absolute;
	top:20px;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	width: 100%;
	z-index: 1;
}
.secArtists .foreWord h1,.secArtists .foreWord span{
	color:#ffffff;
	font-size:3.5rem;
	line-height: 1.2;
	position: relative;
}
.headingGrid{
	display: grid;
	gap:0;
	grid-template-columns: auto 80px auto;
}
.headingItem:first-child{
	margin-left: auto;
}
.headingItem:last-child{
	margin-right: auto;
}

@media screen and (max-width:750px){
.secArtists .foreWord h1,.secArtists .foreWord span{
	font-size:3rem;
}
}
@media screen and (max-width:650px){
.headingGrid{
	grid-template-columns: 1fr;
}
.headingItem:first-child{
	margin-left:inherit;
	display: flex;
	justify-content: center;
}
.headingItem:last-child{
	margin-right:inherit;
	display: flex;
	justify-content: center;
}
.secArtists .foreWord h1,.secArtists .foreWord span{
	font-size:3.1rem;
}
}

.secArtists .foreWord h1{
	position: relative;
}
.secArtists .foreWord h1.firstHeading::before,.secArtists .foreWord h1.secondHeading::before{
	position: absolute;
	left:-5px;
	content:'';
	width: 125%;
	height:40px;
	background-size:contain;
	background-position: left center;
	background-repeat: no-repeat;
	z-index:-1;
}
.secArtists .foreWord h1.firstHeading::before{
	background-image:url("../images/common/line-kabuki.svg");
	bottom:-25%;
}
.secArtists .foreWord h1.secondHeading::before{
	background-image:url("../images/common/line-piano.svg");
	bottom:-20%;
}
.secArtists .afterWord{
	position: absolute;
	bottom:50px;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	width: 100%;
}
.secArtists .afterWord h1{
	font-size:2.8rem;
	color:#be8900;
	line-height: 1.2;
	text-shadow: 2px 0px 3px rgba(0, 0, 0, 1);
}
.artistGrid03{
	display: grid;
	gap:0;
	grid-template-columns:1fr 1fr;
}
.artistItem03{
	min-height: 800px;
}
.artistItem03:first-child{
	background-image: url('../images/artists/artist01.jpg');
	background-repeat: no-repeat;
	background-size: 120%;
	background-position: right 50%;
	text-align: left;
	padding:0 0 0 15px;
}
.artistItem03:last-child{
	background-image: url('../images/artists/artist02.jpg');
	background-repeat: no-repeat;
	background-size: 115%;
	background-position: center bottom;
	text-align: right;
	padding:0 15px 0 0;
	position:relative;
}
.artistItem03:last-child p{
	position:absolute;
	bottom:10px;
	right:10px;
	color:#ffffff;
	font-size:0.9rem;
	font-weight: bold;
	text-shadow: 4px 0px 3px rgba(0, 0, 0, 1);
}
.artistItem03 h1,.artistItem03 h3{
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
	color:#ffffff;
	display: inline-block; 
}
.artistItem03 h1{
	font-size:2rem;
	text-shadow: 2px 0px 3px rgba(0, 0, 0, 1);
}
.artistItem03 h3{
	padding-top: 30%;
	font-size:1.5rem;
	text-shadow: 2px 0px 3px rgba(0, 0, 0, 1);
}

.profileBox{
	margin: 30px auto 0;
}
.btnProfile{
	font-size:1.2rem;
	padding:8px 20px;
	border-radius: 30px;
	background-color:#ffffff;
	color:#000000;
	cursor: pointer;
}
.btnProfile i {
  transition: transform 0.3s ease;
}

.btnProfile:hover i {
  transform: translateX(5px);
}


/*共通*/
.secArtists{
	background-image:url('../images/artists/bg.png');
	background-position: center;
	background-size: cover;
	background-repeat: repeat-y;
}

@media screen and (max-width:750px){

}

/*舞台*/
.secStage{
	background-color: #ffffff;
}
.imgBlock{
	position: relative;
}
.imgBlock span{
	position: absolute;
	bottom:10px;
	right:10px;
	color:#ffffff;
	font-size:0.9rem;
	font-weight: bold;
	text-shadow: 4px 0px 3px rgba(0, 0, 0, 1);
}
.stageBlock.upper{
	background-image: url("../images/stage/heading-stage.svg");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 200px; 
}
.stageSentence{
	width: 70%;
	margin-left: auto;
	padding-bottom:60px;
}
.stageSentence h2{
	color:#6a3906;
	font-size:2rem;
	line-height:1.4;
    text-indent: -1em;
    padding-left: 1em;
	padding-top:50px;
	margin-bottom: 30px;
}
.stageSentence p{
	font-size: 1.2rem;
	line-height:1.8;
}
.stageBlock.lower{
	margin: 0 auto;
	max-width:700px;
}
.stageBlock.lower .attentionBox{
  position: relative;
  margin-top: 20px;
  padding:15px 35px 10px 20px;
  border: 2px solid #5E2830;
  background-color: #FFE4DD;
	border-radius: 3px;
    box-shadow: 0 2px 3px rgb(0 0 0 / 20%);
}
.stageBlock.lower .attentionBox{
	display: block;
}
.stageBlock.lower p{
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #5E2830;
}
.stageBlock.lower p:nth-child(2){
    font-family: "Noto Sans JP", sans-serif;
	font-size:0.9rem;
}
.stageBlock.lower p:nth-child(2) img{
	width:18px;
	height:18px;
	vertical-align: -3px;
}
.stageBlock.lower .attentionBox::before,
.stageBlock.lower .attentionBox::after {
    position: absolute;
    content: '';
}
.stageBlock.lower .attentionBox::before {
    top: -15px;
    right: 10px;
    height: 50px;
    width: 15px;
    border: 3px solid #999;
    border-radius: 10px;
    box-shadow: 1px 1px 2px rgb(0 0 0 / 30%);
    transform: rotate(10deg);
}
.stageBlock.lower .attentionBox::after {
    top: -2px;
    width: 10px;
    right: 20px;
    border: solid 1px #5E2830;
}

.programBlock{
	background-image: url("../images/program/heading-program.svg");
	background-repeat: no-repeat;
	background-position: right top;
	background-size: 200px; 
}
.programSentence{
	width: 90%;
	margin-right: auto;
	padding-bottom:60px;
}
.programSentence h2{
	color:#6a3906;
	font-size:2rem;
	line-height:1.4;
    text-indent: -1em;
    padding-left: 1em;
	padding-top:50px;
	margin-bottom: 30px;
}
.programSentence p{
	font-size: 1.2rem;
	line-height:1.8;
}
.stageGrid{
	max-width:320px;
	margin: 0 auto;
	display: grid;
	gap:0;
	grid-template-columns:1fr;
	background-color: #FFF6DB;
	padding: 10px;
}
.stageItem{
	line-height: 1;
}
.stageItem:nth-child(1){
	width: fit-content;
	margin: 0 auto;
}
.stageItem:nth-child(2){
	margin-top: -5px;
	background-color: #FFF6DB;
	padding: 15px 15px 20px;
	line-height:1.5;
}
.stageItem img{
	max-width:300px;
}
.stageItem ul li{
    font-family: "Noto Sans JP", sans-serif;
	list-style: none;
	font-size:0.8rem;
}
.stageItem ul li:last-child{
    color:blue;
}

.stageItem ul li span img{
	width:15px;
	height:15px;
	vertical-align:-2px;
	margin-right:3px;
	border-radius:0;
}
.btnStage{
	text-align: center;
}
.btnStage a{
	text-align: center;
	display: inline-block;
	background-color: #ffffff;
	color:#000000;
	padding: 5px 20px;
	font-size:0.9rem;
	font-weight:700;
	border-radius: 30px;
	cursor: pointer;
}
.btnStage a i {
	color:#000000;
  transition: transform 0.3s ease;
}
.btnStage a:hover i {
  transform: translateX(5px);
}

/*演目*/
.secProgram{
	background-color: #ffffff;
}

/*観光*/
.secTourism{
	position: relative;
	height:1200px;
	z-index: -1;
}
/* 背景画像は専用レイヤーで動かす */
.bgLayer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("../images/tourism/bosphorus.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right top;
	z-index: 0;
	transition: background-position 14s ease-out;
}
.slideInBg.aos-animate .bgLayer {
	background-position: center top;
}

.tourismOverlay{
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	content:'';
	background-image: url("../images/tourism/gradient.png");
	background-position: left top;
	background-repeat: repeat-x;
	background-size: auto 500px;
	z-index:2;
}
.secTourism .baseContainer{
	padding:30px 15px 0; 
}
.secTourism::after{
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	content:'';
	background-image: url("../images/tourism/decoration-bar.png");
	background-position: left top;
	background-repeat: repeat-y;
	background-size: 140px auto;
	z-index:1;
}
.secTourism::before{
	position: absolute;
	top:0;
	left:5%;
	width: 300px;
	height: 200px;
	content:'';
	background-image: url("../images/tourism/turkey.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	z-index:3;
}

.headingBlock{
	position: relative;
	text-align: center;
	margin:0 auto;
	z-index:4;
}
.headingBlock h1{
	font-size:3rem;
	font-weight:900;
	color: #40220f;
	position: relative;
}
.headingBlock h1::before{
	position: absolute;
	top:5px;
	left:180px;
	content: '';
	background-image:url("../images/tourism/text-decoration-left.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 70px;
	height: 70px;
}
.headingBlock h1::after{
	position: absolute;
	top:5px;
	right:180px;
	content: '';
	background-image:url("../images/tourism/text-decoration-right.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 70px;
	height: 70px;
}
.headingBlock p{
	display: inline-block;
	font-size:1.6rem;
	border-radius:35px;
	background: rgb(149,81,75);
	background: radial-gradient(circle, rgba(149,81,75,1) 0%, rgba(103,19,23,1) 47%);
	color:#ffffff;
    position: relative;
    padding: 10px 25px;
    font-weight: bold;
    text-align: center;
}

/*ピックアップ*/
.secPicup{
	background-color: #ffffff;
	position: relative;
}
.secPicup::after{
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	content:'';
	background-image: url("../images/tourism/decoration-bar.png");
	background-position: left top;
	background-repeat: repeat-y;
	background-size: 140px auto;
	z-index:-1;
}
.angledHeading {
  background: linear-gradient(to right, #007a87, #00b3a4);
  color: white;
  padding:10px 20px;
  clip-path: polygon(0 0, 93% 0, 100% 100%, 0% 100%);
  font-size: 1.5em;
  margin: 30px auto 0;
}
.angledHeading img{
	max-width:150px;
	vertical-align: middle;
	margin-right:20px;
}
.picupForeword p{
	background:rgba(255,255,255,0.8);
	padding: 20px 15px;
	font-size:1.2rem;
	line-height:1.4;
}
.pickupCatch{
	margin: 30px auto 20px; 
	text-align: center;	
}
.pickupCatch h1{
	font-size:2rem;
	color:#7f4f21;
	line-height: 1.3;
	text-shadow: 4px 0px 3px rgba(255, 255, 255, 0.8);
	margin-bottom:10px;
}

.pickupGrid {
	margin: 80px auto;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 80px 50px;
}

.pickupItem .pickupImg{
	position: relative;
}
.locationName{
	position: absolute;
	left:0;
}
.pickupCaption{
	position: absolute;
	right:8px;
	bottom:0;
	font-size:0.9rem;
	font-weight:bold;
	color:#ffffff;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.8);
}
.pickupGrid:nth-child(1) .locationName{
	top:-37px;
}
.pickupGrid:nth-child(2) .locationName{
	top:-37px;
}
.locationName p{
	font-size: 1.2rem;
	background: linear-gradient(to right, #007a87, #00b3a4);
	color: white;
	padding:5px 25px 5px 15px;
	clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);	
}
.locationName p img{
	max-width:80px;
	vertical-align: -3px;
	margin-right:10px;
}
.locationNote{
    font-family: "Noto Sans JP", sans-serif;
	background:rgba(255,255,255,0.8);
	padding: 8px 15px;
}

/*おすすめ*/
.secRecommendation{
	background-image: url("../images/recommendation/bg.jpg");
	background-position: center center;
	background-size: cover;
}
.recommendationGrid {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-column-gap: 30px;
grid-row-gap: 30px;
}
.recommendationItem:nth-child(1) {
	grid-area: 1 / 1 / 2 / 2;
}
.recommendationItem:nth-child(2) {
	grid-area: 1 / 2 / 2 / 3;
}
.recommendationItem:nth-child(3) {
	grid-area: 2 / 1 / 3 / 3;
	margin: 20px auto 0;
	max-width:700px;
}

.recommendationItem h1{
	font-size: 1.5rem;
	font-weight:700;
	color:#6a3906;
	margin-bottom:30px;
}
.noteBlock{
	padding:30px;
	background-color: #ffffff;
}
.recommendationItem p{
	font-size: 1rem;
	color:#333333;
}
.recommendationBlock{
	text-align: center;
}
.recommendationBlock h4{
	font-size:1.2rem;
	padding: 5px 15px;
	background-color: #67b4ba;
	color:#ffffff;
	border-radius: 30px;
    font-family: "Noto Sans JP", sans-serif;
}
.recommendationBlock h2{
	color:#009bad;
	font-size:1.8rem;
	margin: 8px auto 15px;
	position: relative;
	display: inline-block;
}
.recommendationBlock h2::before{
	position: absolute;
	left:-40px;
	top:5px;
	content:'';
	width:35px;
	height:35px;
	background-image: url("../images/recommendation/decoration.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.recommendationGrid02 {
display: grid;
grid-template-columns:1.5fr 1fr;
grid-column-gap: 30px;
grid-row-gap: 0;
}
.recommendationItem02:last-child p{
  position: relative;
  margin-top: 20px;
  padding:15px 35px 15px 20px;
  border: 2px solid #5E2830;
  background-color: #FFE4DD;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #5E2830;
	border-radius: 3px;
    box-shadow: 0 2px 3px rgb(0 0 0 / 20%);
}
.recommendationItem02:last-child p::before,
.recommendationItem02:last-child p::after {
    position: absolute;
    content: '';
}
.recommendationItem02:last-child p::before {
    top: -15px;
    right: 10px;
    height: 50px;
    width: 15px;
    border: 3px solid #999;
    border-radius: 10px;
    box-shadow: 1px 1px 2px rgb(0 0 0 / 30%);
    transform: rotate(10deg);
}
.recommendationItem02:last-child p::after {
    top: -2px;
    width: 10px;
    right: 20px;
    border: solid 1px #5E2830;
}


/*コラム*/
.secColumn{
	background-color: #ffffff;
}
.columnGrid01{
	display: grid;
	gap:30px;
	grid-template-columns:150px 1fr;
	margin-bottom: 30px;
}
.columnGrid02{
	display: grid;
	gap:30px;
	grid-template-columns:1fr 1.5fr;
}
.columnItem01 h1{
	font-size:2.2rem;
	color:#96201a;
	position: relative;
	display: inline-block;
}
.columnItem01 h1 span{
    font-family: "Noto Sans JP", sans-serif;
	font-size:1.2rem;
	color:#ffffff;
	padding: 5px 10px;
	border-radius:5px;
	position: absolute;
	right:0;
	top:5px;
	background-color:#0b318f;
}
.columnItem01:nth-child(1) img{
	max-width:150px;
}
.headingColumn{
	text-align: center;
	margin: 0 auto 40px;
}
.headingColumn h1{
	font-size:1.8rem;
	padding:5px 15px;
	color:#ffffff;
	background: rgb(185,97,90);
	background: radial-gradient(circle, rgba(185,97,90,1) 0%, rgba(103,19,23,1) 55%);
}
.columnItem02:nth-child(1) p{
	font-size:1.2rem;
	line-height: 1.8;
}
.columnItem02:nth-child(2) p{
	display: inline-block;
	font-size:1.2rem;
    font-family: "Noto Sans JP", sans-serif;
  position: relative;
  margin-top: 20px;
  padding:15px 35px 15px 20px;
  border: 2px solid #5E2830;
  background-color: #FFE4DD;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #5E2830;
	border-radius: 3px;
    box-shadow: 0 2px 3px rgb(0 0 0 / 20%);
}
.columnItem02:nth-child(2) p::before,
.columnItem02:nth-child(2) p::after {
    position: absolute;
    content: '';
}
.columnItem02:nth-child(2) p::before {
    top: -15px;
    right: 10px;
    height: 50px;
    width: 15px;
    border: 3px solid #999;
    border-radius: 10px;
    box-shadow: 1px 1px 2px rgb(0 0 0 / 30%);
    transform: rotate(10deg);
}
.columnItem02:nth-child(2) p::after {
    top: -2px;
    width: 10px;
    right: 20px;
    border: solid 1px #5E2830;
}
.columnImg{
	position: relative;
}
.balloonBlock{
	position: absolute;
	top:-60px;
	right:-5px;
}
.captionBlock{
	position: absolute;
	bottom:12px;
	right:10px;	
	font-size:0.9rem;
	font-weight:bold;
	color:#ffffff;
	text-shadow: 4px 0px 3px rgba(0, 0, 0, 1);
}
.limitedblock{
	margin: 30px auto;
}
.additionalContent h3 {
  display: inline-block;
  position: relative;
  height: 50px;
  line-height: 50px;
  text-align: center;
  padding: 0 30px;
	margin:30px 0 15px;
  font-size: 1.2rem;
	background: rgb(88,131,237);
	background: radial-gradient(circle, rgba(88,131,237,1) 0%, rgba(11,49,143,1) 56%);
  color: #ffffff;
  box-sizing: border-box;
}
.additionalContent h3:before, .additionalContent h3:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}
.additionalContent h3:before {
  top: 0;
  left: 0;
  border-width: 25px 0px 25px 15px;
  border-color: transparent transparent transparent #ffffff;
  border-style: solid;
}
.additionalContent h3:after {
  top: 0;
  right: 0;
  border-width: 25px 15px 25px 0px;
  border-color: transparent #ffffff transparent transparent;
  border-style: solid;
}
.additionalContent h4{
	color:#0b318f;
	font-size:1.3rem;
    font-family: "Noto Sans JP", sans-serif;
	margin-bottom:15px;
}
.additionalContent ul{
}
.additionalContent ul li{
    font-family: "Noto Sans JP", sans-serif;
	font-size:1.1rem;
	list-style: none;
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom:10px;
}
.additionalContent ul li:nth-child(1){
	text-indent: 0;
	padding-left: 0;
}
.additionalContent ul li span,.additionalContent p span{
	color:#0b318f;
}
.additionalContent ul.limitedContent li:nth-child(1){
	margin-bottom: 30px;
}
.additionalContent .blueText{
	color:blue;
	font-size:0.95rem;
}

.remarksBlock{
	margin:80px auto;
}
.remarksBlock p{
	font-size:1.2rem;
    font-family: "Noto Sans JP", sans-serif;
}
.remarksBlock p a{
	color:#7F4F21;
	font-weight:700;
}


/*リンク*/
.secLink{
	background: rgba(11,49,143,1)
}
.linkGrid{
	display: grid;
	gap:15px;
	grid-template-columns:repeat(3, 1fr);
}
.linkItem{
	text-align: center;
}
.linkItem:nth-child(3) {
	position: relative;
}
.linkItem:nth-child(3) p {
	position: absolute;
	left: 50%;
	top: 45%;
	transform: translate(-50%, -35%) rotate(-5deg);
	opacity: 0;
	transition: all 0.4s ease;
	font-size: 1.3rem;
	font-weight: 900;
	font-family: "Noto Sans JP", sans-serif;
	color: gold;
	text-shadow:2px 2px 4px #333,-2px -2px 4px #888, 0 0 10px rgba(0, 0, 0, 0.2);
	pointer-events: none;
}
.linkItem:nth-child(3):hover p {
	opacity: 1;
	transform: translate(-50%, -45%) rotate(-5deg);
}

.btnLink{
	display: block;
	width:100%;
	background-color:#ffffff;
	padding:8px 10px 8px 20px;
	border-radius: 35px;
	line-height:1.2;
	font-size:1.1rem;
    font-family: "Noto Sans JP", sans-serif;
}
a.btnLink:link {
    color: #000;
}
.btnLink span i{
	opacity:0.2;
	font-size:1.2rem;
	margin-left:5px;
}
.btnLink span i.fa-file{
	margin-right:5px;
}

/*ポップアップ*/
.popupBlock {
      position: fixed;
      left: 10px;
      bottom: 40px;
      background-color: #ffffff;
      width: 100%;
      max-width: 400px;
      height: auto;
      padding: 20px;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
      z-index: 1000;
      transition: opacity 0.5s ease 2s;
	opacity: 0;
	pointer-events: none;
}
.popupBlock.visible {
	opacity: 1;
	pointer-events: auto;
}
.popupBlock.hidden {
	opacity: 0;
	pointer-events: none;
	transition-delay: 0s;
}
.popupBlock .popupClose {
      position: absolute;
      top: -12px;
      right: -12px;
      cursor: pointer;
	width:35px;
	height:35px;
}
.videoContainer {
      position: relative;
      width: 100%;
      height: 0;
      padding-bottom: 56.25%;
    }
.videoContainer iframe {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      border: none;
}
.popupText{
	margin:15px auto 0;
	text-align: center;
}
.popupText p{
	margin-bottom:0;
	font-size:1rem;
	padding:3px 8px;
	color:#ffffff;
	background-color:#000000;
	border-radius:20px;
}

/* モーダル関連 */
/* 背面を覆うオーバーレイ */
#modalOverlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.8);
z-index: 2000;
opacity: 0;
transition: opacity 0.4s ease;
pointer-events: none;
}
/* オーバーレイが表示されたとき */
#modalOverlay.show {
opacity: 1;
pointer-events: auto;
}
/* モーダルのベーススタイル */
.modal {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(1.2);
width: 90%;
max-width: 1000px;
max-height: 95%;
background-color: white;
box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.2);
z-index: 2001;
opacity: 0;
transition: transform 0.4s ease, opacity 0.4s ease;
/*display: none;*/
overflow: hidden;
visibility: hidden; /* ← 追加 */
}
/* モーダルが表示されたときのアニメーション */
.modal.show {
transform: translate(-50%, -50%) scale(1);
opacity: 1;
visibility: visible; /* ← 追加 */
}
.modal.closing {
  transform: translate(-50%, -50%) scale(1.2);
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
}
.modalContent {
position: relative;
height: 100%;
padding: 65px 0 40px;
box-sizing: border-box;
}
.modalContent img {
/*border-radius:8px;*/
}
/* モーダル内でのスクロール可能エリア */
.modalBody {
padding: 20px 40px;
max-height: calc(80vh - 40px);
overflow-y: auto;
box-sizing: border-box;
}
/* スクロールバーのスタイル */
.modalBody::-webkit-scrollbar {
width: 8px;
}
.modalBody::-webkit-scrollbar-thumb {
background-color: rgba(0, 0, 0, 0.2);
border-radius: 10px;
}
.modalBody::-webkit-scrollbar-track {
background: transparent;
}
.modalBody h2 {
margin:0 auto 15px;
font-size:2rem;
line-height: 1.2;
}
.modalBody h2 span{
font-size:1.5rem;
	margin-left:20px;
}
#modalArtist01 .modalBody h2 span{
	color:#e60012;	
}
#modalArtist02 .modalBody h2 span{
	color:#0091a9;	
}
.modalBody h5{
	color:#cccccc;
	font-size:2rem;
	margin:10px auto;
}
.modalBody p{
	font-family: "Noto Sans JP", sans-serif;
	font-weight:normal;
}

.closeBtn {
  position: absolute;
  top: 15px;
  right: 15px;
  background-color: #eeeeee;
  border: none;
  padding: 5px 10px;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  z-index: 10;
}
body.modalOpen {
  overflow: hidden;
}

/*ボタン*/
.btnBlock{
	text-align: center;
	margin: 70px auto 30px;
}
.detailBtn {
  font-family: "Noto Sans JP", sans-serif;
  display: inline-block;
  width: 100%;
  max-width: 600px;
  border-radius: 35px;
  line-height: 60px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(to bottom, #A93226, #6A1B1B);
  border: 2px solid #4D0F0F;
  box-shadow: 5px 5px 0px #4D0F0F;
  transition: 0.3s;
  font-size: 1.4rem;
  font-weight: 700;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.detailBtn:hover {
  box-shadow: unset;
  transform: translate(4px, 4px);
}


/*表示切り替え*/
/*500px*/
.displaySp01{
	display: none;
}
/*650px*/
.displaySp02{
	display: none;
}
/*950px*/
.displaySp03{
	display: none;
}
/*850px*/
.displayPc04{
	display: block;
}
.displaySp04{
	display: none;
}

/*レスポンシブ*/
/*画面高さ*/

@media screen and (max-height:950px){
.bgArtist01 {
	width:320px;
}
.bgArtist02 {
  bottom: 5%; right: 22%; transform: translateY(0);
	width:680px;
}
}
@media screen and (max-height:750px){
.bgScene {
  top: 0%; right: 10%; transform: translateY(0);
	width:380px;
}
.bgArtist01 {
  top: 10%; right:0; transform: translateX(0);
	width:280px;
}
.bgArtist02 {
  bottom: -5%; right:20%; transform: translateY(0);
	width:580px;
}
}

/*画面幅*/
@media screen and (max-width:1500px){
.secTourism::before{
	height: 130px;
}
}

@media screen and (max-width:1400px){
.artistItem03:last-child {
    background-size: 130%;
}
}

@media screen and (max-width:1140px){
.artistItem03:first-child{
    background-size: 130%;
	background-position: center 50%;
}
.artistItem03:last-child {
    background-size: 145%;
}
.secTourism::before{
	height: 100px;
}
}

@media screen and (max-width:1000px){
.artistItem03:last-child {
    background-size: 150%;
}
}

@media screen and (max-width:950px){
.fadeContainer {
  top: 80%;
  left: 30%;
}
#textB img, #textC img {
  max-width: 400px;
}
.bgScene {
  top: 0%; right: 10%; transform: translateY(0);
	width:500px;
}
.bgArtist01 {
  top: 15%; right: 5%; transform: translateX(0);
	width:350px;
}
.bgArtist02 {
  bottom: 5%; right: 15%; transform: translateY(0);
	width:680px;
}
.headerItem h1,.headerItem:nth-child(2) span{
	font-size:5.5rem;
}
.artistItem01 h1, .artistItem02 h1 {
    font-size: 2.5rem;
}
.artistItem03:first-child{
	background-size: 165%;
	background-position:-200px 50%;
}
.artistItem03:last-child{
	background-size: 175%;
}

/*観光*/
.secTourism{
	height: 1000px;
}
.bgLayer {
	transition: background-position 18s ease-out;
}
.headingBlock{
	margin:10px auto 0;
}
.headingBlock h1{
	font-size:2.5rem;
}
.headingBlock h1::before {
    top: 0;
    left: 180px;
    width: 60px;
    height: 60px;
}
.headingBlock h1::after {
    top: 0;
    right: 180px;
    width: 60px;
    height: 60px;
}
.headingBlock p{
    margin-left:0;
}
.headingBlock p::before {
    left: 45%;
}

.displaySp03{
	display: block;
}
}

@media screen and (max-width:850px){
.headerItem h1,.headerItem:nth-child(2) span{
    font-size: 5rem;
}
.artistGrid03{
	grid-template-columns:1fr;
	padding-top:0; 
}
.artistItem03{
	min-height: 600px;
}
.artistItem03:first-child,.artistItem03:last-child{
	background-size: 100%;
}
.artistItem03:first-child{
	background-position: right 50%;
	padding:15px 0 0 15px;
}
.artistItem03:last-child{
	background-position: center 75%;
	padding:15px 15px 0 0;
}
.artistItem03 h3{
	padding-top: 50px;
}
.secArtists .foreWord{
	top:41%;
	transform:translate(-50%, -50%);
}
.secArtists .afterWord {
    top:inherit;
	bottom:inherit;
    position: relative;
    bottom: inherit;
    left: inherit;
    transform: inherit;
}
.secArtists .afterWord h1 {
    font-size: 2.2rem;
}
.secArtists .btnBlock {
    margin: 70px auto 60px;
}

/*舞台&演目*/
.stageSentence{
	width: 78%;
}

/*観光*/
.headingBlock h1::before {
    left: 100px;
}
.headingBlock h1::after {
    right: 100px;
}

/*おすすめ*/
.recommendationGrid {
    grid-template-columns: 1fr;
	gap:20px;
}
.recommendationItem:nth-child(1),.recommendationItem:nth-child(2),.recommendationItem:nth-child(3) {
    grid-area: auto;
    max-width: 100%; 
    margin: 0 auto;
}
.recommendationItem:nth-child(1) {
	order:2;
}
.recommendationItem:nth-child(2) {
	order:1;
}
.recommendationItem:nth-child(3) {
    margin: 20px auto 0;
	order:3;
}
.secRecommendation .imgBlock.displaySp04 {
    margin-bottom: 10px;
}
.recommendationGrid02 {
grid-template-columns:1fr;
}

.displayPc04{
	display: none;
}
.displaySp04{
	display: block;
}
}

@media screen and (max-width:750px){
/*イントロ*/
.openingCatch{
	top:30%;
}
.openingCatch h2{
	font-size:3rem;
}
.openingCatch h1{
	font-size:6rem;
}
.fadeContainer {
  top: 80%;
  left: 35%;
}
#textB img, #textC img {
  max-width: 350px;
}
.bgScene {
  top: 0%; right: 10%; transform: translateY(0);
	width:500px;
}
.bgArtist01 {
  top: 15%; right:0; transform: translateX(0);
	width:38%;
}
.bgArtist02 {
  bottom: 15%; right: 10%; transform: translateY(0);
	width:85%;
}
#textA, #textB, #textC {
  font-size: 1.8em;
}
	
/*アーティスト*/
.artistGrid01,.artistGrid02{
	grid-template-columns:1fr;
}
.artistItem02:first-child{
	order:2;
}
.artistItem02:last-child{
	order:1;
}
.artistItem03:first-child{
	background-size: 120%;
}
.artistItem03:first-child{
	background-position: canter 50%;
}
.artistItem03:last-child{
}

/*舞台&演目*/
.stageSentence{
	width: 100%;
	padding-bottom:30px;
}
.stageSentence h2{
	padding-top:240px;
}
.programSentence{
	width: 100%;
	padding-bottom:30px;
}
.programSentence h2{
	padding-top:240px;
}

.headingBlock h1{
	font-size:2.2rem;
}
.headingBlock h1::before {
    left: 120px;
}
.headingBlock h1::after {
    right: 120px;
}
.secTourism::before {
	top: 0;
	left: 0;
}

/*ピックアップ*/
.pickupGrid {
    grid-template-columns: 1fr;
}
.pickupItem:nth-child(1),.pickupItem:nth-child(2){
    grid-area: auto;
}
/*おすすめ*/
.recommendationGrid{
	grid-template-columns: 1fr;
}

/*コラム*/
.columnGrid01{
	gap:20px;
	margin-bottom: 10px;
	grid-template-columns:120px 1fr;
}
.columnGrid02{
	grid-template-columns: 1fr;
}
.columnItem01 h1{
	font-size:1.8rem;
}
.columnItem01 h1 span{
	top:0px;
}

/*リンク*/
.linkGrid{
	grid-template-columns:1fr;
}
}

@media screen and (max-width:650px){
.fadeContainer {
  top: 80%;
  left: 35%;
}
#textB img, #textC img {
  max-width: 320px;
}
.bgScene {
  top: 0%; right: 10%; transform: translateY(0);
	width:70%;
}
.bgArtist01 {
  top: 15%; right:0; transform: translateX(0);
	width:48%;
}
.bgArtist02 {
  bottom: 5%; right:5%; transform: translateY(0);
	width:90%;
}

/*ヘッダー*/	
.secHeader{
	min-height: 550px;
}
.secHeader .foreWord h1{
	font-size:1.5rem;
}
.secHeader .afterWord h1 {
    font-size: 2rem;
}
.headerItem h1,.headerItem:nth-child(2) span{
	font-size:4rem;
}
.headerItem:nth-child(1),.headerItem:nth-child(3){
	text-align: center;
}
.headerItem:nth-child(1) h1 span::before,.headerItem:nth-child(3) h1 span::before{
	bottom:-20%;
}

/*アーティスト*/
.artistItem03:first-child{
	background-size: 130%;
	background-position: 60% 50%;
}
.artistItem03:last-child{
	background-size: 120%;
}
.secArtists .btnBlock {
    padding: 0 15px 0;
}
	
/*舞台&演目*/
.stageGrid{
	grid-template-columns:1fr;
}
	
.stageSentence h2{
    font-size: 1.8rem;
}
.programSentence h2{
    font-size: 1.8rem;
}

/*観光*/
.secTourism{
	height: 900px;
}
.secTourism::after {
    background-size: 100px auto;
}
.secTourism::before{
	top:10px;
	left:3%;
	width: 180px;
	height: 100px;
}
.bgLayer {
	transition: background-position 20s ease-out;
}
.headingBlock{
	margin:30px auto 0;
}
.headingBlock h1{
	font-size:1.8rem;
}
.headingBlock h1::before {
	top:-5px;
    left: 80px;
	width:50px;
	height:50px;
}
.headingBlock h1::after {
	top:-5px;
    right: 80px;
	width:50px;
	height:50px;
}
.headingBlock p{
	font-size:1.2rem;
}

/*ピックアップ*/
.secPicup::after{
	background-size: 100px auto;
}	

.displayPc02{
	display: none;
}
.displaySp02{
	display: block;
}
}

@media screen and (max-width:600px){
	
/*コラム*/
.columnGrid01{
	grid-template-columns:100px 1fr;
}
.columnItem01 h1{
	font-size:1.6rem;
}
.columnItem01 h1 span{
	top:-5px;
}	
}

@media screen and (max-width:550px){
/*舞台&演目*/
.stageSentence h2{
    font-size: 1.65rem;
}
.stageSentence p{
	font-size: 1.1rem;
}
.programSentence h2{
    font-size: 1.65rem;
}
.programSentence p{
	font-size: 1.1rem;
}
	
/*観光*/
.headingBlock {
	margin: 40px auto 0;
}
.headingBlock h1::before {
    left: 40px;
}
.headingBlock h1::after {
    right: 40px;
}
.secTourism::before {
        top: 0;
}
	
/*ピックアップ*/
.angledHeading {
  font-size: 1.2em;
}
.angledHeading img{
	max-width:100px;
}
	
/*コラム*/
.columnItem01 h1{
	font-size:1.4rem;
}
.columnItem01 h1 span{
	font-size:1rem;
}

}

@media screen and (max-width:500px){
/*イントロ*/
.openingCatch h2{
	font-size:2.5rem;
}
.openingCatch h1{
	font-size:5.5rem;
}
#textB img, #textC img {
  max-width: 260px;
}
.headerItem h1,.headerItem:nth-child(2) span{
	font-size:3rem;
}
.headerItem:nth-child(1) h1 span::before,.headerItem:nth-child(3) h1 span::before{
	bottom:-30%;
}
	
/*アーティスト*/
.artistItem01 h1, .artistItem02 h1 {
	font-size: 2.2rem;
}
.artistItem01 h3 span,.artistItem02 h3 span{
	font-size: 1.6rem;
}
	
.greetingGrid {
    gap: 15px;
    grid-template-columns: 1.5fr 1fr;
}
.artistGrid01 .greetingItem h2,.artistGrid02 .greetingItem h2{
	margin-bottom: 20px;
}
.artistGrid01 .greetingItem h2 span{
	font-size:1.3rem;
}
.modalBody h2 {
    font-size: 1.5rem;
}
.modalBody h2 span{
    font-size: 1.2rem;
	margin-left:0;
}
.secArtists .foreWord h1 {
    font-size: 2.5rem;
}
.artistItem03 {
	min-height: 480px;
}
.secArtists .foreWord {
	top: 39.2%;
}
.secArtists .foreWord h1.firstHeading::before, .secArtists .foreWord h1.secondHeading::before{
	bottom:-30%;	
}
.secArtists .afterWord h1 {
	font-size: 1.8rem;
}
.artistItem03:first-child {
	background-size: 145%;
	background-position: 60% 52%;
}
.artistItem03:first-child  h3 {
	padding-top: 20px;
}
.artistItem03:last-child  h3 {
	padding-top: 90px;
}
	
.bgOverlay01{
	background-size: 80px auto;
}
.bgOverlay02{
	background-size: 80px auto;
}

/*舞台&演目*/
.stageSentence h2{
    font-size: 1.6rem;
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  text-indent: 0;
	white-space: nowrap;
	padding-top:50px;
	position: relative;
  /* 右寄せのための追加 */
	margin-left: auto;
	margin-right: 20px;
	display: block;
}
.stageSentence h2 span {
	font-size:2rem;
	position: absolute;
	top:10px;
	right:-10px;
  display: inline-block;
  transform: rotate(-90deg);
}
.programSentence h2{
    font-size: 1.6rem;
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  text-indent: 0;
	white-space: nowrap;
	padding-top:50px;
	position: relative;
	margin-left: 0;
	margin-right: auto;
	display: block;
}
.programSentence h2 span {
	font-size:2rem;
	position: absolute;
	top:10px;
	right:-10px;
  display: inline-block;
  transform: rotate(-90deg);
}

/*観光*/
.secTourism::after {
	background-size: 90px auto;
}
.slideInBg.aos-animate .bgLayer {
    background-position: 60% top;
}

/*ピックアップ*/
.secPicup::after{
	background-size: 90px auto;
}	
.picupForeword p{
	font-size:1.1rem;
}
.pickupCatch h1{
	font-size:1.5rem;
}
.angledHeading{
  clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);
  font-size: 1.5em;
}
.angledHeading img{
	margin-right:0;
}

/*おすすめ*/
.noteBlock{
	padding: 20px 15px;
}
	
/*コラム*/
.columnGrid02{
	margin: 15px auto 0;
	gap:50px;
}
.headingColumn h1 {
    font-size: 1.4rem;
}
.columnItem02:nth-child(1) p {
    font-size: 1.1rem;
}
.recommendationBlock h2::before{
	top:0;
}
.recommendationBlock h2{
	font-size:1.5rem;
}
.columnGrid01{
	grid-template-columns:80px 1fr;
	gap:15px;
	margin-bottom:0;
}
.columnItem01 h1{
	font-size:1.3rem;
}
.columnItem01 h1 span{
	top:-5px;
}

/*モーダル*/
.modalBody {
padding: 20px 30px;
}
/*舞台モーダル*/
.stageItem img{
	max-width:240px;
}	

/*ボタン*/
.detailBtn {
  font-size: 1.2rem;
}

.displaySp01{
	display: block;
}
}

@media screen and (max-width:450px){
/*イントロ*/
#textA .textLine {
    font-size: 2rem;
}
/*ヘッダー*/	
.secHeader .afterWord h1 {
    font-size: 1.5rem;
}
	
/*アーティスト*/	
.artistItem03:last-child {
	background-size: 135%;
}

/*ポップアップ*/	
.popupBlock{
	max-width: 90%;
}
.popupText p {
    font-size: 0.8rem;
}
	
/*観光*/
.headingBlock h1::before {
    left: 20px;
}
.headingBlock h1::after {
    right: 20px;
}

/*コラム*/
.columnGrid01{
	grid-template-columns: 1fr;
}
.columnItem01:nth-child(1){
	margin-left: auto;
}
.columnItem01:nth-child(1) img{
	max-width: 90px;
}
.columnItem01 h1{
	font-size:1.5rem;
	margin-top:-50px;
}
.columnItem01 h1 span{
	right: inherit;
	left:0px;
	top:-40px;
}
}

@media screen and (max-width:400px){
/*イントロ*/
.openingCatch h2{
	font-size:2rem;
}
.openingCatch h1{
	font-size:4rem;
}
.fadeContainer {
  top: 80%;
  left: 35%;
}
#textB img, #textC img {
  max-width: 60%;
}
.bgScene {
  top: 0%; right: 5%; transform: translateY(0);
	width:90%;
}
.bgArtist01 {
  top: 20%; right:0; transform: translateX(0);
	width:50%;
}
.bgArtist02 {
  bottom: 5%; right:0; transform: translateY(0);
	width:95%;
}
.secArtists .afterWord h1 {
	font-size: 1.4rem;
}
	
/*舞台&演目*/
.stageSentence h2 {
	margin-bottom: 0;
}
.stageSentence p{
	font-size: 1rem;
}
	
/*観光*/
.secTourism{
	height: 780px;
}
.secTourism::after {
	background-size: 80px auto;
}
.secTourism::before{
	top:10px;
	width: 150px;
	height: 80px;
}
.headingBlock {
	margin: 50px auto 0;
}
.headingBlock h1 {
        font-size: 1.6rem;
}
.headingBlock h1::before {
    left: 0;
}
.headingBlock h1::after {
    right: 0;
}
.headingBlock p {
	font-size: 1rem;
}
	
/*ピックアップ*/
.secPicup::after{
	background-size: 80px auto;
}
.angledHeading {
	font-size: 1.3em;
}
.pickupCatch h1 {
	font-size: 1.35rem;
}

/*おすすめ*/
.recommendationBlock h4 {
    font-size: 1rem;
}
/*コラム*/
.headingColumn h1 {
    font-size: 1.2rem;
}
.columnItem01 h1 {
    font-size: 1.3rem;
}
.additionalContent h3,.additionalContent h4{
    font-size: 1.2rem;	
}
.additionalContent ul li{
    font-size: 1rem;	
}
.btnLink{
    font-size: 1rem;	
}
}

@media screen and (max-width:350px){
.headingBlock h1 {
        font-size: 1.3rem;
}
}