@charset "UTF-8";
/* CSS Document */
/* Reset.css */
body {
  -webkit-text-size-adjust: 100%;
}

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  box-sizing: border-box;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  vertical-align: bottom;
}

@media (max-width: 767px) {
  .sp-none {
    display: none;
  }
  .sptab-none {
    display: none;
  }
}
@media (min-width: 1025px) {
  .pc-none {
    display: none;
  }
  .tabpc-none {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sptab-none {
    display: none;
  }
  .tabpc-none {
    display: none;
  }
}
img {
  max-width: 100%;
  height: auto;
}

a {
  color: #c30;
}
a:hover {
  text-decoration: none;
  color: orange;
}
a:hover img {
  opacity: 0.7;
  transition: all 0.4s;
}

html, body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.6;
  font-size: clamp(1rem, 0.951rem + 0.22vw, 1.125rem);
}

.heroimage {
  width: 100%;
  height: 100lvh;
  height: 100svh;
  height: calc(var(--vh, 1vh) * 100);
  background: url("../img/bk-main2.jpg") no-repeat 30% 0;
  background-size: cover;
  position: relative;
  margin-bottom: 80px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.heroimage-clinfo {
  width: 80vw;
  position: relative;
  color: #fff;
  top: 3em;
  padding-block: 1.5em;
  text-align: center;
  background: rgba(0, 0, 0, 0.6);
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .heroimage-clinfo {
    width: 64vw;
  }
}
@media (min-width: 1025px) {
  .heroimage-clinfo {
    width: 46vw;
  }
}

.site-id {
  text-align: center;
}
@media (max-width: 767px) {
  .site-id img {
    width: 280px;
  }
}

.open {
  width: 80vw;
  position: relative;
  color: #fff;
  top: 1em;
  padding-block: 1.5em;
  text-align: center;
  background: rgba(0, 0, 0, 0.6);
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .open {
    width: 60vw;
  }
}
@media (min-width: 1025px) {
  .open {
    width: 40vw;
  }
}

.open-day {
  font-size: clamp(1.5rem, 1.159rem + 1.7vw, 2.25rem);
}

.open-main {
  font-weight: 600;
  border-bottom: 8px solid #c30;
  font-size: clamp(2.625rem, 2.284rem + 1.7vw, 3.375rem);
}

.heroimage-text {
  position: absolute;
  top: 44vh;
  color: #fff;
}
@media (min-width: 1025px) {
  .heroimage-text {
    top: 55vh;
  }
}

.catch {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(1.5rem, 1.159rem + 1.7vw, 2.25rem);
  margin-bottom: 1em;
  text-shadow: 3px 3px 10px rgba(255, 255, 255, 0.9);
}
@media (min-width: 1025px) {
  .catch {
    margin-left: 0.5em;
  }
}

.text-clinfo {
  margin: 0 auto;
  position: relative;
  color: #4f2d02;
  padding: 0.3em;
  z-index: 1;
  text-align: center;
}
@media (min-width: 1025px) {
  .text-clinfo {
    width: 880px;
  }
}
.text-clinfo::before {
  transform: skewX(-10deg);
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background: #e0b886;
  box-shadow: 5px 4px 15px -3px #311b04;
}

@media (min-width: 768px) {
  .heroimage {
    width: 100%;
    height: 100vh;
    background: url("../img/bk-main2_pc.jpg") no-repeat center left;
    background-size: cover;
  }
}
/* スクロールダウンのスタイル */
.scrolldown {
  border: 1px solid #fff;
  border-radius: 50%;
  display: inline-block;
  height: 50px;
  position: absolute;
  width: 50px;
  bottom: 15vh;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.6em;
  color: #fff;
  text-decoration: none;
  text-align: center;
  padding-top: 0.7em;
}
@media (min-width: 1025px) {
  .scrolldown {
    bottom: 5vh;
  }
}
.scrolldown:hover {
  color: #fff;
}
.scrolldown span {
  border-bottom: 1px solid #fff;
  border-left: 1px solid #fff;
  height: 10px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 48%;
  transform: rotate(-45deg);
  width: 10px;
}
.scrolldown::before {
  -webkit-animation: scroll 2s infinite;
          animation: scroll 2s infinite;
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);
  content: "";
  height: 50px;
  left: 0;
  margin: auto;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 50px;
  display: block;
}

