@charset "utf-8";

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:where([hidden]:not([hidden='until-found'])){display:none!important}:where(html){-webkit-text-size-adjust:none;color-scheme:dark light;tab-size:2;scrollbar-gutter:stable}:where(html:has(dialog:modal[open])){overflow:clip}@media (prefers-reduced-motion:no-preference){:where(html:focus-within){scroll-behavior:smooth}}:where(body){line-height:1.5;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(button){all:unset}:where(input,button,textarea,select){font:inherit;color:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled){cursor:not-allowed}:where(label:has(>input:disabled),label:has(+input:disabled)){cursor:not-allowed}:where(a){color:inherit;text-underline-offset:.2ex}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,picture,svg,video){max-inline-size:100%;block-size:auto}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3){line-height:calc(1em + 0.5rem);text-wrap:balance}:where(hr){border:none;border-block-start:1px solid;color:inherit;block-size:0;overflow:visible}:where(dialog){border:none;background:none;inset:unset;max-width:unset;max-height:unset}:where(dialog:not([open])){display:none!important}:where(:focus-visible){outline:3px solid CanvasText;box-shadow:0 0 0 5px Canvas;outline-offset:1px}:where(:focus-visible,:target){scroll-margin-block:8vh}:where(.visually-hidden:not(:focus-within,:active)){clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;border:0!important}

:root {
  --mainColor: #de6a74;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  font-size: 1.6rem;
  font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  color: #70543d;
  line-height: 1.72;
  background: #fffbf5;
}

@media screen and (max-width: 768px) {

}

/*-- --*/
.main {
  max-width: 390px;
  margin: 0 auto;
  position: relative;
  background: #fffbf5;
}

/*-- menu --*/

#menu li {
  border-bottom: 1px solid #fff;
  text-align: center;
}

#menuToggle {
  display: block;
  /* You can also use relative/absolute here if you want to stay on the top */
  position: absolute;
  top: 1em;
  right: 0;
  z-index: 1;
  -webkit-user-select: none;
  user-select: none;
}

#menuToggle a {
  text-decoration: none;
  color: #fff;
  
  transition: color 0.3s ease;
}

#menuToggle a:hover {
  opacity: .8;
}


#menuToggle input {
  display: block;
  width: 40px;
  height: 32px;
  position: absolute;
  top: -7px;
  right: 5px;
  cursor: pointer;
  opacity: 0; /* hide this */
  z-index: 2; /* and place it over the hamburger */
  -webkit-touch-callout: none;
}

/*
 * Just a quick hamburger
 */
#menuToggle span {
  display: block;
  width: 33px;
  height: 4px;
  margin-bottom: 5px;
  position: relative;
  background: #fe91b0;
  border-radius: 3px;
  z-index: 1;
  top: 0;
  left: 290px;
  transform-origin: 4px 0px;
  transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
              background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
              opacity 0.55s ease;
}

#menuToggle span:first-child {
  transform-origin: 0% 0%;
}

#menuToggle span:nth-last-child(2) {
  transform-origin: 0% 100%;
}

/* 
 * Transform all the slices of hamburger
 * into a crossmark.
 */
#menuToggle input:checked ~ span {
  opacity: 1;
  transform: rotate(45deg) translate(-2px, -1px);
  background: #fff;
}

/*
 * But let's hide the middle one.
 */
#menuToggle input:checked ~ span:nth-last-child(3) {
  opacity: 0;
  transform: rotate(0deg) scale(0.2, 0.2);
}

/*
 * Ohyeah and the last one should go the other direction
 */
#menuToggle input:checked ~ span:nth-last-child(2) {
  transform: rotate(-45deg) translate(0, -1px);
}

/*
 * Make this absolute positioned
 * at the top left of the screen
 */
#menu {
  position: relative;/*-- absolute --*/
  max-width:390px;
  width: 100vw;
  max-height: 100vh;
  margin: -100px 0 0 -50px;
  padding: 50px;
  padding-top: 125px;
  box-sizing: border-box;
  overflow-y: auto;
  background: #d25d87;
  list-style-type: none;
  -webkit-font-smoothing: antialiased;
  /* to stop flickering of text in safari */
  transform-origin: 0% 0%;
  transform: translate(0, -100%);
  transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
}

