@charset "utf-8";
html {
	line-height: 1;
	scroll-behavior: smooth;
}
body {
	font-size: 18px;
	font-weight: 400;
	line-height: 180%;
	letter-spacing: 3%;
	font-family: "Zen Maru Gothic", sans-serif;
	color: #636058;
	background-color:#FFFBF3;
}
img {
	width:100%;
}
a:hover {
	opacity: 0.8;
	transition: 0.3s;
}
h1 ,
h2 ,
h3 ,
h4 {
	color:#614B37;
}
.inner {
	width:85%;
	margin:0 auto;
}
.out-inner .inner {
	width:90%;
}
.out-inner {
	width:90%;
	margin:0 auto;	
}

.pc {
	display: block!important;
}
.sp {
	display: none!important;
}
.center {
	text-align: center;
}
.left {
	text-align: left;
}
.right {
	text-align: right;
}
.v-rl {
	writing-mode: vertical-rl;
}
.absolute {
	position: absolute;
}
.relative {
	position: relative;
}
.bg-white {
	background-color:#fff;
}
.bg-cream {
	background-color:#FFF7E8;
}
.text-white {
	color:#fff!important;
}
.pt-0 {
	padding-top: 0px!important;
}
.pt-10 {
	padding-top: 10px!important;
}
.pt-20 {
	padding-top: 20px!important;
}
.pt-30 {
	padding-top: 30px!important;
}
.pt-40 {
	padding-top: 40px!important;
}
.pt-50 {
	padding-top: 50px!important;
}
.pt-60 {
	padding-top: 60px!important;
}
.pt-70 {
	padding-top: 70px!important;
}
.pt-80 {
	padding-top: 80px!important;
}
.pt-90 {
	padding-top: 90px!important;
}
.pt-100 {
	padding-top: 100px!important;
}
.pt-120 {
	padding-top: 120px!important;
}
.pt-140 {
	padding-top: 140px!important;
}
.pt-160 {
	padding-top: 160px!important;
}
.pb-0 {
	padding-bottom: 0!important;
}
.pb-10 {
	padding-bottom: 10px!important;
}
.pb-20 {
	padding-bottom: 20px!important;
}
.pb-30 {
	padding-bottom: 30px!important;
}
.pb-40 {
	padding-bottom: 40px!important;
}
.pb-50 {
	padding-bottom: 50px!important;
}
.pb-60 {
	padding-bottom: 60px!important;
}
.pb-70 {
	padding-bottom: 70px!important;
}
.pb-80 {
	padding-bottom: 80px!important;
}
.pb-90 {
	padding-bottom: 90px!important;
}
.pb-100 {
	padding-bottom: 100px!important;
}
.pb-120 {
	padding-bottom: 120px!important;
}
.pb-140 {
	padding-bottom: 140px!important;
}
.pb-160 {
	padding-bottom: 160px!important;
}
.mt-0 {
	margin-top: 0!important;
}
.mt-10 {
	margin-top: 10px!important;
}
.mt-20 {
	margin-top: 20px!important;
}
.mt-30 {
	margin-top: 30px!important;
}
.mt-40 {
	margin-top: 40px!important;
}
.mt-50 {
	margin-top: 50px!important;
}
.mt-60 {
	margin-top: 60px!important;
}
.mt-70 {
	margin-top: 70px!important;
}
.mt-80 {
	margin-top: 80px!important;
}
.mt-100 {
	margin-top: 100px!important;
}
.mt-120 {
	margin-top: 120px!important;
}
.mt-140 {
	margin-top: 140px!important;
}
.mt-160 {
	margin-top: 160px!important;
}
.mb-0 {
	margin-bottom: 0!important;
}
.mb-10 {
	margin-bottom: 10px!important;
}
.mb-20 {
	margin-bottom: 20px!important;
}
.mb-30 {
	margin-bottom: 30px!important;
}
.mb-40 {
	margin-bottom: 40px!important;
}
.mb-60 {
	margin-bottom: 60px!important;
}
.mb-80 {
	margin-bottom: 80px!important;
}
.mb-100 {
	margin-bottom: 100px!important;
}
.mb-120 {
	margin-bottom: 120px!important;
}
.mb-140 {
	margin-bottom: 140px!important;
}
.mb-160 {
	margin-bottom: 160px!important;
}
.ml-0 {
	margin-left: 0px!important;
}
.ml-20 {
	margin-left: 20px!important;
}
.ml-30 {
	margin-left: 30px!important;
}
.ml-40 {
	margin-left: 40px!important;
}

.mr-0 {
	margin-right: 0px!important;
}
.mr-20 {
	margin-right: 20px!important;
}
.mr-30 {
	margin-right: 30px!important;
}
.mr-40 {
	margin-right: 40px!important;
}
.mr-50 {
	margin-right: 50px!important;
}
.mr-60 {
	margin-right: 60px!important;
}

.br-08 {
	border-radius: 8px;
}
.br-10 {
	border-radius: 10px;
}
.br-20 {
	border-radius: 20px;
}

.flex {
	display: flex;
}
.grid {
	display: grid;
}
.grid-1-1fr {
	grid-template-columns: repeat(1,1fr);
}
.grid-2-1fr {
	grid-template-columns: repeat(2,1fr);
}
.grid-3-1fr {
	grid-template-columns: repeat(3,1fr);
}
.grid-2-2fr {
	grid-template-columns: repeat(2,2fr);
}
.grid-3-2fr {
	grid-template-columns: repeat(3,2fr);
}
.grid-2-3fr {
	grid-template-columns: repeat(2,3fr);
}
.grid-3-3fr {
	grid-template-columns: repeat(3,3fr);
}
.grid-4-2fr {
	grid-template-columns: repeat(4,2fr);
}
.grid-4-3fr {
	grid-template-columns: repeat(4,3fr);
}
.justify-center {
	justify-content: center;
}
.justify-between {
	justify-content: space-between;
}
.justify-around {
	justify-content: space-around;
}
.justify-end {
	justify-content: end;
}
.flex-wrap {
	flex-wrap: wrap;
}
.align-center {
	align-items: center;
}
.align-flex-start {
	align-items: flex-start;
}
.content-center {
	align-content: center;
}
.align-baseline {
	align-items: baseline;
}
.align-end {
	align-items: flex-end;
}
.gap-64 {
	gap:64px;
}
.col-1-2 {
	width:48%;
	margin:0 auto;
}
.col-1-3 {
	width:32%;
	margin:0 auto;
}
.col-2-3 {
	width:64%;
	margin:0 auto;
}
.col-1-4 {
	width:23%;
	margin:0 auto;
}
.col-3-4 {
	width:69%;
	margin:0 auto;
}
.col-1-5 {
	width:18%;
	margin:0 auto;
}
.col-4-5 {
	width:72%;
	margin:0 auto;
}
.col-1-6 {
	width:15%;
	margin:0 auto;
}

/* header */
header {
	position: fixed;
	top:0;
	width:100%;
	z-index: 10;
}
header .logo-area {
	background-color:#fff;
	border-radius: 0 0 40px 0;
	padding: 20px 40px;
}
.gnav {
	background-color: #fff;
	padding: 0px 40px;
	border-radius: 50px;
	margin-right: 40px;
}
.gnav ul {
	display: flex;
	align-items: center;
}
.gnav ul li {
	position: relative;
	text-align: center;
	/*border-right: 1px solid #AAAAAA;*/
}
.gnav ul li::after {
	content: "";
	position: absolute;
	top: 20px;
	right: 0;
	width: 1px;
	height: calc(100% - 40px); /* 上下20pxずつ空ける */
	background: #AAAAAA;
}

/* 最後の線は不要なら消す */
.gnav ul li:last-child::after ,
.dropdown-menu-list li::after {
	display: none;
}
.gnav ul li img {
	height:28px;
	width:auto;
	display: block;
	margin:0 auto;
}

.gnav ul li a {
	display: block;
	font-weight: 500;
	line-height: 175%;
	letter-spacing: 4%;
	padding: 20px 23px;
}
.dropdown-menu {
	position: relative;
}
.gnav ul li ul.dropdown-menu-list {
	display: none;
	opacity: 0;
	position: absolute;
	right: -40px;
	top:95px;
	flex-wrap: wrap;
	padding: 24px 16px;
	gap:14px 32px;
	border-radius: 8px;
	background-color: #FFEDF0;
	width:289px;
}
.gnav ul li ul.dropdown-menu-list li a {
	font-size: 17px;
	font-weight: 500;
	line-height: 18px;
	letter-spacing: 8%;
	color:#403B36;
	padding: 0;
}

/*=============================
.btn-trigger
=============================*/
.humberger-btn {
	top:0px;
	right: 20px;
	z-index: 2;
	position: absolute;
}
.btn-trigger {
  position: relative;
  width: 52px;
  height: 52px;
  cursor: pointer;
  border-radius: 6px;
  margin-top: 4px;
  background-color:#614B37;
}
.btn-trigger span {
  position: absolute;
  left: 10px;
  width: 34px;
  height: 1.5px;
  background-color: #fff;
  border-radius: 3px;
}
.btn-trigger.active {
  background:unset;
}
.btn-trigger.active span {
  width: 28px;
  background-color: #614B37;
}
.btn-trigger, .btn-trigger span {
  display: inline-block;
  transition: all .3s;
  box-sizing: border-box;
}
.btn-trigger span:nth-of-type(1) {
  top: 16px;
}
.btn-trigger span:nth-of-type(2) {
  top: 25px;
}
.btn-trigger span:nth-of-type(3) {
  bottom: 16px;
}


/*=============================
#btn01
=============================*/
#btn01.active span:nth-of-type(1) {
  -webkit-transform: translateY(20px) rotate(-35deg);
  transform: translateY(8px) rotate(-35deg);
}
#btn01.active span:nth-of-type(2) {
  opacity: 0;
}
#btn01.active span:nth-of-type(3) {
  -webkit-transform: translateY(-20px) rotate(35deg);
  transform: translateY(-10px) rotate(35deg);
}

/* sp nav */
.sp-nav-area {
	height: 0vh;
	opacity: 0;
    visibility: hidden;
  	pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    position: relative;
}

