@charset "utf-8";

html {
	scroll-padding: 60px;
	scroll-behavior: smooth;
	font-size: 10px;
}

body {
	/* font color */
	--fc-normal-color: #444;
	--fc-white-color: white;
	--fc-black-color: black;
	--fc-grey-color: grey;
	--fc-grey-l-color: grey;
	--fc-grey-d-color: grey;
	--fc-red-color: red;
	--fc-red-l-color: red;
	--fc-red-d-color: red;
	--fc-pink-color: pink;
	--fc-pink-l-color: pink;
	--fc-pink-d-color: pink;
	--fc-blue-color: #00A1C8;
	--fc-blue-l-color: #018CCF;
	--fc-blue-d-color: #002944;
	--fc-green-color: #22B6C3;
	--fc-green-l-color: #71D6DE;
	--fc-green-d-color: #22B6C3;
	--fc-yellow-color: #F5ED26;
	--fc-yellow-l-color: yellow;
	--fc-yellow-d-color: yellow;
	--fc-orange-color: #FCA249;
	--fc-orange-l-color: orange;
	--fc-orange-d-color: #EC7900;
	--fc-brown-color: #7B692E;
	--fc-brown-l-color: brown;
	--fc-brown-d-color: brown;
	--fc-purple-color: purple;
	--fc-purple-l-color: purple;
	--fc-purple-d-color: purple;
	--fc-gold-color: #AB9752;
	--fc-gold-l-color: gold;
	--fc-gold-d-color: gold;

	/* border color  */
	--bd-black-color: black;
	--bd-grey-color: grey;
	--bd-red-color: red;
	--bd-red-l-color: #E56869;
	--bd-red-d-color: red;
	--bd-blue-color: blue;
	--bd-blue-l-color: blue;
	--bd-blue-d-color: blue;
	--bd-pink-color: pink;
	--bd-pink-l-color: pink;
	--bd-pink-d-color: pink;
	--bd-brown-color: brown;
	--bd-brown-l-color: brown;
	--bd-brown-d-color: brown;
	--bd-green-color: green;
	--bd-green-l-color: green;
	--bd-green-d-color: green;
	--bd-gold-color: gold;
	--bd-gold-l-color: gold;
	--bd-gold-d-color: gold;

	/* background color  */
	--bg-opa-color: rgba(255, 255, 255, 0.5);
	--bg-grey-color: grey;
	--bg-yellow-color: yellow;
	--bg-beige-color: beige;
	--bg-blue-color: blue;
	--bg-pink-color: pink;
	--bg-pink-d-color: pink;
	--bg-green-color: green;

	/* box */
	--box-border-color: #ccc;
	--box-shadow: 3px 3px 6px rgba(11, 0, 0, 0.2);

	/* narrow */
	--narrow-default-width: 1160px;
	--narrow-padding: 60px;
	--narrow-padding-sp: 15px;

	--body-max-width: 2560px;
	--body-min-width: 1280px;
	--align-margin: 40px;

	--body-font-size: 20px;
	--body-font-size-sp: 16px;

	margin-right: auto;
	margin-left: auto;
	font-size: var(--body-font-size);
	font-weight: 500;
	font-family: "ヒラギノ角ゴ Pro W3", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
	color: #466062;
	line-height: 1.8;
	background: #F4FBFC;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 500;
	line-height: 1.4;
}

a {
	color: #0C437F;
}

p {
	margin-bottom: 2em;
}

*:last-child:is(p):not([class*="mb-"]) {
	margin-bottom: 0;
}

b {
	font-weight: 800;
}

ruby {
	line-height: 1;
}

address {
	font-style: normal;
}

input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
	padding: 10px;
	width: 100%;
	font-size: var(--body-font-size);
	font-family: inherit;
	border: solid 1px #ccc;
	border-radius: 6px;
	background: #f9f9f9;
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.06) inset;
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
textarea:focus {
	background: #fff;
}

input[type="submit"] {
	display: table;
	margin-right: auto;
	margin-left: auto;
	padding: 10px 20px;
	color: #fff;
	font-size: var(--body-font-size);
	font-weight: 800;
	font-family: inherit;
	cursor: pointer;
	background: #7F602C;
	border: none;
	border-radius: 3px;
}

.ff-mplus.fw-bold {
	font-weight: 500 !important;
}

/* layout */

