@charset "UTF-8";
#mobile-nav {
  display: none; }

.pc-none {
  display: none; }

.mobile-none {
  display: block; }

h1 {
  width: 33.3965%;
  max-width: 354px;
  margin: 0 auto; }

h2 {
  font-size: 2.59vw;
  font-weight: 500;
  color: #007e7a;
  padding: 1.1em 0 0.3em; }
  @media (min-width: 1060px) {
    h2 {
      font-size: 2.8rem; } }

.plus-border-t {
  border-top: solid 2px #007e7a; }

.plus-border-b {
  border-bottom: solid 2px #007e7a;
  margin-bottom: 3px; }

.philosophy-info {
  width: 100%;
  max-width: 1060px;
  padding: 0 2.8302%; }

.philosophy-info-in {
  width: 70%;
  margin: 5% auto 0; }

h3 {
  font-size: 2.22vw; }
  @media (min-width: 1060px) {
    h3 {
      font-size: 2.4rem; } }

h4 {
  width: 100%;
  padding: 0.16em 0;
  text-align: center;
  font-size: 1.85vw;
  font-weight: 500;
  color: #fff;
  background-color: #007e7a;
  border-radius: 0.5em; }
  @media (min-width: 1060px) {
    h4 {
      font-size: 2rem; } }

/*---------------
トップ
----------------*/
#top-main {
  width: 100%;
  padding: 0 2.8302%;
  position: relative;
  line-height: 0; }

.catchcopy {
  width: 32.642%;
  position: absolute;
  top: 38%;
  left: 50%;
  transform: translate(-50%, 0%); }

#topic-block {
  width: 100%;
  max-width: 1000px;
  margin: 3% auto 4%; }

#topic {
  width: 70%;
  padding: 0.5em 1.5em;
  margin: 0 auto;
  background-color: #007e7a;
  border: solid 2px #007e7a;
  border-radius: 0.7em 0.7em 0 0;
  line-height: 1;
  color: #fff; }
  #topic span {
    font-size: 1.85vw;
    font-weight: 500;
    letter-spacing: 0.2em; }
    @media (min-width: 1060px) {
      #topic span {
        font-size: 2rem; } }

#topic-box {
  width: 70%;
  padding: 0.625em 1.5em 1.25em 1.5em;
  margin: 0 auto;
  border: solid 2px #007e7a;
  border-radius: 0 0 0.7em 0.7em;
  line-height: 1; }
  #topic-box li {
    width: 100%;
    display: flex;
    padding: 1em 0;
    border-bottom: dashed 1px #516463;
    line-height: 1.4em; }
    #topic-box li a {
      display: block;
      width: 80%; }
    #topic-box li span {
      display: block;
      color: #007e7a;
      width: 20%;
      vertical-align: top; }

.topic-list {
  display: block;
  width: 27.674%;
  padding: 0.6525em 0;
  background-color: #e6e3d9;
  text-align: center;
  margin: 0.7em auto 0;
  font-weight: 500;
  border-radius: 0.7em; }

#time-table {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  line-height: 1;
  padding: 3.523% 0;
  background-color: #e6e3d9;
  background-image: linear-gradient(rgba(255, 255, 255, 0.5) 10%, transparent 10%);
  background-size: 10px 10px;
  position: relative; }
  #time-table::after {
    content: "";
    width: 100vw;
    height: 100%;
    background-color: #e6e3d9;
    background-image: linear-gradient(rgba(255, 255, 255, 0.5) 10%, transparent 10%);
    background-size: 10px 10px;
    position: absolute;
    top: 0;
    right: 90%;
    z-index: -1; }
  #time-table::before {
    content: "";
    width: 100vw;
    height: 100%;
    background-color: #e6e3d9;
    background-image: linear-gradient(rgba(255, 255, 255, 0.5) 10%, transparent 10%);
    background-size: 10px 10px;
    position: absolute;
    top: 0;
    left: 90%;
    z-index: -1; }