#menu li {
  padding: 10px 0;
  font-size: 22px;
}

#menu li label {
  cursor: pointer;
}

/*
 * And let's slide it in from the left
 */
#menuToggle input:checked ~ ul {
  transform: none;
}

.head{
  width: 100%;
  height: 75px;
}

.head_txt{
  font-size: 10px;
  padding-left: 3px;
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-weight: bold;
  color: #896132;

}
/*-- logo ------------------------------------------*/
.logo {
  position: absolute;
  top: 10px;
  left: 130px;
}

/*-- banner ------------------------------------------*/
.banner {
  width: 331px;
  margin: auto auto 30px;
}

/*-- そんなお悩みをお持ちの方へ ------------------------------------------*/
.sonnaonayami {
  background: #fff;
  padding-bottom: 1em;
}

/*-- 多くの喜びの声を ------------------------------------------*/
.yorokobikoe {
  background: url(img/yorokobikoe_back.png);
  padding-top: 12px;
  padding-bottom: 26px;
}

.yorokobikoe_1 {
  width: 367px;
  margin: auto;
}

.yorokobikoe li {
  margin-bottom: .5em;
}

.yorokobikoe_2 {
  width: 339px;
  margin: auto;
}

.yorokobikoe_2 li {
  margin-bottom: 1em;
}

.yorokobikoe_2 li:last-child {
  margin-bottom: 2em;
}

/*-- 産後1年 ------------------------------------------*/
.sango1year {
  font-size: 1.609rem;
  width: 312px;
  margin: auto;
  text-align: center;
}

.sango1year p {
  margin-bottom: 1em;
}

/*-- ５つの理由 ------------------------------------------*/
.reason5 {
  background: url(img/reason_back.png);
  padding-top: 24px;
  margin-top: 38px;
  padding-bottom: 62px;
}

.reason5 li:not(:last-child) {
  margin-bottom: 3em;
}

/*-- 初回限定 ------------------------------------------*/
.firstOnly {
  padding-top: 26px;
  padding-bottom: 31px;
}

/*-- 流れ ------------------------------------------*/
.flow {
  background: #f9f0f3;
  padding-top: 25px;
  padding-bottom: 50px;
}

.flow_list{
  width: 90%;
  margin: 0 auto;
}

.flow ul li {
  position: relative;
}

.flow ul ul {
  position: absolute;
  top: 60px;
  left: 40px;
}

/*-- FAQ ------------------------------------------*/
.faq {
  padding-top: 20px;
}

.faq dl {
  width: 348px;
  margin: auto;
  font-size: 1.351rem;
}

.faq dt {
  display: flex;
  align-items: center;
  color: #d25d87;
  background: #f9f0f3;
  font-weight: bold;
}
.faq dt img {
  margin-right: .5em;
}

.faq dd {
  background: url(img/A.png) 5px 10px #fff no-repeat;
  padding-left: 2.5em;
  padding-top: .5em;
  padding-right: .5em;
  margin-bottom: 1em;
}

/*-- 整骨院について ------------------------------------------*/

.about {
  background: #fff;
}

.about table {
  width: 300px;
  margin: auto;
}

table , td, th {
	border-collapse: collapse;
}

.incho {
  font-size: 2.44rem;
}

.incho span {
  font-size: 4.28rem;
}

.aisatsu {
  background: url(img/aisatsu_back.png);
  padding-top: 1em;
  padding-bottom: 34px;
  font-size: 1.749rem;
  line-height: 1.42;
}

.aisatsu p {
  width: 314px;
  margin: auto;
}

.footer_logo {
  width: 126px;
  margin: 12px auto;
}

.telBox {
  line-height: 1;
}

.telBox small {
  font-size: 1rem;
}

.detail table {
  width: 310px;
  margin: auto;
}

.detail table tr,
.detail table td {
  border-bottom: 1px solid #70543d;
  padding-top: 12px;
  padding-bottom: 12px;
}

footer {
  background: #d25d87;
  color: #fff;
  text-align: center;
  font-size: 12px;
}