.header {
	position: relative;
	padding-block: 24px 0;
	padding-inline: clamp(80 / var(--variable-start-width-num) * var(--variable-end-width), 80 / var(--variable-start-width-num) * 100vw, 80px);
	max-width: 1920px;
	margin-inline: auto;
	z-index: 10;
}

.header-container {
	display: grid;
	align-items: center;
	justify-content: space-between;
	row-gap: 26px;
}

.header-logo {
	grid-column: 1 / 2;
	grid-row: 1 / 2;
	display: flex;
	align-items: flex-end;
	gap: 25px;
	font-size: var(--body-font-size-14);
}

.header-logo--h1 {
	display: flex;
	align-items: flex-end;
	width: 100%;
	margin-bottom: 0;
	max-width: 1920px;
	box-sizing: border-box;

	/* ここで左右の余白を統一 */
	padding-inline: clamp(80 / var(--variable-start-width-num) * var(--variable-end-width), 80 / var(--variable-start-width-num) * 100vw, 80px);
}

.header-navigation-sp-wrap {
	display: contents;
}

.header-contact {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	display: flex;
	justify-content: flex-end;
	gap: clamp(30 / var(--variable-start-width-num) * var(--variable-end-width), 30 / var(--variable-start-width-num) * 100vw, 30px);
	padding-right: 30px;
}

.header-contact .tel a {
	display: block;
	margin-bottom: 10px;
}

.header nav {
	display: contents;
}

.header-navigation {
	grid-column: 1 / 3;
	grid-row: 2 / 3;
	display: flex;
	justify-content: center;
	gap: clamp(64 / var(--variable-start-width-num) * var(--variable-end-width), 64 / var(--variable-start-width-num) * 100vw, 64px);
}

.header-navigation>li {
	position: relative;
	padding-bottom: 16px;
}

.header-navigation>li>a {
	display: block;
	color: #22B6C3;
	border-bottom: solid 2px #F4FBFC;
}

@media (min-width: 721px) {
	.header-navigation>li.active>a {
		border-color: #22B6C3;
	}
}

.header-navigation>li>a span {
	display: inline-block;
	font-weight: 500;
	font-family: var(--ff-mplus-r-font-family);
	font-size: var(--body-font-size-20);
	transform: rotate(0.03deg);
}

.header-navigation-child {
	display: none;
	position: absolute;
	margin-top: 16px;
	padding: 30px 36px 24px 36px;
	background: #F4FBFC;
	box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.1);
}

.header-navigation-child.mod-center {
  left: 50%;
  transform: translateX(-50%);
}

.header-navigation-child ul {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 30px;
}

.header-navigation-child ul.col-2 {
	width: 440px;
}

.header-navigation-child ul.col-3 {
  width: 800px;
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 30px 10px; /* 上下30px, 左右10pxのgapでやや詰め気味 */
  padding: 0;
  list-style: none;
  box-sizing: border-box;
}
/* 各メニューアイテムを6列に分ける */
.header-navigation-child ul.col-3 > li {
  width: 125px; /* ← 明示的に1つあたりの幅を固定 */
  box-sizing: border-box;
  text-align: center;
}

.header-navigation-child ul>li>a {
	display: block;
	text-align: center;
	color: #22B6C3;
}

.header-navigation-child ul>li>a span {
	display: inline-block;
	font-weight: 500;
	font-family: var(--ff-mplus-r-font-family);
	font-size: 16px;
	transform: rotate(0.03deg);
}
/*  ----------画像-------------- */
.header-navigation-child ul>li>a img {
	display: block;
	transform: rotate(0deg);
}
.headermenu-img {
  width: 80%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin: 0 auto 8px;
  border-radius: 8px;
  display: block;
}

/* --------------------------- */
.main {
	position: relative;
}

.section-contact {
	color: #fff;
	background: #7A7E73 50% url(../images/bg_footer_contact.webp) no-repeat;
	background-size: cover;
}

.section-contact .section-contact-title {
	display: table;
	margin-inline: auto;
	padding-inline: 100px;
	font-family: var(--ff-mplus-font-family);
	background-repeat: no-repeat;
	background-image: url(../images/footer_contact_dt.webp), url(../images/footer_contact_dt.webp);
	background-position: left, right;
	letter-spacing: 0.1em;
}

.section-contact-list p.heading {
	margin-bottom: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	font-size: var(--body-font-size-21);
	font-family: var(--ff-mplus-font-family);
	letter-spacing: 0.1em;
}

