@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Comfortaa:wght@700&display=swap");
html {
  width: 100%;
  margin: 0;
  padding: 0;
  -ms-overflow-x: hidden;
  overflow-x: hidden;
  font-size: 14px;
  line-height: 1.4rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-feature-settings: "pkna" 1;
  -webkit-font-feature-settings: "pkna" 1;
  -moz-font-feature-settings: "pkna" 1;
}

* {
  box-sizing: border-box;
}

body {
  position: relative;
  margin: 0;
  padding: 0;
  background-color: #fff;
  color: #333;
}

a {
  color: #333;
  text-decoration: underline;
}
a:hover {
  text-decoration: none;
  opacity: 0.7;
}

h1,
h2,
h3,
h4,
h5 {
  font-weight: normal;
  font-weight: 500px;
}

Section h1 {
  border-bottom: 2px solid #005bac;
  border-left: 14px solid #005bac;
  color: #005bac;
  font-weight: normal;
  margin: 0 auto 40px;
}

@media (min-width: 769px) {
  Section h1 {
    padding: 29px 22px;
    font-size: 36px;
    width: 100%;
    max-width: 1100px;
  }
}
@media (max-width: 768px) {
  Section h1 {
    padding: 20px 16px;
    font-size: 32px;
    width: 100%;
  }
}
h2 {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 40px;
  padding: 12px 22px;
  border-left: 14px solid #669ECC;
  background-color: #195CAA;
  color: #fff;
  font-size: 26px;
  line-height: normal;
}

[id^=feature] h2 {
  background: url(/img/titlebg.png) no-repeat;
  height: 120px;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 40px;
  padding: 0;
  border-left: inherit;
  background-color: #195CAA;
  color: #005bac;
  font-size: 64px;
  line-height: normal;
  display: flex;
  align-items: center;
  overflow: hidden;
}
[id^=feature] h2 span {
  font-size: 24px;
  margin-left: 7%;
}

@media (max-width: 768px) {
  [id^=feature] h2 {
    font-size: 50px;
    background-color: inherit;
    margin: 0 auto 20px;
  }
}
h3 {
  font-size: 26px;
}

h4 {
  font-size: 22px;
}

img {
  display: block;
  vertical-align: bottom;
  width: 100%;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.link-pdf::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 5px;
  background-image: url(/img/icon_pdf.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.link-outside::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 5px;
  background-image: url(/img/icon_link_outside.png);
  background-size: contain;
  background-repeat: no-repeat;
}

@media (max-width: 1300px) {
  h2 {
    max-width: 84.615vw;
    margin: 0 auto 3.077vw;
    padding: 0.923vw 1.7vw;
    border-left: 1.077vw solid #669ECC;
    font-size: 2vw;
  }
  h3 {
    font-size: 2vw;
  }
  h4 {
    font-size: 1.6vw;
  }
}
@media (max-width: 768px) {
  body {
    padding-top: 17.34vw;
  }
  h1,
  h2 {
    max-width: 90.67vw;
    margin-bottom: 6.67vw;
    padding: 3.34vw 0 3.74vw 3.34vw;
    font-size: 5.6vw;
    border-left: 1.87vw solid #669ECC;
  }
  h3 {
    font-size: 4.8vw;
  }
  h4 {
    font-size: 4vw;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
#header {
  display: flex;
  justify-content: space-between;
  padding: 0;
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
}
#header .logo {
  padding: 1rem 0 1rem 3.5rem;
}
#header .logo a {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-decoration: none;
}
#header .logo span {
  display: block;
  padding-bottom: 5px;
  width: 200px;
  color: #195CAA;
  font-weight: 700;
  text-align: center;
}
#header .logo img {
  width: 100%;
  max-width: 320px;
}
#header .access {
  display: flex;
  align-items: center;
}
#header .access .metro {
  display: flex;
  flex-direction: column;
  padding: 1rem;
  border-left: 1px solid #ccc;
}
#header .access .metro .upper {
  display: flex;
  align-items: center;
  margin-bottom: 0.35rem;
}
#header .access .metro .upper img {
  width: 25px;
}
#header .access .metro .upper span {
  font-size: 1.02em;
  font-weight: 700;
  padding-left: 0.5em;
}
#header .access .metro .lower {
  display: flex;
  padding-left: 0.1rem;
}
#header .access .metro .lower .station div:nth-child(1) {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 2px;
}
#header .access .metro .lower .station div:nth-child(2) {
  font-size: 15px;
  font-weight: 400;
}
#header .access .metro .lower .walk {
  display: flex;
  align-items: center;
}
#header .access .metro .lower .walk div:nth-child(1) {
  font-size: 0.9rem;
  line-height: 1.3em;
  font-weight: 700;
  padding: 0 0.3rem 0 0.5rem;
}
#header .access .metro .lower .walk div:nth-child(2) {
  font-size: 40px;
  font-weight: 700;
  transform: scale(1, 1.1);
  -webkit-transform: scale(1, 1.1);
  -moz-transform: scale(1, 1.1);
  -ms-transform: scale(1, 1.1);
  -o-transform: scale(1, 1.1);
}
#header .access .metro .lower .walk div:nth-child(2) span {
  font-size: 0.6em;
}
#header .access .telContainer {
  display: flex;
  flex-flow: column;
  border-left: 1px solid #ccc;
}
#header .access .tel {
  padding: 0.3rem 2rem 0.5rem;
  display: flex;
  align-items: center;
  color: #195CAA;
  font-weight: 500;
  flex-wrap: wrap;
}
#header .access .tel img {
  width: 28px;
}
#header .access .tel .telno {
  display: block;
  padding-bottom: 0.13em;
  font-size: 32px;
  line-height: 1em;
  transform: scale(1, 1.1);
  -webkit-transform: scale(1, 1.1);
  -moz-transform: scale(1, 1.1);
  -ms-transform: scale(1, 1.1);
  -o-transform: scale(1, 1.1);
}
#header .access .links {
  display: flex;
  justify-content: space-between;
  padding: 0 2rem;
}
#header .access .links a img {
  margin: auto;
  max-width: 135px;
  width: 11.38vw;
}
#header .access .tel-sp,
#header .access .sp-menu-btn {
  display: none;
}
#header .access .btn {
  padding-right: 3.5rem;
}
#header .access .btn img {
  max-width: 80px;
}

@media (max-width: 990px) {
  #header .access .tel {
    padding: 0.3rem 2rem 0.1rem;
  }
}
@media (max-width: 1300px) {
  #header .logo {
    padding-left: 3.8vw;
    font-size: 1.07vw;
  }
  #header .logo span {
    padding-bottom: 0.38;
    width: 15.38vw;
    line-height: 1.5vw;
  }
  #header .logo img {
    width: 24.6vw;
  }
  #header .access .metro {
    padding: 0 1.08vw;
  }
  #header .access .metro .upper {
    margin-bottom: 0.4vw;
  }
  #header .access .metro .upper img {
    width: 1.92vw;
  }
  #header .access .metro .upper span {
    font-size: 1.1vw;
    padding-left: 0.53vw;
  }
  #header .access .metro .lower {
    padding-left: 0.1vw;
    line-height: 1.5vw;
  }
  #header .access .metro .lower .station div:nth-child(1) {
    font-size: 1.23vw;
    letter-spacing: 0.15vw;
  }
  #header .access .metro .lower .station div:nth-child(2) {
    font-size: 1.153vw;
  }
  #header .access .metro .lower .walk {
    display: flex;
    align-items: center;
  }
  #header .access .metro .lower .walk div:nth-child(1) {
    font-size: 0.97vw;
    padding: 0 0.32vw 0 0.53vw;
  }
  #header .access .metro .lower .walk div:nth-child(2) {
    font-size: 3.076vw;
  }
  #header .access .metro .lower .walk div:nth-child(2) span {
    font-size: 1.846vw;
  }
  #header .access .tel img {
    width: 2.15vw;
  }
  #header .access .tel .telno {
    padding-bottom: 0.15vw;
    font-size: 2.46vw;
  }
  #header .access .btn {
    padding-right: 3.8vw;
  }
  #header .access .btn img {
    max-width: 6vw;
  }
}
@media (max-width: 768px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    width: 100vw;
    z-index: 50;
  }
  #header {
    box-shadow: 0 1.34vw 1.34vw -1.34vw #666;
  }
  #header .access .metro,
  #header .access .telContainer,
  #header .access .btn {
    display: none;
  }
  #header .logo {
    padding-left: 4.8vw;
    font-size: 2.93vw;
  }
  #header .logo span {
    padding-bottom: 2vw;
    width: auto;
    line-height: 1.5vw;
    text-align: right;
    font-size: 3.2vw;
  }
  #header .logo img {
    width: 53.33vw;
    max-width: none;
  }
  #header .access .tel-sp {
    display: block;
    width: 12vw;
    height: 12vw;
    margin: 0 2.66vw;
    padding: 1.33vw;
    background-color: #F38618;
    border-radius: 1.33vw;
    -webkit-border-radius: 1.33vw;
    -moz-border-radius: 1.33vw;
    -ms-border-radius: 1.33vw;
    -o-border-radius: 1.33vw;
  }
  #header .access .sp-menu-btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 17.33vw;
    height: 100%;
    background-color: #195CAA;
    cursor: pointer;
  }
  #header .access .sp-menu-btn div {
    width: 8vw;
    height: 1.33vw;
    margin: 0.7vw 0;
    background-color: #fff;
  }
}
#internalLink ul {
  padding: 0;
  margin: 0;
  display: flex;
  font-size: 16px;
  align-items: center;
  height: 60px;
  justify-content: center;
  font-weight: bold;
}

.global_menu {
  margin: 0;
  padding: 0;
  height: 60px;
  background: linear-gradient(#195CAA, 90%, #4F85C1);
}
.global_menu ul {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  font-size: 16px;
  font-weight: 500;
  margin: 0;
  padding: 0;
  height: 100%;
}
.global_menu ul a {
  display: block;
  color: #fff;
  text-decoration: none;
  width: 100%;
  height: calc(100% - 1px);
  margin-top: 1px;
  padding: 20px 50px;
}
.global_menu ul li.on a,
.global_menu ul a:hover {
  color: #F38618;
  background-color: #fff;
  opacity: 1;
}
.global_menu .menu_box_2nd {
  position: absolute;
  left: 0;
  right: 0;
  width: 100vw;
  margin: auto;
  opacity: 0;
  z-index: 10;
  transition: all 0.2s;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  visibility: hidden;
  background-color: #fff;
  box-shadow: 0 5px 5px -5px #333;
}
.global_menu .menu_1stlv li:hover .menu_box_2nd {
  display: flex;
  align-items: center;
  list-style: none;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  /* height: 80px; */
  padding: 0;
  visibility: visible;
  opacity: 1;
}
.global_menu .menu_2ndlv li a {
  position: relative;
  display: block;
  height: 100%;
  width: 100%;
  text-decoration: none;
  padding: 30px 0;
  line-height: 1em;
  text-align: center;
  color: #F38618;
  background-color: #fff;
}
.global_menu .menu_2ndlv li a span {
  padding: 5px 20px 5px 30px;
  border-left: 1px solid #ccc;
}
.global_menu .menu_2ndlv li:last-child a span {
  border-right: 1px solid #ccc;
}
.global_menu .menu_2ndlv li a:hover {
  background-color: #FEEECC;
}
.global_menu .menu_2ndlv li a span:before {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #F38618;
  border-right: solid 2px #F38618;
  position: absolute;
  top: 50%;
  left: 15px;
  margin-top: -2px;
  transform: rotate(45deg);
}
.global_menu .menu_1stlv li.on .menu_2ndlv {
  display: none;
}
.global_menu ul .home.on a svg .st0,
.global_menu ul a:hover svg .st0 {
  fill: #F38618;
}
.global_menu ul .home a {
  padding-top: 16px;
  padding-bottom: 16px;
}
.global_menu ul .home svg {
  width: 24px;
}
.global_menu ul .home svg .st0 {
  fill: #fff;
}

@media (max-width: 1300px) {
  .global_menu {
    height: 4.615vw;
  }
  .global_menu ul {
    /* justify-content: flex-start;
    align-items: flex-start; */
    font-size: 1.23vw;
  }
  #internalLink ul {
    /* justify-content: flex-start;
    align-items: flex-start; */
    font-size: 1.23vw;
  }
  .global_menu ul a {
    padding: 1.54vw 3.846vw;
  }
  .global_menu ul .home a {
    padding-top: 1.23vw;
    padding-bottom: 1.23vw;
  }
  .global_menu ul .home svg {
    width: 1.846vw;
  }
  .global_menu .menu_box_2nd {
    top: 4.615vw;
    box-shadow: 0 0.38vw 0.38vw -0.38vw #ccc;
  }
  .global_menu .menu_1stlv li.on .menu_2ndlv {
    display: flex;
  }
  .global_menu .menu_2ndlv {
    justify-content: flex-start;
    align-items: flex-start;
    max-width: 84.615vw;
    margin: 0 auto;
    height: 6.15vw;
    width: 100%;
  }
  .global_menu .menu_2ndlv li a {
    font-size: 1.225vw;
    padding: 2.3vw 0;
  }
  .global_menu .menu_2ndlv li a span {
    padding: 0.38vw 1.54vw 0.38vw 2.3vw;
    white-space: nowrap;
  }
  .global_menu .menu_2ndlv li a span:before {
    width: 0.46vw;
    height: 0.46vw;
    left: 1.15vw;
    margin-top: -0.15vw;
  }
}
@media (max-width: 768px) {
  #internalLink {
    display: none;
  }
  .global_menu {
    display: none;
    width: 100vw;
    height: calc(100vh - 17.34vw);
    padding: 10vw 0;
    background-color: #195CAA;
    z-index: 50;
    overflow-y: scroll;
  }
  .global_menu ul {
    flex-direction: column;
    justify-content: flex-start;
    font-size: 5vw;
    background-color: #195CAA;
    margin-bottom: 5em;
  }
  .global_menu ul li {
    width: 100%;
    border-bottom: 1px solid #fff;
    padding: 0;
    background-color: #195CAA;
  }
  .global_menu ul li.on a {
    color: #fff;
    background-color: #195CAA;
    opacity: 1;
  }
  .global_menu ul a:hover {
    color: #fff;
    background-color: #195CAA;
    opacity: 1;
  }
  .global_menu .menu_1stlv > li:first-child {
    display: none;
  }
  .global_menu ul li a {
    height: auto;
    margin: 0;
    padding: 3vw 10vw;
    width: 100%;
  }
  .global_menu ul a:hover {
    color: #fff;
    background-color: #195CAA;
    opacity: 1;
  }
  .global_menu ul .home svg {
    width: 4vw;
  }
  .global_menu .menu_box_2nd {
    position: relative;
    top: 0;
    width: 100vw;
    margin: auto;
    opacity: 1;
    transition: none;
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    visibility: visible;
    background-color: none;
    box-shadow: none;
    background-color: #195CAA;
  }
  .global_menu .menu_2ndlv {
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
    padding-bottom: 4vw;
  }
  .global_menu .menu_2ndlv li {
    border: none;
    width: 100%;
  }
  .global_menu .menu_2ndlv li a {
    font-size: 4vw;
    padding: 1vw 15vw;
    width: 100%;
    color: #fff;
    background-color: #195CAA;
    text-align: left;
    border: none;
  }
  .global_menu .menu_2ndlv li a:hover {
    background-color: #195CAA;
  }
  .global_menu .menu_2ndlv li a span {
    border: none;
  }
  .global_menu .menu_2ndlv li a span:before {
    content: "";
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 50%;
    left: 13vw;
    margin-top: -2px;
    transform: rotate(45deg);
  }
  .global_menu .menu_2ndlv li:last-child a span {
    border: none;
  }
}
.page_menu {
  margin-bottom: 10px;
  padding: 0;
  border-bottom: 1px solid #195CAA;
  box-shadow: 0 5px 5px -5px #ccc;
}
.page_menu ul {
  display: flex;
  align-items: center;
  list-style: none;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  height: 80px;
  padding: 0;
}
.page_menu ul li:hover {
  background-color: #FEEECC;
}
.page_menu ul li a {
  display: block;
  height: 100%;
  width: 100%;
  font-size: 16px;
  color: #F38618;
  text-decoration: none;
  padding: 30px 0;
  line-height: 1em;
  text-align: center;
}
.page_menu ul li a span {
  position: relative;
  border-left: 1px solid #ccc;
  height: 100%;
  padding: 5px 20px 5px 30px;
}
.page_menu ul li:last-child a span {
  border-right: 1px solid #ccc;
}
.page_menu ul li a span:before {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #F38618;
  border-right: solid 2px #F38618;
  position: absolute;
  top: 50%;
  left: 15px;
  margin-top: -2px;
  transform: rotate(45deg);
}