#top-table {
  width: 70%;
  margin: 0 auto;
  background-color: #fff;
  padding: 3% 3% 1.7%;
  border-radius: 0.7em; }
  #top-table table {
    width: 100%;
    text-align: center;
    color: #007e7a; }
  #top-table th,
  #top-table td {
    padding: 0.6em 0;
    border: solid 2px #007e7a; }
  #top-table th {
    background-color: #d1df94; }
    #top-table th:first-child {
      width: 28%;
      color: #fff;
      background-color: #007e7a; }
  #top-table td:first-child {
    width: 28%;
    font-size: 1.76vw; }
    @media (min-width: 1060px) {
      #top-table td:first-child {
        font-size: 1.9rem; } }
  #top-table td span {
    font-size: 70%;
    line-height: 1.6em; }
  #top-table .check {
    vertical-align: middle; }
    #top-table .check::before {
      content: "";
      display: block;
      width: 1.25em;
      height: 1.25em;
      border-radius: 50%;
      background-color: #007e7a;
      margin: 0 auto; }
  #top-table .check-1 {
    vertical-align: middle; }
    #top-table .check-1::before {
      content: "";
      display: block;
      width: 0.9em;
      height: 2px;
      background-color: #007e7a;
      margin: 0 auto; }
  #top-table p {
    margin-top: 0.4445em; }
    #top-table p::before {
      display: inline-block;
      content: "\025c6";
      color: #007e7a;
      width: 1em;
      height: 1em; }

/* Googleマップ　レスポンシブ */
#access {
  width: 100%;
  max-width: 1060px;
  margin: 3.774% auto 0; }

#access-title {
  width: 100%;
  padding: 0 2.8302%;
  letter-spacing: 0.5em; }
  #access-title p {
    text-align: center;
    font-size: 2.6vw;
    font-weight: 500;
    color: #007e7a;
    border-top: solid 2px #007e7a;
    padding: 0.4em 0 0.3em; }
    @media (min-width: 1060px) {
      #access-title p {
        font-size: 2.8rem; } }

#access-map {
  width: 100%;
  max-width: 1060px;
  height: 0;
  margin: 0 auto;
  overflow: hidden;
  padding-bottom: 42.453%;
  position: relative; }
  #access-map iframe {
    width: 100%;
    height: 100%;
    padding: 0 2.8302%;
    position: absolute;
    left: 0;
    top: 0; }

#ortho-top-banner {
  width: 57%;
  margin: 4% auto 6%;
  transition: 0.4s; }
  #ortho-top-banner a {
    display: block;
    line-height: 0; }
  #ortho-top-banner img {
    border-radius: 0.6em; }
  @media (min-width: 761px) {
    #ortho-top-banner:hover {
      transform: scale(1.03); } }

/*---------------
当院について
----------------*/
#content {
  margin-top: 1.8%; }

#philosophy-box {
  width: 100%;
  max-width: 1060px;
  text-align: center;
  padding: 0.9% 0 3.5%;
  background-color: #e6e3d9;
  background-image: linear-gradient(rgba(255, 255, 255, 0.5) 10%, transparent 10%);
  background-size: 10px 10px;
  position: relative; }
  #philosophy-box::after {
    content: "";
    width: 100vw;
    height: 100%;
    background-color: #e6e3d9;
    background-image: linear-gradient(rgba(255, 255, 255, 0.5) 10%, transparent 10%);
    background-size: 10px 10px;
    position: absolute;
    top: 0;
    right: 90%;
    z-index: -1; }
  #philosophy-box::before {
    content: "";
    width: 100vw;
    height: 100%;
    background-color: #e6e3d9;
    background-image: linear-gradient(rgba(255, 255, 255, 0.5) 10%, transparent 10%);
    background-size: 10px 10px;
    position: absolute;
    top: 0;
    left: 90%;
    z-index: -1; }