.section-contact-list p.heading::before,
.section-contact-list p.heading::after {
	content: '';
	display: block;
	margin-top: 4px;
	width: 1.5px;
	height: 18px;
	background: #fff;
}

.section-contact-list p.heading::before {
	transform: rotate(-20deg);
}

.section-contact-list p.heading::after {
	transform: rotate(20deg);
}

.section-contact-list a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 14px;
	min-height: 64px;
	color: #fff;
	font-size: var(--body-font-size-26);
	font-family: var(--ff-mplus-font-family);
	background: #22B6C3;
	border: solid 2px #71D6DE;
	border-radius: 100px;
}

.section-contact-list a.reserve:before {
	content: '';
	display: block;
	width: 22px;
	height: 28px;
	background: url(../images/footer_contact_webreserve.webp) no-repeat;
	background-size: cover;
}

.section-contact-list a.first:before {
	content: '';
	display: block;
	width: 33px;
	height: 33px;
	background: url(../images/footer_contact_first.webp) no-repeat;
	background-size: cover;
}

.footer {
	position: relative;
}

.footer-clinic {
	color: #fff;
	background: #012944;
}

.footer-map iframe {
	display: block;
	width: 100%;
	height: 400px;
}

.footer-info {
	padding-block: 80px;
	font-size: var(--body-font-size-18);
}

.footer-info-row {
	display: flex;
	gap: 20px;
}

.footer-info-row>* {
	flex-basis: calc(100% / 2 - 20px / 2 * 1);
}

.footer-info-time {
	padding-bottom: 20px;
	background: #fff;
	overflow: hidden;
	border-radius: 10px;
}

table.table-time {
	width: 100%;
}

table.table-time thead th {
	color: #fff;
	padding: 12px;
	width: 10%;
	font-weight: 500;
	text-align: center;
	background: #71D6DE;
}

table.table-time tbody th,
table.table-time tbody td {
	padding: 14px 12px;
	width: 10%;
	text-align: center;
	border-bottom: solid 1px #EEEEEE;
}

table.table-time tbody td {
	color: #71D6DE;
	font-size: var(--body-font-size-20);
}

table.table-time th:first-child,
table.table-time td:first-child {
	width: 28%;
}

table.table-time th:last-child,
table.table-time td:last-child {
	width: 12%;
}

table.table-time tbody tr:first-child th,
table.table-time tbody tr:first-child td {
	padding-top: 28px;
	padding-bottom: 18px;
}

table.table-time th span {
	display: block;
	font-weight: bold;
}

.footer-navigation {
	display: flex;
	justify-content: center;
	margin-bottom: 80px;
}

.footer-navigation>li {
	padding-inline: 30px;
	line-height: 1;
	font-weight: 400;
	font-family: var(--ff-mplus-r-font-family);
	font-size: var(--body-font-size-16);
	transform: rotate(0.03deg);
	border-right: solid 1px #22B6C3;
}

.footer-navigation>li a {
	color: inherit;
}

.footer-navigation>li:last-child {
	border-right: none;
}

.footer-totop {
	position: absolute;
	right: 80px;
	bottom: 110px;
}

.footer-copyright {
	padding: 4px;
	color: #fff;
	text-align: center;
	background: #22B6C3;
}

/* animation */

.inview-glow {
	visibility: hidden;
}

.inview-glow.is-inview {
	visibility: inherit;
}

.inview-glow span {
	opacity: 0;
}

.inview-glow.is-inview span {
	animation: inview-glow 1s ease-out forwards;
}

@keyframes inview-glow {
	0% {
		opacity: 0;
		text-shadow: 0 0 0 #fff, 0 0 0 #fff;
	}

	50% {
		opacity: 1;
		text-shadow: 0 0 10px #fff, 0 0 15px #fff;
	}

	100% {
		opacity: 1;
		text-shadow: none;
	}
}

.inview-fade {
	opacity: 0;
	transition-property: opacity;
	transition-delay: 0.3s;
	transition-duration: 0.7s;
}

.inview-fade.is-inview {
	opacity: 1;
}

.inview-fade-up {
	opacity: 0;
	transform: translate(0, 50px);
	transition-duration: 0.8s;
	transition-delay: 0.2s;
}

