@charset "UTF-8";

@media (max-width: 750px) {
}

/*　-------------------------------------設定など---------------------------------- */

*,
*:before,
*:after {
  min-height: 0vw; /*safariのclamp()不具合防止*/
}

html {
  scroll-padding-top: 100px; /*ページ内リンク調節*/
}

@media (max-width: 750px) {
  html {
	scroll-padding-top: 50px; /*ページ内リンク調節*/
  }
}

body {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

/*投稿内(エディターとフロント )以外の要素    .post-areaはフロント投稿内のクラス .editor-styles-wrapperはエディター */
:where(*):not(.editor-styles-wrapper *, .post-area *, .post-area),
:where(*):not(.editor-styles-wrapper *, .post-area *, .post-area)::after,
:where(*):not(.editor-styles-wrapper *, .post-area *, .post-area)::before {
  padding: 0;
  margin: 0;
}

/*postのスマホサイズの変形防止*/
img[class*="wp-image-"][style*="height\:"] {
  height: auto !important;
}

/*　hover */
@media (hover: hover) /* hoverできるデバイスのみ */ {
  a:hover,
  input[type="submit"]:hover,
  button:hover {
	opacity: 0.5;
  }

  a,
  input,
  textarea,
  button {
	transition: all 0.15s ease-in-out;
  }
}

/*　-------------------------------------共通------------------------------------- */

a:where(:not(.wp-element-button)) {
  text-decoration: none;
}

/*--共通指定--*/
:root {
  --side-l: max(4vw, calc((100vw - 1600px) / 2)); /**/
  --side-m: max(8vw, calc((100vw - 1460px) / 2)); /**/
  --side-s: max(13vw, calc((100vw - 1200px) / 2)); /**/
  --text-trim: calc((1em - 1lh) / 2);
  --green: #55a46a;
  --dark-green: #3d7f4f;
  --beige: #fffaed;
  --orange: #ff6233;
  --gray: #707070;
  --radius: 10px; /*画像などの角丸*/
}

@media (max-width: 750px) /* すまほ以下 */ {
  :root {
	--side-l: 4vw;
	--side-m: 5vw;
	--side-s: 8vw;
	--radius: 5px;
  }
}

.container-l {
  margin: 0 var(--side-l);
}

.container-m {
  margin: 0 var(--side-m);
}

.container-s {
  margin: 0 var(--side-s);
}

/*改行*/
.sp-br,
.tbsp-br {
  display: none;
}

@media (max-width: 960px) /* タブレット */ {
  .tbsp-br {
	display: block;
  }
  .pc-br {
	display: none;
  }
}

@media (max-width: 560px) /* スマホ */ {
  .sp-br {
	display: block;
  }
  .pctb-br {
	display: none;
  }
}

/*タイトル*/
.title {
  color: var(--green);
  font-size: clamp(24px, 19px + 1.346vw, 45px);
  display: grid;
  justify-content: center;
  position: relative;
  margin-bottom: 3.1em;
}

.title-ja {
  font-size: clamp(24px, 19px + 1.346vw, 45px);
  justify-self: center;
}

.title-ja::after {
  content: "";
  width: 3em;
  height: 4px;
  border-radius: 2px;
  background-color: var(--green);
  position: absolute;
  top: 1.6em;
  left: 50%;
  transform: translateX(-50%);
}

.title-en {
  font-size: clamp(15px, 12px + 0.962vw, 30px);
  text-align: center;
}

/*　-------------------------------------ヘッダー- fv------------------------------------ */
/*　---------------- PCヘッダーナビ-------------------- */
.header-nav {
  background-color: var(--green);
  color: #fff;
  padding: 0.5% 3vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  width: 100%;
  z-index: 99999;
}

.header-nav-logo{
	display: block;
	    width: 15vw;
    max-width: 300px;
}

.header-nav-list {
  list-style: none;
  display: flex;
      align-items: center;
  flex-wrap: wrap;
  gap: 0 2em;
  font-size: min(24px, 1.25vw);
}

.header-nav-list .current {
  border-bottom: solid 2px;
}

.header-info {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-size: 2.08vw;
  gap: 0.25em;
}

.header-info-tel {
  margin-block: var(--text-trim);
  border-bottom: solid 1px;
  line-height: 1.1;
}

.header-info-tel span {
  font-size: 1.51vw;
  border-bottom: none;
}

.header-info-address {
  font-size: 1.04vw;
  margin-block: var(--text-trim);
  border-bottom: dotted 1px;
  line-height: 1.2;
}

.sp-menu-open {
  display: none;
}

.header-nav-sp {
  display: none;
}

/*　---------------- SPヘッダーナビ-------------------- */

@media (max-width: 750px) {
  .header-nav {
	display: none;
  }

  .header-nav-sp {
	display: block;
  }

  .sp-menu-open,
  .sp-menu-close {
	display: block;
	background-color: transparent;
	border: none;
  }

  .sp-menu-open {
	display: block;
	position: absolute;
	right: 20px;
	top: 20px;
	width: 40px;
	height: 40px;
	background-color: transparent;
	border: none;
	z-index: 999;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 12px;
  }

  .sp-menu-open-text {
	color: #fff;
	font-size: 26px;
  }
  /*　---------------- SPヘッダーナビ--開いたメニュー------------------ */

  .nav-open {
	display: block;
  }

  .header-nav-sp {
	z-index: calc(infinity);
	background-color: var(--beige);
	position: fixed; /* 画面固定 */
	top: -100vh;
	left: 0;
	width: 100%;
	height: 100vh;
	transition: top 0.5s ease-out;
	/* 初期状態ではインタラクトできないようにする場合 */
	visibility: hidden;
	pointer-events: none;
  }

  .nav-open {
	top: 0;
	visibility: visible;
	pointer-events: auto;
  }

  .header-nav-sp-logoset {
	border-top: solid 10px var(--green);
	display: flex;
	justify-content: space-between;
	padding: 20px;
	padding-bottom: 10px;
  }

  .header-nav-sp-logo {
	width: 155px;
	height: auto;
  }

  .header-nav-sp-logo img {
	width: 100%;
  }

  .sp-menu-close {
	width: 24px;
  }

  .sp-menu-container {
	display: grid;
	justify-items: center;
	grid-template-rows: 1fr;
	gap: 12px;
	color: var(--green);
	min-height: 80lvh;
  }

  .header-nav-list-sp {
	font-size: 18px;
	list-style: none;
	align-self: center;
	display: grid;
	gap: 0.3em;
  }

  .nav-info-tel-sp {
	font-size: 32px;
	text-align: center;
  }

  .nav-info-tel-sp span {
	font-size: 23px;
  }

  .nav-info-address-sp a {
	display: block;
	text-align: center;
	font-size: 16px;
	color: #fff;
	background-color: var(--green);
	border-radius: 2em;
	padding: 0.3em 7em;
  }

  .nav-info-hour-sp .bottom-info-time {
	border: none;
  }

  .nav-info-close-sp {
	font-size: 16px;
  }

  .nav-info-close-sp-text {
	font-size: 16px;
	color: var(--gray);
  }
}

/*　------------------------------------フッター　----------------------------------- */
/*　-------------- bottom　　インフォ---------------------- */
.bottom-info {
  background-color: var(--beige);
  padding: clamp(62px, 47px + 3.974vw, 124px) 0;
  color: var(--green);
}

.bottom-info-ccontainer {
  display: grid;
  grid-template-columns: auto auto;
  gap: clamp(20px, 8px + 3.077vw, 68px);
}

.bottom-info-set {
  color: #707070;
  font-size: clamp(14px, 11px + 0.641vw, 24px);
  text-align: center;
  grid-column: 1/1;
  grid-row: 1/1;
}

.bottom-info-name {
  font-size: clamp(24px, 19px + 1.346vw, 45px);
  margin-bottom: calc(1.4em + var(--text-trim));
}

.bottom-info-set-title {
  margin-bottom: calc(1.25em + var(--text-trim));
}

.bottom-info-set-tel {
  color: var(--green);
  font-size: clamp(32px, 25px + 1.795vw, 60px);
  margin-top: var(--text-trim);
  margin-bottom: calc(0.8em + var(--text-trim));
}

.bottom-info-set-tel span {
  font-size: clamp(23px, 18px + 1.282vw, 43px);
}

.bottom-info-set-address {
  margin-block: var(--text-trim);
}

.bottom-info-map-btn {
  grid-column: 1/1;
  grid-row: 2/3;
  font-size: clamp(12px, 7px + 1.282vw, 32px);
  color: #fff;
  background-color: var(--green);
  border-radius: 15px;
  padding: calc(0.6em + var(--text-trim));
  text-align: center;
}

.bottom-info-time {
  grid-column: 2/3;
  grid-row: 1/1;
  font-size: clamp(15px, 6px + 2vw, 40px);
  background-color: #fff;
  border: solid 3px var(--green);
  border-radius: 15px;
  padding: 1em;
  display: grid;
  grid-template-columns: 6em 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  justify-items: center;
  align-items: center;
  align-self: center;
  gap: 0.4em 0;
}

.bottom-info-time::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--green);
  grid-column: 1/9;
  grid-row: 2/3;
}