@media (max-width: 1300px) {
  .page_menu {
    width: 100%;
    box-shadow: 0 0.38vw 0.38vw -0.38vw #ccc;
  }
  .page_menu ul {
    max-width: 84.615vw;
    margin: 0 auto 0.77vw;
    height: 6.15vw;
  }
  .page_menu ul li a {
    font-size: 1.225vw;
    padding: 2.3vw 0;
  }
  .page_menu ul li a span {
    padding: 0.38vw 1.54vw 0.38vw 2.3vw;
  }
  .page_menu ul li a span:before {
    width: 0.46vw;
    height: 0.46vw;
    left: 1.15vw;
    margin-top: -0.15vw;
  }
}
@media (max-width: 768px) {
  .page_menu {
    display: none;
  }
}
.breadcrumbs {
  display: flex;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 10px 0 20px;
}
.breadcrumbs.no-page-menu {
  padding-top: 20px;
}
.breadcrumbs div {
  position: relative;
  display: flex;
  align-items: center;
  margin-right: 10px;
  padding-right: 30px;
  color: #195CAA;
}
.breadcrumbs div a {
  display: block;
  color: #666;
}
.breadcrumbs div:after {
  content: "＞";
  border: 0;
  position: absolute;
  right: 0px;
  color: #333;
}
.breadcrumbs div:last-child {
  padding: 0;
}
.breadcrumbs div:last-child::after {
  content: none;
}

@media (max-width: 1300px) {
  .breadcrumbs {
    max-width: 84.615vw;
    padding: 0.77vw 0 1.54vw;
  }
  .breadcrumbs div {
    margin-right: 0.77vw;
    padding-right: 2.3vw;
  }
}
@media (max-width: 768px) {
  .breadcrumbs {
    padding: 5.34vw 0 5.34vw 4.67vw;
  }
  .breadcrumbs div {
    margin-right: 2em;
    padding-right: 1em;
    font-size: 3vw;
  }
  .breadcrumbs div:after {
    right: -1em;
  }
}
/* 404 error message */
#Error404 {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 4em 0 6em;
  text-align: center;
  color: #195CAA;
}

/* footer */
footer {
  position: relative;
  background-color: #d9e6f1;
}
footer .upper {
  padding: 60px 1rem 30px;
}
footer .access-box {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}
footer .access-box .info {
  padding-right: 1rem;
}
footer .access-box .logo-address {
  display: flex;
  margin-bottom: 10px;
}
footer .access-box .logo {
  width: 120px;
}
footer .access-box .logo-address .address {
  padding: 0 32px;
  font-size: 13px;
}
footer .access-box .logo-address .address .clinic-name {
  color: #195CAA;
  margin: 0.8rem 0 0.3em;
  font-weight: bold;
}
footer .access-box .logo-address .address .clinic-name span {
  font-size: 1.7rem;
  font-weight: 500;
  padding-left: 0.4em;
}
footer .access-box .logo-address .address .addr {
  font-size: 16px;
  line-height: 1.5em;
  margin-bottom: 0;
}
footer .access-box .logo-address .address .tel-fax {
  font-size: 16px;
  margin: 0.8rem 0 0.3em;
}
footer .access-box .access .hd {
  display: flex;
  align-items: center;
  color: #195CAA;
  width: 470px;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 2px solid #195CAA;
}
footer .access-box .access .hd img {
  width: 40px;
}
footer .access-box .access .hd span {
  padding-left: 0.5em;
  font-size: 1.8em;
  font-weight: 700;
}
footer .access-box .access .trains > div {
  display: flex;
  align-items: center;
  margin-bottom: 0.6rem;
}
footer .access-box .access .trains > div img {
  width: 1.3em;
}
footer .access-box .access .trains > div span {
  padding-left: 0.6em;
}
footer .access-box .access .trains > div span b {
  font-weight: 700;
}
footer .access-box .tel {
  width: 470px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  border: 1px solid #F38618;
  background-color: #fff;
}
footer .access-box .tel > div:nth-child(1) {
  padding: 14px 0;
  width: 120px;
  color: #fff;
  font-size: 16px;
  background-color: #F38618;
  text-align: center;
}
footer .access-box .tel > div:nth-child(2) {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 350px;
}
footer .access-box .tel > div:nth-child(2) img {
  width: 30px;
}
footer .access-box .tel > div:nth-child(2) .telno {
  display: block;
  color: #195CAA;
  font-size: 36px;
  line-height: 1em;
  font-weight: 600;
  padding-left: 0.4em;
  padding-bottom: 0.14em;
  transform: scale(1, 1.1);
  -webkit-transform: scale(1, 1.1);
  -moz-transform: scale(1, 1.1);
  -ms-transform: scale(1, 1.1);
  -o-transform: scale(1, 1.1);
}
footer .access-box .web_reserve {
  width: 470px;
  margin-bottom: 25px;
}
footer .tel-fax a,
footer .telno a {
  pointer-events: none;
  text-decoration: none;
  color: #195CAA;
}
footer .map {
  padding-left: 1rem;
}
footer .map .google-map {
  position: relative;
  width: 100%;
  padding-top: 75%;
  /* = height ÷ width × 100 */
  width: 560px;
  height: 560px;
}
footer .map .google-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
footer .sns_link {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}
footer .sns_link .instagram {
  display: block;
  width: 40px;
  margin: 0 20px;
}
footer .sns_link .line {
  display: block;
  height: 36px;
  width: 116px;
  margin: 0 20px;
}
footer .copyright {
  padding: 1.7rem 0;
  text-align: center;
  font-size: 10px;
  color: #fff;
  background-color: #1a5bab;
}

@media (max-width: 1300px) {
  footer {
    font-size: 1.076vw;
  }
  footer .upper {
    padding: 4.61vw 1.07vw;
  }
  footer .access-box .logo-address {
    margin-bottom: 1.33vw;
  }
  footer .access-box .logo {
    width: 9.23vw;
  }
  footer .access-box .logo-address .address {
    padding: 0 2.46vw;
  }
  footer .access-box .logo-address .address .clinic-name {
    margin: 0.86vw 0 0.32vw;
  }
  footer .access-box .logo-address .address .clinic-name span {
    font-size: 1.83vw;
    padding-left: 0.43vw;
  }
  footer .access-box .logo-address .address .addr {
    font-size: 1.23vw;
    line-height: 1.61vw;
  }
  footer .access-box .logo-address .address .tel-fax {
    font-size: 1.23vw;
    margin: 0.86vw 0 0.32vw;
  }
  footer .access-box .access .hd {
    width: 36.15vw;
    margin-bottom: 1.3vw;
    padding-bottom: 0.77vw;
  }
  footer .access-box .access .hd img {
    width: 3.07vw;
  }
  footer .access-box .access .hd span {
    padding-left: 0.53vw;
    font-size: 1.93vw;
  }
  footer .access-box .access .trains > div {
    margin-bottom: 0.4vw;
  }
  footer .access-box .access .trains > div img {
    width: 1.4vw;
  }
  footer .access-box .access .trains > div span {
    padding-left: 0.64vw;
  }
  footer .access-box .tel {
    width: 36.15vw;
    margin-bottom: 1.33vw;
  }
  footer .access-box .tel > div:nth-child(1) {
    padding: 1.07vw 0;
    width: 9.23vw;
    font-size: 1.23vw;
  }
  footer .access-box .tel > div:nth-child(2) {
    width: 26.92vw;
  }
  footer .access-box .tel > div:nth-child(2) img {
    width: 2.3vw;
  }
  footer .access-box .tel > div:nth-child(2) .telno {
    font-size: 2.77vw;
  }
  footer .access-box .web_reserve {
    width: 36.15vw;
    margin-bottom: 1.92vw;
  }
  footer .map .google-map {
    width: 43.07vw;
    height: 43.07vw;
  }
}
@media (max-width: 768px) {
  footer {
    padding-bottom: 16vw;
  }
  footer.top {
    padding-bottom: 30.8vw;
  }
  footer .upper {
    padding: 13.33vw 0;
  }
  footer .access-box {
    flex-direction: column;
  }
  footer .access-box .info {
    padding: 0 10px;
  }
  footer .access-box .logo {
    width: 18.67vw;
  }
  footer .access-box .logo-address .address {
    position: relative;
    padding-left: 6.67vw;
    padding-right: 0;
    font-size: 3.3vw;
    line-height: 1.2em;
    font-weight: 300;
  }
  footer .access-box .logo-address .address .clinic-name {
    margin: 3vw 0 0;
    font-size: 4.3vw;
    line-height: 1.2em;
    font-weight: 400;
  }
  footer .access-box .logo-address .address .clinic-name span {
    font-size: 8vw;
    padding-left: 0;
    line-height: 1.2em;
  }
  footer .access-box .logo-address .address .addr {
    position: relative;
    left: -21vw;
    margin-top: 5.6vw;
    font-size: 4.5vw;
    line-height: normal;
    width: calc(100% + 21vw);
    margin-bottom: 0.8em;
  }
  footer .access-box .logo-address .address .addr-note {
    position: relative;
    left: -21vw;
    width: calc(100% + 21vw);
    margin-bottom: 1.3em;
    font-size: 3.8vw;
  }
  footer .access-box .logo-address .address .tel-fax {
    position: relative;
    left: -21vw;
    font-size: 4.5vw;
    font-weight: 400;
    margin: 0 0 1em;
    width: calc(100% + 21vw);
  }
  footer .access-box .logo-address .address .tel-fax a {
    text-decoration: underline;
    color: #333;
  }
  footer .access-box .tel {
    width: 100%;
    margin-bottom: 4vw;
  }
  footer .access-box .tel > div:nth-child(1) {
    padding: 3.27vw 0;
    width: 20vw;
    font-size: 3vw;
    line-height: 1.4em;
  }
  footer .access-box .tel > div:nth-child(2) {
    width: calc(100% - 20vw);
  }
  footer .access-box .tel > div:nth-child(2) img {
    width: 8.13vw;
  }
  footer .access-box .tel > div:nth-child(2) .telno {
    font-size: 8vw;
    border-bottom: 3px solid #195CAA;
    margin-left: 0.4em;
    padding-left: 0;
    padding-bottom: 0.1em;
  }
  footer .access-box .tel > div:nth-child(2) .telno a {
    text-decoration: none;
    color: #195CAA;
  }
  footer .access-box .web_reserve {
    width: 100%;
    margin-bottom: 9.33vw;
  }
  footer .access-box .access {
    margin-bottom: 10.4vw;
  }
  footer .access-box .access .hd {
    width: 100%;
    margin-bottom: 4.67vw;
    padding-bottom: 0.77vw;
  }
  footer .access-box .access .hd img {
    width: 8vw;
  }
  footer .access-box .access .hd span {
    padding-left: 2.67vw;
    font-size: 5.33vw;
  }
  footer .access-box .access .trains > div {
    position: relative;
    align-items: flex-start;
    margin-bottom: 0;
    padding-bottom: 1em;
    font-size: 4vw;
    font-weight: 300;
  }
  footer .access-box .access .trains > div img {
    position: relative;
    top: 0.4vw;
    width: 4.8vw;
  }
  footer .access-box .access .trains > div span {
    padding-left: 1.6vw;
    line-height: 1.4em;
  }
  footer .access-box .access .trains > div span b {
    font-weight: 500;
  }
  footer .tel-fax a,
  footer .telno a {
    pointer-events: all;
    text-decoration: underline;
  }
  footer .map {
    padding: 0;
  }
  footer .map .google-map {
    width: 100vw;
    height: 106.67vw;
    padding-top: 100%;
    /* = height ÷ width × 100 */
  }
  footer .sns_link {
    position: fixed;
    top: auto;
    left: 0;
    right: auto;
    bottom: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100vw;
    height: 16vw;
    margin-bottom: 0;
    background-color: #ccdeee;
    border: 1px solid #fff;
    z-index: 25;
  }
  footer .sns_link .instagram {
    display: block;
    width: 9.33vw;
    margin: 0 3.73vw 0 0;
  }
  footer .sns_link .line {
    display: block;
    width: 28vw;
    height: 8.66vw;
    margin: 0 3.33vw 0 0;
  }
  footer .sns_link .line img {
    width: 100%;
    height: 100%;
  }
  footer .copyright {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 12.8vw;
    padding: 0;
    font-size: 2.93vw;
  }
}
#floating-btn {
  position: fixed;
  top: 60vh;
  right: calc(50% - 650px);
  z-index: 30;
}
#floating-btn a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  background-color: rgba(242, 120, 0, 0.8);
  border-radius: 50px;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  -ms-border-radius: 50px;
  -o-border-radius: 50px;
  box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.3);
}
#floating-btn a::before {
  display: block;
  content: "";
  width: 40px;
  height: 22px;
  background-color: #fff;
  mask-image: url(/img/icon_eye.svg);
  -webkit-mask-image: url(/img/icon_eye.svg);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
}
#floating-btn a.web_reservation {
  display: none;
}

