@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 img{
	width: 13%;
}


.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;
}

.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;
  }
}