.bottom-info-time-time {
  font-size: clamp(12px, 4px + 1.346vw, 30px);
}

.bottom-info-close {
  display: flex;
  gap: 1em;
  align-items: center;
  font-size: clamp(12px, 7px + 1.282vw, 32px);
  color: #707070;
}

.bottom-info-close {
  grid-column: 2/3;
  grid-row: 2/3;
}

.bottom-info-close-title {
  font-size: clamp(12px, 7px + 1.282vw, 32px);
  color: var(--green);
  background-color: #fff;
  border: solid 2px;
  border-radius: 15px;
  padding-block: calc(0.6em + var(--text-trim));
  padding-inline: 0.6em;
  text-align: center;
}

@media (max-width: 950px) {
  .bottom-info-set {
	grid-column: 1/3;
	grid-row: 1/2;
  }

  .bottom-info-map-btn {
	grid-column: 1/3;
	grid-row: 2/3;
	justify-self: center;
	padding-inline: 2em;
	margin-bottom: 1em;
	width: 15em;
  }

  .bottom-info-time {
	grid-column: 1/3;
	grid-row: 3/4;
	max-width: 700px;
	justify-self: center;
	gap: 0.3em 1em;
	width: 100%;
	border: solid clamp(1px, 0.339vw, 3px);
  }

  .bottom-info-close-title {
	width: 15em;
	border: solid 1px;
  }

  .bottom-info-close {
	grid-column: 1/3;
	grid-row: 4/5;
	flex-direction: column;
  }
}