@-webkit-keyframes scroll {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  60% {
    box-shadow: 0 0 0 20px rgba(255, 255, 255, 0.4);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

@keyframes scroll {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  60% {
    box-shadow: 0 0 0 20px rgba(255, 255, 255, 0.4);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.concept {
  width: 100%;
  margin-top: 5em;
  margin-bottom: 100px;
  position: relative;
}
.concept h2 {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(2rem, 1.797rem + 0.9vw, 2.375rem);
  margin-bottom: 2em;
}
.concept div {
  width: 85%;
  padding: 1.5em;
}
@media (max-width: 767px) {
  .concept {
    padding-top: 20em;
    padding-bottom: 0;
    margin-bottom: 150px;
    background: url("../img/img-surgery.jpg") no-repeat 120% 0%;
  }
  .concept div {
    background: rgba(255, 255, 255, 0.8);
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .concept {
    padding-top: 3em;
    padding-bottom: 8em;
    background: url("../img/img-surgery.jpg") no-repeat 120% bottom;
  }
  .concept div {
    width: 75%;
    padding-bottom: 2em;
    background: rgba(255, 255, 255, 0.8);
  }
}
@media (min-width: 1025px) {
  .concept {
    width: 90%;
    max-width: 1280px;
    margin: 100px 0px 150px auto;
    padding-bottom: 8em;
    background: url("../img/img-surgery.jpg") no-repeat bottom right;
  }
  .concept h2 {
    font-size: clamp(2rem, 1.797rem + 0.9vw, 2.375rem);
    margin-bottom: 5em;
  }
}

.bk-area {
  position: relative;
  width: 100%;
}
.bk-area::after {
  content: "";
  width: 100%;
  height: 50%;
  display: block;
  background: #f9f3eb;
  position: absolute;
  bottom: -50px;
  z-index: -1;
}

.l-base {
  width: 100%;
  margin-bottom: 100px;
}
@media (min-width: 1025px) {
  .l-base {
    width: 90%;
    max-width: 1080px;
    margin: 0 auto 100px;
  }
}

.area-inner {
  width: 90%;
  max-width: 1280px;
  margin: 0 auto;
}

.lev2-tit {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(1.75rem, 1.554rem + 0.87vw, 2.25rem);
  margin-bottom: 2em;
  position: relative;
}
.lev2-tit::after {
  content: "";
  display: block;
  width: 1.5em;
  height: 3px;
  margin: 0.3em auto 0;
  background: #e0b886;
}

.lev2-titrv {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(1.75rem, 1.554rem + 0.87vw, 2.25rem);
  margin-bottom: 1.5em;
  position: relative;
}
.lev2-titrv::after {
  content: "";
  display: block;
  width: 1.5em;
  height: 3px;
  margin: 0.3em auto 0;
  background: #fff;
}

.yoyaku-area {
  color: #fff;
  text-align: center;
  padding-block: 80px;
  background: url("../img/bk-yoyaku.jpg") no-repeat center center;
  background-size: cover;
}

.bk-color {
  background: #f9f3eb;
  width: 100%;
  padding: 80px 0 100px;
}

.news-area {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.news-area dd {
  border-bottom: 1px #ccc solid;
}
@media (max-width: 767px) {
  .news-area dt {
    margin-bottom: 0.3em;
    padding: 1em 0.5em 0 0.5em;
  }
  .news-area dd {
    width: 100%;
    padding: 0 0.5em 1em;
  }
}
@media (min-width: 768px) {
  .news-area dt {
    width: 8em;
    text-align: center;
    padding-block: 1.3em;
    border-bottom: 1px #ccc solid;
  }
  .news-area dd {
    width: calc(100% - 8em);
    padding-block: 1.3em;
  }
}

.docter-infoarea {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.docter-infoarea__img {
  width: 80%;
  margin: 0 auto 1.5em;
  text-align: center;
}
.docter-infoarea__cont {
  width: 90%;
  margin: 0 auto;
}
@media (min-width: 1025px) {
  .docter-infoarea {
    justify-content: space-between;
  }
  .docter-infoarea__img {
    width: 30%;
  }
  .docter-infoarea__cont {
    width: 60%;
  }
}

.dr-name {
  text-align: center;
  letter-spacing: 0.1em;
  font-size: clamp(1.25rem, 1.005rem + 1.09vw, 1.875rem);
  margin-bottom: 1.8em;
}
.dr-name span {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(1rem, 0.902rem + 0.43vw, 1.25rem);
  letter-spacing: 0;
  margin-left: 1em;
}
@media (min-width: 1025px) {
  .dr-name {
    text-align: left;
  }
}

@media (max-width: 767px) {
  .dr-keireki dd {
    padding-bottom: 0.3em;
    margin-bottom: 0.8em;
    border-bottom: 1px #ccc solid;
  }
}
@media (min-width: 768px) {
  .dr-keireki {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    margin-bottom: 0.5em;
  }
  .dr-keireki dt {
    width: 8em;
    margin-bottom: 0.8em;
  }
  .dr-keireki dd {
    width: calc(100% - 8em);
    margin-bottom: 0.8em;
  }
}

.mark-tit {
  font-weight: 500;
  margin-bottom: 0.8em;
  border-bottom: 1px #e0b886 solid;
}
.mark-tit::before {
  content: "■";
  margin-right: 0.3em;
  color: #e0b886;
}

.acc-area__inner {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto 1.5em;
}

.footer-area {
  width: 100%;
  padding-top: 1em;
}
.footer-area__inner {
  width: 90%;
  max-width: 1280px;
  margin: 1em auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
}

.ftr-siteid {
  width: 250px;
}
@media (max-width: 767px) {
  .ftr-siteid {
    text-align: center;
    margin: 0 auto 2em;
  }
}
@media (min-width: 768px) {
  .ftr-siteid {
    margin-right: 2em;
  }
}

.site-copy {
  font-size: 0.75em;
  text-align: center;
  background: #4f2d02;
  color: #fff;
  padding-block: 0.8em;
}

#retop {
  position: fixed;
  bottom: 10vh;
  right: 1.5em;
}
@media (min-width: 1025px) {
  #retop {
    right: 3em;
  }
}
#retop a {
  width: 2.5em;
  height: 2.5em;
  color: #fff;
  text-align: center;
  display: block;
  font-weight: 700;
  text-decoration: none;
  border-radius: 50%;
  place-content: center;
  background: rgba(224, 184, 13, 0.7);
}
#retop a:hover {
  background: rgb(224, 184, 13);
}

#Kokuchi header {
  display: flex;
  justify-content: space-between;
  padding: 1em;
  align-items: center;
}
#Kokuchi .site-id img {
  width: 220px;
}
#Kokuchi .return-index {
  padding-top: 1em;
  font-size: 0.8em;
}
#Kokuchi .footer-area {
  background: #f9f3eb;
  margin-top: 100px;
}

