@charset "utf-8";
html {
	line-height: 1;
	scroll-behavior: smooth;
}

body {
	font-size: 14px;
	font-weight: 400;
	line-height: 27px;
	letter-spacing: 0;
	font-family: "Noto Sans JP", sans-serif;
	color: #4E4339;
	background-color:#F3EBE1;
}
img {
	width:100%;
}
a:hover {
	opacity: 0.8;
	transition: 0.3s;
}
h1 ,
h2 ,
h3 ,
h4 {
	font-family: "Zen Maru Gothic", sans-serif;
}
.inner {
	width:85%;
	margin:0 auto;
}
.out-inner .inner {
	width:90%;
}
.out-inner {
	width:90%;
	margin:0 auto;	
}

.pc {
	display: block;
}
.sp {
	display: none;
}
.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;
}
.text-white {
	color:#fff!important;
}
.text-purple {
	color:#5C3A9B!important;
}
.text-orange {
	color:#F4984B!important;
}
.text-orange-pale {
	color:#F3BB8C!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-24 {
	margin-bottom: 24px!important;
}
.mb-30 {
	margin-bottom: 30px!important;
}
.mb-32 {
	margin-bottom: 32px!important;
}
.mb-40 {
	margin-bottom: 40px!important;
}
.mb-48 {
	margin-bottom: 48px!important;
}
.mb-60 {
	margin-bottom: 60px!important;
}
.mb-64 {
	margin-bottom: 64px!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;
}
.z-index-1 {
	z-index: 1;
}
/* header */
header {
	position: relative;
	top:0;
	width:100%;
	z-index: 10;
}
header .logo-area {
	padding: 40px 40px 40px 60px;
}
header {
  transition: transform 0.4s ease;
}

header.sticky {
  position: fixed;
  top: 10px;
  width: 100%;
  z-index: 10;
  animation: slideDown 0.4s ease forwards;
}

@keyframes slideDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
header.sticky .logo {
	width:137px;
}
header.sticky .logo-area {
	display: flex;
	gap:24px;
	padding: 0 0 0 40px;
}
.sticky-txt {
	display: none;
}
header.sticky .sticky-txt {
	display: block;
	font-size:11px;
	line-height: 150%;
	letter-spacing: 8%;
	color:#AEA49B;
	font-weight: 500;
}
header.sticky .sticky-area {
	width:95%;
	margin: 0 auto;
	background-color: #fff;
	border-radius: 50px;
}
.bg-logo-area {
	position: absolute;
	top: 0;
	left:0;
	z-index: 0;
	width:230px;
}
.bg-top-right-deco {
	position: absolute;
	top: 0;
	right:0;
	z-index: 0;
	width:556px;
}
.gnav {
	background-color: #fff;
	padding: 0 0 0 20px;
	border-radius: 50px;
	margin-right: 40px;
}
header.sticky .gnav {
	margin-right: 10px;
}
.gnav ul {
	display: flex;
	align-items: center;
}
.gnav ul li {
	position: relative;
	text-align: center;
	/*border-right: 1px solid #AAAAAA;*/
}
.gnav ul li:last-child::after {
	content: "";
	position: absolute;
	top: 20px;
	left: 0;
	width: 1px;
	height: calc(100% - 40px); /* 上下20pxずつ空ける */
	background: #E4DAD1;
}

.gnav ul li img {
	width:36px;
	height:auto;
	display: block;
	margin-right: 10px;
}

.gnav ul li a {
	display: block;
	font-size:15px;
	font-weight: 500;
	line-height: 24px;
	letter-spacing: 0;
	padding: 20px 23px;
	font-family: "Zen Maru Gothic" , sans-serif;
}
.gnav ul li a span {
	font-size:12px;
	color:#F4984B;
}
.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: 15px;
	font-weight: 500;
	line-height: 18px;
	letter-spacing: 8%;
	color:#403B36;
	padding: 0;
}
.gnav ul li.tel-nav {
	text-align: left;

}
.gnav ul li.tel-nav a {
	display: flex;
	font-size:29px;
	font-weight: 500;
	letter-spacing: 1px;
	align-items: flex-end;
	padding: 0 23px 20px;
}
.gnav ul li.tel-nav a .tel-txt {
	color:#8E7D70;
	font-size: 15px;
}
.gnav ul li.tel-nav a .hyphen {
	color:#9072C6;
	font-size: 18px;
	display: inline-block;
	vertical-align: bottom;
}

/*=============================
.btn-trigger
=============================*/
.humberger-btn {
	top:30px;
	right: 5%;
	z-index: 2;
	position: absolute;
}
.btn-trigger {
  position: relative;
  width: 56px;
  height: 40px;
  cursor: pointer;
  border-radius: 200px;
  background-color:#F4984B;
}
.btn-trigger span {
  position: absolute;
  left: 16px;
  width: 24px;
  height: 2px;
  background-color: #fff;
}
.btn-trigger.active span {
  width: 24px;
  background-color: #fff;
}
.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;
}


/*=============================
#btn01
=============================*/
#btn01.active span:nth-of-type(1) {
  -webkit-transform: translateY(20px) rotate(-35deg);
  transform: translateY(3px) rotate(-35deg);
}
#btn01.active span:nth-of-type(2) {
  -webkit-transform: translateY(-20px) rotate(35deg);
  transform: translateY(-6px) 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:100%;
	height: 100vh;
	background-image:url(./../img/bg/bg-humberger.webp);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	top:0;
	right:0;
	z-index: 1;
    position: fixed;
    overflow-y: auto;
}
.sp-nav-area.active ul {
	width:80%;
	margin:140px auto 0;
}
.sp-nav-area.active ul > li {
	position: relative;
}
.sp-nav-area.active li a {
	font-size:22px;
	font-weight: 500;
	line-height: 24px;
	color: #4E4339;
	letter-spacing: 0;
	padding: 16px 0;
	display: block;
	font-family: "Zen Maru Gothic", sans-serif;
}
.sp-nav-area.active li a span {
	font-size:12px;
	font-weight: 500;
	line-height: 24px;
	letter-spacing: 0;
	color:#F4984B;
	display: block;
}
.sp-sticky-cta {
	display: none;
}

/* fv */
.fv {
	height: /*80vh*/46vw;
}
.fv-area {	
	position: absolute;
	top:12%;
	left:0;
	z-index: 1;
}
.under .fv-area {	
	position: static;
}
.fv-area .fv-img img {
	width:73%;
}
.under .fv-area .fv-img {
	text-align: right;
}
.under .fv-area .fv-img img {
	width:65%;
}
.fv-catchcopy-area {
	position: absolute;
	z-index: 3;
	top:6%;
	right: 8%;
}
.fv-catchcopy-area h1 {
	writing-mode: vertical-rl;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size:34px;
	font-weight: 700;
	line-height: 68px;
}
.fv-info-area {
	padding: 30px 40px 30px;
	background-color: #fff;
	width:fit-content;
	border-radius: 0 120px 120px 0;
	position: absolute;
	bottom:-8%;
	left: 0;
	z-index: 2;
}
.fv-info-area .info-lead {
	font-size:21px;
	font-weight: 700;
	font-family: "Zen Maru Gothic", sans-serif;
	letter-spacing: 10%;
	line-height: 110%;
	margin-bottom: 20px;
}
.fv-info-area .flex {
	gap:30px;
}
.fv-info-area .ttl-area h2 {
	writing-mode: vertical-rl;
	font-size: 16px;
	font-weight: 700;
	font-family: "Zen Maru Gothic", sans-serif;
	line-height: 110%;
	letter-spacing: 10%;
}
.fv-info-area .table-area table tr {
	border-bottom: 1px solid #E4DAD1;
}
.fv-info-area .table-area table tr:last-child {
	border-bottom: none;
}
.fv-info-area .table-area table tr th ,
.fv-info-area .table-area table tr td ,
.fv-info-area .detail-area p {
	font-size:14px;
	font-weight: 500;
	font-family: "Zen Maru Gothic", sans-serif;
	line-height: 159%;
	letter-spacing: 10%;
}
.fv-info-area .table-area table tr th {
	padding: 0px 5px 10px;
}
.fv-info-area .table-area table tr td {
	padding: 10px 5px;
}
.fv-concept-area {
	position: absolute;
	bottom: -32%;
	right: 18%;
	z-index: 2;
}
.fv-concept-area-detail {
	padding: 140px 40px;
	border-radius: 160px; 
	background-color: #fff;
}
.fv-concept-area-detail img {
	width:157px;
	height: auto;
	position: absolute;
	top:-12%;
	left:0;
}
.fv-concept-area-detail .fv-concept-lead {
	font-size: 22px;
	font-weight: 700;
	line-height: 180%;
	letter-spacing: 10%;
	font-family: "Zen Maru Gothic", sans-serif;
	margin-bottom: 20px;
}
.fv-bottom-deco {
	position: absolute;
	bottom: -23%;
	left: 0;
	width:40%;
	z-index: 0;
}

/* concept */
.concept {
	padding:320px 0 80px;
}
.concept .inner {
	width:75%;
}
.concept .inner .ttl-area {
	width: 46.5%;
}
.ls-wide {
	letter-spacing: 15%;
}
.concept-ttl-deco {
	position: absolute;
	top:40%;
	left:4%;
	width:5%;
}
.concept-img {
	position: absolute;
	top:13%;
	right:0;
	width:55%;
	z-index: 2;
}


/* worries */
.worries {
	padding: 80px 0 0;
}
.worries-box {
	padding: 100px;
	background-color: #F3BB8C;
	border-radius: 120px;
}
.worries-box > .flex {
	gap:40px;
}
.worries-box .list-area {
	width:80%;
}
.worries-box .ttl-area {
	width:20%;
}
.worries-box .list-area ul {
	padding-left: 0;
}
.worries-box .list-area ul li {
	display: flex;
	width:49%;
	font-size:18px;
	font-weight: 700;
	line-height: 180%;
	letter-spacing: 10%;
	color:#4E4339;
	padding: 16px 0;
	border-bottom: 1px dashed #F3EBE1;
}
.worries-box .list-area ul li:nth-child(5) ,
.worries-box .list-area ul li:nth-child(6) {
	border-bottom: none;
}
.worries-box .list-area ul li .text-white {
	margin-right: 10px;
}
.worries-box .ttl-area h2 {
	writing-mode: vertical-rl;
	font-weight: 700;
	line-height: 84px;
	letter-spacing: 10%;
	color:#4E4339;
	padding-right: 20px;
	margin:0 0 0 auto;
}
.worries-box .ttl-area h2 span {
	padding-right: 20px;
}
.white-line {
	border-right: 3px solid #F3EBE1;
}
.attention-box {
	padding: 30px 80px;
	border-radius: 120px;
	display: flex;
	align-items: center;
	gap:60px;
	background-color: #fff;
	border:1px solid #DDDDDD;
	width:75%;
	margin:0 0 0 auto;
}
.attention-box .ttl-area{
	width:30%;
}
.attention-box .detail-area{
	width:70%;
}
.attention-box .ttl-area h3 {
	font-size:18px;
	font-weight: 700;
	line-height: 180%;
	letter-spacing: 10%;
	color:#4E4339;
}
.attention-box .detail-area .text-purple {
	font-weight: 700;
}