#scrollup {
  position: fixed;
  bottom: 40px;
  right: 0;
  z-index: 30;
}
#scrollup a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  background-color: rgba(0, 0, 0, 0.75);
}
#scrollup a img {
  display: block;
  width: 32px;
  height: 20px;
}

@media (max-width: 1300px) {
  #floating-btn {
    right: 20px;
  }
  #floating-btn a {
    width: 6.15vw;
    height: 6.15vw;
    font-size: 1.07vw;
    line-height: 1.53vw;
  }
  #floating-btn a::before {
    width: 3.77vw;
    height: 1.72vw;
  }
}
@media (max-width: 768px) {
  #floating-btn {
    top: auto;
    left: 1px;
    right: auto;
    bottom: 1px;
    display: flex;
  }
  #floating-btn a {
    width: 26.66vw;
    height: calc(16vw - 2px);
    font-size: 3.46vw;
    line-height: 4vw;
    background: linear-gradient(0deg, #689ece, #4c8cc5);
    border-right: 1px solid #fff;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    box-shadow: none;
  }
  #floating-btn a::before {
    width: 8.53vw;
    height: 4.53vw;
    margin-bottom: 1.6vw;
  }
  #floating-btn a br {
    display: none;
  }
  #floating-btn a.web_reservation {
    display: flex;
    justify-content: flex-start;
  }
  #floating-btn a.web_reservation::before {
    content: none;
  }
  #floating-btn a.web_reservation img {
    width: 6.13vw;
    height: 5.73vw;
    margin-top: 1.33vw;
    margin-bottom: 2vw;
  }
  #scrollup {
    bottom: 10vw;
  }
  #scrollup a {
    width: 12vw;
    height: 12vw;
  }
  #scrollup a img {
    width: 6.8vw;
    height: 4vw;
  }
}
.imgbox img {
  margin: auto;
  text-align: center;
}

#features-visual {
  position: relative;
  width: 100%;
  overflow: hidden;
}
#features-visual .swiper-wrapper {
  transition-timing-function: linear;
}

@media (min-width: 1300px) {
  #features-visual .swiper-wrapper img {
    height: 300px;
  }
}
/*---------------------------------------------
 * TOP PAGE
 *---------------------------------------------*/
#main-visual {
  position: relative;
  width: 100%;
  overflow: hidden;
}

#internalLink {
  height: 60px;
  background-color: #d9e6f1;
  margin-bottom: 40px;
}
#internalLink a:link, #internalLink a:visited {
  color: #195caa;
  text-decoration: none;
}
#internalLink ul li {
  list-style-type: none;
  border-right: 1px solid #aecae3;
}
#internalLink ul li a {
  padding: 10px 20px;
}

.mv-information {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  max-width: 1100px;
  z-index: 20;
  display: flex;
  justify-content: flex-end;
}
.mv-information a {
  display: flex;
  width: auto;
  margin-right: 1em;
  padding: 1em 2em;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  background-color: rgba(107, 214, 228, 0.8);
  color: #333;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}
.mv-information a div:nth-child(1) {
  color: #fff;
  font-size: 1.5em;
  margin-bottom: 10px;
  font-weight: 500;
}
.mv-information a div:nth-child(2) {
  font-size: 1.8em;
  margin-bottom: 10px;
}
.mv-information a div:nth-child(3) {
  font-size: 1.2em;
  color: #124f96;
}

#icl-sp {
  display: none;
}

@media (min-width: 1301px) {
  .swiper,
  .swiper2 {
    width: 100%;
    max-width: 1100px !important;
    margin: 0 auto !important;
    overflow: visible !important;
  }
}
@media (max-width: 1300px) {
  .mv-information {
    max-width: 84.6vw;
  }
  .mv-information a {
    font-size: 1.2vw;
    font-weight: 500;
  }
  .mv-information a div:nth-child(1), .mv-information a div:nth-child(2) {
    margin-bottom: 0.2em;
  }
  .swiper,
  .swiper2 {
    width: 100%;
    margin-bottom: 6.923vw;
    max-width: 84.6vw !important;
    margin: 0 auto !important;
    overflow: visible !important;
  }
}
@media (max-width: 768px) {
  #features-visual {
    margin-bottom: 6vw;
  }
  #main-visual {
    margin-bottom: 6vw;
  }
  #main-visual .mv-information {
    position: fixed;
    top: auto;
    left: 0;
    right: auto;
    bottom: 16vw;
    z-index: 25;
    display: block;
    width: 100%;
    height: 14.8vw;
    margin: 0;
  }
  #main-visual .mv-information a {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100vw;
    height: 100%;
    margin: 0;
    background-color: rgba(107, 214, 228, 0.9);
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
  }
  #main-visual .mv-information a div {
    margin-bottom: 0.4em;
    line-height: 1.3em;
    flex-shrink: 0;
  }
  #main-visual .mv-information a div:nth-child(1) {
    width: 100%;
    font-size: 4.2vw;
    text-align: center;
    color: #333;
  }
  #main-visual .mv-information a div:nth-child(1)::after {
    content: url(/img/arrow_right2.svg);
    display: inline-block;
    width: 2.267vw;
    height: 3.6vw;
    margin-left: 4.67vw;
  }
  #main-visual .mv-information a div:nth-child(2) {
    font-size: 4vw;
    text-align: right;
    width: 64%;
  }
  #main-visual .mv-information a div:nth-child(3) {
    font-size: 4vw;
    padding-left: 0.5em;
    width: 36%;
  }
  .swiper,
  .swiper2 {
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
}
.swiper-button-prev,
.swiper-button-next {
  /*デフォルトのボタン画像を消す*/
  background-image: none;
  /*ボタンの幅*/
  width: 40px;
  /*ボタンの高さ*/
  height: 40px;
  /*縦中央配置用：ボタンの高さの半分のネガティブマージン（top:50%;がすでに設定されている）*/
  margin-top: -20px;
  z-index: 10;
  color: #fff;
  background-color: #195CAA;
  border-radius: 23px;
  -webkit-border-radius: 23px;
  -moz-border-radius: 23px;
  -ms-border-radius: 23px;
  -o-border-radius: 23px;
  opacity: 0.6;
}

.swiper-button-prev {
  left: -80px;
}

.swiper-button-next {
  right: -80px;
}
.swiper-button-next:after {
  font-size: 20px;
}

.swiper-button-prev:after {
  font-size: 20px;
}

@media (max-width: 1300px) {
  .swiper-button-prev,
  .swiper-button-next {
    width: 3.077vw;
    height: 3.077vw;
    margin-top: -1.54vw;
    border-radius: 1.77vw;
    -webkit-border-radius: 1.77vw;
    -moz-border-radius: 1.77vw;
    -ms-border-radius: 1.77vw;
    -o-border-radius: 1.77vw;
  }
  .swiper-button-prev {
    left: -6.15vw;
  }
  .swiper-button-next {
    right: -6.15vw;
  }
  .swiper-button-next:after {
    font-size: 1.54vw;
  }
  .swiper-button-prev:after {
    font-size: 1.54vw;
  }
}
@media (max-width: 768px) {
  .swiper-button-prev,
  .swiper-button-next {
    display: none;
  }
}
#top-contents {
  display: flex;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  font-size: 16px;
}
#top-contents .fst {
  width: 470px;
  padding-right: 50px;
}
#top-contents .scd {
  width: 610px;
  padding-left: 1em;
}
#top-contents .blue {
  color: #358AD6;
  font-weight: 500;
}

#top-contact {
  display: flex;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  font-size: 16px;
}
#top-contact .fst {
  width: 470px;
  padding-right: 50px;
}
#top-contact .scd {
  width: 610px;
  padding-left: 1em;
}
#top-contact .wrapper .row .text {
  color: #F38618;
  font-size: 16px;
}
#top-contact .wrapper .row .beginner {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding-top: 10px;
  padding-bottom: 20px;
  font-size: 34px;
  font-weight: 700;
  color: #195CAA;
  text-decoration: none;
}
#top-contact .wrapper .row .beginner .icon {
  width: 40px;
  margin-left: 0;
  margin-right: 10px;
}
#top-contact .wrapper .row .beginner .arrow {
  width: 30px;
  margin-left: 10px;
  margin-right: 0;
}

@media (min-width: 769px) {
  #top-contact .wrapper {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    font-size: 16px;
  }
  #top-contact .wrapper .downloads {
    max-width: 610px;
  }
  #top-contact .wrapper .downloads img {
    max-width: 360px;
    margin: auto;
  }
}
.info-box {
  position: relative;
  max-width: 1100px;
  margin: 0 auto 50px;
}
.info-box .title {
  display: flex;
  align-items: center;
  padding-bottom: 10px;
  border-bottom: 2px solid #195CAA;
  font-size: 26px;
  font-weight: 500;
}

#top-pickup.pickup .title,
#pickup .pickup.info-box .title {
  border-bottom: 2px solid #fff;
}

.info-box .title .icon {
  width: 40px;
}
.info-box .title .icon.beginner {
  width: 27px;
}
.info-box .title .text {
  margin-left: 10px;
}
.info-box .title .text span {
  font-size: 19px;
}
.info-box .title .text img {
  width: 30px;
}
.info-box .title2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 2px solid #195CAA;
}
.info-box .title2 .title {
  border: none;
}
.info-box .title2 .more-information-btn {
  width: 100px;
  cursor: pointer;
}
.info-box .list .row {
  display: flex;
  margin-top: 1em;
}

#top-hospital {
  padding-bottom: 40px;
}
#top-hospital ul {
  position: relative;
  padding: 0;
  margin-top: 30px;
}
#top-hospital ul li {
  list-style-type: none;
}
#top-hospital ul img {
  width: 100%;
  max-width: 580px;
}
#top-hospital ul img:first-of-type {
  max-width: 590px;
}

@media (min-width: 1100px) {
  #top-hospital ul li:nth-of-type(2) {
    position: absolute;
    right: 0;
    top: 80px;
  }
  #top-hospital ul li:nth-of-type(3) {
    position: relative;
    top: 40px;
    z-index: 2;
  }
  #top-hospital ul li:nth-of-type(3) img {
    margin: auto;
    left: -10%;
    position: relative;
  }
  #top-hospital ul li:nth-of-type(4) {
    position: absolute;
    right: 0;
    top: 420px;
    z-index: 3;
  }
}
@media (max-width: 1099px) {
  #top-hospital ul li {
    margin-bottom: 20px;
  }
  #top-hospital ul li:nth-of-type(2) {
    display: flex;
    justify-content: right;
  }
  #top-hospital ul li:nth-of-type(4) img {
    margin: auto;
  }
}
#top-information .list {
  transition: all 1s;
  -webkit-transition: all s;
  -moz-transition: all s;
  -ms-transition: all s;
  -o-transition: all s;
}
#top-information .list .row .date {
  width: 8em;
}
#top-information .list .row .text {
  width: calc(100% - 8em);
}
#top-information .list .row.new .text::before {
  content: "NEW";
  margin-right: 1em;
  padding: 0.05em 0.5em;
  font-size: 0.9em;
  background-color: #F38618;
  color: #fff;
}
#top-information .list .row:nth-child(n+6) {
  display: none;
  opacity: 0;
  transition: all 1s;
  -webkit-transition: all 1s;
  -moz-transition: all 1s;
  -ms-transition: all 1s;
  -o-transition: all 1s;
}
#top-information .list.more .row {
  display: flex;
  opacity: 1;
}

@media (max-width: 768px) {
  #top-information .list .row.new .text::before {
    content: none;
  }
  #top-contents .fst .week {
    display: none;
  }
}
#modal-bg {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 35;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
}