.inview-fade-up.is-inview {
	opacity: 1;
	transform: translate(0, 0);
}

.inview-fade-right {
	opacity: 0;
	transform: translateX(-10%);
	transition-duration: 0.6s;
	transition-property: transform opacity;
}

.inview-fade-right.is-inview {
	opacity: 1;
	transform: translateX(0);
}

.inview-fade-left {
	opacity: 0;
	transform: translate(10%, 0);
	transition-duration: 0.6s;
}

.inview-fade-left.is-inview {
	opacity: 1;
	transform: translate(0, 0);
}

/**/

.grecaptcha-badge {
	visibility: hidden;
}

.h3 {
	margin-bottom: 48px;
	padding-bottom: 12px;
	color: #22B6C3;
	font-family: var(--ff-mplus-r-font-family);
	font-size: var(--body-font-size-36);
	border-bottom: solid 3px #71D6DE;
}

.plush3 {
	margin-top:45px;
	margin-bottom: 48px;
	padding-bottom: 12px;
	color: #22B6C3;
	font-family: var(--ff-mplus-r-font-family);
	font-size: var(--body-font-size-36);
	border-bottom: solid 3px #71D6DE;
}

.h4 {
	margin-bottom: 20px;
	padding-left: 24px;
	color: #22B6C3;
	font-family: var(--ff-mplus-r-font-family);
	font-size: var(--body-font-size-32);
	background: top 0.1em left 0 url(../images/h4_dt.webp) no-repeat;
}

.h-slash {
	display: table;
	padding-bottom: 8px;
	color: #22B6C3;
	font-family: var(--ff-mplus-r-font-family);
	font-size: var(--body-font-size-24);
	margin-bottom: 26px;
	background: bottom 0 left 0 url(../images/h4_slash.webp) repeat-x;
}

.h-bar {
	padding: 8px 24px;
	color: #fff;
	font-family: var(--ff-mplus-r-font-family);
	font-size: var(--body-font-size-28);
	margin-bottom: 26px;
	background: #22A7B5;
}

.h5 {
	margin-bottom: 20px;
	padding-left: 30px;
	color: #22B6C3;
	font-family: var(--ff-mplus-r-font-family);
	font-size: var(--body-font-size-28);
	background: top 0.1em left 0 url(../images/h5_dt.webp) no-repeat;
}

hr.dotted {
	height: 2px;
	border: none;
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.1) 2px, transparent 2px);
	background-size: 10px 2px;
	background-repeat: repeat-x;
	background-position: left bottom;
}

.pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	font-size: var(--body-font-size-20);
}

.pagination a,
.pagination span {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 4px;
	min-width: 40px;
	height: 40px;
	line-height: 1;
	color: inherit;
	text-align: center;
	background: #fff;
	border: solid 1px #EEEEEE;
	border-radius: 3px;
}

.pagination span.current {
	color: #fff;
	background: #71D6DE;
	border: none;
}

.pagination a.first,
.pagination a.prev,
.pagination a.next,
.pagination a.last {
	font-size: var(--body-font-size-14);
}

.list-element {
	padding-top: 20px;
}

.list-element>li {
	position: relative;
	padding: 45px 25px 25px 25px;
	background: #fff;
}

.list-element>li:before {
	content: '要素.';
	position: absolute;
	top: 0;
	left: 50%;
	display: table;
	padding: 3px 32px;
	color: #fff;
	font-family: var(--ff-mplus-r-font-family);
	font-size: var(--body-font-size-20);
	background: #92C5CB;
	transform: translate(-50%, -50%) rotate(0.03deg);
}

.list-element>li:nth-child(1):before {
	content: '要素.1';
}

.list-element>li:nth-child(2):before {
	content: '要素.2';
}

.list-element>li:nth-child(3):before {
	content: '要素.3';
}

.list-element>li:nth-child(4):before {
	content: '要素.4';
}

.list-element>li:nth-child(5):before {
	content: '要素.5';
}

.list-element>li:nth-child(6):before {
	content: '要素.6';
}

.list-element>li:nth-child(7):before {
	content: '要素.7';
}

.list-element>li:nth-child(8):before {
	content: '要素.8';
}

.list-element>li:nth-child(9):before {
	content: '要素.9';
}

.list-check>li {
	padding-left: 48px;
	background: top 0.2em left 0 url(../images/check_box.webp) no-repeat;
}

