@charset "UTF-8";
/*----------------------------------------
       Reset
----------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

ul, li {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  outline: none; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

/*--------------------------
Common Styles
---------------------------*/
* {
  box-sizing: border-box;
  -webkit-appearance: none;
  word-wrap: break-word;
  overflow-wrap: break-word; }

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

li {
  list-style-type: none; }

html {
  font-size: 62.5%;
  width: 100%;
  position: relative;
  color: #2d5784; }

img {
  max-width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: bottom; }

img[src$=".svg"] {
  width: 100%;
  height: auto; }

object {
  width: 100%;
  height: auto; }

body {
  font-family: '游ゴシック体', 'YuGothic', '游ゴシック Medium', 'Yu Gothic Medium', '游明朝', 'YuMincho', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Hiragino Kaku Gothic ProN', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E",  'Noto Sans Japanese Light', Meiryo, Arial, sans-serif;
  font-size: 1.6rem;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
  position: relative; }

body * {
  text-rendering: optimizeLegibility; }

a {
  color: #2d5784; }
  a:hover {
    text-decoration: underline;
    color: #9c4dd3; }

/*--------------------------
Color
---------------------------*/
/*----------------------------------------------------
                   etc.
-----------------------------------------------------*/
.pcOnly {
  display: inline; }
  @media only screen and (max-width: 768px) {
    .pcOnly {
      display: none; } }

.spOnly {
  display: none; }
  @media only screen and (max-width: 768px) {
    .spOnly {
      display: inline; } }

.linkBtn {
  text-align: center; }
  .linkBtn a {
    display: inline-block;
    background: #6a9cc9;
    text-align: center;
    color: #fff;
    padding: 15px 25px;
    border-radius: 5px; }
    .linkBtn a:hover {
      opacity: .8;
      text-decoration: none; }

.linkText a {
  display: inline-block;
  background: url("../img/cmn/link_arrow.png") right center no-repeat;
  background-size: 20px 20px;
  padding: 5px 30px 5px 0; }

.linkTextLeft {
  text-align: left;
  margin: 10px 0 0 0; }
  @media only screen and (max-width: 768px) {
    .linkTextLeft {
      margin: 10px 0 0 0; } }
  .linkTextLeft a {
    display: inline-block;
    background: url("../img/cmn/link_arrow.png") right center no-repeat;
    background-size: 20px 20px;
    padding: 5px 30px 5px 0; }

.views_selectbox {
  width: 1000px;
  margin: 0 auto 15px;
  text-align: right; }
  @media only screen and (max-width: 768px) {
    .views_selectbox {
      width: 90vw;
      margin: 0 auto 10px; } }

/*----------------------------------------------------
                  CONTENTS
-----------------------------------------------------*/
#contents {
  /*-----------------H2,H3,H4,P--------------*/
  /*----------------- ul,ol,dl ---------------------*/
  /*----------------- table ---------------------*/
  /*----------------------------------------------------*/ }
  #contents h2.brackets {
    text-align: center; }
    #contents h2.brackets span {
      font-size: 3.6rem;
      font-weight: normal;
      position: relative;
      display: inline-block;
      letter-spacing: 5px; }
      @media only screen and (max-width: 768px) {
        #contents h2.brackets span {
          font-size: 2.4rem;
          letter-spacing: 0; } }
      #contents h2.brackets span::before {
        content: url("../img/cmn/h2_ac01.png");
        position: absolute;
        top: -30px;
        left: -80px; }
        @media only screen and (max-width: 768px) {
          #contents h2.brackets span::before {
            content: ""; } }
      #contents h2.brackets span::after {
        content: url("../img/cmn/h2_ac02.png");
        position: absolute;
        bottom: -30px;
        right: -80px; }
        @media only screen and (max-width: 768px) {
          #contents h2.brackets span::after {
            content: ""; } }
  #contents h2.bracketsB {
    text-align: center;
    margin: -16px 0 0 0; }
    @media only screen and (max-width: 768px) {
      #contents h2.bracketsB {
        font-size: 2.4rem;
        letter-spacing: 0;
        margin: 0; } }
    #contents h2.bracketsB span {
      font-size: 3.6rem;
      font-weight: normal;
      letter-spacing: 5px;
      line-height: 0.95em;
      position: relative;
      display: inline-block; }
      @media only screen and (max-width: 768px) {
        #contents h2.bracketsB span {
          font-size: 2.4rem;
          line-height: 1.1em;
          letter-spacing: 0; } }
      #contents h2.bracketsB span::before {
        content: url("../img/cmn/h2_ac01.png");
        position: absolute;
        top: -19px;
        left: -80px; }
        @media only screen and (max-width: 768px) {
          #contents h2.bracketsB span::before {
            content: ""; } }
      #contents h2.bracketsB span::after {
        content: url("../img/cmn/h2_ac02.png");
        position: absolute;
        bottom: -18px;
        right: -80px; }
        @media only screen and (max-width: 768px) {
          #contents h2.bracketsB span::after {
            content: ""; } }
      #contents h2.bracketsB span span {
        font-size: 1.8rem;
        line-height: 2em; }
        @media only screen and (max-width: 768px) {
          #contents h2.bracketsB span span {
            font-size: 1.5rem; } }
        #contents h2.bracketsB span span::before {
          content: "";
          position: absolute;
          top: -66px;
          left: -80px; }
          @media only screen and (max-width: 768px) {
            #contents h2.bracketsB span span::before {
              content: ""; } }
        #contents h2.bracketsB span span::after {
          content: "";
          position: absolute;
          bottom: -15px;
          right: -80px; }
          @media only screen and (max-width: 768px) {
            #contents h2.bracketsB span span::after {
              content: ""; } }
  #contents h3 {
    font-size: 2.4rem;
    font-family: serif;
    margin-bottom: 1.6rem; }
    @media only screen and (max-width: 768px) {
      #contents h3 {
        font-size: 1.7rem; } }
  #contents h4 {
    font-size: 1.9rem;
    font-family: serif;
    margin: 1.5em 0 0.3em;
    line-height: 1.5em; }
    @media only screen and (max-width: 768px) {
      #contents h4 {
        font-size: 1.7rem; } }
  #contents p {
    margin-bottom: 1.6rem;
    line-height: 1.8; }
    @media only screen and (max-width: 768px) {
      #contents p {
        line-height: 1.5em; } }
  #contents .fig {
    text-align: center; }
  #contents #news_contents a,
  #contents #staffblog_contents a {
    text-decoration: underline; }
  #contents #news_contents h2 a,
  #contents #staffblog_contents h2 a {
    text-decoration: none; }
  #contents #news_contents .pageBack a,
  #contents #staffblog_contents .pageBack a {
    text-decoration: none; }
  #contents ul {
    padding: 0 30px 1.6rem; }
    #contents ul li {
      list-style: disc;
      margin: 0 0 1em 0; }
  #contents ol {
    padding: 0 30px 1.6rem; }
    #contents ol li {
      list-style: decimal;
      margin: 0 0 1em 0; }
  #contents table {
    margin: 1.6rem 0;
    width: 100%; }
    #contents table th {
      width: 30%;
      font-weight: normal;
      text-align: left;
      padding: 8px;
      background-color: #d1e5eb;
      border-top: 1px solid #2d5784; }
      #contents table th:last-of-type {
        border-bottom: 1px solid #2d5784; }
    #contents table td {
      padding: 8px;
      border-top: 1px solid #2d5784; }
      #contents table td:last-of-type {
        border-bottom: 1px solid #2d5784; }