#philosophy-box-in {
  width: 100%;
  padding: 0 2.8302%; }

.philosophy {
  width: 70%;
  margin: 0 auto;
  letter-spacing: 0.2em; }
  .philosophy p {
    font-size: 2.407vw;
    line-height: 160%;
    padding-top: 1.5%; }
    @media (min-width: 1060px) {
      .philosophy p {
        font-size: 2.6rem; } }
  .philosophy .expansion {
    font-size: 2.78vw; }
    @media (min-width: 1060px) {
      .philosophy .expansion {
        font-size: 3rem; } }

.medical-treatment {
  display: grid;
  grid-template-columns: 26% 22% 27% 25%;
  margin-top: 0.8em; }

.grid-item1 {
  line-height: 2.4em;
  text-decoration: underline; }
  .grid-item1::before {
    content: "●";
    display: inline-block;
    width: 1em;
    height: 1em;
    color: #007e7a; }

.medical-information {
  font-size: 85%;
  text-align: center;
  margin-top: 1em; }

.bg-wrap {
  width: 70%;
  margin: 2% auto 0;
  padding: 0.6em 0;
  background-color: #e6e3d9;
  border-radius: 0.7em; }

.facility {
  display: flex;
  justify-content: center;
  margin-top: 3%; }

.facility-box {
  width: 31.4%;
  height: auto;
  line-height: 1;
  margin-right: 3%; }
  .facility-box:last-child {
    margin: 0; }
  .facility-box p {
    text-align: center;
    background-color: #d1df94;
    padding: 0.6em 0;
    border-radius: 0.6em;
    margin-top: 0.6em; }

/*---------------
診療のご案内
----------------*/
.examination-box {
  width: 100%;
  max-width: 1060px;
  display: flex;
  flex-direction: column;
  padding: 0 2.8302%; }

.examination-box_in {
  width: 70%;
  display: flex;
  justify-content: space-between;
  margin: 0 auto 4%; }

.eye-icon {
  width: 13.429%; }
  .eye-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: top; }

.examination-text {
  display: flex;
  flex-direction: column;
  width: 84.429%; }

.h3_text {
  padding-top: 0.5em;
  margin-top: 0.6em;
  border-top: solid 2px #007e7a;
  text-align: justify; }

/*---------------
お問い合わせ
----------------*/
#contact-box {
  width: 100%;
  max-width: 1060px;
  padding: 0 2.8302%;
  background-color: #e6e3d9;
  background-image: linear-gradient(rgba(255, 255, 255, 0.5) 10%, transparent 10%);
  background-size: 10px 10px;
  position: relative; }

#contact-box-in {
  width: 70%;
  margin: 0 auto;
  padding: 3% 0; }

.contact-text p {
  margin: 2.2em 0 0.3em;
  color: #d80c18;
  font-size: 1.2963vw; }
  @media (min-width: 1060px) {
    .contact-text p {
      font-size: 1.4rem; } }

.form-item {
  display: flex;
  margin-bottom: 1.25em; }
  .form-item p {
    width: 24%;
    margin-top: 1.3em; }
  .form-item input,
  .form-item textarea {
    width: 76%;
    margin-left: 3%;
    font-size: 1.482vw;
    padding: 1.3em 1em;
    border: none;
    resize: vertical; }
    @media (min-width: 1060px) {
      .form-item input,
      .form-item textarea {
        font-size: 1.6rem; } }
  .form-item textarea {
    height: 12.5em; }

#form-btn-privacy {
  width: 100%;
  display: flex;
  line-height: 1;
  align-items: flex-end; }

.privacy-policy {
  width: 24%;
  font-size: 1.2vw;
  text-decoration: underline; }
  @media (min-width: 1060px) {
    .privacy-policy {
      font-size: 1.3rem; } }

.form-btn-box {
  width: 76%;
  margin-left: 3%;
  display: flex; }

