

/*********************

#about_message

********************/

#about_message{
  margin-bottom: 140px;
}

#about_message .message{
  display: flex;
  margin-bottom: 120px;

  /*background: url(../img/about_img01.png) top left no-repeat;
  background-size: 70%;*/
}

#about_message .message div{
  margin-left: -130px;
  padding-top: 160px;
  width: 48%;
}

#about_message .message img{
  width: 72%;
  height: auto;
  object-fit: contain;
  object-position: top;
}

#about_message .message span {
  color: #512701;
  font-size: 24px;
  line-height: 1.4em;
}

#about_message .message span i{
  background: #fcb134;
  margin-bottom: 6px;
  display: inline-block;
  padding: 2px 8px;
}

#about_message .message p{
  background: #ffffff;
  padding: 50px;
  border-radius: 16px;
  margin-top: 20px;
}

/*****#point*****/

#about_message #point h3{
  text-align: center;
  margin-bottom: -20px;
}
#about_message #point span{
  margin-right: 50px;
  font-size: 20px;
  color: #512701;
}
#about_message #point span:last-child { margin-right: 0; }
#about_message #point em{
  font-size: 30px;
  border-radius: 50px;
  background: #fcb134;
  margin-right: 10px;
  height: 56px;
  width: 56px;
  display: inline-block;
  line-height: 54px;
}

#about_message #point p{
  background: #fffde8;
  border-radius: 16px;
  padding: 70px 60px;
}

@media screen and (max-width: 1250px) {
  #about_message .message{ margin-bottom: 80px; }
  #about_message .message div{
    width: 54%;
    padding-top: 100px;
  }
  #about_message .message span{font-size: 22px;}
  #about_message .message p{ padding: 44px 40px; }
}

@media screen and (max-width: 1000px) {
  #about_message { margin-bottom: 80px; }
  #about_message #point p { padding: 40px; }
  #about_message .message span { font-size: 20px;}
  #about_message .message{margin-bottom: 60px;}
  #about_message .message div {width: 60%;}
  #about_message .message p{padding: 40px 36px;}
}

@media screen and (max-width: 700px) {

  #about_message{ margin-bottom: 80px; }

  #about_message .message{
    display: block;
    margin-bottom: 50px;
  }

  #about_message .message p{
    padding: 0;
    border-radius: 0;
    background: none;
    text-align: left;
  }

  #about_message .message img{ width: 100%; }

  #about_message .message div{
    margin-left: 0;
    padding-top: 50px;
    width: 100%;
  }

  #point{max-width: 100%;}
  #about_message #point h3{ margin: 0 0 20px 30px; }
  #about_message #point span{
    display: block;
    margin: 0 0 8px 0;
    text-align: left;
  }
  #about_message #point em{
    text-align: center;
    font-size: 22px;
    height: 50px;
    width: 50px;
    line-height: 50px;
  }
  #about_message #point p{
    padding: 90px 40px 30px;
    text-align: left;
    margin-top: -90px;
  }

}

/***********************************

#joyfull_qsc

**********************************/

#joyfull_qsc{ margin-bottom: 120px; }

#joyfull_qsc ul li{
  display: flex;
  margin-bottom: 140px;
}

#joyfull_qsc ul li:last-child{margin-bottom: 0;}

#joyfull_qsc ul li>div{ display: flex; }

#joyfull_qsc ul li>div>div{padding: 60px 0;}

#joyfull_qsc img{ width: 100%; }

/*↓↓↓縦文字デザイン↓↓↓*/
#joyfull_qsc h3 {
  padding: 60px 30px 0;
  font-size: 50px;
}
#joyfull_qsc h3 span{writing-mode: vertical-rl;}
#joyfull_qsc h3 em{display: block;}
/*↑↑↑縦文字デザイン↑↑↑*/


/*↓↓↓各タイトルデザイン↓↓↓*/
#joyfull_qsc h4{
  font-size: 30px;
  margin: 20px auto 16px;
  color: #512701;
}

#joyfull_qsc h4 em{
  display: inline-block;
  padding: 15px 20px;
  border-radius: 50%;
  margin-right: 14px;
}

#joyfull_qsc ul li:nth-child(odd) h4 em{ background: #ffffff; }
#joyfull_qsc ul li:nth-child(even) h4 em { background: #fcb134; }
/*↑↑↑各タイトルデザイン↑↑↑*/

/*↓↓↓奇数↓↓↓*/
#joyfull_qsc ul li:nth-child(odd){ background: linear-gradient(90deg, #fcb134 0%, #fcb134 50%, #ffffff 50%, #ffffff 100%); }
#joyfull_qsc ul li:nth-child(odd)>div>div { margin: 0 0 0 60px; }
#joyfull_qsc ul li:nth-child(odd) h3{
  background: #ffffff;
  color: #fcb134;
}
/*↑↑↑奇数↑↑↑*/

/*↓↓↓偶数↓↓↓*/
#joyfull_qsc ul li:nth-child(even) { background: linear-gradient(90deg, #ffffff 0%, #ffffff 50%, #fffde8 50%, #fffde8 100%); }
#joyfull_qsc ul li:nth-child(even)>div>div {
  order: 1;
  margin: 0 60px 0 0;
}
#joyfull_qsc ul li:nth-child(even) h3 {
  background: #fcb134;
  color: #ffffff;
  order: 2;
}
/*↑↑↑偶数↑↑↑*/

@media screen and (max-width: 1000px) {
  #joyfull_qsc h3{
    padding: 60px 15px 0;
    font-size: 40px;
  }

  #joyfull_qsc ul li { margin-bottom: 100px; }

  #joyfull_qsc ul li:nth-child(2n+1)>div>div{ margin: 0 0 0 40px; }
  #joyfull_qsc h4{font-size: 24px;}

}

@media screen and (max-width: 700px) {

  #joyfull_qsc{ margin-bottom: 80px; }

  #joyfull_qsc ul li{margin-bottom: 50px;}

  #joyfull_qsc ul li>div{
    display: block;
    padding-top: 50px;
  }
  #joyfull_qsc h3{
    padding: 8px 20px;
    font-size: 36px;
  }
  #joyfull_qsc h3 span{writing-mode: initial;}
  #joyfull_qsc h3 em{display: inline-block;}

  #joyfull_qsc ul li>div>div{padding: 30px 0 60px ;}
  #joyfull_qsc ul li:nth-child(2n+1)>div>div{margin: 0;}

}

/* Final override rules for text wrapping and spacing issues */
#header_mv ul, #header_link ul {
  margin-left: 60px !important;
  padding-left: 20px !important;
}

/* Ultra-specific targeting for dynamically loaded content */
[data-template="header_mv"] li.mv_ttl.eng,
#header_mv ul li.mv_ttl.eng,
#header_mv li.mv_ttl.eng,
li.mv_ttl.eng,
.mv_ttl.eng {
  white-space: nowrap !important;
  width: auto !important;
  min-width: 200px !important;
  max-width: none !important;
  overflow: visible !important;
  word-break: keep-all !important;
  word-wrap: normal !important;
  text-overflow: visible !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  vertical-align: top !important;
}

/* Ensure template container doesn't constrain width */
[data-template="header_mv"],
[data-template="header_mv"] ul {
  width: auto !important;
  min-width: 300px !important;
}

/* Additional rule to handle post-load styling */
body li.mv_ttl.eng {
  white-space: nowrap !important;
  display: inline-block !important;
  width: auto !important;
}

/* Force re-render after template load */
[data-template="header_mv"]:not(:empty) li.mv_ttl.eng {
  white-space: nowrap !important;
  width: auto !important;
  min-width: max-content !important;
}
