@charset "UTF-8";



img {
  max-width: 100%;
  height: auto;
  display: block;
}

.song-page {
  padding: 40px 20px 60px;
}

.container {
  max-width: 900px;
  margin: 0 auto;
}

.page-header {
  text-align: center;
  margin-bottom: 34px;
}

.page-header h2 {
font-family: "Noto Serif JP", serif;
font-weight: 700;
letter-spacing: 0.04em !important;
  margin: 0em auto 1.0em !important;
	padding: 0 !important;
  /*font-size: 2.8rem !important;*/
  color: #403000 !important;
  line-height: 1.45 !important;
	background-color: #fff !important;
	font-size: clamp(24px, 3vw, 44px) !important;
}

.page-header.tendenko2_en h2 {
	font-family: "Noto Serif JP", serif;
font-weight: 700;
letter-spacing: 0.04em !important;
  margin: 0em auto 1.0em !important;
	padding: 0 !important;
  /*font-size: 2.8rem !important;*/
  color: #403000 !important;
  line-height: 1.45 !important;
	background-color: #fff !important;
	font-size: clamp(24px, 3vw, 35px) !important;
}

.page-header p {
  margin: 1.5em auto !important;
  font-size: 1.0rem;
	background-color: #fff !important;
	line-height: 200%;
}
.page-header.tendenko2_en p,.concept-text.tendenko_en p,.support-box.tendenko_en p{
  text-align: justify !important;
  hyphens: auto !important;
}

.language {
	display: block;
	clear: both;
	text-align: right;
  font-size: 0.9rem;
}


/*ここから動画と歌詞・楽譜のエリア*/
.hero-box {
  border: 1px solid #d9c8bd !important;
  background: #fff;
  padding: 0;
  margin: 2em auto !important;
	height: auto;
	position: relative;
	width: 100%;
}

/*.song_qr{
	position: absolute;
	left: 1.4em;
	bottom: 1.4em;
	width: 15% !important;
	max-width: 100px !important;
	height: auto !important;
}*/

.hero-box a{
	text-decoration: none !important;
}

.hero-box a p{
	display: flex;
	justify-content: center;
	 align-items: center;
	width: calc(100% - 45px);
	text-align: center;
	margin: 0 auto 0 auto !important;
	padding: 15px 35px 35px 10px !important;
	text-decoration: none !important;
	/*background-color: #6C5648;*/
	font-size: 1rem;
	color: #d04c13;
	background-image: url("../images/song_qr.png");
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 100px 100px;
	background: linear-gradient(to bottom, #ffffff 0%, rgba(208,76,19,0.1) 50%);
}

.hero-box a p img{
	width: 100px;
	height: auto;
}

.hero-box a p span{
padding: 7px 35px 7px 65px !important;
line-height: 100%;
background-image: url("../images/icon_04.svg");
background-repeat: no-repeat;
background-position: right 5px top 0px;
background-size: 25px 25px;
width: 160px;
}

.hero-box a:hover img{
	opacity: 0.64;
	transition: 0.3s;
}



.hero-box a:hover p span{
	opacity: 1.0 !important;
}

.link-buttons {
  margin-bottom: 28px;
}

.link-btn-row {
  display: flex;
  gap: 18px;
  margin-top: 16px;
}

.link-btn {
  display: flex;
  align-items: center !important;
  justify-content: space-between;
  gap: 12px;
  text-decoration: none;
  color: #403000;
  background: linear-gradient(to bottom, #ffffff 0%, #f6f1e8 100%);
  border: 1px solid #d9c8bd;
  padding: 1em 1.5em;
  box-sizing: border-box;
  transition: 0.2s ease;
	overflow: hidden;
}

.link-btn:hover {
  background: #faf7f5;
	color: #403000 !important;
	transition: 0.3s;
}

.link-btn.wide {
  width: 100%;
}

.link-btn.half {
  width: calc(50% - 9px);
}

.link-btn .icon_new {
  flex: 0 0 auto;
	width: 55px;
	height: auto;
	max-height: 55px;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}



.link-btn .text {
  flex: 1 1 auto;
  text-align: center;
  font-size: 1.1rem;
	display: block;
	clear: both;
}

.link-btn .text.kara {
	display: flex;
	justify-content: center;
	align-items: center;
}

.link-btn .text.kara span.text{
line-height: 100% !important;
height: 28px;
font-size: 1.1rem !important;

}

.link-btn .text.kara span.text::after{
content: "＞";
margin-left: 15px;
}

.link-btn .text.kara img{
	width: 13%;
}


.link-btn .text.kara span.text span{
	line-height: 100%;
	padding-top: 0.9em;
	widows: 300px !important;
	display: inline-block !important;
	clear: both;
	padding-right: 25px;
}

/*.link-btn .text.kara span.text span{
	line-height: 100%;
	padding-top: 0.9em;
	background-image: url("../images/icon_05.svg");
	background-size: 18px 18px;
	background-repeat: no-repeat;
	background-position: right 7px;
	widows: 300px !important;
	display: inline-block !important;
	clear: both;
	padding-right: 25px;
}*/

.link-btn .text img{
	width: 100px;
	float: right;
}

.link-btn .text span {
font-size: 70%;
	display: block;
	clear: both;
	line-height: 100%;
	margin: 0;
	padding: 0;
}

.link-btn .arrow {
  flex: 0 0 auto;
  font-size: 0.95rem;
  color: #403000;
}

/*ここから動画再生について追加分*/
/*.hero-media {
  position: relative;
  width: 100%;
  line-height: 0;
}*/

.hero-media {
  position: relative;
  width: 100%;
  line-height: 0;
  aspect-ratio: 16 / 9;
/*  overflow: hidden;*/
  background: #fff;
}


/*.hero-media img,
.hero-media video {
  display: block;
  width: 100%;
  height: auto;
}*/

.hero-media img,
.hero-media video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-media {
  transition: opacity 0.25s ease;
}



.hero-play-btn {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #d04c13;
  border: 0px solid #d9c8bd;
  padding: 14px 28px;
  font-size: 1rem;
  cursor: pointer;
  transition: 0.3s;
  line-height: 1;
	width: 180px;
	height: auto;
	background: none !important;
  z-index: 5;
}

.hero-media:hover img.is-clickable {
  opacity: 0.64;
  transition: 0.3s;
}


/*.hero-play-btn {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: rgba(255,255,255,0.92);
  color: #d04c13;
  border: 1px solid #d9c8bd;
  padding: 14px 28px;
  font-size: 1rem;
  cursor: pointer;
  transition: 0.3s;
  line-height: 1;
}*/

.hero-play-btn:hover {
  background: rgba(255,255,255,1);
}

.hero-box.is-playing .hero-play-btn {
  display: none;
}
.hero-media img.is-clickable {
  cursor: pointer;
}

/* ▼動画右上の切り替えUI */
.video-switch {
  position: absolute;
  top: -50px;
  right: 0px;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 0;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #d9c8bd;
  line-height: 1;
}

.video-switch button {
  appearance: none;
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  font-size: 0.92rem;
  color: #8f7d70;
  cursor: pointer;
  font-family: inherit;
  transition: 0.3s;
}

.video-switch button:hover {
  opacity: 0.7;
}

.video-switch .divider {
  margin: 0 10px;
  color: #b7a79b;
  font-size: 0.9rem;
}

.video-switch button.is-active {
  color: #d04c13;
  font-weight: 700;
  cursor: default;
  opacity: 1;
}

/* スマホで少しだけ控えめに */
@media screen and (max-width: 767px) {
  .video-switch {
    top: -45px;
    right: 0px;
    padding: 7px 10px;
  }

  .video-switch button {
    font-size: 0.82rem;
  }

  .video-switch .divider {
    margin: 0 8px;
  }
	.hero-play-btn {
	width: 110px;
}
}

.hero-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.45s ease;
  z-index: 1;
  background: #fff;
}

.hero-box.is-video-visible .hero-video {
  opacity: 1;
}

#mainThumbnail {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  transition: opacity 0.45s ease;
}