/*-- CTA ------------------------------------------*/
.cta {
  position: relative;
}

.cta ul {
  position: absolute;
  top: 290px;
  left: 30px;
}
.cta_01 {
  position: relative;
}

.cta_01 ul {
  position: absolute;
  top:410px;
  left: 30px;
}



/* ===========================================

fv_txt 

=========================================== */

.fv_txt{
  background: #B39866;
  padding: 5% 2%;
}

/* ===========================================

problem

=========================================== */

.problem_ttl{
  background-image: url(../common/img/2025/problem_bg_sp.png);
  background-size: cover;
  padding: 5% 2%;
}
.problem_gray{
  background: #F2F2F2;
}
.problem_orange{
  background: #ECA167;
  padding: 15px 0;
}
.problem_orange_inner{
  background: #fff;
  width: 95%;
  margin: 0 auto;
  border-radius: 15px;
}
.problem_txt{
  padding: 0px 10px 20px 10px;
  letter-spacing: 7%;
  font-size: 15px;
  max-width: 93%;
  margin: 0 auto;
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-weight: bold;
}
.problem_img_text{
  padding: 5% 2% 0px 2%;
}

.problem_img{
  padding: 0px 2% 5% 2%;
}

.problem_text h2{
  padding: 20px 10px 0px 10px;
  text-align: center;
  font-size: 20px;
  margin-bottom: 20px;
  color: #d25d87;
}

/* ===========================================

future

=========================================== */

.future_img{
  padding-bottom: 5%;
}
.future_ttl{
  padding-top: 5%;
  padding-bottom: 5%;
}
.yorokobikoe_img{
  padding: 5% 0;
}



/* iframe */

iframe{
  width: 100%;
  height: 450px;
}


/* ===========================================

2025/05/26更新

=========================================== */

.sec__fv ul{
  max-width: 90%;
  margin: 30px auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.sec__fv-container{
  position: relative;
}
.sec__fv-container a{
  position: absolute;
  bottom: 20px;
  width: 50%;
  left: 25%;
}

.firstOnly__list{
  padding-top: 20px;
}
.firstOnly__list li a{
  margin: 0 auto;
}
.firstOnly__list li img{
  width: 332px;
  margin: 0 auto;
}


/* ============================================

2025/07/01 修正　口コミ

===============================================*/

.review-section {
  padding: 40px 10px;
  text-align: center;
}

.review-section h2 {
  font-size: 20px;
  margin-bottom: 20px;
  color: #d25d87;
}

.review-container {
  color: #000;
  border-radius: 8px;
}

.review-scroll {
  padding: 10px;
  max-height: 500px;
  text-align: left;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.review-card {
  background: #fff;
  border-radius: 6px;
  padding: 15px;
  border-left: 5px solid #d25d87;
}

.review-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.icon {
  color: white;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 14px;
}

.name {
  font-weight: bold;
  margin: 0;
}

.sub {
  font-size: 12px;
  margin: 0;
  color: #555;
}

.review-stars {
  margin: 4px 0;
  color: #ffa500;
  font-size: 14px;
}

.review-stars span {
  color: #444;
  margin-left: 8px;
}

.review-text {
  font-size: 14px;
  line-height: 1.6;
  white-space: pre-line;
}

.review-btn-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

.review-button {
  text-decoration: none;
  color: white;
  border: none;
  padding: 10px 24px;
  border-radius: 6px;
  font-size: 16px;
  letter-spacing: .07em;
  cursor: pointer;
}


/* ============================================

2025/07/07 修正　Inbody 追加

===============================================*/

.inbody .inbody_item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
  padding: 20px 20px; /* コンテンツ全体の左右余白 */
}

.inbody .inbody_item .img {
  width: 35%;
  max-width: 150px;
  margin-left: 10px; /* ← 画像を右に寄せるための左マージンを追加 */
  margin-right: 10px;   /* 右マージンを減らすまたはゼロに */
}

.inbody .inbody_item .text {
  width: 65%;
  margin-right: auto; /* テキストを左寄せに */
}


.inbody_tittle{
  text-align: center;
}