.closeModal {
  position: fixed;
  top: 1rem;
  right: 1rem;
  text-align: right;
  font-size: 2em;
  color: #aaa;
  cursor: pointer;
  z-index: 37;
  opacity: 1;
}

.modal {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.modal-body {
  overflow-y: auto;
  display: flex;
  justify-content: center;
  max-width: 90vw;
  max-height: 95vh;
  overflow-y: auto;
}
.modal-body img {
  width: 100%;
  height: 100%;
}

@media (max-width: 768px) {
  .modal-body {
    max-width: 95vw;
    max-height: 95vh;
    overflow-y: auto;
  }
  .closeModal {
    top: 7rem;
  }
}
#top-pickup {
  margin-top: 30px;
}
#top-pickup.pickup {
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  z-index: 20;
}

#pickup .pickup {
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  z-index: 20;
}
#pickup .pickup.info-box {
  margin-bottom: 0;
}

#top-pickup.pickup .item,
#pickup .pickup .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 190px;
  height: auto;
  margin: 5px;
  background-color: #f3f8fd;
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
}

#top-pickup.pickup .item a,
#pickup .pickup .item a {
  color: #333;
  text-decoration: none;
}

#top-pickup.pickup .item .title,
#pickup .pickup .item .title {
  color: #fff;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 76px;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  background: linear-gradient(#015bac, #4e85c1);
  border-radius: 15px 15px 0 0;
  padding-bottom: 12px;
}

#top-pickup.pickup .item .title span,
#pickup .pickup .item .title span {
  display: block;
  font-size: 0.9em;
}

#top-pickup.pickup .item .title::after,
#pickup .pickup .item .title::after {
  content: "";
  background: url(/img/arrow.png) no-repeat;
  max-width: 25%;
  background-size: contain;
  width: 40px;
  height: 40px;
  display: block;
  position: absolute;
  bottom: -2.5vh;
}

#top-pickup.pickup .item .text,
#pickup .pickup .item .text {
  font-size: 13px;
  padding: 24px 16px 8px;
  font-size: 14px;
}

@media (max-width: 1300px) {
  #top-pickup.pickup .item,
  #pickup .pickup .item {
    width: 14.615vw;
    height: 16.154vw;
    margin: 0.385vw;
    /*padding-top: 1.538vw;*/
    border-radius: 1.154vw;
    -webkit-border-radius: 1.154vw;
    -moz-border-radius: 1.154vw;
    -ms-border-radius: 1.154vw;
    -o-border-radius: 1.154vw;
  }
  #top-pickup.pickup .item .title,
  #pickup .pickup .item .title {
    height: 5.846vw;
    font-size: 1.23vw;
    line-height: 1.3em;
  }
  #top-pickup.pickup .item .title span,
  #pickup .pickup .item .title span {
    font-size: 0.9em;
  }
  #top-pickup.pickup .item .text,
  #pickup .pickup .item .text {
    font-size: 1vw;
    line-height: 1.3em;
    padding: 1.85vw 1.23vw 0.6vw;
    font-size: 1.077vw;
  }
}
@media (min-width: 769px) {
  #pickup {
    position: relative;
    background: linear-gradient(rgba(0, 0, 0, 0) 30%, #8cb1d9 30% 70%, #d9e6f1 70% 100%);
  }
}
@media (max-width: 768px) {
  #pickup .pickup.info-box {
    padding: 75px 0;
  }
  #top-pickup.pickup,
  #pickup .pickup {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  #top-pickup.pickup .item,
  #pickup .pickup .item {
    width: 40vw;
    height: auto;
    margin: 1vw;
    border-radius: 15px;
  }
  #top-pickup.pickup .item .title,
  #pickup .pickup .item .title {
    min-height: 7rem;
    font-size: 4.27vw;
    line-height: 1.3em;
  }
  #top-pickup.pickup .item .title span,
  #pickup .pickup .item .title span {
    font-size: 0.9em;
  }
  #top-pickup.pickup .item .text {
    font-size: 3.2vw;
    line-height: 1.3em;
    padding: 3.2vw 1.23vw 1.06vw;
    min-height: 8rem;
    font-size: 3.2vw;
  }
  #pickup {
    position: relative;
    background: #8cb1d9;
  }
  #pickup .pickup .item .text {
    font-size: 3.2vw;
    line-height: 1.3em;
    padding: 1rem 1.23vw;
    min-height: 8rem;
    font-size: 3.2vw;
  }
}
.info-box .title .text.excl {
  position: relative;
}
.info-box .title .text.excl:after {
  position: absolute;
  content: url(../img/icon_exclamation.svg);
  display: inline-block;
  width: 30px;
}
.info-box .row {
  margin-top: 1em;
}
.info-box .row .attn {
  color: #F38618;
  font-size: 16px;
  line-height: 24px;
}
.info-box .row .tel {
  display: flex;
  align-items: center;
  padding-top: 10px;
  color: #195CAA;
  font-size: 14px;
  font-weight: 500;
}
.info-box .row .tel img {
  display: block;
  width: 28px;
  margin: 0 5px;
}
.info-box .row .tel .telno {
  display: block;
  padding-bottom: 0.13em;
  font-size: 34px;
  line-height: 1.2em;
}
.info-box .row .tel .telno a {
  pointer-events: none;
  text-decoration: none;
  color: #195CAA;
}
.info-box .row .download-box {
  padding: 30px;
  background-color: #FDF4E6;
  font-size: 14px;
  line-height: 1.6em;
}
.info-box .row .download-box img {
  width: 100%;
  padding-top: 1em;
}

@media (max-width: 1300px) {
  #top-contents {
    max-width: 84.6vw;
    font-size: 1.23vw;
  }
  #top-contents .fst {
    width: 36.15vw;
    padding-right: 3.846vw;
  }
  #top-contents .scd {
    width: 48.46vw;
    padding-left: 1em;
  }
  #top-contact {
    max-width: 84.6vw;
    font-size: 1.23vw;
  }
  #top-contact .fst {
    width: 36.15vw;
    padding-right: 3.846vw;
  }
  #top-contact .scd {
    width: 48.46vw;
    padding-left: 1em;
  }
  #top-contact .wrapper .row .text {
    color: #F38618;
    font-size: 16px;
  }
  #top-contact .wrapper .row .beginner {
    font-size: 2.61vw;
  }
  #top-contact .wrapper .row .beginner .icon {
    width: 3.07vw;
  }
  #top-contact .wrapper .row .beginner .arrow {
    width: 2.3vw;
  }
  .info-box {
    max-width: 84.6vw;
    margin: 0 auto 3.846vw;
  }
  .info-box .title {
    padding-bottom: 0.77vw;
    font-size: 2vw;
  }
  .info-box .title .icon {
    width: 3.077vw;
  }
  .info-box .title .icon.beginner {
    width: 2.07vw;
  }
  .info-box .title .text {
    margin-left: 0.77vw;
  }
  .info-box .title .text span {
    font-size: 1.46vw;
  }
  .info-box .title .text img {
    width: 2.31vw;
  }
  .info-box .title2 .more-information-btn {
    width: 7.7vw;
  }
  .info-box .list .row {
    margin-top: 1em;
  }
  #top-information .list .row .text {
    padding-left: 1em;
  }
  #top-information .list .row.new .text::after {
    margin-left: 1em;
    padding: 0.05em 0.5em;
    font-size: 0.9em;
  }
  .info-box .title .text.excl:after {
    width: 2.31vw;
  }
  #top-contents .info-box .row {
    margin-top: 1em;
  }
  .info-box .row .tel {
    padding-top: 0.77vw;
    font-size: 1.08vw;
  }
  .info-box .row .tel img {
    width: 2.15vw;
    margin: 0 0.385vw;
  }
  .info-box .row .tel .telno {
    padding-bottom: 0.13em;
    font-size: 2.615vw;
    line-height: 1.2em;
  }
  .info-box .row .download-box {
    padding: 2.31vw;
    font-size: 1.08vw;
    line-height: 1.6em;
  }
  .info-box .row .download-box img {
    padding-top: 1em;
  }
}
@media (max-width: 768px) {
  .info-box .title {
    padding-bottom: 0.77vw;
    font-size: 5.6vw;
  }
  .info-box .title .icon {
    width: 9.33vw;
  }
  .info-box .title .icon.beginner {
    width: 6.33vw;
    margin-right: 1.33vw;
  }
  .info-box .title .text span {
    font-size: 4.2vw;
  }
  .info-box .title2 .more-information-btn {
    width: 21.33vw;
  }
  .info-box .list .row {
    flex-direction: column;
    font-size: 4.27vw;
    line-height: normal;
    margin-bottom: 2em;
  }
  #top-information .list .row.new .date::after {
    content: "NEW";
    margin-left: 1em;
    padding: 0.05em 0.5em;
    font-size: 0.9em;
    background-color: #F38618;
    color: #fff;
  }
  #top-information .list .row .text {
    width: 100%;
    padding-left: 0;
  }
  #top-information .list .row.new .text::after {
    content: none;
  }
  #top-contents {
    flex-direction: column;
  }
  #top-contents .fst {
    width: 100%;
    padding-right: 0;
  }
  #top-contents .info-box {
    margin-bottom: 13.33vw;
  }
  .info-box .title .text.excl:after {
    position: absolute;
    width: 6.27vw;
    bottom: -1.4vw;
  }
  #top-contents .info-box .row {
    font-size: 4.8vw;
    margin-top: 0;
    margin-bottom: 3vw;
  }
  #top-contents .info-box .title {
    margin-bottom: 8vw;
  }
  .info-box .row .attn {
    line-height: normal;
    font-size: 4.8vw;
    line-height: 6vw;
  }
  .info-box .row .tel {
    padding-top: 4vw;
    font-size: 3.47vw;
    line-height: normal;
  }
  .info-box .row .tel img {
    width: 8vw;
    margin: 0 0.5em;
  }
  .info-box .row .tel .telno {
    padding-bottom: 0.13em;
    font-size: 8.4vw;
    line-height: normal;
  }
  .info-box .row .tel .telno a {
    text-decoration: underline;
    pointer-events: all;
  }
  .info-box .row .download-box {
    padding: 1em;
    font-size: 4vw;
    line-height: normal;
  }
  .info-box .row .download-box img {
    padding-top: 1em;
  }
  #top-contents .scd {
    width: 100%;
    padding-left: 0;
  }
  #top-contents ul {
    line-height: normal;
    margin-bottom: 1em;
    font-size: 4vw;
  }
  #top-contents ul li {
    margin-bottom: 1rem;
  }
  #top-contact {
    flex-direction: column;
    flex-wrap: wrap;
  }
  #top-contact .fst {
    width: 100%;
    margin-bottom: 13.33vw;
    padding-right: 0;
  }
  #top-contact .scd {
    width: 100%;
    margin-bottom: 13.33vw;
    padding-left: 0;
  }
  #top-contact .wrapper .row .text {
    font-size: 4.6vw;
    line-height: 1.6em;
  }
  #top-contact .wrapper .row .beginner {
    font-size: 6.4vw;
    font-weight: 400;
    text-decoration: underline;
    padding-top: 5vw;
    padding-bottom: 8vw;
  }
  #top-contact .wrapper .row .beginner .icon {
    width: 8vw;
  }
  #top-contact .wrapper .row .beginner .arrow {
    width: 6vw;
  }
}
#top-banner_area {
  width: 100%;
  margin: 80px auto 0;
  background-color: #F7F7F7;
}
#top-banner_area:after {
  content: "";
  display: block;
  position: absolute;
  background-color: #F7F7F7;
  height: 100px;
  width: 100%;
}
#top-banner_area .banner_area img {
  margin-bottom: 6px;
}

.banner_area {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 20px;
}
.banner_area div {
  padding: 20px;
  width: 50%;
  max-width: 480px;
  display: flex;
  justify-content: start;
  align-items: start;
  flex-shrink: 1;
  flex-direction: column;
}

@media (max-width: 1300px) {
  .banner_area {
    padding: 1.5vw;
  }
  .banner_area div {
    padding: 1.5vw;
  }
}
@media (max-width: 768px) {
  #top-banner_area {
    max-width: none;
    margin: 0;
  }
  .banner_area {
    padding: 8vw 4.67vw;
    justify-content: start;
    flex-direction: column;
  }
  .banner_area div {
    padding: 2.67vw 0;
    width: 90.67vw;
    margin: auto;
  }
}
/*---------------------------------------------
 * about.html -- 当院について
 *---------------------------------------------*/
#greeting > div {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 50px;
  display: flex;
}
#greeting .message {
  width: 75%;
  padding-right: 60px;
}
#greeting .message h3 {
  margin-top: 0;
  font-weight: 500;
}
#greeting .message p {
  font-size: 16px;
  line-height: 2em;
}
#greeting img {
  display: block;
  width: 42vw;
  max-width: 420px;
}

@media (max-width: 1300px) {
  #greeting > div {
    max-width: 84.615vw;
    margin: 0 auto 3.846vw;
  }
  #greeting .message {
    width: 75%;
    padding-right: 4.6vw;
  }
}
@media (max-width: 768px) {
  #greeting > div {
    max-width: 90.67vw;
    flex-direction: column;
    margin: 0 auto 13.34vw;
  }
  #greeting .message {
    width: 100%;
    padding-right: 0;
  }
  #greeting .message h3 {
    font-size: 4.4vw;
  }
  #greeting .message p {
    font-size: 3.47vw;
    font-weight: 300;
  }
  #greeting img {
    width: 100%;
    max-width: none;
  }
}
/*---------------------------------------------
 * feature.html -- 3つの特徴
 *---------------------------------------------*/
ul.hashtag {
  padding: 0;
  max-width: 520px;
}
ul.hashtag li {
  list-style-type: none;
  display: inline-block;
  background: #e5eef5;
  border-radius: 20px;
  color: #195caa;
  padding: 3px 6px;
  margin: 0 1rem 0.5rem 0;
}
ul.hashtag li:before {
  content: "#";
}