/* our style */
.our-style {
	padding: 0 0 80px;
}
.our-style .flex {
	gap:60px;
	align-items: flex-end;
}
.our-style .img-area {
	width:40%;
}
.our-style .detail-area {
	width:60%;
}
.our-style .detail-area h2 ,
.concept .ttl-area h2 {
	color:#4E4339;
	letter-spacing: 10%;
	line-height: 180%;
	font-weight: 700;
	margin-bottom: 40px;	
}
.our-style-deco {
	width:90%;
}
.our-style-img {
	width:25%;
	position: absolute;
	bottom: 15%;
	left: 0;
	z-index: 1;
}
/* mechanism */
.mechanism {
	padding:80px 0;
}
.mechanism .en-ttl {
	font-size:12px;
	font-weight: 900;
	line-height: 180%;
	letter-spacing: 10%;
	margin-bottom: 20px;
}
.mechanism .h2-ttl {
	font-size:22px;
	font-weight: 700;
	line-height: 180%;
	letter-spacing: 10%;
	color:#4E4339;
	margin-bottom: 40px;
}
.mechanism .h2-ttl p {
	font-size:15px;
}
.mechanism .detail-area {
	width:60%;
}
.mechanism .img-area {
	width:40%;
}
.mechanism .flex {
	gap:60px;
}
.mechanism .btn {
	padding: 12px 14px;
	border-radius: 50px;
	color:#FEFFFD;
	background-color: #F4984B;
	font-size:18px;
	font-weight: 500;
	line-height: 24px;
	letter-spacing: 6%;
	display: inline-block;
	font-family: "Zen Maru Gothic", sans-serif;
}
.mechanism .counseling-box .btn {
	background-color: #fff;
	color:#5C3A9B;
}
.mechanism .btn img {
	width:18px;
	height: auto;
	vertical-align: bottom;
	margin-left: 10px;
	margin-bottom: 1px;
}
.mechanism .lead-txt ,
.our-style .detail-area .lead-txt ,
.concept .ttl-area .lead-txt {
	font-size:18px;
	font-weight: 700;
	line-height: 180%;
	letter-spacing: 10%;
	color:#4E4339;
	font-family: "Zen Maru Gothic", sans-serif;
}
.mechanism-box ,
.root-cause-box ,
.guidance-box {
	padding: 80px;	
}
.mechanism-box {
	background-color: #FFFCF7;
	border-radius: 120px 120px 0 0;
}
.root-cause-box {
	background-color: #FFFFFF;
}
.guidance-box {
	background-color: #F7F4FE;
	border-radius: 0 0 120px 120px;	
}
.counseling-box {
	background:linear-gradient(125deg , #9072C6,#4284B3);
	border-radius: 40px;
}
.counseling-box .box-inner {
	padding: 28px;
	border-radius: 40px;
	background-image:url(./../img/bg/bg-counseling-box.webp);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color:#FFFFFF;
}
.counseling-box .box-inner h3 {
	font-size:22px;
	font-weight:700;
	line-height: 180%;
	letter-spacing: 10%;
	margin-bottom: 28px;
}
.counseling-box .box-inner p {
	margin-bottom: 28px;
}


/* doctor */
.doctor {
	padding:80px 0 ;
}
.doctor .ttl-area {
	width:30%;
}
.doctor .detail-area {
	width:70%;
}
.doctor .ttl-area .h2-ttl {
	writing-mode: vertical-rl;
	font-size:34px;
	font-weight: 700;
	color:#4E4339;
	line-height: 84px;
	letter-spacing: 0;
	margin-bottom: 220px;
	margin-left: -24px;
}
.doctor .ttl-area .h2-ttl span {
	padding-right: 20px;
}

.doctor .detail-area img {
	width:100%;
}
.doctor .detail-area .name-box {
	position: absolute;
	bottom: min(2.2vw, 40px);
	right:-40px;
	padding: min(1.6vw, 30px) min(2.7vw, 50px);
	border-radius: 80px;
	display: flex;
	gap:20px;
	background-color: #fff;
}
.doctor .detail-area .name-box .post-name {
	writing-mode: vertical-rl;
	text-align: center;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 10%;
	color:#8E7D70;
	font-family: "Zen Maru Gothic", sans-serif;
}
.doctor .detail-area .name-box .name-area p {
	font-size:26px;
	font-weight: 700;
	letter-spacing: 10%;
	color:#4E4339;
	font-family: "Zen Maru Gothic", sans-serif;
}
.doctor .detail-area .name-box .name-area p span {
	font-size:14px;
}
.doctor-deco {
	position: absolute;
	top:-2%;
	right: 0;
	width:40%;
	z-index: 0;
}
/* philosophy */
.philosophy {
	padding:80px 0 120px;
}
.philosophy > .flex {
	gap:40px;
}
.philosophy .content-area {
	width:70%;
}
.philosophy .ttl-area {
	width:30%;
}
.philosophy-box {
	background-color: #fff;
	padding: 80px;
	border-radius: 80px;
}
.philosophy-box h3 ,
.doctor .detail-area h3 {
	font-size: 22px;
	font-weight: 700;
	line-height: 180%;
	letter-spacing: 10%;
	color:#4E4339;
	margin-bottom: 20px;
}
.philosophy-box p {
	font-size: 15px;	
}
.philosophy .ttl-area img {
	width:300px;
	margin-bottom: 60px;
}
.philosophy .ttl-area .h2-ttl {
	writing-mode: vertical-rl;
	font-size:34px;
	font-weight: 700;
	color:#4E4339;
	line-height: 84px;
	margin:0 auto;
	letter-spacing: 0;
}
.philosophy .ttl-area .h2-ttl span {
	padding-right: 20px;
}
.h2-ttl .orange-line {
	border-right:3px solid #F3BB8C;
}
.h2-ttl .purple-line {
	border-right:3px solid #C4B1E6;
}
.philo-img {
	width:38%;
	position: absolute;
	bottom: 0;
	right:0;
	z-index: 0;
}
.philo-deco {
	width:40%;
	position: absolute;
	top:20%;
	left: 0;
	z-index: 0;
}
/* flow */
.flow {
	padding: 80px 0;
}
.flow .en-ttl {
	line-height: 1;
	margin-bottom: 20px;
}
.flow-img {
	position: absolute;
	top:32%;
	left: 0;
	width:28%;
}
.flow-deco {
	position: absolute;
	bottom:0;
	right:0;
	width:20%;
}
.flow .h2-ttl {
	color:#4E4339;
	font-weight: 700;
	font-size: 34px;
	letter-spacing: 0;
}
.flow-box {
	padding: 24px 33px;
	background-color: #fff;
	border-radius: 80px;
	border:1px solid #EEEEEE;
	display: flex;
	gap:24px;
	margin-bottom: 20px;
	align-items: center;
}
.detail-box .content .content-area .flow-box {
	border:none;
	background-color: #FFFCF7;
}
.flow-box:last-child {
	margin-bottom: 0;
}
.flow-box .num {
	width:60px;
	text-align: center;
}
.flow-box .num p ,
.flow-box .detail h3 {
	font-size: 22px;
	font-weight: 700;
	font-family: "Zen Maru Gothic", sans-serif;
	line-height: 180%;
	letter-spacing: 10%;	
}
.flow-box .detail {
	padding: 0;
}
.flow-box .detail h3 {
	color:#4E4339;
	margin-bottom: 0;
}
.detail-box .content .content-area .flow-box .num p {
	font-size: 22px;
}

/* first visit */
.first-visit {
	background-color: #FDE5D1;
	padding: 120px 0 400px; 
}

.first-visit .detail-area ,
.flow-visit .ttl-area {
	width:30%;
}
.first-visit .detail-area h2 {
	font-size: 34px;
	color:#4E4339;
	font-weight: 700;
	letter-spacing: 0;
	margin-bottom: 40px;
}
.first-visit .content-area ,
.flow .content-area {
	width:70%;
}
.fv-box {
	background-color: #FFFFFF;
	border:1px solid #EEEEEE;
	padding: 24px 60px;
	border-radius: 80px;
	margin-bottom: 20px;
}
.fv-box:last-child {
	margin-bottom: 0;
}
.fv-box h3 {
	font-size:22px;
	font-weight: 700;
	line-height: 180%;
	letter-spacing: 10%;
	font-family: "Zen Maru Gothic", sans-serif;
}

/* infomation */
.infomation {
	padding-top:400px;
	background-color: #fff;
	border-radius: 80px 80px 0 0;
	margin-top: -60px;
}
.cta-area {
	border-radius: 80px;
	position: absolute;
	left:0;
	right:0;
	margin:0 auto;
	width:85%;
	top:-12%;	
	background-image: url(./../img/bg/bg-cta.webp);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.bg-cta {
	background:linear-gradient(to right,rgba(130, 105, 69,0.75),rgba(132, 116, 161,0.75));
	padding: 120px 80px;
	border-radius: 80px;
	position: relative;
}
.cta-left {
	position: absolute;
	left:0;
	border-radius: 80px 0 0 80px;
	width:20%;
	top:0;
} 
.cta-right {
	position: absolute;
	right:0;
	border-radius:0 80px 80px 0;
	width:20%;
	top:0;
} 
.cta-area .h2-ttl ,
.cta-area p {
	color:#FEFFFD;
}
.cta-area .en-ttl {
	color:#FEFFFD!important;

}
.cta-area p {
	font-size:18px;
	font-weight:500;
	line-height: 36px;
	letter-spacing: 9%;
	font-family: "Zen Maru Gothic", sans-serif;
}
.cta-area .tel-area {
	padding: 20px 40px 24px;
	background-color: #FEFFFD;
	border-radius: 40px;
	height: fit-content;
}
.cta-area .tel-area .flex {
	gap:40px;
}
.cta-area .tel-area .tel-num {
	font-size:54px;
	font-weight:500;
	font-family: "Zen Maru Gothic", sans-serif;
	letter-spacing: 7px;
	color:#4E4339;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
}
.cta-area .tel-area .tel-num span {
	font-size:33px;
	font-family: "Zen Maru Gothic", sans-serif;
	letter-spacing: 2px;
	color:#9072C6;
	/*display: inline-block;
	vertical-align: bottom;*/
}
.cta-area .tel-area img {
	width:64px;
	height: auto;
	/*vertical-align: sub;*/
	margin-right: 20px;
	margin-top: 6px;
}
.cta-area .tel-area .dow-txt {
	color:#4E4339;
	font-size: 14px;
	font-weight: 500;
	line-height: 150%;
}
.infomation .en-ttl ,
.cta-area .en-ttl {
	font-size:16px;
	font-weight: 700;
	letter-spacing: 9%;
	font-family: "Zen Maru Gothic", sans-serif;
	color:#9072C6;
	text-transform: uppercase;
}
.en-ttl {
	font-size:12px;
	font-weight: 900;
	line-height: 180%;
	letter-spacing: 10%;
	font-family: "Zen Maru Gothic", sans-serif;
	color:#9072C6;
	text-transform: uppercase;
}
.h2-ttl {
	font-size:32px;
	font-weight: 500;
	line-height: 56px;
	letter-spacing: 9%;
	font-family: "Zen Maru Gothic", sans-serif;
	color:#E4781D;
}
.infomation .detail-area table {
	width:100%;
	margin-top: 60px;
}
.infomation .detail-area table tr th ,
.infomation .detail-area table tr td {
	font-size: 15px;
	line-height: 24px;
	padding: 10px 0;
}
.infomation .detail-area table tr th {
	font-weight: 500;
	color:#4E4339;
	width:20%;
}
.infomation .detail-area table tr td {
	font-weight: 400;
	color:#373E30;
}
.map-area {
	width:50%;
}
.gmap {
	width:100%;
	aspect-ratio:3.4 / 3;
	border-radius:20px; 
}
.map-area a {
	font-size:15px;
	font-weight:400;
	line-height: 32px;
	letter-spacing: 0.6px;
	color:#E4781D;
	text-decoration: underline;
}
.map-area a img {
	width:18px;
	height: auto;
	vertical-align: middle;
	margin-right: 6px;
}

.slider-area {
	padding: 120px 0 160px;
	background-color: #fff;
}
.slider-area-deco {
	position: absolute;
	top:0;
	left:0;
	width:45%;
	z-index: 0;
}
/* footer */
footer {
	padding:160px 100px;
	background:linear-gradient(125deg,#F3BB8C,#FFC966);
}
.footer-logo {
	width:241px;
	margin-bottom: 60px;
}
footer .detail-area {
	padding: 30px 40px 30px;
	background-color: #fff;
	width:fit-content;
	height: fit-content;
	min-width: 700px;
	border-radius: 120px;
}
footer .detail-area .flex {
	gap:30px;
	justify-content: center;
}
footer .detail-area .ttl-area h2 {
	writing-mode: vertical-rl;
	font-size: 16px;
	font-weight: 700;
	font-family: "Zen Maru Gothic", sans-serif;
	line-height: 110%;
	letter-spacing: 10%;
	padding: 20px 0;
}
footer .detail-area .table-area table tr {
	border-bottom: 1px solid #E4DAD1;
}
footer .detail-area .table-area table tr:last-child {
	border-bottom: none;
}
footer .detail-area .table-area table tr th ,
footer .detail-area .table-area table tr td ,
footer .detail-area .detail-area p {
	font-size:14px;
	font-weight: 500;
	font-family: "Zen Maru Gothic", sans-serif;
	line-height: 159%;
	letter-spacing: 10%;
}
footer .detail-area .table-area table tr th {
	padding: 0px 5px 10px;
}
footer .detail-area .table-area table tr td {
	padding: 10px 5px;
}
.footer-link-area {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap:40px;
	max-width:700px;
}
.footer-link-area ul li a {
	font-family: "Zen Maru Gothic",sans-serif;
	font-size: 16px;
	font-weight:700;
	letter-spacing: 5%;
	color:#4E4339;
}
.footer-link-area ul li {
	margin-bottom: 20px;
}
.footer-link-area ul li:last-child {
	margin-bottom: 0;
}
.bg-footer-deco {
	position: absolute;
	top:0;
	right:0;
	width:40%;
	z-index:0;
}

/* under */
/* page - mechanism */
.breadcrumbs {
	font-size:13px;
	font-family: "Zen Maru Gothic", sans-serif;
	padding:8px 16px;
	border-radius: 12px;
	background-color:#fff;
	position: absolute;
	top:-15px;
	right:10%;
	align-content: center;
	line-height: 100%;
	letter-spacing: 0;
}
.breadcrumbs span {
	margin:0 10px;
}
.under .fv {
	height: auto;
	margin-bottom: 40px;
}
.under .fv-area {	
	position: static;
}
.under .fv-area .fv-img {
	text-align: right;
	margin-top: 20px;
}
.under .fv-area .fv-img img {
	width:65%;
}
.under .fv-concept-area {
	position: absolute;
	bottom: 24%;
	right: unset;
	left:8%;
	z-index: 1;
	max-width: 40%;
}
.under .fv-concept-area-detail {
	padding: 40px 60px;
	border-radius: 80px; 
	background-color: #fff;
}
.under .fv-concept-area-detail img {
	width:100px;
	height: auto;
	position: absolute;
	/* %指定だと画面幅によって本文に重なるためpx指定に変更 */
	top:-40px;
	left:-40px;
}
.under .fv-concept-area-detail .fv-concept-lead {
	font-size: 18px;
	font-weight: 700;
	line-height: 160%;
	letter-spacing: 8%;
	font-family: "Zen Maru Gothic", sans-serif;
	margin-bottom: 20px;
}
.under .fv-concept-area-detail h1 {
	font-size:36px;
	font-weight: 700;
	line-height: 140%;
	letter-spacing: 8%;
	margin-bottom: 10px;
}
.under .fv-concept-area-detail p {
	font-size: 15px;
	line-height: 180%;
	letter-spacing: 0;
}

.under .fv-bottom-deco {
	bottom: -60%;
}
.detail {
	padding: 40px 0;
}
#fee {
	scroll-margin-top: 120px;
}
.detail .h2-ttl {
	color:#4E4339;
}
.detail-box {
	padding: 60px min(6vw, 110px);
	border-radius: 130px;
	background-color: #fff;
	position: relative;
	z-index: 1;
}
.detail-box h2 ,
.profile-box h2 ,
.message-box h2 {
	font-size:32px;
	font-weight: 700;
	line-height: 180%;
	letter-spacing: 10%;
	font-family: "Zen Maru Gothic", sans-serif;
	margin-bottom: 48px;
}
.detail-box h3,
.profile-box h3 ,
.message-box h3 {
	font-size:22px;
	font-weight: 700;
	line-height: 180%;
	letter-spacing: 8%;
	font-family: "Zen Maru Gothic", sans-serif;
	margin-bottom: 32px;
}
.profile-box h2 ,
.message-box h2,
.profile-box h3 ,
.message-box h3 {
	margin-bottom: 24px;
}
.detail-box .lead ,
.detail-box .content .lead {
	font-size:22px;
	font-weight: 700;
	line-height: 180%;
	letter-spacing: 8%;
	font-family: "Zen Maru Gothic", sans-serif;
	margin-bottom: 24px;
}
.detail-box p {
	font-size: 16px;
}
.detail-box p.en-ttl {
	font-size: 12px;
}
.detail .bg-r {
	position: absolute;
	right: 0;
	top:30%;
	width:35%;
}
.detail.contact .bg-r {
	position: absolute;
	right: 0;
	top:2%;
	width:31%;
}
.detail .bg-l {
	position: absolute;
	left: 0;
	top:30%;
	width:35%;
}
.infomation .bg-l {
	position: absolute;
	left: 0;
	top:-48%;
	width:30%;
	z-index:0;
}
.detail.mec-01 .bg-l {
	top:unset;
	bottom:-30%;
}
.detail-box .content {
	padding: 40px 0;
	border-bottom: 2px dashed #F3BB8C;
}
.detail-box .content:first-child {
	padding-top: 0;
}
.detail-box .content:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
.detail-box .content .flex {
	gap:64px;
}
.detail-box .content .text-area {
	width:65%;
}
.detail-box .content .img-area {
	width:35%;
}
.detail-box .content p {
	font-size: 15px;
}
.detail-box .content .en-ttl {
	font-size: 12px;
	margin-bottom: 10px;
}
.detail-box .flex.gap-32 {
	gap:32px;
}
.detail-box .flex-content {
	width:50%;
	padding: 24px 32px;
	border-radius: 40px;
	background-color:#FFFCF7;
}
.detail-box table {
	width:100%;
	border-radius: 12px;
}
.detail-box table.fee-table {
	margin-bottom: 16px;
}
.detail-box table tr.th-area {
	background-color: #4E4339!important;
}
.detail-box table tr:nth-child(even) {
	background-color: #F3EBE1;
}
.detail-box table tr:nth-child(odd) {
	background-color: #FFFCF7;
}
.detail-box table tr th ,
.detail-box table tr td {
	padding: 8px 16px;
	font-size: 16px;
	line-height: 160%;
	font-weight: 700;
}
.detail-box table.fee-table tr th ,
.detail-box table.fee-table tr td {
	width:50%;
}
.detail-box table tr th {
	color:#fff;
}
.detail-box table tr td:nth-child(2) {
	font-weight: 400;
}
.detail-box table tr th:nth-child(1) {
	border-radius: 12px 0 0 0;
}
.detail-box table tr th:nth-child(2) ,
.detail-box table tr:nth-child(3) td:nth-child(2) ,
.detail-box table tr:nth-child(5) td:nth-child(2) {
	border-left:1px solid #F3EBE1;
	border-right:1px solid #F3EBE1;
}
.detail-box table.fee-table tr:nth-child(3) td:nth-child(2) {
	border-right: none;
}
.detail-box table tr th:nth-child(3) ,
.detail-box table.fee-table tr th:nth-child(2) {
	border-radius: 0 12px 0 0;
}
.detail-box table tr:nth-child(6) td:nth-child(1) ,
.detail-box table.fee-table tr:nth-child(3) td:nth-child(1) {
	border-radius: 0 0 0 12px;
}
.detail-box table tr:nth-child(6) td:nth-child(3) ,
.detail-box table.fee-table tr:nth-child(3) ,
.detail-box table.fee-table tr:nth-child(3) td:nth-child(2) {
	border-radius: 0 0 12px 0;
}


.panel {
  border-radius: 60px;
  padding: 40px 20px;
  margin-bottom: 16px;
  background-color: #FFFCF7;
}

.panel-header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #FFFCF7;
  border: none;
  cursor: pointer;
  font-size: 18px;
  font-weight: 700;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 180%;
  letter-spacing: 8%;
  text-align: left;
  padding: 0 16px;
}
.q-subject {
	display: flex;
	align-items: center;
}
.qa-icon {
	width:48px;
	height: auto;
	margin-right:24px; 
}
.panel-header .icon {
  font-size: 28px;
  font-weight: 400;
  transition: transform 0.3s;
}

.panel-header.active .icon {
  transform: rotate(45deg);
}

.panel-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease-in;
}