input[type="submit"],
input[type="reset"] {
  width: 34%;
  padding: 0.5em 0;
  border: 2px solid #007e7a;
  border-radius: 0.7em;
  cursor: pointer;
  font-size: 1.482vw;
  font-weight: 500;
  transition: 0.4s; }
  @media (min-width: 1060px) {
    input[type="submit"],
    input[type="reset"] {
      font-size: 1.6rem; } }

input[type="submit"] {
  margin-right: 0.5em;
  color: #fff;
  background-color: #007e7a; }
  @media (min-width: 761px) {
    input[type="submit"]:hover {
      color: #007e7a;
      background-color: #d1df94; } }

input[type="reset"] {
  background-color: #fff;
  color: #007e7a; }
  @media (min-width: 761px) {
    input[type="reset"]:hover {
      background-color: #d1df94; } }

/*---------------
お知らせ一覧
----------------*/
#noticelist-box {
  width: 100%;
  max-width: 1060px;
  padding: 0 2.8302%; }

#noticelist-box-in {
  width: 100%; }
  #noticelist-box-in ul {
    border-top: 2px solid #007e7a;
    border-bottom: 2px solid #007e7a; }
  #noticelist-box-in li {
    display: flex;
    align-items: center;
    padding: 1em 0;
    border-bottom: 1px solid #c9ccce; }
    #noticelist-box-in li:last-child {
      border: none; }

.noticelist-date {
  width: 17.8%;
  text-align: center;
  padding: 0.35em 0;
  color: #007e7a;
  background-color: #d1df94;
  border-radius: 0.6em; }

.noticelist-text {
  width: 82.2%;
  margin-left: 1em;
  letter-spacing: 2px; }
  .noticelist-text a {
    display: block;
    padding: 0.35em 0;
    line-height: 1.4em; }

.pagination {
  display: flex;
  justify-content: center;
  margin-top: 1em; }

.left-btn,
.right-btn {
  width: 17.8%;
  margin: 0 0.5em;
  text-align: center;
  background-color: #007e7a;
  border-radius: 0.6em;
  transition: 0.4s;
  color: #fff; }
  .left-btn a,
  .right-btn a {
    display: block;
    padding: 0.35em;
    font-weight: bold; }
  @media (min-width: 761px) {
    .left-btn:hover,
    .right-btn:hover {
      color: #007e7a;
      background-color: #d1df94; } }

/*---------------
お知らせ詳細
----------------*/
#notice-box {
  width: 100%;
  max-width: 1060px;
  padding: 0 2.8302%; }

.notice-box-in {
  width: 70%;
  margin: 0 auto; }

.notice-date {
  width: 25.4%;
  text-align: center;
  padding: 0.35em 0;
  color: #007e7a;
  background-color: #d1df94;
  border-radius: 0.6em; }

.notice-title {
  margin-top: 0.5em;
  padding-top: 0.5em;
  border-top: 2px solid #007e7a;
  font-size: 3vw;
  letter-spacing: 2px;
  line-height: 1.2em; }
  @media (min-width: 1060px) {
    .notice-title {
      font-size: 3rem; } }

.notice-text {
  margin-top: 0.6em;
  min-height: 8em; }
  .notice-text p {
    margin-top: 1em; }

/*---------------
プライバシーポリシー
----------------*/
.pp_wrap {
  margin-top: 8%;
  padding: 0 10%;
  line-height: 1.4em;
  font-feature-settings: "palt" 1; }

.pp_introduction {
  margin: 0 0 5%;
  font-family: "Noto Serif JP", serif;
  text-align: center; }

.grid-wrap {
  display: grid;
  grid-template-columns: 50% 50%;
  padding: 0 1%; }

.grid-item3 {
  margin: 2.5% 0 0 1em; }
  .grid-item3::before {
    content: "●";
    width: 1em;
    margin-left: -1em;
    color: #007e7a; }

.pp_main_head {
  font-weight: bold;
  font-size: 2.3vw;
  margin-bottom: 1.5%;
  text-align: center;
  letter-spacing: 0.18em; }

.pp_head {
  font-weight: bold;
  font-size: 2vw;
  line-height: 1.3em;
  border-top: solid 1px #007e7a;
  padding: 3% 0 1.5%;
  margin-top: 5%;
  text-align: center; }

.pp_text {
  text-align: center;
  margin: 0.3em 0 8%;
  font-weight: normal; }
  .pp_text ul {
    margin-top: 1em;
    font-weight: bold; }
  .pp_text li {
    margin-bottom: 0.5em; }
  .pp_text a {
    display: block;
    font-weight: 400;
    padding-bottom: 0.8em;
    text-decoration: underline;
    text-decoration-color: #6799b5;
    color: #6799b5; }

.enclosure {
  width: 100%;
  padding: 1em 0;
  background: #e6e3d9;
  margin-top: 1.5em;
  border-radius: 0.7em; }

.Administrator {
  width: 31.4%;
  margin: 0 auto;
  text-align: center;
  color: #007e7a;
  border-top: 2px solid #007e7a;
  border-bottom: 2px solid #007e7a; }

.Admin-name {
  font-size: 1.8vw;
  text-align: center;
  margin-top: 2%; }

/*---------------
オルソケラトロジー
----------------*/
.ortho-title {
  transform: scale(1.1);
  line-height: 0;
  margin-bottom: 5%; }

.philoso-description {
  text-align: center;
  margin-top: 1.6%; }
  .philoso-description span {
    color: #007e7a; }
  .philoso-description p {
    font-size: 1.32vw;
    color: #007e7a;
    margin-top: 1em;
    line-height: 1.6em;
    letter-spacing: 0; }
    @media (min-width: 1060px) {
      .philoso-description p {
        font-size: 1.4rem; } }

#philoso-lens-box {
  display: flex;
  align-items: center;
  width: 65%;
  background-color: #e6e3db;
  padding: 2%;
  margin: 3% auto 0;
  border-radius: 0.7em; }

.philoso-lens-img {
  width: 30%;
  line-height: 0; }

.philoso-lens-text {
  width: 70%;
  font-size: 1.32vw;
  font-weight: 500;
  line-height: 1.8em;
  padding-left: 2em; }
  @media (min-width: 1060px) {
    .philoso-lens-text {
      font-size: 1.4rem; } }
  .philoso-lens-text li {
    text-indent: -1em; }
    .philoso-lens-text li::before {
      content: "●";
      color: #007e7a; }

#philoso-lens-box-1 {
  width: 65%;
  margin: 6.6% auto 0; }
  #philoso-lens-box-1 ul {
    font-size: 1.32vw; }
    @media (min-width: 1060px) {
      #philoso-lens-box-1 ul {
        font-size: 1.4rem; } }
  #philoso-lens-box-1 li {
    text-indent: -1em;
    line-height: 1.6em; }
    #philoso-lens-box-1 li::before {
      content: "●";
      color: #007e7a; }
    #philoso-lens-box-1 li:nth-child(2) {
      white-space: nowrap; }

h5 {
  text-align: center;
  font-size: 1.88vw;
  font-weight: 600;
  color: #007e7a;
  border-top: 2px solid #007e7a;
  border-bottom: 2px solid #007e7a;
  padding: 0.2em 0; }
  @media (min-width: 1060px) {
    h5 {
      font-size: 2rem; } }

.philoso-structure {
  margin: 1em 0;
  letter-spacing: 0; }

#treatment-process-box {
  margin-top: 10%; }

.t-p-box-in {
  display: flex;
  justify-content: space-between;
  margin: 3% 0 0;
  border-right: 1px solid #b5b5b6; }

.t-p-brock {
  display: flex;
  flex-direction: column;
  width: 25%;
  border-left: 1px solid #b5b5b6;
  padding: 0 1.2em; }
  .t-p-brock img {
    width: 32%; }
  .t-p-brock p {
    font-size: 1.32vw;
    line-height: 1.6em; }
    @media (min-width: 1060px) {
      .t-p-brock p {
        font-size: 1.4rem; } }
  .t-p-brock .enclosure-red {
    font-weight: 500;
    margin-top: 0.5em;
    padding: 0.7em 1em;
    color: #fff;
    background: #d13840;
    border-radius: 0.7em;
    line-height: 1.4em; }

.step-head {
  font-size: 2.08vw;
  font-weight: 600;
  margin: 0.3em 0;
  line-height: 1.3em; }
  @media (min-width: 1060px) {
    .step-head {
      font-size: 2.2rem; } }

.step-info {
  width: 75%;
  padding: 0.8em 1.2em;
  background: #e6e3db;
  line-height: 1.6em;
  font-weight: 500;
  margin: 3% auto 0;
  border-radius: 0.7em; }

.cost-table-wrap {
  display: flex;
  justify-content: space-between;
  margin: 3% 0 6%; }

.cost-table {
  width: 48.6%;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: space-between; }
  .cost-table table {
    width: 100%;
    border: 1px solid #000; }
  .cost-table thead th {
    font-weight: 600;
    padding: 0.2em 0;
    text-align: center; }
  .cost-table .th-base-1 {
    background: #666461;
    color: #fff; }
  .cost-table .th-base-2 {
    background: #e6e3db; }
  .cost-table tbody th,
  .cost-table tbody td {
    border-top: 1px solid #000;
    padding: 1em 0 1.2em 1.4em; }
  .cost-table tbody th {
    width: 60%; }
    .cost-table tbody th p {
      font-size: 1.32vw;
      line-height: 1.5em;
      padding-left: 1em;
      text-indent: -1em; }
      @media (min-width: 1060px) {
        .cost-table tbody th p {
          font-size: 1.4rem; } }
    .cost-table tbody th li {
      font-size: 1.32vw;
      line-height: 1.5em;
      padding-left: 1em;
      text-indent: -0.6em; }
      @media (min-width: 1060px) {
        .cost-table tbody th li {
          font-size: 1.4rem; } }
  .cost-table tbody td {
    width: 40%;
    font-weight: 600;
    border-left: 1px dashed #000; }
    .cost-table tbody td p {
      font-size: 1.32vw;
      line-height: 1.5em;
      color: #d13840; }
      @media (min-width: 1060px) {
        .cost-table tbody td p {
          font-size: 1.4rem; } }
  .cost-table tbody .price {
    font-size: 1.7vw; }
    @media (min-width: 1060px) {
      .cost-table tbody .price {
        font-size: 1.8rem; } }
    .cost-table tbody .price span {
      font-size: 72%; }

.division {
  font-weight: 600; }
  .division::before {
    display: inline-block;
    content: "\025c6";
    color: #007e7a;
    width: 1em;
    height: 1em;
    margin-right: 2px; }

.table-space tbody th {
  padding-bottom: 2.8em; }

.notes-brock {
  font-size: 1.415vw;
  line-height: 1.6em;
  margin-top: 1em; }
  @media (min-width: 1060px) {
    .notes-brock {
      font-size: 1.5rem; } }
  .notes-brock li::before {
    content: "●";
    color: #007e7a; }

.menicon-banner {
  margin-top: 6%; }
  .menicon-banner a {
    width: 20%;
    display: block;
    margin: 0 auto;
    line-height: 0; }
  .menicon-banner p {
    font-size: 1.2vw;
    color: #007e7a;
    text-align: center;
    margin-top: 0.3em; }
    @media (min-width: 1060px) {
      .menicon-banner p {
        font-size: 1.3rem; } }