.list-circle li {
	position: relative;
	margin-bottom: 12px;
	padding-left: 1.2em;
}

.list-circle li:last-child {
	margin-bottom: 0;
}

.list-circle li:before {
	content: '';
	position: absolute;
	top: 0.4em;
	left: 0;
	width: 1em;
	height: 1em;
	background: #22B6C3;
	border-radius: 0.5em;
}

.list-indent li {
	margin-left: 1em;
	text-indent: -1em;
}

.list-flow>li {
	position: relative;
	margin-bottom: 90px;
	padding: 40px;
	background: #fff;
	border-radius: 6px;
}

.list-flow>li:last-child {
	margin-bottom: 0;
}

.list-flow>li:after {
	content: '';
	display: block;
	position: absolute;
	bottom: -60px;
	left: 50%;
	margin-left: -29px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 29px 33px 0 33px;
	border-color: #B2E8ED transparent transparent transparent;
}

.list-flow>li:last-child:after {
	display: none;
}

.list-flow>li .list-flow-h {
	position: relative;
	display: flex;
	align-items: center;
	margin-bottom: 20px;
	padding: 0 0 15px 80px;
	min-height: 73px;
	color: #22B6C3;
	font-family: var(--ff-mplus-r-font-family);
	font-size: var(--body-font-size-24);
	background-image: linear-gradient(to right, #A6E5EA 2px, transparent 2px);
	background-size: 10px 2px;
	background-repeat: repeat-x;
	background-position: left bottom;
}

.list-flow>li .list-flow-h:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 58px;
	height: 58px;
	text-align: center;
	color: #fff;
	line-height: 58px;
	font-size: var(--body-font-size-28);
	background: #71D6DE;
	border-radius: 29px;
}

.list-flow>li:nth-child(1) .list-flow-h:before {
	content: '1';
}

.list-flow>li:nth-child(2) .list-flow-h:before {
	content: '2';
}

.list-flow>li:nth-child(3) .list-flow-h:before {
	content: '3';
}

.list-flow>li:nth-child(4) .list-flow-h:before {
	content: '4';
}

.list-flow>li:nth-child(5) .list-flow-h:before {
	content: '5';
}

.list-flow>li:nth-child(6) .list-flow-h:before {
	content: '6';
}

.list-flow>li:nth-child(7) .list-flow-h:before {
	content: '7';
}

.list-flow>li:nth-child(8) .list-flow-h:before {
	content: '8';
}

.list-flow>li:nth-child(9) .list-flow-h:before {
	content: '9';
}

.link-more {
	display: inline-block;
	position: relative;
	padding: 8px;
	min-width: 296px;
	text-align: center;
	color: #fff;
	font-family: var(--ff-mplus-r-font-family);
	font-size: var(--body-font-size-16);
	background: #22B6C3;
	border-radius: 100px;
	transform: rotate(0.03deg);
}

.link-more:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	display: block;
	margin-top: -6px;
	margin-left: 12px;
	width: 6px;
	height: 6px;
	border-style: solid;
	border-width: 2px;
	border-color: #fff #fff transparent transparent;
	transform: rotate(45deg);
}

.linkbutton {
  text-align: center; 
}

.link-plus {
	display: inline-block;
	position: relative;
	padding: 8px;
	min-width: 296px;
	text-align: center;
	color: #fff;
	font-family: var(--ff-mplus-r-font-family);
	font-size: var(--body-font-size-16);
	background: #22B6C3;
	border-radius: 100px;
	transform: rotate(0.03deg);
}

.link-plus:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	display: block;
	margin-top: -6px;
	margin-left: 12px;
	width: 6px;
	height: 6px;
	border-style: solid;
	border-width: 2px;
	border-color: #fff #fff transparent transparent;
	transform: rotate(45deg);
}

/* =====================================
	NOMOCa AI Chatbot
===================================== */
.bannersNomocaAi {
	/* display: none !important; */
}

/*--------------------------------------
元の固定メニューを非表示
--------------------------------------*/
.float-news {
	display: none;
}

/*--------------------------------------
ページトップボタン位置調整
--------------------------------------*/
.t0-b-goToTop--fixDisplay-scrollDown {
	/* display: none !important; */
}

/*--------------------------------------
バナー
--------------------------------------*/
.bannersNomocaAi {
	position: fixed;
	z-index: 999;
	bottom: 40px;
	right: 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0 !important;
	width: clamp(10%, 160px, 200px) !important;
	/* max-width: 200px; */
	list-style: none !important;
}

