@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500&family=Zen+Maru+Gothic:wght@500&display=swap");
/*!
Theme Name: tochinoki
Theme URI: http://underscores.me/
Author: Me
Author URI: http://underscores.me/
Description: Custom theme: tochinoki, developed by Me
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: tochinoki
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

tochinoki is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
:root {
  --radius110: 110px;
  --radius40: 40px;
  --radius30: 30px;
  --radius20: 20px;
}
@media screen and (width <= 580px) {
  :root {
    --radius110: 90px;
    --radius40: 25px;
  }
}
@media screen and (width <= 480px) {
  :root {
    --radius110: 50px;
  }
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. すべてのブラウザで行の高さを正しく設定します。
 * 2. iOSでの画面の向き変更後のフォントサイズの調整を防ぎます。
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * すべてのブラウザでマージンを削除します。
 */
body {
  margin: 0;
}

/**
 * IEで`main`要素を一貫してレンダリングします。
 */
main {
  display: block;
}

/**
 * Chrome、Firefox、Safariで`section`や`article`内の`h1`要素のフォントサイズとマージンを修正します。
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Firefoxで正しいボックスサイズを適用します。
 * 2. EdgeとIEでオーバーフローを表示します。
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. すべてのブラウザでフォントサイズの継承とスケーリングを修正します。
 * 2. すべてのブラウザで奇妙な`em`フォントサイズを修正します。
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * IE 10でアクティブリンクの灰色背景を削除します。
 */
a {
  background-color: transparent;
}

/**
 * 1. Chrome 57以前のバージョンで下線を削除します。
 * 2. Chrome、Edge、IE、Opera、Safariで正しいテキスト装飾を追加します。
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted; /* 2 */
}

/**
 * Chrome、Edge、Safariで正しいフォントウェイトを追加します。
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. すべてのブラウザでフォントサイズの継承とスケーリングを修正します。
 * 2. すべてのブラウザで奇妙な`em`フォントサイズを修正します。
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * すべてのブラウザで正しいフォントサイズを追加します。
 */
small {
  font-size: 80%;
}

/**
 * すべてのブラウザで`sub`および`sup`要素が行の高さに影響を与えないようにします。
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * IE 10でリンク内の画像のボーダーを削除します。
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. すべてのブラウザでフォントスタイルを変更します。
 * 2. FirefoxとSafariでマージンを削除します。
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * IEでオーバーフローを表示します。
 * 1. Edgeでオーバーフローを表示します。
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Edge、Firefox、IEでのテキスト変換の継承を削除します。
 * 1. Firefoxでのテキスト変換の継承を削除します。
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * iOSおよびSafariでクリック可能なタイプをスタイルできない問題を修正します。
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Firefoxでの内部ボーダーとパディングを削除します。
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * 前のルールで解除されたフォーカススタイルを復元します。
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Firefoxでのパディングを修正します。
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. EdgeとIEでテキストの折り返しを修正します。
 * 2. IEで`fieldset`要素からの色の継承を修正します。
 * 3. 開発者がすべてのブラウザで`fieldset`要素をゼロにした場合に問題が発生しないように、パディングを削除します。
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Chrome、Firefox、Operaで正しい垂直方向の位置合わせを追加します。
 */
progress {
  vertical-align: baseline;
}

/**
 * IE 10+でのデフォルトの垂直スクロールバーを削除します。
 */
textarea {
  overflow: auto;
}

/**
 * 1. IE 10で正しいボックスサイズを追加します。
 * 2. IE 10でパディングを削除します。
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Chromeでのインクリメントとデクリメントボタンのカーソルスタイルを修正します。
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. ChromeおよびSafariでの奇妙な外観を修正します。
 * 2. Safariでのアウトラインスタイルを修正します。
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * macOSのChromeおよびSafariでの内部パディングを削除します。
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. iOSおよびSafariでクリック可能なタイプをスタイルできない問題を修正します。
 * 2. Safariでフォントプロパティを`inherit`に変更します。
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Edge、IE 10+、Firefoxで正しい表示を追加します。
 */
details {
  display: block;
}

/*
 * すべてのブラウザで正しい表示を追加します。
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * IE 10+で正しい表示を追加します。
 */
template {
  display: none;
}

/**
 * IE 10で正しい表示を追加します。
 */
[hidden] {
  display: none;
}

/* !ここから下はオリジナル
   ========================================================================== */
hr {
  border: 0;
}

p {
  margin-top: 0;
}

*, *::before, *::after {
  box-sizing: border-box;
}