/*　-------------- フッター　地図--------------------- */
.footer-map iframe {
  width: 100%;
  height: clamp(150px, 0px + 41.667vw, 800px);
}

/*　-------------- フッター　------------------- */
.footer {
  padding-top: clamp(97px, 91px + 1.41vw, 119px);
}

.footer-container {
  display: flex;
  justify-content: space-between;
  font-size: clamp(14px, 12px + 0.449vw, 21px);
  padding-bottom: clamp(97px, 91px + 1.41vw, 119px);
}

.footer-logo {
  width: clamp(214px, 186px + 7.692vw, 334px);
  height: auto;
  margin-bottom: 1.9em;
}

.footer-address {
  margin-bottom: calc(2em + var(--text-trim));
}

.footer-time {
  font-size: clamp(12px, 10px + 0.577vw, 21px);
  display: grid;
  grid-template-columns: auto auto;
  gap: 0.2em 1em;
}

.footer-time-title {
  grid-column: 1/3;
}

.footer-nav {
  display: grid;
  grid-template-columns: auto auto auto;
  gap: 3em;
}

.footer-nav-list,
.footer-nav-sublist {
  list-style: none;
}

.footer-nav-list-li a {
  margin-bottom: 0.8em;
}

.footer-nav-list-li a {
  display: flex;
  align-items: center;
  gap: 0.76em;
}

.footer-nav-list-li a::before {
  content: "";
  width: 1em;
  height: 1em;
  display: block;
  background-image: url(../img/icon-footer-menu.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.footer-nav-sublist {
  margin-left: 1em;
  font-size: clamp(12px, 10px + 0.385vw, 18px);
}

.footer-nav-sublist li a::before {
  content: "";
  width: 1em;
  height: 1px;
  display: block;
  background-color: #070707;
}

.copyright {
  font-size: clamp(12px, 10px + 0.513vw, 20px);
  background-color: var(--beige);
  padding: calc(1.9em + var(--text-trim));
}

.copyright p {
  text-align: center;
}

@media (max-width: 950px) {
  .footer-container {
	flex-direction: column;
	gap: 4em 0;
  }

  .footer-time {
	grid-template-columns: auto 1fr;
	gap: 1em;
  }
}

@media (max-width: 750px) {
  .footer-nav {
	grid-template-columns: 1fr 1fr;
	gap: 0.5em 2em;
  }

  .footer-nav-list2 {
	grid-column: 2/3;
	grid-row: 1/3;
  }
}

/*　-----------------------------------フロントページ----------------------------------- */
/*　-------------- FV ----------------------- */
.fv {
  display: grid;
  grid-template-columns: 13.5vw 1fr 1fr 1fr;
  grid-template-rows: clamp(120px, 103px + 4.551vw, 191px) auto clamp(
	  81px,
	  75px + 1.538vw,
	  105px
	);
  height: clamp(760px, 709px + 14.103vw, 980px);
  max-height: 100lvh;


}

.fv-text {
  grid-column: 2/3;
  grid-row: 2/4;
  writing-mode: vertical-rl;
  letter-spacing: 0.5em;
  color: #fff;
  font-size: clamp(32px, 27px + 1.346vw, 53px);
  justify-self: start;
  position: relative;
}

.fv-text span {
  position: absolute;
  left: 0.7em;
  margin-top: -1em;
}

.fv-title {
  grid-column: 3/5;
  grid-row: 2/3;
  width: auto;
  height: clamp(20px, 10px + 2.692vw, 62px);
  margin-right: 5vw;
  align-self: end;
  justify-self: end;
}

.fv-title img {
  height: 100%;
  width: auto;
}

.fv-img {
  grid-column: 1/5;
  grid-row: 1/4;
  width: 100%;
  height: 100%;
}

/*　--------------トップのお知らせ----fv下------------------ */
.top-news {
  color: var(--green);
  display: flex;
  align-items: center;
  gap: 0 3em;
  font-size: clamp(12px, 10px + 0.513vw, 20px);
  padding: 3em 0;
}

.top-news-info {
  font-size: clamp(18px, 14px + 0.897vw, 32px);
  line-height: 1.3em;
  border-right: solid 2px;
  padding-right: 2em;
  padding-block: 0.6em;
}

.top-news-info span {
  font-size: clamp(13px, 10px + 0.705vw, 24px);
}

@media (max-width: 750px) {
  .top-news {
	flex-direction: column;
	align-items: flex-start;
	gap: 1em 0;
  }

  .top-news-info {
	border: none;
	padding: 0;
  }
}

/*　--------------トップの診療案内-クリニックの特徴共通--------------------- */
.top-3box-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3vw;
}

.top-3box-box img {
  border-radius: var(--radius);
  aspect-ratio: 21/19;
}

@media (max-width: 750px) {
  .top-3box-container {
	grid-template-columns: auto;
	gap: 50px;
  }

  .top-3box-box img {
	aspect-ratio: 25/16;
  }
}

/*　--------------トップの診療案内---------------------- */
.top-treatment {
  background-color: var(--beige);
  padding: clamp(60px, 37px + 6.41vw, 160px) 0;
  color: var(--green);
}

.top-treatment .top-3box-container {
  margin-bottom: clamp(133px, 101px + 8.782vw, 270px);
}

.top-treatment-text {
  font-size: clamp(20px, 17px + 0.641vw, 30px);
  text-align: center;
  margin-top: 1.3em;
}

@media (max-width: 750px) {
  .top-treatment-text {
	font-size: 22px;
  }
}

.top-symptoms-title {
  font-size: clamp(20px, 14px + 1.603vw, 45px);
  text-align: center;
  margin-bottom: calc(3.4em + var(--text-trim));
}

.top-symptoms-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  gap: 2em;
  font-size: clamp(12px, 9px + 0.769vw, 24px);
}

