@charset "UTF-8";
@font-face {
  font-family: "GENJ";
  font-style: normal;
  font-weight: 500;
  src: url("common/fonts/genj-medium-subset.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "GENJ";
  font-style: normal;
  font-weight: 700;
  src: url("common/fonts/genj-bold-subset.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "GENJ";
  font-style: normal;
  font-weight: 900;
  src: url("common/fonts/genj-heavy-subset.woff") format("woff");
  font-display: swap;
}
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 10px;
}

body {
  box-sizing: border-box;
  overflow-x: hidden;
  width: 100%;
  margin: 0;
  padding: 0;
  letter-spacing: 0.06em;
  font-style: normal;
  font-family: "Roboto", "ヒラギノ角ゴ", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  color: #333;
}

textarea,
button,
input {
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
}

button {
  cursor: pointer;
}

.bread {
  width: 100%;
  background: #fff;
}
.bread a {
  font-size: 1.2rem;
  line-height: 1.5em;
}
.bread span {
  font-size: 1.2rem;
  line-height: 1.5em;
}
.bread .fbc-page .fbc-wrap .fbc-items li {
  padding: 5px;
  font-weight: 400;
}

.eng {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "GENJ", sans-serif;
  font-weight: 500;
  line-height: 1.5em;
  margin: 0;
  padding: 0;
}

h2 {
  font-size: 1.9rem;
  text-align: center;
  font-weight: 700;
}

p {
  font-size: 1.4rem;
  line-height: 1.8em;
  margin: 0;
  padding: 0;
}

ul,
li {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.6em;
  margin: 0;
  padding: 0;
  list-style-position: inside;
  list-style: none;
}

table {
  width: 100%;
  margin: 0;
  padding: 0;
}

th,
td {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.5em;
  margin: 0;
  padding: 0;
}

iframe {
  width: 100%;
}

img {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  flex-shrink: 0;
}

a {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.8em;
  text-decoration: none;
  color: #444;
  /*&:hover {
        opacity: 0.6;
    }*/
}

a img {
  border-style: none;
  /*&:hover {
        opacity: 0.6;
    }*/
}

.ttl::after {
  content: "";
  display: block;
  height: 1px;
  width: 40px;
  background-color: #53A5D4;
  margin: 20px auto;
}

.ttl-wht {
  color: white;
}

.ttl-wht::after {
  content: "";
  display: block;
  height: 1px;
  width: 40px;
  background: white;
  margin: 20px auto;
}

.blue {
  color: #53A5D4;
}

.green {
  color: #5FCB78;
}

.small {
  font-size: 1.2rem;
}

section {
  position: relative;
}

.mb10 {
  margin-bottom: 10px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb60 {
  margin-bottom: 60px;
}

.inner {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 40px 0;
}

.button {
  font-size: 1.4rem;
  display: block;
  margin: 0 auto;
  background: #263C66;
  color: white;
  text-align: center;
  width: 200px;
  height: 40px;
  line-height: 38px;
  border-radius: 20px;
  position: relative;
  transition: all 0.2s ease;
}
.button::after {
  content: "";
  display: block;
  width: 28px;
  height: 3px;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  transition: all 0.1s ease;
}
.button:hover {
  color: white;
  background: #E3DDCD;
}
.button:hover::after {
  background-image: url(common/img/button-arrow-hvr.svg);
  right: 5px;
}

.button-long {
  font-size: 1.2rem;
  line-height: 1.2em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-section {
  background: linear-gradient(#88CCF2, #53A5D4);
  padding: 20px;
}
.contact-section > div {
  max-width: 1080px;
  margin: 0 auto;
}
.contact-section .box {
  background: white;
  text-align: center;
  padding: 20px;
  border-radius: 5px;
}
.contact-section .box h2 {
  color: #53A5D4;
  font-size: 1.6rem;
}
.contact-section .box .ttl::after {
  margin: 10px auto;
}
.contact-section .box:first-of-type {
  margin-bottom: 10px;
}
.contact-section .box p {
  margin: 0;
  color: #53A5D4;
}
.contact-section .box p.tel {
  color: #5FCB78;
  font-size: 3rem;
  line-height: 1em;
}
.contact-section .box p.tel i {
  font-size: 0.8em;
}
.contact-section .box .mail {
  color: #5FCB78;
  font-weight: 700;
  font-size: 2.1rem;
  line-height: 1.5em;
}
.contact-section .box .mail i {
  font-size: 3rem;
  transform: translateY(0.375rem);
}
.contact-section .box .mail:hover {
  opacity: 0.6;
}
.contact-section .line-box {
  display: none;
}

.line-sp {
  display: block;
  color: white;
  background: #06c755;
  position: fixed;
  right: 0;
  top: 150px;
  writing-mode: vertical-rl;
  padding: 10px 0;
  width: 35px;
  line-height: 35px;
  border-radius: 5px 0 0 5px;
  z-index: 2;
}

.sp-fixed {
  position: fixed;
  display: flex;
  bottom: 0;
  width: 100%;
  z-index: 50;
}
.sp-fixed a {
  display: block;
  width: 50%;
  height: 40px;
  line-height: 40px;
  background: #5FCB78;
  color: white;
  text-align: center;
  box-sizing: border-box;
}
.sp-fixed a:first-of-type {
  font-size: 1.5rem;
}
.sp-fixed a:last-of-type {
  font-size: 1.4rem;
  border-left: 1px solid white;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-bottom: 30px;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.pc-only {
  display: none;
}

.line-modal {
  display: none;
}

@media only screen and (min-width: 768px) {
  p,
  ul,
  li,
  th,
  td,
  a {
    font-size: 1.4rem;
  }
  .inner-l {
    width: 90%;
    margin: 0 auto;
  }
  .contact-section {
    padding: 30px;
  }
  .contact-section > div {
    display: flex;
    justify-content: space-between;
  }
  .contact-section .box {
    width: 500px;
  }
  .contact-section .box:first-of-type {
    margin-bottom: 0;
  }
  .contact-section .line-box {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .contact-section .line-box .mail:hover {
    opacity: 1;
  }
  .contact-section .line-box img {
    width: 90px;
    margin-left: 50px;
  }
  .center {
    text-align: center;
  }
  .pc-only {
    display: block;
  }
  .sp-only {
    display: none;
  }
  .pc-inline li {
    display: inline;
    margin-right: 10px;
  }
}
.line-modal {
  display: none;
  position: fixed;
  z-index: 5000;
}
.line-modal .overlay {
  background: rgba(0, 0, 0, 0.9);
  width: 100vw;
  height: 100vh;
}

.line-container {
  width: 360px;
  height: 160px;
  background: white;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  border: 1px solid #ccc;
}
.line-container img {
  width: 100px;
  height: auto;
  margin-right: 30px;
}
.line-container p {
  font-weight: 700;
  color: #06c755;
  font-size: 1.6rem;
  text-align: center;
}
.line-container .line-close {
  color: white;
  height: 40px;
  width: 40px;
  font-size: 2.5rem;
  background: #06c755;
  border-radius: 20px;
  line-height: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -20px;
  right: -20px;
}
.line-container .line-close:hover {
  transform: scale(0.9);
}

/* メインビジュアル==========================================================================*/
.mv {
  height: 80vh;
  position: relative;
  overflow: hidden;
}
.mv .mv-slide li {
  height: 80vh;
  background: url(common/img/top/mv1_sp.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.mv .mv-slide li:nth-child(2) {
  background: url(common/img/top/mv2_sp.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.mv .mv-slide li:nth-child(3) {
  background: url(common/img/top/mv3_sp.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.mv h1 {
  color: #53A5D4;
  position: absolute;
  bottom: 50px;
  left: 0;
  letter-spacing: 0.1em;
  line-height: 1.8em;
  font-size: 2.3rem;
}
.mv h1 > span {
  display: inline;
  background: white;
  padding: 0 5px;
  visibility: hidden;
}
.mv h1 > span span {
  font-size: 0.85em;
}

@media only screen and (min-width: 768px) {
  .mv {
    height: 700px;
  }
  .mv .mv-slide li {
    height: 700px;
    background: url(common/img/top/mv1.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
  }
  .mv .mv-slide li:nth-child(2) {
    background: url(common/img/top/mv2.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
  }
  .mv .mv-slide li:nth-child(3) {
    background: url(common/img/top/mv3.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
  }
  .mv h1 {
    font-size: 3.5rem;
    top: 30px;
    bottom: auto;
    left: auto;
    right: 5%;
    letter-spacing: 0.1em;
  }
  .mv h1 > span {
    padding: 0 10px;
  }
}
/* お知らせ==========================================================================*/
.top-news h2 {
  color: #5FCB78;
}
.top-news .inner-l {
  background: #F5F5F5;
  padding: 20px 20px 40px;
}
.top-news ul {
  background: white;
  border-radius: 5px;
  padding: 10px;
}
.top-news li {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px dashed #E2E2E2;
}
.top-news a:last-of-type li {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.top-news .button {
  transform: translateY(-20px);
}

@media only screen and (min-width: 768px) {
  .top-news {
    margin: 60px auto 40px;
  }
  .top-news .inner-l {
    padding: 40px 0 50px;
  }
  .top-news ul {
    width: 960px;
    margin: 0 auto;
    padding: 10px 40px;
  }
  .top-news li {
    height: 50px;
    line-height: 50px;
    margin: 0;
    left: 0;
  }
  .top-news li:hover {
    color: #B16C5E;
  }
  .top-news li span {
    margin-right: 30px;
  }
}
/* ブログ==========================================================================*/
.top-blog h2 {
  color: #5FCB78;
}
.top-blog ul {
  margin-bottom: 20px;
}
.top-blog li {
  margin-bottom: 10px;
}
.top-blog p {
  line-height: 1.5em;
}
.top-blog p.time {
  font-size: 0.8em;
}

.eyecatch-frame {
  width: 100%;
  overflow: hidden;
  position: relative;
  margin-bottom: 5px;
}
.eyecatch-frame::before {
  content: "";
  display: block;
  padding-top: 66%;
}
.eyecatch-frame img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .top-blog .inner {
    padding-bottom: 80px;
  }
  .top-blog ul {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
  }
  .top-blog li {
    width: 240px;
    margin-bottom: 0;
  }
  .top-blog li img {
    transition: all 0.2s ease;
  }
  .top-blog li:hover {
    color: #5FCB78;
  }
  .top-blog li:hover img {
    transform: scale(1.05);
    opacity: 0.8;
  }
}
/* フェイドアクション==========================================================================*/
header {
  height: 60px;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  background-color: white;
  z-index: 9999;
  transform: translateZ(0);
}
@media screen and (min-width: 768px) {
  header {
    height: 93px;
  }
}
@media screen and (min-width: 1024px) {
  header {
    height: 93px;
  }
}
@media screen and (min-width: 1440px) {
  header {
    height: 140px;
  }
}

.header-wrapper {
  display: flex;
  align-items: flex-end;
  height: inherit;
}
@media screen and (min-width: 768px) {
  .header-wrapper {
    justify-content: space-around;
  }
}

.header-wrapper__logo h1 {
  color: #444444;
  font-family: "Noto Serif JP", serif;
  font-size: 10px;
  font-weight: 400;
  white-space: nowrap;
}
@media screen and (min-width: 1440px) {
  .header-wrapper__logo h1 {
    font-size: 12px;
  }
}

.header-wrapper__logo-img-logo {
  width: 167px;
  height: 37px;
}
@media screen and (min-width: 768px) {
  .header-wrapper__logo-img-logo {
    width: 100px;
    height: 112px;
  }
}
@media screen and (min-width: 1024px) {
  .header-wrapper__logo-img-logo {
    width: 167px;
  }
}

.header-wrapper__logo-img-logo picture {
  display: block;
}

.header-wrapper__logo-img-logo img {
  width: 100%;
  height: 100%;
  display: block;
}

.header__hamburger {
  margin-right: 0;
  position: relative;
  z-index: 20;
}
@media screen and (min-width: 768px) {
  .header__hamburger {
    display: none;
  }
}

.header-right {
  display: none;
  width: 100%;
  height: 100vh;
  overflow-y: scroll;
  position: fixed;
  top: 60px;
  left: 0;
  right: 0;
}
@media screen and (min-width: 768px) {
  .header-right {
    top: initial;
    display: block !important;
    position: static;
  }
}

/* 紺カーブ（紺色背景との境界） */
.wave-bottom {
  pointer-events: none;
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 30;
  bottom: -68%;
}
@media (min-width: 400px) {
  .wave-bottom {
    bottom: -72%;
  }
}
@media (min-width: 500px) {
  .wave-bottom {
    bottom: -90%;
  }
}
@media (min-width: 600px) {
  .wave-bottom {
    bottom: -110%;
  }
}
@media (min-width: 700px) {
  .wave-bottom {
    bottom: -130%;
  }
}
@media (min-width: 750px) {
  .wave-bottom {
    bottom: -140%;
  }
}
@media screen and (min-width: 768px) {
  .wave-bottom {
    display: none;
  }
}

.wave-bottom path {
  fill: #263C66;
  /* 紺色の背景色 */
}

/* 白カーブ（写真との境界） */
.wave-top {
  pointer-events: none;
  position: absolute;
  top: -95%;
  left: 0;
  width: 100%;
  z-index: 30;
  top: 60px;
}
@media screen and (min-width: 768px) {
  .wave-top {
    display: none;
  }
}

.wave-top path {
  fill: white;
}

/* スクロール後に出てくる固定ヘッダーの動き */
#fixed-header {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-100%);
  transition: all 0.1s ease;
  z-index: 1000;
}

/* 表示状態 */
#fixed-header.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

/*  * スクロール後に出てくる固定ヘッダーの動き */
body.no-following #fixed-header {
  position: static;
  opacity: 1;
  pointer-events: auto;
}

.header-nav {
  width: 100%;
  min-height: 100vh;
  background-image: url("/wp-content/themes/kashinoki_clinic/common/img/common/menu-back.png");
  background-color: white;
  overflow-y: auto;
  z-index: 40;
}
@media screen and (min-width: 768px) {
  .header-nav {
    width: 100%;
    height: inherit;
    min-height: unset;
    overflow-y: initial;
    background-color: white;
    background-image: initial;
  }
}

.header-nav__menu {
  height: inherit;
  max-width: 343px;
  margin: 0 auto;
  margin-top: 30px;
  width: 100%;
  display: flex;
  flex-direction: column;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
  padding: 30px 0;
  position: relative;
  text-align: left;
  align-items: center;
}
@media (min-width: 500px) {
  .header-nav__menu {
    max-width: 468px;
  }
}
@media (min-width: 600px) {
  .header-nav__menu {
    max-width: 568px;
  }
}
@media (min-width: 700px) {
  .header-nav__menu {
    max-width: 668px;
  }
}
@media screen and (min-width: 768px) {
  .header-nav__menu {
    width: inherit;
    padding-left: 2%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: 0 10%;
    margin: initial;
    margin-top: initial;
    margin-left: initial;
    text-align: initial;
    align-items: flex-end;
    max-width: initial;
  }
}
@media screen and (min-width: 1440px) {
  .header-nav__menu {
    padding-left: 8%;
  }
}

.header-nav__menu li {
  border-bottom: 1px solid #263C66;
  margin-bottom: 20px;
  max-width: 272px;
  width: 100%;
}
@media (min-width: 500px) {
  .header-nav__menu li {
    max-width: 397px;
  }
}
@media (min-width: 600px) {
  .header-nav__menu li {
    max-width: 498px;
  }
}
@media (min-width: 700px) {
  .header-nav__menu li {
    max-width: 597px;
  }
}
@media screen and (min-width: 768px) {
  .header-nav__menu li {
    border-bottom: initial;
    max-width: initial;
    width: initial;
    padding: 0 6.5%;
  }
}
@media screen and (min-width: 1024px) {
  .header-nav__menu li {
    padding: 0 5%;
  }
}
@media screen and (min-width: 1440px) {
  .header-nav__menu li {
    padding: 0 5%;
  }
}

.header-nav__menu li:hover .header-nav__menu-ja {
  cursor: pointer;
  color: #B16C5E;
}

.header-nav__menu li:hover .header-nav__menu-en {
  cursor: pointer;
  color: #444444;
}

@media screen and (min-width: 768px) {
  .header-nav__menu li:nth-of-type(2) {
    position: relative;
  }
}

.header-nav__menu-ja {
  font-size: 18px;
  color: #444444;
}
@media screen and (min-width: 768px) {
  .header-nav__menu-ja {
    font-family: "Noto Serif JP", serif;
    font-size: 12px;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
  }
}
@media screen and (min-width: 1024px) {
  .header-nav__menu-ja {
    font-size: 16px;
  }
}
@media screen and (min-width: 1440px) {
  .header-nav__menu-ja {
    font-size: 20px;
  }
}

.header-nav__menu-en {
  font-size: 16px;
  color: #B16C5E;
  text-transform: capitalize;
}
@media screen and (min-width: 768px) {
  .header-nav__menu-en {
    font-family: "Cormorant", serif;
    font-size: 14px;
    font-weight: 400;
    text-align: center;
  }
}
@media screen and (min-width: 1024px) {
  .header-nav__menu-en {
    font-size: 15px;
  }
}
@media screen and (min-width: 1440px) {
  .header-nav__menu-en {
    font-size: 16px;
  }
}

@media screen and (min-width: 768px) {
  .header-nav__sub {
    display: none;
    position: absolute;
    top: 120%;
    left: 0;
    background-color: rgba(227, 221, 205, 0.8);
    padding: 20px;
    width: 100%;
    z-index: 100;
  }
}

.header-nav__sub li {
  border-bottom: initial;
  margin-bottom: initial;
  position: relative;
}
@media screen and (min-width: 768px) {
  .header-nav__sub li {
    text-align: left;
    margin-bottom: 10px;
  }
}

.header-nav__sub li:hover p {
  cursor: pointer;
  color: #B16C5E;
}

@media screen and (min-width: 768px) {
  .header-nav__sub li:before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #D1B66C;
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media screen and (min-width: 768px) {
  .header-nav__sub li:nth-of-type(6):before,
  .header-nav__sub li:nth-of-type(7):before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #D1B66C;
    position: absolute;
    left: -10px;
    top: 25%;
  }
}

.header-nav__sub a {
  display: flex;
  align-items: center;
  column-gap: 20px;
}
@media screen and (min-width: 768px) {
  .header-nav__sub a {
    display: initial;
  }
}

.header-nav__sub li a .nav-line {
  content: "";
  width: 25px;
  height: 2px;
  background-color: #D1B66C;
}
@media screen and (min-width: 768px) {
  .header-nav__sub li a .nav-line {
    display: none;
  }
}

.header-nav__sub li a p {
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .header-nav__sub li a p {
    color: #444444;
    font-size: 10px;
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    text-align: left;
  }
}
@media screen and (min-width: 1024px) {
  .header-nav__sub li a p {
    font-size: 15px;
  }
}
@media screen and (min-width: 1440px) {
  .header-nav__sub li a p {
    font-size: 16px;
    white-space: initial;
  }
}

.header-nav .tracking {
  position: sticky;
  bottom: 10%;
}
@media screen and (min-width: 768px) {
  .header-nav .tracking {
    display: none;
  }
}

/* 表示用 */
.header-nav__menu .has-sub {
  position: relative;
}

.has-sub.is-open .header-nav__sub {
  display: block;
}

.header-contact {
  display: none;
}
@media screen and (min-width: 768px) {
  .header-contact {
    align-items: flex-end;
    display: flex;
    flex-direction: row;
    justify-content: center;
  }
}

@media screen and (min-width: 768px) {
  .header-contact__access p {
    color: #444444;
    font-family: "Noto Serif JP", serif;
    font-size: 10px;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
  }
}
@media screen and (min-width: 1024px) {
  .header-contact__access p {
    font-size: 13px;
  }
}
@media screen and (min-width: 1440px) {
  .header-contact__access p {
    font-size: 13px;
  }
}

@media screen and (min-width: 768px) {
  .header-contact__access p span {
    font-size: 16px;
  }
}
@media screen and (min-width: 1024px) {
  .header-contact__access p span {
    font-size: 20px;
  }
}
@media screen and (min-width: 1440px) {
  .header-contact__access p span {
    font-size: 20px;
  }
}

@media screen and (min-width: 768px) {
  .header-contact__access-item {
    text-align: center;
    margin: 0 auto;
    width: 44px;
    height: 44px;
  }
}

@media screen and (min-width: 768px) {
  .header-contact__item {
    width: 70px;
    height: 100%;
    object-fit: cover;
  }
}
@media screen and (min-width: 1024px) {
  .header-contact__item {
    width: 80px;
    height: 100%;
  }
}
@media screen and (min-width: 1440px) {
  .header-contact__item {
    width: 150px;
    height: 100%;
  }
}

.header-contact__item:hover {
  cursor: pointer;
  opacity: 1;
  transform: scale(1.1);
}

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

/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
.hamburger {
  position: relative;
  /*ボタン内側の基点となるためrelativeを指定*/
  background: #B16C5E;
  cursor: pointer;
  width: 60px;
  height: 40px;
  top: 2;
  right: 2%;
  position: fixed;
  border-radius: 50px;
  z-index: 30;
}

/*ボタン内側*/
.hamburger span {
  display: inline-block;
  position: absolute;
  top: 5%;
  left: 10px;
  height: 2px;
  background: white;
  width: 40px;
  transition: 0.3s ease-in-out;
}

.hamburger span:nth-of-type(1) {
  top: 10px;
}

.hamburger span:nth-of-type(2) {
  top: 17px;
}

.hamburger span:nth-of-type(3) {
  top: 24px;
}

/*openクラスが付与されると線が回転して×に変更*/
.hamburger.active {
  position: relative;
  /*ボタン内側の基点となるためrelativeを指定*/
  cursor: pointer;
  top: 30%;
  right: 0%;
  position: fixed;
}

.hamburger.active span {
  background: white;
}

.hamburger.active span:nth-of-type(1) {
  top: 16px;
  left: 7px;
  transform: translateY(2px) rotate(-45deg);
  width: 40px;
}

.hamburger.active span:nth-of-type(2) {
  opacity: 0;
}

.hamburger.active span:nth-of-type(3) {
  top: 30px;
  left: 7px;
  transform: translateY(-12px) rotate(45deg);
  width: 40px;
}

.tracking {
  display: flex;
  justify-content: flex-end;
  padding-inline-start: initial;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 100;
  transition: opacity 0.3s, transform 0.3s;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .tracking {
    bottom: 0;
    width: 64px;
  }
}

.tracking-line:hover .tracking-top:hover {
  cursor: pointer;
  opacity: 1;
  transform: scale(1.1);
}

.tracking img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.element {
  /* 最初は非表示 */
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
  transition: opacity 1s, visibility 1s, transform 1s;
}

/* フェードイン時に入るクラス */
.is-fadein {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

.news-cards {
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 5px;
  padding: 10px 0;
  margin: 0 auto;
  margin-top: 10px;
  max-width: 325px;
}
@media (min-width: 500px) {
  .news-cards {
    max-width: 450px;
  }
}
@media (min-width: 600px) {
  .news-cards {
    max-width: 550px;
  }
}
@media (min-width: 700px) {
  .news-cards {
    max-width: 650px;
  }
}
@media screen and (min-width: 768px) {
  .news-cards {
    padding: 20px 0;
    max-width: 500px;
  }
}
@media screen and (min-width: 1024px) {
  .news-cards {
    max-width: 870px;
  }
}
@media screen and (min-width: 1440px) {
  .news-cards {
    max-width: 984px;
  }
}

.news-cards li {
  border-bottom: 1px solid #263C66;
  padding: 10px 0;
  margin: 0 auto;
  max-width: 290px;
  text-align: left;
}
@media (min-width: 500px) {
  .news-cards li {
    max-width: 4150px;
  }
}
@media (min-width: 600px) {
  .news-cards li {
    max-width: 515px;
  }
}
@media (min-width: 700px) {
  .news-cards li {
    max-width: 615px;
  }
}
@media screen and (min-width: 768px) {
  .news-cards li {
    padding: 15px 0;
    max-width: 450px;
  }
}
@media screen and (min-width: 1024px) {
  .news-cards li {
    max-width: 800px;
  }
}
@media screen and (min-width: 1440px) {
  .news-cards li {
    max-width: 816px;
  }
}

@media screen and (min-width: 768px) {
  .news-cards li a {
    display: flex;
    flex-direction: row;
    column-gap: 10%;
  }
}

.news-cards li a :hover {
  cursor: pointer;
  opacity: 1;
  transform: scale(1.1);
}

.news-cards li time {
  color: #263C66;
  font-size: 14px;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .news-cards li time {
    font-size: 16px;
  }
}

.news-cards li p {
  color: #444444;
  font-size: 14px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .news-cards li p {
    font-size: 16px;
  }
}

.news-cards__new {
  background-color: #263C66;
  border-radius: 5px;
  color: white;
  font-size: 14px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  padding: 5px 10px;
}
@media screen and (min-width: 768px) {
  .news-cards__new {
    font-size: 16px;
  }
}

.menu-cards {
  width: 100%;
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .menu-cards {
    align-items: stretch;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 70px;
  }
}

.menu-cards__item {
  position: relative;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .menu-cards__item {
    display: flex;
    flex-direction: column;
    width: calc((100% - 24px) / 2);
    height: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .menu-cards__item {
    width: calc((100% - 48px) / 3);
    height: 100%;
  }
}
@media screen and (min-width: 1440px) {
  .menu-cards__item {
    width: calc((100% - 72px) / 4);
    height: 100%;
  }
}

@media screen and (min-width: 768px) {
  .menu-cards__item:nth-of-type(n+2) .menu-cards__bottom {
    padding: 30px 50px 45px 50px;
  }
}

.menu-cards__item:nth-last-of-type(1) {
  margin-bottom: 0px;
}
.menu-cards__top {
  position: relative;
}

.menu-cards__top__img img {
  width: 100%;
  height: 100%;
  display: block;
}

.menu-cards__top h4 {
  position: absolute;
  background-color: rgba(255, 255, 255, 0.9);
  color: #B16C5E;
  display: inline-block;
  font-size: 22px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  padding: 5px 10px;
  bottom: 0;
  right: 0;
}

.menu-cards__bottom {
  background-color: rgba(255, 255, 255, 0.9);
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  padding: 30px 60px 20px 60px;
}
@media (min-width: 500px) {
  .menu-cards__bottom {
    padding: 30px 100px 20px 100px;
  }
}
@media (min-width: 600px) {
  .menu-cards__bottom {
    padding: 30px 150px 20px 150px;
  }
}
@media (min-width: 700px) {
  .menu-cards__bottom {
    padding: 30px 200px 20px 200px;
  }
}
@media screen and (min-width: 768px) {
  .menu-cards__bottom {
    padding: 30px 50px 20px 50px;
  }
}
.menu-cards__bottom p {
  color: #444444;
  font-size: 14px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  position: relative;
  white-space: nowrap;
}

.menu-cards__bottom p::after {
  content: "";
  background-image: url("/wp-content/themes/kashinoki_clinic/common/img/top/menu-check.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 18px;
  height: 18px;
  position: absolute;
  top: 0;
  left: -30px;
}

@media screen and (min-width: 768px) {
  .menu-cards__item a {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
}

.menu-cards__arrow {
  position: absolute;
  right: 5px;
  bottom: 0px;
}

.menu-cards__arrow::before {
  content: "↓";
  display: inline-block;
  font-size: 28px;
  font-weight: 500;
  color: #B16C5E;
  transition: transform 0.3s ease;
  transform: rotate(-45deg);
}

.menu-cards__item a:hover .menu-cards__arrow::before {
  transform: rotate(-45deg) translateY(4px);
}

.infection-cards {
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: 10px;
  margin: 0 auto;
  max-width: 320px;
  padding-top: 20px;
}
@media (min-width: 500px) {
  .infection-cards {
    max-width: 445px;
  }
}
@media (min-width: 600px) {
  .infection-cards {
    max-width: 545px;
  }
}
@media (min-width: 700px) {
  .infection-cards {
    max-width: 645px;
  }
}
@media screen and (min-width: 768px) {
  .infection-cards {
    background-color: initial;
    column-gap: initial;
    justify-content: space-between;
    flex-wrap: nowrap;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1440px) {
  .infection-cards {
    max-width: 940px;
  }
}

.infection-cards li {
  text-align: center;
  width: calc((100% - 10px) / 2);
}
@media screen and (min-width: 768px) {
  .infection-cards li {
    width: 100%;
  }
}

.infection-cards__img {
  margin: 0 auto;
  width: 100px;
  height: 100px;
  object-fit: cover;
}
@media screen and (min-width: 1024px) {
  .infection-cards__img {
    width: 120px;
    height: 120px;
  }
}
@media screen and (min-width: 1440px) {
  .infection-cards__img {
    width: 148px;
    height: 148px;
  }
}

.infection-cards__img img {
  width: 100%;
  height: 100%;
  display: block;
}

.address-cards {
  position: relative;
  padding-inline-start: initial;
}
.address-cards__access {
  background-color: white;
  border-top-left-radius: 20px;
  margin-top: -30px;
  margin-left: auto;
  max-width: 362px;
  padding: 5px 20px 80px 20px;
}
@media (min-width: 500px) {
  .address-cards__access {
    max-width: 487px;
  }
}
@media (min-width: 600px) {
  .address-cards__access {
    max-width: 587px;
  }
}
@media (min-width: 700px) {
  .address-cards__access {
    max-width: 687px;
  }
}
@media screen and (min-width: 768px) {
  .address-cards__access {
    border-bottom-left-radius: 20px;
    margin-top: -40px;
    padding: 10px 50px 40px 100px;
    max-width: 554px;
  }
}
@media screen and (min-width: 1024px) {
  .address-cards__access {
    padding: 10px 150px 40px 150px;
    max-width: 650px;
  }
}
@media screen and (min-width: 1440px) {
  .address-cards__access {
    padding: 10px 150px 40px 150px;
    max-width: 886px;
  }
}
@media (min-width: 1500px) {
  .address-cards__access {
    max-width: 946px;
  }
}
@media (min-width: 1600px) {
  .address-cards__access {
    max-width: 1046px;
  }
}
@media (min-width: 1700px) {
  .address-cards__access {
    max-width: 1146px;
  }
}
@media (min-width: 1800px) {
  .address-cards__access {
    max-width: 1246px;
  }
}
@media (min-width: 1900px) {
  .address-cards__access {
    max-width: 1350px;
  }
}

.address-cards__access h4 {
  color: #263C66;
  font-size: 22px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .address-cards__access h4 {
    font-size: 24px;
  }
}

.address-cards__map {
  margin-top: -60px;
  margin-right: auto;
  max-width: 355px;
}
@media (min-width: 500px) {
  .address-cards__map {
    max-width: 480px;
  }
}
@media (min-width: 600px) {
  .address-cards__map {
    max-width: 580px;
  }
}
@media (min-width: 700px) {
  .address-cards__map {
    max-width: 680px;
  }
}
@media screen and (min-width: 768px) {
  .address-cards__map {
    margin-top: initial;
    position: absolute;
    width: 300px;
    height: 100%;
    top: 4%;
    left: 0;
    z-index: 2;
  }
}
@media screen and (min-width: 1024px) {
  .address-cards__map {
    width: 500px;
  }
}
@media screen and (min-width: 1440px) {
  .address-cards__map {
    width: 620px;
  }
}
@media (min-width: 1500px) {
  .address-cards__map {
    width: 680px;
  }
}
@media (min-width: 1600px) {
  .address-cards__map {
    width: 7806px;
  }
}
@media (min-width: 1700px) {
  .address-cards__map {
    width: 880px;
  }
}
@media (min-width: 1800px) {
  .address-cards__map {
    width: 1080px;
  }
}
@media (min-width: 1900px) {
  .address-cards__map {
    width: 1100px;
  }
}

.address-cards__map iframe {
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}
@media screen and (min-width: 1440px) {
  .address-cards__map iframe {
    width: 100%;
    height: 100%;
  }
}

/* 営業時間 全体 */
.address-hours {
  color: #444444;
  font-size: 14px;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .address-hours {
    font-size: 16px;
  }
}

/* 見出し */
.address-hours h4 {
  margin-bottom: 12px;
}

/* テーブル */
.address-hours table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
}

/* 曜日・時間帯 */
.address-hours th {
  font-weight: normal;
  padding: 8px 4px;
  white-space: nowrap;
  text-align: left;
  width: 100px;
}
@media screen and (min-width: 768px) {
  .address-hours th {
    padding: 10px 4px;
  }
}

/* 上段（曜日） */
.address-hours thead th {
  border-bottom: 1px solid #5f6669;
}

.address-hours thead th:nth-of-type(n+2) {
  text-align: center;
}

/* 左列（時間帯） */
.address-hours tbody th {
  text-align: left;
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}

/* セル */
.address-hours td {
  padding: 8px 0;
  font-size: 16px;
}

/* 行の区切り線 */
.address-hours tbody tr {
  border-bottom: 1px solid #5f6669;
}

.address-hours tbody tr:nth-of-type(1),
.address-hours tbody tr:nth-of-type(2) {
  border-bottom: initial;
}

/* 記号の色分け（仮） */
.address-hours td {
  color: #263C66;
}

.address-hours .dia {
  position: relative;
  text-align: center;
  vertical-align: middle;
}

/* ひし形 */
.address-hours .dia::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background-color: #D1B66C;
  transform: rotate(45deg);
}

/* 補足説明 */
.address-hours ul {
  border-bottom: 2px dotted #444444;
  margin-top: 12px;
  padding-left: 0;
  padding-bottom: 20px;
  list-style: none;
  font-size: 14px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .address-hours ul {
    font-size: 16px;
  }
}

.address-hours li {
  line-height: 1.6;
}

.address-hours li span {
  color: #263C66;
}

/* 医院情報 全体 */
.address-info {
  color: #444444;
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .address-info {
    margin-top: 40px;
  }
}

/* 定義リスト */
.address-info dl {
  display: grid;
  grid-template-columns: 4em 1fr;
  text-align: left;
}

/* 項目名（左） */
.address-info dt {
  color: #B16C5E;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  white-space: nowrap;
  padding-bottom: 10px;
}

/* 内容（右） */
.address-info dd {
  line-height: 1.6;
  padding-bottom: 10px;
}

.footer-small {
  background-color: #263C66;
  color: white;
  font-size: 12px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-align: center;
  padding: 10px 0 70px 0;
}
@media screen and (min-width: 768px) {
  .footer-small {
    font-size: 15px;
    padding: 20px 0 20px 0;
  }
}

.footer-small a {
  color: white;
  font-size: 12px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}

.footer-top {
  background-image: url("/wp-content/themes/kashinoki_clinic/common/img/common/footer-sp.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 35px 0 100px 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .footer-top {
    background-image: url("/wp-content/themes/kashinoki_clinic/common/img/common/footer-pc.png");
  }
}

.footer-top h3 {
  color: rgba(255, 255, 255, 0.8);
  font-size: 80px;
  font-family: "Cormorant", serif;
  font-weight: 400;
  text-align: center;
  text-transform: capitalize;
}
@media screen and (min-width: 768px) {
  .footer-top h3 {
    font-size: 100px;
  }
}

.footer-top__sub {
  color: white;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-align: center;
  margin-top: -20px;
}
@media screen and (min-width: 768px) {
  .footer-top__sub {
    font-size: 24px;
  }
}

.footer-top__text p {
  color: white;
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  text-align: center;
  margin-top: 20px;
}

.footer-top__line {
  margin: 0 auto;
  margin-top: 20px;
  max-width: 350px;
}
@media (min-width: 500px) {
  .footer-top__line {
    max-width: 475px;
  }
}
@media (min-width: 600px) {
  .footer-top__line {
    max-width: 575px;
  }
}
@media (min-width: 700px) {
  .footer-top__line {
    max-width: 675px;
  }
}
@media screen and (min-width: 768px) {
  .footer-top__line {
    max-width: 454px;
  }
}

.footer-top__line img {
  width: 100%;
  height: 100%;
  display: block;
}

.footer-bottom {
  background-color: white;
  color: #444444;
  margin: 0 auto;
  max-width: 340px;
  padding-top: 50px;
  padding-bottom: 70px;
}
@media (min-width: 500px) {
  .footer-bottom {
    max-width: 442px;
  }
}
@media (min-width: 600px) {
  .footer-bottom {
    max-width: 542px;
  }
}
@media (min-width: 700px) {
  .footer-bottom {
    max-width: 642px;
  }
}
@media screen and (min-width: 768px) {
  .footer-bottom {
    max-width: 628px;
  }
}
@media screen and (min-width: 1024px) {
  .footer-bottom {
    max-width: 884px;
  }
}
@media screen and (min-width: 1440px) {
  .footer-bottom {
    display: flex;
    justify-content: space-between;
    padding-top: 40px;
    padding-bottom: 70px;
    column-gap: 80px;
    max-width: 1300px;
  }
}

/* ロゴ＋住所 */
.footer-bottom__wrapper {
  text-align: center;
  margin-bottom: 24px;
}
@media screen and (min-width: 768px) {
  .footer-bottom__wrapper {
    text-align: center;
  }
}
@media screen and (min-width: 1440px) {
  .footer-bottom__wrapper {
    text-align: left;
  }
}

.footer-bottom__wrapper-logo {
  margin: 0 auto;
  width: 299px;
  height: auto;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .footer-bottom__wrapper-logo {
    width: 381px;
  }
}

.footer-bottom__wrapper-logo img {
  width: 100%;
  height: 100%;
  display: block;
}

.footer-bottom__wrapper-address {
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  margin-top: 12px;
}

/* ナビゲーション */
.footer-bottom__nav {
  margin-bottom: 24px;
}
@media screen and (min-width: 768px) {
  .footer-bottom__nav {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    column-gap: 30px;
    margin: 40px 0 20px 0;
  }
}
@media screen and (min-width: 1024px) {
  .footer-bottom__nav {
    margin: 20px 0 20px 0;
    column-gap: 120px;
  }
}
@media screen and (min-width: 1440px) {
  .footer-bottom__nav {
    column-gap: 80px;
  }
}

/* メインナビ */
.footer-bottom__nav-primary {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  column-gap: 5px;
  list-style: none;
  padding: 0;
  margin: 20px 0 20px 0;
}
@media screen and (min-width: 768px) {
  .footer-bottom__nav-primary {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 32px;
    row-gap: 12px;
    margin: initial;
  }
}

.footer-bottom__nav-primary li {
  margin-bottom: 8px;
  flex: 0 0 calc(50% - 5px);
}
@media screen and (min-width: 768px) {
  .footer-bottom__nav-primary li {
    flex: initial;
    margin-bottom: 0;
    white-space: nowrap;
  }
}

.footer-bottom__nav-primary li::before {
  content: "●";
  font-size: 10px;
  color: #E3DDCD;
}
@media screen and (min-width: 768px) {
  .footer-bottom__nav-primary li::before {
    font-size: 20px;
  }
}

.footer-bottom__nav-primary li:hover {
  cursor: pointer;
  opacity: 1;
  transform: scale(1.1);
}

.footer-bottom__nav-primary a {
  text-decoration: none;
  font-size: 15px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .footer-bottom__nav-primary a {
    font-size: 20px;
  }
}

/* サブナビ（施術内容） */
.footer-bottom__nav-secondary {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  column-gap: 2px;
  list-style: none;
  padding: 0;
  margin: 40px 0 35px 0;
}
@media screen and (min-width: 768px) {
  .footer-bottom__nav-secondary {
    justify-content: flex-start;
    margin: initial;
  }
}

.footer-bottom__nav-secondary li {
  margin-bottom: 8px;
  flex: 0 0 calc(50% - 2px);
}

/* 「施術内容」だけ1行占有 */
.footer-bottom__nav-secondary li:first-child {
  flex: 0 0 100%;
}

/* 「手技療法」を必ず左に来させる */
.footer-bottom__nav-secondary li:nth-child(2) {
  margin-left: 0;
}

.footer-bottom__nav-secondary li::before {
  content: "●";
  font-size: 10px;
  color: #E3DDCD;
}
@media screen and (min-width: 768px) {
  .footer-bottom__nav-secondary li::before {
    font-size: 20px;
  }
}

.footer-bottom__nav-secondary li:hover {
  cursor: pointer;
  opacity: 1;
  transform: scale(1.1);
}

.footer-bottom__nav-secondary a {
  text-decoration: none;
  font-size: 15px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .footer-bottom__nav-secondary a {
    font-size: 20px;
  }
}

/* SNS sp版*/
.footer-bottom__sns {
  display: flex;
  justify-content: flex-start;
  column-gap: 16px;
}

.footer-bottom__sns-item {
  width: 50px;
  height: 50px;
  display: block;
}

.footer-bottom__sns-item:hover {
  cursor: pointer;
  opacity: 1;
  transform: scale(1.1);
}

.footer-bottom__sns-item img {
  width: 100%;
  height: 100%;
  display: block;
}

/* SNS pc版*/
.footer-bottom__snspc {
  display: none;
}
@media screen and (min-width: 768px) {
  .footer-bottom__snspc {
    display: flex;
    justify-content: center;
    column-gap: 16px;
    margin-top: 20px;
  }
}
@media screen and (min-width: 1440px) {
  .footer-bottom__snspc {
    justify-content: flex-start;
  }
}

.footer-bottom__snspc-item {
  width: 64px;
  height: 64px;
  display: block;
}

.footer-bottom__snspc-item:hover {
  cursor: pointer;
  opacity: 1;
  transform: scale(1.1);
}

.footer-bottom__snspc-item img {
  width: 100%;
  height: 100%;
  display: block;
}

.breadcrumb {
  background-color: white;
  padding: 60px 0 0 5%;
}
@media screen and (min-width: 768px) {
  .breadcrumb {
    padding: 20px 0 0 5%;
  }
}

.breadcrumb-list {
  align-items: center;
  list-style: none;
  column-gap: 20px;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  padding: 0;
  margin: 0;
  color: #444444;
  font-family: "Noto Serif JP", serif;
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .breadcrumb-list {
    font-size: 15px;
  }
}

.breadcrumb a {
  text-decoration: none;
}

.breadcrumb a:hover {
  text-decoration: underline;
}

.breadcrumb-list li:nth-of-type(2) {
  font-size: 20px;
}

.breadcrumb-list li[aria-current=page] {
  color: #B16C5E;
  font-weight: 400;
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .aboutus-cards {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    column-gap: 30px;
  }
}

.aboutus-cards__img {
  position: relative;
  display: inline-block;
  padding: 0 10% 0 10%;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .aboutus-cards__img {
    display: initial;
    padding: initial;
    left: initial;
    transform: initial;
    margin-top: 80px;
  }
}

.aboutus-cards__img-top {
  width: 263px;
}
@media (min-width: 500px) {
  .aboutus-cards__img-top {
    width: 300px;
  }
}
@media (min-width: 600px) {
  .aboutus-cards__img-top {
    width: 330px;
  }
}
@media (min-width: 700px) {
  .aboutus-cards__img-top {
    width: 360px;
  }
}
@media screen and (min-width: 768px) {
  .aboutus-cards__img-top {
    width: 263px;
    margin-right: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .aboutus-cards__img-top {
    width: 362px;
  }
}
@media screen and (min-width: 1440px) {
  .aboutus-cards__img-top {
    margin-right: 40px;
  }
}

.aboutus-cards__img-bottom {
  width: 185px;
  position: absolute;
  bottom: -120px;
  right: 0;
}
@media (min-width: 500px) {
  .aboutus-cards__img-bottom {
    width: 210px;
  }
}
@media (min-width: 600px) {
  .aboutus-cards__img-bottom {
    width: 240px;
    bottom: -150px;
  }
}
@media (min-width: 700px) {
  .aboutus-cards__img-bottom {
    width: 270px;
    bottom: -180px;
  }
}
@media screen and (min-width: 768px) {
  .aboutus-cards__img-bottom {
    width: 185px;
    bottom: 350px;
  }
}
@media screen and (min-width: 1024px) {
  .aboutus-cards__img-bottom {
    bottom: 250px;
  }
}
@media screen and (min-width: 1440px) {
  .aboutus-cards__img-bottom {
    width: 255px;
    bottom: -20px;
  }
}

.aboutus-cards__img img {
  width: 100%;
  height: 100%;
  display: block;
}

.aboutus-cards__text {
  margin: 0 auto;
  margin-top: 170px;
  max-width: 335px;
}
@media (min-width: 500px) {
  .aboutus-cards__text {
    max-width: 460px;
  }
}
@media (min-width: 600px) {
  .aboutus-cards__text {
    max-width: 560px;
  }
}
@media (min-width: 700px) {
  .aboutus-cards__text {
    max-width: 660px;
  }
}
@media screen and (min-width: 768px) {
  .aboutus-cards__text {
    max-width: 450px;
    margin-top: 10px;
  }
}
@media screen and (min-width: 1440px) {
  .aboutus-cards__text {
    max-width: 750px;
  }
}

.aboutus-cards__text h3 {
  color: #444444;
  font-size: 22px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-align: center;
  position: relative;
}

.aboutus-cards__text h3::before {
  content: "";
  width: 60px;
  height: 1px;
  background-color: #444444;
  position: absolute;
  left: 0;
  bottom: 0;
}

.aboutus-cards__text h3::after {
  content: "";
  width: 60px;
  height: 1px;
  background-color: #444444;
  position: absolute;
  right: 0;
  bottom: 0;
}

.aboutus-cards__text p {
  color: #263C66;
  font-size: 20px;
  font-family: "Cormorant", serif;
  font-weight: 400;
  text-align: center;
  text-transform: lowercase;
  margin-top: -10px;
}

.aboutus-cards__text p::first-letter {
  text-transform: uppercase;
}

.aboutus-cards__text-text {
  margin-top: 45px;
}

.aboutus-cards__text-text p {
  color: #444444;
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .topgreeting-cards {
    align-items: center;
    display: flex;
    flex-direction: row-reverse;
    column-gap: 50px;
  }
}
@media screen and (min-width: 1440px) {
  .topgreeting-cards {
    column-gap: 100px;
  }
}
@media (min-width: 1500px) {
  .topgreeting-cards {
    column-gap: 150px;
  }
}

.topgreeting-cards__img {
  position: relative;
  background-image: url("/wp-content/themes/kashinoki_clinic/common/img/top/greeting.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 280px;
}
@media (min-width: 500px) {
  .topgreeting-cards__img {
    height: 380px;
  }
}
@media (min-width: 600px) {
  .topgreeting-cards__img {
    height: 460px;
  }
}
@media (min-width: 700px) {
  .topgreeting-cards__img {
    height: 550px;
  }
}
@media screen and (min-width: 768px) {
  .topgreeting-cards__img {
    width: 320px;
    height: 250px;
  }
}
@media screen and (min-width: 1024px) {
  .topgreeting-cards__img {
    width: 420px;
    height: 330px;
  }
}
@media screen and (min-width: 1440px) {
  .topgreeting-cards__img {
    width: 568px;
    height: 463px;
  }
}
@media (min-width: 1500px) {
  .topgreeting-cards__img {
    width: 590px;
    height: 463px;
  }
}

.topgreeting-cards__img-name {
  position: absolute;
  background-color: #263C66;
  color: white;
  display: inline-block;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  padding: 5px 10px;
  bottom: 0;
  left: 0;
  text-align: center;
}

.topgreeting-cards__img-name span {
  font-size: 13px;
}

.topgreeting-cards__text {
  margin-left: 0;
  margin-top: 50px;
  max-width: 335px;
}
@media (min-width: 500px) {
  .topgreeting-cards__text {
    max-width: 460px;
  }
}
@media (min-width: 600px) {
  .topgreeting-cards__text {
    max-width: 560px;
  }
}
@media (min-width: 700px) {
  .topgreeting-cards__text {
    max-width: 660px;
  }
}
@media screen and (min-width: 768px) {
  .topgreeting-cards__text {
    max-width: 400px;
  }
}
@media screen and (min-width: 1024px) {
  .topgreeting-cards__text {
    max-width: 550px;
  }
}
@media screen and (min-width: 1440px) {
  .topgreeting-cards__text {
    max-width: 660px;
  }
}

.topgreeting-cards__text h3 {
  color: #444444;
  font-size: 22px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .topgreeting-cards__text h3 {
    font-size: 30px;
  }
}

.topgreeting-cards__text h3::before {
  content: "";
  width: 60px;
  height: 1px;
  background-color: #444444;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .topgreeting-cards__text h3::before {
    left: 10%;
    width: 80px;
  }
}
@media screen and (min-width: 1440px) {
  .topgreeting-cards__text h3::before {
    left: 20%;
  }
}

.topgreeting-cards__text h3::after {
  content: "";
  width: 60px;
  height: 1px;
  background-color: #444444;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .topgreeting-cards__text h3::after {
    right: 10%;
    width: 80px;
  }
}
@media screen and (min-width: 1440px) {
  .topgreeting-cards__text h3::after {
    right: 20%;
  }
}

.topgreeting-cards__text p {
  color: #263C66;
  font-size: 20px;
  font-family: "Cormorant", serif;
  font-weight: 400;
  text-align: center;
  text-transform: lowercase;
  margin-top: -10px;
}
@media screen and (min-width: 768px) {
  .topgreeting-cards__text p {
    font-size: 26px;
  }
}

.topgreeting-cards__text p::first-letter {
  text-transform: uppercase;
}

.topgreeting-cards__text-text {
  margin-top: 45px;
}

.topgreeting-cards__text-text p {
  color: #444444;
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  margin-bottom: 30px;
}

.topgreeting-cards__text-text p span {
  color: #B16C5E;
}

.info-cards {
  margin-top: 50px;
}

.info-cards__img {
  max-width: 355px;
}
@media (min-width: 500px) {
  .info-cards__img {
    max-width: 480px;
  }
}
@media (min-width: 600px) {
  .info-cards__img {
    max-width: 580px;
  }
}
@media (min-width: 700px) {
  .info-cards__img {
    max-width: 680px;
  }
}
@media screen and (min-width: 768px) {
  .info-cards__img {
    max-width: 400px;
  }
}
@media screen and (min-width: 1024px) {
  .info-cards__img {
    max-width: 450px;
  }
}
@media screen and (min-width: 1440px) {
  .info-cards__img {
    max-width: 580px;
  }
}
@media (min-width: 1700px) {
  .info-cards__img {
    max-width: 700px;
  }
}
@media (min-width: 1700px) {
  .info-cards__img {
    max-width: 800px;
  }
}

.info-cards__img img {
  width: 100%;
  height: 100%;
  display: block;
}

.info-cards__info {
  background-color: #263C66;
  border-bottom-left-radius: 20px;
  color: white;
  font-size: 16px;
  margin-top: -80px;
  margin-left: auto;
  max-width: 355px;
  padding: 90px 20px 50px 20px;
}
@media (min-width: 500px) {
  .info-cards__info {
    max-width: 480px;
  }
}
@media (min-width: 600px) {
  .info-cards__info {
    max-width: 580px;
  }
}
@media (min-width: 700px) {
  .info-cards__info {
    max-width: 680px;
  }
}
@media screen and (min-width: 768px) {
  .info-cards__info {
    margin-top: -200px;
    max-width: 600px;
    padding: 60px 20px 40px 250px;
  }
}
@media screen and (min-width: 1024px) {
  .info-cards__info {
    margin-top: -250px;
    max-width: 750px;
    padding: 60px 20px 80px 200px;
  }
}
@media screen and (min-width: 1440px) {
  .info-cards__info {
    margin-top: -350px;
    max-width: 1210px;
    padding: 60px 20px 80px 400px;
  }
}
@media (min-width: 1700px) {
  .info-cards__info {
    max-width: 1300px;
    padding: 60px 20px 80px 450px;
  }
}

/* 定義リスト */
.info-cards__info dl {
  display: grid;
  grid-template-columns: 4em 1fr;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .info-cards__info dl {
    margin: 0 auto;
    max-width: 450px;
  }
}
@media screen and (min-width: 1024px) {
  .info-cards__info dl {
    max-width: 550px;
  }
}
@media screen and (min-width: 1440px) {
  .info-cards__info dl {
    max-width: 680px;
  }
}
@media (min-width: 1700px) {
  .info-cards__info dl {
    max-width: 900px;
  }
}

/* 項目名（左） */
.info-cards__info dt {
  border-bottom: 1px solid white;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  white-space: nowrap;
  padding: 20px 0 7px 10px;
}
@media screen and (min-width: 768px) {
  .info-cards__info dt {
    font-size: 20px;
    padding: 20px 0 15px 20px;
  }
}

/* 内容（右） */
.info-cards__info dd {
  border-bottom: 1px solid white;
  line-height: 1.6;
  padding: 20px 0 7px 20px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  margin-inline-start: initial;
}
@media screen and (min-width: 768px) {
  .info-cards__info dd {
    padding: 20px 0 15px 50px;
  }
}
@media screen and (min-width: 1440px) {
  .info-cards__info dd {
    padding: 20px 0 15px 150px;
  }
}

.map-cards {
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .map-cards {
    margin-top: 60px;
  }
}

.map-cards .address-hours {
  background-color: #263C66;
  border-top-left-radius: 20px;
  color: white;
  margin-left: auto;
  max-width: 355px;
  padding: 35px 10px 50px 10px;
}
@media (min-width: 500px) {
  .map-cards .address-hours {
    max-width: 480px;
  }
}
@media (min-width: 600px) {
  .map-cards .address-hours {
    max-width: 580px;
  }
}
@media (min-width: 700px) {
  .map-cards .address-hours {
    max-width: 680px;
  }
}
@media screen and (min-width: 768px) {
  .map-cards .address-hours {
    border-top-left-radius: initial;
    border-bottom-right-radius: 20px;
    order: 1;
    margin-left: initial;
    margin-right: auto;
    max-width: 400px;
    padding: 100px 10px 100px 20px;
  }
}
@media screen and (min-width: 1024px) {
  .map-cards .address-hours {
    max-width: 650px;
    padding: 100px 10px 100px 40px;
  }
}
@media screen and (min-width: 1440px) {
  .map-cards .address-hours {
    max-width: 1210px;
    padding: 100px 10px 100px 150px;
  }
}
@media (min-width: 1700px) {
  .map-cards .address-hours {
    max-width: 1300px;
  }
}

@media screen and (min-width: 768px) {
  .map-cards .address-hours table {
    max-width: 330px;
  }
}
@media screen and (min-width: 1024px) {
  .map-cards .address-hours table {
    max-width: 450px;
  }
}
@media screen and (min-width: 1440px) {
  .map-cards .address-hours table {
    max-width: 577px;
  }
}
@media (min-width: 1700px) {
  .map-cards .address-hours table {
    max-width: 700px;
  }
}

.map-cards .address-hours thead th,
.map-cards .address-hours tbody tr {
  border-bottom: 1px solid white;
}

.map-cards .address-hours tbody tr:nth-of-type(1),
.map-cards .address-hours tbody tr:nth-of-type(2) {
  border-bottom: initial;
}

.map-cards .address-hours td {
  color: white;
}

.map-cards .address-hours .tri {
  color: #B7BFCD;
}

.map-cards .address-hours ul {
  border-bottom: none;
}

.map-cards__map {
  margin-top: -30px;
  max-width: 355px;
}
@media (min-width: 500px) {
  .map-cards__map {
    max-width: 480px;
  }
}
@media (min-width: 600px) {
  .map-cards__map {
    max-width: 580px;
  }
}
@media (min-width: 700px) {
  .map-cards__map {
    max-width: 680px;
  }
}
@media screen and (min-width: 768px) {
  .map-cards__map {
    order: 2;
    margin-top: -500px;
    margin-left: auto;
    max-width: 400px;
  }
}
@media screen and (min-width: 1024px) {
  .map-cards__map {
    max-width: 500px;
  }
}
@media screen and (min-width: 1440px) {
  .map-cards__map {
    max-width: 652px;
  }
}
@media (min-width: 1700px) {
  .map-cards__map {
    max-width: 800px;
  }
}

.map-cards__map iframe {
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}
@media screen and (min-width: 768px) {
  .map-cards__map iframe {
    border-top-right-radius: initial;
    border-bottom-right-radius: initial;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
}

.menubutton-cards {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .menubutton-cards {
    align-items: stretch;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
    column-gap: 24px;
  }
}

.menubutton-cards li {
  align-items: center;
  background-color: rgba(205, 210, 220, 0.6);
  border-radius: 20px;
  position: relative;
  margin-bottom: 20px;
  width: 100%;
  height: 90px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
}
@media screen and (min-width: 768px) {
  .menubutton-cards li {
    column-gap: 20px;
    width: calc((100% - 24px) / 2);
  }
}
@media screen and (min-width: 1024px) {
  .menubutton-cards li {
    width: calc((100% - 48px) / 3);
  }
}
@media screen and (min-width: 1440px) {
  .menubutton-cards li {
    width: calc((100% - 72px) / 4);
  }
}

.menubutton-cards li:nth-of-type(1) {
  content: "";
  background-image: url("/wp-content/themes/kashinoki_clinic/common/img/menu/menubutton1.png");
}

.menubutton-cards li:nth-of-type(2) {
  content: "";
  background-image: url("/wp-content/themes/kashinoki_clinic/common/img/menu/menubutton2.png");
}

.menubutton-cards li:nth-of-type(3) {
  content: "";
  background-image: url("/wp-content/themes/kashinoki_clinic/common/img/menu/menubutton3.png");
}

.menubutton-cards li:nth-of-type(4) {
  content: "";
  background-image: url("/wp-content/themes/kashinoki_clinic/common/img/menu/menubutton4.png");
}

.menubutton-cards li:nth-of-type(5) {
  content: "";
  background-image: url("/wp-content/themes/kashinoki_clinic/common/img/menu/menubutton5.png");
}

.menubutton-cards li:nth-of-type(6) {
  content: "";
  background-image: url("/wp-content/themes/kashinoki_clinic/common/img/menu/menubutton6.png");
}

.menubutton-cards li:nth-of-type(7) {
  content: "";
  background-image: url("/wp-content/themes/kashinoki_clinic/common/img/menu/menubutton7.png");
}

.menubutton-cards li a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  /* ← これが効くようになる */
  position: relative;
}

.menubutton-cards li a p {
  color: #263C66;
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  text-align: center;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .menubutton-cards li a p {
    white-space: nowrap;
  }
}

.menubutton-cards li a::after {
  content: "＞";
  color: #B16C5E;
  font-size: 40px;
  font-weight: 200;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}

.menubutton-cards li a:hover::after {
  transform: translate(4px, -50%);
}

.menubutton-cards li a:hover {
  border-radius: 20px;
  background-color: rgba(227, 221, 205, 0.6);
}

.treatmentleft-cards {
  margin-top: 40px;
  margin-left: auto;
  max-width: 355px;
}
@media (min-width: 500px) {
  .treatmentleft-cards {
    max-width: 480px;
  }
}
@media (min-width: 600px) {
  .treatmentleft-cards {
    max-width: 580px;
  }
}
@media (min-width: 700px) {
  .treatmentleft-cards {
    max-width: 680px;
  }
}
@media screen and (min-width: 768px) {
  .treatmentleft-cards {
    margin-left: initial;
    max-width: initial;
    align-items: center;
    display: flex;
    flex-direction: row-reverse;
    column-gap: 50px;
  }
}
@media screen and (min-width: 1440px) {
  .treatmentleft-cards {
    column-gap: 100px;
  }
}
@media (min-width: 1500px) {
  .treatmentleft-cards {
    column-gap: 150px;
  }
}

.treatmentleft-cards__img {
  height: 280px;
}
@media (min-width: 500px) {
  .treatmentleft-cards__img {
    height: 380px;
  }
}
@media (min-width: 600px) {
  .treatmentleft-cards__img {
    height: 460px;
  }
}
@media (min-width: 700px) {
  .treatmentleft-cards__img {
    height: 550px;
  }
}
@media screen and (min-width: 768px) {
  .treatmentleft-cards__img {
    width: 320px;
    height: 250px;
  }
}
@media screen and (min-width: 1024px) {
  .treatmentleft-cards__img {
    width: 420px;
    height: 330px;
  }
}
@media screen and (min-width: 1440px) {
  .treatmentleft-cards__img {
    width: 568px;
    height: 463px;
  }
}
@media (min-width: 1500px) {
  .treatmentleft-cards__img {
    width: 590px;
    height: 463px;
  }
}

.treatmentleft-cards__img img {
  width: 100%;
  height: 100%;
  display: block;
}

.treatmentleft-cards__text {
  text-align: left;
  margin-left: 0;
  max-width: 335px;
}
@media (min-width: 500px) {
  .treatmentleft-cards__text {
    max-width: 460px;
  }
}
@media (min-width: 600px) {
  .treatmentleft-cards__text {
    max-width: 560px;
  }
}
@media (min-width: 700px) {
  .treatmentleft-cards__text {
    max-width: 660px;
  }
}
@media screen and (min-width: 768px) {
  .treatmentleft-cards__text {
    max-width: 400px;
  }
}
@media screen and (min-width: 1024px) {
  .treatmentleft-cards__text {
    max-width: 550px;
  }
}
@media screen and (min-width: 1440px) {
  .treatmentleft-cards__text {
    max-width: 660px;
  }
}

.treatmentleft-cards__text h4 {
  color: #263C66;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  position: relative;
}
@media screen and (min-width: 768px) {
  .treatmentleft-cards__text h4 {
    font-size: 26px;
  }
}

.treatmentleft-cards__text h4::after {
  content: "";
  width: 70px;
  height: 1px;
  background-color: #B7BFCD;
  position: absolute;
  left: 0%;
  bottom: -10px;
}

.treatmentleft-cards__text-text {
  margin-top: 40px;
}

.treatmentleft-cards__text-text p {
  color: #444444;
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  margin-bottom: 20px;
}

.treatmentleft-cards__text-text p span {
  color: #B16C5E;
}

.treatmentright-cards {
  margin-top: 40px;
  margin-right: auto;
  max-width: 355px;
}
@media (min-width: 500px) {
  .treatmentright-cards {
    max-width: 480px;
  }
}
@media (min-width: 600px) {
  .treatmentright-cards {
    max-width: 580px;
  }
}
@media (min-width: 700px) {
  .treatmentright-cards {
    max-width: 680px;
  }
}
@media screen and (min-width: 768px) {
  .treatmentright-cards {
    margin-left: initial;
    max-width: initial;
    align-items: center;
    display: flex;
    flex-direction: row;
    column-gap: 50px;
  }
}
@media screen and (min-width: 1440px) {
  .treatmentright-cards {
    column-gap: 100px;
  }
}
@media (min-width: 1500px) {
  .treatmentright-cards {
    column-gap: 150px;
  }
}

.treatmentright-cards__img {
  height: 280px;
}
@media (min-width: 500px) {
  .treatmentright-cards__img {
    height: 380px;
  }
}
@media (min-width: 600px) {
  .treatmentright-cards__img {
    height: 460px;
  }
}
@media (min-width: 700px) {
  .treatmentright-cards__img {
    height: 550px;
  }
}
@media screen and (min-width: 768px) {
  .treatmentright-cards__img {
    width: 320px;
    height: 250px;
  }
}
@media screen and (min-width: 1024px) {
  .treatmentright-cards__img {
    width: 420px;
    height: 330px;
  }
}
@media screen and (min-width: 1440px) {
  .treatmentright-cards__img {
    width: 568px;
    height: 463px;
  }
}
@media (min-width: 1500px) {
  .treatmentright-cards__img {
    width: 590px;
    height: 463px;
  }
}

.treatmentright-cards__img img {
  width: 100%;
  height: 100%;
  display: block;
}

.treatmentright-cards__text {
  text-align: left;
  max-width: 335px;
  margin-left: 20px;
}
@media (min-width: 500px) {
  .treatmentright-cards__text {
    max-width: 460px;
  }
}
@media (min-width: 600px) {
  .treatmentright-cards__text {
    max-width: 560px;
  }
}
@media (min-width: 700px) {
  .treatmentright-cards__text {
    max-width: 660px;
  }
}
@media screen and (min-width: 768px) {
  .treatmentright-cards__text {
    max-width: 400px;
  }
}
@media screen and (min-width: 1024px) {
  .treatmentright-cards__text {
    max-width: 550px;
  }
}
@media screen and (min-width: 1440px) {
  .treatmentright-cards__text {
    max-width: 660px;
  }
}

.treatmentright-cards__text h4 {
  color: #263C66;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  position: relative;
}
@media screen and (min-width: 768px) {
  .treatmentright-cards__text h4 {
    font-size: 26px;
  }
}

.treatmentright-cards__text h4::after {
  content: "";
  width: 70px;
  height: 1px;
  background-color: #B7BFCD;
  position: absolute;
  left: 0%;
  bottom: -10px;
}

.treatmentright-cards__text-text {
  margin-top: 40px;
}

.treatmentright-cards__text-text p {
  color: #444444;
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  margin-bottom: 20px;
}

.treatmentright-cards__text-text p span {
  color: #B16C5E;
}

.test {
  background-color: plum;
  font-size: 16px;
  color: red;
}
@media screen and (min-width: 768px) {
  .test {
    font-size: 50px;
    color: green;
  }
}

.fv {
  position: relative;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  width: 100%;
  min-height: 100vh;
}
@media screen and (min-width: 768px) {
  .fv {
    min-height: 60vh;
  }
}
@media (min-width: 1500px) {
  .fv {
    min-height: 80vh;
  }
}

/* 背景レイヤーを重ねる */
.fv::before,
.fv::after {
  content: "";
  position: absolute;
  pointer-events: none;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  animation-timing-function: ease-in-out;
  z-index: 0;
}

/* 1枚目の背景（初期表示） */
.fv::before {
  background-image: url("/wp-content/themes/kashinoki_clinic/common/img/top/mv.png");
  animation: slide01-sp 12s infinite;
}
@media screen and (min-width: 768px) {
  .fv::before {
    background-image: url("/wp-content/themes/kashinoki_clinic/common/img/top/mv.png");
    animation: slide01 12s infinite;
  }
}

/* 2枚目の背景 */
@media screen and (min-width: 768px) {
  .fv::after {
    background-image: url("/wp-content/themes/kashinoki_clinic/common/img/top/mv2.png");
    animation: slide02 12s infinite;
  }
}
.fv-wrapper {
  align-items: center;
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  position: absolute;
  top: 35%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

.fv-topcontact {
  display: none;
}
@media screen and (min-width: 768px) {
  .fv-topcontact {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    position: absolute;
    top: 0%;
    right: 0%;
    z-index: 2;
  }
}

.fv-topcontact__item {
  height: 95px;
  width: 229px;
  display: block;
  object-fit: contain;
}

.fv-topcontact__item:hover {
  cursor: pointer;
  opacity: 1;
  transform: scale(1.1);
}

.fv-topcontact__item img {
  max-width: 100%;
  width: 100%;
  height: 100%;
  display: block;
}

.fv h2 {
  color: white;
  font-family: "Noto Serif JP", serif;
  font-size: 23px;
  font-weight: 400;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .fv h2 {
    font-size: 32px;
  }
}
@media screen and (min-width: 1024px) {
  .fv h2 {
    font-size: 32px;
  }
}
@media screen and (min-width: 1440px) {
  .fv h2 {
    font-size: 44px;
  }
}

/* --- アニメーション --- */
@keyframes slide01-sp {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 1;
    transform: scale(1.1);
  }
}
@keyframes slide01 {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  30% {
    opacity: 1;
  }
  40% {
    opacity: 0;
    transform: scale(1.1);
  }
  100% {
    opacity: 1;
    transform: scale(1.1);
  }
}
@keyframes slide02 {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  30% {
    opacity: 1;
  }
  40% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1);
  }
}
.following {
  display: none;
}
@media screen and (min-width: 768px) {
  .following {
    display: initial;
    width: 100%;
    background-color: white;
    position: relative;
    height: auto;
    overflow: visible;
  }
}

@media screen and (min-width: 768px) {
  .following-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: inherit;
    justify-content: space-around;
    position: relative;
    z-index: 10;
  }
}

@media screen and (min-width: 768px) {
  .following-wrapper__logo h1 {
    color: #444444;
    font-family: "Noto Serif JP", serif;
    font-size: 10px;
    font-weight: 400;
  }
}
@media screen and (min-width: 1440px) {
  .following-wrapper__logo h1 {
    font-size: 12px;
  }
}

@media screen and (min-width: 768px) {
  .following-wrapper__logo-img {
    width: 250px;
  }
}
@media screen and (min-width: 1024px) {
  .following-wrapper__logo-img {
    width: 300px;
  }
}
@media screen and (min-width: 1440px) {
  .following-wrapper__logo-img {
    width: 381px;
  }
}

.following-wrapper__logo-img img {
  width: 100%;
  height: 100%;
  display: block;
}

@media screen and (min-width: 768px) {
  .following-nav__menu {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    column-gap: 30px;
  }
}

.following-nav__menu li:hover {
  cursor: pointer;
  opacity: 1;
  transform: scale(1.1);
}

@media screen and (min-width: 768px) {
  .following-nav__menu-ja {
    color: #444444;
    font-family: "Noto Serif JP", serif;
    font-size: 14px;
    font-weight: 400;
    text-align: center;
  }
}
@media screen and (min-width: 1024px) {
  .following-nav__menu-ja {
    font-size: 20px;
  }
}
@media screen and (min-width: 1440px) {
  .following-nav__menu-ja {
    font-size: 20px;
  }
}

@media screen and (min-width: 768px) {
  .following-nav__menu-en {
    color: #B16C5E;
    font-family: "Cormorant", serif;
    font-size: 14px;
    font-weight: 400;
    text-align: center;
  }
}
@media screen and (min-width: 1024px) {
  .following-nav__menu-en {
    font-size: 16px;
  }
}
@media screen and (min-width: 1440px) {
  .following-nav__menu-en {
    font-size: 16px;
  }
}

.following-nav__sub {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #E3DDCD;
  padding: 16px;
  z-index: 999;
}

/* 紺カーブ（紺色背景との境界） */
.nav-curve-bottom {
  pointer-events: none;
  position: absolute;
  left: 0;
  width: 100%;
  height: 150px;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .nav-curve-bottom {
    bottom: 60%;
    height: 80px;
  }
}
@media (min-width: 800px) {
  .nav-curve-bottom {
    bottom: 55%;
  }
}
@media (min-width: 900px) {
  .nav-curve-bottom {
    bottom: 50%;
  }
}
@media screen and (min-width: 1024px) {
  .nav-curve-bottom {
    bottom: 50%;
    height: 115px;
  }
}
@media (min-width: 1100px) {
  .nav-curve-bottom {
    bottom: 40%;
  }
}
@media (min-width: 1200px) {
  .nav-curve-bottom {
    bottom: 35%;
  }
}
@media (min-width: 1300px) {
  .nav-curve-bottom {
    bottom: 30%;
  }
}
@media screen and (min-width: 1440px) {
  .nav-curve-bottom {
    bottom: 75%;
    height: 150px;
  }
}
@media (min-width: 1500px) {
  .nav-curve-bottom {
    bottom: 70%;
  }
}

.nav-curve-bottom path {
  fill: #263C66;
  /* 紺色の背景色 */
}

/* 白カーブ（写真との境界） */
.nav-curve-top {
  pointer-events: none;
  position: absolute;
  top: -95%;
  left: 0;
  width: 100%;
  height: 100px;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .nav-curve-top {
    top: -50%;
    height: 50px;
  }
}
@media screen and (min-width: 1024px) {
  .nav-curve-top {
    top: -60%;
    height: 70px;
  }
}
@media screen and (min-width: 1440px) {
  .nav-curve-top {
    top: -98%;
    height: 100px;
  }
}
@media (min-width: 1500px) {
  .nav-curve-top {
    top: -100%;
  }
}
@media (min-width: 1600px) {
  .nav-curve-top {
    top: -110%;
  }
}
@media (min-width: 1900px) {
  .nav-curve-top {
    top: -130%;
    height: 140px;
  }
}

.nav-curve-top path {
  fill: white;
}

/* 求人==========================================================================*/
.recruit {
  background: url(common/img/recruit/mv.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.recruit-top h2 {
  color: #53A5D4;
  margin-bottom: 40px;
}
.recruit-top li {
  margin-bottom: 30px;
  display: flex;
  justify-content: space-between;
}
.recruit-top li .eng {
  color: #5FCB78;
  border: 1px solid #5FCB78;
  height: 40px;
  width: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
}
.recruit-top li div {
  width: 82%;
}
.recruit-top li p {
  line-height: 1.5em;
}
.recruit-top .strong {
  color: #53A5D4;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.3em;
  margin-bottom: 5px;
}

.recruit-imgs {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.recruit-imgs img {
  width: 50%;
}

.recruit-voice {
  background: #F5F5F5;
}
.recruit-voice .ttl {
  color: #5FCB78;
}
.recruit-voice .midashi {
  font-size: 1.8rem;
  font-weight: 700;
  color: #53A5D4;
}

.recruit-voice-word {
  display: flex;
  flex-direction: column;
  margin: 20px 0;
}
.recruit-voice-word img {
  width: 50%;
  margin: 0 auto 10px;
  border-radius: 50%;
}

.recruit-merit {
  display: flex;
  flex-direction: column;
  margin: 40px 0 20px;
}
.recruit-merit li {
  background: #53A5D4;
  color: white;
  margin-bottom: 25px;
  position: relative;
  text-align: center;
}
.recruit-merit li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: white;
  border: 2px solid #53A5D4;
  color: #53A5D4;
  border-radius: 20px;
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 1.6rem;
}

.recruit-strong {
  color: #53A5D4;
  border: 1px solid #53A5D4;
  font-weight: 700;
  text-align: center;
  margin-bottom: 5px;
  line-height: 1.3em;
  padding: 10px 5px;
}
.recruit-strong span {
  font-size: 1.2rem;
  font-weight: 500;
}

.recruit-sub {
  font-size: 1.2rem;
  line-height: 1.5em;
  margin-bottom: 20px;
}

.recruit-imgs2 {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.recruit-imgs2 img {
  width: 25%;
}

.recruit-list h2 {
  color: #5FCB78;
}
.recruit-list .list-ttl {
  color: #53A5D4;
  font-weight: 700;
  margin-bottom: 5px;
}
.recruit-list table {
  border-collapse: collapse;
  margin-bottom: 20px;
}
.recruit-list table th,
.recruit-list table td {
  font-size: 1.2rem;
  text-align: left;
  border-top: 1px solid #53A5D4;
  border-bottom: 1px solid #53A5D4;
}
.recruit-list table th {
  width: 20%;
  color: white;
  background: #53A5D4;
  padding: 15px 5px;
  border-bottom: 1px solid white;
}
.recruit-list table td {
  padding: 10px;
}
.recruit-list table tr:last-of-type th {
  border-bottom: 1px solid #53A5D4;
}

@media only screen and (min-width: 768px) {
  .recruit-top h2 {
    font-size: 2.8rem;
  }
  .recruit-top ul {
    width: 850px;
    margin: 0 auto;
  }
  .recruit-top li {
    align-items: center;
    margin-bottom: 40px;
  }
  .recruit-top li .eng {
    height: 60px;
    width: 60px;
    font-size: 3rem;
    margin-right: 30px;
  }
  .recruit-top li div {
    width: 100%;
  }
  .recruit-imgs img {
    width: 25%;
  }
  .recruit-voice .midashi {
    font-size: 2.4rem;
    text-align: center;
  }
  .recruit-voice-word {
    flex-direction: row;
    align-items: center;
    width: 850px;
    margin: 30px auto;
  }
  .recruit-voice-word img {
    width: 170px;
    height: 170px;
    margin-right: 40px;
  }
  .recruit-voice-word p {
    background: #88CCF2;
    color: white;
    border-radius: 5px;
    padding: 20px 30px;
    position: relative;
  }
  .recruit-voice-word p::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 30px 15px 0;
    border-color: transparent #88CCF2 transparent transparent;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: -30px;
  }
  .recruit-merit {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .recruit-merit li {
    width: 350px;
    margin-bottom: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100px;
  }
  .recruit-strong {
    border: none;
    font-size: 1.8rem;
  }
  .recruit-strong span {
    font-size: 1.4rem;
    display: block;
    line-height: 3em;
  }
  .recruit-sub {
    text-align: center;
    margin-bottom: 40px;
  }
  .recruit-youtube {
    width: 800px;
    margin: 60px auto;
  }
  .recruit-list .ttl:after {
    margin-bottom: 60px;
  }
  .recruit-list .inner {
    width: 800px;
    margin: 0 auto;
  }
  .recruit-list table {
    margin-bottom: 40px;
  }
  .recruit-list table th, .recruit-list table td {
    font-size: 1.4rem;
    padding: 20px;
  }
  .list-ttl {
    font-size: 1.6rem;
    text-align: center;
  }
}
.news {
  background-color: white;
  padding-top: 30px;
}
@media screen and (min-width: 768px) {
  .news {
    padding-top: 150px;
  }
}

.news-wrapper {
  background-color: #B7BFCD;
  border-radius: 10px;
  margin: 0 auto;
  padding: 10px 0;
  max-width: 335px;
  text-align: center;
}
@media (min-width: 500px) {
  .news-wrapper {
    max-width: 460px;
  }
}
@media (min-width: 600px) {
  .news-wrapper {
    max-width: 560px;
  }
}
@media (min-width: 700px) {
  .news-wrapper {
    max-width: 660px;
  }
}
@media screen and (min-width: 768px) {
  .news-wrapper {
    padding: 20px 0;
    max-width: 600px;
  }
}
@media screen and (min-width: 1024px) {
  .news-wrapper {
    max-width: 980px;
  }
}
@media screen and (min-width: 1440px) {
  .news-wrapper {
    max-width: 1120px;
  }
}

.news-wrapper h3 {
  color: #263C66;
  font-size: 30px;
  font-family: "Cormorant", serif;
  font-weight: 400;
  text-transform: capitalize;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .news-wrapper h3 {
    font-size: 50px;
  }
}

.news-wrapper__siubtitle {
  color: #263C66;
  font-size: 11px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .news-wrapper__siubtitle {
    font-size: 14px;
  }
}

.news-wrapper__button {
  background-color: #263C66;
  border-radius: 50px;
  color: white;
  font-size: 14px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  padding: 10px 30px;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .news-wrapper__button {
    font-size: 16px;
  }
}

.news-wrapper__button::after {
  content: "＞";
  display: inline-block;
  margin-left: 0.5em;
  transition: transform 0.3s ease;
}

.news-wrapper__button:hover::after {
  transform: translateX(4px);
}

.news-wrapper__button:hover {
  background-color: #E3DDCD;
}
.next-article {
  margin-top: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.next-article a[rel=prev] {
  color: #263C66;
}

/* 次の記事リンク */
.next-article a[rel=next] {
  color: #263C66;
}

/* hover時 */
.next-article a[rel=prev]:hover {
  color: #B16C5E;
}

.next-article a[rel=next]:hover {
  color: #B16C5E;
}
.intro {
  background-color: white;
  padding-top: 60px;
}
@media screen and (min-width: 768px) {
  .intro {
    padding-top: 140px;
  }
}

.intro-cards {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .intro-cards {
    align-items: stretch;
    column-gap: 5%;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    margin: initial;
    margin-left: auto;
    max-width: 700px;
  }
}
@media screen and (min-width: 1024px) {
  .intro-cards {
    max-width: 980px;
  }
}
@media screen and (min-width: 1440px) {
  .intro-cards {
    align-items: center;
    column-gap: 10%;
    max-width: 1280px;
  }
}
@media (min-width: 1600px) {
  .intro-cards {
    max-width: 1440px;
  }
}
@media (min-width: 1900px) {
  .intro-cards {
    max-width: 1740px;
  }
}

.intro-cards li {
  max-width: 335px;
}
@media (min-width: 500px) {
  .intro-cards li {
    max-width: 460px;
  }
}
@media (min-width: 600px) {
  .intro-cards li {
    max-width: 560px;
  }
}
@media (min-width: 700px) {
  .intro-cards li {
    max-width: 660px;
  }
}
@media screen and (min-width: 768px) {
  .intro-cards li {
    max-width: initial;
  }
}

.intro-cards__img {
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .intro-cards__img {
    width: 120%;
    height: 100%;
    margin-top: 30px;
  }
}
@media screen and (min-width: 1024px) {
  .intro-cards__img {
    width: 100%;
    height: 100%;
    margin-top: 30px;
  }
}
@media screen and (min-width: 1440px) {
  .intro-cards__img {
    width: 80%;
  }
}

@media screen and (min-width: 768px) {
  .intro-cards__img-img {
    height: 100%;
  }
}

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

.intro-cards__text {
  margin: 0 auto;
  margin-top: 40px;
}

.intro-cards__text h3 {
  color: #263C66;
  font-size: 22px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .intro-cards__text h3 {
    font-size: 24px;
  }
}
@media screen and (min-width: 1024px) {
  .intro-cards__text h3 {
    font-size: 28px;
  }
}
@media screen and (min-width: 1440px) {
  .intro-cards__text h3 {
    font-size: 30px;
    white-space: nowrap;
  }
}

@media screen and (min-width: 1440px) {
  .intro-cards__text-br {
    display: none;
  }
}

.intro-cards__text-text {
  margin-top: 25px;
}

.intro-cards__text-text p {
  color: #444444;
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 20px;
}

.intro-cards__text-button {
  background-color: #B16C5E;
  border-radius: 50px;
  padding: 10px 30px;
  color: white;
  font-size: 16px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .intro-cards__text-button {
    font-size: 20px;
    padding: 20px 50px;
    margin-top: 20px;
  }
}

.intro-cards__text-button::after {
  content: "▶";
  margin-left: 8px;
}

.intro-cards__text-button:hover {
  background-color: #D1B66C;
}

.intro-cards__text-button:hover::after {
  margin-left: 10px;
}

.intro-cards__text-button span {
  height: 28px;
  margin-left: 5px;
}

.features {
  background-color: white;
  padding-top: 120px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .features {
    padding-top: 200px;
  }
}

.features-wrapper {
  margin: 0 auto;
  max-width: 335px;
}
@media (min-width: 500px) {
  .features-wrapper {
    max-width: 460px;
  }
}
@media (min-width: 600px) {
  .features-wrapper {
    max-width: 560px;
  }
}
@media (min-width: 700px) {
  .features-wrapper {
    max-width: 660px;
  }
}
@media screen and (min-width: 768px) {
  .features-wrapper {
    max-width: initial;
  }
}

.features-wrapper h3 {
  color: #263C66;
  font-size: 22px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .features-wrapper h3 {
    font-size: 24px;
	text-align: center;
  }
}
@media screen and (min-width: 1024px) {
  .features-wrapper h3 {
    font-size: 28px;
  }
}
@media screen and (min-width: 1440px) {
  .features-wrapper h3 {
    font-size: 30px;
  }
}

.features-wrapper__text {
  margin: 0 auto;
  margin-top: 30px;
  padding-bottom: 180px;
  max-width: 343px;
}
@media screen and (min-width: 768px) {
  .features-wrapper__text {
    padding-bottom: 150px;
    max-width: 665px;
  }
}

.features-wrapper__text p {
  color: #444444;
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  text-align: left;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .features-wrapper__text p {
    text-align: center;
  }
}

.features-wrapper__left,
.features-wrapper__right {
  position: absolute;
  bottom: 0;
}

.features-wrapper__left {
  left: 0;
  width: 80%;
}
@media screen and (min-width: 768px) {
  .features-wrapper__left {
    width: 50%;
  }
}

.features-wrapper__right {
  right: 0;
}
.menu {
  background-color: #263C66;
  padding-top: 10px;
  padding-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .menu {
    padding-top: 20px;
    padding-bottom: 110px;
  }
}

.menu-wrapper {
  margin: 0 auto;
  max-width: 305px;
}
@media (min-width: 500px) {
  .menu-wrapper {
    max-width: 430px;
  }
}
@media (min-width: 600px) {
  .menu-wrapper {
    max-width: 530px;
  }
}
@media (min-width: 700px) {
  .menu-wrapper {
    max-width: 630px;
  }
}
@media screen and (min-width: 768px) {
  .menu-wrapper {
    max-width: 608px;
  }
}
@media screen and (min-width: 1024px) {
  .menu-wrapper {
    max-width: 980px;
  }
}
@media screen and (min-width: 1440px) {
  .menu-wrapper {
    max-width: 1280px;
  }
}

.menu-wrapper h3 {
  color: rgba(255, 255, 255, 0.33);
  font-size: 80px;
  font-family: "Cormorant", serif;
  font-weight: 400;
  text-align: center;
  text-transform: capitalize;
}
@media screen and (min-width: 768px) {
  .menu-wrapper h3 {
    font-size: 100px;
  }
}

.menu-wrapper__subtitle {
  color: white;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-align: center;
  margin-top: -20px;
}
@media screen and (min-width: 768px) {
  .menu-wrapper__subtitle {
    font-size: 24px;
    margin-top: -40px;
  }
}

.flow {
  background-color: white;
  padding-top: 20px;
}
@media screen and (min-width: 768px) {
  .flow {
    padding-top: 40px;
  }
}

.flow__inner {
  max-width: 335px;
  margin: 0 auto;
}
@media (min-width: 500px) {
  .flow__inner {
    max-width: 460px;
  }
}
@media (min-width: 600px) {
  .flow__inner {
    max-width: 560px;
  }
}
@media (min-width: 700px) {
  .flow__inner {
    max-width: 660px;
  }
}
@media screen and (min-width: 768px) {
  .flow__inner {
    max-width: initial;
    width: 100%;
  }
}

.flow__head {
  text-align: center;
  margin-bottom: 48px;
}

.flow__head h3 {
  color: #B7BFCD;
  font-size: 80px;
  font-family: "Cormorant", serif;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .flow__head h3 {
    font-size: 100px;
  }
}

.flow__head p {
  color: #263C66;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  margin-top: -20px;
}
@media screen and (min-width: 768px) {
  .flow__head p {
    font-size: 24px;
    margin-top: -30px;
  }
}

.flow__menu__title {
  color: #444444;
  font-size: 22px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .flow__menu__title {
    font-size: 30px;
  }
}

.flow__menu__title::before {
  content: "";
  width: 60px;
  height: 1px;
  background-color: #444444;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .flow__menu__title::before {
    width: 80px;
    height: 1px;
    left: 20%;
    bottom: 0;
  }
}
@media screen and (min-width: 1440px) {
  .flow__menu__title::before {
    left: 30%;
  }
}

.flow__menu__title::after {
  content: "";
  width: 60px;
  height: 1px;
  background-color: #444444;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .flow__menu__title::after {
    width: 80px;
    height: 1px;
    right: 20%;
    bottom: 0;
  }
}
@media screen and (min-width: 1440px) {
  .flow__menu__title::after {
    right: 30%;
  }
}

.flow__menu__sub {
  color: #263C66;
  font-size: 20px;
  font-family: "Cormorant", serif;
  font-weight: 400;
  text-align: center;
  text-transform: lowercase;
  margin-top: -10px;
}
@media screen and (min-width: 768px) {
  .flow__menu__sub {
    font-size: 26px;
  }
}

.flow__menu__sub::first-letter {
  text-transform: uppercase;
}

.flow__list {
  display: flex;
  flex-direction: column;
  padding-inline-start: initial;
  position: relative;
}
@media screen and (min-width: 768px) {
  .flow__list {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 70px;
    z-index: 1;
  }
}

@media screen and (min-width: 768px) {
  .flow__list::before {
    content: "";
    position: absolute;
    top: 35%;
    transform: translateY(-65%);
    left: 0;
    width: 100%;
    height: 40px;
    background-color: #E3DDCD;
    z-index: -1;
  }
}
@media screen and (min-width: 1024px) {
  .flow__list::before {
    top: 40%;
    transform: translateY(-60%);
  }
}

.flow__item {
  display: flex;
  column-gap: 24px;
  width: 100%;
  padding-bottom: 45px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .flow__item {
    display: block;
    width: 18%;
    text-align: center;
  }
}

.flow__item:nth-last-of-type(1) .flow__icon::after {
  height: 100%;
  bottom: -75px;
}

.flow__item:nth-last-of-type(1) .flow__icon::before {
  display: none;
}

.flow__item:nth-of-type(4) .flow__content {
  padding-bottom: 50px;
}
@media (min-width: 500px) {
  .flow__item:nth-of-type(4) .flow__content {
    padding-bottom: initial;
  }
}

.flow__icon {
  width: 80px;
  height: 80px;
  object-fit: cover;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .flow__icon {
    width: 100px;
    height: 100px;
  }
}
@media screen and (min-width: 1024px) {
  .flow__icon {
    width: 115px;
    height: 115px;
  }
}

.flow__icon::after {
  content: "";
  position: absolute;
  bottom: -100px;
  left: 50%;
  transform: translateX(-50%);
  width: 25px;
  height: 140%;
  background-color: #E3DDCD;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .flow__icon::after {
    display: none;
  }
}

.flow__icon::before {
  content: "";
  position: absolute;
  bottom: -50px;
  /* 丸アイコンの下あたり。微調整OK */
  left: 50%;
  transform: translateX(-50%);
  background-image: url("/wp-content/themes/kashinoki_clinic/common/img/top/flow-arrow.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 13px;
  height: 17px;
  z-index: 2;
}
@media (min-width: 500px) {
  .flow__icon::before {
    bottom: -30px;
  }
}
@media (min-width: 600px) {
  .flow__icon::before {
    bottom: -30px;
  }
}
@media (min-width: 700px) {
  .flow__icon::before {
    bottom: -30px;
  }
}
@media screen and (min-width: 768px) {
  .flow__icon::before {
    transform: rotate(-90deg);
    left: 120%;
    bottom: 40px;
  }
}
@media (min-width: 900px) {
  .flow__icon::before {
    left: 125%;
    bottom: 50px;
  }
}
@media screen and (min-width: 1024px) {
  .flow__icon::before {
    left: 130%;
    bottom: 40px;
  }
}
@media (min-width: 1100px) {
  .flow__icon::before {
    left: 140%;
    bottom: 50px;
  }
}
@media screen and (min-width: 1440px) {
  .flow__icon::before {
    left: 150%;
    bottom: 50px;
  }
}
@media (min-width: 1500px) {
  .flow__icon::before {
    left: 170%;
    bottom: 40px;
  }
}
@media (min-width: 1900px) {
  .flow__icon::before {
    left: 200%;
    bottom: 40px;
  }
}

.flow__icon img {
  width: 100%;
  height: 100%;
  display: block;
}

.flow__content {
  max-width: 234px;
}
@media (min-width: 500px) {
  .flow__content {
    max-width: 359px;
  }
}
@media (min-width: 600px) {
  .flow__content {
    max-width: 459px;
  }
}
@media (min-width: 700px) {
  .flow__content {
    max-width: 559px;
  }
}
@media screen and (min-width: 768px) {
  .flow__content {
    max-width: 608px;
  }
}

.flow__content h4 {
  color: #B16C5E;
  font-size: 22px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}

.flow__content h4 span {
  color: #B16C5E;
  font-size: 22px;
  font-family: "Cormorant", serif;
  font-weight: 400;
  padding-right: 10px;
}

.flow__content p {
  color: #444444;
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.5;
}

.flow__step-wrap {
  display: none;
}
@media screen and (min-width: 768px) {
  .flow__step-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

@media screen and (min-width: 768px) {
  .flow__number {
    color: #B16C5E;
    font-size: 18px;
    font-family: "Cormorant", serif;
    font-weight: 400;
    margin-bottom: 8px;
  }
}
@media screen and (min-width: 1440px) {
  .flow__number {
    font-size: 28px;
  }
}
@media screen and (min-width: 1440px) {
  .flow__number {
    font-size: 30px;
  }
}

@media screen and (min-width: 768px) {
  .flow__step-wrap h4 {
    color: #B16C5E;
    font-size: 18px;
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    margin-top: 12px;
  }
}
@media screen and (min-width: 1440px) {
  .flow__step-wrap h4 {
    font-size: 28px;
  }
}
@media screen and (min-width: 1440px) {
  .flow__step-wrap h4 {
    font-size: 30px;
  }
}

.flow__text {
  display: none;
}
@media screen and (min-width: 768px) {
  .flow__text {
    display: block;
    color: #444444;
    font-size: 14px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    line-height: 1.5;
    margin: 0 auto;
    margin-top: 20px;
    max-width: 200px;
  }
}
@media screen and (min-width: 1440px) {
  .flow__text {
    font-size: 16px;
  }
}

.infection {
  background-color: white;
  padding-top: 20px;
}
.infection-wrapper {
  background-color: #B7BFCD;
  border-radius: 10px;
  max-width: 355px;
  margin: 0 auto;
  padding: 30px 0;
}
@media (min-width: 500px) {
  .infection-wrapper {
    max-width: 480px;
  }
}
@media (min-width: 600px) {
  .infection-wrapper {
    max-width: 580px;
  }
}
@media (min-width: 700px) {
  .infection-wrapper {
    max-width: 680px;
  }
}
@media screen and (min-width: 768px) {
  .infection-wrapper {
    padding: 60px 0;
    max-width: 745px;
  }
}
@media screen and (min-width: 1024px) {
  .infection-wrapper {
    max-width: 854px;
  }
}
@media screen and (min-width: 1440px) {
  .infection-wrapper {
    max-width: 1274px;
  }
}

.infection-wrapper h3 {
  color: #263C66;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .infection-wrapper h3 {
    font-size: 24px;
  }
}

.infection-wrapper p {
  color: #444444;
  font-size: 14px;
  font-family: "Cormorant", serif;
  font-weight: 500;
  margin: 0 auto;
  margin-top: 10px;
  margin-bottom: 15px;
  max-width: 286px;
}
@media (min-width: 500px) {
  .infection-wrapper p {
    max-width: 411px;
  }
}
@media (min-width: 600px) {
  .infection-wrapper p {
    max-width: 511px;
  }
}
@media (min-width: 700px) {
  .infection-wrapper p {
    max-width: 611px;
  }
}
@media screen and (min-width: 768px) {
  .infection-wrapper p {
    font-size: 16px;
    text-align: center;
    margin-top: 20px;
    max-width: 676px;
  }
}
@media screen and (min-width: 1024px) {
  .infection-wrapper p {
    max-width: initial;
  }
}

.greeting {
  background-color: white;
  padding-top: 110px;
  padding-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .greeting {
    padding-top: 80px;
    padding-bottom: 100px;
  }
}

.greeting-cards {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .greeting-cards {
    align-items: stretch;
    column-gap: 5%;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    margin: initial;
    margin-left: auto;
    max-width: 700px;
  }
}
@media screen and (min-width: 1024px) {
  .greeting-cards {
    max-width: 980px;
  }
}
@media screen and (min-width: 1440px) {
  .greeting-cards {
    align-items: center;
    column-gap: 10%;
    max-width: 1280px;
  }
}
@media (min-width: 1600px) {
  .greeting-cards {
    max-width: 1440px;
  }
}
@media (min-width: 1900px) {
  .greeting-cards {
    max-width: 1740px;
  }
}

.greeting-cards li {
  max-width: 335px;
}
@media (min-width: 500px) {
  .greeting-cards li {
    max-width: 460px;
  }
}
@media (min-width: 600px) {
  .greeting-cards li {
    max-width: 560px;
  }
}
@media (min-width: 700px) {
  .greeting-cards li {
    max-width: 660px;
  }
}
@media screen and (min-width: 768px) {
  .greeting-cards li {
    max-width: initial;
  }
}

.greeting-cards__img {
  margin-left: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .greeting-cards__img {
    width: 120%;
    height: 100%;
    margin-top: 30px;
  }
}
@media screen and (min-width: 1024px) {
  .greeting-cards__img {
    width: 100%;
    height: 100%;
    margin-top: 30px;
  }
}
@media screen and (min-width: 1440px) {
  .greeting-cards__img {
    width: 55%;
  }
}

@media screen and (min-width: 768px) {
  .greeting-cards__img-img {
    height: 100%;
  }
}

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

.greeting-cards__img-name {
  position: absolute;
  background-color: #263C66;
  color: white;
  display: inline-block;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  padding: 5px 10px;
  bottom: 0;
  left: 0;
  text-align: center;
}

.greeting-cards__img-name span {
  font-size: 13px;
}

.greeting-cards__text {
  margin: 0 auto;
  margin-top: 40px;
}

.greeting-cards__text h3 {
  color: #B7BFCD;
  font-size: 80px;
  font-family: "Cormorant", serif;
  font-weight: 400;
  text-transform: capitalize;
}
@media screen and (min-width: 1440px) {
  .greeting-cards__text h3 {
    font-size: 100px;
    white-space: nowrap;
  }
}

.greeting-cards__text-sub {
  color: #263C66;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  margin-top: -30px;
}
@media screen and (min-width: 1440px) {
  .greeting-cards__text-sub {
    font-size: 24px;
    margin-top: -50px;
  }
}

.greeting-cards__text h4 {
  color: #263C66;
  font-size: 22px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .greeting-cards__text h4 {
    font-size: 22px;
    margin-top: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .greeting-cards__text h4 {
    font-size: 24px;
  }
}

.greeting-cards__text-text {
  margin-top: 25px;
}

.greeting-cards__text-text p {
  color: #444444;
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .greeting-cards__text-text p {
    margin-bottom: 20px;
  }
}

.greeting-cards__text-button {
  background-color: #B16C5E;
  border-radius: 50px;
  padding: 10px 30px;
  color: white;
  font-size: 16px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .greeting-cards__text-button {
    font-size: 20px;
    padding: 20px 50px;
    margin-top: 20px;
    white-space: nowrap;
  }
}

.greeting-cards__text-button::after {
  content: "▶";
  margin-left: 8px;
}

.greeting-cards__text-button:hover {
  background-color: #D1B66C;
}

.greeting-cards__text-button:hover::after {
  margin-left: 10px;
}

.greeting-cards__text-button span {
  height: 28px;
  margin-left: 5px;
}

.address {
  background-color: #263C66;
  padding-top: 40px;
  padding-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .address {
    padding-top: 60px;
  }
}

.address-wrapper h3 {
  color: #B7BFCD;
  font-size: 80px;
  font-family: "Cormorant", serif;
  font-weight: 400;
  text-align: center;
  text-transform: lowercase;
}
@media screen and (min-width: 768px) {
  .address-wrapper h3 {
    font-size: 100px;
    text-align: center;
    margin-left: 29%;
  }
}
@media screen and (min-width: 1024px) {
  .address-wrapper h3 {
    margin-left: 39%;
  }
}
@media screen and (min-width: 1440px) {
  .address-wrapper h3 {
    margin-left: 24%;
  }
}
@media (min-width: 1900px) {
  .address-wrapper h3 {
    margin-left: -6%;
  }
}

.address-wrapper h3::first-letter {
  text-transform: uppercase;
}

.mv {
  background-image: url("/wp-content/themes/kashinoki_clinic/common/img/top/mv.png");
  position: relative;
  background-color: rgba(101, 101, 101, 0.3);
  background-size: cover;
  background-position: center;
  height: 40vh;
  overflow: hidden;
  width: 100%;
  z-index: -1;
}
@media (min-width: 600px) {
  .mv {
    height: 35vh;
  }
}
@media screen and (min-width: 768px) {
  .mv {
    height: 50vh;
  }
}

.mv-wrapper {
  align-items: center;
  text-align: center;
  width: 100%;
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

.mv h2 {
  color: rgba(255, 255, 255, 0.8);
  font-family: "Cormorant", serif;
  font-size: 70px;
  font-weight: 400;
  text-align: center;
  text-transform: capitalize;
}
@media screen and (min-width: 768px) {
  .mv h2 {
    font-size: 72px;
  }
}
@media screen and (min-width: 1024px) {
  .mv h2 {
    font-size: 100px;
  }
}
@media screen and (min-width: 1440px) {
  .mv h2 {
    font-size: 100px;
  }
}

.mv p {
  color: white;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 400;
  text-align: center;
  margin-top: -30px;
}
@media screen and (min-width: 768px) {
  .mv p {
    font-size: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .mv p {
    font-size: 24px;
  }
}
@media screen and (min-width: 1440px) {
  .mv p {
    font-size: 24px;
  }
}

.mv .nav-bottom {
  pointer-events: none;
  position: absolute;
  left: 0;
  bottom: -5%;
  width: 100%;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .mv .nav-bottom {
    bottom: -15%;
  }
}

.mv .nav-bottom path {
  fill: #263C66;
  /* 紺色の背景色 */
}

/* 白カーブ（写真との境界） */
.mv .nav-top {
  pointer-events: none;
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 1;
  bottom: 0%;
}
@media screen and (min-width: 1024px) {
  .mv .nav-top {
    bottom: -5%;
  }
}

.mv .nav-top path {
  fill: white;
}

.aboutus {
  background-color: white;
  padding-top: 70px;
}
@media screen and (min-width: 768px) {
  .aboutus {
    padding-top: 90px;
  }
}

.aboutus-wrapper {
  margin: 0 auto;
  max-width: 347px;
}
@media (min-width: 500px) {
  .aboutus-wrapper {
    max-width: 472px;
  }
}
@media (min-width: 600px) {
  .aboutus-wrapper {
    max-width: 572px;
  }
}
@media (min-width: 700px) {
  .aboutus-wrapper {
    max-width: 672px;
  }
}
@media screen and (min-width: 768px) {
  .aboutus-wrapper {
    max-width: initial;
  }
}
@media (min-width: 1500px) {
  .aboutus-wrapper {
    max-width: 1472px;
  }
}

@media screen and (min-width: 768px) {
  .aboutus-wrapper__title {
    color: #444444;
    font-size: 30px;
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    text-align: center;
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .aboutus-wrapper__title::before {
    content: "";
    width: 80px;
    height: 1px;
    background-color: #444444;
    position: absolute;
    left: 20%;
    bottom: 0;
  }
}
@media screen and (min-width: 1440px) {
  .aboutus-wrapper__title::before {
    left: 30%;
  }
}

@media screen and (min-width: 768px) {
  .aboutus-wrapper__title::after {
    content: "";
    width: 80px;
    height: 1px;
    background-color: #444444;
    position: absolute;
    right: 20%;
    bottom: 0;
  }
}
@media screen and (min-width: 1440px) {
  .aboutus-wrapper__title::after {
    right: 30%;
  }
}

@media screen and (min-width: 768px) {
  .aboutus-wrapper__sub {
    color: #263C66;
    font-size: 26px;
    font-family: "Cormorant", serif;
    font-weight: 400;
    text-align: center;
    text-transform: lowercase;
    margin-top: -10px;
  }
}

@media screen and (min-width: 768px) {
  .aboutus-wrapper__sub::first-letter {
    text-transform: uppercase;
  }
}

.hope {
  background-color: white;
  padding-top: 0px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .hope {
    padding-top: 50px;
  }
}
@media screen and (min-width: 1024px) {
  .hope {
    padding-top: 100px;
  }
}
@media screen and (min-width: 1440px) {
  .hope {
    padding-top: 200px;
  }
}

@media screen and (min-width: 768px) {
  .hope-cards {
    max-width: initial;
    display: flex;
    flex-direction: row;
    column-gap: 30px;
    align-items: center;
  }
}

.hope-cards__img-img {
  width: 335px;
}
@media (min-width: 500px) {
  .hope-cards__img-img {
    width: 460px;
  }
}
@media (min-width: 600px) {
  .hope-cards__img-img {
    width: 560px;
  }
}
@media (min-width: 700px) {
  .hope-cards__img-img {
    width: 660px;
  }
}
@media screen and (min-width: 1440px) {
  .hope-cards__img-img {
    width: 556px;
  }
}
@media (min-width: 1600px) {
  .hope-cards__img-img {
    width: 580px;
  }
}
@media (min-width: 1800px) {
  .hope-cards__img-img {
    width: 610px;
  }
}

.hope-cards__img-img img {
  width: 100%;
  height: 100%;
  display: block;
}

.hope-cards__text {
  margin: 0 auto;
  margin-top: 50px;
  max-width: 356px;
}
@media (min-width: 500px) {
  .hope-cards__text {
    max-width: 481px;
  }
}
@media (min-width: 600px) {
  .hope-cards__text {
    max-width: 581px;
  }
}
@media (min-width: 700px) {
  .hope-cards__text {
    max-width: 681px;
  }
}
@media screen and (min-width: 768px) {
  .hope-cards__text {
    max-width: initial;
    margin-top: 60px;
  }
}

.hope-cards__text h4 {
  color: #263C66;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  position: relative;
  padding-left: 10px;
}
@media (min-width: 500px) {
  .hope-cards__text h4 {
    padding-left: 25px;
  }
}
@media screen and (min-width: 768px) {
  .hope-cards__text h4 {
    padding-left: initial;
    font-size: 26px;
  }
}

.hope-cards__text h4::after {
  content: "";
  width: 72px;
  height: 1px;
  background-color: #B7BFCD;
  position: absolute;
  left: 10px;
  bottom: -10px;
}
@media (min-width: 500px) {
  .hope-cards__text h4::after {
    left: 25px;
  }
}
@media screen and (min-width: 768px) {
  .hope-cards__text h4::after {
    left: 0;
  }
}

.hope-cards__text-text {
  margin: 0 auto;
  margin-top: 40px;
  max-width: 335px;
}
@media (min-width: 500px) {
  .hope-cards__text-text {
    max-width: 430px;
  }
}
@media (min-width: 600px) {
  .hope-cards__text-text {
    max-width: 530px;
  }
}
@media (min-width: 700px) {
  .hope-cards__text-text {
    max-width: 630px;
  }
}
@media screen and (min-width: 768px) {
  .hope-cards__text-text {
    max-width: initial;
    margin-top: 60px;
  }
}

.hope-cards__text-text p {
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  margin-bottom: 20px;
}

.topgreeting {
  background-color: white;
  padding-top: 110px;
}
@media screen and (min-width: 768px) {
  .topgreeting {
    padding-top: 200px;
  }
}

.topgreeting-wrapper {
  margin-left: auto;
  max-width: 355px;
}
@media (min-width: 500px) {
  .topgreeting-wrapper {
    max-width: 480px;
  }
}
@media (min-width: 600px) {
  .topgreeting-wrapper {
    max-width: 580px;
  }
}
@media (min-width: 700px) {
  .topgreeting-wrapper {
    max-width: 680px;
  }
}
@media screen and (min-width: 768px) {
  .topgreeting-wrapper {
    margin-left: initial;
    max-width: initial;
  }
}
@media (min-width: 1500px) {
  .topgreeting-wrapper {
    margin-left: auto;
    max-width: 1480px;
  }
}

.info {
  background-color: white;
  padding-top: 90px;
}
@media screen and (min-width: 768px) {
  .info {
    padding-top: 250px;
  }
}

.info-wrapper h3 {
  color: #444444;
  font-size: 22px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .info-wrapper h3 {
    font-size: 30px;
  }
}

.info-wrapper h3::before {
  content: "";
  width: 60px;
  height: 1px;
  background-color: #444444;
  position: absolute;
  left: 7%;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .info-wrapper h3::before {
    left: 35%;
  }
}

.info-wrapper h3::after {
  content: "";
  width: 60px;
  height: 1px;
  background-color: #444444;
  position: absolute;
  right: 7%;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .info-wrapper h3::after {
    right: 35%;
  }
}

.info-wrapper p {
  color: #263C66;
  font-size: 20px;
  font-family: "Cormorant", serif;
  font-weight: 400;
  text-align: center;
  text-transform: lowercase;
  margin-top: -10px;
}
@media screen and (min-width: 768px) {
  .info-wrapper p {
    font-size: 26px;
  }
}

.info-wrapper p::first-letter {
  text-transform: uppercase;
}

.map {
  background-color: white;
  padding-top: 100px;
  padding-bottom: 140px;
}
@media screen and (min-width: 768px) {
  .map {
    padding-top: 200px;
    padding-bottom: 170px;
  }
}

.map-wrapper h3 {
  color: #444444;
  font-size: 22px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .map-wrapper h3 {
    font-size: 30px;
  }
}

.map-wrapper h3::before {
  content: "";
  width: 60px;
  height: 1px;
  background-color: #444444;
  position: absolute;
  left: 7%;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .map-wrapper h3::before {
    left: 35%;
  }
}

.map-wrapper h3::after {
  content: "";
  width: 60px;
  height: 1px;
  background-color: #444444;
  position: absolute;
  right: 7%;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .map-wrapper h3::after {
    right: 35%;
  }
}

.map-wrapper p {
  color: #263C66;
  font-size: 20px;
  font-family: "Cormorant", serif;
  font-weight: 400;
  text-align: center;
  text-transform: lowercase;
  margin-top: -10px;
}
@media screen and (min-width: 768px) {
  .map-wrapper p {
    font-size: 26px;
  }
}

.map-wrapper p::first-letter {
  text-transform: uppercase;
}

.menubutton {
  background-color: #263C66;
  margin-top: 80px;
  padding: 40px 0 60px 0;
}
@media screen and (min-width: 768px) {
  .menubutton {
    margin-top: 70px;
    padding: 40px 0 90px 0;
  }
}

.menubutton-wrapper {
  margin: 0 auto;
  max-width: 335px;
}
@media (min-width: 500px) {
  .menubutton-wrapper {
    max-width: 460px;
  }
}
@media (min-width: 600px) {
  .menubutton-wrapper {
    max-width: 560px;
  }
}
@media (min-width: 700px) {
  .menubutton-wrapper {
    max-width: 660px;
  }
}
@media screen and (min-width: 768px) {
  .menubutton-wrapper {
    max-width: 750px;
    margin-top: 10px;
  }
}
@media screen and (min-width: 1024px) {
  .menubutton-wrapper {
    max-width: 1000px;
  }
}
@media screen and (min-width: 1440px) {
  .menubutton-wrapper {
    max-width: 1380px;
  }
}

.menubutton-wrapper h3 {
  color: #B7BFCD;
  font-family: "Cormorant", serif;
  font-size: 70px;
  font-weight: 400;
  text-align: center;
  text-transform: capitalize;
}
@media screen and (min-width: 768px) {
  .menubutton-wrapper h3 {
    font-size: 100px;
  }
}

.menubutton-wrapper__sub {
  color: white;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  text-align: center;
  font-weight: 400;
  margin-top: -30px;
}
@media screen and (min-width: 768px) {
  .menubutton-wrapper__sub {
    font-size: 24px;
  }
}

.treatmentleft {
  background-color: white;
  padding-top: 50px;
}
@media screen and (min-width: 768px) {
  .treatmentleft {
    padding-top: 100px;
  }
}

.treatmentleft-wrapper {
  text-align: center;
}

.treatmentleft-wrapper h3 {
  color: #444444;
  font-size: 22px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .treatmentleft-wrapper h3 {
    font-size: 30px;
  }
}

.treatmentleft-wrapper h3::before {
  content: "";
  width: 60px;
  height: 1px;
  background-color: #444444;
  position: absolute;
  left: 5%;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .treatmentleft-wrapper h3::before {
    left: 15%;
    width: 80px;
  }
}
@media screen and (min-width: 1440px) {
  .treatmentleft-wrapper h3::before {
    left: 30%;
  }
}

.treatmentleft-wrapper h3::after {
  content: "";
  width: 60px;
  height: 1px;
  background-color: #444444;
  position: absolute;
  right: 5%;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .treatmentleft-wrapper h3::after {
    right: 15%;
    width: 80px;
  }
}
@media screen and (min-width: 1440px) {
  .treatmentleft-wrapper h3::after {
    right: 30%;
  }
}

.treatmentleft-wrapper__sub {
  color: #263C66;
  font-size: 20px;
  font-family: "Cormorant", serif;
  font-weight: 400;
  text-align: center;
  text-transform: lowercase;
  margin-top: -10px;
}
@media screen and (min-width: 768px) {
  .treatmentleft-wrapper__sub {
    font-size: 26px;
  }
}

.treatmentleft-wrapper__sub::first-letter {
  text-transform: uppercase;
}

.symptom {
  background-color: white;
  padding-top: 30px;
}
@media screen and (min-width: 768px) {
  .symptom {
    padding-top: 70px;
  }
}

.symptom-wrapper {
  background-color: #B7BFCD;
  border: 2px solid #263C66;
  border-radius: 20px;
  margin: 0 auto;
  max-width: 335px;
  padding: 20px 12.5%;
}
@media (min-width: 500px) {
  .symptom-wrapper {
    max-width: 460px;
    padding: 20px 20%;
  }
}
@media (min-width: 600px) {
  .symptom-wrapper {
    max-width: 560px;
    padding: 20px 25%;
  }
}
@media (min-width: 700px) {
  .symptom-wrapper {
    max-width: 660px;
  }
}
@media screen and (min-width: 768px) {
  .symptom-wrapper {
    max-width: 588px;
    padding: 40px 0;
  }
}
@media screen and (min-width: 1024px) {
  .symptom-wrapper {
    max-width: 844px;
  }
}
@media screen and (min-width: 1440px) {
  .symptom-wrapper {
    max-width: 1260px;
  }
}

.symptom-wrapper h3 {
  color: #263C66;
  font-size: 18px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .symptom-wrapper h3 {
    font-size: 22px;
  }
}

.symptom-wrapper h3::after {
  content: "";
  width: 84px;
  height: 1px;
  background-color: white;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -10px;
}

.symptom-cards {
  padding-top: 30px;
}
@media screen and (min-width: 768px) {
  .symptom-cards {
    column-gap: 25px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 400px;
    padding-top: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .symptom-cards {
    max-width: 550px;
  }
}
@media screen and (min-width: 1440px) {
  .symptom-cards {
    column-gap: 20px;
    max-width: 760px;
  }
}

.symptom-cards li {
  color: #444444;
  font-size: 15px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  position: relative;
}
@media screen and (min-width: 768px) {
  .symptom-cards li {
    font-size: 18px;
  }
}

.symptom-cards li {
  margin-top: 10px;
}

.symptom-cards li::before {
  content: "";
  background-image: url("/wp-content/themes/kashinoki_clinic/common/img/menu/check.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 18px;
  height: 18px;
  position: absolute;
  top: 0;
  left: -30px;
}
@media screen and (min-width: 768px) {
  .symptom-cards li::before {
    left: -30px;
  }
}

.symtom-acupuncture {
  padding-top: 30px;
}
@media screen and (min-width: 768px) {
  .symtom-acupuncture {
    column-gap: 50px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 400px;
    padding-top: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .symtom-acupuncture {
    max-width: 550px;
  }
}
@media screen and (min-width: 1440px) {
  .symtom-acupuncture {
    column-gap: 20px;
    max-width: 760px;
  }
}

.symtom-acupuncture li {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .symtom-acupuncture li {
    width: 150px;
  }
}
@media screen and (min-width: 1024px) {
  .symtom-acupuncture li {
    width: 200px;
  }
}
@media screen and (min-width: 1440px) {
  .symtom-acupuncture li {
    width: 190px;
  }
}

.symptom-cards .alarm {
  color: #B16C5E;
  font-size: 14px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .symptom-cards .alarm {
    margin-left: 0;
    width: initial;
  }
}

.symptom-cards .alarm::before {
  background-image: none;
}

.treatment {
  background: white;
  padding: 15px 20px;
}
@media screen and (min-width: 768px) {
  .treatment {
    padding: 100px 0px;
  }
}
@media screen and (min-width: 1024px) {
  .treatment {
    padding: 100px 20px;
  }
}
@media screen and (min-width: 1440px) {
  .treatment {
    padding: 100px 0px;
  }
}

.treatment__inner {
  max-width: 700px;
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .treatment__inner {
    max-width: 950px;
  }
}
@media screen and (min-width: 1440px) {
  .treatment__inner {
    max-width: 1260px;
  }
}
@media (min-width: 1600px) {
  .treatment__inner {
    max-width: 1420px;
  }
}
@media (min-width: 1900px) {
  .treatment__inner {
    max-width: 1720px;
  }
}

.treatment__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5px;
}
@media screen and (min-width: 768px) {
  .treatment__list {
    grid-template-columns: repeat(2, 1fr);
    gap: initial;
    column-gap: 40px;
    row-gap: 0px;
  }
}
@media screen and (min-width: 1024px) {
  .treatment__list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.treatment__item {
  border-radius: 16px;
  padding: 24px 0;
}

.treatment__title {
  color: #263C66;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 400;
  position: relative;
}
@media screen and (min-width: 768px) {
  .treatment__title {
    font-size: 22px;
  }
}

.treatment__title::after {
  content: "";
  width: 70px;
  height: 1px;
  background-color: #E3DDCD;
  position: absolute;
  right: 40%;
  bottom: 50%;
  transform: translateY(-50%);
}

.treatment__subtitle {
  color: #B16C5E;
  font-family: "Noto Serif JP", serif;
  font-size: 15px;
  font-weight: 400;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .treatment__subtitle {
    font-size: 13px;
  }
}
@media screen and (min-width: 1440px) {
  .treatment__subtitle {
    font-size: 16px;
  }
}

.treatment__image {
  margin-top: 30px;
  border-radius: 20px;
  aspect-ratio: 16/9;
  /* ← 写真にかなり近い */
  overflow: hidden;
}

.treatment__image img {
  width: 100%;
  height: 100%;
  display: block;
}

.treatment__text {
  color: #444444;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 30px;
}

.treatment__effect {
  list-style: none;
  padding: 0;
  margin: 0;
  margin-top: 20px;
}

.treatment__effect li {
  color: #263C66;
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .treatment__effect li {
    font-size: 16px;
  }
}
@media screen and (min-width: 1024px) {
  .treatment__effect li {
    font-size: 13px;
  }
}
@media screen and (min-width: 1440px) {
  .treatment__effect li {
    font-size: 16px;
  }
}

.treatment__effect li span {
  background-color: #263C66;
  border-radius: 50%;
  color: white;
  font-family: "Cormorant", serif;
  font-size: 16px;
  padding: 5px 10px;
  margin-right: 10px;
}

.treatment__note {
  color: #263C66;
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  font-weight: 400;
}

.treatment__label {
  margin-top: 20px;
}

.treatment__label li {
  display: flex;
  flex-direction: row;
  margin-bottom: 10px;
}

.treatment__label p {
  color: #444444;
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  font-weight: 400;
}
@media screen and (min-width: 1024px) {
  .treatment__label p {
    font-size: 13px;
  }
}
@media screen and (min-width: 1440px) {
  .treatment__label p {
    font-size: 14px;
  }
}

.treatment__label span {
  background: #D1B66C;
  color: white;
  padding: 3px 10px;
  margin-right: 10px;
}
@media screen and (min-width: 768px) {
  .treatment__label span {
    white-space: nowrap;
  }
}

.treatment__acupuncture {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5px;
}
@media screen and (min-width: 768px) {
  .treatment__acupuncture {
    grid-template-columns: repeat(2, 1fr);
    gap: initial;
    row-gap: 0px;
    column-gap: 40px;
    justify-content: center;
  }
}
@media screen and (min-width: 1024px) {
  .treatment__acupuncture {
    grid-template-columns: repeat(2, minmax(0, 350px));
  }
}
@media screen and (min-width: 1440px) {
  .treatment__acupuncture {
    grid-template-columns: repeat(2, minmax(0, 400px));
    justify-content: center;
  }
}
@media (min-width: 1900px) {
  .treatment__acupuncture {
    grid-template-columns: repeat(2, minmax(0, 550px));
  }
}

.treatment__acupuncture .treatment__item:nth-of-type(2) .treatment__image {
  margin-top: 60px;
}

.treatmentright {
  background-color: white;
  padding-top: 50px;
}
@media screen and (min-width: 768px) {
  .treatmentright {
    padding-top: 100px;
  }
}

.treatmentright-wrapper {
  text-align: center;
}

.treatmentright-wrapper h3 {
  color: #444444;
  font-size: 22px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .treatmentright-wrapper h3 {
    font-size: 30px;
  }
}

.treatmentright-wrapper h3::before {
  content: "";
  width: 60px;
  height: 1px;
  background-color: #444444;
  position: absolute;
  left: 5%;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .treatmentright-wrapper h3::before {
    left: 15%;
    width: 80px;
  }
}
@media screen and (min-width: 1440px) {
  .treatmentright-wrapper h3::before {
    left: 30%;
  }
}

.treatmentright-wrapper h3::after {
  content: "";
  width: 60px;
  height: 1px;
  background-color: #444444;
  position: absolute;
  right: 5%;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .treatmentright-wrapper h3::after {
    right: 15%;
    width: 80px;
  }
}
@media screen and (min-width: 1440px) {
  .treatmentright-wrapper h3::after {
    right: 30%;
  }
}

.treatmentright-wrapper__sub {
  color: #263C66;
  font-size: 20px;
  font-family: "Cormorant", serif;
  font-weight: 400;
  text-align: center;
  text-transform: lowercase;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .treatmentright-wrapper__sub {
    font-size: 26px;
  }
}

.treatmentright-wrapper__sub::first-letter {
  text-transform: uppercase;
}

.chiropractic {
  padding-bottom: 50px;
}
@media screen and (min-width: 768px) {
  .chiropractic {
    padding-bottom: 100px;
  }
}

.u-desktop {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-desktop {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-mobile {
    display: none;
  }
}