ul, ol {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
ul li, ol li {
  margin-bottom: 0;
}

img {
  display: block;
}

figure {
  margin: 0;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

#content[tabindex="-1"]:focus {
  outline: 0;
}

a {
  text-decoration: none;
  color: #3c3c3c;
}
a:visited {
  color: #3c3c3c;
}
a:hover {
  color: #3c3c3c;
}
a:active {
  color: #3c3c3c;
}
a:hover {
  opacity: 0.7;
}

.site-main p a {
  color: #3c3c3c;
  text-decoration: underline;
  text-underline-offset: 0.1em;
}
.site-main p a:visited {
  color: #3c3c3c;
}
.site-main p a:hover {
  color: #3c3c3c;
}
.site-main p a:active {
  color: #3c3c3c;
}
.site-main p a:hover {
  text-decoration-color: rgba(60, 60, 60, 0.6);
}

body.single .site-main .entry-content p a {
  color: #3c3c3c;
  text-decoration: underline;
  text-underline-offset: 0.1em;
}
body.single .site-main .entry-content p a:visited {
  color: #3c3c3c;
}
body.single .site-main .entry-content p a:hover {
  color: #3c3c3c;
}
body.single .site-main .entry-content p a:active {
  color: #3c3c3c;
}
body.single .site-main .entry-content p a:hover {
  text-decoration-color: rgba(60, 60, 60, 0.6);
}

html, body {
  font-size: 16px;
  line-height: 1.8;
  color: #3c3c3c;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", Meiryo, "MS PGothic", sans-serif;
  letter-spacing: 1px;
}
@media screen and (max-width: 480px) {
  body {
    letter-spacing: 0.5px;
  }
}

h1, h2, h3, h4, h5, h6, dt {
  font-family: "Zen Maru Gothic", BlinkMacSystemFont, "Hiragino Sans", Meiryo, "MS PGothic", sans-serif;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 1em;
  color: #2084a5;
}

h1:has(wbr), h2:has(wbr), h3:has(wbr), h4:has(wbr), h5:has(wbr), h6:has(wbr), dt:has(wbr), a:has(wbr) {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

span.ib {
  display: inline-block;
}

.width-wrap {
  max-width: 1390px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1430px) {
  .width-wrap {
    margin-left: 20px;
    margin-right: 20px;
  }
}
@media screen and (max-width: 807px) {
  .width-wrap {
    margin-left: calc(50vw - 383.5px);
    margin-right: calc(50vw - 383.5px);
  }
}
@media screen and (max-width: 797px) {
  .width-wrap {
    margin-left: 15px;
    margin-right: 15px;
  }
}

body .site {
  min-height: 100dvh;
}
body .site .site-footer {
  position: sticky;
  top: 100%;
}

img, video, iframe {
  max-width: 100%;
  height: auto;
}

.h2-main {
  text-align: center;
  margin-bottom: 48px;
}
.h2-main p {
  font-family: "Zen Maru Gothic", BlinkMacSystemFont, "Hiragino Sans", Meiryo, "MS PGothic", sans-serif;
  font-weight: 500;
  font-size: 18px;
  color: #2084a5;
  margin-bottom: 0.6em;
}
.h2-main h2 {
  margin-block: 0;
  font-family: "Zen Maru Gothic", BlinkMacSystemFont, "Hiragino Sans", Meiryo, "MS PGothic", sans-serif;
  font-weight: 500;
  font-size: clamp(32px, 7.9166666667vw, 38px);
  color: #3c3c3c;
}
.h2-main h2 span {
  color: #2084a5;
}

.btn {
  background-color: #2084a5;
  color: white;
  font-size: 24px;
  color: white;
  color: white;
  padding-block: 13px;
  padding-inline: 8%;
  border-radius: 100vmax;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 10px;
  width: max-content;
}
.btn:visited {
  color: white;
}
.btn:hover {
  color: white;
}
.btn:active {
  color: white;
}
.btn svg {
  fill: white;
}

.medicalhours table tr th,
.medicalhours table tr td {
  padding-block: 5px;
  padding-inline: 5px;
  border-bottom: 1px solid #E8E8E8;
  font-size: clamp(12px, 2.3333333333vw, 14px);
  text-align: center;
  width: 11%;
  white-space: nowrap;
  font-family: "Zen Kaku Gothic New", BlinkMacSystemFont, "Hiragino Sans", Meiryo, "MS PGothic", sans-serif;
  font-weight: 500;
}
.medicalhours table tr th {
  width: max-content;
  text-align: left;
}
.medicalhours table tr th span {
  display: block;
  font-size: clamp(9px, 2vw, 12px);
}
.medicalhours table tbody tr th,
.medicalhours table tbody tr td {
  color: #2084a5;
}
.medicalhours table tbody tr td {
  position: relative;
}
.medicalhours table tbody tr td .atten {
  font-size: clamp(7px, 1.8333333333vw, 11px);
  position: absolute;
  bottom: 1px;
  left: 0;
  width: 100%;
  text-align: center;
}
.medicalhours table + p {
  font-size: clamp(0px, 2.1666666667vw, 13px);
  line-height: 1.5;
  margin-top: 10px;
}

.site-header {
  padding-block: 20px 30px;
  overflow-x: clip;
}
.site-header .width-wrap {
  display: flex;
  align-items: center;
  column-gap: 15px;
}
.site-header .width-wrap .site-branding .site-title {
  margin: 0;
  padding-left: clamp(0px, 10px - (10px - 1.6393442623vw) * 5, 10px);
}
.site-header .width-wrap .site-branding .site-title img {
  width: clamp(130px, 24.2179616549vw, 240px);
  max-width: none;
}
.site-header .width-wrap .global-nav {
  flex-grow: 1;
}
.site-header .width-wrap .global-nav .inquiry {
  display: flex;
  column-gap: 4.5%;
  margin-bottom: 40px;
  align-items: center;
  justify-content: flex-end;
}
.site-header .width-wrap .global-nav .inquiry .btn {
  column-gap: clamp(4px, 10px - (10px - 1.5873015873vw) * 2, 10px);
  font-size: clamp(0px, 3.1746031746vw, 20px);
  padding-inline: max(4%, 15px);
}
.site-header .width-wrap .global-nav .inquiry .btn svg {
  width: clamp(0px, 3.3333333333vw, 21px);
  height: auto;
}
.site-header .width-wrap .global-nav .inquiry .address h4 {
  font-size: clamp(15px, 3.6vw, 18px);
  margin-block: 0;
}
.site-header .width-wrap .global-nav .inquiry .address p {
  font-size: 14px;
  margin-bottom: 0;
}
.site-header .width-wrap .global-nav .inquiry .map {
  color: #2084a5;
  text-align: center;
  line-height: 1;
  font-size: clamp(11px, 2.5396825397vw, 16px);
}
.site-header .width-wrap .global-nav .inquiry .map:visited {
  color: #2084a5;
}
.site-header .width-wrap .global-nav .inquiry .map:hover {
  color: #2084a5;
}
.site-header .width-wrap .global-nav .inquiry .map:active {
  color: #2084a5;
}
.site-header .width-wrap .global-nav .inquiry .map span {
  margin-top: 3px;
  display: grid;
  place-content: center;
  margin-inline: auto;
  background-color: #2084a5;
  width: clamp(37px, 7.9365079365vw, 50px);
  height: auto;
  aspect-ratio: 1;
  border-radius: 100vmax;
}
.site-header .width-wrap .global-nav .inquiry .map span svg {
  fill: white;
  width: clamp(20px, 4.2857142857vw, 27px);
  height: auto;
}
.site-header .width-wrap .global-nav .inquiry .hm-toggle-btn {
  display: none;
}
.site-header .width-wrap .global-nav .main-navigation ul {
  margin-left: auto;
  width: max-content;
  display: flex;
  justify-content: flex-end;
  background-color: #F2F2F2;
  column-gap: clamp(15px, 60px - (60px - 5.0041701418vw) * 2, 60px);
  padding-block: 19px;
  padding-left: 10%;
  border-radius: 100vmax 0 0 100vmax;
  margin-right: calc((50vw - 50%) * -1);
  padding-right: calc(50vw - 50%);
  font-size: 15px;
}
.site-header .width-wrap .global-nav .main-navigation ul li {
  flex-shrink: 0;
}
@media screen and (width <= 1045px) {
  .site-header .width-wrap .global-nav .inquiry .mobile-hide {
    display: none;
  }
}
@media screen and (width <= 895px) {
  .site-header .width-wrap .global-nav .inquiry {
    display: grid;
    grid-template-columns: repeat(2, auto);
    column-gap: max(10px, 3%);
    row-gap: max(5px, 5%);
    justify-items: center;
    margin-bottom: 5px;
  }
  .site-header .width-wrap .global-nav .inquiry .btn {
    grid-column: 1/2;
    grid-row: 2/3;
  }
  .site-header .width-wrap .global-nav .inquiry .address {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .site-header .width-wrap .global-nav .inquiry .map {
    grid-column: 2/3;
    grid-row: 1/2;
  }
  .site-header .width-wrap .global-nav .inquiry .hm-toggle-btn {
    display: block;
    grid-column: 2/3;
    grid-row: 2/3;
  }
}

#masthead {
  position: relative;
  z-index: 1;
}
#masthead .width-wrap .hm-toggle-btn {
  display: none;
  appearance: none;
  cursor: pointer;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  width: 32px;
  height: 20px;
}
#masthead .width-wrap .hm-toggle-btn:focus {
  outline: none;
}
#masthead .width-wrap .hm-toggle-btn .toggle-icon {
  position: relative;
  width: 32px;
  height: 2px;
  background-color: #3c3c3c;
  content: "";
  display: block;
  transition: background-color 0.2s;
}
#masthead .width-wrap .hm-toggle-btn .toggle-icon:before, #masthead .width-wrap .hm-toggle-btn .toggle-icon:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  width: 32px;
  height: 2px;
  background-color: #3c3c3c;
  transform: translateY(-8px);
  transition: transform 0.2s;
}
#masthead .width-wrap .hm-toggle-btn .toggle-icon:after {
  transform: translateY(8px);
}
#masthead .main-navigation-mobile {
  background-color: white;
  position: absolute;
  width: 100%;
  top: 100%;
  max-height: 0;
  overflow-y: hidden;
}
#masthead .main-navigation-mobile ul {
  list-style: none;
  padding-left: 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-left: 15px;
  margin-right: 15px;
  margin-bottom: 15px;
  gap: 3%;
  row-gap: 14px;
  font-family: "Zen Kaku Gothic New", BlinkMacSystemFont, "Hiragino Sans", Meiryo, "MS PGothic", sans-serif;
  font-weight: 500;
}
#masthead .main-navigation-mobile ul li {
  margin: 0;
  flex-basis: 48.5%;
  text-align: center;
  letter-spacing: 1px;
  background-color: #efefef;
}
@media screen and (max-width: 480px) {
  #masthead .main-navigation-mobile ul li {
    letter-spacing: 0;
  }
}
#masthead .main-navigation-mobile ul li a {
  display: block;
  padding-block: 22px 26px;
  padding-inline: 2px;
  color: #2084a5;
}
#masthead .main-navigation-mobile ul li a:visited {
  color: #2084a5;
}
#masthead .main-navigation-mobile ul li a:hover {
  color: #2084a5;
}
#masthead .main-navigation-mobile ul li a:active {
  color: #2084a5;
}
#masthead.is-open .width-wrap .hm-toggle-btn .toggle-icon {
  background-color: transparent;
}
#masthead.is-open .width-wrap .hm-toggle-btn .toggle-icon:before, #masthead.is-open .width-wrap .hm-toggle-btn .toggle-icon:after {
  transform: rotate(45deg);
}
#masthead.is-open .width-wrap .hm-toggle-btn .toggle-icon:after {
  transform: rotate(-45deg);
}
#masthead.is-open .main-navigation-mobile {
  max-height: 100vh;
  transition: max-height 1s;
}
@media screen and (max-width: 895px) {
  #masthead {
    padding-top: 13px;
    padding-bottom: 20px;
  }
  #masthead .width-wrap .main-navigation {
    display: none;
  }
  #masthead .width-wrap .hm-toggle-btn {
    display: block;
  }
}