.bannersNomocaAi button {
	cursor: pointer;
	transition-duration: .4s;
	border: none;
	background: transparent;
}

.bannersNomocaAi button:hover {
	opacity: .7;
}

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

@media (max-width: 480px) {
	.bannersNomocaAi {
		flex-direction: inherit;
		right: 15px;
		bottom: 18px;
		gap: 0;
		max-width: 100%;
		width: 33% !important;
		/* margin: 0 -15px !important; */
	}

	.bannersNomocaAi button {
		width: 100%;
	}
}

.sp_only {
  display: none;
}

.pc_only {
  display: block;
}

@media (max-width: 768px) {
  .sp_only {
    display: block;
  }

  .pc_only {
    display: none;
  }
}

/*--------------------------------------
TOPページ　ピックアップ診療
--------------------------------------*/
.pic-up-block {
    display: flex;
    align-items: center;
    gap: 60px;
    flex-direction: column;
    width: 90%;
    margin: 0 auto;
}

.pic-up-block section {
    background-color: #fff;
    border-radius: 6px;
    padding: 50px 70px;
}

.pic-up-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

.pic-up-card h3 {
    padding: 16px 24px;
    vertical-align: middle;
    line-height: 1.6;
    background: #62CDD5;
    color: #fff;
    width: 100%;
    font-family: var(--ff-mplus-r-font-family);
    font-size: 26px;
    letter-spacing: 3px;
}

.pic-up-img {
    display: block;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 100 / 40;
    border-radius: 10px;
}

.pic-up-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (max-width: 480px) {
.pic-up-block {
    gap: 30px;
    width: 100%;
}
.pic-up-block section {
    padding: 30px;
}
.pic-up-card {
    gap: 15px;
}
.pic-up-card h3 {
    padding: 7px 0;
    text-align: center;
    font-size: 20px;
}
.pic-up-img {
    aspect-ratio: 100 / 60;
}
}

/*--------------------------------------
下層ページ　追加CSS
--------------------------------------*/
.new-two-column-box {
    display: grid;
    align-items: center;
    grid-template-columns: 1.5fr 2fr;
    gap: 2rem;
}

.new-photo-box{
    overflow: hidden; 
    width: 100%;
    height: 100%;
}