[id^=feature] > div {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 50px;
  display: flex;
}
[id^=feature] .message {
  width: 75%;
  padding-right: 60px;
}
[id^=feature] .message h3 {
  margin-top: 0;
  font-weight: 500;
}
[id^=feature] .message p {
  font-size: 16px;
  line-height: 2em;
}
[id^=feature] picture img {
  max-width: 520px;
}

#latest > div {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 50px;
}

@media (max-width: 1300px) {
  [id^=feature] > div {
    max-width: 84.615vw;
    margin: 0 auto 3.846vw;
  }
  [id^=feature] .message {
    width: 75%;
    padding-right: 4.6vw;
  }
}
@media (max-width: 768px) {
  [id^=feature] > div {
    max-width: 90.67vw;
    flex-direction: column;
    margin: 0 auto 13.34vw;
  }
  [id^=feature] .message {
    width: 100%;
    padding-right: 0;
  }
  [id^=feature] .message h3 {
    font-size: 4.4vw;
  }
  [id^=feature] .message p {
    font-size: 3.47vw;
    font-weight: 300;
  }
  #latest > div {
    margin-bottom: 13.34vw;
  }
  #latest .imgbox {
    width: 84.615vw;
  }
}
#doctors .doctor {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 50px;
  display: flex;
  font-size: 16px;
}
#doctors .doctor.bb {
  border-bottom: 1px dashed;
}
#doctors .doctor > div:nth-child(1) {
  width: 350px;
  padding-right: 50px;
}
#doctors .doctor > div:nth-child(2) {
  width: 400px;
  padding-right: 50px;
}
#doctors .doctor > div:nth-child(3) {
  width: 350px;
}
#doctors .doctor .name {
  padding: 7px 1em;
  border-left: 6px solid #f27800;
  line-height: normal;
}
#doctors .doctor .name div:last-child {
  font-size: 24px;
}
#doctors .doctor .message {
  line-height: normal;
}
#doctors .doctor .biography div {
  color: #fff;
  background-color: #999;
  padding: 7px 10px;
}
#doctors .doctor .biography dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
#doctors .doctor .biography dl dt {
  width: 5.2em;
}
#doctors .doctor .biography dl dd {
  margin: 0;
  width: calc(100% - 6em);
}
#doctors .doctor .biography .u1 {
  margin-bottom: 30px;
  padding: 0;
  list-style: none;
  font-size: 1rem;
}
#doctors .doctor .biography .u2 {
  margin-bottom: 30px;
  padding-left: 1.5em;
  font-size: 1rem;
}
#doctors .description {
  padding: 50px 0;
  background-color: #F3F3F3;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 50px;
  display: flex;
  align-items: center;
}
#doctors .description > div:first-child {
  width: 300px;
  text-align: center;
  font-weight: 500;
}
#doctors .description > div:last-child {
  padding-left: 50px;
  border-left: 1px solid;
}
#doctors .description dl {
  display: flex;
}
#doctors .description dl dt {
  width: 5em;
  font-weight: 500;
}

@media (max-width: 1300px) {
  #doctors .doctor {
    max-width: 84.615vw;
    margin: 0 auto 3.846vw;
  }
  #doctors .doctor > div:nth-child(1) {
    width: 27vw;
    padding-right: 3.85vw;
  }
  #doctors .doctor > div:nth-child(2) {
    width: 30.77vw;
    padding-right: 3.85vw;
  }
  #doctors .doctor > div:nth-child(3) {
    width: 27vw;
  }
}
@media (max-width: 768px) {
  #doctors .doctor {
    max-width: 90.67vw;
    margin: 0 auto 4.67vw;
    flex-direction: column;
  }
  #doctors .doctor > div:nth-child(1), #doctors .doctor > div:nth-child(2), #doctors .doctor > div:nth-child(3) {
    width: 100%;
    padding: 0;
  }
  #doctors .doctor .photos {
    display: flex;
    align-items: center;
  }
  #doctors .doctor .photos img {
    width: 40vw;
    margin-right: 4vw;
  }
  #doctors .doctor .name div:first-child {
    font-size: 2.67vw;
  }
  #doctors .doctor .name div:last-child {
    font-size: 4.8vw;
    font-weight: 500;
  }
  #doctors .doctor .message {
    font-size: 4vw;
    font-weight: 300;
    margin-bottom: 6.67vw;
    line-height: 1.8em;
  }
  #doctors .doctor .biography div {
    font-size: 3.7vw;
    padding: 2.14vw;
  }
  #doctors .doctor .biography .u1 {
    margin-bottom: 6.67vw;
  }
  #doctors .doctor .biography .u2 {
    margin-bottom: 6.67vw;
    padding-left: 2em;
  }
  #doctors .doctor .biography dt,
  #doctors .doctor .biography dd {
    padding-bottom: 1em;
    font-size: 3.47vw;
    font-weight: 300;
  }
  #doctors .doctor .biography li {
    margin-bottom: 1em;
    font-size: 3.47vw;
    font-weight: 300;
  }
  #doctors .description {
    max-width: 90.67vw;
    flex-direction: column;
    font-size: 3.73vw;
    align-items: flex-start;
    padding: 4vw;
  }
  #doctors .description div {
    line-height: normal;
  }
  #doctors .description > div:first-child {
    width: 100%;
    padding: 5.34vw 0;
    text-align: left;
    font-weight: 400;
    border-bottom: 1px solid #ccc;
  }
  #doctors .description > div:last-child {
    padding-left: 0;
    border: none;
  }
  #doctors .description dl {
    margin: 0;
    padding: 5.34vw 0;
    border-bottom: 1px solid #ccc;
  }
  #doctors .description dl dt {
    width: 7em;
    font-weight: 400;
    white-space: nowrap;
  }
  #doctors .description dl dd {
    width: calc(100% - 7em);
    margin: 0;
    font-weight: 300;
  }
}
#facility {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 50px;
  display: flex;
  flex-direction: column;
  font-size: 16px;
}
#facility .facility-list {
  text-align: center;
  border-bottom: 1px dashed;
  width: 100%;
  padding-bottom: 20px;
}
#facility .facility-list:last-child {
  border: none;
}
#facility .facility-list h3 {
  font-size: 24px;
  color: #195CAA;
}
#facility .facility-list .facility {
  display: flex;
  align-items: flex-start;
  width: 100%;
  margin-bottom: 30px;
}
#facility .facility-list .facility figure {
  display: table;
  text-align: left;
  margin: 0 20px 0 0;
}
#facility .facility-list .facility figure img {
  width: auto;
  height: 200px;
}
#facility .facility-list .facility figure figcaption {
  width: 100%;
  display: table-caption;
  caption-side: bottom;
  font-size: 12px;
}
#facility .facility-list .facility figure:last-of-type {
  margin: 0;
}
#facility .facility-list .facility .arrow {
  display: flex;
  align-items: center;
  height: 200px;
  margin: 0 20px 0 0;
}
#facility .facility-list .facility .arrow img {
  width: 15px;
}

@media (max-width: 1300px) {
  #facility {
    max-width: 84.615vw;
    margin: 0 auto 3.846vw;
  }
  #facility .facility-list .facility figure {
    margin-right: 1.54vw;
  }
  #facility .facility-list .facility figure img {
    width: auto;
    height: 15.38vw;
    max-height: 200px;
  }
  #facility .facility-list .facility figure figcaption {
    width: auto;
  }
  #facility .facility-list .facility .arrow {
    height: 15.38vw;
    max-height: 200px;
    margin-right: 1.54vw;
  }
  #facility .facility-list .facility:last-of-type figure {
    height: 15.38vw;
  }
  #facility .facility-list .facility:last-of-type .arrow {
    height: 15.38vw;
  }
}
@media (max-width: 768px) {
  #facility {
    max-width: 90.67vw;
    margin: 0 auto 4.67vw;
    flex-direction: column;
  }
  #facility .facility-list h3 {
    font-size: 4.3vw;
  }
  #facility .facility-list .facility {
    flex-direction: column;
    width: 100%;
    margin-bottom: 0;
  }
  #facility .facility-list .facility figure {
    width: 100%;
    margin: 0;
  }
  #facility .facility-list .facility figure img {
    width: 100%;
    height: auto;
    max-height: none;
  }
  #facility .facility-list .facility figure figcaption {
    font-size: 3.47vw;
    font-weight: 300;
    line-height: normal;
  }
  #facility .facility-list .facility figure.info-boad {
    margin-top: 10px;
  }
  #facility .facility-list .facility figure.info-boad img {
    width: 40%;
  }
  #facility .facility-list .facility figure.info-boad figcaption {
    display: block;
  }
  #facility .facility-list .facility .arrow {
    justify-content: center;
    width: 100%;
    height: auto;
    margin: 10px 0;
  }
  #facility .facility-list .facility .arrow img {
    transform: rotateZ(90deg);
    -webkit-transform: rotateZ(90deg);
    -moz-transform: rotateZ(90deg);
    -ms-transform: rotateZ(90deg);
    -o-transform: rotateZ(90deg);
  }
  #facility .facility-list .facility:last-of-type figure {
    height: 100%;
  }
  #facility .facility-list .facility:last-of-type .arrow {
    height: auto;
  }
}
#insp_booth .inspectors {
  display: flex;
  align-items: flex-start;
  width: 100%;
  margin-bottom: 35px;
}
#insp_booth .inspectors figure {
  display: table;
  width: 46%;
  max-width: 500px;
  min-width: 0;
  margin: 0;
}
#insp_booth .inspectors figure img {
  width: 100%;
  height: auto;
  min-width: 0;
  min-height: 0;
}
#insp_booth .inspectors figure figcaption {
  display: table-caption;
  caption-side: bottom;
  width: 100%;
  max-width: 500px;
  padding: 0;
  text-align: left;
  font-size: 12px;
}
#insp_booth .inspectors figure figcaption b {
  font-weight: 500;
}
#insp_booth .inspectors > div {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
  max-width: 594px;
}
#insp_booth .inspectors > div figure {
  width: calc(50% - 35px);
  margin-left: 35px;
  margin-bottom: 20px;
}
#insp_booth .inspectors > div figure figcaption {
  max-width: 262px;
}

@media (max-width: 768px) {
  #insp_booth .inspectors {
    flex-direction: column;
    margin-bottom: 0;
  }
  #insp_booth .inspectors figure {
    width: 100%;
    margin-bottom: 20px;
  }
  #insp_booth .inspectors div {
    justify-content: space-between;
    width: 100%;
  }
  #insp_booth .inspectors div figure {
    width: calc(50% - 10px);
    margin-left: 0;
  }
}
#exam_room .examination {
  display: flex;
  justify-content: center;
}
#exam_room .examination figure {
  display: table;
  width: 100%;
  max-width: 550px;
}
#exam_room .examination figure figcaption {
  display: table-caption;
  caption-side: bottom;
  width: 100%;
  padding: 0;
  text-align: left;
  font-size: 12px;
}
#exam_room .examination figure figcaption b {
  font-weight: 500;
}

@media (max-width: 768px) {
  #exam_room .examination {
    margin-bottom: 20px;
  }
  #exam_room .examination figure {
    max-width: none;
    margin: 0;
  }
}
#op_room .operation {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
#op_room .operation figure {
  display: table;
  width: 42%;
  margin: 0 0 30px;
  padding-left: 36px;
}
#op_room .operation figure figcaption {
  display: table-caption;
  caption-side: bottom;
  width: 100%;
  padding: 0;
  text-align: left;
  font-size: 12px;
  padding-left: 36px;
}
#op_room .operation figure figcaption b {
  font-weight: 500;
}
#op_room .operation figure:first-of-type {
  padding: 0;
}
#op_room .operation figure:first-of-type figcaption {
  padding: 0;
}
#op_room .operation figure.big {
  width: 58%;
}

@media (max-width: 768px) {
  #op_room .operation {
    justify-content: space-between;
    margin-bottom: 20px;
  }
  #op_room .operation figure {
    width: calc(50% - 10px);
    margin: 0;
    padding: 0;
  }
  #op_room .operation figure figcaption {
    padding: 0;
  }
  #op_room .operation figure.big {
    width: calc(50% - 10px);
  }
}
/*---------------------------------------------
 * contests.html -- 診療のご案内
 *---------------------------------------------*/
#contents .content {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 50px;
}
#contents .content div {
  margin-bottom: 0.6em;
}
#contents .content ul li {
  margin-bottom: 0.6em;
}
#contents .content ul.rows {
  display: flex;
  flex-wrap: wrap;
  max-width: 500px;
}
#contents .content ul.rows li {
  padding-right: 3em;
}
#contents .content .link-pdf {
  width: 100%;
}
#contents .content .title {
  display: flex;
  align-items: center;
  width: calc(100% - 40px);
  margin: 0 20px;
  border-bottom: 2px solid #195CAA;
  font-size: 26px;
  font-weight: 500;
}
#contents .content .title .icon {
  width: 27px;
}
#contents .content .title .text {
  margin-left: 10px;
}
#contents .content .title .text span {
  font-size: 19px;
}
#contents .content .title .text img {
  width: 30px;
}
#contents .content .two-col {
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
}
#contents .content .two-col > div {
  width: calc(50% - 20px);
}
#contents .content .two-col .reserve {
  padding-top: 20px;
}
#contents .content .two-col .reserve .text {
  color: #F38618;
  font-size: 16px;
}
#contents .content .two-col .beginner {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding-top: 10px;
  padding-bottom: 20px;
  font-size: 34px;
  font-weight: 500;
  color: #195CAA;
  text-decoration: none;
}
#contents .content .two-col .beginner .icon {
  width: 40px;
  margin-left: 0;
  margin-right: 10px;
}
#contents .content .two-col .beginner div {
  margin: 0;
}
#contents .content .two-col .beginner .arrow {
  width: 30px;
  margin-left: 10px;
  margin-right: 0;
}
#contents .info-box {
  margin: 0 auto 50px;
  max-width: 1020px;
}
#contents .info-box a {
  display: block;
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
}
#contents .info-box img {
  width: 100%;
  max-width: 480px;
}
#contents .fbox {
  display: flex;
  flex-wrap: wrap;
  column-gap: 5rem;
  max-width: 1100px;
  margin: 0 auto;
}