/*------------------- / CONTENTS----------------------*/
/*----------------------------------------------------
             wp-pagenav カスタマイズ
-----------------------------------------------------*/
.wp-pagenavi {
  width: 100%;
  margin: 0 auto;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    .wp-pagenavi {
      width: 90vw;
      margin: 0 auto 30px; } }

#contents #newsList_contents .wp-pagenavi a, #contents #staffblog_contents .wp-pagenavi a {
  color: #fff;
  text-decoration: none;
  border: none;
  padding: 3px 5px;
  margin: 2px;
  background-color: #6a9cc9; }

#contents #newsList_contents .wp-pagenavi span, #contents #staffblog_contents .wp-pagenavi span {
  border: none; }

#contents #newsList_contents .wp-pagenavi a:hover, #contents #staffblog_contents .wp-pagenavi span.current {
  border: none;
  background-color: #2d5784;
  color: #fff; }

/*----------------------------------------------------
                   PC  Navigation
-----------------------------------------------------*/
#navPc ul {
  margin: 10px 0 20px;
  float: right;
  display: flex; }
  @media only screen and (max-width: 768px) {
    #navPc ul {
      display: none; } }
  #navPc ul li {
    position: relative; }
    #navPc ul li a {
      font-size: 1.6rem;
      color: #264c73;
      padding: 18px 20px 10px;
      margin: 10px 0;
      text-align: center;
      position: relative;
      text-decoration: none;
      display: inline-block; }
      #navPc ul li a:hover {
        color: #9c4dd3; }
    #navPc ul li ul {
      display: none;
      position: absolute;
      width: 240px;
      top: 50px;
      left: 0;
      padding: 10px 20px;
      background-color: #e9ecef;
      border: 1px solid #2d5784;
      border-radius: 5px;
      z-index: 888; }
      #navPc ul li ul::before {
        content: url("../img/cmn/sub_fuki.png");
        position: absolute;
        top: -14px;
        left: 40px; }
      #navPc ul li ul li a {
        display: block;
        padding: 6px 0 6px 20px;
        margin: 0;
        text-align: left;
        line-height: 1.3;
        background: url("../img/cmn/nav_pc_link_arrow.png") left 8px no-repeat; }
      #navPc ul li ul li a:hover {
        text-decoration: underline; }
      #navPc ul li ul li a::before {
        display: none; }
    .home #navPc ul li.home a, .about #navPc ul li.about a, .ophthalmology #navPc ul li.ophthalmology a, .surgery #navPc ul li.surgery a, .calendar #navPc ul li.calendar a, .access #navPc ul li.access a, .recruit #navPc ul li.recruit a {
      color: #9c4dd3; }
    .about #navPc ul li.about li a, .ophthalmology #navPc ul li.ophthalmology li a, .surgery #navPc ul li.surgery li a {
      color: #264c73; }
      .about #navPc ul li.about li a:hover, .ophthalmology #navPc ul li.ophthalmology li a:hover, .surgery #navPc ul li.surgery li a:hover {
        color: #9c4dd3; }
  #navPc ul .ophthalmology ul {
    width: 470px; }
    #navPc ul .ophthalmology ul li {
      float: left;
      width: 210px; }