.panel-content.active {
  max-height: 1000px; /* コンテンツより大きい値 */
}
.content .panel-content .panel-body {
  padding: 16px;
  border-radius: 32px;
  background-color: #fff;
  margin-top: 16px;
}
.panel-body p {
	display: flex;
	align-items: flex-start;
}
.panel-body span {
	width:90%;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 8%;
  color: #444444;
  line-height: 160%;
}
.under .infomation {
	padding: 40px 0;
	background-color: unset;
	border-radius: unset;
	margin-top: 0;
}
.under .cta-area {
	position: static;
	width:100%;
}

.detail-box .list-area {
	width:100%;
}
.detail-box .list-area ul {
	padding-left: 0;
}
.detail-box .list-area ul li {
	display: flex;
	width:49%;
	font-size:18px;
	font-weight: 700;
	line-height: 180%;
	letter-spacing: 10%;
	color:#4E4339;
	padding: 16px 0;
	border-bottom: 1px dashed #4E4339;
  	font-family: "Zen Maru Gothic", sans-serif;
}
.detail-box .list-area ul li:last-child {
	border-bottom: none;
}
.detail-box .list-area ul li .text-orange {
	margin-right: 10px;
}
.foryou-img {
	margin-top: -60px;
}
.bb-dashed {
	border-bottom: 2px dashed #4E4339;
	padding-bottom: 8px;
}
.fee-list li {
	font-size:15px;
	line-height: 27px;
	padding: 4px 0;
}
.fee-list li .text-orange {
	margin-right: 16px;
}
.missions .detail-box ,
.hours .detail-box ,
.ourstyle .detail-box {
	background-color: #FFFCF7;
}
.missions .detail-box .flex-content {
	background-color:#FFF;
}
.doctor-img-area {
	width:27%;
}
.profile-area {
	width:74%;
	margin-left: -1%;
}
.profile-box ,
.message-box {
	padding: 40px 110px;
}
.message-box {
	background-color: #fff;
	border-radius: 130px;
}
.doctor-img-area .name-box {
	position: absolute;
	bottom: 4%;
	left:6%;
	padding:30px;
	border-radius: 80px;
	display: flex;
	gap:20px;
	background-color: #fff;
}
.doctor-img-area .name-box .post-name {
	writing-mode: vertical-rl;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 10%;
	color:#8E7D70;
	font-family: "Zen Maru Gothic", sans-serif;
}
.doctor-img-area .name-box .name-area p {
	font-size:21px;
	line-height: 100%;
	font-weight: 700;
	letter-spacing: 10%;
	color:#4E4339;
	font-family: "Zen Maru Gothic", sans-serif;
}
.doctor-img-area .name-box .name-area p span {
	font-size:11px;
}
.flex.clinic-info {
	gap:48px;
}
.flex.clinic-info .detail-area ,
.flex.clinic-info .map-area {
	width:50%;
}
.clinic-table ,
.detail-box .clinic-table {
	width:100%;
	border-radius: 12px;
}
.clinic-table tr ,
.detail-box .clinic-table tr ,
.detail-box .clinic-table tr:last-child  {
	border-bottom: 1px solid #F3EBE1;
}
.clinic-table tr:last-child {
	border-bottom: none;
}
.clinic-table tr:nth-child(even) ,
.detail-box .clinic-table tr:nth-child(even) {
	background-color: #FFFCF7;
}
.clinic-table tr:nth-child(odd) ,
.detail-box .clinic-table tr:nth-child(odd) {
	background-color: #FFF;
}
.clinic-table tr:nth-child(1) th ,
.detail-box .clinic-table tr:nth-child(1) th {
	border-radius: 12px 0 0 0;
}
.clinic-table tr:nth-child(1) td ,
.detail-box .clinic-table tr:nth-child(1) td {
	border-radius: 0 12px 0 0;
}
.clinic-table tr:last-child th ,
.detail-box .clinic-table tr:last-child th {
	border-radius: 0 0 0 12px;
}
.clinic-table tr:last-child td ,
.detail-box .clinic-table tr:last-child td {
	border-radius: 0 0 12px 0;
}
.clinic-table th ,
.clinic-table td ,
.detail-box .clinic-table th ,
.detail-box .clinic-table td {
	padding: 8px 16px;
	font-size: 16px;
	line-height: 160%;
	letter-spacing: 0;
	font-family: "Zen Maru Gothic", sans-serif;	
	color:#4E4339;
}
.clinic-table th ,
.detail-box .clinic-table th {
	font-weight: 700;
	border-right: 1px solid #F3EBE1;
}
.clinic-table th {
	white-space: nowrap;
}
.detail-box table.clinic-table tr th:nth-child(2) , 
.detail-box table.clinic-table tr:nth-child(3) td:nth-child(2) , 
.detail-box table.clinic-table tr:nth-child(5) td:nth-child(2) {
	border-right: none;
	border-left: none;
}
.medical-time-box {
	padding: 25px 40px;
	background-color: #fff;
	border-radius: 12px;
}
.medical-time-box h3 {
	font-size: 16px;
	font-weight: 700;
	font-family: "Zen Maru Gothic", sans-serif;	
	letter-spacing: 10%;
	margin-bottom: 16px;
}
.medical-time-box .flex {
	gap:24px;
}
.medical-time-box .time-table {
	width:75%;
}
.medical-time-box .time-table tr {
	border-bottom: 1px solid #E4DAD1;
}
.medical-time-box .time-table tr:last-child {
	border-bottom: none;
}
.medical-time-box .time-table tr th ,
.medical-time-box .time-table tr td {
	font-size: 14px;
	line-height: 160%;
	font-weight: 500;
	letter-spacing: 10%;
	padding: 10px 5px;
	font-family: "Zen Maru Gothic", sans-serif;	
}
.medical-time-box .time-table tr th {
	padding-top: 0;
}
.medical-time-box .detail-area {
	width:25%;
}
.medical-time-box .detail-area p {
	font-size: 14px;
	font-weight: 500;
	font-family: "Zen Maru Gothic", sans-serif;	
	line-height: 160%;
	letter-spacing: 10%;
}
.hours .detail-box .bg-white {
	padding: 40px 60px;
	border-radius: 80px;
	gap:64px;
}
.hours .detail-box .flex .time-table-area {
	width:70%;
}
.hours .detail-box .flex .detail-area {
	width:30%;
}
.hours .detail-box table tr {
	border-bottom: 1px solid #E4DAD1;
}
.hours .detail-box table tr:last-child {
	border-bottom: none;
}
.hours .detail-box table tr:nth-child(odd) ,
.hours .detail-box table tr:nth-child(even) {
	background-color: #fff;
}
.hours .detail-box table tr th:nth-child(2) , 
.hours .detail-box table tr:nth-child(3) td:nth-child(2) , 
.hours .detail-box table tr:nth-child(5) td:nth-child(2) {
	border-left: none;
	border-right:none;
}
.hours .detail-box table tr th ,
.hours .detail-box table tr td {
	font-size: 22px;
	font-weight: 500;
	line-height: 160%;
	letter-spacing: 10%;
	font-family: "Zen Maru Gothic", sans-serif;
}
.hours .detail-box table tr th {
	color:#4E4339;
}
.hours .detail-box .detail-area .holiday {
	font-size: 20px;
	font-weight: 500;
	line-height: 159%;
	letter-spacing: 10%;
	font-family: "Zen Maru Gothic", sans-serif;
	margin-bottom: 10px;
}
.hours .detail-box .detail-area .med-time {
	font-size: 18px;
	font-weight: 500;
	line-height: 160%;
	letter-spacing: 10%;
	font-family: "Zen Maru Gothic", sans-serif;
}
.ourstyle .flex {
	gap:32px;
}
.ourstyle .flex .ourstyle-area ,
.ourstyle .flex .map-area {
	width:50%;
}
.ourstyle .flex .ourstyle-area .h2-ttl ,
.ourstyle .flex .map-area .h2-ttl {
	font-size: 28px;
}
.ourstyle .flex .map-area h3 {
	font-size: 18px;
}
.ourstyle .flex .map-area p {
	font-size: 14px;
	line-height: 180%;
}
.ourstyle-area .clinic-table tr th ,
.ourstyle-area .clinic-table tr td {
	padding: 16px;
}
.ourstyle .gmap {
	aspect-ratio:5 / 3;
}
.adconfirm-box {
	padding: 40px 110px;
	background-color: #fff;
	border-radius: 80px;
}
.adconfirm-box h2 {
	font-size: 22px;
	font-weight: 700;
	line-height: 180%;
	letter-spacing: 8%;
	font-family: "Zen Maru Gothic", sans-serif;	
}
.adconfirm-list {
	padding-left: 0;
}
.adconfirm-list li {
	font-size: 15px;
	display: flex;
	align-items: center;
	padding: 4px 0;
}
.adconfirm-list li .text-orange {
	margin-right: 10px;
}
.form-box {
	background-color: #FDE5D1;
}
.form-box .h2-ttl {
	font-size: 28px;
}
.label-area {
	padding:8px 16px;
}
label {
	font-size: 16px;
	font-weight: 700;
	line-height: 160%;
	letter-spacing: 0;
	font-family: "Zen Maru Gothic", sans-serif;	
}
.must ,
.any {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0;
	font-family: "Zen Maru Gothic", sans-serif;
	color:#fff;
	padding: 4px;
	border-radius: 8px;
	line-height: 100%;
	align-content: center;
	width:fit-content;
}
.must {
	background-color: #F4984B;
}
.any {
	background-color: #CABEE0;
}
.form-box .wpcf7-form-control-wrap {
	width:100%;
}
.form-box input ,
.form-box textarea {
	width:100%;
	background-color:#fff;
	padding:16px;
	border-radius:20px;
	display:block;
}
.form-box .privacypolicy {
	color:#E4781D;
	text-decoration: underline;
}
.form-box .submit-btn {
	padding: 16px 48px 16px 32px;
	border-radius: 80px;
	background-color: #F4984B;
	color:#fff;
	font-size: 18px;
	font-weight: 500;
	line-height: 24px;
	letter-spacing: 6%;
	display: inline-block;
	font-family: "Zen Maru Gothic", sans-serif;
	width:fit-content;
}
.submit-wrap {
	position: relative;
	display: inline-block;
}
.submit-wrap::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	background: url('/wp-content/themes/senju/img/icon/submit-arrow.svg') no-repeat center center;
	background-size: contain;
	pointer-events: none;
}
.wpcf7-spinner {
	display:none!important;
}
.contact .flex {
	gap:32px;
}
.contact .flex .form-area {
	width:75%;
}
.contact .flex .form-area .flex {
	gap:0;
}
.contact .flex aside {
	width:25%;
}
::placeholder {
	color:15px;
	line-height:160%;
	letter-spacing:0;
	color:#C6C1C1;
}
input[type="radio" i] ,
input[type="checkbox" i] {
	background-color:unset;
	width:auto;
	display:inline;
	appearance:auto;
}
.wpcf7-list-item-label {
	font-size:15px;
	font-weight:500;
}
.wpcf7-select {
	background-color:#fff;
	padding:16px;
	margin:0 8px;
	border-radius:16px;
	font-size:15px;
	line-height:160%;
}
.hope-label {
	padding:8px 16px;
	font-size:15px;
	font-weight:700;
	line-height:160%;
	letter-spacing:0;
}
.hope-date-attention {
	padding:8px 16px;
	font-size:14px;
	line-height:160%;
}
aside .tel-contact-box ,
aside .access-detail-box {
	padding: 27px;
	background-color: #fff;
	border-radius: 16px;
	position: relative;
	z-index: 1;
}
aside .tel-contact-box {
	margin-bottom:16px; 
}
aside .tel-contact-box h3 ,
aside .access-detail-box h3 {
	font-size: 18px;
	font-weight: 700;
	line-height: 180%;
	letter-spacing: 4%;
	font-family: "Zen Maru Gothic", sans-serif;	
	margin-bottom: 16px;
}
aside .tel-contact-box p ,
aside .access-detail-box p {
	font-size: 14px;
	line-height: 160%;
	letter-spacing: 0;
}
aside .tel-contact-box img {
	width:40px;
	height: auto;
	margin-right: 10px;
}
aside .tel-contact-box .tel-num {
	display: flex;
	align-items: center;
	font-size: 34px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	letter-spacing: 1%;
	margin-bottom: 8px;
}
aside .tel-contact-box .tel-num p span {
	font-size: 20px;
}
.pc-sticky-cta {
	display:flex;
	position:fixed;
	bottom:10px;
	right:10px;
	z-index:10;
}
.pc-fix-tel ,
.pc-fix-mail ,
.pc-fix-access {
	display:flex;
	justify-content:center;
	align-items:center;
	padding:12px 24px;
	border-radius:100px;
	color:#fff;
	font-size:12px;
	font-weight:500;
	letter-spacing:0%;
	line-height:18px;
	font-family: "Zen Maru Gothic", sans-serif;
	margin:0 4px;
}
.pc-fix-tel {
	background-color:#9072C6;	
}
.pc-fix-mail {
	background-color:#F3BB8C;	
}
.pc-fix-access {
	background-color:#4284B3;	
}
.pc-fix-tel img ,
.pc-fix-mail img ,
.pc-fix-access img{
	width:36px;
	margin-right:6px;
}
.pc-fix-tel .tel-num {
	font-size:20px;
	letter-spacing:1%;
}
.pc-fix-mail .tel-num ,
.pc-fix-access .tel-num {
	font-size:18px;
	letter-spacing:1%;	
}
@media (1160px <= width < 1280px) {
	
}
@media (769px <= width < 1159px) {
	
}
@media (769px <= width < 1319px) {
	
}
@media screen and (max-width: 767px) {
	body {
		font-size: 13px;
		line-height: 160%;
	}
	.inner {
		width:90%;
	}
	.pc {
		display: none!important;
	}
	.sp {
		display: block!important;
	}
	.flex-sp {
		display: flex;
	}
	.relative-sp {
		position: relative;
	}
	.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 */
	header {
		position: relative;
		top:0;
		width:100%;
		z-index: 10;
	}
	header .logo-area {
		padding: 30px 20px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap:20px;
		z-index:10;
	}
	header .logo {
		width:137px;
	}
	header {
	  transition: transform 0.4s ease;
	}

	header.sticky {
	  position: fixed;
	  top: 10px;
	  width: 100%;
	  z-index: 10;
	  animation: slideDown 0.4s ease forwards;
	}

	@keyframes slideDown {
	  from {
	    transform: translateY(-100%);
	  }
	  to {
	    transform: translateY(0);
	  }
	}
	header.sticky .logo {
		width:137px;
	}
	header.sticky .logo-area {
		display: flex;
		gap:24px;
		padding: 8px 0 0 20px;
	}
	.sticky-txt {
		display: block;
		font-size:11px;
		line-height: 150%;
		letter-spacing: 8%;
		color:#AEA49B;
		font-weight: 500;
	}
	header.sticky .sticky-area {
		width:95%;
		margin: 0 auto;
		background-color: unset;
		border-radius: 50px;
	}
	.bg-top-right-deco {
		position: absolute;
		top: 0;
		right:0;
		z-index: 0;
		width:40%;
	}
	.gnav {
		background-color: #fff;
		padding: 0 0 0 20px;
		border-radius: 50px;
		margin-right: 40px;
	}
	header.sticky .gnav {
		margin-right: 10px;
	}
	header.sticky .humberger-btn {
		top:0;
	}
	.gnav ul {
		display: flex;
		align-items: center;
	}
	.gnav ul li {
		position: relative;
		text-align: center;
		/*border-right: 1px solid #AAAAAA;*/
	}
	.gnav ul li:last-child::after {
		content: "";
		position: absolute;
		top: 20px;
		left: 0;
		width: 1px;
		height: calc(100% - 40px); /* 上下20pxずつ空ける */
		background: #E4DAD1;
	}

	.gnav ul li img {
		width:36px;
		height:auto;
		display: block;
		margin-right: 10px;
	}

	.gnav ul li a {
		display: block;
		font-size:15px;
		font-weight: 500;
		line-height: 24px;
		letter-spacing: 0;
		padding: 20px 23px;
		font-family: "Zen Maru Gothic" , sans-serif;
	}
	.gnav ul li a span {
		font-size:12px;
		color:#F4984B;
	}
	.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: 15px;
		font-weight: 500;
		line-height: 18px;
		letter-spacing: 8%;
		color:#403B36;
		padding: 0;
	}
	.gnav ul li.tel-nav {
		text-align: left;

	}
	.gnav ul li.tel-nav a {
		display: flex;
		font-size:29px;
		font-weight: 500;
		letter-spacing: 1px;
		align-items: flex-end;
		padding: 0 23px 20px;
	}
	.gnav ul li.tel-nav a .tel-txt {
		color:#8E7D70;
		font-size: 15px;
	}
	.gnav ul li.tel-nav a .hyphen {
		color:#9072C6;
		font-size: 18px;
		display: inline-block;
		vertical-align: bottom;
	}
	.h2-ttl {
		font-size:28px;
		font-weight: 700;
		line-height: 180%;
		letter-spacing: 8%;
		color:#4E4339;
	}
	/* fv */
	.fv {
		height: auto;
	}
	.fv-area {	
		position: static;
		z-index: 1;
	}
	.fv-area .fv-img {
		margin-bottom: 10px;
	}
	.fv-area .fv-img img {
		width:100%;
	}
	.fv .flex-sp {
		padding-bottom: 180px;
	}
	.fv-catchcopy-area {
		position: static;
		z-index: 3;
		width:fit-content;
		margin: 0 20px 0 auto;
	}
	.fv-catchcopy-area h1 {
		writing-mode: vertical-rl;
		font-size:20px;
		line-height: 36px;
	}
	.fv-info-area {
		padding: 30px 60px 30px 20px;
		width:95%;
		margin: 0 auto 0 0;
		border-radius: 0 120px 120px 0;
		position: relative;
		z-index: 2;
	}
	.fv-info-area .center.info-lead {
		text-align: left;
	}
	.fv-info-area .info-lead {
		font-size:17px;
		letter-spacing: 4%;
		margin-bottom: 10px;
	}
	.fv-info-area .flex {
		display: block;
	}
	.fv-info-area .ttl-area h2 {
		writing-mode: unset;
		display: none;
		/*font-size: 16px;
		font-weight: 700;
		font-family: "Zen Maru Gothic", sans-serif;
		line-height: 110%;
		letter-spacing: 10%;*/
	}
	.fv-info-area .table-area table {
		width:100%;
	}
	.fv-info-area .table-area table tr th ,
	.fv-info-area .table-area table tr td ,
	.fv-info-area .detail-area p{
		letter-spacing: 8%;
	}
	.fv-info-area .table-area table tr th:first-child {
		width:30%;
	}
	.fv-info-area .detail-area p {
		display: flex;
		align-items: center;
		gap:10px;
	}
	.fv-concept-area {
		position: static;
	}
	.fv-concept-area-detail {
		padding: 60px 80px 60px 40px;
		border-radius: 45%; 
		position: absolute;
		top:-40px;
		left:-20px;
	}
	.fv-concept-area-detail img {
		width:100px;
		position: absolute;
		top:-12%;
		left:30px;
	}
	.fv-concept-area-detail .fv-concept-lead {
		font-size: 17px;
		line-height: 160%;
		letter-spacing: 4%;
		margin-bottom: 10px;
	}
	.fv-bottom-deco {
		position: absolute;
		bottom: -23%;
		left: 0;
		width:40%;
		z-index: 0;
	}
	/* concept */
	.concept {
		padding:0 0 80px;
	}
	.concept .inner {
		width:90%;
	}
	.ls-wide {
		letter-spacing: 12%;
	}
	.concept-ttl-deco {
		position: absolute;
		top:40%;
		left:4%;
		width:5%;
	}
	.concept-img {
		position: static;
		width:100%;
		z-index: 2;
		margin-top: -20px;
	}
	/* worries */
	.worries .inner {
		width:100%;
		margin-right: 10%;
	}
	.worries-box {
		padding: 40px 60px 100px 20px;
		border-radius: 0 120px 120px 0;
	}
	.worries-box > .flex {
		gap:0;
		display: block;
	}
	.worries-box .list-area {
		width:100%;
	}
	.worries-box .list-area p {
		font-size:15px;
	}
	.worries-box .ttl-area {
		width:20%;
	}
	.worries-box .list-area ul li ,
	.worries-box .list-area ul li:nth-child(5) {
		width:100%;
		font-size:16px;
		line-height: 160%;
		letter-spacing: 8%;
		padding: 12px 0;
	}
	.worries-box .list-area ul li .text-white {
		margin-right: 6px;
	}
	.worries-box .ttl-area h2 {
		line-height: 48px;
		font-size: 24px;
		position: absolute;
		right:0;
		top:-2em;
	}
	.worries-box .ttl-area h2 span {
		padding-right: 6px;
	}
	.attention-box {
		padding: 32px 48px;
		border-radius: 110px;
		display: block;
		align-items: unset;
		gap:unset;
		width:97%;
		position: absolute;
		right:0;
		bottom: -10%;
		z-index: 1;
	}
	.attention-box .ttl-area{
		width:100%;
	}
	.attention-box .detail-area{
		width:100%;
	}
	.attention-box .ttl-area h3 {
		letter-spacing: 4%;
	}
	/* our style */
	.our-style {
		padding: 160px 0 40px;
	}
	.our-style .flex {
		display: block;
		gap:unset;
		align-items: unset;
	}
	.our-style .img-area {
		display: none;
	}
	.our-style .detail-area {
		width:100%;
	}
	.our-style .detail-area .ttl-area {
		text-align: right;
	}
	.our-style .detail-area .content-area {
		padding: 32px 0 0 32px;
		border-radius: 64px 0 0 0;
		background-color: #F3EBE1;
		position: relative;
		z-index: 1;
	}
	.our-style .detail-area h2 ,
	.concept .ttl-area h2 {
		letter-spacing: 8%;
		margin-bottom: 20px;
		font-size: 28px;	
	}
	.our-style-deco {
		width:90%;
	}
	.our-style-img {
		width:50%;
		position: absolute;
		bottom: unset;
		top:0;
		left: 0;
		z-index: 0;
	}
	/* mechanism */
	.mechanism {
		padding:40px 0;
	}
	.mechanism .en-ttl {
		margin-bottom: 10px;
	}
	.mechanism .h2-ttl {
		font-size: 20px;
		letter-spacing: 5%;
		margin-bottom: 30px;
	}
	.mechanism .detail-area p {
		font-size:15px;
	}
	.mechanism .detail-area {
		width:100%;
	}
	.mechanism .img-area {
		width:100%;
	}
	.mechanism .flex {
		gap:40px;
	}
	.mechanism .btn {
		display: flex;
	}
	.mechanism .lead-txt ,
	.our-style .detail-area .lead-txt ,
	.concept .ttl-area .lead-txt {
		letter-spacing: 8%;
	}
	.mechanism-box ,
	.root-cause-box ,
	.guidance-box {
		padding: 40px 32px;	
	}
	.mechanism-box {
		border-radius: 80px 80px 0 0;
	}
	.guidance-box {
		border-radius: 0 0 80px 80px;	
	}
	.counseling-box {
		background:linear-gradient(125deg , #9072C6,#4284B3);
		border-radius: 40px;
	}
	.counseling-box .box-inner {
		padding: 20px;
		border-radius: 40px;
		background-image:url(./../img/bg/bg-counseling-box.webp);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		color:#FFFFFF;
	}
	.counseling-box .box-inner h3 {
		font-size:18px;
		letter-spacing: 4%;
		margin-bottom: 20px;
	}
	.counseling-box .box-inner p {
		margin-bottom: 20px;
	}
	.mechanism .counseling-box .btn {
		font-size: 16px;
		padding: 12px;
	}
	.mechanism .btn img {
		margin-left: 5px;
	}
	/* doctor */
	.doctor {
		padding:0 0 40px ;
	}
	.doctor .ttl-area {
		width:100%;
	}
	.doctor .detail-area {
		width:100%;
	}
	.doctor .ttl-area .h2-ttl {
		font-size:22px;
		line-height: 48px;
		margin-bottom: 0px;
		margin-left: 0px;
		float: right;
	}
	.doctor .ttl-area .h2-ttl span {
		padding-right: 10px;
	}

	.doctor .detail-area img {
		width:100%;
	}
	.doctor .detail-area .name-box {
		position: absolute;
		bottom: -40px;
		right:10px;
		padding:20px;
		border-radius: 80px;
		gap:10px;
	}
	.doctor .detail-area .name-box .post-name {
		font-size: 12px;
	}
	.doctor .detail-area .name-box .name-area p {
		font-size:18px;
		line-height: 100%;
	}
	.doctor .detail-area .name-box .name-area p span {
		font-size:10px;
	}
	.doctor .detail-area .content-area {
		font-size: 15px;
	}
	.doctor-deco {
		position: absolute;
		top:-2%;
		right: 0;
		width:40%;
		z-index: 0;
	}
	/* philosophy */
	.philosophy {
		padding:40px 0 365px;
	}
	.philosophy .flex {
		gap:40px;
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}
	.philosophy .content-area {
		width:100%;
	}
	.philosophy .ttl-area {
		width:100%;
	}
	.philosophy-box {
		background-color: #fff;
		padding: 40px 32px;
		border-radius: 80px;
	}
	.philosophy-box h3 ,
	.doctor .detail-area h3 {
		font-size: 20px;
		letter-spacing: 5%;
	}
	.philosophy-box p {
		font-size: 15px;	
	}
	.philosophy .ttl-area img {
		width:228px;
		margin-bottom: 0px;
		position: absolute;
		top:5%;
		right:0;
		z-index: 1;
	}
	.philosophy .ttl-area .center {
		text-align: left;
		margin-left: 20px;
	}
	.philosophy .ttl-area .h2-ttl {
		writing-mode: vertical-rl;
		font-size:28px;
		line-height:64px;
		margin:unset;
		margin:0 auto 0 0;
	}
	.philosophy .ttl-area .h2-ttl span {
		padding-right: 10px;
	}
	.philo-img {
		width:90%;
		position: absolute;
		bottom: 0;
		right:0;
		z-index: 0;
	}
	.philo-deco {
		width:40%;
		position: absolute;
		top:20%;
		left: 0;
		z-index: 0;
	}
	/* flow */
	.flow {
		padding: 80px 0 240px;
	}
	.flow .en-ttl {
		line-height: 1;
		margin-bottom: 10px;
	}
	.flow .ttl-area {
		margin-bottom: 40px;
	}
	.flow-img {
		position: absolute;
		top:unset;
		bottom:60px;
		width:90%;
	}
	.flow-deco {
		position: absolute;
		bottom:0;
		right:0;
		width:20%;
	}
	.flow .h2-ttl {
		font-size: 32px;
	}
	.flow-box {
		padding: 16px 16px 16px 40px;
		display: block;
		position: relative;
		width:100%;
		margin: 0 0 20px 0;
	}
	.flow-box:last-child {
		margin-bottom: 0;
	}
	.flow-box .num p ,
	.detail-box .content .content-area .flow-box .num p {
		font-size: 32px;
		position: absolute;
		top:0;
		left:-10px;
	}
	.flow-box .detail h3 {
		font-size: 20px;
		line-height: 160%;
		letter-spacing: 8%;
		margin-bottom: 10px;
	}
	.flow-box .detail p {
		font-size:14px;
		line-height: 160%;
	}

	/* first visit */
	.first-visit {
		background-color: #FDE5D1;
		padding: 80px 0 320px; 
	}

	.first-visit .detail-area ,
	.flow .ttl-area {
		width:100%;
	}
	.first-visit .content-area ,
	.flow .content-area {
		width:100%;
	}
	.fv-box {
		padding: 32px;
		margin-bottom: 24px;
	}
	.fv-box:last-child {
		margin-bottom: 0;
	}
	.fv-box h3 {
		font-size:20px;
		line-height: 160%;
		letter-spacing: 8%;
		margin-bottom: 10px;
	}
	.fv-box p {
		font-size: 15px;
	}
	/* infomation */
	.infomation {
		padding-top:320px;
	}
	.cta-area {
		position: absolute;
		left:0;
		right:0;
		margin:0 auto;
		width:95%;
		top:-12%;
	}
	.bg-cta {
		background:linear-gradient(to right,rgba(130, 105, 69,0.9),rgba(132, 116, 161,0.9));
		padding: 40px 20px;
	}
	.cta-left {
		position: absolute;
		left:0;
		border-radius: 80px 0 0 80px;
		width:40%;
		top:0;
	} 
	.cta-right {
		position: absolute;
		right:0;
		border-radius:0 80px 80px 0;
		width:40%;
		top:unset;
		bottom:0;
	}
	.cta-area .detail-area {
		width:95%;
		margin:0 auto;
	}
	.cta-area .h2-ttl {
		font-size: 28px;
		line-height: 160%;
		font-weight: 500;
	}
	.cta-area p {
		font-size:16px;
		line-height: 180%;
		letter-spacing: 8%;
	}
	.cta-area .explain-txt {
		margin-bottom: 30px;		
	}
	.cta-area .tel-area {
		padding:10px 20px;
		border-radius: 24px;
		width:100%;
	}
	.cta-area .tel-area .flex {
		gap:10px;
	}
	.cta-area .tel-area .tel-num {
		font-size:32px;
		letter-spacing: 4px;
		margin-bottom: 10px;
		line-height: 0;
	}
	.cta-area .tel-area .tel-num span {
		font-size:20px;
		letter-spacing: 1px;
	}
	.cta-area .tel-area img {
		width:40px;
		margin-right: 0;
		margin-top: 6px;
	}
	.cta-area .tel-area .text-orange {
		font-size:10px;
		line-height: 150%;
		width:18%;
	}
	.cta-area .tel-area .dow-txt {
		font-size: 11px;
	}
	.infomation .en-ttl ,
	.cta-area .en-ttl {
		font-size:16px;
		letter-spacing: 9%;
	}
	.en-ttl {
		font-size:12px;
		font-weight: 900;
		line-height: 180%;
		letter-spacing: 10%;
	}
	.h2-ttl {
		font-size:32px;
		font-weight: 500;
		line-height: 110%;
		letter-spacing: 8%;
		color:#E4781D;
	}
	.infomation .detail-area table {
		margin-top: 40px;
		margin-bottom: 40px;
	}
	.infomation .detail-area table tr th ,
	.infomation .detail-area table tr td {
		font-size: 15px;
		line-height: 24px;
		padding: 10px 0;
	}
	.infomation .detail-area table tr th {
		width:30%;
	}
	.map-area {
		width:100%;
	}
	.gmap {
		border-radius:10px; 
	}

	.slider-area {
		padding: 0 0 40px;
	}
	.slider-area-deco {
		position: absolute;
		top:0;
		left:0;
		width:45%;
		z-index: 0;
	}
	/* footer */
	footer {
		/* 追従バナー（.sp-sticky-cta）にコピーライトが隠れないよう下余白を確保 */
		padding:80px 2% 160px;
	}
	.footer-logo {
		width:180px;
		margin-bottom: 30px;
	}
	footer .detail-area {
		padding: 36px 27px;
		width:100%;
		height: unset;
		min-width: unset;
		border-radius: 100px;
	}
	footer .detail-area .flex {
		gap:10px;
		justify-content: unset;
	}
	footer .detail-area .ttl-area h2 {
		writing-mode: unset;
		font-size: 16px;
		font-weight: 700;
		font-family: "Zen Maru Gothic", sans-serif;
		line-height: 110%;
		letter-spacing: 10%;
		padding: 0;
	}
	footer .detail-area .table-area ,
	footer .detail-area .table-area table ,
	footer .detail-area .detail-table {
		width:100%;
	}
	footer .detail-area .table-area table tr {
		border-bottom: 1px solid #E4DAD1;
	}
	footer .detail-area .table-area table tr:last-child {
		border-bottom: none;
	}
	footer .detail-area .table-area table tr th ,
	footer .detail-area .table-area table tr td ,
	footer .detail-area .detail-area p {
		font-size:14px;
		font-weight: 500;
		font-family: "Zen Maru Gothic", sans-serif;
		line-height: 159%;
		letter-spacing: 10%;
	}
	footer .detail-area .detail-table p {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap:10px;
	}
	footer .detail-area .detail-table .holiday {
		width:40%;
	}
	footer .detail-area .detail-table .med-time {
		width:60%;
	}
	.footer-link-area {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap:0px;
		max-width:unset;
		width:95%;
		margin:20px auto 0;
	}
	.footer-link-area .footer-link-item-left {
		width:60%;
	}
	.footer-link-area .footer-link-item-right {
		width:40%;
	}
	.footer-link-area .footer-bnr-item {
		width:100%;
		margin-top: 40px;
		margin-bottom: 40px;
	}
	.footer-link-area .footer-bnr-item img {
		width:234px;
	}
	.footer-link-area ul li a {
		font-family: "Zen Maru Gothic",sans-serif;
		font-size: 16px;
		font-weight:700;
		letter-spacing: 5%;
		color:#4E4339;
	}
	.footer-link-area ul li {
		margin-bottom: 20px;
	}
	.footer-link-area ul li:last-child {
		margin-bottom: 0;
	}
	.bg-footer-deco {
		position: absolute;
		top:0;
		right:0;
		width:60%;
		z-index:0;
	}
	.sp-sticky-cta {
		position: fixed;
		bottom:10px;
		left: 0;
		right:0;
		margin: 0 auto;
		z-index: 12;
		width:95%;
		display:block;
	}
	.sp-sticky-cta .flex {
		gap:20px;
	}
	.pc-sticky-cta {
		display:none;
	}
	/* under */
	/* page - mechanism */
	.breadcrumbs {
		/*font-size:12px;
		padding:6px 12px;
		top:unset;
		bottom: 0%;
		right:1%;*/
		display: none;
	}
	/*.breadcrumbs span {
		margin:0 6px;
	}*/
	.bg-logo-area ,
	.under .bg-logo-area ,
	.under .bg-top-right-deco {
		width:40%;
	}
	.under .fv {
		height: auto;
		margin-bottom: 20px;
	}
	.under .fv-area {	
		position: static;
	}
	.under .fv-area .fv-img {
		text-align: right;
		margin-top: 0;
	}
	.under .fv-area .fv-img img {
		width:95%;
	}
	.under .fv-concept-area {
		position: relative;
		bottom: unset;
		right: unset;
		left:unset;
		z-index: 1;
		width:95%;
		margin:-60px auto 0;
		max-width: unset;
	}
	.under .fv-concept-area-detail {
		padding: 30px;
		border-radius: 60px;
		position: static;
	}
	.under .fv-concept-area-detail img {
		width:60px;
		height: auto;
		position: absolute;
		top:-18%;
		left:1%;
	}
	.under .fv-concept-area-detail .fv-concept-lead {
		font-size: 14px;
		line-height: 110%;
		margin-bottom: 10px;
	}
	.under .fv-concept-area-detail h1 {
		font-size:17px;
	}
	.under .fv-concept-area-detail p {
		font-size: 14px;
		line-height: 160%;
	}

	.under .fv-bottom-deco {
		bottom: -30%;
		width:60%;
	}
	#fee {
		scroll-margin-top: 90px;
	}
	.detail {
		padding: 20px 0;
	}
	.detail-box {
		padding: 30px 40px;
		border-radius: 60px;
	}
	.detail-box h2 , 
	.profile-box h2, 
	.message-box h2 {
		font-size:28px;
		margin-bottom: 24px;
		line-height: 160%;
	}
	.detail-box h3, 
	.profile-box h3, 
	.message-box h3 {
		font-size:20px;
		line-height: 160%;
		letter-spacing: 8%;
		margin-bottom: 16px;
	}
	.detail-box .lead ,
	.detail-box .content .lead {
		font-size:17px;
		margin-bottom: 16px;
		line-height: 160%;
	}
	.detail-box p {
		font-size: 15px;
		line-height: 27px;
	}
	.detail .bg-r {
		position: absolute;
		right: 0;
		top:30%;
		width:60%;
	}
	.detail .bg-l {
		position: absolute;
		left: 0;
		top:30%;
		width:60%;
	}
	.detail.mec-01 .bg-l {
		top:unset;
		bottom:-30%;
	}
	.detail-box .content {
		padding: 20px 0;
		border-bottom: 2px dashed #F3BB8C;
	}
	.detail-box .content:first-child {
		padding-top: 0;
	}
	.detail-box .content:last-child {
		border-bottom: none;
		padding-bottom: 0;
	}
	.detail-box .content .flex {
		gap:24px;
		flex-wrap: wrap;
	}
	.detail-box .content .text-area {
		width:100%;
	}
	.detail-box .content .img-area {
		width:100%;
	}
	.detail-box .content p {
		font-size: 15px;
		line-height: 27px;
	}
	.detail-box .flex.gap-32 {
		gap:24px;
	}
	.detail-box .flex-content {
		width:100%;
	}
	.detail-box .table-area {
		overflow: auto;
	}
	.detail-box table {
		width:100%;
		min-width: 750px;
		border-radius: 12px;
	}
	.detail-box table.fee-table {
		min-width: 450px;
	}
	.detail-box table tr th ,
	.detail-box table tr td {
		padding: 8px 12px;
		font-size: 14px;
	}
	.panel {
	  border-radius: 20px;
	  padding: 20px 10px;
	}

	.panel-header {
	  font-size: 16px;
	  padding: 0 12px;
	  line-height: 160%;
	}
	.q-subject {
		display: flex;
		align-items: center;
	}
	.q-subject span {
		width:80%;
	}
	.qa-icon {
		width:40px;
		margin-right:12px; 
	}
	.panel-header .icon {
	  font-size: 18px;
	}

	.content .panel-content .panel-body {
	  padding: 16px;
	  border-radius: 16px;
	  margin-top: 12px;
	}
	.under .infomation {
		padding: 20px 0 40px;
		background-color: unset;
		border-radius: unset;
		margin-top: 0;
	}
	.under .cta-area {
		position: static;
		width:100%;
	}
	.fee-list li {
		font-size:14px;
		display: flex;
		align-items: center;
	}
	.fee-list li .text-orange {
		margin-right: 12px;
	}

	.detail-box .list-area ul li ,
	.detail-box .list-area ul li:last-child {
		width:100%;
		font-size:16px;
		line-height: 160%;
		letter-spacing: 8%;
		padding: 12px 0;
	}
	.detail-box .list-area ul li .text-orange {
		margin-right: 6px;
		width:10%;
	}
	.detail-box .list-area ul li span {
		width:90%;
	}
	.detail-box .content .content-area .flow-box {
		border-radius: 40px;
	}
	.doctor-img-area {
		width:100%;
		margin-bottom: 20px;
	}
	.profile-area {
		width:100%;
		margin-left: 0;
	}
	.profile-box ,
	.message-box {
		padding: 20px 30px;
	}
	.message-box {
		background-color: #fff;
		border-radius: 40px;
	}
	.doctor-img-area .name-box {
		position: absolute;
		bottom: -40px;
		left:unset;
		right:35px;
		padding:20px;
		border-radius: 80px;
		gap:10px;
		width:fit-content;
	}
	.doctor-img-area .name-box .post-name {
		font-size: 12px;
	}
	.doctor-img-area .name-box .name-area p {
		font-size:18px;
		line-height: 100%;
	}
	.doctor-img-area .name-box .name-area p span {
		font-size:10px;
	}
	.flex.clinic-info {
		gap:24px;
		flex-wrap: wrap;
	}
	.flex.clinic-info .detail-area ,
	.flex.clinic-info .map-area {
		width:100%;
	}
	.clinic-table th {
		width:38%;
	}
	.medical-time-box {
		padding:20px;
	}
	.medical-time-box h3 {
		font-size: 16px;
	}
	.medical-time-box .flex {
		gap:20px;
		flex-wrap: wrap;
	}
	.medical-time-box .time-table {
		width:100%;
	}
	.medical-time-box .detail-area {
		width:100%;
	}
	.hours .detail-box .bg-white {
		padding: 20px 30px;
		border-radius: 40px;
		gap:24px;
	}
	.hours .detail-box .flex .time-table-area {
		width:100%;
		overflow: auto;
	}
	.hours .detail-box .flex .time-table {
		min-width: 430px;
	}
	.hours .detail-box .flex .detail-area {
		width:100%;
	}
	.hours .detail-box table {
		min-width:unset;
	}
	.hours .detail-box table tr {
		border-bottom: 1px solid #E4DAD1;
	}
	.hours .detail-box table tr:last-child {
		border-bottom: none;
	}
	.hours .detail-box table tr:nth-child(odd) ,
	.hours .detail-box table tr:nth-child(even) {
		background-color: #fff;
	}
	.hours .detail-box table tr th:nth-child(2) , 
	.hours .detail-box table tr:nth-child(3) td:nth-child(2) , 
	.hours .detail-box table tr:nth-child(5) td:nth-child(2) {
		border-left: none;
		border-right:none;
	}
	.hours .detail-box table tr th ,
	.hours .detail-box table tr td {
		font-size: 14px;
	}
	.hours .detail-box table tr th {
		color:#4E4339;
	}
	.hours .detail-box .detail-area .holiday {
		font-size: 16px;
	}
	.hours .detail-box .detail-area .med-time {
		font-size: 14px;
	}
	.ourstyle .flex {
		gap:16px;
	}
	.ourstyle .flex .ourstyle-area ,
	.ourstyle .flex .map-area {
		width:100%;
	}
	.ourstyle .flex .ourstyle-area .h2-ttl ,
	.ourstyle .flex .map-area .h2-ttl {
		font-size: 28px;
	}
	.ourstyle .flex .map-area h3 {
		font-size: 18px;
	}
	.ourstyle .flex .map-area p {
		font-size: 14px;
		line-height: 180%;
	}
	.detail-box .clinic-table {
		min-width: unset;
	}
	.detail-box .clinic-table th {
		width:48%;
	}
	.ourstyle-area .clinic-table tr th ,
	.ourstyle-area .clinic-table tr td {
		padding: 16px;
	}
	.ourstyle .gmap {
		aspect-ratio:5 / 3;
	}
	.adconfirm-box {
		padding: 20px 30px;
		border-radius: 40px;
	}
	.adconfirm-box h2 {
		font-size: 18px;
		line-height: 160%;
		letter-spacing: 4%;
	}
	.adconfirm-list li {
		font-size: 13px;
		align-items: flex-start;
	}
	.adconfirm-list li span {
		width:95%;
	}
	.adconfirm-list li .text-orange {
		margin-right: 10px;
		width: 5%;
	}
	.form-box {
		border-radius: 40px;
		padding:30px 20px;
	}
	.form-box .h2-ttl {
		font-size: 24px;
	}
	label {
		font-size: 14px;
	}
	.must ,
	.any {
		font-size: 12px;
	}
	.form-box .submit-btn {
		padding: 8px 48px 8px 32px;
		font-size: 16px;
	}
	.submit-wrap::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 20px;
		transform: translateY(-50%);
		width: 14px;
		height: 14px;
		background: url('/wp-content/themes/senju/img/icon/submit-arrow.svg') no-repeat center center;
		background-size: contain;
		pointer-events: none;
	}
	::placeholder {
		color:13px;
	}
	.wpcf7-list-item-label {
		font-size:13px;
	}
	.wpcf7-select {
		font-size:14px;
	}
	.hope-label {
		font-size:13px;
		margin-bottom:6px;
	}
	.form-box .hope-date-attention ,
	.form-box .submit-attention-txt {
		font-size:13px;
		line-height:140%;
	}
	.contact .flex {
		gap:24px;
		flex-wrap: wrap;
	}
	.contact .flex .form-area {
		width:100%;
	}
	.contact .flex aside {
		width:100%;
	}
	aside .tel-contact-box ,
	aside .access-detail-box {
		padding: 20px;
	}
	.detail.contact .bg-r ,
	.infomation .bg-l {
		width:60%;
	}
	.detail.contact .bg-r {
		top:9%;
	}
	.infomation .bg-l {
		top:-13%;
	}
}