.new-photo-box img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.new-wt-box {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* ------------ タブレットサイズ ------------ */
@media only screen and (max-width: 960px) {

	
}

/* ------------ スマホサイズ ------------ */
@media only screen and (max-width: 480px){
.new-two-column-box {
    flex-direction: column-reverse !important;
}

}

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

  *監修者情報

==================================================================================================================================*/
.sprvs-info {
    margin: 0 auto;
    padding: 20px 50px;
    border: 1px solid #62CDD5;
    border-radius: 12px;
    background: #fff;
    font-family: 'Noto Serif', serif;
    width: 100%;
}

.sprvs-info__dl {
  margin: 0;
}

.sprvs-info__title {
    font-weight: 400;
    font-size: 150%;
    padding-bottom: 12px;
    margin-bottom: 14px;
    border-bottom: 1px solid #62CDD5;
}

.sprvs-info__body {
  margin: 0;
}

.sprvs-info__heading {
  margin-bottom: 16px;
}

.sprvs-info__clinic {
    margin: 0 0 6px;
    font-size: 100%;
    color: #22B6C3;
}

.sprvs-info__name {
  margin: 0;
  font-size: 140%;
  font-weight: 400;
}

.sprvs-info__grid {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.sprvs-info__photo {
    width: 300px;
    margin: 0;
}

.sprvs-info__photo img {
  width: 100%;
  height: auto;
  border-radius: 10px; /* ▶デザイン：角丸 */
  display: block;
}

.sprvs-info__meta {
  flex: 1;
  min-width: 0;
}

.sprvs-info__block {
  margin-bottom: 14px;
}

.sprvs-info__block-title {
  font-weight: 600;
  font-size: 100%;
  margin-bottom: 8px;
  padding-left: 10px;
  border-left: 4px solid #62CDD5; /* ▶色変え：経歴/資格/所属学会-見出しの前のライン色 */
    background: #F4FBFC;
}

.sprvs-info__table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #eee; /* ▶色変え：表の外枠色 */
  border-radius: 10px;
  overflow: hidden;
}

.sprvs-info__table td {
  padding: 10px 12px;
  border-top: 1px solid #eee; /* ▶色変え：表の間のライン色 */
  vertical-align: top;
  font-size: 90%;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", 游ゴシック, "Yu Gothic", Meiryo, sans-serif; /* ▶見出しとフォントを変えたい場合設置 */
  line-height: 1.6;
}

.sprvs-info__table tr:first-child td {
  border-top: none;
}

.sprvs-info__year {
  width: 92px;
  white-space: nowrap;
  color: #666;
  background: #fafafa; /* ▶色変え：経歴表の西暦背景色 */
}

.sprvs-info__list {
  margin: 0 !important;
  padding-left: 18px;
  font-size: 90%;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", 游ゴシック, "Yu Gothic", Meiryo, sans-serif; /* ▶見出しとフォントを変えたい場合設置 */
  line-height: 1.7;
}

.sprvs-info__two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.sprvs-info__two-col .sprvs-info__block {
  margin-bottom: 0;
}

/*==============================================
  *タブレット版
==============================================*/
@media screen and (max-width: 1024px) {
  .sprvs-info {
    padding: 16px;
    margin: 0;
  }
}

/*==============================================
  *モバイル版
==============================================*/
@media (max-width: 768px) {
  .sprvs-info {
    padding: 16px;
    margin: 0;
  }

  .sprvs-info__grid {
    flex-direction: column;
  }

.sprvs-info__photo {
    width: 80%;
    flex: none;
    margin: 0 auto;
}

  .sprvs-info__two-col {
    grid-template-columns: 1fr;
  }
}

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

  *コラム

==================================================================================================================================*/
.single-blog .main article div p{
	margin-bottom: 5px;
}

.single-blog .main article .mb-70 h2 {
    padding: .85em 1em;
    border-left: 6px solid #22B6C3;
    background: #6ed1d9;
    font-weight: 700;
    font-size: 1.3em;
    color: #fff;
    margin: 6rem 0 2rem;
}

.single-blog .main article .mb-70 h3 {
    padding: .55em .2em .45em;
    border-bottom: 2px solid #22B6C3;
    font-weight: 700;
    font-size: 1.2em;
    margin: 3rem 0 1rem;
}

.single-blog .main article .mb-70 h3::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: .55em;
    border-radius: 3px;
    background: #22B6C3;
    vertical-align: middle;
}

.single-blog .main article .mb-70 h4 {
    color: #22B6C3;
    font-weight: 700;
    position: relative;
    font-size: 1.3em;
    margin: 2rem 0 0.5rem;
}

.single-blog .main article .mb-70 a {
    display: inline-block;
    position: relative;
    padding: 8px;
    min-width: 296px;
    text-align: center;
    color: #fff;
    font-family: var(--ff-mplus-r-font-family);
    font-size: 1.9rem;
    letter-spacing: 1px;
    background: #22B6C3;
    border-radius: 100px;
    transform: rotate(0.03deg);
    margin: 20px auto;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
}

.single-blog .main article .mb-70 hr {
    display: block;
    width: 100%;
    height: 8px;
    margin: 5rem 0;
    border: none;
    background: url(../images/h4_slash.webp) repeat-x left bottom;
}

.single-blog .main article div ul {
margin: 0.5rem 1rem;
}

.single-blog .main article div ul li {
    padding-left: .7em;
    position: relative;
}

.single-blog .main article div ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.7em;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #22B6C3;
}


.single-blog .main article .mb-70 img {
    margin: 1rem auto 1rem;
}

.blog-column-block img {
    box-shadow: 3px 3px 0px 3px #22b6c3,-3px -3px 0px 4px #71D6E1;
}

.blog-column-block {
    display: grid;
    grid-template-columns: 1fr 2fr;
    align-items: center;
    gap: 3rem;
    background: #fff;
    padding: 2rem 3rem;
    border-radius: 5px;
}

@media only screen and (max-width: 480px){
.single-blog .main article .mb-70 a {
    font-size: 16px;
}

.blog-column-block {
    display: flex;
    flex-direction: column;
    gap: 0rem;
}

.single-blog .main article .mb-70 .blog-column-block h3 {
    margin: 1rem 0 1rem;
}

.single-blog .main article .mb-70 hr {
    margin: 2rem 0;
}
}