/*----------------------------------------------------
                   Smartphone Menu
-----------------------------------------------------*/
/*Section　smpNav*/
#smpNav {
  display: none; }
  @media only screen and (max-width: 768px) {
    #smpNav {
      position: fixed;
      top: 0;
      z-index: 9999;
      width: 100vw;
      height: 100%;
      overflow: scroll;
      background-color: #2d5784;
      color: #fff; }
      #smpNav .smpNavClose {
        text-align: right;
        padding: 14px 40px 14px 0;
        background: url("../img/cmn/close_icon.png") center right 10px no-repeat;
        background-size: 21px auto; }
      #smpNav .wrap {
        border-top: 1px solid #7ca2ca; }
        #smpNav .wrap li {
          border-bottom: 1px solid #7ca2ca; }
          #smpNav .wrap li a,
          #smpNav .wrap li span {
            display: block;
            color: #fff;
            padding: 14px 8px 14px 16px; }
          #smpNav .wrap li ul {
            display: none;
            background-color: #4a74a2; }
            #smpNav .wrap li ul li {
              border: none; }
              #smpNav .wrap li ul li a {
                padding: 14px 8px 14px 36px; }
        #smpNav .wrap #smpNavBtnAbt span,
        #smpNav .wrap #smpNavBtnOpt span,
        #smpNav .wrap #smpNavBtnSgy span {
          background: url("../img/cmn/plus_icon.png") center right 10px no-repeat;
          background-size: 27px auto; }
        #smpNav .wrap #smpNavBtnAbt.active span,
        #smpNav .wrap #smpNavBtnOpt.active span,
        #smpNav .wrap #smpNavBtnSgy.active span {
          background: url("../img/cmn/minus_icon.png") center right 10px no-repeat;
          background-size: 27px auto; } }

/*Section smpMenu*/
#smpMenu {
  display: none; }
  @media only screen and (max-width: 768px) {
    #smpMenu {
      position: fixed;
      bottom: 0;
      z-index: 999;
      display: block;
      width: 100vw;
      background-color: #2d5784; }
      #smpMenu ul {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between; }
        #smpMenu ul li {
          width: 25vw;
          height: 75px;
          border-right: 1px solid #7ca2ca;
          font-size: 1.1rem; }
          #smpMenu ul li:last-child {
            border: none; }
          #smpMenu ul li.SmpBtnTriger {
            padding-top: 40px;
            color: #fff;
            text-align: center;
            background: url("../img/cmn/sp_menu_trigger.png") center top 15px no-repeat;
            background-size: 20px auto; }
          #smpMenu ul li a {
            display: block;
            color: #fff;
            text-align: center;
            padding-top: 40px; }
          #smpMenu ul li.SmpBtnCalendar a {
            background: url("../img/cmn/sp_menu_icon01.png") center top 10px no-repeat;
            background-size: 27px auto; }
          #smpMenu ul li.SmpBtnMap a {
            background: url("../img/cmn/sp_menu_icon02.png") center top 11px no-repeat;
            background-size: 15px auto; }
          #smpMenu ul li.SmpBtnBus a {
            background: url("../img/cmn/sp_menu_icon03.png") center top 15px no-repeat;
            background-size: 30px auto; } }