@media (520px <= width < 769px) {
	
}
/* ==========================================================
   装飾画像はクリック・タップを拾わない
   （リンクやボタンの上に重なった際に反応しなくなるのを防ぐ）
   ========================================================== */
.bg-logo-area ,
.bg-top-right-deco ,
.bg-footer-deco ,
.fv-bottom-deco ,
.concept-ttl-deco ,
.concept-img ,
.our-style-img ,
.our-style-deco ,
.doctor-deco ,
.philo-img ,
.philo-deco ,
.flow-img ,
.flow-deco ,
.cta-left ,
.cta-right ,
.slider-area-deco ,
.bg-r ,
.bg-l {
	pointer-events: none;
}

/* ==========================================================
   ブログ・新着情報（一覧／記事詳細／固定ページ汎用）
   ========================================================== */
.post-page .post-head {
	padding: 60px 0 0;
	position: relative;
	z-index: 1;
}
.post-page .post-breadcrumbs {
	font-size: 13px;
	font-family: "Zen Maru Gothic", sans-serif;
	line-height: 100%;
	letter-spacing: 0;
	margin-bottom: 32px;
}
.post-page .post-breadcrumbs span {
	margin: 0 10px;
	color: #F3BB8C;
}
.post-page .post-breadcrumbs a {
	color: #4E4339;
	text-decoration: underline;
}
.post-page .en-ttl {
	margin-bottom: 8px;
}
.post-page .post-head-ttl {
	font-size: 32px;
	font-weight: 500;
	line-height: 150%;
	letter-spacing: 9%;
	font-family: "Zen Maru Gothic", sans-serif;
	color: #E4781D;
}

