/* コンテンツ外 */
#mainBg {
  width: 100%!important;
}

#main #nav {
  width: 960px;
  margin: 0 auto;
}

div#contents {
  width: 100%!important;
  margin: 0 auto!important;
}

#contentsTitleCmn {
  background: #fff!important;
}

DIV#contentsTitleCmn h1 {
  max-width: 960px!important;
  margin: 0 auto!important;
}

#headerBackground {
  width: 100%;
  height: 195.25px;
  background: #fff;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
}

#container {
  position: relative;
}
#container::after {
  content: "";
  width: 100%;
  height: 580px;
  background: #fff;
  position: absolute;
  bottom: -10px;
  left: 0;
  z-index: -1;
}

#contents h2 {
  background-image: none!important;
}

.renewal2402 {
  background: #fff;
}
DIV#main {
  background: #fff;
}




/* 共通 */
.pc.tb {
  display: inline-block
}
.tb {
  display: none;
}
.sp {
  display: none;
}

/* 変数 */
:root {
  --headerHight: 182px;
  --primaryColor: #5AB6A1;
  --secondaryColor: #A8A162;
}
/* ここまで */

/* 全体 */
@media (min-width: 561px) {
  a[href^="tel:"] {
      pointer-events: none;
      cursor: default;
  }
}

/* フォント関係 */
#contents {
  font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-size: 15px;
  line-height: 2;
  color: #fff;
}

#main #contents p {
  line-height: 2;
}

#contents .gothic {
  font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

#contents a {
	color: #fff;
	text-decoration: none;
}







#contents .fixBackImg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -2;
}










.fvContainer {
  width: 100%;
  height: calc(100vh - var(--headerHight));
  min-height: 770px;
  padding: 50px 0;
  box-sizing: border-box;
  position: relative;
  background: url(../img/main.jpg) center center / cover no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.fvContainer > p:first-of-type {
  font-size: 24px;
  letter-spacing: 6px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-shadow: 0px 0px 7px #666;
}

.fvContainer h1 {
  width: 550px;
  margin-top: 6vh;
}

.fvContainer h1 img {
  width: 100%;
  vertical-align: bottom;
}

.fvContainer > p:last-of-type {
  font-size: 22px;
  margin-top: 10px;
  text-shadow: 0px 0px 7px #666;
}






.backContainer {
  width: 100%;
  padding: 80px 0 100px;
}

#tocContainer {
  width: 90%;
  max-width: 665px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#tocContainer li {
  width: 320px;
  height: 55px;
  margin-bottom: 30px;
  border: 2px solid #fff;
  box-sizing: border-box;
  border-radius: 28px;
}

#tocContainer li a {
  display: block;
  width: 100%;
  height: 100%;
  padding-left: 20px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  font-size: 18px;
}

.arrow1 {
  position: relative;
}

.arrow1::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(-45deg);
}








#luckyContainer {
  width: 90%;
  max-width: 850px;
  margin: 150px auto 0;
  display: flex;
}

.luckyImg {
  flex: 0 1 330px;
  margin-right: 70px;
}

.luckyImg img {
  width: 100%;
  vertical-align: bottom;
}

.luckytext {
  flex: 0 0 450px;
  text-align: center;
}

#main #contents h2 {
  display: inline-block;
  margin: 0 auto;
  padding: 0;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.1;
  color: #fff;
  text-align: center;
  border-bottom: 2px solid #fff;
}

#main #contents h2 span {
  display: block;
  margin-bottom: 20px;
  font-size: 20px;
}

.luckytext p {
  margin-top: 26px;
  text-align: left;
}

.moreBtn {
  width: 200px;
  height: 40px;
  margin: 30px auto 0;
  border: 1px solid #fff;
  box-sizing: border-box;
  border-radius: 20px;
}

.moreBtn a {
  padding-top: 2.5px;
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}






.linkContainer {
  width: 90%;
  max-width: 700px;
  margin: 80px auto 0;
}

.linkContents {
  display: flex;
}

.linkContents li {
  width: 338px;
  height: 84px;
  border-radius: 10px;
  background: var(--primaryColor);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.linkContents li:first-of-type {
  margin-right: 24px;
}
.linkContents li::before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  border: 1px solid #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
.linkContents li::after {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  top: 50%;
  right: 26.3px;
  transform: translateY(-50%) rotate(-45deg);
}

#contents .linkContents li a {
  width: 100%;
  height: 100%;
  font-size: 18.5px;
  color: #fff;
  text-align: center;
  line-height: 1.4;
  display: flex;
  justify-content: center;
  align-items: center;
}