/*----------------------------------------------------
                   SecondPage Header
-----------------------------------------------------*/
/*Section page-top*/
#secHdArea {
  background: url("../img/cmn/sec_hd_bk.gif") repeat-x; }
  @media only screen and (max-width: 768px) {
    #secHdArea {
      background-image: none; } }
  #secHdArea .wrap {
    width: 1200px;
    margin: 0 auto; }
    @media only screen and (max-width: 768px) {
      #secHdArea .wrap {
        width: 100vw; } }
    #secHdArea .wrap::after {
      content: "";
      display: block;
      clear: both; }
      @media only screen and (max-width: 768px) {
        #secHdArea .wrap::after {
          display: none; } }
    #secHdArea .wrap .titleBlock {
      float: left;
      margin-top: 35px; }
      @media only screen and (max-width: 768px) {
        #secHdArea .wrap .titleBlock {
          display: none; } }
    #secHdArea .wrap .titleBlock_sp {
      display: none; }
      @media only screen and (max-width: 768px) {
        #secHdArea .wrap .titleBlock_sp {
          display: block;
          width: 100vw;
          margin-top: 3vw; }
          #secHdArea .wrap .titleBlock_sp .wrap {
            display: flex;
            justify-content: space-around;
            width: 100vw;
            height: 16.4vw; }
            #secHdArea .wrap .titleBlock_sp .wrap .title {
              width: 41vw; }
            #secHdArea .wrap .titleBlock_sp .wrap .telno {
              width: 39.733vw;
              margin-top: 2vw; } }
    #secHdArea .wrap .category {
      float: right;
      width: 970px;
      font-size: 4rem;
      letter-spacing: 12px;
      font-weight: normal;
      text-align: center;
      padding: 55px 225px 60px 0; }
      @media only screen and (max-width: 768px) {
        #secHdArea .wrap .category {
          float: none;
          width: 100vw;
          font-size: 2rem;
          letter-spacing: 0;
          padding: 20px 0;
          background-color: #cdd7e0; } }
    #secHdArea .wrap .category_sh {
      float: right;
      width: 970px;
      font-size: 4rem;
      letter-spacing: 12px;
      font-weight: normal;
      text-align: center;
      padding: 35px 225px 50px 0; }
      #secHdArea .wrap .category_sh span {
        display: block;
        font-size: 2rem;
        padding-bottom: 10px; }
      @media only screen and (max-width: 768px) {
        #secHdArea .wrap .category_sh {
          float: none;
          width: 100vw;
          font-size: 2rem;
          letter-spacing: 0;
          padding: 20px 0;
          background-color: #cdd7e0; }
          #secHdArea .wrap .category_sh span {
            font-size: 1.4rem; } }

/*----------------------------------------------------
                   SecondPage MainVisual
-----------------------------------------------------*/
#secMv {
  width: 100%;
  height: 425px; }
  @media only screen and (max-width: 768px) {
    #secMv {
      height: auto; } }
  #secMv .wrap {
    width: 1000px;
    margin: 0 auto; }
    @media only screen and (max-width: 768px) {
      #secMv .wrap {
        width: 90vw;
        margin: 0 auto; } }