.page-head {
  width: 100%;
  text-align: center;
  padding-block: 2em;
  margin-bottom: 2em;
  background: url("../img/bk-yoyaku.jpg") no-repeat center center;
}
.page-head h1 {
  color: #fff;
  font-size: 1.2em;
}

.form-area {
  width: 100%;
  margin-block: 2em;
}

.form-grid {
  width: 100%;
  margin-bottom: 2em;
}
.form-grid dt {
  width: 100%;
  background: #f9f3eb;
  padding: 0.5em;
  position: relative;
  border: 1px #807b74 solid;
}
.form-grid dd {
  width: 100%;
  padding: 0.5em;
}
@media (max-width: 1024px) {
  .form-grid {
    border-top: 1px #807b74 solid;
  }
  .form-grid dt {
    padding: 0.5em;
    border-bottom: none;
    border-top: none;
  }
  .form-grid dd {
    border: 1px #807b74 solid;
    border-top: none;
  }
}
@media (min-width: 1025px) {
  .form-grid {
    border-bottom: 1px #807b74 solid;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
  }
  .form-grid dt {
    width: 25%;
    border-right: none;
    border-bottom: none;
  }
  .form-grid dd {
    width: 75%;
    border: 1px #807b74 solid;
    border-bottom: none;
  }
}