.linkBanner {
  width: 640px;
  height: 320px;
  margin: 39px auto 0;
  overflow: hidden;
}

.linkBanner img {
  width: 100%;
  vertical-align: bottom;
}






#basicContainer {
  width: 90%;
  max-width: 836px;
  margin: 100px auto 0;
  text-align: center;
}

.basicContents {
  width: 100%;
  margin-top: 39px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.basicContents li {
  width: 30%;
  max-width: 242px;
  margin:0 18px 50px;
  text-align: left;
}

.basicContents li img {
  width: 100%;
  vertical-align: bottom;
}

#main #contents .basicContents li p {
  margin-top: 12px;
  font-size: 18px;
  line-height: 1.4;
}

#basicContainer .linkContainer {
  margin-top: 0;
}







#kirakiraContainer {
  width: 100%;
  background: #fff;
  padding: 100px 0;
}

.pr {
  position: relative;
}
.pr::after {
  content: "PR";
  font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-size: 16px;
  color: #fff;
  background: #000;
  padding: 0 10px;
  position: absolute;
  top: 0;
  right: 0;
}

.kirakiraContents {
  width: 90%;
  max-width: 850px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.kirakiraImg {
  width: 50%;
  margin-right: 50px;
}

.kirakiraImg img {
  width: 100%;
  vertical-align: bottom;
}

.kirakiraText {
  width: calc(50% - 50px);
}

#main #contents .kirakiraText p:first-of-type {
  margin-bottom: 5px;
  font-size: 19px;
  line-height: 1;
  color: #000;
  text-align: center;
}

#main #contents h2.kirakiraTitle {
  margin-top: 10px;
  font-size: 33px;
  color: var(--secondaryColor);
}

#main #contents .kirakiraTitle span {
  margin-bottom: 10px;
  font-size:  19px;
  color: #000;
  display: block;
}
.kirakiraTitle span::before {
  border-right: 1px solid #000;
  transform: rotate(20deg);
}

#main #contents .kirakiraText p:last-of-type {
  margin-top: 16px;
  color: #000;
}

.kirakiraText .moreBtn {
  margin-top: 26px;
  border: 1px solid #000;
}
.kirakiraText .moreBtn::after {
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
}

#kirakiraContainer .kirakiraText .moreBtn a {
  color: #000;
}







#stylistContainer {
  width: 90%;
  max-width: 850px;
  margin: 100px auto;
  text-align: center;
}

.stylistContents {
  width: 100%;
  margin-top: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.stylistText {
  width: 56.47%;
  margin-right: 5%;
}

#stylistContainer .stylistText h3 {
  font-size: 28px;
  font-weight: 400;
  color: #fff;
}

#stylistContainer .stylistText h3 span {
  font-size: 17.4px;
  display: block;
}

#stylistContainer .stylistText p {
  margin-top: 30px;
  text-align: left;
}

.stylistImg {
  width: 34.94%;
}

.stylistImg img {
  width: 100%;
  vertical-align: bottom;
}






#diagnosisContainer {
  width: 100%;
  margin: 120px auto 0;
  text-align: center;
}

.diagnosisContents1Container {
  width: 100%;
  padding: 100px 0;
  margin-top: 40px;
  background: #fff;
}

.diagnosisContents1 {
  width: 90%;
  max-width: 850px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.diagnosisContents1Container img {
  width: 49.64%;
  margin-right: 5%;
}

#main #diagnosisContainer .diagnosisContents1Container p {
  width: 44.58%;
  text-align: left;
  font-size: 18px;
  line-height: 1.8;
  color: #000;
}

.diagnosisContents2 {
  width: 90%;
  max-width: 850px;
  margin: 100px auto 0;
  display: flex;
  justify-content: space-between;
}

.diagnosis2 {
  width: 47%;
}
.diagnosis2:first-of-type {
  margin-right: 6%;
}

.diagnosis2 img {
  width: 100%;
  vertical-align: bottom;
}

#main #diagnosisContainer .diagnosis2 p {
  margin-top: 18px;
  font-size: 20px;
  line-height: 1.7;
  text-align: left;
}




.linkContainer.mb {
  margin-bottom: 100px;
}