@media (max-width: 1300px) {
  #contents .content {
    max-width: 84.615vw;
    margin: 0 auto 3.846vw;
  }
  #contents .content div,
  #contents .content ul li {
    margin-bottom: 0.6em;
  }
}
@media (max-width: 768px) {
  #contents .content {
    max-width: 90.67vw;
    margin: 0 auto 4.67vw;
  }
  #contents .content ul li {
    margin-bottom: 10.67vw;
    font-size: 4.27vw;
    line-height: 1.4em;
    font-weight: 300;
  }
  #contents .content div {
    font-size: 4.27vw;
    line-height: 1.4em;
    font-weight: 300;
  }
  #contents .content div b {
    display: block;
  }
  #contents .content .title {
    width: 100%;
    margin: 0;
    font-size: 5.6vw;
  }
  #contents .content .title .icon {
    width: 9.33vw;
  }
  #contents .content .title .icon.beginner {
    width: 6.33vw;
    margin-right: 1.33vw;
  }
  #contents .content .title .text {
    margin-left: 0.77vw;
    font-size: 5.6vw;
    font-weight: 700;
  }
  #contents .content .title .text span {
    font-size: 4.2vw;
  }
  #contents .content .two-col {
    flex-direction: column;
    padding: 0 2.66vw;
  }
  #contents .content .two-col > div {
    width: 100%;
  }
  #contents .content .two-col .info-box .row {
    margin-top: 0;
  }
  #contents .content .two-col .beginner {
    font-size: 6.4vw;
    font-weight: 400;
    text-decoration: underline;
    padding-top: 5vw;
    padding-bottom: 8vw;
  }
  #contents .content .two-col .beginner .icon {
    width: 8vw;
  }
  #contents .content .two-col .beginner div {
    font-size: 6.4vw;
  }
  #contents .content .two-col .beginner .arrow {
    width: 6vw;
  }
}
/*---------------------------------------------
 * eye.html -- 目の病気一覧
 *---------------------------------------------*/
#page_menu_sp {
  display: none;
}

#disease-list {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 100px;
}
#disease-list .row {
  display: flex;
  margin-bottom: 2px;
  border-left: 4px solid #195CAA;
}
#disease-list .row .name {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 250px;
  margin-right: 2px;
  background-color: #F4FAFE;
  font-size: 18px;
  font-weight: 500;
}
#disease-list .row .detail {
  display: flex;
  flex-direction: column;
  background-color: #E9F3FD;
  width: calc(100% - 250px - 2px);
  padding: 30px 40px;
}
#disease-list .row:nth-child(2n) {
  border-left: 4px solid #69bf8e;
}
#disease-list .row:nth-child(2n) .name {
  background-color: #F5F8F7;
}
#disease-list .row:nth-child(2n) .detail {
  background-color: #E9F6F1;
}
#disease-list .row .detail .symptoms {
  padding-bottom: 20px;
  border-bottom: 1px dashed #333;
}
#disease-list .row .detail .text {
  padding-top: 20px;
}

@media (max-width: 1300px) {
  #disease-list {
    max-width: 84.615vw;
  }
  #disease-list .row .name {
    width: 19.23vw;
    font-size: 1.38vw;
  }
  #disease-list .row .detail {
    width: calc(100% - 19.23vw - 2px);
    padding: 2.31vw 3.08vw;
  }
  #disease-list .row .detail .symptoms {
    padding-bottom: 1.54vw;
  }
  #disease-list .row .detail .text {
    padding-top: 1.54vw;
  }
}
@media (max-width: 768px) {
  #page_menu_sp {
    display: block;
    margin-bottom: 6.67vw;
  }
  #page_menu_sp ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    list-style: none;
    margin-bottom: 2.67vw;
    padding: 0;
  }
  #page_menu_sp ul li a {
    display: block;
    font-size: 4.27vw;
    line-height: 1em;
    color: #195CAA;
    padding: 0 3.34vw;
    border-right: 1px solid #999;
  }
  #page_menu_sp ul li:last-child a {
    border: none;
  }
  #disease-list {
    max-width: 90.67vw;
  }
  #disease-list .row {
    display: flex;
    flex-direction: column;
    margin: 0 auto 5.34vw;
    border-left: 1.07vw solid #195CAA;
  }
  #disease-list .row .name {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
    background-color: #E9F3FD;
    font-size: 4.8vw;
    line-height: 1em;
    padding: 5.34vw 4vw;
  }
  #disease-list .row .name::after {
    position: relative;
    bottom: -5.34vw;
    display: block;
    content: "";
    width: 100%;
    border-bottom: 1px dashed #333;
  }
  #disease-list .row:nth-child(2n) {
    border-left: 1.07vw solid #69bf8e;
  }
  #disease-list .row:nth-child(2n) .name {
    background-color: #E9F6F1;
  }
  #disease-list .row .detail {
    width: 100%;
    padding: 5.34vw 4vw;
  }
  #disease-list .row .detail .symptoms {
    padding-bottom: 5.34vw;
    font-size: 4.27vw;
    font-weight: 400;
    line-height: 1.5em;
  }
  #disease-list .row .detail .text {
    padding-top: 5.34vw;
    font-size: 3.2vw;
    line-height: 1.8em;
  }
}
/*---------------------------------------------
 * cataract.html -- 白内障
 *---------------------------------------------*/
#cataract {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 50px;
  font-size: 1.2rem;
}
#cataract h3 {
  padding-bottom: 0.3em;
  color: #195CAA;
  font-weight: 500;
  border-bottom: 2px solid #195CAA;
}
#cataract h4 {
  padding-bottom: 0.3em;
  color: #195CAA;
  font-weight: 500;
}
#cataract figure {
  margin-top: 0;
  margin-bottom: 0;
}
#cataract > p {
  font-size: 1.5rem;
  line-height: normal;
}
#cataract > div {
  margin-bottom: 100px;
}
#cataract ul {
  margin: 0;
  padding: 0.5em 1em 0.5em 2em;
  font-size: 1.2rem;
  background-color: #e4f3ff;
  border-radius: 0.3em;
  -webkit-border-radius: 0.3em;
  -moz-border-radius: 0.3em;
  -ms-border-radius: 0.3em;
  -o-border-radius: 0.3em;
}
#cataract ul li {
  margin-bottom: 0.3em;
  line-height: 1.3em;
}
#cataract .like-camera {
  width: 100%;
  text-align: center;
}
#cataract .like-camera img {
  max-width: 750px;
  margin: 0 auto;
}
#cataract .major-causes .list {
  display: flex;
}
#cataract .major-causes .list img {
  max-width: 400px;
}
#cataract .major-causes table th,
#cataract .major-causes table td {
  padding: 0 1em;
}
#cataract .major-causes table th:nth-child(1) {
  width: 8em;
}
#cataract .major-causes table th:nth-child(2), #cataract .major-causes table th:nth-child(3) {
  width: 300px;
}
#cataract .cataract-symptoms .miekata {
  display: flex;
  flex-wrap: wrap;
  margin-top: 2em;
}
#cataract .cataract-symptoms .miekata figure {
  margin: 0 1em;
}
#cataract .cataract-symptoms .miekata figure figcaption {
  max-width: 300px;
  padding: 0.3em 0.5em;
  text-align: center;
  background-color: #195CAA;
  color: #fff;
}
#cataract .cataract-symptoms .miekata figure img {
  max-width: 300px;
}
#cataract .cataract-symptoms .miekata figure p {
  margin: 0;
}
#cataract .treatment ul li {
  line-height: normal;
}
#cataract .treatment ul li span {
  color: #195CAA;
  font-weight: 500;
}
#cataract .treatment > p {
  line-height: 2em;
}
#cataract .surgery h4 {
  margin-top: 2em;
  margin-bottom: 0.5em;
}
#cataract .surgery ul {
  margin-bottom: 2em;
}
#cataract .surgery > p {
  margin-top: 0;
  line-height: normal;
}
#cataract .surgery .surgery1 {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2em;
}
#cataract .surgery .surgery1 img {
  max-width: 300px;
  margin-right: 1em;
}
#cataract .surgery .surgery2 {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 3em;
}
#cataract .surgery .surgery2 img {
  max-width: 250px;
  margin-right: 1em;
}
#cataract .surgery table {
  border-collapse: collapse;
}
#cataract .surgery table th,
#cataract .surgery table td {
  padding: 0;
  border: 10px solid #fff;
}
#cataract .surgery table th {
  padding: 0.5em;
  font-weight: 500;
}
#cataract .surgery table tr {
  background-color: #edf7ff;
}
#cataract .surgery table tr:nth-child(odd) {
  background-color: #c7e4fb;
}
#cataract .surgery table tr:nth-child(1) {
  background-color: #195CAA;
  color: #fff;
}

#glaucoma .comparison tr th:first-child {
  border-left: 0;
}

#cataract .surgery table img {
  max-width: 300px;
}
#cataract .offer .list {
  margin-bottom: 2em;
}
#cataract .lenses {
  display: flex;
  flex-wrap: wrap;
}
#cataract .lenses > ul {
  width: 28em;
  margin-right: 2em;
  margin-bottom: 2em;
}
#cataract .lenses > ul > li {
  margin-bottom: 1em;
}
#cataract .lenses > ul > li:last-child {
  margin-bottom: 0;
}
#cataract .offer .lenses li ul {
  padding-left: 1em;
  padding-right: 0;
}
#cataract .lenses > div {
  width: 50%;
  display: flex;
  flex-wrap: wrap;
}
#cataract .lenses figure {
  margin: 0 1em 1em;
  width: 100%;
}
#cataract .lenses figure .imgs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
#cataract .lenses .imgs img {
  max-height: 140px;
  width: auto;
  max-width: 260px;
}
#cataract .lenses .imgs:nth-child(1) img:nth-child(1) {
  flex-grow: 1;
}
#cataract .lenses .imgs:nth-child(1) img:nth-child(2) {
  flex-grow: 2;
}
#cataract .lenses figure:nth-child(2) img {
  max-height: 150px;
  width: auto;
}
#cataract .lenses figure:nth-child(3) img {
  max-width: 400px;
  width: auto;
}
#cataract .lenses span {
  font-size: 0.7em;
  color: #195CAA;
}
#cataract .range img {
  margin-top: 3em;
  max-width: 90%;
}
#cataract .preoperative {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
#cataract .preoperative ul {
  width: 45%;
  margin-bottom: 2em;
}
#cataract .preoperative ul li {
  margin-bottom: 1em;
  line-height: normal;
}
#cataract .preoperative .images {
  display: flex;
  flex-wrap: wrap;
  width: 55%;
}
#cataract .preoperative .images:last-child {
  width: 100%;
}
#cataract .preoperative .images figure {
  margin: 0 2em 1em 0;
  margin-bottom: 1em;
  width: calc(50% - 4em);
}
#cataract .preoperative .images figure img {
  max-width: 400px;
}
#cataract .preoperative .images figure.s {
  width: 50%;
  max-width: 200px;
  margin: 0 2em 1em;
}
#cataract .preoperative .images figure.s img {
  max-width: 180px;
}
#cataract .preoperative .images figure figcaption {
  font-size: 0.9em;
}
#cataract .verion {
  display: flex;
}
#cataract .verion .list {
  width: 40%;
}
#cataract .verion .images {
  display: flex;
  flex-wrap: wrap;
  width: 60%;
}
#cataract .verion .images img {
  max-width: 160px;
}
#cataract .verion .images figcaption {
  font-size: 0.9em;
}
#cataract .schedule p {
  line-height: normal;
  margin-bottom: 2em;
}
#cataract .schedule p span {
  color: #195CA9;
}
#cataract .schedule img {
  margin-left: auto;
  margin-right: auto;
  max-width: 80%;
}