/* 一覧（タイトルのみ） */
.post-list {
	border-top: 2px dashed #F3BB8C;
}
.post-list-item {
	border-bottom: 2px dashed #F3BB8C;
}
.post-list-item a {
	display: flex;
	align-items: baseline;
	gap: 32px;
	padding: 24px 8px;
	color: #4E4339;
}
.post-list-date {
	flex-shrink: 0;
	font-size: 14px;
	font-family: "Zen Maru Gothic", sans-serif;
	letter-spacing: 4%;
	line-height: 180%;
	color: #F4984B;
}
.post-list-ttl {
	font-size: 18px;
	font-weight: 500;
	line-height: 180%;
	letter-spacing: 4%;
	font-family: "Zen Maru Gothic", sans-serif;
}
.post-list-item a:hover .post-list-ttl {
	text-decoration: underline;
}
.post-list-empty {
	font-size: 16px;
	padding: 24px 0;
}

/* ページ送り */
.post-pagination {
	margin-top: 48px;
}
.post-pagination ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}
.post-pagination a ,
.post-pagination span {
	display: inline-block;
	min-width: 40px;
	padding: 8px 12px;
	border-radius: 50px;
	text-align: center;
	font-size: 15px;
	font-family: "Zen Maru Gothic", sans-serif;
	line-height: 150%;
	color: #4E4339;
	background-color: #F3EBE1;
}
.post-pagination span.current {
	color: #FEFFFD;
	background-color: #F4984B;
}

