@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/

}
html {
  font-size: 62.5%; /* 16px * 62.5% = 10px */
  width: 100%;
}
@media screen and (max-width: 767px) {
  html {
    font-size: calc(10 / 375 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: calc(10 / 1440 * 100vw);
  }
}

body {
  color: #333; /* RGB */
  font-family: 'Noto sans', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, 'sans-serif';
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: left;
  background-color: #FFF4F4;
}
@media screen and (max-width: 767px) {
  body {
     font-size: 1.4rem;
  }
}
a:hover {
  opacity: 0.5;
}
a {
  text-decoration: none;
  color: #333;
}
ul {
  list-style: none;
}

/*PC*/
@media screen and (min-width: 768px) {
	h2 {
	  font-size: 3rem;	
	  color: rgba(204, 137, 133, 0.6);
    font-size: 4.9rem;
	}
	h3 {
	  font-size: 2.4rem;	
	  color: #CC8985;	
    font-family: "Noto Serif JP", serif;	
	}
  h4 {
	  font-size: 2.8rem;	
	  color: #CC8985;	
    font-family: "Noto Serif JP", serif;	
    text-align: center;
	}
}

/*SP*/
@media screen and (max-width: 767px) {
		h2 {
    color: rgba(204, 137, 133, 0.6);
    font-family: "Noto Serif JP", serif;
    font-size: 5.9rem;
	}
	h3 {
	  font-size: 1.4rem;	
	  color: #CC8985;		
    font-family: "Noto Serif JP", serif;
	}
  h4 {
	  font-size: 1.8rem;	
	  color: #CC8985;		
    font-family: "Noto Serif JP", serif;
    text-align: center;
	}
  p {
    font-size: 1.4rem;
  }
}


/* ここから自作css */
.wp-block-latest-posts__list,
.wp-block-columns {
  padding-left: 0 !important;
}
.main {
  background-color: FFF4F4;
}
/* .h2 {
  font-size: 2.8rem;
  color: #fff;
  font-family:Shippori Mincho B1;
} */
.search-menu-button {
  display: none !important;
}
.logo-menu-button a {
  color: #513737;
}
/* PC */
@media screen and (min-width: 767px) {
    /* indexの余白 */
  .main {
      padding: 0 5%;
      overflow-x: hidden; /* はみ出しを防ぐ */
    }
  .mv_pc {
      /* width: 100%;
      height: 40.8vw; */
      margin-left: calc(-50vw + 50%);
      margin-right: calc(-50vw + 50%);
      width: 100vw;
      position: relative;
      min-height: 500px;
  }
  .mv_pc img {
      width: 100vw;
      height: auto;
      object-fit: cover;
      display: block; /* 画像下の隙間を削除 */
  }
  .mv_sp {
    display: none;
  }

}

/* SP */
@media screen and (max-width: 767px) {
  .main {
    padding: 0 5%;
    overflow-x: hidden; /* はみ出しを防ぐ */
  }
  .mv_sp {
      width: 100vw;
      height: 143vw;
      margin-left: calc(-50vw + 50%);
      margin-right: calc(-50vw + 50%);
  }
  .mv_sp img {
    width: 100vw;
    height: auto;
    object-fit: cover;
    display: block; /* 画像下の隙間を削除 */
}
  .mv_pc {
    display: none;
  }
}
.top_title {
  margin-left: 10%;
}
.top_title h2 {
  color: #fff;
  font-size: 4rem;
}
.top_title h3 {
  color: #fff;
  font-size: 3rem;
}
@media screen and (max-width: 767px) {
  .top_title {
    margin-left: 0%;
  }
  .top_title h2 {
    font-size: 2.8rem;
  }
  .top_title h3 {
    font-size: 2rem;
  }

}
.section-top h2 {
  font-size: 4.5rem;
  color: #F9F7F7;
  font-weight: 800;
  font-family: "Shippori Mincho B1", serif;
  padding-top: 20vw;
  position: relative;
  display: inline-block;
  padding-bottom: 10px; /* アンダーラインとテキストの間隔を調整 */
}
@media screen and (min-width: 767px) {
.section-top h2::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 34.7vw;
  height: 1.4vw;
  background: linear-gradient(to bottom, rgba(204, 137, 133, 0), #CC8985);
  }
}
.section-top h3 {
  font-family: "Shippori Mincho B1", serif;
  font-size: 2.4rem;
  color: #F9F7F7;
}
/* SP */
@media screen and (max-width: 767px) {
  .section-top h2 {
      font-size: 2rem;
      font-weight: 600;
      padding-top: 100vw;
  }
  .section-top h3 {
      font-size: 1.45rem;
      font-weight: 500;
  }
  .Information ul {
    padding-left: 3vw;
    margin-bottom: 0;
  }
  }
.Information {
  background-color: #CC8985;
  margin-left: 12%;
  padding-bottom: 5px;
  margin-right: calc(-50vw + 50%);
  
}

.Information_text h2,
.Information_text time  {
  color: #FFFFFF;
  font-family: "Noto Serif JP", serif;
  padding-top: 2vw;
  padding-left: 3vw;
  padding-bottom: 0;
  font-size: 1.4rem;
}
.Information_text h2 {
  font-family: "Noto Serif JP", serif;
  margin-bottom: 0px;
}

@media screen and (min-width: 767px) {
  .Information {
      margin-left: 45%;   
      margin-bottom: 5vw !important; 
  }
  .Information_text h2,
  .Information time,
  .Information span {
      padding-top: 2vw;
      padding-left: 2vw;
      font-size: 2.4rem;
  }
}
.introduction h4 {
  margin-bottom: 7.7vw;
}
.introduction img {
  margin: 0 auto;
  display: block;
}
.introduction p {
  font-family: "Noto Serif JP", serif;
  text-align: center;
  display: block;
  margin: 0 auto 1.5em auto;
  line-height: 170%;
}
@media screen and (min-width: 767px) {
  .introduction {
    padding-top: 3vw;
  }
  .worries {
    margin-top: 14vw;
    margin-bottom: 14vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
  }
}
@media screen and (max-width: 767px) {
  .introduction {
    padding-left: 0 !important;
  }
 .introduction p{
    max-width: 300px;
    font-size: 1.38rem;
    padding-top: 4vw;
	margin: 0 auto 4vw auto;
}
.introduction img {
  margin-bottom: 7.7vw;
}
.worries {
  margin-top: 7.7vw;
  margin-bottom: 7.7vw;
}
}



/* .worries ul li {
  background-color: #CC8985;
  color: #333;
} */
.worries_list span {
  color: #333;
}
@media screen and (min-width: 767px) {
  .intro_flex {
      display: flex;
      gap: 7.63rem;
      align-items: center;
  }
  .intro_flex img {
      padding-left: 10%;
      width: 74%;

  }
  .introduction p {
      font-size: 2rem;
      padding-right: 10%;
  }    
}
/* SP */
@media screen and (max-width: 767px) {
  .worries_wrapper_img{
      display: none;
  }
  .worries_bg {
      display: flex;
      flex-direction: column; /* 縦方向に配置 */
      justify-content: space-between; /* 均等配置 */
      height: 100%; /* 必要に応じて高さを指定 */
      padding: 0 25px !important;
    }
  }
.worries_list {
  background-color: #DFC9C9;
  margin-left: 12%;
  margin-right: 12%;
  align-items: center;
  display: flex;
  margin-bottom: 1rem;
  padding: 2vw;
}
 
.worries_list img {
  width: 6vw; /* 画像の幅を固定 */
  height: 5.5vw; /* 画像の高さを固定 */
  object-fit: contain; /* 画像が歪まないように調整 */
  margin-right: 1rem; /* 画像とテキストの間にスペース */
}

.worries_last {
  color: #513737;
  margin-top: 7.7vw;
}
/* PC */
@media screen and (min-width: 767px) {
  .worries {
      margin-top: 7.7vw;
      margin-bottom: 7.7vw;
      background: linear-gradient(to right, transparent 30%, #DFC9C9CC 30%);
  }
  .worries_top {
      padding-top: 7.7vw;
      padding-bottom: 3.5vw;
  }
  .image-background-section {
      position: relative; /* セクション内での配置をコントロール */
      width: 100%; /* セクション幅を全体に広げる */
      overflow: hidden; /* セクション外への要素のはみ出しを防ぐ */
  }
  .worries_wrapper {
      position: relative;
      margin: 0 auto;
      height: 29.7vw;
  }
  .worries_wrapper_img {
      position: absolute; /* 親要素を基準に配置 */
      top: 50%; /* 縦の中央揃え */
      left: 10%; /* 左側の余白を設定 */
      transform: translateY(-50%); /* 縦の中央揃えを調整 */
      z-index: 2; /* 背景の上に表示 */
      width: 39%;
  }
  .worries_bg {
      position: absolute; /* 親要素を基準に配置 */
      top: 50%; /* 縦の中央揃え */
      left: 58%; /* 横の中央揃え */
      transform: translate(-20%, -50%); /* 背景を右側に寄せる */
      z-index: 1; /* 重なり順を背景に設定 */
  }
  .worries_list {
      align-items: center;
      display: flex;
      padding: 0.8vw;
      background-color: #FFF2F2;
      width: 40vw;
  }
     
  .worries_list img {
      width: 3vw; /* 画像の幅を固定 */
      height: 2.5vw; /* 画像の高さを固定 */
      object-fit: contain; /* 画像が歪まないように調整 */
      margin-right: 1rem; /* 画像とテキストの間にスペース */
  }
  .worries_last {
      margin-top: 3.7vw;
      padding-bottom: 7.7vw;
  }
}
@media screen and (max-width: 767px) {
  .worries_list span {
    font-size: 14px;
  }
  .worries_top {
    white-space: nowrap;
  }
}

.headline {
  color: rgba(204, 137, 133, 0.6);
  margin-left: 10%; /* 左から10%の余白 */
  display: flex;
  flex-direction: column-reverse;
}
.headline h2 {
  font-family: "Noto Serif JP", serif;	
  font-size: 4.3rem;
  line-height: 1;
}
.headline h3 {
  font-size: 1.2rem;
}
/* PC */
@media screen and (min-width: 767px) {
  .headline h2 {
      font-size: 8rem;
  }
  .headline h3 {
      font-size: 1.8rem;
    }
}
.reasen_sent {
  color: #513737;
  margin-top: 4.7vw;
  margin-bottom: 4.7vw;
}
@media screen and (max-width: 767px) {
  .reasen_sent {
    white-space: nowrap;
  }
}
.reasen_sent span {
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 767px) {
  .reasen_sent span {
      /* display: flex;
      flex-direction: column; */
      display: block;
    }

}
@media screen and (min-width: 767px) {
  .reasen_sent {
      text-align: left !important; 
  }
  
}
.reasen_wrapper {
  display: flex;
  gap: 6vw;
  padding-bottom: 7.7vw;
}
.reasen_no {
  font-family: "Noto Serif JP", serif;	
  font-size: 4.3rem;
  color: rgba(204, 137, 133, 0.85);
  font-weight: 700;
  white-space: nowrap;
}
.reasen_inner h4 {
  color: #513737;
  font-size: 1.8rem;
  text-align: left;
  padding-top: 2vw;
  padding-bottom: 3vw;
  padding-left: 0;
}
/* PC */
@media screen and (min-width: 767px) {
  .reasen_wrapper {
      gap: 1vw;
      padding-bottom: 3.7vw;
      flex: 1;
  }
  .reasen_no {
      font-size: 7rem;
        
  }
  .reasen_inner h4 {
      font-size: 2.4rem;
      text-align: left;
      padding-bottom: 4vw;
  }
  .reasen_inner p {
      font-size: 1.8rem;
  }
  .reasen_inner_2 h4 {
      padding-top: 2.4vw;
  }
  .reasen_inner_2 p {
      padding-top: 1.4vw;
  }

}
.button a {
  background: #CC8985;
  border-radius: 9999px;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  padding: 2vw;
  color: #FFFFFF;
  text-decoration: none;
  transition: 0.3s ease-in-out;
  font-weight: 500;
}
.button a:hover {
  background: #AC2E26;
  color: #FFF;
}
.button a:after {
  content: '';
  width: 5px;
  height: 5px;
  border-top: 3px solid #FFF;
  border-right: 3px solid #FFF;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}
.button a:hover:after {
  border-color: #FFF;
}
@media screen and (min-width: 767px) {
  .button a {
      width: 27vw;
      padding: 1vw;
      font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .button a {
      width: 70vw;
      font-size: 16px;
  }
}
.treatment {
  margin-top: 14vw;
}
.space_line h2 {
  line-height: 0.9;
}
@media screen and (max-width: 767px) {
  .space_line h2 {
      font-size: 3.8rem;
      margin-bottom: 4vw;
  }
  .tr_pc-image {
      display: none;
  }
  .tr_mobile-image {
      width: 80%;
      margin: 0 auto;
      display: block;
  }
  .tr_unit {
      background-color: #F3E4E4;
      margin-left: 10%;
      margin-right: 10%;
      padding-top: 7vw;
      padding-bottom: 3.7vw;
  }
  .tr_unit li {
      padding: 1vw;
  }
  .tr_wrap {
      margin-bottom: 7.7vw !important;
  }
}
@media screen and (min-width: 767px) {
  .tr_wrap {
      margin-bottom: 7.7vw;
      background: linear-gradient(to right, transparent 30%, #DFC9C9CC 30%);
      display: flex;
      height: 35vw;
      position: relative;
      margin-left: calc(-50vw + 50%);
      margin-right: calc(-50vw + 50%);
  }
  .tr_mobile-image {
      display: none;
  }
  .tr_pc-image {
      position: absolute; /* 親要素を基準に配置 */
      top: 50%; /* 縦の中央揃え */
      left: 10%; /* 左側の余白を設定 */
      transform: translateY(-50%); /* 縦の中央揃えを調整 */
      z-index: 2; /* 背景の上に表示 */
      width: 39%;
  }
  .tr_unit {
      position: absolute; /* 親要素を基準に配置 */
      top: 50%; /* 縦の中央揃え */
      left: 58%; /* 横の中央揃え */
      transform: translate(-20%, -50%); /* 背景を右側に寄せる */
      z-index: 1; /* 重なり順を背景に設定 */
  }
  .tr_unit li {
      padding: 1vw;
      font-size: 2rem;
  }
}
/* .procedure {
  margin-top: 14vw;
  margin-bottom: 14vw;
} */
@media screen and (max-width:767px) {
  .procedure {
    margin-top: 14vw;
  }
  .plan_heading {
    margin-top: 14vw;
  }
}
@media screen and (min-width: 767px) {
  .plan_heading {
    margin-top: 7vw;
  }
}
.plan {
  margin-left: 10%;
  margin-right: 10%;
  margin-bottom: 9vw;
  position: relative;
  text-align: center;
  padding: 1vw;
}
.pl_list {
  background-color: #DFC9C9;
}
.pl_list::after {
  content: "";
  position: absolute;
  bottom: -5.5vw; /* 三角形の位置調整 */
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 7.5px solid transparent; /* W15px の半分 */
  border-right: 7.5px solid transparent; /* W15px の半分 */
  border-top: 8px solid #D9D9D9; /* H16px */
}
.pl_end {
  background-color: #CC8985;
}
@media screen and (min-width: 767px) {
  .plan {
      max-width: 40%;
      padding: 1vw;
      margin: 0 auto;
  }
  .pl_list::after {
      content: "";
      position: absolute;
      bottom: -2.5vw; /* 三角形の位置調整 */
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-left: 11.5px solid transparent; /* W15px の半分 */
      border-right: 11.5px solid transparent; /* W15px の半分 */
      border-top: 12px solid #D9D9D9; /* H16px */
  }
  .pl_list {
      margin-bottom: 4vw !important;
  }
}
.blog_wrap {
  background: rgba(232, 215, 210, 0.40);
}
.blog_wrap img {
  display: block;
  margin: 0 auto;
  object-fit: cover;
  margin-bottom: 2vw;
  width: 100%;
  height: auto;
}

.blog_container {
  display: flex;
  flex-wrap: wrap; /* PCで記事が自動的に折り返されるように設定 */
  gap: 1.38vw; /* 記事間の余白 */
  justify-content: space-between; /* PCでの配置調整 */
  overflow-x: hidden; /* デフォルトで横スクロールを無効化 */
  margin-left: 10%;
  margin-right: 10%;
  margin-top: 4.7vw;
  margin-bottom: 7.7vw;
}
.blog {
  margin-bottom: 14vw;
}
@media screen and (max-width: 767px) {
  .blog_heading {
    padding-top: 5vw;
  }
}
@media screen and (min-width: 767px) {
  .blog_heading {
    margin-top: 7vw;
  }
}

/* 各ブログ記事 */
.blog_post li {
  /* flex: 0 1 calc(33.33% - 1.38vw); PCでは3つ横並び */
  box-sizing: border-box;
  background: rgba(232, 215, 210, 0.40);
  padding: 1.6vw; /* 記事内の余白 */
}
.blog_post li a {
  text-align: left;
  color: #513737;
  font-family: "Noto Serif JP";
  font-weight: 700;
  margin: 1vw 0;
  display: block;
}

@media screen and (max-width: 1200px) {
  .blog_post li {
    padding: 2fvw; /* 記事内の余白 */
}
}

/* モバイル用の設定 */
@media screen and (max-width: 768px) {
  .blog_container {
      flex-wrap: nowrap; /* 横並びを維持 */
      overflow-x: auto; /* 横スクロールを有効化 */
      scroll-snap-type: x mandatory; /* スクロールスナップの設定 */
  }

  .blog_post li {
      /* flex: 0 0 90%; モバイルでは1つの記事を横幅90%で表示 */
      margin-right: 10px; /* 横並び用の余白 */
      scroll-snap-align: start; /* スクロール停止位置 */
  }
}
.chiropractorprofile .content .content-in .main {
  padding: 0 10%;
  box-sizing: border-box;
}

/* chiropractorprofile  */
.pr_chiropractor {
  font-size: 2rem;
  color:  #CC8985;
}
.pr_name {
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;	
  font-weight: 800;
  color: #513737;
}
.profile_img img {
  margin-bottom: 5vw;
}
@media screen and (max-width: 768px) {
  .pr_name {
    font-size: 2rem;	
  }
}

/* recommendedtreatment */
.recommendedtreatment .content .content-in .main {
  padding: 0 10%;
  box-sizing: border-box;
}
.reco_title {
  color : #FFF;
  font-size: 3rem;
  font-family: "Noto Serif JP", serif;
 }
 .reco_title_sp {
  color : #513737;
  font-size: 18px;
  font-family: "Noto Serif JP", serif;
  white-space: nowrap;
  font-weight: 600;
  margin: 5vw 0;
  display: block;
 }
 @media screen and (max-width: 768px) {
  .reco_title {
    display: none;
  }
  .recommendedtreatment_top_pc {
    display: none;
  }
 }
 @media screen and (min-width: 768px) {
  .reco_title_sp {
    display: none;
  }
  .recommendedtreatment_top_sp {
    display: none;
  }
 }
.detail_container {
  background-color: #fff;
}
@media screen and (min-width: 768px) {
.de_right {
  margin-left: 4vw;
  padding-top: 4vw;
}
.treatment_content:nth-child(odd)  {
  flex-direction: row-reverse;
}
.treatment_content {
  gap: 0;
}
}
.de_right_2 {
  padding-top: 4vw;
}
.de_left {
  margin: 4vw 4vw 0 0 !important;
}
.detail_container h5 {
  display: inline-block;
  font-weight:bold;
  border-bottom: solid 3px #CC8985;
  margin: 0 auto 30px;
  padding: 0 0 5px 0;
}
@media screen and (max-width: 768px) {
.treatment_content {
  /* position: relative; */
}
.treatment_content .de_right {
  background-color: rgba(255, 255, 255, 0.9);
  /* position: absolute;
  bottom: 0;
  left: 4%;
  right: 0;
  min-height: 75%;
  padding: 20px;
  box-sizing: border-box;
  width: 92%; */
}
.treatment_content .de_left {
  background-color: rgba(255, 255, 255, 0.9);
  /* position: absolute;
  bottom: 0;
  left: 4%;
  right: 0;
  min-height: -75%;
  padding: 20px;
  box-sizing: border-box;
  width: 92%; */
}
.detail_container h5 {
  margin: 0 auto 25px;
  text-align: left;
  /* white-space: nowrap; */
}

}
/* Blog */
.blog .content .content-in .main {
  padding: 0 10%;
  box-sizing: border-box;
}
.single-post .entry-content h2 {
	line-height: 180%;
}
@media screen and (max-width: 768px) {
.single-post .entry-content h2 {
	font-size: 2.2rem;
}
}

.header-container-in {
  top: -100px; /* 最初は画面の外に */
  left: 0;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.9); /* 背景色を薄く */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: top 0.5s ease-in-out; /* なめらかに動く */
}
/* ヘッダーを表示させるクラス */
.header-visible {
  top: 0;
}

.blog-posts li {
  padding-top: 5vw;
}
.blog-posts .wp-block-latest-posts__post-title {
  font-weight: 600;
  line-height: 1.4;
  display: block;
  color: #513737;
}
@media screen and (min-width: 768px) {
/* .wp-block-latest-posts__featured-image img { */
.wp-block-latest-posts__featured-image img {
  　width: 100% !important;
    object-fit: cover;
    object-position: center;
}
.blog-posts .wp-block-latest-posts__post-title {
  font-size: 2.8rem;
}
}
.infomation_posts li {
  border-bottom: 1.3px solid #cc8985;
  padding-bottom: 2.5vw; /* 下線とテキストの間に余白を作る */
}
.infomation_posts time {
  display: block;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .infomation_posts .wp-block-latest-posts__post-title {
    font-size: 2rem;
  }
  .infomation_posts .wp-block-latest-posts__post-excerpt {
    line-height: 1.5;
  }
}