@media (max-width: 1300px) {
  #cataract {
    max-width: 84.615vw;
    margin-bottom: 3.846vw;
  }
  #cataract ul {
    font-size: 1.6vw;
  }
  #cataract h4 {
    font-size: 1.8vw;
  }
  #cataract > div {
    margin-bottom: 7.6vw;
  }
  #cataract > p {
    font-size: 1.6vw;
  }
  #cataract figure {
    margin-left: 1em;
    margin-right: 1em;
  }
  #cataract .cataract-symptoms .miekata figure figcaption {
    max-width: 34vw;
    padding: 0.3em 0.5em;
  }
  #cataract .cataract-symptoms .miekata figure p {
    font-size: 1.6vw;
    max-width: 32vw;
  }
  #cataract .cataract-symptoms .miekata figure img {
    max-width: 32vw;
  }
  #cataract .surgery .surgery1 img {
    display: block;
    max-width: 23vw;
  }
  #cataract .surgery .surgery2 img {
    display: block;
    width: 100%;
    max-width: 19.23vw;
    margin-right: 1.29vw;
    margin-bottom: 1em;
  }
  #cataract .surgery .surgery2 img:last-child {
    margin-right: 0;
  }
  #cataract .surgery table img {
    max-width: 23vw;
  }
  #cataract .offer .lenses > ul {
    width: 38vw;
    margin-right: 2vw;
  }
  #cataract .lenses figure figcaption {
    font-size: 1.6vw;
  }
  #cataract .preoperative .images figure figcaption {
    font-size: 1.6vw;
  }
  #cataract .preoperative .images figure.s {
    width: 50%;
    max-width: 15.38vw;
    margin: 0 2.5vw 1em;
  }
  #cataract .preoperative .images figure.s img {
    max-width: 15.38vw;
  }
}
@media (max-width: 768px) {
  #cataract ul,
  #cataract h4,
  #cataract > p {
    font-size: 4vw;
  }
  #cataract .major-causes .list {
    display: flex;
    flex-direction: column;
    margin-bottom: 2em;
  }
  #cataract .major-causes .list figure {
    max-width: 400px;
    margin: 1em auto 0;
  }
  #cataract .major-causes table th,
  #cataract .major-causes table td {
    padding: 0;
    border: 2px solid #fff;
  }
  #cataract .major-causes table tr th:first-child {
    width: 2em;
  }
  #cataract .major-causes table th:nth-child(1) {
    width: 8em;
  }
  #cataract .major-causes table th:nth-child(2), #cataract .major-causes table th:nth-child(3) {
    width: 300px;
  }
  #cataract .cataract-symptoms .miekata {
    flex-direction: column;
  }
  #cataract .cataract-symptoms .miekata figure {
    margin: 0 0 1em;
    width: 100%;
  }
  #cataract .cataract-symptoms .miekata figure figcaption {
    max-width: none;
    padding: 0.3em 0.5em;
    font-size: 3.4vw;
  }
  #cataract .cataract-symptoms .miekata figure p {
    font-size: 3vw;
    max-width: none;
  }
  #cataract .cataract-symptoms .miekata figure img {
    max-width: none;
  }
  #cataract .surgery .surgery1 {
    flex-direction: column;
  }
  #cataract .surgery .surgery1 img {
    max-width: none;
    margin-bottom: 1em;
  }
  #cataract .surgery .surgery2 img {
    max-width: none;
    margin-bottom: 1em;
  }
  #cataract .surgery table tr th {
    padding: 0.1em;
    font-size: 3.2vw;
  }
  #cataract .surgery table tr th:first-child {
    /* display: block; */
    width: 1.5em;
    padding: 0.1em 0 0.1em 0.5em;
    writing-mode: vertical-lr;
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: vertical-lr;
    text-orientation: upright;
    -webkit-text-orientation: upright;
  }
  #cataract .surgery table img {
    max-width: none;
  }
  #cataract .offer {
    display: flex;
    flex-direction: column;
  }
  #cataract .offer .list li {
    line-height: normal;
    margin-bottom: 1em;
  }
  #cataract .offer .lenses > ul {
    width: 100%;
    margin-right: 0;
  }
  #cataract .offer .lenses li ul li {
    margin-bottom: 0;
  }
  #cataract .offer .lenses > div {
    width: 100%;
  }
  #cataract .lenses .imgs img {
    height: auto;
    max-height: none;
    max-width: none;
  }
  #cataract .lenses .imgs img:nth-child(1) {
    width: 30%;
  }
  #cataract .lenses .imgs img:nth-child(2) {
    width: 70%;
  }
  #cataract .lenses figure:nth-child(2) img {
    width: 30%;
    height: auto;
    max-height: none;
  }
  #cataract .lenses figure:nth-child(3) img {
    width: 100%;
    max-width: none;
    height: auto;
    max-height: none;
  }
  #cataract .lenses figure figcaption {
    font-size: 4vw;
  }
  #cataract .range {
    max-width: 400px;
  }
  #cataract .preoperative {
    flex-direction: column;
  }
  #cataract .preoperative ul {
    width: 100%;
    margin-bottom: 1em;
  }
  #cataract .preoperative ul li {
    margin-bottom: 1em;
  }
  #cataract .preoperative .images {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 1em;
  }
  #cataract .preoperative .images figure {
    margin: 0 0 1em;
  }
  #cataract .preoperative .images figure img {
    max-width: none;
  }
  #cataract .preoperative .images figure figcaption {
    font-size: 3.2vw;
  }
  #cataract .preoperative .images figure.s {
    margin: 0;
    max-width: 45%;
  }
  #cataract .preoperative .images figure.s img {
    max-width: 90%;
  }
  #cataract .preoperative .images:last-child figure {
    width: 100%;
  }
  #cataract .verion {
    flex-direction: column;
  }
  #cataract .verion .list {
    width: 100%;
  }
  #cataract .verion .images {
    width: 100%;
  }
  #cataract .verion .images figure {
    width: 50%;
    margin: 0;
  }
  #cataract .schedule {
    flex-direction: column;
  }
  #cataract .schedule img {
    margin: 0 0 1em;
    width: 100%;
    max-width: none;
  }
}
/*---------------------------------------------
 * glaucoma.html -- 緑内障
 *---------------------------------------------*/
#glaucoma {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 50px;
  font-size: 1.2rem;
}
#glaucoma h3 {
  padding-bottom: 0.3em;
  color: #195CAA;
  font-weight: 500;
  border-bottom: 2px solid #195CAA;
}
#glaucoma h4 {
  margin-top: 2em;
  padding-bottom: 0;
  color: #195CAA;
  font-weight: 500;
  line-height: normal;
}
#glaucoma > p {
  font-size: 1.5rem;
  line-height: normal;
}
#glaucoma > div {
  margin-bottom: 50px;
}
#glaucoma > figure img {
  max-width: 550px;
}
#glaucoma ul {
  font-size: 1.2rem;
}
#glaucoma ul li {
  margin-bottom: 0.3em;
  line-height: normal;
}
#glaucoma .whats_glaucoma {
  font-size: 1.1em;
}
#glaucoma .whats_glaucoma li {
  margin-bottom: 1em;
  line-height: normal;
}
#glaucoma .whats_glaucoma li span {
  color: #195CAA;
  font-size: 1.3em;
  font-weight: 500;
}
#glaucoma .comparison tr {
  background-color: #edf7ff;
}
#glaucoma .comparison tr th {
  padding: 0.5em;
  white-space: nowrap;
}
#glaucoma .comparison tr td {
  padding: 0.5em;
  font-size: 1.1rem;
}
#glaucoma .comparison tr td ul {
  padding-left: 1em;
  font-size: 1.1rem;
}
#glaucoma .comparison tr:nth-child(odd) {
  background-color: #c7e4fb;
}
#glaucoma .comparison tr:nth-child(1) {
  background-color: #195CAA;
  color: #fff;
}
#glaucoma .comparison tr:nth-child(2) img {
  max-width: 120px;
  margin: 0 auto;
}
#glaucoma .slt {
  display: flex;
}
#glaucoma .slt ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
#glaucoma .slt ul li {
  margin-bottom: 1em;
}
#glaucoma .slt img {
  max-width: 360px;
}

@media (max-width: 1300px) {
  #glaucoma {
    max-width: 84.615vw;
    margin-bottom: 3.846vw;
  }
  #glaucoma h4 {
    font-size: 1.8vw;
  }
}
@media (max-width: 768px) {
  #glaucoma ul {
    font-size: 4vw;
    padding-left: 1em;
  }
  #glaucoma h4 {
    font-size: 4.8vw;
  }
  #glaucoma > p {
    font-size: 4vw;
  }
  #glaucoma figure {
    margin: 0 0 1em;
  }
  #glaucoma .comparison tr th {
    padding: 0.5em;
    font-size: 3.2vw;
    white-space: normal;
  }
  #glaucoma .comparison tr th:first-child {
    width: 2em;
    padding: 0;
  }
  #glaucoma .comparison tr th:first-child span {
    white-space: pre;
    writing-mode: vertical-lr;
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: vertical-lr;
    text-orientation: upright;
    -webkit-text-orientation: upright;
  }
  #glaucoma .comparison tr th:first-child br {
    display: none;
  }
  #glaucoma .comparison tr td {
    vertical-align: top;
  }
  #glaucoma .comparison tr td ul {
    margin: 0;
  }
}
#notice > div {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 50px;
  padding: 0 15px;
}
#notice > div .info-note {
  width: 520px;
}
#notice > div .info-note .title {
  padding-bottom: 10px;
  border-bottom: 2px solid #195CAA;
  font-size: 20px;
  color: #195CAA;
  font-weight: 500;
}
#notice > div .info-note .u1 {
  list-style: none;
  padding-left: 1.5em;
}
#notice > div .info-note .u1 li {
  position: relative;
}
#notice > div .info-note .u1 li::before {
  content: "";
  display: inline-block;
  width: 0.6em;
  height: 0.6em;
  background-color: #195CAA;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  position: absolute;
  top: 0.5em;
  left: -1.2em;
}
#notice > div .info-note .title2 {
  font-size: 16px;
  font-weight: 500;
}
#notice > div .info-note ul {
  margin-bottom: 2em;
  padding-left: 1.5em;
}
#notice > div .info-note ul li {
  margin-bottom: 0.5em;
  line-height: 1.5em;
}
#notice > div .info-box {
  width: 520px;
}

@media (max-width: 1300px) {
  #notice > div {
    max-width: 84.615vw;
    margin-bottom: 3.846vw;
  }
  #notice > div .info-note {
    width: 40vw;
  }
  #notice > div .info-note .title {
    padding-bottom: 0.77vw;
  }
  #notice > div .info-box {
    width: 40vw;
  }
}
@media (max-width: 768px) {
  #notice > div {
    width: 90.67vw;
    margin-bottom: 2em;
    padding: 0;
    flex-direction: column;
  }
  #notice > div .info-note,
  #notice > div .info-box {
    width: 100%;
  }
  #notice > div .info-note .title,
  #notice > div .info-note .title2 {
    padding-bottom: 2.14vw;
    font-size: 4.27vw;
  }
  #notice > div .info-note ul {
    margin-bottom: 13.34vw;
    padding-left: 2em;
  }
  #notice > div .info-note .u1 {
    padding-left: 2em;
  }
  #notice > div .info-box {
    margin-bottom: 13.34vw;
  }
}
#links h2 {
  margin-bottom: 20px;
}
#links > div {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 50px;
  padding: 0 15px;
}
#links .contact-info {
  display: flex;
  flex-wrap: wrap;
}
#links .contact-info > p {
  width: 100%;
  margin: 0;
  padding-bottom: 10px;
}
#links .contact-info .info-note {
  width: 50%;
}
#links .contact-info .info-note .u1 {
  list-style: none;
  padding-left: 1.5em;
}
#links .contact-info .info-note .u1 li {
  position: relative;
  margin-bottom: 1em;
}
#links .contact-info .info-note .u1 li::before {
  content: "";
  display: inline-block;
  width: 0.6em;
  height: 0.6em;
  background-color: #195CAA;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  position: absolute;
  top: 0.5em;
  left: -1.2em;
}

@media (max-width: 1300px) {
  #links > div {
    max-width: 84.615vw;
    margin-bottom: 3.846vw;
  }
}
@media (max-width: 768px) {
  #links > div {
    width: 90.67vw;
    margin-bottom: 2em;
    padding: 0;
  }
  #links .contact-info .info-note {
    width: 100%;
  }
  #links .contact-info .info-note .u1 {
    margin-top: 0;
  }
}
/*---------------------------------------------
 * contact.html -- お問合せ・予約
 *---------------------------------------------*/
#contact > div {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 50px;
}
#contact .contact-info {
  display: flex;
  justify-content: space-between;
}
#contact .contact-info .info-note {
  width: 520px;
}
#contact .contact-info .info-note .title {
  padding-bottom: 10px;
  border-bottom: 2px solid #195CAA;
  font-size: 20px;
  color: #195CAA;
  font-weight: 500;
}
#contact .contact-info .info-note .u1 {
  list-style: none;
  padding-left: 1.5em;
}
#contact .contact-info .info-note .u1 li {
  position: relative;
}
#contact .contact-info .info-note .u1 li::before {
  content: "";
  display: inline-block;
  width: 0.6em;
  height: 0.6em;
  background-color: #195CAA;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  position: absolute;
  top: 0.5em;
  left: -1.2em;
}
#contact .contact-info .info-note .title2 {
  font-size: 16px;
  font-weight: 500;
}
#contact .contact-info .info-note ul {
  margin-bottom: 2em;
  padding-left: 1.5em;
}
#contact .contact-info .info-note ul li {
  margin-bottom: 0.5em;
  line-height: 1.5em;
}
#contact .contact-info .info-box {
  width: 520px;
}
#contact .contact-info .info-box .week {
  width: 420px;
}
#contact .contact-info .info-box .list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  height: 70px;
}
#contact .contact-info .info-box .list .row {
  width: 220px;
}
#contact .info-box {
  margin: 0;
}
#contact .sched-btn-box {
  margin-top: 30px;
  margin-bottom: 30px;
  cursor: pointer;
}
#contact .sched-btn-box img.close {
  display: none;
}
#contact #beginner .beginner {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  font-size: 34px;
  font-weight: 700;
  color: #195CAA;
  text-decoration: none;
}
#contact #beginner .beginner .icon {
  width: 40px;
  margin-left: 0;
  margin-right: 10px;
}
#contact #beginner .beginner .arrow {
  width: 30px;
  margin-left: 10px;
  margin-right: 0;
}
#contact #beginner a.beginner {
  padding-top: 10px;
  padding-bottom: 20px;
}
#contact #beginner .download-box {
  padding: 30px;
  background-color: #FDF4E6;
  font-size: 14px;
  line-height: 1.6em;
}
#contact #beginner .download-box img {
  width: 100%;
  padding-top: 1em;
}
#contact #beginner .info-note {
  margin-top: 1em;
}
#contact #doctor-sched-sp {
  display: none;
}
#contact #doctor-sched-sp .row {
  margin-top: 0;
}

#modal {
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  width: 100vw;
  height: 100vh;
  z-index: 50;
  display: none;
  justify-content: center;
  align-items: center;
}
#modal .modal-box {
  width: 700px;
  background-color: #fff;
  opacity: 1;
}
#modal .modal-box .modal-header {
  display: flex;
  justify-content: flex-end;
  padding: 10px 10px 0;
}
#modal .modal-box .modal-body {
  padding: 0 36px;
}