/* 記事詳細 */
.entry-head {
	padding-bottom: 24px;
	margin-bottom: 40px;
	border-bottom: 2px dashed #F3BB8C;
}
.entry-date {
	font-size: 14px;
	font-family: "Zen Maru Gothic", sans-serif;
	letter-spacing: 4%;
	color: #F4984B;
	margin-bottom: 12px;
	display: block;
}
.detail-box .entry-ttl {
	font-size: 28px;
	font-weight: 700;
	line-height: 160%;
	letter-spacing: 6%;
	font-family: "Zen Maru Gothic", sans-serif;
	margin-bottom: 0;
}
.entry-thumb {
	margin-bottom: 40px;
	border-radius: 24px;
	overflow: hidden;
}
.entry-thumb img {
	display: block;
	width: 100%;
	height: auto;
}

/* 本文（エディタ出力） */
.entry-content {
	font-size: 16px;
	line-height: 200%;
}
.entry-content > *:first-child {
	margin-top: 0;
}
.entry-content > *:last-child {
	margin-bottom: 0;
}
.entry-content p {
	font-size: 16px;
	line-height: 200%;
	margin-bottom: 28px;
}
.detail-box .entry-content h2 {
	font-size: 24px;
	font-weight: 700;
	line-height: 160%;
	letter-spacing: 6%;
	color: #E4781D;
	padding-left: 16px;
	border-left: 5px solid #F3BB8C;
	margin: 56px 0 24px;
}
.detail-box .entry-content h3 {
	font-size: 20px;
	font-weight: 700;
	line-height: 160%;
	letter-spacing: 6%;
	padding-bottom: 10px;
	border-bottom: 2px dashed #F3BB8C;
	margin: 48px 0 20px;
}
.detail-box .entry-content h4 ,
.detail-box .entry-content h5 {
	font-size: 17px;
	font-weight: 700;
	line-height: 170%;
	letter-spacing: 4%;
	color: #E4781D;
	margin: 40px 0 16px;
}
.entry-content ul ,
.entry-content ol {
	margin: 0 0 28px;
	padding-left: 1.4em;
}
.entry-content ul li {
	list-style: disc;
}
.entry-content ol li {
	list-style: decimal;
}
.entry-content li {
	font-size: 16px;
	line-height: 200%;
	margin-bottom: 6px;
}
.entry-content li::marker {
	color: #F4984B;
}
.entry-content a {
	color: #E4781D;
	text-decoration: underline;
}
.entry-content strong {
	font-weight: 700;
}
.entry-content img {
	max-width: 100%;
	height: auto;
	border-radius: 16px;
	margin: 8px 0 28px;
}
.entry-content blockquote {
	margin: 0 0 28px;
	padding: 24px 28px;
	border-radius: 16px;
	background-color: #F3EBE1;
}
.entry-content blockquote p:last-child {
	margin-bottom: 0;
}
.entry-content hr {
	border: none;
	border-top: 2px dashed #F3BB8C;
	margin: 40px 0;
}
.entry-content .table-wrap ,
.entry-content table {
	margin-bottom: 28px;
}
.entry-content table {
	width: 100%;
	min-width: 0;
	table-layout: fixed;
	word-break: break-word;
	border-collapse: collapse;
	border-radius: 0;
}
/* エディタ出力の表は .detail-box table の既存装飾を打ち消す */
.detail-box .entry-content table tr:nth-child(even) ,
.detail-box .entry-content table tr:nth-child(odd) {
	background-color: transparent;
}
.detail-box .entry-content table tr th ,
.detail-box .entry-content table tr td {
	padding: 12px 16px;
	border: 1px solid #F3BB8C;
	border-radius: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 180%;
	text-align: left;
	vertical-align: top;
	color: #4E4339;
	background-color: transparent;
}
.detail-box .entry-content table tr th {
	background-color: #F3EBE1;
	color: #4E4339;
	font-weight: 700;
	font-family: "Zen Maru Gothic", sans-serif;
}

/* 一覧へ戻る */
.entry-foot {
	margin-top: 56px;
	padding-top: 40px;
	border-top: 2px dashed #F3BB8C;
	text-align: center;
}
.post-btn {
	display: inline-block;
	padding: 12px 32px;
	border-radius: 50px;
	color: #FEFFFD;
	background-color: #F4984B;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	letter-spacing: 6%;
	font-family: "Zen Maru Gothic", sans-serif;
}


/* サイトマップ */
.sitemap-list {
	border-top: 2px dashed #F3BB8C;
}
.sitemap-list > .sitemap-item {
	border-bottom: 2px dashed #F3BB8C;
	padding: 8px 0;
}
.sitemap-list > .sitemap-item > a {
	position: relative;
	display: block;
	padding: 16px 8px 16px 28px;
	font-size: 18px;
	font-weight: 500;
	line-height: 180%;
	letter-spacing: 4%;
	font-family: "Zen Maru Gothic", sans-serif;
	color: #4E4339;
}
.sitemap-list > .sitemap-item > a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 6px;
	transform: translateY(-50%);
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #F4984B;
}
.sitemap-sub {
	padding: 0 8px 12px 44px;
}
.sitemap-sub .sitemap-item > a {
	position: relative;
	display: block;
	padding: 8px 0 8px 18px;
	font-size: 16px;
	font-weight: 500;
	line-height: 180%;
	letter-spacing: 4%;
	font-family: "Zen Maru Gothic", sans-serif;
	color: #4E4339;
}
.sitemap-sub .sitemap-item > a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 8px;
	height: 2px;
	background-color: #F3BB8C;
}
.sitemap-list a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 900px) {
	.post-page .post-head {
		padding: 30px 0 0;
	}
	.post-page .post-breadcrumbs {
		font-size: 12px;
		line-height: 180%;
		margin-bottom: 16px;
	}
	.post-page .post-breadcrumbs span {
		margin: 0 6px;
	}
	.post-page .post-head-ttl {
		font-size: 22px;
		line-height: 150%;
	}
	.post-list-item a {
		display: block;
		padding: 16px 4px;
	}
	.post-list-date {
		font-size: 13px;
		display: block;
		margin-bottom: 4px;
	}
	.post-list-ttl {
		font-size: 16px;
		line-height: 160%;
	}
	.post-list-empty {
		font-size: 15px;
	}
	.post-pagination {
		margin-top: 32px;
	}
	.detail-box .entry-ttl {
		font-size: 20px;
		line-height: 160%;
	}
	.entry-head {
		padding-bottom: 16px;
		margin-bottom: 24px;
	}
	.entry-thumb {
		margin-bottom: 24px;
		border-radius: 16px;
	}
	.entry-content ,
	.entry-content p ,
	.entry-content li {
		font-size: 15px;
		line-height: 180%;
	}
	.entry-content p {
		margin-bottom: 20px;
	}
	.detail-box .entry-content h2 {
		font-size: 19px;
		padding-left: 12px;
		border-left-width: 4px;
		margin: 36px 0 16px;
	}
	.detail-box .entry-content h3 {
		font-size: 17px;
		margin: 32px 0 14px;
	}
	.detail-box .entry-content h4 ,
	.detail-box .entry-content h5 {
		font-size: 16px;
		margin: 28px 0 12px;
	}
	.entry-content blockquote {
		padding: 16px 18px;
	}
	/* 既存の .detail-box table の min-width:750px を打ち消す */
	.detail-box .entry-content table {
		min-width: 0;
	}
	.detail-box .entry-content table tr th ,
	.detail-box .entry-content table tr td {
		padding: 10px 12px;
		font-size: 14px;
	}
	.entry-foot {
		margin-top: 32px;
		padding-top: 24px;
	}
	.post-btn {
		font-size: 15px;
		padding: 12px 24px;
	}
	.sitemap-list > .sitemap-item > a {
		padding: 12px 4px 12px 22px;
		font-size: 16px;
	}
	.sitemap-list > .sitemap-item > a::before {
		width: 8px;
		height: 8px;
	}
	.sitemap-sub {
		padding: 0 4px 10px 30px;
	}
	.sitemap-sub .sitemap-item > a {
		font-size: 15px;
	}
}

/* ======================================================================
   13. タブレット：縦書きH1を表示したまま横スクロールを防止
   ====================================================================== */