.required {
  position: absolute;
  right: 0.5em;
  top: center;
  color: #fff;
  padding-inline: 6px;
  background: #c30;
  font-size: 1rem;
  border-radius: 5px;
}

form input[type=text], form input[type=tel], form input[type=email] {
  width: 95%;
  padding: 0.5em;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
}
form input[type=text]:focus, form input[type=email]:focus {
  background: #f8f7cf;
}
form select {
  padding: 0.5em;
  font-size: 1.125rem;
}
form input[type=checkbox], form input[type=radio] {
  transform: scale(1.6);
  margin-right: 10px;
}
form textarea {
  width: 95%;
  padding: 0.5em;
  font-size: 1.125em;
  letter-spacing: 0.05em;
  height: 100px;
}
form textarea:hover {
  background: #f8f7cf;
  color: #041d1f;
}
form input[type=submit], form input[type=reset] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 80%;
  margin: 0 auto;
  background: #c30;
  border-radius: 8px;
  color: #fff;
  font-size: 1.125em;
  padding-block: 0.8em;
  cursor: pointer;
  border: none;
  transition: all 0.4s;
}
@media (min-width: 1025px) {
  form input[type=submit], form input[type=reset] {
    width: 60%;
  }
}
form input[type=submit]:hover, form input[type=reset]:hover {
  background: #e0b886;
  color: #4f2d02;
}

.short-length {
  width: 20% !important;
}
@media (min-width: 1025px) {
  .short-length {
    width: 100px !important;
  }
}

.hint {
  color: #4f2d02;
  font-size: 0.85em;
}

.caution {
  width: 100%;
  padding-block: 0.5em;
  margin: 0 auto 1.5em;
  text-align: center;
  border: 1px #c30 dashed;
}
.caution span.cyui {
  color: #c30;
  font-size: 0.85em;
}

.wpcf7-spinner {
  display: block;
}

.def-list {
  margin-bottom: 1.5em;
  margin-left: 2em;
}
.def-list li {
  list-style: outside disc;
  line-height: 1.3;
}
.def-list li:not(:last-child) {
  margin-bottom: 0.5em;
}

.btn-base {
  display: inline-block;
  width: 100%;
  height: auto;
  text-align: center;
  text-decoration: none;
  line-height: 1;
  outline: none;
  border-radius: 8px;
  transition: all 0.4s;
  position: relative;
  padding-block: 1.5em;
  color: #fff;
  background: #c30;
  z-index: 2;
}
.btn-base::before, .btn-base::after {
  position: absolute;
  display: block;
  z-index: -1;
  content: "";
}
.btn-base i {
  margin-right: 5px;
}
.btn-base:hover {
  background: #fff;
  color: #c30;
}

.btnw-m {
  width: 90%;
  margin: 3em auto 0;
}
@media (min-width: 1025px) {
  .btnw-m {
    width: 500px;
  }
}

.al-c {
  text-align: center;
}

.al-r {
  text-align: right;
}

.al-l {
  text-align: left;
}

.ud-line {
  text-decoration: underline;
}

.col-Red {
  color: #c30;
}

.mb10 {
  margin-bottom: 0.625em !important;
}

.mb20 {
  margin-bottom: 1.25em !important;
}

.mb30 {
  margin-bottom: 1.875em !important;
}

.fadeIn {
  -webkit-animation-name: fadeInAnime;
          animation-name: fadeInAnime;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeInTrigger {
  opacity: 0;
}
/*# sourceMappingURL=style.css.map */