.top-symptoms-container img {
  border-radius: var(--radius);
  height: 100%;
}

@media (max-width: 750px) {
  .top-symptoms-container {
	grid-template-columns: auto;
	gap: 2em;
  }

  .top-symptoms-container img {
	aspect-ratio: 2/1;
	width: 100%;
  }
}

.top-symptoms-text-title {
  font-size: clamp(16px, 12px + 1.026vw, 32px);
  margin-bottom: calc(1.1em + var(--text-trim));
}

/*　--------------トップ　クリニックの特徴---------------------- */
.top-feature {
  padding: clamp(115px, 104px + 2.885vw, 160px) 0
	clamp(133px, 87px + 12.756vw, 332px) 0;
  color: var(--green);
}

.top-feature-text-title {
  font-size: clamp(18px, 16px + 0.385vw, 24px);
  text-align: center;
  margin-block: calc(1em + var(--text-trim));
  margin: 1em 0 1.5em;
}

.top-feature-text {
  font-size: clamp(12px, 10px + 0.513vw, 20px);
}

/*　--------------トップ　お知らせ---------------------- */
.top-newslist-container {
  font-size: clamp(14px, 11px + 0.641vw, 24px);
  margin-bottom: clamp(98px, 63px + 9.487vw, 246px);
}

.top-newslist-container::before,
.top-newslist-list-set::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-size: 1em 1px; /*横６px(線と空白合わせた幅)　縦１px*/
  background-image: linear-gradient(
	to right,
	#454545 0.5em,
	transparent 0px
  ); /*黒3px　グラデ0px*/
  background-position: left bottom; /*左下からスタート*/
}

.top-newslist-list {
  display: grid;
  grid-template-columns: 8em 8em auto;
  gap: 2em;
  padding: calc(1.7em + var(--text-trim)) 1.5em;
}

.top-newslist-cat {
  color: var(--green);
  border: solid 2px;
  border-radius: 2em;
  padding: 0 1em;
  width: min-content;
  white-space: nowrap;
  justify-self: center;
}

.top-newslist-btn-container {
  text-align: center;
  margin-top: clamp(53px, 45px + 2.051vw, 85px);
}

.top-newslist-btn {
  color: var(--green);
  font-size: clamp(16px, 12px + 0.897vw, 30px);
  display: inline-block;
  border: solid 2px var(--dark-green);
  border-radius: 15px;
  padding: 0 1em;
}

.top-newslist-btn-text {
  display: flex;
  gap: 1em;
  align-items: center;
}