.sp-nav-area.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	width:90%;
	height: fit-content;
	background-color:#FCF0DA;
	top:0;
	right:0;
	z-index: 1;
    position: fixed;
    overflow-y: auto;
    border-radius: 0 0 0 25px;
    box-shadow: 0 0 22px rgba(0,0,0,0.2);
}
.sp-nav-area.active ul {
	width:80%;
	margin:20px auto;
}
.sp-nav-area.active ul.sp-nav-sub {
	width:100%;
	padding-left: 10px;
	display: flex;
	flex-wrap: wrap;
	gap:6px 16px;
}
.sp-nav-area.active ul.sp-nav-sub li a {
	font-family: "Noto sans JP", sans-serif;
	font-weight: 400;
}
.sp-nav-area.active ul > li {
	position: relative;
}
.sp-nav-area.active ul > li::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	/* 線の長さを調整 */
	width: 160px;
	border-bottom: 1px dashed #9F8774;
}
.sp-nav-area.active ul.sp-nav-sub > li::after {
	border-bottom: none;
}
.sp-nav-area.active li a {
	font-size:18px;
	font-weight: 500;
	line-height: 180%;
	color: #613B47;
	letter-spacing: 4%;
	padding: 8px 0;
	display: block;
	font-family: "Zen Maru Gothic", sans-serif;
}
.sp-nav-area.active ul.sp-nav-sub li a {
	font-size:16px;
	line-height: 16px;
	color:#614B37;
}
.sp-nav-area.active li a span {
	font-size:15px;
	font-weight: 700;
	line-height: 29px;
	letter-spacing: 9%;
	color:#9BC6DE;
	display: block;
}
.sp-nav-area.active li a img {
	width:17px;
	vertical-align: baseline;
	margin-right: 10px;
}
.humberger-cta-area {
	width:80%;
}
.humberger-cta-area .flex {
	gap:12px;
}
.humberger-cta-area .tel-cta {
	font-size:22px;
	letter-spacing: 4%;
	line-height: 140%;
	color:#fff;
	padding:8px 32px;
	background:linear-gradient(45deg,#F59EC0,#EEAFF2);
	border-radius: 68px;
	margin-bottom: 10px;
	display: inline-block;
}
.humberger-cta-area .web-cta {
	font-size:20px;
	letter-spacing: 4%;
	line-height: 140%;
	color:#fff;
	padding:12px 24px;
	background:linear-gradient(45deg,#F59EC0,#EEAFF2);
	border-radius: 68px;
}
.humberger-cta-area a img {
	width: 24px;
	margin-right: 16px;
}

.humberger-cta-area .mail-cta img {
	width:55px;
	margin-right: 0;
}
.sp-nav-inner {
	z-index: 1;
	padding: 40px 0;
}
.bg-humberger {
	position: absolute;
	top:0;
	width:100%;
	z-index: 0;
}
/* common */
.ttl-area h2 {
	font-size:45px;
	letter-spacing: 5%;
	font-weight: 600;
	margin-bottom: 10px;
}
.ttl-area .en {
	font-size:22px;
	letter-spacing: 5%;
	font-weight: 500;
	color:#FF8D9A;
}
.btn {
	font-size:18px;
	font-weight: 700;
	letter-spacing: 2%;
	display: inline-block;
	margin-top: 40px;
	width:262px;
	height: 48px;
	color:#fff;
	background-color: #614B37;
	align-content: center;
	text-align: center;
	border-radius: 10px;
}
.btn img {
	width:24px;
	height: auto;
	vertical-align: text-bottom;
	margin-left: 10px;
}
.btn:hover img {
	transform: translateX(4px);
	transition: all 0.3s;
}
/* fv */
.fv {
	padding: 60px 20px 40px 60px;
	z-index: 2;
}
.fv .bg-fv {
	position: relative;
	z-index: 0;
	border-radius: 39px;
}
.fv .catchcopy-area {
	position: absolute;
	bottom:10%;
	left:10%;
}
.fv h1 {
	font-size:45px;
	font-weight:500;
	line-height: 100%;
	letter-spacing: 8%;
	font-family: "Zen Maru Gothic", sans-serif;
	border-radius: 4px;
}
.fv h1 span.bg-white {
	display: inline-block;
	padding: 16px 12px;
	margin-bottom: 16px;
	border-radius: 4px;
}
.fv h1 span.text-baige {
	color:#D3B39A;
}
.fv h1 .num-upright {
	text-combine-upright: all;
}
.fv h1 .mt-1em {
	margin-top:1em;
}
.fv h1 .h1-line {
	border-left:3px solid #E4F2FA;
}
.fv .sub-catchcopy-area {
	position: absolute;
	bottom: 32%;
	left:25%;	
}
.fv .sub-catchcopy-area p {
	font-size: 33px;
	font-weight: 500;
	line-height: 200%;
	letter-spacing: 5%;
	font-family: "Zen Maru Gothic", sans-serif;
	color:#fff;
}
.cta-area {
	position: fixed;
	bottom: 10px;
	right: 40px;
	z-index: 9;
}
.cta-area .flex {
	gap:7px;
}
.cta-area img {
	width:28px;
	height: auto;
	vertical-align: text-bottom;
}
.cta-area .mail-cta img {
	width:58px;
	height: auto;
}
.cta-area .tel-cta ,
.cta-area .web-cta  {
	border-radius: 99px;
	padding: 12px 24px;
}
.cta-area .tel-cta ,
.cta-area .web-cta {
	color:#fff;
	font-size: 27px;
	font-weight: 500;
	line-height: 140%;
	letter-spacing: 4%;
	background:linear-gradient(45deg,#F59EC0,#EEAFF2);
}
.cta-area .tel-cta img ,
.cta-area .web-cta img {
	margin-right: 8px;
}
.fv-leaf {
	position: absolute;
	bottom: -90px;
	left:-20px;
	width:284px;
}
/* concept */
.concept {
	padding: 96px 0;
}
.bg-fv-concept {
	position: absolute;
	/*top:30%;*/ top:20%;
	width:100%;
	z-index: 0;
}
.concept .inner {
	z-index: 2;
}
.concept .image-left-area ,
.concept .image-right-area {
	width:25%;
	text-align: center;
}
.concept .image-left-area img ,
.concept .image-right-area img {
	width:250px;
}
.concept .image-left-area img {
	margin-top: 120px;
}
.concept .image-right-area .concept-acorn {
	position: absolute;
	bottom: -56px;
	left:40px;
	width:100px;
}
.concept .detail-area {
	width:40%;
}

.concept .ttl-area h2 {
	font-size:36px;
	letter-spacing: 5%;
	font-weight: 700;
	margin-bottom: 10px;	
	padding-bottom: 20px;
	border-bottom:2px dashed #614B37;
}
.concept-h3-area h3 {
	font-size: 27px;
	font-weight: 500;
	line-height: 175%;
	letter-spacing: 4%;
	width:70%;
	margin:20px 0;
}
.concept-h3-area img {
	width:60px;
}

/* feature */
.feature {
	padding: 54px 0 114px;
}
.feature .inner {
	width:70%;
}
.feature .ttl-area h2 {
	font-size:40px;
	margin-bottom: 40px;
}
.feature .grid {
	gap:40px;
}
.feature .feature-box {
	padding: 32px 40px;
	border-radius: 24px;
	background-color: #FFDEE3;
	box-shadow: 0 0 16px rgba(96, 74, 56,0.08)
}
.feature .feature-box .num {
	font-size: 58px;
	font-weight: 700;
	line-height: 120%;
	letter-spacing: 5%;
	color:#fff;
	-webkit-text-stroke: 1px #89715C;
	paint-order: stroke;
	position: absolute;
	top:-30px;
	right: 10px;
}
.feature .feature-box h3 {
	text-align: center;
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 20px;
}
.feature .feature-box p {
	font-family: "Noto sans JP", sans-serif;
}
.feature .feature-box img {
	margin-bottom: 20px;
}
.feature .feature-box.second {
	top: 60px;
}
.feature-01-leaf ,
.feature-02-leaf ,
.feature-03-leaf {
	position: absolute;
}
.feature-01-leaf {
	top:-40px;
	left:-40px;
	width:130px;
}
.feature-02-leaf {
	bottom:-40px;
	left:-20px;
	width:60px;
}
.feature-03-leaf {
	bottom:-40px;
	right:-40px;
	width:90px;
}

/* movie */
.movie {
	padding: 80px 0;
}
.movie .detail-area {
	width:65%;
	margin: 0 auto;
}
.movie .detail-area .flex {
	gap:20px;
	margin-bottom: 20px;
}
.movie .detail-area .flex img {
	width:80px;
	height: auto;
}
.movie .ttl-area h2 {
	font-size:40px;
	margin-bottom: 20px;
}
.movie .ttl-area h3 {
	font-size:27px;
}
.movie .detail-area p {
	font-family: "Noto sans JP", sans-serif;
}
.movie-h3-wave {
	margin-bottom: 40px;
}
.movie .sec-tag {
	font-size:50px;
	font-weight: 500;
	letter-spacing: 24%;
	writing-mode: vertical-rl;
	position: absolute;
	left: 0;
	top:20%;
	background-color:#F9EDD3;
	border-top:8px solid #EFDDB4; 
	border-bottom:8px solid #EFDDB4;
	border-radius: 0 8px 8px 0;
	padding: 80px 40px;
}

/* medical */
.medical {
	padding: 96px 0;
	position: relative;
}
.bg-medical {
	position: absolute;
	top:30%;
	width:100%;
	z-index: 0;
}
.medical .inner {
	width:70%;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.medical .ttl-area {
	width: fit-content;
	margin: 0 auto 40px;
}
.medical-leaf {
	position: absolute;
	top: -28px;
	right: -100px;
	width: 85px;
}
.medical .grid {
	gap:4px;
}
.medical .medical-box {
	padding: 20px;
	background-color: #FFDEE3;
	text-align: center;
	position: relative;
	display: block;
	height: 100%;
	box-sizing: border-box;
}
.medical ul li:nth-child(1) .medical-box {
	border-radius: 20px 0 0 0;
}
.medical ul li:nth-child(4) .medical-box {
	border-radius: 0 20px 0 0;
}
.medical ul li:nth-child(5) .medical-box {
	border-radius: 0 0 0 20px;
}
.medical ul li:nth-child(8) .medical-box {
	border-radius: 0 0 20px 0;
}
.medical .medical-box h3 {
	color:#fff;
	background-color: #614B37;
	border-radius: 64px;
	padding: 16px 24px;
	font-size: 22px;
	line-height: 20px;
	margin-bottom: 40px;
}
.medical ul li:nth-child(7) .medical-box h3 {
	margin-bottom: 21px;
}
.medical .medical-box img {
	width:106px;
}
.medical .medical-box .medical-arrow {
	position: absolute;
	bottom: 8px;
	right: 8px;
	width:24px;
}

/* treatment */
.treatment {
	padding: 0 0 96px;
}
.treatment .inner {
	border-radius: 240px;
	background: linear-gradient(45deg,#FAEBCE,#F3E7CF);
	padding: 80px 0;
}
.treatment-inner-leaf {
	position: absolute;
	top:0;
	right: 140px;
	width:140px;
}
.treatment .content-inner {
	width:82%;
	margin:0 auto;
}
.treatment .ttl-area {
	width:fit-content;
	margin:0 auto 40px;
}
.treatment .ttl-area .sub-ttl {
	color:#fff;
	font-size: 32px;
	font-weight: 500;
	letter-spacing: 5%;
	margin-bottom: 10px;
	display: flex;
}
.treatment .ttl-area .sub-ttl span {
	width:45px;
	height: 45px;
	display: inline-block;
	border-radius: 50%;
	background-color: #614B37;
	text-align: center;
	align-content: center;
}
.treatment .ttl-area .sub-ttl span + span {
	margin-left: -5px;
}
.treatment .grid {
	gap:16px 12px;
}
.treatment-leaf {
	width:80px;
	position: absolute;
	top: -10px;
	left: -100px;

}
.treatment-box {
	padding: 16px;
	gap:20px;
	background-color: #fff;
	border-radius: 32px;
	border:1px solid #614B37;
	max-height: 103px;
}
.treatment-box p {
	font-size: 22px;
	font-weight: 500;
}
.treatment-item-leaf {
	width:40px;
}
.treatment-arrow {
	width:28px;
}
.treatment-box:hover .treatment-arrow {
	transition: all 0.3s;
	transform: translateX(5px);
}
/* greeting */
.greeting {
	padding: 140px 0 120px;
	position: relative;
}
.bg-greeting {
	position: absolute;
	top:-5%;
	width:100%;
}
.greeting-acorn {
	position:absolute;
	width:102px;
	top:-2%;
	left:18%;
}
.greeting .inner {
	width:70%;
	position: relative;
	z-index: 2;
}
.greeting .image-area {
	width:30%;
	margin-bottom: -100px;
}
.greeting .image-area .doctor-img {
	width:324px;
}
.greeting .image-area .doctor-leaf {
	position: absolute;
	bottom: -40px;
	left:-70px;
	width:270px;
}
.greeting .image-area .name-area {
	width:fit-content;
	margin:0 0 0 auto;
	font-family: "Noto sans JP", sans-serif;
	text-align: center;
}
.greeting .image-area .name-area .doctor-name {
	font-size:22px;
	line-height: 120%;
	letter-spacing: 3%;
}
.greeting .image-area .name-area .doctor-name span {
	font-size: 18px;
}
.greeting .image-area .name-area .en {
	font-size: 18px;
	line-height: 180%;
	letter-spacing: 3%;
	color:#FF8D9A;
}
.greeting .detail-area {
	width:55%;
}
.greeting .detail-area .ttl-area {
	margin-bottom: 40px;
}
.greeting .detail-area p {
	font-family: "Noto sans JP", sans-serif;	
}
.greeting .slide-img-area {
	padding-left: 20px;
	margin-top: 100px;
}
.slide-leaf {
	position: absolute;
	bottom: -50px;
	left:-10px;
	width:240px;
}
/* instagram */
.instagram {
	padding: 96px 0;
}
.instagram .follow-area {
	width:25%;
	margin:0 0 0 auto;
}
.instagram .follow-area .fukidashi {
	font-size: 27px;
	font-weight: 500;
	letter-spacing: 5%;
	color:#614B37;
	margin-bottom: 20px;
}
.instagram .follow-area .insta-icon {
	width:80px;
	margin-bottom: 10px;
}
.instagram .follow-area h2 {
	font-size: 45px;
	font-weight: 500;
	letter-spacing: 5%;
	margin-bottom: 40px;
}
.instagram .follow-area .follow-link {
	font-size: 27px;
	font-weight: 500;
	letter-spacing: 5%;
	color:#FF8D9A;
	display:inline-block;
	margin-bottom: 40px;
	padding: 12px;
	background-color: #fff;
	border-radius: 4px;
}
.instagram .follow-area .feed-arrow-area {
	margin-left: 40px;
}
.bg-arrow-circle {
	width:48px;
	height: 48px;
	border-radius: 50%;
	background-color: #614B37;
	align-content: center;
	display: block;
	margin: 0 10px;
}

.insta-left-arrow ,
.insta-right-arrow {
  display: inline-block;
  color: #fff;
  line-height: 1;
  position: relative;
  width: 14px;
  height: 14px;
}
.insta-left-arrow {
  transform: translateX(25%) rotate(-135deg);
}
.insta-right-arrow {
  transform: translateX(-25%) rotate(45deg);
}

.insta-left-arrow::before, .insta-left-arrow::after ,
.insta-right-arrow::before, .insta-right-arrow::after {
  content: '';
  position: absolute;
  background: currentColor;
  border-radius: 2px;
}

.insta-left-arrow::before ,
.insta-right-arrow::before {
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
}

.insta-left-arrow::after ,
.insta-right-arrow::after {
  top: 0;
  right: 0;
  bottom: 0;
  width: 2px;
}
.instagram .feed-area {
	width:70%;
}
/* news */
.news {
	padding: 96px 0 166px;
}
.news .ttl-area {
	width:30%;
}
.news .news-area {
	width:70%;
}
.news .news-area ul li {
	margin-bottom: 20px;
}
.news .news-area ul li:last-child {
	margin-bottom: 0px;
}
.news .news-area ul li a {
	padding: 24px;
	background-color: #fff;	
	border-radius: 10px;
	width:100%;
	display: inline-block;
}
.news .news-area ul li a span {
	margin-right: 48px;
}
.news .news-area .news-leaf {
	position: absolute;
	right: -80px;
	bottom: -80px;
	width:187px;
	height: auto;
}

/* image-area */
.image-area .clinic-img {
	margin-top:-70px;
}
/* info */
.info {
	padding: 120px 0 96px;
	font-family: "Noto sans JP", sans-serif;
}
.info .grid {
	gap:80px;
}
.info .ttl-area {
	text-align: center;
	font-family: "Zen Maru Gothic", sans-serif;
}
.info .ttl-area h2 {
	font-size:32px;
	letter-spacing: 5%;
	font-weight: 600;
	margin-bottom: 10px;
}
.info .ttl-area .en {
	width:fit-content;
	margin:0 auto 40px;
	padding-bottom: 20px;
	border-bottom:2px dashed #614B37; 
}
.infomation-area table {
	width:100%;
	margin-bottom:20px;
}
.infomation-area table tr th ,
.infomation-area table tr td {
	font-size:20px;
	font-weight: 500;
	line-height: 180%;
	letter-spacing: 3%;
	padding: 20px 0;
	text-align: center;
	width:10%;
}
.infomation-area table tr th {
	background-color: #FFEDF0;
}
.infomation-area table tr td {
	background-color: #fff;
}
.infomation-area table tr th:nth-child(1) ,
.infomation-area table tr td:nth-child(1) {
	text-align: left;
	padding-left: 16px;
	width:30%;
}
.access-area p {
	font-size: 18px;
	line-height: 32px;
	letter-spacing: 3%;
}
.access-area p img {
	width:24px;
	height: auto;
	vertical-align: text-bottom;
	margin-right: 10px;
}
.access-area iframe {
	width:100%;
	aspect-ratio:5 / 3;
	margin-top: 20px;
}
/* footer */
footer {
	background-color: #FFFFFF;
	padding: 40px 80px 20px;
	font-family: "Noto Sans JP", sans-serif;
}
footer .border-top {
	padding-top: 16px;
	border-top:1px solid rgba(99, 96, 88,0.32);
}
footer .link-area ul {
	display: flex;
	gap:24px; 
}
footer .link-area ul li {
	font-size:16px; 
}
footer small {
	font-size:14px;
	color:#636058;
}
footer .footer-link-area {
	width:35%;
}
footer .footer-link-area .footer-link {
	width:40%;
}
footer .footer-link h3 {
	font-size:22px;
	font-weight: 500;
	line-height: 175%;
	letter-spacing: 9%;
	color:#435159;
	font-family: "Zen Maru Gothic", sans-serif;
	margin-bottom: 20px;
}
footer .footer-link ul li a {
	font-weight: 500;
	line-height: 220%;
	letter-spacing: 9%;
	color: #7D8E97;
	font-family: "Zen Maru Gothic", sans-serif;
}

/* template */
body .under {
	font-family: "Noto sans JP" , sans-serif;
	font-size: 16px;
	line-height: 160%;
}
.eyecatch {
	text-align: center;
	align-content: center;
	height: 420px;
}
.eyecatch h1 {
	color:#fff;
	font-size:45px;
	line-height: 120%;
	letter-spacing: 8%;
}

.under .ttl-area h2 {
	font-size: 40px;
	font-weight: 600;
	line-height: 114%;
	letter-spacing: 2%;
	font-family: "Zen Maru Gothic" , sans-serif;
	padding-bottom: 20px;
	margin-bottom: 40px;
	border-bottom:2px dashed #9F8774;
	display: flex;
	justify-content: center;
	align-items: center;
}

.under .ttl-area h2 img {
	width:52px;
	margin-right: 20px;
}

/* feature-sec */
.feature-sec {
	padding: 80px 0;
}
.feature-sec-box {
	padding: 48px;
	background-color:#FBF1DC;
	border-radius: 20px;
	margin-bottom: 40px;
}
.feature-sec-box:last-child {
	margin-bottom: 0;
}
.feature-sec-box h3 {
	font-size:27px;
	font-weight: 500;
	line-height: 114%;
	letter-spacing: 2%;
	display: flex;
	align-items: center;
	font-family: "Zen Maru Gothic",sans-serif;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom:2px dashed #9F8774;
}
.under-ttl-leaf {
	width:36px;
	margin-right: 10px;
}

/* strength-sec */
.strength-sec {
	padding:80px 0;
}
.strength-sec-box {
	padding:48px;
	border-radius: 20px;
	background-color: #FFEDF0;
}
.strength-sec-box h3 {
	font-size:32px;
	font-weight: 500;
	line-height: 114%;
	letter-spacing: 2%;
	margin-bottom: 40px;
	font-family: "Zen Maru Gothic" , sans-serif;
	display: flex;
	align-items: center;
}
.strength-sec-box h3 .num {
	font-size:36px;
	color:#fff;
	text-align: center;
	align-content: center;
	display: inline-block;
	width:58px;
	height:58px;
	margin-right: 10px;
	border-radius: 50%;
	background-color: #614B37;
}
.strength-sec-box h4 {
	font-size: 27px;
	font-weight: 500;
	line-height: 114%;
	letter-spacing: 2%;
	font-family: "Zen Maru Gothic" , sans-serif;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
}
.strength-sec-box .white-box {
	padding:24px;
	border-radius: 16px;
	background-color: #fff;
	margin-bottom: 20px;
}
.strength-sec-box .white-box:last-child {
	margin-bottom: 0;
}
.strength-sec-box .white-box h5 {
	font-size: 22px;
	font-weight: 500;
	line-height: 114%;
	letter-spacing: 2%;
	font-family: "Zen Maru Gothic" , sans-serif;
	margin-bottom: 10px;	
}

/* facility-sec*/
.facility-sec {
	padding:80px 0;
}
.facility-sec .grid {
	gap:80px;
}
.facility-sec-box {
	background-color: #fff;
	border-radius: 0 0 16px 16px;
}
.facility-sec-box .detail-area {
	padding:32px;
}
.facility-sec-box .detail-area h3 {
	font-size:27px;
	font-weight: 500;
	line-height: 114%;
	letter-spacing: 2%;
	font-family: "Zen Maru Gothic" , sans-serif;
	margin-bottom: 10px;
}

/* greeting-sec */
.greeting-sec {
	padding:96px 0 240px;
}
.greeting-sec .inner {
	width:70%;
	position: relative;
	z-index: 2;
}
.greeting-sec .image-area {
	width:30%;
	margin-bottom: -200px;
}
.greeting-sec .image-area .doctor-img {
	width:324px;
}
.greeting-sec .image-area .doctor-leaf {
	position: absolute;
	bottom: -40px;
	left:-70px;
	width:270px;
}
.greeting-sec .image-area .name-area {
	width:fit-content;
	margin:0 0 0 auto;
	font-family: "Noto sans JP", sans-serif;
	text-align: center;
}
.greeting-sec .image-area .name-area .doctor-name {
	font-size:22px;
	line-height: 120%;
	letter-spacing: 3%;
}
.greeting-sec .image-area .name-area .doctor-name span {
	font-size: 18px;
}
.greeting-sec .image-area .name-area .en {
	font-size: 18px;
	line-height: 180%;
	letter-spacing: 3%;
	color:#FF8D9A;
}
.greeting-sec .detail-area {
	width:55%;
}
.greeting-sec .detail-area .ttl-area {
	margin-bottom: 40px;
}
.greeting-sec .detail-area p {
	font-family: "Noto sans JP", sans-serif;	
}
.history-area {
	padding:48px;
	background-color: #FFF7EB;
	margin-top: 200px;
	border-radius: 20px;
}
.history-area h3 {
	font-size: 27px;
	font-weight: 500;
	line-height: 114%;
	font-family: "Zen Maru Gothic" , sans-serif;
	margin-bottom: 30px;	
}
.history-area table {
	width:100%;
}
.history-area table tr th {
	width:20%;
}
.history-area table tr th ,
.history-area table tr td {
	padding:6px 0;
	line-height: 180%;
}
.history-area ul li {
	line-height: 180%;
	padding:6px 0;
}
.history-area ul li span {
	color:#FF8D9A;
	margin-right: 10px;
}

/* staff-sec */
.staff-sec {
	padding: 40px 0 96px;
}
.staff-sec .grid {
	gap:40px;
}
.staff-box {
	background-color: #fff;
	border-radius: 0 0 20px 20px;
}
.staff-box .detail-area {
	padding: 29px;
}
.staff-box .detail-area .job-tag {
	color:#fff;
	padding: 0 4px;
	border-radius: 4px;
	background-color: #FF8D9A;
	color:#fff;
	display: inline-block;
	margin-bottom: 6px;
}
.staff-box .detail-area p {
	font-size: 18px;
	line-height: 180%;
	letter-spacing: 3%;
}
.staff-box .detail-area .name {
	font-size: 27px;
	font-weight: 500;
	line-height: 114%;
	letter-spacing: 2%;
	color:#6a4B37;
	font-family: "Zen Maru Gothic" , sans-serif;
	margin-bottom: 10px;
}

/* about-sec */
.about-sec {
	padding: 48px 0;
}
.about-box {
	padding: 40px 80px;
	border-radius: 20px;
	background-color: #FFF7E8;
}
.about-box .grid {
	gap:40px;
}
.about-box h2 img {
	width:240px!important;
}
.about-box table {
	width:90%;
	margin:0 auto;
}
.about-box table tr th ,
.about-box table tr td {
	padding: 12px 0;
}
.about-box table tr th {
	font-size:22px ;
	font-weight: 500;
	line-height: 114%;
	letter-spacing: 2%;
	font-family: "Zen Maru Gothic" , sans-serif;
	color:#614B37;
	width:20%;
}
.about-box table tr td {
	font-size: 18px;
	line-height: 180%;
	letter-spacing: 3%;
}
/* access-sec */
.access-sec {
	padding: 48px 0;
}
.access-sec iframe {
	width:100%;
	aspect-ratio:5 / 3;
	margin-bottom: 40px;
}
.access-sec .grid {
	gap:24px;
	margin-bottom: 20px;
}
.access-box {
	padding: 40px;
	background-color: #fff;
	border-radius: 20px;
}
.access-box h3 ,
.pink-box h3 {
	display: flex;
	align-items: center;
	font-size: 22px;
	font-weight: 500;
	line-height: 114%;
	letter-spacing: 2%;
	font-family: "Zen Maru Gothic" , sans-serif;
	margin-bottom: 20px;
}
.access-box h3 img {
	width:38px;
	margin-right: 10px;
}
.access-box p {
	font-size:18px;
	line-height: 180%;
}
.pink-box {
	padding: 40px;
	border-radius: 14px;
	background-color: #FFEDF0;
}
.pink-box h3 img {
	width:33px;
	margin-right: 10px;
}
/* fee-sec */
.fee-sec {
	padding: 48px 0;
}
.fee-sec table {
	width:90%;
	margin:0 auto 40px;
	border-radius: 20px;
}
.fee-sec table tr:nth-child(even) {
	background-color: #fff;
}
.fee-sec table tr:nth-child(odd) {
	background-color: #F9F5EC;
}
.fee-sec table tr th ,
.fee-sec table tr td {
	padding: 24px;
}
.fee-sec table tr th {
	background-color: #FFEDEF;
	font-size: 22px;
	font-weight: 500;
	line-height: 114%;
	letter-spacing: 2%;
	font-family: "Zen Maru Gothic" , sans-serif;
}
.fee-sec table tr td {
	font-size: 20px;
	font-weight: 500;
	line-height: 114%;
	letter-spacing: 2%;
	font-family: "Zen Maru Gothic" , sans-serif;
}
.fee-sec table tr td:nth-child(even) {
	font-size: 18px;
	font-family: "Noto sans JP",sans-serif;
}
.fee-sec table tr th:nth-child(1) {
	border-radius: 20px 0 0 0;
	width:30%;
}
.fee-sec table tr th:nth-child(2) {
	border-radius: 0 20px 0 0;
}
.fee-sec table tr td.br-lb-20 {
	border-radius: 0 0 0 20px;
}
.fee-sec table tr td:last-child {
	border-radius: 0 0 20px 0;
}

/* consideration-sec */
.consideration-sec {
	padding: 48px 0;
}
.consideration-sec .grid {
	gap:48px;
}
.consideration-sec .detail-area h3 {
	font-size:32px;
	font-weight: 500;
	line-height: 114%;
	letter-spacing: 2%;
	font-family: "Zen Maru Gothic" , sans-serif;
	margin-bottom: 40px;
}
.consideration-sec .detail-area p {
	font-size:18px;
	line-height: 180%;
	letter-spacing: 3%;
}
.consideration-sec .detail-area .white-box {
	background-color: #fff;
	padding: 24px;
	border-radius: 16px;
	margin-bottom: 12px;
}
.consideration-sec .detail-area .white-box h4 {
	font-size:22px;
	font-weight: 500;
	line-height: 114%;
	letter-spacing: 2%;
	font-family: "Zen Maru Gothic" , sans-serif;
	margin-bottom: 20px;
}
.consideration-sec .pink-box h3 {
	font-size: 27px;
}

/* reserve-sec */
.reserve-sec {
	padding:48px 0;
}
.reserve-sec .inner {
	padding: 80px 40px;
	border-radius: 40px;
	background-color: #FFF7E8;
}
.reserve-sec .inner .ttl-area h2 {
	margin-bottom: 20px;
}
.reserve-sec .lead {
	font-size: 22px;	
	font-family: "Zen Maru Gothic" , sans-serif;
	font-weight: 500;
	line-height: 180%;
	letter-spacing: 2%;
	color:#614B37;
	margin-bottom: 20px;
}
.reserve-btn-area .web-btn {
	padding: 32px;
	border-radius: 24px;
	background-color: #BF997A;
	color:#fff;
	font-size:32px;
	line-height: 120%;
	letter-spacing: 2%;
	font-family: "Zen Maru Gothic" , sans-serif;
	display: flex;
	align-items: center;
	justify-content: center;
	width:650px;
	margin:0 auto 20px;
}
.reserve-btn-area .web-btn img {
	width:28px;
	margin-right: 10px;
}
.reserve-btn-area .tel-btn {
	padding: 32px 40px;
	border-radius: 24px;
	background-color: #FFDEE3;
	display: block;
	width: 650px;
	margin:0 auto 20px;
}
.reserve-btn-area .tel-btn p {
	font-family: "Zen Maru Gothic" , sans-serif;
}
.reserve-btn-area .tel-btn .tel-txt {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	font-weight: 600;
	line-height: 114%;
	letter-spacing: 2%;
	margin-bottom: 20px;
}
.reserve-btn-area .tel-btn .tel-txt img {
	width:28px;
	margin-right: 10px;
}
.reserve-btn-area .tel-btn p.noto {
	font-family: "Noto sans JP" , sans-serif;
	line-height: 180%;
	letter-spacing: 3%;
}

/* news-sec */
.news-sec {
	padding: 80px 0;
}
.news-sec ul li a {
	display: block;
	padding: 12px 0;
	border-bottom: 1px solid #C5BFBF;
	font-size:18px;
	font-family: "Noto sans JP" , sans-serif;
}
.news-sec ul li a span {
	font-size:16px;
	padding: 3px 10px;
	border-radius: 4px;
	background-color: #FF8D9A;
	color:#fff;
	display: inline-block;
	margin: 0 40px;
}
.page-numbers {
	width:60px;
	height: 60px;
	display: inline-block;
	border-radius: 4px;
	box-shadow: 0 0 16px rgba(0,0,0,0.08);
	background-color: #614B37;
	color:#fff;
	font-size: 22px;
	text-align: center;
	align-content: center;
	margin:40px 6px 0;
}
.page-numbers.current {
	background-color: #fff;
	color:#614B37;
}
.pagenation-area {
	text-align: center;
}

@media (1160px <= width < 1280px) {
	.gnav ul li a {
		padding: 0 10px;
	}
}
@media (769px <= width < 1159px) {
	.logo {
		width:180px;
	}
	.gnav ul li a {
		padding: 0 10px;		
	}
	.gnav ul li.reserve-btn a {
		width:104px;
	}
	.gnav ul li a ,
	.gnav ul li.reserve-btn a ,
	.gnav ul li.reserve-btn a span {
		font-size:14px;
	}
	.gnav ul li.tel-num img {
		width: 12px;
	}
	.gnav ul li.reserve-btn img {
		width: 14px;		
	}
	header .container {
		padding: 20px 10px;
	}
	.fv h1 {
		font-size: 36px;
	}
	.fv .sub-catchcopy-area p {
		font-size: 18px;
	}
	.circle p {
		font-size:20px;
		width:120px;
		height: 120px;
	}
	.circle p span {
		font-size:16px;
	}
	.circle img {
		width:128px;
		height: 128px;
		left:3px;
	}
	.up.circle img {
		left:75px;
	}
	.bottom.circle p {
		margin: 0 10px;
	}
	.feature-sec .feature-img {
		width:30%;
		bottom:10%;
	}
	.medical-sec .medical-box .img-area h3 {
		font-size: 1.6vw;
		bottom:20px;
	}
	.cv-sec .inner {
		width:90%;
	}
	.cv-sec .reserve-area {
		line-height: 27px;
	}
	footer .footer-link-area {
		width:48%;
	}
}
@media (769px <= width < 1319px) {
	.cv-sec .tel-area ,
	.cv-sec .reserve-area ,
	.cv-sec .reserve-area .jp-txt {
		font-size:2.6vw;
	}
	footer {
		padding-top: 320px;
	}
}
@media screen and (max-width: 768px) {
	body {
		font-size: 17px;
	}
	.inner {
		width:90%;
	}
	.pc {
		display: none!important;
	}
	.sp {
		display: block!important;
	}
	.pt-0-sp {
		padding-top: 0px!important;
	}
	.pt-10-sp {
		padding-top: 10px!important;
	}
	.pt-20-sp {
		padding-top: 20px!important;
	}
	.pt-30-sp {
		padding-top: 30px!important;
	}
	.pt-40-sp {
		padding-top: 40px!important;
	}
	.pt-60-sp {
		padding-top: 60px!important;
	}
	.pt-80-sp {
		padding-top: 80px!important;
	}
	.pb-0-sp {
		padding-bottom: 0px!important;
	}
	.pb-10-sp {
		padding-bottom: 10px!important;
	}
	.pb-20-sp {
		padding-bottom: 20px!important;
	}
	.pb-30-sp {
		padding-bottom: 30px!important;
	}
	.pb-40-sp {
		padding-bottom: 40px!important;
	}
	.pb-60-sp {
		padding-bottom: 60px!important;
	}
	.pb-80-sp {
		padding-bottom: 80px!important;
	}
	.pb-100-sp {
		padding-bottom: 100px!important;
	}
	.m-0-sp {
		margin: 0!important;
	}
	.mt-10-sp {
		margin-top:10px!important;
	}
	.mt-20-sp {
		margin-top:20px!important;
	}
	.mt-30-sp {
		margin-top:30px!important;
	}
	.mt-40-sp {
		margin-top:40px!important;
	}
	.mt-60-sp {
		margin-top:60px!important;
	}
	.mb-10-sp {
		margin-bottom:10px!important;
	}
	.mb-20-sp {
		margin-bottom:20px!important;
	}
	.mb-30-sp {
		margin-bottom:30px!important;
	}
	.mb-40-sp {
		margin-bottom:40px!important;
	}
	.mb-60-sp {
		margin-bottom:60px!important;
	}
	.flex-wrap-sp {
		flex-wrap: wrap;
	}
	.flex-reverse-sp {
		flex-direction: column-reverse;
	}
	.col-1-2 ,.col-1-3 ,.col-2-3 ,.col-1-4 ,.col-3-4 ,.col-1-5 ,.col-4-5 {
		width:100%;
		margin:0;
	}
	header .logo-area .logo {
		width:220px;
	}
	header .logo-area {
		padding:8px 4px;
		border-radius:0 0 20px 0;
	}
	header .container {
		padding: 0;
		box-shadow: 0 0 10px rgba(0,0,0,0.05);
	}
	/* common */
	.ttl-area h2 {
		font-size:32px;
		margin-bottom: 10px;
	}
	.ttl-area .en {
		font-size:16px;
	}
	.btn {
		margin-top: 0;
		border-radius: 8px;
		margin:0 0 0 auto;
	}
	.btn:hover img {
		transform: translateX(4px);
		transition: all 0.3s;
	}
	/* fv */
	.fv {
		padding: 40px 20px 40px 20px;
		z-index: 2;
	}
	.fv .bg-fv {
		position: relative;
		z-index: 0;
		border-radius: 20px;
	}
	.fv .catchcopy-area {
		position: absolute;
		bottom:10%;
		left:10%;
	}
	.fv h1 {
		font-size:27px;
		line-height: 120%;
		font-family: "Zen Maru Gothic", sans-serif;
	}
	.fv h1 span.bg-white {
		display: inline-block;
		padding: 6px 8px;
		margin-bottom: 6px;
		border-radius: 2px;
	}
	.fv h1 span.text-baige {
		color:#D3B39A;
	}
	.cta-area {
		position: fixed;
		bottom: 10px;
		right: unset;
		left: 20px;
		z-index: 9;
		margin-left:30%;
	}
	.cta-area .flex {
		gap:7px;
	}
	.cta-area img {
		width:20px;
	}
	.cta-area .mail-cta img {
		width:46px;
		height: auto;
	}
	.cta-area .tel-cta ,
	.cta-area .web-cta  {
		border-radius: 99px;
		padding: 12px;
	}
	.cta-area .tel-cta ,
	.cta-area .web-cta {
		font-size: 18px;
	}
	.cta-area .tel-cta img ,
	.cta-area .web-cta img {
		margin-right: 8px;
	}
	.fv-leaf {
		position: absolute;
		bottom: -40px;
		left:-20px;
		width:152px;
		z-index: 0;
	}

	/* concept */
	.concept {
		padding: 80px 0 100px;
		position: relative;
	}
	.concept-left-img-sp {
		position: absolute;
		bottom: -160px;
		left:20px;
		width:133px;
	}
	.concept-acorn-sp {
		position: absolute;
		bottom: -80px;
		right:20px;
		width:80px;		
	}
	.bg-fv-concept {
		position: absolute;
		top:-50%;
		width:100%;
		z-index: 0;
	}
	.concept .inner {
		z-index: 2;
	}
	.concept .image-left-area ,
	.concept .image-right-area {
		display: none;
	}
	.concept .detail-area {
		width:100%;
	}
	.concept .ttl-area {
		position: relative;
	}
	.concept .ttl-area h2 {
		font-size:22px;
		margin-bottom: 10px;	
		padding-bottom: 20px;
		border-bottom:2px dashed #614B37;
	}
	.concept .ttl-area img {
		position: absolute;
		top:-30px;
		right: 0;
		width:108px;
		z-index: 0;
	}
	.concept-h3-area h3 {
		font-size: 20px;
		line-height: 180%;
		width:80%;
	}
	.concept-h3-area img {
		width:48px;
	}
	/* feature */
	.feature {
		padding: 134px 0 114px;
	}
	.feature .inner {
		width:90%;
	}
	.feature .ttl-area h2 {
		font-size:32px;
		margin-bottom: 60px;
	}
	.feature .grid-3-1fr {
		grid-template-columns: repeat(1,3fr);
	}
	.feature .feature-box {
		padding: 32px 24px;
	}
	.feature .feature-box.second {
		top: unset;
	}
	.feature-01-leaf ,
	.feature-02-leaf ,
	.feature-03-leaf {
		position: absolute;
	}
	.feature-01-leaf {
		left:-25px;
	}
	.feature-02-leaf {
		bottom:-50px;
		left:-10px;
		width:60px;
	}
	.feature-03-leaf {
		bottom:-60px;
		right:-10px;
		width:90px;
	}

	/* movie */
	.movie {
		padding: 80px 0;
	}
	.movie .grid {
		display: block;
	}
	.movie .detail-area {
		width:80%;
		margin: 0 0 0 auto;
	}
	.movie .detail-area .flex {
		gap:20px;
		margin-bottom: 20px;
	}
	.movie .detail-area .flex img {
		width:40px;
		height: auto;
	}
	.movie .ttl-area h2 {
		font-size:32px;
		margin-bottom: 10px;
	}
	.movie .ttl-area h3 {
		font-size:18px;
	}
	.movie .detail-area p {
		font-family: "Noto sans JP", sans-serif;
		margin-bottom: 40px;
	}
	.movie-h3-wave {
		margin-bottom: 20px;
	}
	.movie .sec-tag {
		font-size:20px;
		top:13%;
		border-top:3px solid #EFDDB4; 
		border-bottom:3px solid #EFDDB4;
		border-radius: 0 4px 4px 0;
		padding: 69px 20px;
	}

	/* medical */
	.medical {
		padding: 40px 0;
		position: relative;
	}
	.bg-medical {
		position: absolute;
		top:30%;
		width:100%;
		z-index: 0;
	}
	.medical .inner {
		width:90%;
	}
	.medical .ttl-area {
		width: fit-content;
		margin: 0 auto 40px;
	}
	.medical-leaf {
		position: absolute;
		top: -10px;
		right: -60px;
		width: 63px;
	}
	.medical .grid {
		gap:3px;
		grid-template-columns: repeat(2,4fr);
	}
	.medical .medical-box {
		padding: 16px 12px;
	}
	.medical ul li:nth-child(1) .medical-box {
		border-radius: 16px 0 0 0;
	}
	.medical ul li:nth-child(2) .medical-box {
		border-radius: 0 16px 0 0;
	}
	.medical ul li:nth-child(4) .medical-box {
		border-radius: 0 0 0 0;
	}
	.medical ul li:nth-child(5) .medical-box {
		border-radius: 0 0 0 0;
	}
	.medical ul li:nth-child(7) .medical-box {
		border-radius: 0 0 0 16px;
	}
	.medical ul li:nth-child(8) .medical-box {
		border-radius: 0 0 16px 0;
	}
	.medical .medical-box h3 {
		border-radius: 44px;
		padding: 12px 16px;
		font-size: 17px;
		line-height: 20px;
		margin-bottom: 30px;
	}
	.medical ul li:nth-child(7) .medical-box h3 {
		margin-bottom: 11px;
	}
	.medical .medical-box img {
		width:75px;
	}
	.medical .medical-box .medical-arrow {
		position: absolute;
		bottom: 6px;
		right: 6px;
		width:16px;
	}

	/* treatment */
	.treatment {
		padding: 20px 0 40px;
	}
	.treatment .inner {
		border-radius: 40px;
		padding: 48px 0;
	}
	.treatment-inner-leaf {
		display: none;
	}
	.treatment .content-inner {
		width:95%;
	}
	.treatment .ttl-area {
		width:fit-content;
		margin:0 auto 40px;
	}
	.treatment .ttl-area .sub-ttl {
		font-size: 20px;
		margin-bottom: 10px;
	}
	.treatment .ttl-area .sub-ttl span {
		width:30px;
		height: 30px;
	}
	.treatment .ttl-area .sub-ttl span + span {
		margin-left: -5px;
	}
	.treatment .grid {
		gap:12px;
		grid-template-columns: repeat(1,9fr);
	}
	.treatment-leaf {
		width:58px;
		position: absolute;
		top: 7px;
		left: -70px;
	}
	.treatment-box {
		border-radius: 24px;
		max-height: 80px;
	}
	.treatment-box p {
		font-size: 18px;
	}
	.treatment-item-leaf {
		width:37px;
	}
	/* greeting */
	.greeting {
		padding: 140px 0 80px;
		position: relative;
	}
	.bg-greeting {
		position: absolute;
		top:0;
		width:100%;
		margin-top:-10%;
	}
	.greeting-acorn {
		position:absolute;
		width:102px;
		top:0;
		left:5%;
	}
	.greeting .inner {
		width:80%;
		position: relative;
		z-index: 2;
	}
	.greeting .image-area {
		width:100%;
		margin-top: 40px;
		margin-bottom: 0px;
		text-align: center;
	}
	.greeting .image-area .doctor-img {
		width:228px;
	}
	.greeting .image-area .doctor-leaf {
		position: absolute;
		bottom: -36px;
		left:-40px;
		width:204px;
	}
	.greeting .image-area .name-area {
		margin:-20px 0 0 auto;
	}
	.greeting .image-area .name-area .doctor-name {
		font-size:18px;
	}
	.greeting .image-area .name-area .doctor-name span {
		font-size: 14px;
	}
	.greeting .image-area .name-area .en {
		font-size: 16px;
		line-height: 180%;
		letter-spacing: 3%;
		color:#FF8D9A;
	}
	.greeting .detail-area {
		width:100%;
	}
	.greeting .slide-img-area {
		padding-left: 0px;
		margin-top: 60px;
	}
	.slide-leaf {
		position: absolute;
		bottom: -25px;
		left:-10px;
		width:94px;
	}
	/* instagram */
	.instagram {
		padding: 96px 0 40px;
	}
	.instagram .follow-area {
		width:100%;
		margin:0;
	}
	.instagram .follow-area .fukidashi {
		font-size: 22px;
		margin-bottom: 16px;
	}
	.instagram .follow-area .insta-icon {
		width:80px;
		margin-bottom: 10px;
	}
	.instagram .follow-area h2 {
		font-size: 32px;
		margin-bottom: 16px;
	}
	.instagram .follow-area .follow-link {
		font-size: 22px;
		display:inline-block;
	}
	.instagram .feed-area .feed-arrow-area {
		margin-right: 20px;
	}
	.bg-arrow-circle {
		width:40px;
		height: 40px;
	}

	.insta-left-arrow ,
	.insta-right-arrow {
	  display: inline-block;
	  color: #fff;
	  line-height: 1;
	  position: relative;
	  width: 11px;
	  height: 11px;
	}
	.insta-left-arrow {
	  transform: translateX(145%) rotate(-135deg);
	}
	.insta-right-arrow {
	  transform: translateX(100%) rotate(45deg);
	}

	.insta-left-arrow::before, .insta-left-arrow::after ,
	.insta-right-arrow::before, .insta-right-arrow::after {
	  content: '';
	  position: absolute;
	  background: currentColor;
	  border-radius: 2px;
	}

	.insta-left-arrow::before ,
	.insta-right-arrow::before {
	  top: 0;
	  left: 0;
	  right: 0;
	  height: 2px;
	}

	.insta-left-arrow::after ,
	.insta-right-arrow::after {
	  top: 0;
	  right: 0;
	  bottom: 0;
	  width: 2px;
	}
	.instagram .feed-area {
		width:100%;
	}
	/* news */
	.news {
		padding: 40px 0 60px;
	}
	.news .ttl-area {
		width:100%;
	}
	.news .news-area {
		width:100%;
	}
	.news .news-area ul li {
		margin-bottom: 16px;
	}
	.news .news-area ul li:last-child {
		margin-bottom: 32px;
	}
	.news .news-area ul li a {
		padding: 16px 20px;
		border-radius: 8px;
	}
	.news .news-area ul li a span {
		margin-right: 0;
		display: block;
	}
	.news .news-area .news-leaf {
		position: absolute;
		left: -24px;
		bottom: 30px;
		width:86px;
	}

	/* image-area */
	.image-area .clinic-img {
		margin-top:0px;
	}
	/* info */
	.info {
		padding: 80px 0;
	}
	.info .grid {
		gap:97px;
		grid-template-columns: repeat(1,2fr);
	}
	.info .ttl-area {
		text-align: center;
		font-family: "Zen Maru Gothic", sans-serif;
	}
	.info .ttl-area h2 {
		font-size:27px;
		margin-bottom: 0px;
	}
	.info .ttl-area .en {
		width:fit-content;
		margin:0 auto 40px;
		padding:0 20px 20px;
	}
	.infomation-area table {
		width:100%;
		margin-bottom:20px;
	}
	.infomation-area table tr th ,
	.infomation-area table tr td {
		font-size:18px;
		padding: 20px 7px;
		text-align: center;
		width:unset;
	}
	.infomation-area table tr th {
		background-color: #FFEDF0;
	}
	.infomation-area table tr td {
		background-color: #fff;
	}
	.infomation-area table tr th:nth-child(1) ,
	.infomation-area table tr td:nth-child(1) {
		text-align: left;
		padding-left: 12px;
		width:35%;
	}
	.access-area .detail-area p {
		display: flex;
		align-items: center;
		margin-bottom: 12px;
	}
	.access-area p {
		font-size: 17px;
		line-height: 180%;
	}
	.access-area iframe {
		margin-top: 10px;
	}
	/* footer */
	footer {
		padding: 40px 20px 20px;
	}
	footer .border-top {
		padding-top: 16px;
		border-top:1px solid rgba(99, 96, 88,0.32);
		margin-bottom:10%;
	}
	footer .link-area ul {
		display: flex;
		gap:24px; 
	}
	footer .link-area ul li {
		font-size:16px; 
	}
	footer small {
		font-size:14px;
		color:#636058;
	}
	footer .logo-area ,
	footer .detail-area {
		width:100%;
	}
	footer .logo-area img {
		width:200px;
	}
	footer .gap-64 {
		gap:24px;
		text-align:center;
	}

	/* feature-sec */
	.feature-sec {
		padding: 40px 0;
	}
	.feature-sec-box {
		padding: 24px;
		border-radius: 10px;
		margin-bottom: 20px;
	}
	.feature-sec-box:last-child {
		margin-bottom: 0;
	}
	.feature-sec-box h3 {
		font-size:20px;
		padding-bottom: 20px;
		margin-bottom: 20px;
		border-bottom:2px dashed #9F8774;
	}
	.feature-sec-box h3 img {
		width:24px;
	}	
	/* strength-sec */
	.strength-sec {
		padding:40px 0;
	}

	.under .ttl-area h2 {
		font-size: 27px;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}

	.under .ttl-area h2 img {
		width:48px;
	}
	.strength-sec-box {
		padding:24px 16px;
		border-radius: 10px;
	}
	.strength-sec-box h3 {
		font-size:22px;
		margin-bottom: 40px;
	}
	.strength-sec-box h3 .num {
		font-size:27px;
		width:40px;
		height:40px;
	}
	.strength-sec-box h3 .txt {
		width:80%;
	}
	.strength-sec-box h4 {
		font-size: 20px;
		margin-bottom: 20px;
	}
	.strength-sec-box .white-box {
		padding:20px;
		border-radius: 8px;
	}
	.strength-sec-box .white-box h5 {
		font-size: 18px;
	}
	/* facility-sec*/
	.facility-sec {
		padding:40px 0;
	}
	.facility-sec .grid {
		gap:40px;
		grid-template-columns: repeat(1,1fr);
	}
	.facility-sec-box .detail-area {
		padding:24px;
	}
	.facility-sec-box .detail-area h3 {
		font-size:22px;
	}

	/* greeting */
	.greeting-sec {
		padding:40px 0;
	}
	.greeting-sec .inner {
		width:90%;
		position: relative;
		z-index: 2;
	}
	.greeting-sec .image-area {
		width:100%;
		margin-top: 40px;
		margin-bottom: 0px;
		text-align: center;
	}
	.greeting-sec .image-area .doctor-img {
		width:228px;
	}
	.greeting-sec .image-area .doctor-leaf {
		position: absolute;
		bottom: -36px;
		left:-40px;
		width:204px;
	}
	.greeting-sec .image-area .name-area {
		margin:-20px 0 0 auto;
	}
	.greeting-sec .image-area .name-area .doctor-name {
		font-size:18px;
	}
	.greeting-sec .image-area .name-area .doctor-name span {
		font-size: 14px;
	}
	.greeting-sec .image-area .name-area .en {
		font-size: 16px;
		line-height: 180%;
		letter-spacing: 3%;
		color:#FF8D9A;
	}
	.greeting-sec .detail-area {
		width:100%;
	}	
	.history-area {
		padding:24px 12px;
		margin-top: 40px;
		border-radius: 10px;
	}
	.history-area .grid {
		grid-template-columns: repeat(1,1fr);
	}
	.history-area h3 {
		font-size: 22px;
		margin-bottom: 20px;	
	}
	.history-area table tr th {
		width:25%;
	}
	/* staff-sec */
	.staff-sec {
		padding: 48px 0;
	}
	.staff-sec .grid {
		gap:20px;
		grid-template-columns: repeat(1,1fr);
	}
	.staff-box {
		border-radius: 0 0 20px 20px;
	}
	.staff-box .detail-area {
		padding: 20px;
	}
	.staff-box .detail-area .job-tag {
		font-size: 14px;
	}
	.staff-box .detail-area p {
		font-size: 16px;
	}
	.staff-box .detail-area .name {
		font-size: 20px;
		margin-bottom: 10px;
	}

	/* about-sec */
	.about-sec {
		padding: 24px 0;
	}
	.about-box {
		padding: 20px;
		border-radius: 10px;
	}
	.about-box .grid {
		gap:20px;
		grid-template-columns: repeat(1,1fr);
	}
	.about-box h2 img {
		width:220px!important;
	}
	.about-box table {
		width:100%;
	}
	.about-box table tr th ,
	.about-box table tr td {
		padding: 12px 0;
	}
	.about-box table tr th {
		font-size:20px ;
		width:25%;
	}
	.about-box table tr td {
		font-size: 16px;
	}
	/* access-sec */
	.access-sec {
		padding: 48px 0;
	}
	.access-sec iframe {
		width:100%;
		aspect-ratio:5 / 3;
		margin-bottom: 20px;
	}
	.access-sec .grid {
		gap:20px;
		grid-template-columns: repeat(1,2fr);
		margin-bottom: 20px;
	}
	.access-box {
		padding: 20px;
		border-radius: 10px;
	}
	.access-box h3 ,
	.pink-box h3 {
		font-size: 20px;
	}
	.access-box h3 img {
		width:26px;
	}
	.access-box p {
		font-size:16px;
	}
	.pink-box {
		padding: 20px;
		border-radius: 10px;
	}
	.pink-box h3 img {
		width:24px;
	}
	/* fee-sec */
	.fee-sec {
		padding: 24px 0;
	}
	.fee-sec table {
		width:100%;
		margin:0 auto 20px;
	}
	.fee-sec table tr th ,
	.fee-sec table tr td {
		padding: 12px;
	}
	.fee-sec table tr th {
		font-size: 20px;
	}
	.fee-sec table tr td {
		font-size: 18px;
	}
	.fee-sec table tr td:nth-child(even) {
		font-size: 16px;
	}
	.fee-sec table tr th:nth-child(1) {
		border-radius: 10px 0 0 0;
		width:40%;
	}
	.fee-sec table tr th:nth-child(2) {
		border-radius: 0 10px 0 0;
	}
	.fee-sec table tr td.br-lb-20 {
		border-radius: 0 0 0 10px;
	}
	.fee-sec table tr td:last-child {
		border-radius: 0 0 10px 0;
	}
	/* consideration-sec */
	.consideration-sec .grid {
		gap:24px;
		grid-template-columns: repeat(1,2fr);
	}
	.consideration-sec .detail-area h3 {
		font-size:22px;
		margin-bottom: 20px;
	}
	.consideration-sec .detail-area p {
		font-size:16px;
	}
	.consideration-sec .detail-area .white-box {
		padding: 20px;
		border-radius: 10px;
		margin-bottom: 10px;
	}
	.consideration-sec .detail-area .white-box h4 {
		font-size:20px;
	}
	.consideration-sec .pink-box h3 {
		font-size: 22px;
	}
	/* reserve-sec */
	.reserve-sec .inner {
		padding: 40px 20px;
		border-radius: 20px;
	}
	.reserve-sec .lead {
		font-size: 18px;
	}
	.reserve-btn-area .web-btn {
		padding: 24px;
		border-radius: 12px;
		font-size:22px;
		width:100%;
		margin:0 auto 20px;
	}
	.reserve-btn-area .web-btn img {
		width:32px;
		margin-right: 10px;
	}
	.reserve-btn-area .tel-btn {
		padding: 24px 20px;
		border-radius: 12px;
		width: 100%;
		margin:0 auto 20px;
	}
	.reserve-btn-area .tel-btn p {
		font-family: "Zen Maru Gothic" , sans-serif;
	}
	.reserve-btn-area .tel-btn .tel-txt {
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 36px;
		font-weight: 600;
		line-height: 114%;
		letter-spacing: 2%;
		margin-bottom: 20px;
	}
	.reserve-btn-area .tel-btn .tel-txt img {
		width:28px;
		margin-right: 10px;
	}
	.reserve-btn-area .tel-btn p.noto {
		font-family: "Noto sans JP" , sans-serif;
		line-height: 180%;
		letter-spacing: 3%;
	}
	/* news-sec */
	.news-sec ul li a {
		font-size:16px;
	}
	.news-sec ul li a span {
		font-size:14px;
		margin-bottom:40px;
	}
	.page-numbers {
		width:48px;
		height: 48px;
		display: inline-block;
		border-radius: 4px;
		box-shadow: 0 0 16px rgba(0,0,0,0.08);
		background-color: #614B37;
		color:#fff;
		font-size: 20px;
		text-align: center;
		align-content: center;
		margin:40px 6px 0;
	}
}

@media (520px <= width < 769px) {
	
}
/* ===== 追加写真の角丸（ファイル名で限定） ===== */
.under img[src*="/item/20260122_"] {
	border-radius: 16px;
}

/* ===== 下層ページ本文ボックス：テキストと写真の余白＋本文サイズ ===== */
.under .feature-sec-box .grid-2-1fr {
	gap: 48px;
	align-items: start;
}
.under .consideration-sec .grid-2-1fr {
	gap: 48px;
}
.under .feature-sec p,
.under .feature-sec-box .detail-area p {
	font-size: 18px;
	color: #636058;
}
@media screen and (max-width:768px) {
	.under .feature-sec-box .grid-2-1fr,
	.under .consideration-sec .grid-2-1fr {
		gap: 24px;
	}
	.under .feature-sec p,
	.under .feature-sec-box .detail-area p {
		font-size: 18px;
	}
}

/* ===== メリット・デメリット表：左右50:50・同フォントに統一 ===== */
.fee-sec table.pros-cons {
	table-layout: fixed;
}
.fee-sec table.pros-cons tr th,
.fee-sec table.pros-cons tr td {
	width: 50%;
	vertical-align: top;
}
.fee-sec table.pros-cons tr td:nth-child(even) {
	font-size: 20px;
	font-family: "Zen Maru Gothic", sans-serif;
}

/* ===== 当院の強み：番号付きボックスの間隔 ===== */
.strength-sec-box {
	margin-bottom: 40px;
}
.strength-sec-box:last-child {
	margin-bottom: 0;
}

/* ===== 本文ボックス内 white-box（唾液検査など）：白カード＋見出し強調 ===== */
.under .feature-sec-box .white-box {
	background-color: #fff;
	padding: 24px;
	border-radius: 16px;
	margin-bottom: 16px;
}
.under .feature-sec-box .white-box:last-child {
	margin-bottom: 0;
}
.under .feature-sec-box .white-box h4 {
	font-size: 25px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 2%;
	font-family: "Zen Maru Gothic", sans-serif;
	color: #614B37;
	margin-bottom: 12px;
}

/* ===== 写真の角丸（ファイル名に依存せず適用） ===== */
.under .image-area img,
.under .facility-sec-box img,
.under .feature-sec .grid img {
	border-radius: 16px;
}

/* ===== 本文ボックス内の箇条書きを見やすく ===== */
.under .feature-sec-box ul li {
	margin-bottom: 12px;
	line-height: 1.9;
}
.under .feature-sec-box ul li:last-child {
	margin-bottom: 0;
}
.under .feature-sec-box ul li span:not([class]) {
	color: #614B37;
	font-weight: 700;
	margin-right: 6px;
}

/* ===== パンくず ===== */
.under .breadcrumb {
	padding: 16px 0;
}
.under .breadcrumb .inner {
	font-size: 15px;
	color: #9F8774;
	line-height: 1.6;
}
.under .breadcrumb a {
	color: #9F8774;
}
.under .breadcrumb a:hover {
	text-decoration: underline;
}
.under .breadcrumb .sep {
	margin: 0 8px;
	color: #C9BCA8;
}

/* ===== 診療案内ドロップダウン：行方向で2列に折り返し（項目数・文字サイズに依存せず収まる） ===== */
.gnav ul li ul.dropdown-menu-list {
	width: 420px;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: flex-start;
}
.gnav ul li ul.dropdown-menu-list li {
	width: calc(50% - 16px);
}

/* ===== MOVIEタグ：文字を直立で縦並びに ===== */
.movie .sec-tag {
	text-orientation: upright;
	letter-spacing: 0.2em;
}

/* ===== サプリメント事業（娘様のページ / BEAUTY）への導線バナー（画像） ===== */
.supple-banner-sec {
	margin: 60px 0;
}
.supple-banner {
	display: block;
	max-width: 1000px;
	margin: 0 auto;
	border-radius: 16px;
	overflow: hidden;
	transition: 0.3s;
	box-shadow: 0 6px 20px rgba(97, 75, 55, 0.08);
}
.supple-banner:hover {
	opacity: 0.9;
}
.supple-banner img {
	width: 100%;
	height: auto;
	display: block;
}
@media screen and (max-width: 768px) {
	.supple-banner-sec {
		margin: 40px 0;
	}
	.supple-banner {
		border-radius: 12px;
	}
}

/* ===== トップページのみ文字サイズを元に戻す（body.home スコープ） ===== */
body.home { font-size: 16px; }
body.home .gnav ul li ul.dropdown-menu-list li a { font-size: 15px; }
body.home .sp-nav-area.active li a { font-size: 16px; }
body.home .sp-nav-area.active ul.sp-nav-sub li a { font-size: 14px; }
body.home .sp-nav-area.active li a span { font-size: 13px; }
body.home .humberger-cta-area .tel-cta { font-size: 20px; }
body.home .humberger-cta-area .web-cta { font-size: 18px; }
body.home .ttl-area h2 { font-size: 40px; }
body.home .ttl-area .en { font-size: 20px; }
body.home .btn { font-size: 16px; }
body.home .fv h1 { font-size: 40px; }
body.home .fv .sub-catchcopy-area p { font-size: 29px; }
body.home .cta-area .tel-cta, body.home .cta-area .web-cta { font-size: 24px; }
body.home .concept .ttl-area h2 { font-size: 32px; }
body.home .concept-h3-area h3 { font-size: 24px; }
body.home .feature .ttl-area h2 { font-size: 36px; }
body.home .feature .feature-box .num { font-size: 52px; }
body.home .feature .feature-box h3 { font-size: 20px; }
body.home .movie .ttl-area h2 { font-size: 36px; }
body.home .movie .ttl-area h3 { font-size: 24px; }
body.home .movie .sec-tag { font-size: 44px; }
body.home .medical .medical-box h3 { font-size: 20px; }
body.home .treatment .ttl-area .sub-ttl { font-size: 28px; }
body.home .treatment-box p { font-size: 20px; }
body.home .greeting .image-area .name-area .doctor-name { font-size: 20px; }
body.home .greeting .image-area .name-area .doctor-name span { font-size: 16px; }
body.home .greeting .image-area .name-area .en { font-size: 16px; }
body.home .instagram .follow-area .fukidashi { font-size: 24px; }
body.home .instagram .follow-area h2 { font-size: 40px; }
body.home .instagram .follow-area .follow-link { font-size: 24px; }
body.home .info .ttl-area h2 { font-size: 28px; }
body.home .infomation-area table tr th, body.home .infomation-area table tr td { font-size: 18px; }
body.home .access-area p { font-size: 16px; }
body.home footer .link-area ul li { font-size: 14px; }
body.home footer small { font-size: 12px; }
body.home footer .footer-link h3 { font-size: 20px; }
body.home .under { font-size: 14px; }
body.home .eyecatch h1 { font-size: 40px; }
body.home .under .ttl-area h2 { font-size: 36px; }
body.home .feature-sec-box h3 { font-size: 24px; }
body.home .strength-sec-box h3 { font-size: 28px; }
body.home .strength-sec-box h3 .num { font-size: 32px; }
body.home .strength-sec-box h4 { font-size: 24px; }
body.home .strength-sec-box .white-box h5 { font-size: 20px; }
body.home .facility-sec-box .detail-area h3 { font-size: 24px; }
body.home .greeting-sec .image-area .name-area .doctor-name { font-size: 20px; }
body.home .greeting-sec .image-area .name-area .doctor-name span { font-size: 16px; }
body.home .greeting-sec .image-area .name-area .en { font-size: 16px; }
body.home .history-area h3 { font-size: 24px; }
body.home .staff-box .detail-area p { font-size: 16px; }
body.home .staff-box .detail-area .name { font-size: 24px; }
body.home .about-box table tr th { font-size: 20px; }
body.home .about-box table tr td { font-size: 16px; }
body.home .access-box h3, body.home .pink-box h3 { font-size: 20px; }
body.home .access-box p { font-size: 16px; }
body.home .fee-sec table tr th { font-size: 20px; }
body.home .fee-sec table tr td { font-size: 18px; }
body.home .fee-sec table tr td:nth-child(even) { font-size: 16px; }
body.home .consideration-sec .detail-area h3 { font-size: 28px; }
body.home .consideration-sec .detail-area p { font-size: 16px; }
body.home .consideration-sec .detail-area .white-box h4 { font-size: 20px; }
body.home .consideration-sec .pink-box h3 { font-size: 24px; }
body.home .reserve-sec .lead { font-size: 20px; }
body.home .reserve-btn-area .web-btn { font-size: 28px; }
body.home .reserve-btn-area .tel-btn .tel-txt { font-size: 32px; }
body.home .news-sec ul li a { font-size: 16px; }
body.home .news-sec ul li a span { font-size: 14px; }
body.home .page-numbers { font-size: 20px; }
body.home .under .feature-sec p, body.home .under .feature-sec-box .detail-area p { font-size: 16px; }
body.home .fee-sec table.pros-cons tr td:nth-child(even) { font-size: 18px; }
body.home .under .feature-sec-box .white-box h4 { font-size: 22px; }
body.home .under .breadcrumb .inner { font-size: 13px; }

@media (769px <= width < 1159px) {
	body.home .gnav ul li a, body.home .gnav ul li.reserve-btn a, body.home .gnav ul li.reserve-btn a span { font-size: 12px; }
	body.home .fv h1 { font-size: 32px; }
	body.home .fv .sub-catchcopy-area p { font-size: 16px; }
	body.home .circle p { font-size: 18px; }
	body.home .circle p span { font-size: 14px; }
}

@media screen and (max-width: 768px) {
	body.home { font-size: 15px; }
	body.home .ttl-area h2 { font-size: 28px; }
	body.home .ttl-area .en { font-size: 14px; }
	body.home .fv h1 { font-size: 24px; }
	body.home .cta-area .tel-cta, body.home .cta-area .web-cta { font-size: 16px; }
	body.home .concept .ttl-area h2 { font-size: 20px; }
	body.home .concept-h3-area h3 { font-size: 18px; }
	body.home .feature .ttl-area h2 { font-size: 28px; }
	body.home .movie .ttl-area h2 { font-size: 28px; }
	body.home .movie .ttl-area h3 { font-size: 16px; }
	body.home .movie .sec-tag { font-size: 18px; }
	body.home .medical .medical-box h3 { font-size: 15px; }
	body.home .treatment .ttl-area .sub-ttl { font-size: 18px; }
	body.home .treatment-box p { font-size: 16px; }
	body.home .greeting .image-area .name-area .doctor-name { font-size: 16px; }
	body.home .greeting .image-area .name-area .doctor-name span { font-size: 12px; }
	body.home .greeting .image-area .name-area .en { font-size: 14px; }
	body.home .instagram .follow-area .fukidashi { font-size: 20px; }
	body.home .instagram .follow-area h2 { font-size: 28px; }
	body.home .instagram .follow-area .follow-link { font-size: 20px; }
	body.home .info .ttl-area h2 { font-size: 24px; }
	body.home .infomation-area table tr th, body.home .infomation-area table tr td { font-size: 16px; }
	body.home .access-area p { font-size: 15px; }
	body.home footer .link-area ul li { font-size: 14px; }
	body.home footer small { font-size: 12px; }
	body.home .feature-sec-box h3 { font-size: 18px; }
	body.home .under .ttl-area h2 { font-size: 24px; }
	body.home .strength-sec-box h3 { font-size: 20px; }
	body.home .strength-sec-box h3 .num { font-size: 24px; }
	body.home .strength-sec-box h4 { font-size: 18px; }
	body.home .strength-sec-box .white-box h5 { font-size: 16px; }
	body.home .facility-sec-box .detail-area h3 { font-size: 20px; }
	body.home .greeting-sec .image-area .name-area .doctor-name { font-size: 16px; }
	body.home .greeting-sec .image-area .name-area .doctor-name span { font-size: 12px; }
	body.home .greeting-sec .image-area .name-area .en { font-size: 14px; }
	body.home .history-area h3 { font-size: 20px; }
	body.home .staff-box .detail-area .job-tag { font-size: 12px; }
	body.home .staff-box .detail-area p { font-size: 14px; }
	body.home .staff-box .detail-area .name { font-size: 18px; }
	body.home .about-box table tr th { font-size: 18px; }
	body.home .about-box table tr td { font-size: 14px; }
	body.home .access-box h3, body.home .pink-box h3 { font-size: 18px; }
	body.home .access-box p { font-size: 14px; }
	body.home .fee-sec table tr th { font-size: 18px; }
	body.home .fee-sec table tr td { font-size: 16px; }
	body.home .fee-sec table tr td:nth-child(even) { font-size: 14px; }
	body.home .consideration-sec .detail-area h3 { font-size: 20px; }
	body.home .consideration-sec .detail-area p { font-size: 14px; }
	body.home .consideration-sec .detail-area .white-box h4 { font-size: 18px; }
	body.home .consideration-sec .pink-box h3 { font-size: 20px; }
	body.home .reserve-sec .lead { font-size: 16px; }
	body.home .reserve-btn-area .web-btn { font-size: 20px; }
	body.home .reserve-btn-area .tel-btn .tel-txt { font-size: 32px; }
	body.home .news-sec ul li a { font-size: 14px; }
	body.home .news-sec ul li a span { font-size: 12px; }
	body.home .page-numbers { font-size: 18px; }
}

@media screen and (max-width:768px) {
	body.home .under .feature-sec p, body.home .under .feature-sec-box .detail-area p { font-size: 16px; }
}

/* ===== 下層ページ（.under）の本文をもう一回り大きく（オリジナル比 x1.2375 / 現状比 約x1.1） ===== */
.under { font-size: 20px; }
.under { font-size: 17px; }
.under .eyecatch h1 { font-size: 50px; }
.under .ttl-area h2 { font-size: 45px; }
.under .feature-sec-box h3 { font-size: 30px; }
.under .strength-sec-box h3 { font-size: 35px; }
.under .strength-sec-box h3 .num { font-size: 40px; }
.under .strength-sec-box h4 { font-size: 30px; }
.under .strength-sec-box .white-box h5 { font-size: 25px; }
.under .facility-sec-box .detail-area h3 { font-size: 30px; }
.under .staff-box .detail-area p { font-size: 20px; }
.under .staff-box .detail-area .name { font-size: 30px; }
.under .fee-sec table tr th { font-size: 25px; }
.under .fee-sec table tr td { font-size: 22px; }
.under .fee-sec table tr td:nth-child(even) { font-size: 20px; }
.under .consideration-sec .detail-area h3 { font-size: 35px; }
.under .consideration-sec .detail-area p { font-size: 20px; }
.under .consideration-sec .detail-area .white-box h4 { font-size: 25px; }
.under .consideration-sec .pink-box h3 { font-size: 30px; }
.under .reserve-sec .lead { font-size: 25px; }
.under .feature-sec p, .under .feature-sec-box .detail-area p { font-size: 20px; }
.under .fee-sec table.pros-cons tr td:nth-child(even) { font-size: 22px; }
.under .feature-sec-box .white-box h4 { font-size: 27px; }
.under .breadcrumb .inner { font-size: 16px; }

@media screen and (max-width: 768px) {
	.under { font-size: 19px; }
	.under .feature-sec-box h3 { font-size: 22px; }
	.under .ttl-area h2 { font-size: 30px; }
	.under .strength-sec-box h3 { font-size: 25px; }
	.under .strength-sec-box h3 .num { font-size: 30px; }
	.under .strength-sec-box h4 { font-size: 22px; }
	.under .strength-sec-box .white-box h5 { font-size: 20px; }
	.under .facility-sec-box .detail-area h3 { font-size: 25px; }
	.under .staff-box .detail-area .job-tag { font-size: 15px; }
	.under .staff-box .detail-area p { font-size: 17px; }
	.under .staff-box .detail-area .name { font-size: 22px; }
	.under .fee-sec table tr th { font-size: 22px; }
	.under .fee-sec table tr td { font-size: 20px; }
	.under .fee-sec table tr td:nth-child(even) { font-size: 17px; }
	.under .consideration-sec .detail-area h3 { font-size: 25px; }
	.under .consideration-sec .detail-area p { font-size: 17px; }
	.under .consideration-sec .detail-area .white-box h4 { font-size: 22px; }
	.under .consideration-sec .pink-box h3 { font-size: 25px; }
	.under .reserve-sec .lead { font-size: 20px; }
}

@media screen and (max-width:768px) {
	.under .feature-sec p, .under .feature-sec-box .detail-area p { font-size: 20px; }
	.grid-2-1fr {
    grid-template-columns: repeat(1, 1fr);
}
}

/* ===== 在宅・訪問歯科ページ（チラシ準拠の再構成パーツ） ===== */
.visit-worry {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 40px;
	margin: 0 0 24px;
}
.visit-worry li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	line-height: 1.7;
	font-size: 18px;
	color: #614B37;
}
.visit-worry li::before {
	content: "✓";
	color: #BF997A;
	font-weight: bold;
	flex: none;
}
.visit-grid2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.visit-grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.visit-grid4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.visit-card {
	background: #fff;
	border-radius: 16px;
	padding: 32px;
	box-shadow: 0 4px 16px rgba(97, 75, 55, 0.06);
}
.visit-card .num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #BF997A;
	color: #fff;
	font-size: 22px;
	margin-bottom: 14px;
}
.visit-card h4 { color: #614B37; font-size: 24px; line-height: 1.4; margin-bottom: 12px; }
.visit-card p { font-size: 18px; line-height: 1.8; margin-bottom: 16px; }
.visit-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.visit-tags span {
	background: #FFDEE3;
	color: #614B37;
	border-radius: 99px;
	padding: 6px 16px;
	font-size: 16px;
}
.visit-cat {
	background: #fff;
	border-radius: 16px;
	padding: 28px 24px;
	box-shadow: 0 4px 16px rgba(97, 75, 55, 0.06);
}
.visit-cat h4 {
	color: #614B37;
	font-size: 22px;
	text-align: center;
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 2px dashed #E4DED0;
}
.visit-cat ul { margin: 0; }
.visit-cat li {
	position: relative;
	padding-left: 16px;
	line-height: 1.9;
	font-size: 17px;
	color: #636058;
}
.visit-cat li::before { content: "・"; position: absolute; left: 0; color: #BF997A; }
.visit-device {
	background: #FCF0DA;
	border-radius: 14px;
	padding: 28px 20px;
	text-align: center;
}
.visit-device h4 { color: #614B37; font-size: 20px; }
.visit-area {
	background: #FFEDF0;
	border-radius: 14px;
	padding: 28px 32px;
	text-align: center;
	margin-top: 32px;
}
.visit-area h4 { color: #614B37; font-size: 22px; margin-bottom: 8px; }
.visit-area p { font-size: 18px; }
@media (max-width: 1000px) {
	.visit-grid4 { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (max-width: 768px) {
	.visit-worry,
	.visit-grid2,
	.visit-grid3,
	.visit-grid4 { grid-template-columns: 1fr; }
	.visit-card { padding: 24px; }
	.visit-card h4 { font-size: 21px; }
	.visit-card p { font-size: 16px; }
	.visit-cat li { font-size: 16px; }
}

/* ===== 在宅・訪問歯科：CTA導線・エリアマップ・介護締め ===== */
.visit-cta {
	background: #FCF0DA;
	border-radius: 20px;
	padding: 40px;
	text-align: center;
	margin: 20px 0;
}
.visit-cta .cta-lead {
	font-size: 22px;
	font-weight: 500;
	color: #614B37;
	margin-bottom: 6px;
}
.visit-cta .cta-note {
	font-size: 16px;
	color: #948e7f;
	margin-bottom: 24px;
}
.visit-cta-btns {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
}
/* ヒーロー：上から 画像→テキスト→ボタン の縦積み */
.visit-hero {
	max-width: 820px;
	margin: 0 auto;
}
.visit-hero-img img {
	width: 100%;
	max-width: 560px;
	border-radius: 16px;
	display: block;
	margin: 0 auto 28px;
}
.visit-hero-text {
	margin-bottom: 28px;
}
.visit-hero-text p {
	line-height: 2;
}
.visit-hero-cta {
	display: flex;
	gap: 14px;
	justify-content: center;
	margin-top: 8px;
}
.visit-hero-cta .visit-cta-btn {
	flex: 1 1 0;
	min-width: 0;
	padding: 16px 18px;
}
.visit-hero-cta .visit-cta-btn::after {
	display: none;
}
.visit-cta-btn {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	border-radius: 99px;
	padding: 20px 52px 20px 36px;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none;
	min-width: 280px;
	box-shadow: 0 4px 14px rgba(97, 75, 55, 0.18);
	transition: 0.25s;
}
.visit-cta-btn::after {
	content: "";
	position: absolute;
	right: 24px;
	top: 50%;
	width: 9px;
	height: 9px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: translateY(-50%) rotate(45deg);
}
.visit-cta-btn:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 22px rgba(97, 75, 55, 0.28);
	opacity: 1;
}
.visit-cta-btn .num { font-size: 22px; letter-spacing: 0.02em; }
.visit-cta-btn.tel { background: #614B37; color: #fff; }
.visit-cta-btn.web { background: #BF997A; color: #fff; }
.visit-cta-btn.care { background: #fff; color: #614B37; border: 2px solid #BF997A; }
/* 介護：目立つ締め */
.visit-callout {
	background: #614B37;
	color: #fff !important;
	border-radius: 14px;
	padding: 22px 28px;
	text-align: center;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
	margin-top: 8px;
}
/* 訪問対応エリア：マップ */
.visit-map {
	width: 100%;
	height: 380px;
	border-radius: 14px;
	display: block;
	margin: 0 auto 14px;
}
.area-note {
	font-size: 16px;
	color: #948e7f;
	margin-top: 12px;
}
/* 診療内容カードの見出しアイコン */
.visit-cat h4 img {
	width: 22px;
	height: 22px;
	vertical-align: -3px;
	margin-right: 6px;
}
@media screen and (max-width: 768px) {
	.visit-cta { padding: 28px 20px; }
	.visit-cta-btns { flex-direction: column; }
	.visit-cta-btns .visit-cta-btn { width: 100%; min-width: 0; }
	.visit-hero-cta { gap: 10px; }
	.visit-hero-cta .visit-cta-btn { padding: 14px 10px; font-size: 15px; }
	.visit-hero-cta .visit-cta-btn .num { font-size: 17px; }
	.visit-callout { font-size: 17px; padding: 18px 20px; }
	.visit-map { height: 300px; }
}

.news-title{
	font-size:1.6rem;
}

/* iPad縦向き中心 */

@media screen and (min-width: 768px) and (max-width: 1024px) {
 .fv-leaf {
	position: absolute;
	bottom: -200px;
	left:-20px;
	width:284px;
}
.concept .detail-area {
    width: 100%;
}
	.concept .image-left-area ,
.concept .image-right-area {
	width: 100%;
	text-align: center;
}
	.concept .image-left-area img ,
.concept .image-right-area img {
	width: 50%;
	margin-top:5%;
	margin-bottom:5%;
}
	.concept {
	padding:0;
}

	.flex.justify-between.flex-wrap-sp {
			display: block;
	justify-content: space-between;
}


	.concept-h3-area img {
	width: 60px;
	margin: 0 auto;
}
	.feature .feature-box.second {
	top: 0px;
}
	.grid-3-1fr {
	grid-template-columns: repeat(3,1fr);
	display: block;
}
	.feature-01-leaf {
	top: -0px;
	left:-40px;
	width:130px;
}
	.feature .feature-box {
	padding: 32px 40px;
	border-radius: 24px;
	background-color: #FFDEE3;
	box-shadow: 0 0 16px rgba(96, 74, 56,0.08);
	margin-bottom: 5%;
}
.grid-4-2fr {
	grid-template-columns: repeat(2,2fr);
}	
	.grid-3-3fr {
	grid-template-columns: repeat(1,1fr);
}
	.greeting .inner {
	width: 90%;
	position: relative;
	z-index: 2;
}
	.greeting .image-area .doctor-img {
	width: 140%;
}


.sp .humberger-btn {
	top:0px;
	right: 20px;
	z-index: 2;
	position: absolute;
}

section.fv.relative {margin-top: 5%;}
.btn-trigger, .btn-trigger span {
  display: inline-block;
  transition: all .3s;
  box-sizing: border-box;
}
.btn-trigger span:nth-of-type(1) {
  top: 16px;
}
.btn-trigger span:nth-of-type(2) {
  top: 25px;
}
.btn-trigger span:nth-of-type(3) {
  bottom: 16px;
}
.gnav {
	background-color: #fff;
	padding: 0px;
	border-radius: 50px;
	margin-right: 40px;
}
	.news .news-area {
	width:70%;
	margin-top: 5%;
}
		footer {
		padding-top: 20px;
	}
	.flex.align-center.flex-wrap-sp.gap-64.mb-40 {
    gap: 32px !important;
}
	.ttl-area.center.mb-40 span {
    font-size: 2.2rem;
}
	.grid-2-1fr {
    grid-template-columns: repeat(1, 1fr);
}
	.greeting-sec .inner {
	width: 90%;
	position: relative;
	z-index: 2;
}
	.greeting-sec .image-area {
	width:30%;
	margin-bottom: -0px;
}
	.greeting-sec .image-area .doctor-leaf {
	position: absolute;
	bottom: -120px;
	left:-70px;
	width:270px;
}
	.greeting-sec .image-area .doctor-img {
	width: 140%;
}
}


/*スマホ追記*/
@media screen and (max-width: 768px){
	.under .ttl-area h2 {font-size:1.25rem;}
	.sp_br{
		display:block;
	}
	.under .eyecatch h1 {font-size: 30px;}
	.time-table{
		width:100%;
	}
		.fee-sec table tr th ,
	.fee-sec table tr td {
		padding: 8px;
	}
	.under .fee-sec table tr td {font-size: 18px;}
	.center-text{
	text-align:left;
	margin-left:0%;
}
}

@media screen and (min-width: 768px){
		.sp_br{
		display:none;
	}
	.center-text{
	text-align:left;
	margin-left: 5%;
}
}

.fee-sec table tr th:nth-child(2) {
	border-radius: 0;
}

.sunday{
	border-radius:0 20px 0 0;
}