body.home .firstview-sect {
  padding-top: 3px;
}
body.home .firstview-sect .width-wrap {
  display: grid;
}
body.home .firstview-sect .width-wrap > * {
  grid-area: 1/-1;
}
body.home .firstview-sect .width-wrap img {
  border-radius: var(--radius40);
  margin-bottom: 8%;
}
body.home .firstview-sect .width-wrap h2 {
  margin-top: clamp(30px, 140px - (140px - 12.7272727273vw) * 2, 140px);
  margin-bottom: 0;
  background-color: rgba(188, 172, 133, 0.82);
  width: max-content;
  height: max-content;
  color: white;
  font-size: clamp(0px, 4.4328552803vw, 34px);
  font-family: "Zen Kaku Gothic New", BlinkMacSystemFont, "Hiragino Sans", Meiryo, "MS PGothic", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 2px;
  border-radius: 0 var(--radius40) var(--radius40) 0;
  padding-block: clamp(0px, 2.998696219vw, 23px);
  padding-right: 44px;
  margin-left: calc((50vw - 50%) * -1);
  padding-left: calc(50vw - 50% + 3%);
}
@media screen and (max-width: 480px) {
  body.home .firstview-sect .width-wrap h2 {
    letter-spacing: 0px;
  }
}
body.home .firstview-sect .width-wrap .medicalhours {
  align-self: end;
  justify-self: end;
  background-color: white;
  overflow: hidden;
  padding-block: clamp(0px, 3.8333333333vw, 23px);
  padding-inline: 59px 15px;
  border-radius: var(--radius30) 0 0 var(--radius30);
  width: 550px;
}
body.home .firstview-sect .width-wrap .medicalhours hgroup {
  display: flex;
  align-items: center;
  column-gap: clamp(0px, 4.1666666667vw, 25px);
  margin-left: -59px;
}
body.home .firstview-sect .width-wrap .medicalhours hgroup h3,
body.home .firstview-sect .width-wrap .medicalhours hgroup p {
  font-family: "Zen Kaku Gothic New", BlinkMacSystemFont, "Hiragino Sans", Meiryo, "MS PGothic", sans-serif;
  font-weight: 500;
  color: #2084a5;
  margin-block: 0;
}
body.home .firstview-sect .width-wrap .medicalhours hgroup h3 {
  margin-left: 10px;
}
body.home .firstview-sect .width-wrap .medicalhours hgroup:before {
  content: "";
  display: block;
  width: 30px;
  height: 10px;
  border-radius: 100vmax;
  background-color: #d1edca;
  border-radius: 0 100vmax 100vmax 0;
}
@media screen and (width <= 991px) {
  body.home .firstview-sect .width-wrap {
    grid-template-columns: auto;
    grid-template-rows: repeat(2, auto);
    row-gap: 20px;
  }
  body.home .firstview-sect .width-wrap img {
    margin-bottom: 0;
  }
  body.home .firstview-sect .width-wrap h2 {
    margin-top: clamp(0px, 140px - (140px - 14.1271442987vw) * 0.4, 140px);
    margin-left: -20px;
    padding-left: 20px;
  }
  body.home .firstview-sect .width-wrap .medicalhours {
    grid-row: 2/3;
  }
}
@media screen and (width <= 600px) {
  body.home .firstview-sect .width-wrap {
    row-gap: 15px;
  }
  body.home .firstview-sect .width-wrap img {
    height: 250px;
    object-fit: cover;
    object-position: 75% 50%;
  }
  body.home .firstview-sect .width-wrap .medicalhours {
    margin-inline: -15px;
    padding-inline: 15px;
    width: calc(100% + 30px);
    border-radius: 0;
  }
  body.home .firstview-sect .width-wrap .medicalhours hgroup {
    margin-left: -15px;
  }
  body.home .firstview-sect .width-wrap .medicalhours table {
    width: 100%;
  }
}
body.home .firstview-sect:before {
  position: absolute;
  content: "";
  display: block;
  background-color: #d1edca;
  border-radius: var(--radius110);
  width: 500px;
  height: 500px;
  z-index: -1;
  bottom: calc(clamp(0px, 41.6666666667vw, 250px) * -1);
  width: 272px;
  height: 540px;
  border-radius: 100px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
@media screen and (width <= 920px) {
  body.home .firstview-sect:before {
    background-color: #F1F9F0;
  }
}
body.home .news-sect {
  padding-block: 30px 120px;
}
body.home .news-sect .width-wrap {
  max-width: 910px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 950px) {
  body.home .news-sect .width-wrap {
    margin-left: 20px;
    margin-right: 20px;
  }
}
@media screen and (max-width: 807px) {
  body.home .news-sect .width-wrap {
    margin-left: calc(50vw - 383.5px);
    margin-right: calc(50vw - 383.5px);
  }
}
@media screen and (max-width: 797px) {
  body.home .news-sect .width-wrap {
    margin-left: 15px;
    margin-right: 15px;
  }
}
body.home .news-sect .article-wrap .hentry {
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(154, 191, 203, 0.7);
  padding-inline: 2.5%;
  padding-block: 35px;
}
body.home .news-sect .article-wrap .hentry .date {
  flex-basis: 130px;
  font-family: "Zen Kaku Gothic New", BlinkMacSystemFont, "Hiragino Sans", Meiryo, "MS PGothic", sans-serif;
  font-weight: 500;
  font-size: 18px;
  color: #2084a5;
  letter-spacing: 3px;
}
body.home .news-sect .article-wrap .hentry .category {
  flex-basis: 160px;
  font-family: "Zen Kaku Gothic New", BlinkMacSystemFont, "Hiragino Sans", Meiryo, "MS PGothic", sans-serif;
  font-weight: 500;
  font-size: 14px;
}
body.home .news-sect .article-wrap .hentry .category a {
  color: #2084a5;
  background-color: white;
  padding: 5px 10px;
  border: 1px solid #9abfcb;
  border-radius: 100vmax;
  width: 100%;
  display: block;
  text-align: center;
}
body.home .news-sect .article-wrap .hentry .category a:visited {
  color: #2084a5;
}
body.home .news-sect .article-wrap .hentry .category a:hover {
  color: #2084a5;
}
body.home .news-sect .article-wrap .hentry .category a:active {
  color: #2084a5;
}
body.home .news-sect .article-wrap .hentry h3 {
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", Meiryo, "MS PGothic", sans-serif;
  font-weight: normal;
  margin: 0;
  padding-left: 2.5%;
  font-size: 16px;
}
body.home .news-sect .btn {
  margin-top: 50px;
  font-size: 16px;
  margin-inline: auto;
  background-color: white;
  border: 1px solid #9abfcb;
  color: #2084a5;
}
body.home .news-sect .btn:visited {
  color: #2084a5;
}
body.home .news-sect .btn:hover {
  color: #2084a5;
}
body.home .news-sect .btn:active {
  color: #2084a5;
}
@media screen and (width <= 767px) {
  body.home .news-sect .article-wrap .hentry {
    padding-block: 22px;
    flex-wrap: wrap;
    row-gap: 0.8em;
  }
  body.home .news-sect .article-wrap .hentry h3 {
    flex-basis: 100%;
    padding-left: 0;
  }
}
body.home .symptoms-sect {
  overflow-x: clip;
  padding-top: 51px;
  padding-bottom: 130px;
  position: relative;
}
body.home .symptoms-sect:before {
  position: absolute;
  content: "";
  display: block;
  background-color: #d1edca;
  border-radius: var(--radius110);
  width: 500px;
  height: 500px;
  z-index: -1;
  top: 0;
  right: 0;
  height: 993px;
  width: calc(50% + 490px);
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  background: linear-gradient(#d1edca, #d1edca 75%, white);
}
body.home .symptoms-sect:after {
  position: absolute;
  content: "";
  display: block;
  background-color: #d1edca;
  border-radius: var(--radius110);
  width: 500px;
  height: 500px;
  z-index: -1;
  bottom: 0;
  width: calc(50% + 240px);
  height: 644px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
@media screen and (width <= 560px) {
  body.home .symptoms-sect:after {
    right: 40px;
  }
}
body.home .symptoms-sect hgroup {
  position: relative;
}
body.home .symptoms-sect hgroup svg {
  position: absolute;
  right: -40px;
  bottom: 0;
  fill: rgba(239, 234, 234, 0.8);
  width: clamp(0px, 56.25vw, 270px);
  height: auto;
  z-index: -1;
}
body.home .symptoms-sect .contents {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: 1300px;
  margin-inline: auto;
  justify-content: center;
  column-gap: 5%;
  row-gap: 70px;
  background-color: white;
  border-radius: var(--radius110);
  padding-block: 75px;
  padding-inline: 6%;
}
body.home .symptoms-sect .contents > div {
  display: flex;
  column-gap: 2%;
}
body.home .symptoms-sect .contents > div .img {
  flex-basis: clamp(0px, 277px - (277px - 23.1025854879vw) * 2, 277px);
  flex-shrink: 0;
  background: url("/wp-content/themes/tochinoki/images/bg-star.svg") no-repeat center center;
  background-size: clamp(180px, 226px - (226px - 18.8490408674vw) * 2, 226px) auto;
  display: grid;
  place-content: center;
}
body.home .symptoms-sect .contents > div .img img {
  max-width: 100%;
}
body.home .symptoms-sect .contents > div .txt {
  flex-grow: 1;
}
body.home .symptoms-sect .contents > div .txt h3 {
  font-size: 24px;
  padding-bottom: 7px;
  border-bottom: 3px dashed #9abfcb;
  margin-top: 0;
  margin-bottom: 20px;
}
body.home .symptoms-sect .contents > div .txt ul {
  list-style: initial;
  padding-left: 1.7em;
  line-height: 1.4;
}
body.home .symptoms-sect .contents > div .txt ul li {
  margin-bottom: 0.9em;
}
@media screen and (width <= 991px) {
  body.home .symptoms-sect .contents {
    grid-template-columns: 100%;
  }
  body.home .symptoms-sect .contents > div {
    column-gap: 5%;
  }
  body.home .symptoms-sect .contents > div .img {
    flex-basis: 277px;
    background-size: 226px auto;
  }
}
@media screen and (width <= 767px) {
  body.home .symptoms-sect .contents {
    padding-block: clamp(0px, 9.778357236vw, 75px);
    padding-inline: clamp(0px, 44px - (44px - 5.7366362451vw) * 1.5, 44px);
  }
  body.home .symptoms-sect .contents > div .img {
    flex-basis: 40%;
    background-size: clamp(130px, 226px - (226px - 29.4654498044vw) * 1.3, 226px) auto;
  }
}
@media screen and (width <= 580px) {
  body.home .symptoms-sect .contents > div {
    align-items: flex-start;
  }
}
body.home .disease-sect {
  padding-block: 80px;
}
body.home .disease-sect ul {
  max-width: 1060px;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  column-gap: max(5%, 40px);
  row-gap: 40px;
  justify-content: center;
  font-family: "Zen Maru Gothic", BlinkMacSystemFont, "Hiragino Sans", Meiryo, "MS PGothic", sans-serif;
  font-weight: 500;
  font-size: 24px;
  color: #2084a5;
}
body.home .disease-sect ul li {
  display: flex;
  column-gap: 8px;
  align-items: baseline;
}
body.home .disease-sect ul li:before {
  content: "";
  display: block;
  height: 20px;
  width: 32px;
  background: url("/wp-content/themes/tochinoki/images/icon-check.svg") no-repeat left center;
}
@media screen and (width <= 480px) {
  body.home .disease-sect ul {
    flex-direction: column;
    width: max-content;
    margin-inline: auto;
    row-gap: 35px;
  }
}
body.home .feature-sect {
  padding-block: 80px;
}
body.home .feature-sect .contents {
  display: grid;
  grid-template-columns: repeat(3, min(363px, 30%));
  column-gap: 2%;
  justify-content: space-around;
}
body.home .feature-sect .contents > div {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: 1/span 3;
}
body.home .feature-sect .contents > div img {
  border-radius: var(--radius20);
}
body.home .feature-sect .contents > div h3 {
  font-size: 22px;
  text-align: center;
}
body.home .feature-sect .contents > div p {
  font-size: 15px;
}
@media screen and (width <= 800px) {
  body.home .feature-sect .contents {
    grid-template-columns: repeat(1, min(600px, 100%));
    grid-template-rows: repeat(3, auto);
    row-gap: 60px;
  }
  body.home .feature-sect .contents > div {
    display: block;
    grid-template-rows: auto;
    grid-row: auto;
  }
  body.home .feature-sect .contents > div img {
    margin-inline: auto;
  }
  body.home .feature-sect .contents > div h3 {
    margin-top: 18px;
    margin-bottom: 13px;
  }
}
body.home .policies-sect {
  padding-block: 80px;
}
body.home .policies-sect hgroup {
  margin-bottom: 0;
}
body.home .policies-sect hgroup h2 {
  font-size: 38px;
}
body.home .policies-sect ol {
  margin-top: -18px;
  background-color: #ecefd4;
  border-radius: var(--radius110);
  padding-block: 100px;
  padding-inline: 4%;
  counter-reset: num;
}
body.home .policies-sect ol li {
  border-bottom: 3px dashed #9abfcb;
  display: flex;
  column-gap: 3%;
  padding-bottom: 3em;
  margin-bottom: 3em;
  align-items: center;
}
body.home .policies-sect ol li:last-child {
  margin-bottom: 0;
  border-bottom: 0 none;
  padding-bottom: 0;
}
body.home .policies-sect ol li h4 {
  position: relative;
  margin: 0;
  flex-basis: max(461px, 42%);
  flex-shrink: 0;
  background-color: white;
  border-radius: 100vmax;
  font-size: 24px;
  text-align: center;
  padding-block: 5px;
  padding-left: 20px;
}
body.home .policies-sect ol li h4:before {
  position: absolute;
  line-height: 1;
  left: 25px;
  bottom: 0;
  counter-increment: num;
  content: counter(num);
  font-size: 80px;
}
body.home .policies-sect ol li p {
  flex-grow: 1;
  margin-bottom: 0;
}
@media screen and (width <= 950px) {
  body.home .policies-sect ol li {
    flex-wrap: wrap;
    row-gap: 15px;
  }
  body.home .policies-sect ol li p {
    flex-basis: 100%;
    padding-left: 3px;
  }
}
@media screen and (width <= 560px) {
  body.home .policies-sect ol {
    padding-bottom: 70px;
  }
  body.home .policies-sect ol li {
    margin-bottom: 4.5em;
    padding-bottom: 2em;
  }
  body.home .policies-sect ol li h4 {
    flex-basis: 100%;
    padding-inline: 15px;
    padding-block: 10px;
    line-height: 1.3;
  }
  body.home .policies-sect ol li h4:before {
    left: 50%;
    top: -1em;
    translate: -50% 9px;
    font-size: 70px;
  }
}
body.home .greeting-sect {
  padding-block: 120px;
}
body.home .greeting-sect hgroup {
  margin-bottom: clamp(41px, 8.6781029263vw, 86px);
}
body.home .greeting-sect .contents {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
body.home .greeting-sect .contents .img {
  flex-basis: 50%;
}
body.home .greeting-sect .contents .img img {
  margin-left: auto;
  border-radius: var(--radius30);
}
body.home .greeting-sect .contents .txt {
  flex-basis: 47%;
  padding-bottom: 100px;
}
body.home .greeting-sect .contents .txt h3 {
  font-size: 28px;
  margin-top: 0;
}
body.home .greeting-sect .contents .txt .btn {
  font-size: 18px;
  position: absolute;
  bottom: 0;
}
@media screen and (width <= 1060px) {
  body.home .greeting-sect .contents {
    align-items: flex-start;
  }
}
@media screen and (width <= 767px) {
  body.home .greeting-sect .contents {
    flex-wrap: wrap;
    row-gap: 1.4em;
  }
  body.home .greeting-sect .contents .img {
    flex-basis: 100%;
  }
  body.home .greeting-sect .contents .img img {
    width: 100%;
    height: 360px;
    object-fit: cover;
  }
  body.home .greeting-sect .contents .txt {
    flex-basis: 100%;
    padding-bottom: 0;
  }
  body.home .greeting-sect .contents .txt h3 {
    margin-bottom: 0.5em;
  }
  body.home .greeting-sect .contents .txt .btn {
    position: relative;
    margin-top: 2em;
  }
}
@media screen and (width <= 580px) {
  body.home .greeting-sect .contents .img img {
    height: auto;
    aspect-ratio: 1.5;
  }
}
body.home .column-sect {
  padding-block: 120px;
}

.site-footer .contents {
  display: flex;
  column-gap: min(4%, 80px);
}
.site-footer .contents > div {
  flex: 1;
}
.site-footer .contents > div.access h4 {
  font-family: "Zen Kaku Gothic New", BlinkMacSystemFont, "Hiragino Sans", Meiryo, "MS PGothic", sans-serif;
  font-weight: 500;
  font-size: 20px;
  display: flex;
  align-items: center;
  margin-top: 0;
  margin-bottom: 31px;
  column-gap: 14px;
}
.site-footer .contents > div.access h4:before {
  content: "";
  display: block;
  width: 30px;
  height: 10px;
  border-radius: 100vmax;
  background-color: #d1edca;
  width: 42px;
}
.site-footer .contents > div.access #ft-map {
  background-color: #f3f3f3;
  width: 100%;
  height: 270px;
}
.site-footer .contents > div.access ul {
  margin-top: 19px;
}
.site-footer .contents > div.access ul li {
  font-size: 13px;
  margin-bottom: 0.7em;
  line-height: 1.4;
}
.site-footer .contents > div.access dl {
  margin: 0;
  margin-top: 15px;
}
.site-footer .contents > div.access dl dt {
  margin-bottom: 0;
}
.site-footer .contents > div.access dl dd {
  margin-left: 0;
}
.site-footer .contents > div.access dl dt {
  font-size: 15px;
  margin-bottom: 3px;
  color: #3c3c3c;
}
.site-footer .contents > div.access dl dd {
  font-size: 13px;
}
.site-footer .contents > div.medicalhours hgroup {
  display: flex;
  align-items: center;
  margin-bottom: 31px;
  column-gap: 14px;
}
.site-footer .contents > div.medicalhours hgroup:before {
  content: "";
  display: block;
  width: 30px;
  height: 10px;
  border-radius: 100vmax;
  background-color: #d1edca;
  width: 42px;
}
.site-footer .contents > div.medicalhours hgroup h3 {
  margin: 0;
  font-size: 20px;
}
.site-footer .contents > div.medicalhours hgroup p {
  margin-bottom: 0;
  font-size: 16px;
  color: #2084a5;
}
.site-footer .contents > div.medicalhours .address {
  color: #2084a5;
  margin-bottom: 2em;
}
.site-footer .contents > div.medicalhours .address p {
  margin-bottom: 0;
  line-height: 1.4;
}
.site-footer .contents > div.medicalhours .address .tel {
  margin-top: 0.5em;
  display: block;
  color: #2084a5;
}
.site-footer .contents > div.medicalhours .address .tel:visited {
  color: #2084a5;
}
.site-footer .contents > div.medicalhours .address .tel:hover {
  color: #2084a5;
}
.site-footer .contents > div.medicalhours .address .tel:active {
  color: #2084a5;
}
.site-footer .contents > div.medicalhours .btn {
  font-size: clamp(17px, 2.2471910112vw, 20px);
}
.site-footer .contents > div.medicalhours .btn svg {
  width: clamp(18px, 2.3595505618vw, 21px);
  height: auto;
}
@media screen and (width <= 750px) {
  .site-footer .contents {
    flex-wrap: wrap;
    row-gap: 60px;
  }
  .site-footer .contents > div {
    flex-basis: 100%;
  }
  .site-footer .contents > div.medicalhours hgroup {
    margin-bottom: 15px;
  }
  .site-footer .contents > div.medicalhours table {
    width: 100%;
  }
}
@media screen and (width <= 450px) {
  .site-footer .contents > div.medicalhours .btn {
    margin-inline: auto;
  }
}
.site-footer .site-title {
  margin-top: 70px;
  margin-bottom: 30px;
}
.site-footer .site-title img {
  margin-inline: auto;
}
.site-footer .menu {
  margin-bottom: 35px;
}
.site-footer .menu ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 3%;
}
.site-footer .copyright {
  font-size: 13px;
  text-align: center;
  margin-bottom: 10px;
}

body .preparing {
  text-align: center;
  padding-block: 4em 7em;
  font-size: 25px;
}

body.single .main-content {
  padding-top: 5em;
  padding-bottom: 5em;
}
body.single .main-content .width-wrap {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1040px) {
  body.single .main-content .width-wrap {
    margin-left: 20px;
    margin-right: 20px;
  }
}
@media screen and (max-width: 807px) {
  body.single .main-content .width-wrap {
    margin-left: calc(50vw - 383.5px);
    margin-right: calc(50vw - 383.5px);
  }
}
@media screen and (max-width: 797px) {
  body.single .main-content .width-wrap {
    margin-left: 15px;
    margin-right: 15px;
  }
}
body.single .main-content article .entry-header .entry-meta {
  display: flex;
}
body.single .main-content article .entry-header .entry-meta .post-categories {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
body.single .main-content article .entry-header .entry-meta .post-categories li {
  font-size: 16px;
  display: block;
  margin-bottom: 0;
  background-color: #3c3c3c;
  color: white;
  padding-inline: 10px;
  padding-block: 2px;
  text-align: center;
  min-width: 92px;
}
body.single .main-content article .entry-header .entry-meta .post-categories li a {
  color: white;
}
body.single .main-content article .entry-header .entry-meta .post-categories li a:visited {
  color: white;
}
body.single .main-content article .entry-header .entry-meta .post-categories li a:hover {
  color: white;
}
body.single .main-content article .entry-header .entry-meta .post-categories li a:active {
  color: white;
}
body.single .main-content article .entry-header .entry-meta .date {
  color: #3c3c3c;
  letter-spacing: 1.85px;
}
body.single .main-content article .entry-header .entry-title {
  color: #3c3c3c;
}
body.single .main-content article .entry-content h2, body.single .main-content article .entry-content h3, body.single .main-content article .entry-content h4, body.single .main-content article .entry-content h5 {
  font-family: "Helvetica Neue", Helvetica, "Hiragino Sans", "BIZ UDPGothic", Meiryo, "MS PGothic", sans-serif;
}
body.single .main-content article .entry-content h2 {
  border-bottom: solid 3px black;
  font-size: 24px;
}
body.single .main-content article .entry-content h3 {
  border-bottom: double 5px #FFC778;
  font-size: 20px;
}
body.single .main-content article .entry-content h4 {
  position: relative;
  border-top: solid 2px #80c8d1;
  border-bottom: solid 2px #80c8d1;
  background: #f4f4f4;
  line-height: 1.4;
  padding: 0.4em 0.5em;
  margin-top: 30px;
  font-size: 18px;
}
body.single .main-content article .entry-content h4:after {
  position: absolute;
  font-family: "Font Awesome 5 Free", "Quicksand", "Avenir", "Arial", sans-serif;
  content: "\f0a7  POINT";
  background: #80c8d1;
  color: #fff;
  left: 0px;
  bottom: 100%;
  border-radius: 5px 5px 0 0;
  padding: 5px 7px 3px;
  font-size: 0.7em;
  line-height: 1;
  letter-spacing: 0.05em;
}
body.single .main-content .previous_next_post {
  margin-top: 70px;
  display: flex;
  justify-content: space-around;
}
body.single .main-content .previous_next_post .previous a,
body.single .main-content .previous_next_post .next a {
  display: flex;
  align-items: center;
  gap: 10px;
  line-height: 1;
  color: #3c3c3c;
}
body.single .main-content .previous_next_post .previous a:visited,
body.single .main-content .previous_next_post .next a:visited {
  color: #3c3c3c;
}
body.single .main-content .previous_next_post .previous a:hover,
body.single .main-content .previous_next_post .next a:hover {
  color: #3c3c3c;
}
body.single .main-content .previous_next_post .previous a:active,
body.single .main-content .previous_next_post .next a:active {
  color: #3c3c3c;
}
body.single .main-content .previous_next_post .previous a:before,
body.single .main-content .previous_next_post .next a:before {
  display: block;
  content: "";
  width: 9px;
  height: 15px;
  background-color: #3c3c3c;
  mask: url("data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgOSAxNiIgd2lkdGg9IjkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibS4yOTk5OTUgOC43MSA2LjQ4NTk5NSA2LjQ4NmMuMzkuMzkgMS4wMjQwMS4zOSAxLjQxNDAxIDBzLjM5LTEuMDI0IDAtMS40MTRsLTUuNzgyLTUuNzgxOTkgNS43ODItNS43ODJjLjM5LS4zOS4zOS0xLjAyNCAwLTEuNDE0MDA1LS4zOS0uMzktMS4wMjQwMS0uMzktMS40MTQwMSAwbC02LjQ4NTk5NSA2LjQ4NjAwNWMtLjE5Ni4xOTYtLjI5MTk5OTM5LjQ1Mi0uMjkxOTk5MzkuNzFzLjA5NTk5OTM5LjUxMzk5LjI5MTk5OTM5LjcwOTk5eiIgZmlsbD0iIzAwMCIvPjwvc3ZnPg==") no-repeat;
  mask-size: 100% auto;
}
body.single .main-content .previous_next_post .previous a span {
  order: 1;
}
body.single .main-content .previous_next_post .previous a:before {
  order: 2;
  transform: scale(-1, 1);
}
/*# sourceMappingURL=style.css.map */