.top-newslist-btn-text::after {
  content: "";
  display: block;
  width: 0.5em;
  height: 0.8em;
  background-image: url(../img/btn-arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
}

@media (max-width: 750px) {
  .top-newslist-list {
	grid-template-columns: 6em auto;
	gap: 10px 15px;
  }

  .top-newslist-cat {
	justify-self: start;
  }

  .top-newslis-title {
	grid-column: 1/3;
  }
}

/*　-----------------------------------下層ページ--共通アイテム------------------------------ */
/*　--------------共通 タイトルFV ----------------------- */

.sub-fv {
  display: grid;
  margin-bottom: clamp(56px, 36px + 5.385vw, 140px);
}

.sub-fv-title {
  color: #fff;
  grid-column: 1/1;
  grid-row: 1/1;
  z-index: 1;
  justify-self: center;
  align-self: center;
  text-align: center;
}

.sub-fv-title-ja {
  font-size: clamp(30px, 25px + 1.282vw, 50px);
  position: relative;
}

.sub-fv-title-en {
  font-size: clamp(18px, 15px + 0.769vw, 30px);
}

.sub-fv-title-ja::after {
  content: "";
  width: 3em;
  height: 4px;
  border-radius: 2px;
  background-color: #fff;
  position: absolute;
  top: 1.6em;
  left: 50%;
  transform: translateX(-50%);
}

.sub-fv-img {
  grid-column: 1/1;
  grid-row: 1/1;
}

.sub-fv-img img {
  width: 100%;
}

.sub-fv::after {
  grid-column: 1/1;
  grid-row: 1/1;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.2;
}

@media (max-width: 750px) {
  .sub-fv-img {
	height: 760px;
	max-height: 100svh;
  }

  .sub-fv-img img {
	height: 100%;
  }
}

.sub-fv {
  position: relative;
  overflow: hidden;
}

/* ---------scroll ----------- */

.scroll-indicator {
  position: absolute;
  bottom: 5vh;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 10;
  height: 100px;
}

.scroll-line {
  position: relative;
  width: 1px;
  height: 80px;
  background-color: rgba(255, 255, 255, 0.2);
  overflow: hidden;
}

.scroll-line::before {
  content: "";
  position: absolute;
  top: -20px;
  left: 0;
  width: 1px;
  height: 20px;
  background-color: #fff;
  animation: scrollMove 2s infinite ease-in-out;
}

@keyframes scrollMove {
  0% {
	top: -20px;
	opacity: 0;
  }
  30% {
	opacity: 1;
  }
  100% {
	top: 80px;
	opacity: 0;
  }
}

.scroll-text {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  /*transform: rotate(180deg);*/
  color: #fff;
  font-size: 14px;
  margin-top: 10px;
  letter-spacing: 0.1em;
}

/*　--------------共通 症状の紹介 ----------------------- */
.treatment-container {
  display: grid;
  gap: clamp(50px, 26px + 6.41vw, 150px);
}

.treatment-set {
  font-size: clamp(10px, 6px + 0.897vw, 24px);
  color: var(--gray);
  display: grid;
  grid-template-columns: 42% 1fr;
  gap: 1em 4em;
}

.treatment-img {
  grid-column: 1/2;
  grid-row: 1/4;
  height: 100%;
}

.treatment-img img {
  height: 100%;
  border-radius: var(--radius);
}

.treatment-title {
  grid-column: 2/3;
  grid-row: 1/2;
  font-size: clamp(20px, 15px + 1.282vw, 40px);
  color: var(--green);
  display: flex;
  align-items: center;
  gap: 1em;
  margin-left: -1em;
}

.treatment-title::before {
  content: "";
  display: block;
  width: clamp(3px, 2px + 0.256vw, 7px);
  height: 1.3em;
  background-color: var(--green);
  border-radius: 4px;
}

.treatment-text {
  grid-column: 2/3;
  grid-row: 2/3;
  border-bottom: dotted 1px var(--green);
  padding-bottom: 1em;
}

.treatment-ex {
  grid-column: 2/3;
  grid-row: 3/4;
}

.treatment-ex-title {
  font-size: clamp(16px, 14px + 0.513vw, 24px);
  color: var(--green);
  margin-bottom: calc(1em + var(--text-trim));
  white-space: nowrap;
}

/*逆向き*/
.treatment-set.reverce {
  background-color: var(--beige);
  margin: 0 calc(50% - 50vw);
  padding: clamp(50px, 26px + 6.41vw, 150px) var(--side-l);
  grid-template-columns: 1fr 42%;
}

.treatment-set.reverce .treatment-img {
  grid-column: 2/3;
  grid-row: 1/4;
}

.treatment-set.reverce .treatment-title {
  grid-column: 1/2;
  grid-row: 1/2;
}

.treatment-set.reverce .treatment-text {
  grid-column: 1/2;
  grid-row: 2/3;
}

.treatment-set.reverce .treatment-ex {
  grid-column: 1/2;
  grid-row: 3/4;
}

@media (max-width: 750px) {
  .treatment-set {
	grid-template-columns: auto;
  }

  .treatment-img {
	grid-column: 1/2;
	grid-row: 1/2;
  }

  .treatment-img img {
	aspect-ratio: 29/15;
	height: auto;
  }

  .treatment-title {
	grid-column: 1/2;
	grid-row: 2/3;
	margin-left: 0;
	gap: 0.5em;
  }

  .treatment-text {
	grid-column: 1/2;
	grid-row: 3/4;
  }

  .treatment-ex {
	grid-column: 1/2;
	grid-row: 4/5;
  }

  /*逆向き*/
  .treatment-set.reverce {
	grid-template-columns: auto;
  }

  .treatment-set.reverce .treatment-img {
	grid-column: 1/2;
	grid-row: 1/2;
  }

  .treatment-set.reverce .treatment-title {
	grid-column: 1/2;
	grid-row: 2/3;
  }

  .treatment-set.reverce .treatment-text {
	grid-column: 1/2;
	grid-row: 3/4;
  }

  .treatment-set.reverce .treatment-ex {
	grid-column: 1/2;
	grid-row: 4/5;
  }
}

/*　-----------------------------------院内紹介ページ-------------------------------- */
/*　-----------ごあいさつ---------------------- */

.greeting {
  margin-bottom: clamp(108px, 63px + 12.308vw, 300px);
}

.greeting-text {
  font-size: clamp(12px, 10px + 0.385vw, 18px);
  color: var(--gray);
  max-width: 1180px;
  margin-inline: auto;
}

.greting-name {
  font-size: clamp(16px, 13px + 0.641vw, 26px);
  text-align: right;
  margin-top: calc(3.5em + var(--text-trim));
}

/*　-----------病院理念---------------------- */

.philosophy {
  background-color: var(--beige);
  padding: clamp(70px, 28px + 11.538vw, 250px) 0
	clamp(131px, 65px + 18.269vw, 416px) 0;
  margin-bottom: clamp(83px, 47px + 10vw, 239px);
}

.philosophy-container {
  display: grid;
  gap: clamp(75px, 58px + 4.615vw, 147px);
}

.philosophy-set {
  display: grid;
  align-items: end;
  grid-template-columns: 40% 1fr;
  grid-template-rows: 1fr auto;
  font-size: clamp(12px, 9px + 0.769vw, 24px);
  color: var(--gray);
  gap: 2em;
}

.philosophy-img {
  grid-column: 1/2;
  grid-row: 1/3;
  height: 100%;
}

.philosophy-img img {
  height: 100%;
  border-radius: var(--radius);
}

.philosophy-set-title {
  grid-column: 2/3;
  grid-row: 1/2;
  font-size: clamp(16px, 10px + 1.538vw, 40px);
  color: var(--orange);
}

.philosophy-set-text {
  grid-column: 2/3;
  grid-row: 2/3;
}

@media (max-width: 750px) {
  .philosophy-set {
	grid-template-columns: auto;
  }

  .philosophy-img {
	grid-column: 1/2;
	grid-row: 1/2;
  }

  .philosophy-img img {
	aspect-ratio: 29/15;
	height: auto;
  }

  .philosophy-set-title {
	grid-column: 1/2;
	grid-row: 2/3;
  }

  .philosophy-set-text {
	grid-column: 1/2;
	grid-row: 3/4;
  }
}

/*　-----------設備紹介--------------------- */
.facilities {
  margin-bottom: clamp(111px, 18px + 25.705vw, 512px);
}

.facilities-item-title {
  font-size: clamp(14px, 10px + 1.026vw, 30px);
  color: #fff;
  background-color: var(--green);
  padding-block: calc(0.6em + var(--text-trim));
  width: 100%;
  text-align: center;
  border-radius: 1em;
  margin-bottom: 2.7em;
}

.facilities-seikei-table {
  font-size: clamp(10px, 6px + 1.026vw, 26px);
  color: var(--gray);
  margin: 0 auto;
  max-width: 1100px;
  margin-bottom: clamp(43px, 20px + 6.218vw, 140px);
}

.facilities-seikei-table tr td {
  border-bottom: dotted 1px var(--gray);
  padding-right: 2em;
  padding-block: 0.7em;
  min-width: 6em;
}

.facilities-seikei-table tr:last-child td {
  border-bottom: none;
}

.facilities-reha-text {
  font-size: clamp(10px, 6px + 1.026vw, 26px);
  color: var(--gray);
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr;
}

.facilities-reha-text-title {
  font-size: clamp(10px, 5px + 1.154vw, 28px);
  margin-bottom: 1em;
}

/*　-----------当院の取り組み--------------------- */
.initiatives-fv {
  height: clamp(210px, 94px + 32.051vw, 710px);
}

.initiatives-fv .sub-fv-img img {
  height: 100%;
}

@media (max-width: 750px) {
  .initiatives-fv .sub-fv-img {
	height: 100%;
	max-height: 100%;
  }
}

.initiatives {
  display: grid;
  gap: clamp(87px, 73px + 3.782vw, 146px) 0;
  margin-bottom: clamp(125px, 62px + 17.308vw, 395px);
}

.initiatives-box {
  font-size: clamp(12px, 10px + 0.385vw, 18px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr auto;
  align-items: end;
  gap: 1em 0;
}

.initiatives-img {
  height: 100%;
  grid-column: 1/2;
  grid-row: 1/3;
  margin-right: 3.7em;
}

.initiatives-img img {
  height: 100%;
  border-radius: var(--radius);
}

.initiatives-title {
  font-size: clamp(16px, 13px + 0.769vw, 28px);
  color: var(--green);
  grid-column: 2/3;
  grid-row: 1/2;
}

.initiatives-text {
  grid-column: 2/3;
  grid-row: 2/3;
}

/*逆向き*/
.reverse .initiatives-img {
  grid-column: 2/3;
  grid-row: 1/3;
  margin-right: 0;
  margin-left: 3.7em;
}

.reverse .initiatives-title {
  grid-column: 1/2;
  grid-row: 1/2;
}

.reverse .initiatives-text {
  grid-column: 1/2;
  grid-row: 2/3;
}

@media (max-width: 750px) {
  .initiatives-box {
	grid-template-columns: auto;
  }

  .initiatives-img,
  .reverse .initiatives-img {
	grid-column: 1/2;
	grid-row: 1/2;
	margin-right: 0;
	margin-left: 0;
  }

  .initiatives-img img {
	aspect-ratio: 29/15;
	height: auto;
  }

  .initiatives-title,
  .reverse .initiatives-title {
	grid-column: 1/2;
	grid-row: 2/3;
	text-align: center;
  }

  .initiatives-text,
  .reverse .initiatives-text {
	grid-column: 1/2;
	grid-row: 3/4;
  }
}

/*　-----------------------------------診療案内ページ-------------------------------- */
/*　-----------診療案内--------------------- */
.treatment {
  margin-bottom: clamp(126px, 29px + 26.859vw, 545px);
}

/*　-----------主な症状について--------------------- */

.main-symptoms {
  margin-bottom: clamp(162px, 120px + 11.603vw, 343px);
  max-width: 1250px;
}

.main-symptoms-container {
  font-size: clamp(10px, 5px + 1.282vw, 30px);
  color: var(--gray);
  display: grid;
  grid-template-columns: 25% auto auto;
  gap: clamp(23px, 1px + 6.218vw, 120px) 2em;
}

.main-symptoms-subtitle {
  color: var(--green);
}

.main-symptoms-img {
  align-self: center;
  justify-self: center;
  height: clamp(180px, 160px + 2.566vw, 210px);
}
.main-symptoms-img img {
  height: 100%;
}

.main-symptoms-sp {
  display: none;
}

.main-symptoms-img-sp {
  display: none;
}

.main-symptoms-sp-border {
  display: none;
}

@media (max-width: 750px) {
  .main-symptoms-sp {
	display: grid;
	grid-template-columns: 1fr 2fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 7px;
	margin-bottom: 100px;
  }

  .main-symptoms-container {
	grid-template-columns: 15% 1fr 1fr;
  }
  .main-symptoms-img {
	display: none;
  }

  .main-symptoms-img-sp {
	display: block;
  }

  .main-symptoms-sp-border {
	display: block;
	width: 100%;
	border-bottom: dotted 1px var(--green);
	grid-column: 1/4;
  }
}

/*　-----------------------------------主な症状ページ-------------------------------- */

.symptoms {
  margin-block: clamp(120px, 59px + 16.859vw, 383px);
}

.symptoms .treatment-ex {
  display: flex;
  gap: 2em;
}

.symptoms .treatment-container {
  gap: clamp(70px, 51px + 5.128vw, 150px);
}

@media (max-width: 750px) {
  .symptoms .treatment-ex {
	flex-direction: column;
	gap: 1em;
  }
  .treatment-ex-title {
	margin-bottom: 0;
  }
}

/*　-----------------------------------よくある質問ページ-------------------------------- */
.faq {
  margin-bottom: clamp(120px, 87px + 9.038vw, 261px);
}

.faq-container {
  display: grid;
  gap: clamp(54px, 35px + 5.256vw, 136px);
}

.faq-set {
  font-size: clamp(12px, 9px + 0.769vw, 24px);
  color: var(--gray);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.8em 2em;
  align-items: center;
}

.faq-set::after {
  grid-column: 1/3;
  grid-row: 2/3;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-size: 1em 1px; /*横６px(線と空白合わせた幅)　縦１px*/
  background-image: linear-gradient(
	to right,
	#454545 0.5em,
	transparent 0px
  ); /*黒3px　グラデ0px*/
  background-position: left bottom; /*左下からスタート*/
}

.faq-q {
  grid-column: 1/2;
  grid-row: 1/2;
  font-size: clamp(14px, 10px + 1.026vw, 30px);
  color: #fff;
  background-color: var(--green);
  border-radius: 2em;
  height: 2.2em;
  width: 2.2em;
  display: block;
  text-align: center;
  line-height: 2;
}

.faq-q-text {
  grid-column: 2/3;
  grid-row: 1/2;
  font-size: clamp(14px, 10px + 1.026vw, 30px);
  color: var(--green);
}

.faq-a-text {
  grid-column: 2/3;
  grid-row: 3/4;
}

@media (max-width: 750px) {
  .faq-set {
	gap: 0.8em 1em;
  }

  .faq-a-text {
	grid-column: 1/3;
	grid-row: 3/4;
  }
}

/*　-----------------------------------診療時間　アクセスページ-------------------------------- */
/*　-----------診療時間--------------------- */
.hour {
  margin-bottom: clamp(104px, 78px + 6.987vw, 213px);
}

.hour-container {
  color: var(--green);
  margin-bottom: clamp(30px, 25px + 1.282vw, 50px);
}

.hour-text {
  color: var(--gray);
  font-size: clamp(10px, 5px + 1.282vw, 30px);
  line-height: 1.8;
}

.hour-text span {
  font-size: clamp(14px, 9px + 1.282vw, 34px);
  display: block;
}

/*　-----------アクセス--------------------- */
.access {
  margin-bottom: clamp(119px, 86px + 9.167vw, 262px);
}

.access-table1,
.access-table2 {
  font-size: clamp(10px, 6px + 0.897vw, 24px);
}

.access-table1 {
  display: grid;
  grid-template-columns: 10em 1fr;
}

.access-table2 {
  display: grid;
  grid-template-columns: 10em auto 1fr;
  margin-bottom: clamp(88px, 73px + 3.91vw, 149px);
}

.access-table-title {
  font-size: clamp(14px, 10px + 1.026vw, 30px);
  color: #fff;
  background-color: var(--green);
  display: grid;
  place-items: center;
  padding: 0 1.7em;
}

.access-table-subtitle {
  background-color: #c1e6c5;
  display: grid;
  place-items: center;
  padding: 0 1.7em;
}

.access-table-text {
  align-self: center;
  padding: 0.4em 1em;
}

.access-table-title2 {
  grid-column: 1/2;
  grid-row: 1/4;
}

.access-table1,
.access-table2 {
  border: solid 1px var(--gray);
  border-radius: 5px;
}

.access-table2 {
  border-top: none;
}

.access-table-subtitle1,
.access-table-subtitle2,
.access-table-text2,
.access-table-text3 {
  border-bottom: solid 1px var(--gray);
}

.access-table-title1,
.access-table-title2,
.access-table-subtitle1,
.access-table-subtitle2,
.access-table-subtitle3 {
  border-right: solid 1px var(--gray);
}

.access-map-img {
  max-width: 820px;
  margin: 0 auto;
  margin-bottom: clamp(29px, 7px + 5.897vw, 121px);
}

.access-img {
  font-size: clamp(16px, 12px + 0.897vw, 30px);
  color: var(--gray);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1em;
  justify-items: center;
}

.access-img img {
  border-radius: var(--radius);
}

@media (max-width: 750px) {
  .access-table1 {
	grid-template-columns: auto;
	margin-bottom: 15px;
  }

  .access-table2 {
	grid-template-columns: auto;
	border: solid 1px var(--gray);
  }

  .access-table-title {
	place-items: start;
	border-radius: 5px 5px 0 0;
  }

  .access-table-subtitle {
	margin: 1em 1.5em;
	padding: 0.3em;
  }

  .access-table-text {
	padding: 0 1.5em;
  }

  .access-table-text1 {
	padding: 1em 1.5em;
  }

  .access-table-text4 {
	margin-bottom: 1.5em;
  }

  .access-table-subtitle1,
  .access-table-subtitle2,
  .access-table-text2,
  .access-table-text3 {
	border-bottom: none;
  }

  .access-table-title1,
  .access-table-title2,
  .access-table-subtitle1,
  .access-table-subtitle2,
  .access-table-subtitle3 {
	border-right: none;
  }

  .access-img {
	grid-template-columns: auto;
	gap: 1em;
  }

  .access-img-text2 {
	grid-column: 1/2;
	grid-row: 3/4;
  }
}

/*　---------------------------------お知らせ一覧・個別ページ-------------------------------- */
/*　-----------一覧　個別　共通--------------------- */
.post-container {
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: clamp(55px, 29px + 3.362vw, 94px);
  margin-bottom: clamp(126px, 90px + 9.744vw, 278px);
}

/*サイドメニュー*/
.post-side {
  font-size: clamp(12px, 10px + 0.513vw, 20px);
}

.post-side-box {
  margin-bottom: 4em;
}

.post-size-title {
  font-size: clamp(12px, 8px + 0.897vw, 26px);
  color: var(--green);
}

.post-archive-container {
  position: relative;
  font-size: clamp(12px, 10px + 0.321vw, 17px);
  display: grid;
  align-items: center;
  margin-top: 1em;
}

.post-archive {
  width: 100%;
  padding: 0.5em 1em;
  border-radius: 5px;
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
  border: solid 1px;
}

.post-archive-container::after {
  content: "";
  position: absolute;
  width: 1em;
  height: 1em;
  background-color: #000;
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  justify-self: end;
  right: 1em;
}

.post-side-cat {
  list-style: none;
  margin-top: 1.5em;
}

.post-side-cat li {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 0.5em;
}

.post-side-cat li::before {
  content: "";
  display: block;
  width: 1em;
  height: 1px;
  background-color: var(--gray);
}

@media (max-width: 750px) {
  .post-container {
	grid-template-columns: auto;
  }

  .post-side {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column: 1 / 2;
	grid-row: 3 / 4;
  }

  .post-side-box-archive {
	grid-column: 2/3;
	grid-row: 1/2;
  }

  .post-side-box-cat {
	grid-column: 1/2;
	grid-row: 1/2;
  }

  .post-side-box {
	margin-bottom: 0;
  }
}

/*　-----------投稿なし-------------------- */
.no-post {
  text-align: center;
}

/*　-----------お知らせ一覧--------------------- */
.post-list {
  font-size: clamp(12px, 8px + 0.897vw, 18px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.6em;
}

.post-img {
  display: block;
  margin-bottom: 1.3em;
}

.post-img img {
  border-radius: var(--radius);
  aspect-ratio: 2/1.2;
  width: 100%;
}

.post-meta {
  display: flex;
  gap: 0 1em;
}

.post-time {
  font-size: clamp(12px, 9px + 0.577vw, 21px);
}

.post-meta .post-categories {
  font-size: clamp(10px, 8px + 0.449vw, 17px);
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5em;
}

.post-meta .post-categories li a {
  border: solid 1px;
  padding: 0 0.3em;
  display: block;
  white-space: nowrap;
}

.post-title {
  font-size: clamp(12px, 8px + 0.897vw, 26px);
  color: var(--green);
  margin-bottom: 0.5em;
}
	

.post-pagination .nav-links {
  font-size: clamp(12px, 10px + 0.513vw, 20px);
  color: var(--green);
  max-width: clamp(200px, 153px + 12.821vw, 400px);
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 1em;
}

.post-pagination a {
  border: solid 1px;
  width: 2em;
  height: 2em;
  text-align: center;
}

@media (max-width: 750px) {
  .post-list {
	margin-bottom: 61px;
	grid-template-columns: 1fr;
	gap: 2.5em 2em;
  }

  .post-box {
	border-bottom: dotted 1px;
	padding-bottom: 2em;
  }
}

/*　-----------個別ページ--------------------- */

.single-post-title {
  font-size: clamp(16px, 13px + 0.641vw, 26px);
  border-bottom: solid 2px var(--green);
  padding: calc(1em + var(--text-trim)) 26px;
}

.single-post-meta .post-categories {
  font-size: clamp(10px, 7px + 0.577vw, 19px);
  margin: 1em;
  margin-bottom: 2em;
  list-style: none;
  display: flex;
  gap: 1em;
}

.single-post-content {
  margin: 0 26px;
  margin-bottom: clamp(71px, 25px + 12.756vw, 270px);
}

.single-pagenation {
font-size: clamp(12px, 10px + 0.513vw, 20px);
  color: var(--green);
  display: flex;
  justify-content: space-between;
  max-width: clamp(200px, 153px + 12.821vw, 400px);
  margin: 0 auto;
}

.single-pagenation-icon a {
  display: block;
  border: solid 1px;
  width: 2em;
  height: 2em;
  text-align: center;
}

@media (max-width: 750px) {
  .single-post-content {
	margin-inline: 0;
  }

  .single-post-title {
	padding-left: 0;
  }
}

/*　-----------404ページ--------------------- */
.notfound {
  text-align: center;
  margin-bottom: clamp(70px, 53px + 4.487vw, 140px);
}

.notfound-text {
  margin-bottom: 2em;
}

.notfound-btn {
  color: var(--green);
}

/*　-----------その他のページ--(page.php)------------------- */
.page-container {
  margin-bottom: clamp(70px, 53px + 4.487vw, 140px);
}