#modal-close {
  width: 60px;
  cursor: pointer;
}

@media (max-width: 1300px) {
  #contact > div {
    max-width: 84.615vw;
    margin-bottom: 3.846vw;
  }
  #contact .contact-info .info-note {
    width: 40vw;
  }
  #contact .contact-info .info-note .title {
    padding-bottom: 0.77vw;
    font-size: 1.54vw;
  }
  #contact .contact-info .info-note .title2 {
    font-size: 1.23vw;
  }
  #contact .contact-info .info-box {
    width: 40vw;
  }
  #contact .contact-info .info-box.times .week {
    width: 32.3lvw;
  }
  #contact .contact-info .info-box.times .list {
    height: 100px;
  }
  #contact .contact-info .info-box.times .list .row {
    width: 50%;
  }
  #contact .sched-btn-box {
    margin-top: 5.23vw;
  }
  #modal .modal-box {
    width: 53.846vw;
  }
  #modal .modal-box .modal-header {
    padding: 0.77vw 0.77vw 0;
  }
  #modal .modal-box .modal-body {
    padding: 0 2.77vw;
  }
  #modal-close {
    width: 4.615vw;
  }
}
@media (max-width: 900px) {
  #contact .contact-info .info-box.times .list {
    height: auto;
  }
  #contact .contact-info .info-box.times .list .row {
    width: 100%;
  }
}
@media (max-width: 768px) {
  #contact > div {
    margin-bottom: 13.34vw;
  }
  #contact p,
  #contact li {
    font-size: 3.2vw;
    line-height: 1.8em;
  }
  #contact .contact-info {
    flex-direction: column;
  }
  #contact .contact-info .info-note,
  #contact .contact-info .info-box {
    width: 100%;
  }
  #contact .contact-info .info-note .title,
  #contact .contact-info .info-note .title2 {
    padding-bottom: 2.14vw;
    font-size: 4.27vw;
  }
  #contact .contact-info .info-note ul {
    margin-bottom: 13.34vw;
    padding-left: 2em;
  }
  #contact .contact-info .info-note .u1 {
    padding-left: 2em;
  }
  #contact .contact-info .info-box {
    margin-bottom: 13.34vw;
  }
  #contact .contact-info .info-box.times {
    margin-bottom: 0;
  }
  #contact .contact-info .info-box.times .week {
    width: 100%;
    margin-bottom: 1em;
  }
  #contact .contact-info .info-box.times .list .row {
    margin-top: 0;
    margin-bottom: 1em;
  }
  #contact #beginner a.beginner {
    font-size: 6.4vw;
    font-weight: 400;
    text-decoration: underline;
    padding-top: 5vw;
    padding-bottom: 8vw;
  }
  #contact #beginner a.beginner .icon {
    width: 8vw;
  }
  #contact #beginner a.beginner .arrow {
    width: 6vw;
  }
}
/*---------------------------------------------
 * recruit.html -- 採用情報
 *---------------------------------------------*/
#recruit .recruit {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 50px;
  display: flex;
  justify-content: space-between;
}
#recruit .recruit .job-box {
  width: 520px;
  line-height: 1.8em;
}
#recruit .recruit .job-box p {
  margin: 0 0 5em;
  font-size: 16px;
  line-height: 1.8em;
  min-height: 20vh;
}
#recruit .recruit .job-box .job-list .title {
  padding-bottom: 10px;
  font-size: 18px;
  font-weight: 500;
  color: #195CAA;
  border-bottom: 2px solid #195CAA;
}
#recruit .recruit .job-box .job-list .job {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100px;
  font-size: 18px;
  border-bottom: 1px dashed;
}
#recruit .recruit .job-box .job-list .job .link-btn a {
  padding: 10px 10px 10px 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  line-height: 1em;
  background-color: #F38618;
  border-radius: 2em;
  -webkit-border-radius: 2em;
  -moz-border-radius: 2em;
  -ms-border-radius: 2em;
  -o-border-radius: 2em;
}
#recruit .recruit .job-box .job-list .job .link-btn a span {
  display: block;
  margin-left: 8px;
  transform: rotateZ(-90deg);
  -webkit-transform: rotateZ(-90deg);
  -moz-transform: rotateZ(-90deg);
  -ms-transform: rotateZ(-90deg);
  -o-transform: rotateZ(-90deg);
}
#recruit .recruit .application {
  width: 520px;
  padding: 30px;
  border: 1px solid #195CAA;
  background-color: #F0F6FA;
}
#recruit .recruit .application .title {
  font-size: 18px;
  font-weight: 500;
  color: #195CAA;
  margin-bottom: 25px;
}
#recruit .recruit .application p {
  display: block;
  line-height: 1.8em;
  margin-bottom: 30px;
}
#recruit .recruit .application .name {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 0.5em;
}
#recruit .recruit .application .addr {
  line-height: 1.8em;
  margin-bottom: 30px;
}
#recruit .recruit .application .tel {
  font-size: 18px;
  font-weight: 500;
  color: #F38618;
}
#recruit .recruit .application .email {
  font-size: 18px;
  font-weight: 500;
  line-height: 2em;
}
#recruit .recruit .application .email span {
  color: #195CAA;
  border-bottom: 2px solid #195CAA;
}

@media (max-width: 1300px) {
  #recruit .recruit {
    max-width: 84.615vw;
    margin: 0 auto 50px;
    margin-bottom: 3.846vw;
  }
  #recruit .recruit .job-box {
    width: 49%;
  }
  #recruit .recruit .job-box .job-list .job {
    font-size: 1.5vw;
  }
  #recruit .recruit .job-box .job-list .job .link-btn a {
    font-size: 1.23vw;
    padding: 0.77vw 0.77vw 0.77vw 1.23vw;
  }
  #recruit .recruit .job-box .job-list .job .link-btn a span {
    font-size: 1.4vw;
    margin: 0;
  }
  #recruit .recruit .application {
    width: 49%;
  }
}
@media (max-width: 768px) {
  #recruit .recruit {
    max-width: 90.67vw;
    flex-direction: column;
    justify-content: center;
    flex-wrap: wrap;
  }
  #recruit .recruit .job-box {
    width: 100%;
    margin-bottom: 13.33vw;
  }
  #recruit .recruit .job-box p {
    margin: 0 0 5em;
    font-size: 3.734vw;
    line-height: 1.8em;
    font-weight: 300;
  }
  #recruit .recruit .job-box .job-list .title {
    margin-bottom: 2.67vw;
    padding-bottom: 2.14vw;
    font-size: 4vw;
  }
  #recruit .recruit .job-box .job-list .job {
    display: block;
    height: auto;
    padding: 6.67vw 0;
    font-size: 3.734vw;
  }
  #recruit .recruit .job-box .job-list .job .link-btn {
    margin: 6.67vw auto 0;
    width: 66.77vw;
  }
  #recruit .recruit .job-box .job-list .job .link-btn a {
    padding: 2.67vw 0;
    font-size: 3.734vw;
  }
  #recruit .recruit .job-box .job-list .job .link-btn a span {
    margin-left: 8px;
    font-size: 4vw;
  }
  #recruit .recruit .application {
    width: 100%;
    margin-bottom: 13.33vw;
    padding: 5.33vw;
  }
  #recruit .recruit .application .title {
    font-size: 4.27vw;
    margin-bottom: 4vw;
  }
  #recruit .recruit .application p {
    display: block;
    font-size: 4vw;
    font-weight: 300;
    margin-bottom: 10vw;
  }
  #recruit .recruit .application .name {
    font-size: 4vw;
    margin-bottom: 1em;
  }
  #recruit .recruit .application .addr {
    font-size: 4vw;
    line-height: 1.8em;
    font-weight: 300;
    margin-bottom: 10vw;
  }
  #recruit .recruit .application .tel {
    font-size: 4vw;
    font-weight: 500;
  }
  #recruit .recruit .application .email {
    font-size: 4vw;
  }
}
#job-discription {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 50px;
}
#job-discription .title {
  margin-bottom: 40px;
  padding-bottom: 10px;
  font-size: 18px;
  font-weight: 500;
  color: #195CAA;
  border-bottom: 2px solid #195CAA;
}
#job-discription .job {
  font-size: 18px;
  font-weight: 500;
  color: #195CAA;
  margin-bottom: 30px;
}
#job-discription .discription {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 50px;
  border: 1px solid #ccc;
}
#job-discription .discription dl {
  display: flex;
  margin: 0;
  border-bottom: 1px solid #ccc;
}
#job-discription .discription dl:last-child {
  border: none;
}
#job-discription .discription dl dt {
  width: 210px;
  padding: 20px 28px;
  background-color: #F0F6FA;
  font-weight: 500;
}
#job-discription .discription dl dd {
  width: 890px;
  margin: 0;
  padding: 20px 28px;
  line-height: normal;
}
#job-discription .discription dl dd b {
  font-weight: 500;
}
#job-discription .discription dl dd span {
  display: inline-block;
}
#job-discription .discription dl dd .attn {
  color: #F38618;
}
#job-discription .discription dl dd .route {
  width: 10em;
}
#job-discription .discription dl dd .sta {
  width: 6em;
}
#job-discription .discription dl dd .exit {
  width: 5em;
}
@media (max-width: 1300px) {
  #job-discription {
    max-width: 84.615vw;
    margin-bottom: 3.846vw;
  }
}
@media (max-width: 768px) {
  #job-discription {
    max-width: 90.67vw;
  }
  #job-discription .title,
  #job-discription .job {
    font-size: 4.27vw;
    margin-bottom: 4vw;
  }
  #job-discription .discription dl {
    font-size: 3.467vw;
  }
  #job-discription .discription dl dt {
    line-height: normal;
    padding: 1em 2.67vw;
  }
  #job-discription .discription dl dd {
    line-height: normal;
    padding: 1em 2.67vw;
    font-weight: 300;
  }
}
/*---------------------------------------------
 * PICKUP(共通) -
 *---------------------------------------------*/
/*#pickup .pickup {
  position: relative;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  z-index: 20;
}
#pickup .pickup .item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 190px;
    height: auto;
    margin: 5px;
    background-color: #f3f8fd;
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
}*/
#pickup .pickup .item a {
  color: #333;
  text-decoration: none;
}

/*
#pickup .pickup .item .title {
    color: #fff;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 76px;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    background: linear-gradient(#015bac, #4e85c1);
    border-radius: 15px 15px 0 0;
    padding-bottom:12px;
}
#pickup .pickup .item .title span {
    display: block;
    font-size: 0.9em;
}
#pickup .pickup .item .title::after {
    content: url(/img/arrow.png);
    width: 40px;
    height: 40px;
    display: inline-block;
    position: absolute;
    bottom: -20px;
}
#pickup .pickup .item .text {
    font-size: 13px;
    padding: 16px;
    height: 130px;
    font-size: 14px;
}*/
@media (max-width: 1300px) {
  /*
    #pickup .pickup {
    }
    #pickup .pickup .item {
        width: 14.615vw;
        height: 16.154vw;
        margin: 0.385vw;
        padding-top: 1.538vw;
        border-radius: 1.154vw;
        -webkit-border-radius: 1.154vw;
        -moz-border-radius: 1.154vw;
        -ms-border-radius: 1.154vw;
        -o-border-radius: 1.154vw;
    }
    #pickup .pickup .item .title {
        height: 5.846vw;
        font-size: 1.23vw;
        line-height: 1.3em;
    }
    #pickup .pickup .item .title span {
        font-size: 0.9em;
    }
    #pickup .pickup .item .title::after {
        content: '';
        width: 4.6vw;
        left: calc(50% - 4.6vw / 2);

    }
    #pickup .pickup .item .text {
        font-size: 1vw;
        line-height: 1.3em;
        padding: 1.23vw;
        height: 10vw;
        font-size: 1.077vw;
    }*/
}
@media (max-width: 768px) {
  /*
      #pickup .pickup {
          position: relative;
          top: auto;
          left: auto;
          right: auto;
          display: flex;
          justify-content: center;
          flex-wrap: wrap;
          padding: 6.27vw 0;
      }

      #pickup .pickup .item {
          width: 46vw;
          height: 36.67vw;
          margin: 1vw;
          padding-top: 1.538vw;
          border-radius: 1.154vw;
      }
      #pickup .pickup .item .title {
          height: 16vw;
          font-size: 4.27vw;
          line-height: 1.3em;
      }
      #pickup .pickup .item .title span {
          font-size: 0.9em;
      }
      #pickup .pickup .item .title::after {
          content: '';
          width: 13.33vw;
          left: calc(50% - 13.33vw / 2);

      }
      #pickup .pickup .item .text {
          font-size: 3.2vw;
          line-height: 1.3em;
          padding: 1.23vw;
          height: 19.33vw;
          font-size: 3.2vw;
      }
  */
}



/*---------------------------------------------
	cataract バナー表示追加(2025/08)
 *---------------------------------------------*/
#cataract .banner_list img {
	margin-bottom: 6px;
}

#cataract .banner_list {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 20px;
}

#cataract .banner_list div {
	padding: 20px;
	width: 50%;
	max-width: 520px;
	display: flex;
	justify-content: start;
	align-items: start;
	flex-shrink: 1;
	flex-direction: column;
}

@media (max-width: 1300px) {
	#cataract .banner_list {
		padding: 1.5vw;
	}
	#icl .banner_list div {
		padding: 1.5vw;
	}
}
@media (max-width: 768px) {
	#cataract .banner_list {
		max-width: none;
		margin: 0;
	}
	#cataract .banner_list {
		padding: 8vw 0;
		justify-content: start;
	}
	#cataract .banner_list div {
		padding: 2.67vw 0;
		width: 90.67vw;
		margin: auto;
	}
}