@media screen and (min-width: 768px) and (max-width: 1025px) {
	html ,
	body {
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
	}
	.fv {
		width: 100%;
		max-width: 100vw;
		overflow: visible;
	}
	.fv-catchcopy-area {
		right: max(24px, env(safe-area-inset-right));
		display: block;
		box-sizing: border-box;
		width: clamp(171px, 18.888vw, 194px);
		height: clamp(288px, 32vw, 328px);
		max-width: none;
		overflow: visible;
	}
	.fv-catchcopy-area h1 {
		display: block;
		box-sizing: border-box;
		width: 100%;
		height: 100%;
		max-width: none;
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
		word-break: normal;
		overflow-wrap: normal;
		overflow: visible;
	}
	.hours .detail-box table tr th, .hours .detail-box table tr td {
		font-size: 16px;
		padding: 8px;
	}
	.hours .detail-box .detail-area .holiday {
		font-size: 17px;
	}
	.hours .detail-box .detail-area .med-time {
		font-size: 15px;
	}
	.ourstyle  .flex {
		flex-wrap: wrap;
	}
	.ourstyle .flex .ourstyle-area, .ourstyle .flex .map-area {
		width: 100%;
	}
	.flex.clinic-info {
		flex-wrap: wrap;
	}
	.flex.clinic-info .detail-area, .flex.clinic-info .map-area {
		width: 100%;
	}
	.doctor .flex {
		flex-wrap: wrap;
	}
	.doctor .ttl-area, .doctor .detail-area {
		width: 100%;
	}
	.doctor .ttl-area .h2-ttl {
		float: right;
		margin-bottom: 0;
	}
	.doctor-img-area {
        width: 100%;
		max-width: 320px;
        margin: 0 auto 20px;
    }
	.doctor-img-area .name-box {
		bottom: 0;
		left: 25%;
	}
	.profile-area {
        width: 100%;
        margin-left: 0;
    }
	.concept .inner .ttl-area {
		width: 100%;
	}
	.concept-img {
		position: relative;
		width: 71%!important;
        top: 0!important;
        right: 0;
		margin: 0 0 0 auto;
	}
	.attention-box {
		box-sizing: border-box;
		position: relative;
		right: auto;
		bottom: auto;
		width: 100%;
		margin: 32px 0 0;
		padding: 28px 24px;
		border-radius: 48px;
	}
	.attention-box .ttl-area h3 .pc {
		display: none;
	}
	.mechanism .flex {
		flex-wrap: wrap;
	}
	.mechanism .detail-area, .mechanism .img-area {
		width: 100%;
	}
	.cta-area .tel-area {
		padding: 20px;
		border-radius: 24px;
		width: 100%;
	}
	.cta-area .tel-area .tel-num {
		font-size: 36px;
		letter-spacing: 4px;
		margin-bottom: 10px;
	}
	.cta-area p.text-orange {
		font-size: 14px;
		line-height: 150%;
		width: 18%;
	}
	.cta-area .tel-area .dow-txt {
		font-size: 12px;
	}

}




/*ここから修正追記*/

/* ======================================================================
   01a. ヘッダー：iPad mini 縦（744px）〜 iPad Pro 縦+1px（1025px）
        ナビをハンバーガーにする（FV・doctor は 01b で PC レイアウト）
   ====================================================================== */
@media screen and (min-width: 744px) and (max-width: 1025px) {

	.gnav.pc {
		display: none !important;
	}
	.humberger-btn.sp {
		display: block !important;
	}
	.bg-logo-area.pc ,
	.bg-top-right-deco.pc {
		display: none !important;
	}
	.bg-logo-area.sp ,
	.bg-top-right-deco.sp {
		display: block !important;
	}
	.bg-logo-area ,
	.under .bg-logo-area ,
	.under .bg-top-right-deco {
		width: 40%;
	}

	/* --- ヘッダー／グローバルメニュー --- */
	header {
		position: relative;
		top: 0;
		width: 100%;
		z-index: 10;
		transition: transform 0.4s ease;
	}
	header .logo-area {
		padding: 30px 20px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 20px;
		z-index: 10;
	}
	header .logo {
		width: 137px;
	}
	header.sticky {
		position: fixed;
		top: 10px;
		width: 100%;
		z-index: 10;
		animation: slideDown 0.4s ease forwards;
	}
	header.sticky .logo {
		width: 137px;
	}
	header.sticky .logo-area {
		display: flex;
		gap: 24px;
		padding: 8px 0 0 20px;
	}
	header.sticky .sticky-area {
		width: 95%;
		margin: 0 auto;
		background-color: unset;
		border-radius: 50px;
	}
	header.sticky .humberger-btn {
		top: 0;
	}
	.sticky-txt {
		display: block;
		font-size: 11px;
		line-height: 150%;
		letter-spacing: 8%;
		color: #AEA49B;
		font-weight: 500;
	}
	.bg-top-right-deco {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 0;
		width: 40%;
	}
}


/* ======================================================================
   01b. FV・doctor：iPad mini 縦（744px）〜 SP レイアウト上限（767px）
        768px 以上は 10番の vw ブロックで PC レイアウトを比例縮小させる
   ====================================================================== */
@media screen and (min-width: 744px) and (max-width: 767px) {

	.fv-area .fv-img img.pc {
		display: none !important;
	}
	.fv-area .fv-img img.sp {
		display: block !important;
	}
	.flex-sp {
		display: flex;
	}
	.relative-sp {
		/* キャッチコピーの基準を .fv にするため static のままにする */
		position: static;
	}

	/* --- ファーストビュー --- */
	.fv {
		height: auto;
		/* 縦書き見出しが右にはみ出して横スクロールが出るのを防ぐ */
		overflow-x: clip;
	}
	.fv-area {
		position: static;
		z-index: 1;
	}
	.fv-area .fv-img {
		margin-bottom: 10px;
	}
	.fv-area .fv-img img {
		width: 100%;
	}
	.fv .flex-sp {
		padding-bottom: 40px;
	}
	/* キャッチコピーはハンバーガーメニューの下（FV右上）に配置 */
	.fv-catchcopy-area {
		position: absolute;
		top: 20px;
		right: 5%;
		z-index: 3;
		width: fit-content;
		max-width: calc(100% - 40px);
		margin: 0;
	}
	.fv-catchcopy-area h1 {
		writing-mode: vertical-rl;
		max-width: 100%;
		font-size: 30px;
		line-height: 57px;
	}
	.fv-concept-area {
		/* PC用の bottom/right が relative では相対オフセットとして効くので打ち消す */
		position: relative;
		width: 100%;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
	}
	.fv-concept-area-detail {
		padding: 60px 80px 60px 40px;
		border-radius: 45%;
		/* absolute だと行の高さに寄与せず下と重なるのでフローに残す */
		position: relative;
		top: auto;
		left: auto;
		margin: -40px 0 0 -20px;
		width: fit-content;
	}
	.fv-concept-area-detail img {
		width: 100px;
		position: absolute;
		top: -12%;
		left: 30px;
	}
	.fv-concept-area-detail .fv-concept-lead {
		font-size: 17px;
		line-height: 160%;
		letter-spacing: 4%;
		margin-bottom: 10px;
	}
	.fv-info-area {
		padding: 30px 60px 30px 20px;
		width: 95%;
		margin: 0 auto 0 0;
		border-radius: 0 120px 120px 0;
		position: relative;
		z-index: 2;
	}
	.fv-info-area .center.info-lead {
		text-align: left;
	}
	.fv-info-area .info-lead {
		font-size: 17px;
		letter-spacing: 4%;
		margin-bottom: 10px;
	}
	.fv-info-area .flex {
		display: block;
	}
	.fv-info-area .ttl-area h2 {
		writing-mode: unset;
		display: none;
	}
	.fv-info-area .table-area table {
		width: 100%;
	}
	.fv-info-area .table-area table tr th ,
	.fv-info-area .table-area table tr td ,
	.fv-info-area .detail-area p {
		letter-spacing: 8%;
	}
	.fv-info-area .table-area table tr th:first-child {
		width: 30%;
	}
	.fv-info-area .detail-area p {
		display: flex;
		align-items: center;
		gap: 10px;
	}
	.fv-bottom-deco {
		position: absolute;
		bottom: -23%;
		left: 0;
		width: 40%;
		z-index: 0;
	}

	/* --- doctor --- */
	.doctor .flex-wrap-sp {
		flex-wrap: wrap;
	}
	.doctor .mb-20-sp {
		margin-bottom: 20px !important;
	}
	.doctor .mb-30-sp {
		margin-bottom: 30px !important;
	}
	.doctor .mb-40-sp {
		margin-bottom: 40px !important;
	}
	.doctor {
		padding: 0 0 40px;
	}
	.doctor .ttl-area {
		width: 100%;
	}
	.doctor .detail-area {
		width: 100%;
	}
	.doctor .ttl-area .h2-ttl {
		font-size: 32px;
		line-height: 70px;
		margin-bottom: 0;
		margin-left: 0;
		position: absolute;
		right: 0;
		top: 0;
		/* 縦書き＋right:0 のため span の padding-right(10px)+border-right(3px) が
		   画面右端をはみ出して横スクロールが出る。その分の余白を確保する */
		padding-right: 13px;
	}
	.doctor .ttl-area .h2-ttl span {
		padding-right: 10px;
	}
	.doctor .ttl-area > p {
		font-size: 17px;
		line-height: 200%;
	}
	.doctor .detail-area img {
		width: 100%;
	}
	.doctor .detail-area .name-box {
		position: absolute;
		bottom: -40px;
		right: 10px;
		padding: 20px;
		border-radius: 80px;
		gap: 10px;
	}
	.doctor .detail-area .name-box .post-name {
		font-size: 12px;
	}
	.doctor .detail-area .name-box .name-area p {
		font-size: 18px;
		line-height: 100%;
	}
	.doctor .detail-area .name-box .name-area p span {
		font-size: 10px;
	}
	.doctor .detail-area .content-area {
		font-size: 15px;
	}
	.doctor-deco {
		position: absolute;
		top: -2%;
		right: 0;
		width: 40%;
		z-index: 0;
	}
}


/* ======================================================================
   02. Our Style：iPad mini 縦（744px）〜 SP レイアウト上限（767px）
       本文の背景が写真に重なるので背景を外し、右寄せで写真を避ける
   ====================================================================== */
@media screen and (min-width: 744px) and (max-width: 767px) {
	.our-style .detail-area .content-area {
		padding: 32px 0 0 0;
		border-radius: 0;
		background-color: transparent;
		text-align: right;
	}
}


/* ======================================================================
   03. SP レイアウト（〜767px）内の個別修正
   ====================================================================== */
@media screen and (max-width: 767px) {
	/* No.84 追従バナーにコピーライトが隠れないよう下余白を確保 */
	footer {
		padding: 80px 2% 160px;
	}
	/* No.78 width:50% だと画面幅に比例して縦に伸び、
	   セクションからはみ出して本文に重なるため上限を設定 */
	.our-style-img {
		max-width: 230px;
	}
	/* 縦書き＋right:0 のはみ出し対策（01b と同じ理由） */
	.doctor .ttl-area .h2-ttl {
		padding-right: 13px;
	}
}


/* ======================================================================
   04. CTA の電話番号：アイコンと番号の間隔（744〜767px）
       SP側で margin-right が 0 に打ち消されアイコンと番号が密着する
   ====================================================================== */
@media screen and (min-width: 744px) and (max-width: 767px) {
	.cta-area .tel-area .tel-num img {
		margin-right: 12px;
	}
}


/* ======================================================================
   05. CTA の電話番号：潰れ・はみ出しを防ぐ（全幅）

   .tel-num は display:flex。数字（03 / 3881 / 4411）はタグに包まれて
   いないため「無名フレックスアイテム」になり flex-shrink を指定できず、
   ボックスが縮むと必ず潰れる（実測：アイコン 64px→0px）。
   → flex を外して1行固定にする
   ====================================================================== */
.cta-area .tel-area .tel-num {
	display: block;
	white-space: nowrap;
	line-height: 1.2;
}
.cta-area .tel-area .tel-num img {
	display: inline-block;
	vertical-align: middle;
	margin-top: 0;
}
.cta-area .tel-area {
	flex-shrink: 0;
	min-width: fit-content;
	max-width: 100%;
}

/* 768px〜：横に並べきれないときは折り返して縦積みにする */
@media screen and (min-width: 768px) {
	.cta-area .bg-cta > .flex {
		flex-wrap: wrap;
		row-gap: 24px;
	}
	.cta-area .bg-cta > .flex > .detail-area {
		min-width: 360px;
	}
}

/* 768〜1399px：折り返しで CTA の高さが変わるため通常フローに戻す
   （.infomation の padding-top で手動確保している余白と合わなくなるため） 
   */
@media screen and (min-width: 768px) and (max-width: 1399px) {
	.infomation {
		padding-top: 0;
	}
	.cta-area {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		width: 85%;
		margin: 0 auto 80px;
	}
	.medical-time-box .flex {
        gap: 20px;
        flex-wrap: wrap;
    }
	.medical-time-box .time-table, .medical-time-box .detail-area {
        width: 100%;
    }
	.hours .flex {
		gap: 32px;
		flex-wrap: wrap;
		padding: 40px 36px;
	}
	.hours .detail-box .flex .time-table-area, .hours .detail-box .flex .detail-area {
		width: 100%;
	}
	.contact .flex {
		flex-wrap: wrap;
	}
	.contact .flex .form-area, .contact .flex aside {
		width: 100%;
	}
}


/* ======================================================================
   06. ヘッダー：1026〜1439px でメニューが2段になるのを防ぐ

   px 固定のため 1370px 以下でメニュー文字と電話番号が折り返し、
   gnav の高さが 90px → 138px に増える（実測）。
   1025px 以下は 01a でハンバーガー、1440px 以上は従来の px 値と同じ
   ====================================================================== */
@media screen and (min-width: 1026px) and (max-width: 1439px) {
	.gnav ul li a {
		font-size: 12px;
		padding: 20px 14px;
		white-space: nowrap;
	}
	.gnav ul li a span {
		font-size: 10px;
	}
	.gnav ul li img {
		width: 28px;
		margin-right: 6px;
	}
	.gnav ul li.tel-nav a {
		font-size: 22px;
		padding: 0 14px 20px;
		white-space: nowrap;
	}
	.gnav ul li.tel-nav a .tel-txt {
		font-size: 12px;
	}
	.gnav ul li.tel-nav a .hyphen {
		font-size: 14px;
	}
	.gnav {
		margin-right: 20px;
		padding-left: 12px;
	}
	header .logo-area {
		padding: 40px 20px 40px 30px;
	}
}