/*----------------------------------------------------
                      footer
-----------------------------------------------------*/
/*Section secFooter*/
#secFooter {
  width: 100%;
  height: 405px;
  padding-top: 50px;
  background: url("../img/cmn/sec_ft_bk.jpg") no-repeat;
  background-position: right bottom; }
  @media only screen and (max-width: 768px) {
    #secFooter {
      width: 100vw;
      height: 140vw;
      background-size: 200vw; } }
  #secFooter .wrap {
    width: 1200px;
    margin: 0 auto; }
    @media only screen and (max-width: 768px) {
      #secFooter .wrap {
        width: 100vw; } }
    #secFooter .wrap .name {
      width: 300px;
      margin: 0; }
      @media only screen and (max-width: 768px) {
        #secFooter .wrap .name {
          width: 80vw;
          margin: 0 auto;
          text-align: center; } }
    #secFooter .wrap .time {
      width: 300px;
      margin: 20px 0 0;
      text-align: center; }
      @media only screen and (max-width: 768px) {
        #secFooter .wrap .time {
          width: 80vw;
          margin: 30px auto 15px;
          text-align: center; } }
    #secFooter .wrap .btn {
      width: 300px;
      margin: 20px 0 0;
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 768px) {
        #secFooter .wrap .btn {
          width: 80vw;
          margin: 0 auto; } }
      #secFooter .wrap .btn a {
        display: block;
        width: 140px;
        height: 48px;
        color: #fff;
        border-radius: 3px; }
        @media only screen and (max-width: 768px) {
          #secFooter .wrap .btn a {
            width: 39vw; } }
      #secFooter .wrap .btn .mapBtn a {
        background: #6a9cc9 url("../img/cmn/map_icon.png") 30px 10px no-repeat;
        padding: 18px 0 0 60px; }
        @media only screen and (max-width: 768px) {
          #secFooter .wrap .btn .mapBtn a {
            background-position: 20px 10px;
            padding: 18px 0 0 60px; } }
      #secFooter .wrap .btn .busBtn a {
        background: #6a9cc9 url("../img/cmn/bus_icon.png") 12px 12px no-repeat;
        padding: 8px 0 0 65px; }
        @media only screen and (max-width: 768px) {
          #secFooter .wrap .btn .busBtn a {
            background-position: 10px 12px;
            padding: 10px 20px 0 70px;
            font-size: 1.4rem; } }
      #secFooter .wrap .btn .mapBtn a:hover,
      #secFooter .wrap .btn .busBtn a:hover {
        opacity: 0.8;
        text-decoration: none; }

/*Section page-top*/
#page-top {
  position: fixed;
  bottom: 2vw;
  right: 2vw;
  width: 80px;
  z-index: 999; }
  @media only screen and (max-width: 768px) {
    #page-top {
      width: 60px;
      bottom: 155px; } }
  @media only screen and (max-width: 475px) {
    #page-top.topbanner {
      bottom: 220px; } }
  @media only screen and (max-width: 475px) {
    #page-top.second {
      bottom: 90px; } }

#page-top img {
  width: 80px; }

#page-top:hover {
  cursor: pointer; }

/*Section footerMenu*/
#footerMenu {
  width: 100%;
  padding: 50px 0;
  background-color: #e9ecef; }
  @media only screen and (max-width: 768px) {
    #footerMenu {
      display: none; } }
  #footerMenu .wrap {
    width: 1200px;
    margin: 0 auto;
    display: flex; }
    #footerMenu .wrap li {
      width: 240px;
      font-size: 1.4rem;
      margin-bottom: 15px;
      padding-left: 20px;
      border-left: 1px solid #cdd7e0; }
      #footerMenu .wrap li li {
        border: none;
        list-style: disc;
        padding-left: 5px;
        margin-left: 20px; }
        #footerMenu .wrap li li.parent {
          list-style: none;
          font-size: 1.6rem;
          font-weight: bold;
          padding-left: 0;
          margin-left: 0;
          margin-bottom: 20px; }
        #footerMenu .wrap li li.start {
          margin-top: 3em; }
      #footerMenu .wrap li.opt {
        width: 480px; }
        #footerMenu .wrap li.opt ul {
          display: flex;
          flex-wrap: wrap; }
          #footerMenu .wrap li.opt ul li {
            width: 205px; }
            #footerMenu .wrap li.opt ul li.parent {
              width: 100%; }

/*Section footerLogo*/
#footerLogo {
  width: 100%;
  padding: 25px 0 50px;
  background-color: #e9ecef; }
  #footerLogo .wrap {
    text-align: center; }
    #footerLogo .wrap p {
      font-size: 1.2rem; }

/*Section footerGroupLogo*/
#footerGroupLogo {
  width: 100%;
  padding: 25px 0 65px;
  background-color: #d5dae0; }
  #footerGroupLogo .wrap {
    width: 1200px;
    margin: 20px auto;
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 768px) {
      #footerGroupLogo .wrap {
        margin: 0 auto;
        width: 92vw;
        flex-wrap: wrap; }
        #footerGroupLogo .wrap li {
          margin: 20px 0; } }

/*# sourceMappingURL=base.css.map */