.hero-box.is-video-visible #mainThumbnail {
  opacity: 0;
  pointer-events: none;
}

.hero-box.is-video-visible .hero-play-btn {
  opacity: 0;
  pointer-events: none;
}

/*ここまで動画と歌詞・楽譜のエリア*/



.credit {
  text-align: center;
  font-size: 1.0rem;
  margin: 3.5em auto 3.5em auto !important;
	padding: 0 !important;
	clear: both;
}

.lyrics-section {
  margin-bottom: 42px;
}

.lyrics-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px 50px;
  align-items: start;
}

.lyrics-block p {
  margin: 0;
  white-space: normal;
  font-size: 1rem;
}

.lyrics-image {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.support-box {
  background: #eae1dc;
  padding: 1.5em 2.0em;
  margin:  1em auto;
  font-size: 1.0rem;
}

.support-box p {
  margin: 0 !important;
	padding: 0 !important;
	line-height: 200%;
}

.support-box p + p {
  margin-top: 6px;
}

.concept-section {
  text-align: center;
  margin-bottom: 46px;
}

.concept-label {
  margin: 4.5em auto 0 auto !important;
  font-size: 1rem !important;
	line-height: 100% !important;
}

.concept-section h2 {
   margin: 0 auto 1.0em auto !important;
  font-weight: 500;
  color: #403000 !important;
  line-height: 100%;
	font-size: clamp(24px, 3vw, 35px) !important;
}


.concept-text {
  text-align: left;
  width: 100%;
  margin: 0 auto;
}

.concept-text p {
  margin: 0 0 18px;
  font-size: 1rem;
	line-height: 200% !important;
}

.share-box {
  border: 1px solid #d9c8bd;
  background: #fff;
  text-align: center;
  padding: 34px 20px 30px;
	margin-bottom: 2.5em 
}

.share-title {
  margin: 0.5em auto 0 auto !important;
  font-size: 2rem;
  color: #f06423;
  line-height: 1.8;
}

.share-text {
  margin: 0 auto 1.0em auto !important;
  font-size: 1.1rem;
  color: #f06423;
line-height: 1.8;
}

.sns-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}

.sns-links a {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  font-size: 0.9rem;
  font-family: Arial, sans-serif;
  border-radius: 4px;
  background: #7d736b;
}

/* レスポンシブ */
@media (max-width: 768px) {
.link-btn .text.kara img{
	width: 20%;
}
  .song-page {
    padding: 28px 14px 50px;
  }

  .page-header h1 {
    font-size: 1.8rem;
  }

  .link-btn-row {
    flex-direction: column;
    gap: 14px;
  }

  .link-btn.half {
    width: 100%;
  }

  .lyrics-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .concept-section h2 {
    font-size: 1.6rem;
  }

  .share-title {
    font-size: 1.5rem;
  }

  .share-text {
    font-size: 1rem;
  }
}