/* ======================================================================
   07. フッター：768〜1160px を SP と同じ表示にする

   footer .detail-area は min-width:700px。狭い幅では枠が足りず
   診療時間ボックスがロゴに重なる（実測でロゴ幅 1px・高さ 815px）。
   PCレイアウトが成立するのは 1161px 以上
   ====================================================================== */
@media screen and (min-width: 768px) and (max-width: 1160px) {
	footer .bg-footer-deco.pc ,
	footer .copyright-area.pc {
		display: none !important;
	}
	footer .bg-footer-deco.sp ,
	footer .copyright-area.sp {
		display: block !important;
	}
	footer .flex-wrap-sp {
		flex-wrap: wrap;
	}
	footer {
		padding: 80px 2% 160px;
	}
	.footer-logo {
		width: 180px;
		margin-bottom: 30px;
	}
	footer .detail-area {
		padding: 36px 27px;
		width: 100%;
		height: unset;
		min-width: unset;
		border-radius: 100px;
	}
	footer .detail-area .flex {
		gap: 10px;
		justify-content: unset;
	}
	footer .detail-area .ttl-area h2 {
		writing-mode: unset;
		font-size: 16px;
		font-weight: 700;
		font-family: "Zen Maru Gothic", sans-serif;
		line-height: 110%;
		letter-spacing: 10%;
		padding: 0;
	}
	footer .detail-area .table-area ,
	footer .detail-area .table-area table ,
	footer .detail-area .detail-table {
		width: 100%;
	}
	footer .detail-area .table-area table tr {
		border-bottom: 1px solid #E4DAD1;
	}
	footer .detail-area .table-area table tr:last-child {
		border-bottom: none;
	}
	footer .detail-area .table-area table tr th ,
	footer .detail-area .table-area table tr td ,
	footer .detail-area .detail-area p {
		font-size: 14px;
		font-weight: 500;
		font-family: "Zen Maru Gothic", sans-serif;
		line-height: 159%;
		letter-spacing: 10%;
	}
	footer .detail-area .detail-table p {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
	}
	footer .detail-area .detail-table .holiday {
		width: 40%;
	}
	footer .detail-area .detail-table .med-time {
		width: 60%;
	}
	.footer-link-area {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 0;
		max-width: unset;
		width: 95%;
		margin: 20px auto 0;
	}
	.footer-link-area .footer-link-item-left {
		width: 60%;
	}
	.footer-link-area .footer-link-item-right {
		width: 40%;
	}
	.footer-link-area .footer-bnr-item {
		width: 100%;
		margin-top: 40px;
		margin-bottom: 40px;
	}
	.footer-link-area .footer-bnr-item img {
		width: 234px;
	}
	.footer-link-area ul li a {
		font-family: "Zen Maru Gothic", sans-serif;
		font-size: 16px;
		font-weight: 700;
		letter-spacing: 5%;
		color: #4E4339;
	}
	.footer-link-area ul li {
		margin-bottom: 20px;
	}
	.footer-link-area ul li:last-child {
		margin-bottom: 0;
	}
	.bg-footer-deco {
		position: absolute;
		top: 0;
		right: 0;
		width: 60%;
		z-index: 0;
	}
}


/* ======================================================================
   08. 装飾画像はクリック・タップを拾わない（全幅）
   ====================================================================== */
.bg-logo-area ,
.bg-top-right-deco ,
.bg-footer-deco ,
.fv-bottom-deco ,
.concept-ttl-deco ,
.concept-img ,
.our-style-img ,
.our-style-deco ,
.doctor-deco ,
.philo-img ,
.philo-deco ,
.flow-img ,
.flow-deco ,
.cta-left ,
.cta-right ,
.slider-area-deco ,
.bg-r ,
.bg-l {
	pointer-events: none;
}


/* ======================================================================
   09. 下層FVのコンセプトマーク（1026px〜）
       %指定だと画面幅によって本文に重なるため px 指定にする
   ====================================================================== */
@media screen and (min-width: 1026px) {
	.under .fv-concept-area-detail img {
		top: -40px;
		left: -40px;
	}
}


/* ======================================================================
   10. FV：768px 以上を「画面幅に比例して一体で拡大縮小」させる

   .fv は height:46vw で枠は画面幅に比例するのに、中の3ボックスは px 固定。
   そのため幅が変わるとボックスだけ取り残され、位置関係が崩れる。
   → 中身もすべて vw にする。値は 1440px 基準の px を換算（px ÷ 1440 × 100）
     なので 1440px ではデザインどおりの px 値になる
   ====================================================================== */
@media screen and (min-width: 768px) {

	/* --- キャッチコピー --- */
	.fv-catchcopy-area h1 {
		font-size: 2.361vw;        /* 34px @1440 */
		line-height: 4.722vw;      /* 68px */
	}

	/* --- 診療時間ボックス --- */
	.fv-info-area {
		padding: 2.083vw 2.778vw;            /* 30px 40px */
		border-radius: 0 8.333vw 8.333vw 0;  /* 120px */
	}
	.fv-info-area .info-lead {
		font-size: 1.458vw;        /* 21px */
		margin-bottom: 1.389vw;    /* 20px */
	}
	.fv-info-area .flex {
		gap: 2.083vw;              /* 30px */
	}
	.fv-info-area .ttl-area h2 {
		font-size: 1.111vw;        /* 16px */
	}
	.fv-info-area .table-area table tr th ,
	.fv-info-area .table-area table tr td ,
	.fv-info-area .detail-area p {
		font-size: 0.972vw;        /* 14px */
	}
	.fv-info-area .table-area table tr th {
		padding: 0 0.347vw 0.694vw;   /* 0 5px 10px */
	}
	.fv-info-area .table-area table tr td {
		padding: 0.694vw 0.347vw;     /* 10px 5px */
	}

	/* --- コンセプトボックス --- */
	.fv-concept-area-detail {
		padding: 9.722vw 2.778vw;  /* 140px 40px */
		border-radius: 11.111vw;   /* 160px */
	}
	.fv-concept-area-detail img {
		width: 10.903vw;           /* 157px */
	}
	.fv-concept-area-detail .fv-concept-lead {
		font-size: 1.528vw;        /* 22px */
		margin-bottom: 1.389vw;    /* 20px */
	}
	.fv-concept-area-detail p {
		/* body の font-size:14px / line-height:27px を継承していて
		   px 固定のままだと箱の高さが伸びない */
		font-size: 0.972vw;        /* 14px */
		line-height: 1.875vw;      /* 27px */
	}
}


/* ======================================================================
   11. 768px 以上を PC レイアウトにしたことで露出した、px 固定画像の
       はみ出し対策（.ttl-area は % 幅なのに中の img が width:300px 固定）
   ====================================================================== */
@media screen and (min-width: 768px) {
	.philosophy .ttl-area img ,
	.doctor .ttl-area img ,
	.our-style .ttl-area img ,
	.infomation .ttl-area img {
		max-width: 100%;
		height: auto;
	}
}

/* ======================================================================
   12. トップページFV：支給デザインに合わせた最終調整
   ====================================================================== */
@media screen and (min-width: 768px) {
	/* 下層FVは上端基準で配置し、ヘッダーロゴとの重なりを防ぐ */
	.under .fv {
		/* absolute配置の説明枠が次セクションへ被らないよう収容領域を確保 */
		padding-bottom: clamp(180px, 16vw, 260px);
	}
	.under .fv-concept-area {
		top: 60px;
		bottom: auto;
	}
	header .logo-area {
		padding: 40px 40px 40px 55px;
	}
	header .logo {
		width: 203px;
	}
	.gnav {
		padding-left: 20px;
		margin-right: 16px;
	}
	.gnav ul li a {
		padding: 20px 17px;
		font-size: 14px;
	}
	.gnav ul li a span {
		font-size: 11px;
	}
	.gnav ul li img {
		width: 32px;
	}
	.gnav ul li.tel-nav a {
		padding: 0 17px 20px;
		font-size: 25px;
	}
	.gnav ul li.tel-nav a .tel-txt {
		font-size: 13px;
	}
	.fv-catchcopy-area {
		top: 4%;
		right: 8%;
		z-index: 5;
		box-sizing: border-box;
		width: min(18.888vw, 272px);
	}
	.fv-catchcopy-area h1 {
		font-size: min(2.361vw, 34px);
		line-height: min(4.722vw, 68px);
	}
	.fv-area .fv-img img {
		width: 71%;
	}
	.fv-concept-area {
		/* H1の左側に16pxの間隔を確保し、互いに重ならないようにする */
		right: calc(8% + min(18.888vw, 272px) + 16px);
		/* FV下への張り出し量は大画面でも最大300pxに抑える */
		bottom: max(-41%, -300px);
		z-index: 3;
	}
	.fv-concept-area-detail {
		box-sizing: border-box;
		padding-top: min(9.722vw, 140px);
		padding-left: 37px;
		padding-right: 37px;
		padding-bottom: min(9.722vw, 140px);
		border-radius: min(11.111vw, 160px);
	}
	.fv-concept-area-detail img {
		top: -15%;
		left: -10px;
		width: min(10.903vw, 157px);
	}
	.fv-concept-area-detail .fv-concept-lead {
		font-size: min(1.528vw, 22px);
		margin-bottom: min(1.389vw, 20px);
	}
	.fv-concept-area-detail p:not(.fv-concept-lead) {
		font-size: min(0.972vw, 14px);
		line-height: min(1.875vw, 27px);
	}
	/* FVの白いコンセプト枠が終わってから16px下に画像を配置する */
	.concept-img {
		top: calc(min(18.86vw, 300px) + 16px);
		width: 53%;
	}
}

@media screen and (max-width: 767px) {
	html ,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}
	header .logo-area {
		padding: 24px 14px;
		gap: 18px;
	}
	header .logo {
		width: 120px;
	}
	.sticky-txt {
		font-size: 10px;
		line-height: 150%;
	}
	.humberger-btn {
		top: 21px;
		right: 14px;
	}
	.btn-trigger {
		width: 48px;
		height: 36px;
	}
	.btn-trigger span {
		left: 13px;
		width: 22px;
	}
	.btn-trigger span:nth-of-type(1) {
		top: 14px;
	}
	.btn-trigger span:nth-of-type(2) {
		top: 22px;
	}
	.fv-area .fv-img {
		margin-bottom: 0;
	}
	.fv {
		width: 100%;
		max-width: 100vw;
		overflow: visible;
	}
	.fv .flex-sp {
		position: relative;
		display: block;
		height: 306px;
		padding-bottom: 0;
	}
	.fv-concept-area {
		position: static;
	}
	.fv-concept-area-detail {
		box-sizing: border-box;
		position: absolute;
		top: -20px;
		left: 0;
		width: 235px;
		padding: 54px 25px 8px 34px;
		border-radius: 0 48% 48% 0;
	}
	.fv-concept-area-detail img {
		top: -50px;
		left: 19px;
		width: 100px;
	}
	.fv-concept-area-detail .fv-concept-lead {
		font-size: 17px;
		line-height: 160%;
		margin-bottom: 10px;
		white-space: nowrap;
	}
	.fv-concept-area-detail p:not(.fv-concept-lead) {
		font-size: 11.5px;
		line-height: 180%;
	}
	.fv-catchcopy-area {
		position: absolute;
		top: 12px;
		right: max(12px, env(safe-area-inset-right));
		display: block;
		width: 116px;
		height: 220px;
		max-width: none;
		margin: 0;
		overflow: visible;
	}
	.fv-catchcopy-area h1 {
		display: block;
		box-sizing: border-box;
		width: 116px;
		height: 220px;
		max-width: none;
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
		font-size: 20px;
		line-height: 29px;
		white-space: nowrap;
		word-break: normal;
		overflow-wrap: normal;
		overflow: visible;
	}
	/* 07の白枠が終わってから40px下に治療画像を配置する */
	.flow {
		padding-bottom: calc(60.34vw + 100px);
	}

	/* スマホ：注意枠を通常フローへ戻し、次のセクションとの重なりを防ぐ */
	.attention-box {
		box-sizing: border-box;
		position: relative;
		right: auto;
		bottom: auto;
		width: 100%;
		margin: 32px 0 0;
		padding: 28px 24px;
		border-radius: 48px;
	}
	.attention-box .ttl-area ,
	.attention-box .detail-area {
		width: 100%;
	}

	/* スマホ：画像を左、タイトルを右、本文を下段に配置 */
	.our-style {
		display: grid;
		grid-template-columns: minmax(0, 30%) minmax(0, 70%);
		grid-template-rows: auto auto;
		column-gap: 16px;
		row-gap: 32px;
		align-items: center;
		box-sizing: border-box;
		width: 100%;
		padding: 64px 5% 40px;
	}
	.our-style-img.sp {
		display: block !important;
		position: relative;
		top: auto;
		left: auto;
		bottom: auto;
		grid-column: 1;
		grid-row: 1;
		justify-self: end;
		width: 100%;
		max-width: 160px;
		height: auto;
		margin: 0;
		z-index: 0;
	}
	.our-style > .inner ,
	.our-style > .inner > .flex ,
	.our-style .detail-area {
		display: contents;
	}
	.our-style .detail-area .ttl-area {
		grid-column: 2;
		grid-row: 1;
		padding-right: 16px;
		text-align: left;
	}
	.our-style .detail-area .content-area {
		grid-column: 1 / -1;
		grid-row: 2;
		padding: 32px 0 0;
		border-radius: 0;
		background-color: transparent;
		text-align: center;
	}
	.concept .inner .ttl-area {
		width: 100%;
	}
}

/* ======================================================================
   14. 初診案内とCTA：中幅スマホでの重なりを防ぐ
   ====================================================================== */
@media screen and (min-width: 620px) and (max-width: 767px) {
	.first-visit {
		padding-bottom: 80px;
	}
	.first-visit + .infomation {
		padding-top: 60px;
		margin-top: 0;
	}
	.first-visit + .infomation .cta-area {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		width: 95%;
		margin: 0 auto 80px;
	}
}

/* 768px以上：折り返しや縮尺が変わっても電話枠を中央に保つ */
@media screen and (min-width: 768px) {
	.cta-area .tel-area {
		margin-left: auto;
		margin-right: auto;
	}
}

/* PC下層FV：画像の左端を越えない範囲で見出し枠を広げる */
@media screen and (min-width: 1200px) {
	.under .fv-concept-area {
		width: min(26vw, 420px);
		max-width: none;
	}
	.under .fv-concept-area-detail {
		box-sizing: border-box;
		width: 100%;
		padding-left: clamp(36px, 3vw, 48px);
		padding-right: clamp(36px, 3vw, 48px);
	}
}
