@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;
  font-size: 100%;
  font-style: normal;
  font-weight: normal;
  vertical-align: baseline;
}

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

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*, *:before, *:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

img {
  border: none;
  vertical-align: top;
}

a {
  color: #3993b9;
  border: none;
  text-decoration: none;
}

a:hover {
  color: #51a0c2;
  text-decoration: underline;
}

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

th, td {
  padding: 0;
  vertical-align: middle;
}

th {
  text-align: left;
}

li {
  list-style: none;
}

b, strong {
  font-weight: bold;
}

img, iframe, object {
  max-width: 100%;
}

::-moz-selection {
  color: #3993b9;
  background-color: #daeff7;
}

::selection {
  color: #3993b9;
  background-color: #daeff7;
}

/* --------------------------------

  共通スタイル

-------------------------------- */
/* 共通見出し */
.main-heading,
.news-heading {
  position: relative;
  max-width: 1100px;
  margin: auto;
  margin-bottom: 1rem;
  padding-bottom: .5rem;
  line-height: 1.3;
  font-size: 1.7em;
  border-bottom: 2px solid #3993b9;
}
@media screen and (min-width: 640px), print {
  .main-heading,
  .news-heading {
    font-size: 2.1em;
  }
}
@media screen and (min-width: 1100px), print {
  .main-heading,
  .news-heading {
    margin-bottom: 1.5rem;
    font-size: 3.0em;
  }
}
.main-heading:before,
.news-heading:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 20px;
  height: 2px;
  background-color: #ff006e;
}

.main-subheading {
  display: inline-block;
  margin-bottom: 1em;
  padding: 0 .5em .5em;
  font-size: 1.3em;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.2;
}
@media screen and (min-width: 640px), print {
  .main-subheading {
    font-size: 1.5em;
  }
}

/* 共通リスト */
.main ul > li {
  position: relative;
  margin-left: 2em;
  list-style-type: none;
}
.main ul > li:before {
  content: "";
  display: block;
  position: absolute;
  top: .6em;
  left: -1.1em;
  width: 9px;
  height: 9px;
  border-radius: 100%;
  background: #111;
}

.main ol > li {
  margin-left: 2em;
  list-style-type: decimal;
}

ul.list-style-none > li {
  margin-left: 0;
  list-style-type: none;
}
ul.list-style-none > li:before {
  display: none;
}

ol.list-style-none > li {
  margin-left: 0;
  list-style-type: none;
}

/* 注釈（※）用インデント */
.note {
  margin-left: 1em;
  text-indent: -1em;
}

/* 共通リンクボタン */
.more {
  margin-top: 1.5em;
  text-align: center;
}

.link-button {
  display: inline-block;
  position: relative;
  padding: .5em 1.5em;
  color: #111;
  font-size: 1.1em;
  line-height: 1.5;
  font-weight: 800;
  text-align: center;
  border: 1px solid #bbb;
  border-radius: 10em;
  -webkit-transition: .2s;
  transition: .2s;
}
.link-button:hover {
  color: #fff;
  text-decoration: none;
  border-color: #51a0c2;
  background-color: #51a0c2;
}
.link-button:before {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\e904";
  display: inline-block;
  vertical-align: middle;
  margin: -.2em .6em 0 0;
  font-size: 9.8px;
  font-size: .7rem;
  font-weight: 800;
}
@media screen and (min-width: 640px), print {
  .link-button.large {
    padding: .7em 2.5em .5em;
    font-size: 1.2em;
  }
}
.link-button.reverse {
  color: #fff;
  border-color: #fff;
}
.link-button.reverse:hover {
  color: #fff;
  border-color: #51a0c2;
}

/* コンテンツ画面中央寄せ */
.inner {
  position: relative;
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
}
.inner:after {
  content: "";
  display: table;
  clear: both;
}

/* コンテンツ隙間・間隔用 */
.gutter:not(:last-child) {
  margin-bottom: 5em;
}
.gutter > .inner {
  padding-right: 21px;
  padding-right: 1.5rem;
  padding-left: 21px;
  padding-left: 1.5rem;
  font-size: 1.1em;
  line-height: 1.8;
}
@media screen and (max-width: 1099.98px) {
  .gutter > .inner {
    padding-right: 0;
    padding-left: 0;
  }
}
@media screen and (max-width: 639.98px) {
  .gutter > .inner {
    font-size: 1em;
  }
}
.gutter > .inner .inner {
  overflow: hidden;
}
.gutter .inner:not(:last-child) {
  margin-bottom: 42px;
  margin-bottom: 3rem;
}
.gutter.dmy > .inner {
  padding: 0;
}

/* アンカー位置調整 */
.anchor-point {
  display: block;
}
.anchor-point:before {
  content: "";
  display: block;
  position: relative;
  width: 100%;
  height: 1px;
  margin-top: -80px;
  padding-top: 80px;
  z-index: -1;
}
@media screen and (min-width: 1100px), print {
  .anchor-point:before {
    margin-top: -165px;
    padding-top: 165px;
  }
}

/* サブセクション */
.subsection:not(:last-child) {
  margin-bottom: 1.5em;
  padding-bottom: 1.5em;
  border-bottom: 1px dotted #eee;
}

/* --------------------------------

  Webフォント

-------------------------------- */
/*
 * https://icomoon.io/
 */
@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icomoon.eot?nw9e4l");
  src: url("../fonts/icomoon.eot?nw9e4l#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?nw9e4l") format("truetype"), url("../fonts/icomoon.woff?nw9e4l") format("woff"), url("../fonts/icomoon.svg?nw9e4l#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-tel:before {
  content: "\e900";
}

.icon-arrowup:before {
  content: "\e901";
}

.icon-arrowdown:before {
  content: "\e902";
}

.icon-arrowleft:before {
  content: "\e903";
}

.icon-arrowright:before {
  content: "\e904";
}

.icon-arrowtop:before {
  content: "\e905";
}

.icon-search:before {
  content: "\e906";
}

.icon-mail:before {
  content: "\e907";
}

/*
 * GenShinGothic is licensed under the SIL Open Font License 1.1
 * http://jikasei.me/font/genshin/
 * http://scripts.sil.org/OFL
 */
@font-face {
  font-family: "GenShinGothic";
  src: url("../fonts/GenShinGothic-P-Bold.ttf") format("ttf"), url("../fonts/GenShinGothic-P-Bold.woff2") format("woff2"), url("../fonts/GenShinGothic-P-Bold.woff") format("woff");
}
/*
 * adobe-fonts/source-han-sans is licensed under the SIL Open Font License 1.1
 * https://github.com/adobe-fonts/source-han-sans
 * http://scripts.sil.org/OFL
 */
@font-face {
  font-family: "SourceHanSans";
  src: url("../fonts/SourceHanSans-Light.woff2") format("woff2"), url("../fonts/SourceHanSans-Light.woff") format("woff"), url("../fonts/SourceHanSans-Light.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "SourceHanSansBold";
  src: url("../fonts/SourceHanSans-Bold.woff2") format("woff2"), url("../fonts/SourceHanSans-Bold.woff") format("woff"), url("../fonts/SourceHanSans-Bold.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}
/* --------------------------------

  html, body

-------------------------------- */
html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

html {
  overflow-y: scroll;
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body {
  min-width: 320px;
  min-height: 480px;
  color: #111;
  font-size: 14px;
  line-height: 1.5;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  text-align: left;
  background: #fff;
}

/* --------------------------------

  wrapper

-------------------------------- */
.wrapper {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1099.98px) {
  .wrapper.search-form-active {
    padding-top: 70px;
  }
}

/* --------------------------------

  header

-------------------------------- */
.header {
  position: relative;
  padding-bottom: 200px;
}
@media screen and (min-width: 1100px), print {
  .header {
    position: static;
    padding-bottom: 0;
  }
}
#top .header {
  position: static;
  padding-bottom: 0;
}
.header .inner {
  padding: 16px 0 0;
  border-top: 60px solid #fff;
  z-index: 100;
}
@media screen and (max-width: 767.98px) {
  .search-form-active .header .inner {
    border-top: none;
  }
}
@media screen and (min-width: 768px), print {
  .header .inner {
    border-top: none;
  }
}
@media screen and (min-width: 1100px), print {
  .header .inner {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    max-width: none;
    margin: auto;
    padding: 0;
    z-index: 1000;
  }
  .header .inner:before, .header .inner:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
  }
  .header .inner:before {
    top: 0;
    height: 110px;
    background-color: #fff;
	background:rgba(255,255,255,0.9);
  }
  .header .inner:after {
    top: 110px;
    height: 60px;
    background-color: rgba(114, 181, 210, 0.9);
  }
}
.header-link {
  display: block;
  position: relative;
  max-width: 380px;
  margin: auto;
}
@media screen and (min-width: 480px), print {
  .header-link {
    max-width: 440px;
  }
}
@media screen and (min-width: 768px), print {
  .header-link {
    max-width: 480px;
  }
}
@media screen and (min-width: 1100px), print {
  .header-link {
    max-width: none;
  }
}
.header .logo1 {
  display: block;
  position: relative;
  width: 121px;
  margin: auto;
  padding: 10px 10px 5px;
  background-color: #3993b9;
  z-index: 10;
}
@media screen and (max-width: 429.98px) {
  #top .header .logo1 {
    width: 160px;
    padding: 20px 20px 10px;
  }
}
@media screen and (min-width: 430px), print {
  .header .logo1 {
    margin: 0;
  }
}
@media screen and (min-width: 1100px), print {
  .header .logo1 {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    padding: 20px 20px 10px;
  }
}
.header .logo2 {
  display: block;
  width: 284px;
  margin: 1.5em auto .5em;
}
@media screen and (min-width: 430px), print {
  .header .logo2 {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    margin: 0;
    padding: 0 5px 0 130px;
    z-index: 10;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}
@media screen and (min-width: 1100px), print {
  .header .logo2 {
    top: 15px;
    left: 205px;
    width: 300px;
    padding: 0;
    -webkit-transform: none;
            transform: none;
  }
}
@media screen and (min-width: 1240px), print {
  .header .logo2 {
    top: 37px;
  }
}
@media screen and (min-width: 1600px), print {
  .header .logo2 {
    top: 29px;
    left: 220px;
    width: auto;
  }
}
.header-subject {
  margin: .5em -1em 1em;
  text-align: center;
}
@media screen and (min-width: 430px), print {
  .header-subject {
    position: absolute;
    left: 50%;
    margin: -40px 0 0 -60px;
    text-align: left;
    z-index: 1;
  }
}
@media screen and (min-width: 480px), print {
  .header-subject {
    margin-left: -90px;
  }
}
@media screen and (min-width: 768px), print {
  .header-subject {
    margin-left: -105px;
  }
}
@media screen and (min-width: 1100px), print {
  .header-subject {
    top: 126px;
    left: 205px;
    margin: 0;
  }
}
@media screen and (min-width: 1600px), print {
  .header-subject {
    top: 132px;
    left: 222px;
    max-width: none;
  }
}
@media screen and (max-width: 429.98px) {
  .header-subject ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
@media screen and (min-width: 1600px), print {
  .header-subject ul {
    float: left;
  }
}
.header-subject ul:after {
  content: "";
  display: table;
  clear: both;
}
.header-subject li {
  display: block;
  position: relative;
  font-size: .75em;
  color: #71b5d2;
  line-height: 1.3;
}
.header-subject li:not(:last-child):after {
  content: "/";
  display: block;
  float: right;
  padding: 0 .2em;
}
@media screen and (min-width: 430px), print {
  .header-subject li {
    float: left;
    letter-spacing: normal;
  }
}
@media screen and (min-width: 768px), print {
  .header-subject li {
    font-size: .8em;
    letter-spacing: .1em;
  }
}
@media screen and (min-width: 1100px), print {
  .header-subject li {
    color: #fff;
  }
}
@media screen and (min-width: 1600px), print {
  .header-subject li {
    font-size: .85em;
  }
}
@media screen and (min-width: 1600px), print {
  .header .subject1 li:last-child:after {
    content: "/";
    display: block;
    float: right;
    padding: 0 .2em;
  }
}
.header-contact {
  position: relative;
  padding: .4em 0 .5em;
  text-align: center;
  font-size: .9em;
  background-color: #71b5d2;
  z-index: 10;
}
@media screen and (min-width: 430px), print {
  .header-contact {
    margin-top: 17px;
  }
}
@media screen and (min-width: 1100px), print {
  .header-contact {
    position: absolute;
    top: 122px;
    right: 0;
    margin: 0;
    padding: 0;
    background: none;
  }
}
.header-contact .global-contact-us li {
  display: inline-block;
  vertical-align: middle;
  margin: .2em .5em 0;
  font-size: .9em;
}
@media screen and (min-width: 1100px), print {
  .header-contact .global-contact-us li {
    margin: 0 1.5em 0 0;
  }
}
@media screen and (min-width: 1280px), print {
  .header-contact .global-contact-us li {
    font-size: 1em;
  }
}
.header-contact .global-contact-us .tel-link {
  color: #fff;
}
.header-contact .global-contact-us a.tel-link,
.header-contact .global-contact-us .add-link {
  color: #fff;
}
.header-contact .global-contact-us a.tel-link:hover,
.header-contact .global-contact-us .add-link:hover {
  color: #286884;
}
.header-language {
  position: absolute;
  top: -60px;
  right: 0;
  width: 122px;
  z-index: 20;
}
@media screen and (max-width: 767.98px) {
  .search-form-active .header-language {
    top: 0;
  }
}
@media screen and (min-width: 768px), print {
  .header-language {
    top: 0;
  }
}
@media screen and (min-width: 1100px), print {
  .header-language {
    top: 208px;
    right: auto;
    left: 0;
    width: 184px;
  }
}
.header-social-buttons {
  position: absolute;
  top: -25px;
  right: 5px;
  z-index: 20;
  display: flex;
  gap: 5px;
}
@media screen and (max-width: 767.98px) {
  .search-form-active .header-social-buttons {
    top: 35px;
  }
}
@media screen and (min-width: 768px), print {
  .header-social-buttons {
    top: 35px;
  }
}
@media screen and (min-width: 1100px), print {
  .header-social-buttons {
    top: 5px;
  }
}
@media screen and (min-width: 1240px), print {
  .header-social-buttons {
    top: 37px;
    right: 10px;
  }
}
@media screen and (min-width: 1600px), print {
  .header-social-buttons {
    right: 15px;
  }
}
.header-search-form .search-form-button {
  position: absolute;
  top: -25px;
  right: 46px;
  z-index: 20;
}
@media screen and (max-width: 767.98px) {
  .search-form-active .header-search-form .search-form-button {
    top: 35px;
  }
}
@media screen and (min-width: 768px), print {
  .header-search-form .search-form-button {
    top: 35px;
  }
}
@media screen and (min-width: 1100px), print {
  .header-search-form .search-form-button {
    top: 5px;
    right: 46px;
  }
}
@media screen and (min-width: 1240px), print {
  .header-search-form .search-form-button {
    top: 37px;
    right: 53px;
  }
}
@media screen and (min-width: 1600px), print {
  .header-search-form .search-form-button {
    right: 61px;
  }
}
.header-search-form .search-form-body {
  position: absolute;
  top: -70px;
  left: 0;
  width: 100%;
  padding: 10px 10px 10px 130px;
  background-color: #71b5d2;
  z-index: 10;
}
@media screen and (min-width: 1100px), print {
  .header-search-form .search-form-body {
    top: 150px;
    padding: 0 18px 0 202px;
    background: none;
  }
}
@media screen and (min-width: 1100px), print {
  .search-form-active .header-search-form .search-form-body {
    top: 188px;
  }
}

/* スクロール時固定用 */
@media screen and (min-width: 1100px) {
  .header.fixed .inner:before {
    height: 94px;
    -webkit-transition: height .2s;
    transition: height .2s;
  }
  .header.fixed .inner:after {
    top: 94px;
    -webkit-transition: top .2s;
    transition: top .2s;
  }
  .header.fixed .inner .header-link .logo1 {
    width: 140px;
  }
  .header.fixed .inner .header-link .logo2 {
    display: none;
  }
  .header.fixed .inner .header-subject {
    top: 110px;
    left: 160px;
    -webkit-transition: top .2s, left .2s;
    transition: top .2s, left .2s;
  }
  .header.fixed .inner .header-subject ul {
    float: none;
  }
  .header.fixed .inner .header-subject li {
    font-size: .8em;
  }
  .header.fixed .inner .header-contact {
    top: 108px;
    -webkit-transition: top .2s;
    transition: top .2s;
  }
  .header.fixed .inner .header-contact .global-contact-us li {
    font-size: .9em;
  }
  .header.fixed .inner .header-language {
    top: 0;
    left: 140px;
    width: 140px;
  }
  .header.fixed .inner .header-language a:after {
    content: attr(data-lang);
    display: inline-block;
    vertical-align: middle;
    margin: -.4em 0 0 .2em;
  }
  .header.fixed .inner .header-language span {
    display: none;
  }
  .header.fixed .inner .header-social-buttons {
    top: 32px;
    right: 10px;
    -webkit-transition: top .2s;
    transition: top .2s;
  }
  .header.fixed .inner .header-search-form .search-form-button {
    top: 17px;
    right: 53px;
    -webkit-transition: top .2s;
    transition: top .2s;
  }
  .header.fixed .inner .header-search-form .search-form-body {
    top: 100px;
  }
  .search-form-active .header.fixed .inner .header-search-form .search-form-body {
    top: 150px;
  }
}

/* --------------------------------

  nav

-------------------------------- */
.nav {
  display: block;
}
@media screen and (max-width: 1099.98px) {
  .nav {
    position: fixed;
    top: 0;
    left: -240px;
    width: 250px;
    height: 100%;
    min-height: 100vh;
    background-color: transparent;
    will-change: transform;
    z-index: 1001;
  }
}
@media screen and (min-width: 1100px), print {
  .nav {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1001;
  }
}
@media screen and (max-width: 1099.98px) {
  .nav .inner {
    position: relative;
    width: 240px;
    height: 100%;
    margin: 0;
    background: #fff;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media screen and (min-width: 1100px), print {
  .nav .inner {
    position: absolute;
    width: 100%;
    max-width: none;
  }
}

/* メインナビ */
@media screen and (max-width: 1099.98px) {
  .main-nav {
    padding: 70px 10px 10px;
    opacity: 0;
  }
  .nav-open .main-nav, .slideout-open .main-nav {
    opacity: 1;
  }
}
@media screen and (min-width: 1100px), print {
  .main-nav {
    position: absolute;
    top: 55px;
    right: 15px;
    border-right: 5px solid #eee;
  }
}
@media screen and (min-width: 1240px), print {
  .main-nav {
    top: 35px;
    right: 100px;
    left: auto;
  }
}
@media screen and (min-width: 1600px), print {
  .main-nav {
    right: 112px;
  }
}
@media screen and (max-width: 1099.98px) {
  .main-nav .nav-item {
    position: relative;
  }
  .main-nav .nav-item:not(:last-child) {
    margin-bottom: -1px;
    border-bottom: 1px solid #f8f8f8;
  }
}
@media screen and (min-width: 1100px), print {
  .main-nav .nav-item {
    position: relative;
    float: left;
  }
}
@media screen and (max-width: 1099.98px) {
  .main-nav .nav-link {
    position: relative;
    display: block;
    height: 50px;
    padding: 0 1em;
    line-height: 50px;
    color: #111;
    overflow: hidden;
  }
  .main-nav .nav-link:hover {
    color: #fff;
    text-decoration: none;
    background-color: #51a0c2;
  }
  .main-nav .nav-link:hover:after {
    color: #fff;
  }
  .main-nav .nav-link:after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    margin-left: 1em;
    font-size: .8em;
    color: #bbb;
    letter-spacing: .1em;
  }
  .main-nav .nav-link span {
    display: inline-block;
    vertical-align: middle;
    margin-top: -.2em;
    font-size: 1.1em;
  }
}
@media screen and (min-width: 1100px), print {
  .main-nav .nav-link {
    display: block;
    height: 40px;
    padding: .3em 2.5em 0;
    text-align: center;
    color: #3993b9;
    line-height: 1.1;
    border-left: 5px solid #eee;
  }
  .main-nav .nav-link:hover {
    color: #fff;
    text-decoration: none;
    background-color: #3993b9;
  }
  .main-nav .nav-link:hover:after {
    color: #fff;
  }
  .main-nav .nav-link:after {
    content: "";
    display: block;
    margin-top: .1em;
    color: #bbb;
    font-size: .85em;
    letter-spacing: .1em;
  }
  .main-nav .nav-link span {
    display: block;
    font-size: 1.15em;
  }
}
@media screen and (min-width: 1240px), print {
  .main-nav .nav-link {
    padding-right: 1em;
    padding-left: 1em;
  }
}
@media screen and (min-width: 1600px), print {
  .main-nav .nav-link {
    padding-right: 1.5em;
    padding-left: 1.5em;
  }
}
@media screen and (min-width: 1100px), print {
  .main-nav .sub-nav-button:hover + .nav-link,
  .main-nav .sub-nav-active .nav-link,
  .main-nav .sub-nav-active .sub-nav-button:hover + .nav-link {
    color: #fff;
    background-color: #3993b9;
  }
  .main-nav .sub-nav-button:hover + .nav-link:after,
  .main-nav .sub-nav-active .nav-link:after,
  .main-nav .sub-nav-active .sub-nav-button:hover + .nav-link:after {
    color: #fff;
  }
}
@media screen and (min-width: 1100px), print {
  .main-nav .nav-home {
    display: none;
  }
}
.main-nav .nav-home .nav-link:after {
  content: "Home";
}
@media screen and (min-width: 1100px), print {
  .main-nav .nav-news {
    display: none;
  }
}
.main-nav .nav-news .nav-link:after {
  content: "News";
}
.main-nav .nav-about .nav-link:after {
  content: "About";
}
.main-nav .nav-info .nav-link:after {
  content: "Information";
}
.main-nav .nav-facility .nav-link:after {
  content: "Facility";
}
.main-nav .nav-access .nav-link:after {
  content: "Access";
}
.main-nav .nav-contact .nav-link:after {
  content: "Contact";
}
@media screen and (min-width: 1100px), print {
  .main-nav .nav-english {
    display: none;
  }
}
.main-nav .nav-english .nav-link:after {
  content: "English Contents";
}

/* ドロップダウンナビ */
.sub-nav {
  height: 0;
  visibility: hidden;
  opacity: 0;
}
@media screen and (max-width: 1099.98px) {
  .sub-nav {
    overflow: hidden;
  }
}
@media screen and (min-width: 1100px), print {
  .sub-nav {
    position: absolute;
    top: 50%;
    left: 5px;
    width: 600%;
    margin: 0;
    padding: 0;
    background: #fff;
    z-index: 10;
    -webkit-transition: .2s;
    transition: .2s;
  }
}
.sub-nav-active .sub-nav {
  visibility: visible;
  opacity: 1;
}
@media screen and (max-width: 1099.98px) {
  .sub-nav-active .sub-nav {
    height: auto;
    overflow: visible;
  }
}
@media screen and (min-width: 1100px), print {
  .sub-nav-active .sub-nav {
    top: 100%;
    opacity: 1;
  }
}
@media screen and (min-width: 1100px), print {
  .nav-info .sub-nav {
    left: -126%;
  }
}
@media screen and (min-width: 1100px), print {
  .sub-nav ul:after {
    content: "";
    display: table;
    clear: both;
  }
}
@media screen and (max-width: 1099.98px) {
  .sub-nav li {
    margin-top: 1px;
  }
}
@media screen and (min-width: 1100px), print {
  .sub-nav li {
    position: relative;
    float: left;
    margin-bottom: 1px;
  }
}
@media screen and (min-width: 1100px), print {
  .sub-nav li + li:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1px;
    height: 2em;
    margin: auto;
    background-color: #fff;
  }
}
@media screen and (max-width: 1099.98px) {
  .sub-nav a {
    display: block;
    position: relative;
    padding: 1em 1.2em;
    font-size: .9em;
    color: #fff;
    background-color: #51a0c2;
    overflow: hidden;
  }
  .sub-nav a:hover {
    color: #fff;
    text-decoration: none;
    background-color: #3993b9;
  }
}
@media screen and (min-width: 1100px), print {
  .sub-nav a {
    display: block;
    position: relative;
    padding: .7em 1em .8em;
    line-height: 1.3;
    font-size: 1.05em;
    color: #fff;
    background-color: #51a0c2;
    overflow: hidden;
  }
  .sub-nav a:hover {
    color: #fff;
    text-decoration: none;
    background-color: #80bcd7;
  }
}
.sub-nav-button {
  display: block;
  margin: 0;
  padding: 0;
  cursor: pointer;
  border: none;
  background: none;
  outline: none;
}
@media screen and (max-width: 1099.98px) {
  .sub-nav-button {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 40px;
    height: 40px;
    background-color: #80bcd7;
    z-index: 1;
  }
  .sub-nav-button:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    margin: auto;
    color: #fff;
    border-style: solid;
    border-width: 8px 5px 0 5px;
    border-color: #fff transparent transparent transparent;
  }
}
@media screen and (min-width: 1100px), print {
  .sub-nav-button {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-transition: opacity .2s;
    transition: opacity .2s;
  }
}
@media screen and (max-width: 1099.98px) {
  .sub-nav-active .sub-nav-button {
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
  }
  .sub-nav-active .sub-nav-button:after {
    border-style: solid;
    border-width: 0 5px 8px 5px;
    border-color: transparent transparent #fff transparent;
  }
}
@media screen and (min-width: 1100px), print {
  .sub-nav-active .sub-nav-button {
    left: -35px;
    width: 40px;
    background-color: #71b5d2;
    opacity: 1;
    z-index: 1;
  }
  .sub-nav-active .sub-nav-button:before, .sub-nav-active .sub-nav-button:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 45%;
    height: 2px;
    margin: auto;
    background-color: #fff;
  }
  .sub-nav-active .sub-nav-button:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .sub-nav-active .sub-nav-button:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
}
@media screen and (max-width: 1099.98px) {
  .sub-nav-active .nav-link {
    color: #51a0c2;
  }
  .sub-nav-active .nav-link:after {
    color: #51a0c2;
  }
}

/* ナビゲーション開閉ボタン */
.nav-button {
  display: none;
}
@media screen and (max-width: 1099.98px) {
  .nav-button {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 60px;
    height: 60px;
    background-color: #3993b9;
    cursor: pointer;
    outline: none;
    z-index: 1002;
  }
  .nav-open .nav-button, .slideout-open .nav-button {
    background-color: #51a0c2;
  }
  .nav-button-icon {
    display: block;
    position: absolute;
    top: -12px;
    right: 0;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 2px;
    margin: auto;
    background-color: #fff;
  }
  .nav-open .nav-button-icon, .slideout-open .nav-button-icon {
    background: none;
  }
  .nav-button-icon:before, .nav-button-icon:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    background-color: #fff;
  }
  .nav-open .nav-button-icon:before, .slideout-open .nav-button-icon:before, .nav-open .nav-button-icon:after, .slideout-open .nav-button-icon:after {
    margin-top: 0;
    background-color: #fff;
  }
  .nav-button-icon:before {
    margin-top: -8px;
  }
  .nav-open .nav-button-icon:before, .slideout-open .nav-button-icon:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .nav-button-icon:after {
    margin-top: 8px;
  }
  .nav-open .nav-button-icon:after, .slideout-open .nav-button-icon:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .nav-button-name {
    display: block;
    position: absolute;
    left: 0;
    bottom: 7px;
    width: 100%;
  }
  .nav-button-name:after {
    content: "MENU";
    display: block;
    color: #fff;
    font-size: .8em;
    font-weight: 800;
    text-align: center;
  }
  .nav-open .nav-button-name:after, .slideout-open .nav-button-name:after {
    content: "CLOSE";
    color: #fff;
  }
}

/* ナビゲーション背景 */
.nav-screen {
  display: none;
}
@media screen and (max-width: 1099.98px) {
  .nav-screen {
    display: inline;
  }
  .nav-screen-icon {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    margin: auto;
    background: #000;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: .2s;
    transition: .2s;
    z-index: 1000;
  }
  .nav-open .nav-screen-icon, .slideout-open .nav-screen-icon {
    visibility: visible;
    opacity: .4;
    cursor: pointer;
  }
}

/* スクロール時固定用 */
@media screen and (min-width: 1100px) {
  .nav.fixed .main-nav {
    top: 30px;
    right: 105px;
    -webkit-transition: top .2s;
    transition: top .2s;
  }
  .nav.fixed .main-nav .nav-link {
    padding-right: 1.7em;
    padding-left: 1.7em;
  }
}

/* --------------------------------

  スライダー、メインビジュアル

-------------------------------- */
.slider {
  position: relative;
  padding-bottom: 43px;
  background-color: #fff;
  overflow: hidden;
}
@media screen and (min-width: 1100px), print {
  .slider {
    padding-bottom: 55px;
  }
}
.slider .inner {
  width: 100%;
  height: 100%;
  max-width: none;
}
.slider .inner:before {
  content: "";
  display: block;
  padding-top: 240px;
}
@media screen and (min-width: 640px), print {
  .slider .inner:before {
    padding-top: 40%;
  }
}
@media screen and (min-width: 1100px), print {
  .slider .inner:before {
    padding-top: 580px;
  }
}
.slider .slide {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.slider .slide:before {
  content: "";
  display: block;
  padding-top: 240px;
}
@media screen and (min-width: 640px), print {
  .slider .slide:before {
    padding-top: 40%;
  }
}
@media screen and (min-width: 1100px), print {
  .slider .slide:before {
    padding-top: 580px;
  }
}
@media screen and (min-width: 1600px), print {
  .slider .slide:before {
    width: 1600px;
  }
}

/* owl-carousel */
.slider .owl-carousel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.slider .owl-carousel.single {
  display: block;
}
@media screen and (min-width: 1600px), print {
  .slider .owl-carousel.single {
    display: none;
  }
}
.slider .owl-carousel.triple {
  display: none;
}
@media screen and (min-width: 1600px), print {
  .slider .owl-carousel.triple {
    display: block;
  }
}
.slider .owl-carousel.triple .owl-item {
  opacity: .9;
}
.slider .owl-carousel.triple .owl-item.active.center {
  opacity: 1;
}
.slider .owl-carousel .owl-item img {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  max-width: none;
  height: 100%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 1600px), print {
  .slider .owl-carousel .owl-item img {
    width: 100%;
    height: auto;
  }
}
.slider .owl-nav {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: 1600px;
  height: 1px;
  margin: auto;
  z-index: 101;
}
.slider .owl-nav.single {
  display: block;
}
@media screen and (min-width: 1100px), print {
  .slider .owl-nav.single {
    top: 150px;
  }
}
@media screen and (min-width: 1600px), print {
  .slider .owl-nav.single {
    display: none;
  }
}
.slider .owl-nav.triple {
  display: none;
}
@media screen and (min-width: 1600px), print {
  .slider .owl-nav.triple {
    display: block;
    top: 150px;
  }
}
.slider .owl-prev,
.slider .owl-next {
  display: block;
  position: absolute;
  top: -20px;
  width: 40px;
  height: 40px;
  cursor: pointer;
}
@media screen and (min-width: 1100px), print {
  .slider .owl-prev,
  .slider .owl-next {
    top: -30px;
    width: 60px;
    height: 60px;
  }
}
@media screen and (min-width: 1280px), print {
  .slider .owl-prev,
  .slider .owl-next {
    top: -55px;
    width: 110px;
    height: 110px;
  }
}
.slider .owl-prev:before,
.slider .owl-next:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 50%;
  height: 50%;
  margin: auto;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
}
.slider .owl-prev {
  left: 0;
}
.slider .owl-prev:before {
  left: 30%;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.slider .owl-next {
  right: 0;
}
.slider .owl-next:before {
  right: 30%;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
.slider .owl-dots {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  z-index: 100;
}
.slider .owl-dots.single {
  display: block;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .slider .owl-dots.single {
    padding: 0 2em;
    text-align: left;
  }
}
@media screen and (min-width: 1600px), print {
  .slider .owl-dots.single {
    display: none;
  }
}
.slider .owl-dots.triple {
  display: none;
}
@media screen and (min-width: 1600px), print {
  .slider .owl-dots.triple {
    display: block;
    text-align: center;
  }
}
.slider .owl-dots-inner {
  max-width: 1100px;
  margin: auto;
}
.slider .owl-dots .owl-dot {
  display: inline-block;
  vertical-align: middle;
  width: 45px;
  margin: 0 3px;
  padding: 20px 0;
  cursor: pointer;
}
@media screen and (min-width: 1100px), print {
  .slider .owl-dots .owl-dot {
    width: 70px;
    margin: 0 10px 0 0;
    padding: 26px 0;
  }
}
.slider .owl-dots .owl-dot span {
  display: block;
  height: 3px;
  background-color: #eee;
}
.slider .owl-dots .owl-dot.active span {
  background-color: #3993b9;
}

/* --------------------------------

  main

-------------------------------- */
.main {
  display: block;
  position: relative;
  padding: 5em 1em;
  background: #fff;
  z-index: 100;
}
#top .main {
  padding: 1em 1em 0;
}
@media screen and (min-width: 1100px), print {
  .main {
    padding: 5em 2em;
  }
  #top .main {
    padding: 0 2em 0;
  }
}

#top .main > .inner {
  max-width: none;
}

/* --------------------------------

  footer

-------------------------------- */
.footer {
  display: block;
  position: relative;
  background: #71b5d2;
  z-index: 100;
}
.footer .inner {
  max-width: none;
}
.footer-main {
  padding: 0 1em;
}
@media screen and (min-width: 1100px), print {
  .footer-main {
    float: right;
    position: relative;
    width: 100%;
    padding: 0 0 10em 50%;
  }
}
@media screen and (min-width: 1100px), print {
  .footer-side {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
  }
}

/* グーグルマップ */
.footer-gmap {
  position: relative;
  height: 440px;
  overflow: hidden;
}
@media screen and (min-width: 1100px), print {
  .footer-gmap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.footer-gmap iframe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ロゴ */
.footer-logo {
  padding: 2em 0;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .footer-logo {
    padding: 2em;
    text-align: left;
  }
}
.footer-logo img {
  width: 400px;
}
@media screen and (min-width: 1100px), print {
  .footer-logo img {
    width: auto;
  }
}

/* 診療時間表 */
.footer-timetable {
  margin-bottom: 2em;
}
@media screen and (min-width: 1100px), print {
  .footer-timetable {
    margin-bottom: 0;
    padding: 0 2em;
  }
}
.footer-timetable .time-table {
  max-width: 480px;
  margin: auto;
}
@media screen and (min-width: 1100px), print {
  .footer-timetable .time-table {
    margin-left: 0;
  }
}

/* 住所・電話番号 */
.footer-contact {
  display: block;
  margin: 0 -1em;
  padding: 1em 0;
  background-color: #80bcd7;
}
@media screen and (min-width: 1100px), print {
  .footer-contact {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50%;
    height: 8em;
    margin: 0;
    padding: 1em 0 0 2em;
  }
}
.footer-contact .global-contact-us {
  font-size: .9em;
  text-align: center;
}
@media screen and (min-width: 640px), print {
  .footer-contact .global-contact-us {
    font-size: 1em;
  }
}
@media screen and (min-width: 1100px), print {
  .footer-contact .global-contact-us {
    max-width: 480px;
  }
}
.footer-contact .global-contact-us .add {
  padding-top: .2em;
}
.footer-contact .global-contact-us a.tel-link,
.footer-contact .global-contact-us .add-link {
  color: #111;
}
.footer-contact .global-contact-us a.tel-link:hover,
.footer-contact .global-contact-us .add-link:hover {
  color: #51a0c2;
}

/* フッターナビ */
.footer-nav {
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .footer-nav {
    display: none;
  }
}
.footer-nav li {
  float: left;
  width: 100%;
}
@media screen and (min-width: 480px), print {
  .footer-nav li {
    width: 50%;
  }
}
@media screen and (min-width: 1100px), print {
  .footer-nav li {
    width: 25%;
  }
}
.footer-nav a {
  display: block;
  position: relative;
  height: 44px;
  color: #fff;
  background: #3993b9;
  -webkit-transition: .2s;
  transition: .2s;
}
.footer-nav a:hover {
  text-decoration: none;
  background-color: #51a0c2;
}

/* ページトップ */
.pagetop {
  display: block;
  position: relative;
  width: 50px;
  height: 50px;
  margin: auto;
  color: #fff;
  text-align: center;
  background-color: #3993b9;
  overflow: hidden;
}
@media screen and (min-width: 640px), print {
  .pagetop {
    position: absolute;
    right: 10px;
    bottom: 10px;
  }
}
@media screen and (min-width: 1100px), print {
  .pagetop {
    position: fixed;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .3s;
    transition: .3s;
  }
}
@media screen and (min-width: 1100px) {
  .pagetop.fixed {
    opacity: 1;
    visibility: visible;
  }
}
.pagetop:hover {
  color: #fff;
  text-decoration: none;
  background-color: #51a0c2;
}
.pagetop:before {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  content: "\e905";
  display: inline-block;
  font-size: 16.8px;
  font-size: 1.2rem;
  line-height: 50px;
}

/* コピーライト */
.copy {
  display: block;
  padding: 2em 0 2em;
  text-align: center;
  background: #fff;
}
.copy small {
  display: inline-block;
  position: relative;
  padding-top: 65px;
  color: #aaa;
  font-size: .75em;
}
@media screen and (min-width: 640px), print {
  .copy small {
    padding-top: 0;
    padding-left: 70px;
    text-align: left;
  }
}
.copy small:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 56px;
  height: 56px;
  margin: auto;
  background: url(../img/base/logo4.png) center no-repeat;
  background-size: cover;
}
@media screen and (min-width: 640px), print {
  .copy small:before {
    right: auto;
    bottom: 0;
  }
}
.copy span {
  display: block;
  font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

/* --------------------------------

  お知らせ

-------------------------------- */
.news-area {
  position: relative;
}
.news-area .inner {
  padding: 0;
  line-height: 1.5;
}
.news-area .inner:not(:last-child) {
  margin-bottom: 0;
}
.news-area .news-heading {
  margin-bottom: 0;
}
.news-area .news-list,
.news-area .news-thumb-list,
.news-area .news-img-list {
  padding-bottom: 1em;
}
.news-detail .inner {
  line-height: 1.5;
}
.news-detail .inner:not(:last-child) {
  margin-bottom: 0;
}
.news-detail .news-date {
  color: #3993b9;
}
.news-link {
  display: block;
  padding: 1em 0;
  border-bottom: 1px dotted #eee;
}
.news-title {
  word-break: break-all;
  word-wrap: break-word;
}
.news-body {
  word-break: break-all;
  word-wrap: break-word;
  text-align: left;
}
.news-text {
  margin-top: 1em;
  line-height: 1.8;
  word-break: break-all;
  word-wrap: break-word;
}
.news-text p,
.news-text div {
  word-break: break-all;
  word-wrap: break-word;
}
.news-more {
  margin-top: 1.5em;
  text-align: center;
}
@media screen and (min-width: 640px), print {
  .news-more {
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 0;
  }
}
.news-back {
  clear: both;
  max-width: 1100px;
  margin: 2em auto 0;
  padding: 2em 0 0 0;
  text-align: center;
  border-top: 1px dotted #3993b9;
}

/* お知らせ一覧（テキストのみ）*/
.news-list .news-link {
  position: relative;
  padding: 1.2em 1em 1em;
  border-color: #3993b9;
}
.news-list .news-link:hover .news-date {
  color: #3993b9;
}
.news-list .news-date {
  float: left;
  margin: 0 0 .2em;
  color: #111;
}
@media screen and (min-width: 640px), print {
  .news-list .news-date {
    margin: 0;
  }
}
.news-list .news-title,
.news-list .news-body {
  clear: both;
  margin: 0;
}
@media screen and (min-width: 640px), print {
  .news-list .news-title,
  .news-list .news-body {
    clear: none;
    margin: 0 0 0 8em;
  }
}

/* WordPress お知らせ詳細用 */
.news-pagers {
  position: relative;
  margin-top: 2em;
  padding-top: 2em;
  border-top: 1px dotted #eee;
  overflow: hidden;
}

.news-pager {
  width: 70px;
  height: 40px;
  margin: auto;
  overflow: hidden;
}
@media screen and (min-width: 480px), print {
  .news-pager {
    width: 80px;
  }
}
.news-pager a {
  display: block;
  position: relative;
  color: #fff;
  line-height: 40px;
  text-align: center;
  border-radius: 0;
  background-color: #3993b9;
  -webkit-transition: .2s;
  transition: .2s;
}
.news-pager a:hover {
  color: #fff;
  text-decoration: none;
  background-color: #51a0c2;
}
.news-pager a:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}
.news-pager-prev {
  position: absolute;
  top: 2em;
  right: 0;
  left: -190px;
}
@media screen and (min-width: 480px), print {
  .news-pager-prev {
    left: -240px;
  }
}
.news-pager-prev a {
  padding-left: 10px;
}
.news-pager-prev a:before {
  display: none;
}
.news-pager-prev a:after {
  left: -40px;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
.news-pager-next {
  position: absolute;
  top: 2em;
  right: -190px;
  left: 0;
}
@media screen and (min-width: 480px), print {
  .news-pager-next {
    right: -240px;
  }
}
.news-pager-next a {
  padding-right: 10px;
}
.news-pager-next a:before {
  display: none;
}
.news-pager-next a:after {
  right: -40px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.news-pager-back {
  width: 90px;
  font-size: 13px;
}
@media screen and (min-width: 480px), print {
  .news-pager-back {
    width: 120px;
  }
}
.news-pager-back a:before, .news-pager-back a:after {
  display: none;
}

/* --------------------------------

  フォーム部品

-------------------------------- */
/* フォーム用説明文 */
/* フォーム用説明文 */
/* フォーム用テーブル */
.form-table {
  display: block;
  line-height: 1.5;
  overflow: hidden;
}
.form-table tbody {
  display: block;
  margin: 0;
  padding: 0;
}
.form-table tr {
  display: table;
  width: 100%;
  padding: .5em 0;
  border-bottom: 1px dotted #eee;
}
@media screen and (max-width: 639.98px) {
  .form-table tr {
    display: block;
    padding: 0;
    border-bottom: none;
  }
  .form-table tr:not(:last-child) {
    margin-bottom: 1.5em;
  }
}
.form-table th {
  vertical-align: top;
  width: 200px;
  padding: .8em 0 0 .5em;
}
@media screen and (max-width: 639.98px) {
  .form-table th {
    display: block;
    width: 100%;
    margin-bottom: .5em;
    padding: 0;
  }
}
.form-table td {
  vertical-align: top;
  padding: .5em 1em .5em 0;
}
@media screen and (max-width: 639.98px) {
  .form-table td {
    display: block;
    padding: 0;
  }
}

/* お問い合わせ内容 */
.form-area-type1 .form-item,
.form-area-type2 .form-item {
  display: inline-block;
  vertical-align: middle;
  padding: .3em;
}
@media screen and (max-width: 639.98px) {
  .form-area-type1 .form-item,
  .form-area-type2 .form-item {
    display: block;
  }
}

/* 文中注釈用 */
.form-area-note {
  margin-top: .5em;
  font-size: .9em;
}

/* 郵便番号 */
.form-area-post .form-short,
.form-post .form-short {
  width: 140px;
}

/* ご住所 */
.form-area-add .form-textarea {
  height: 2.6em;
  min-height: 2.6em;
  padding: .5em .5em 0;
}
.form-area-add .form-item {
  display: table;
  width: 100%;
}
.form-area-add .form-item:not(:last-child) {
  margin-bottom: .5em;
}
.form-area-add .form-item dt,
.form-area-add .form-item dd {
  display: table-cell;
  vertical-align: middle;
}
.form-area-add .form-item dt {
  width: 80px;
}

/* お問い合わせの内容 */
.form-area-message .form-textarea {
  height: 15em;
  min-height: 5em;
  padding: .5em .5em 0;
}

/* フォーム部品：入力欄 */
.form-short,
.form-middle,
.form-long {
  height: 2.6em;
  padding: 0 .5em;
  color: #111;
  font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1em;
  line-height: 1.5;
  border: 1px solid #ccc;
  background-color: #fff;
}
.form-short:focus,
.form-middle:focus,
.form-long:focus {
  border-color: #eee;
  background-color: #fff;
}

.form-short {
  width: 140px;
}

.form-middle {
  width: 65%;
}

.form-long {
  width: 100%;
}

@media screen and (max-width: 639.98px) {
  .form-short,
  .form-middle,
  .form-long {
    width: 100%;
  }
}
/* フォーム部品：入力必須マーク */
.form-title {
  display: inline-block;
  vertical-align: middle;
  padding-left: .5em;
  line-height: 1.2;
}

.form-icon {
  display: inline-block;
  vertical-align: middle;
}
.form-icon:before {
  content: "";
  display: block;
  width: 50px;
  margin: auto;
  font-size: .9em;
  font-weight: 800;
  font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  color: #fff;
  line-height: 1.8em;
  text-align: center;
}
.form-icon-required:before {
  content: "必須";
  color: #fff;
  background-color: #c00;
}
.form-icon-free:before {
  content: "任意";
  color: #fff;
  background-color: #fff;
}
@media screen and (max-width: 767.98px) {
  .form-icon-free:before {
    color: #fff;
    background-color: #ccc;
  }
}

/* フォーム部品：セレクト */
.select-wrap {
  position: relative;
  max-width: 100%;
  height: auto;
  white-space: nowrap;
  border-radius: 0;
  overflow: hidden;
}
.select-wrap:before {
  content: "";
  display: block;
  position: absolute;
  top: .3em;
  right: .3em;
  width: 2em;
  height: 2em;
  background: #fff url(../img/base/select.png) center no-repeat;
  background-size: 40px auto;
  z-index: 1;
}
.select-wrap.form-short, .select-wrap.form-middle, .select-wrap.form-long {
  padding: 0;
  border: none;
}
.select-wrap select {
  display: block;
  position: relative;
  z-index: 1;
  padding-right: 40px;
  background: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.select-wrap select:focus {
  background: none;
}
.select-wrap select:-ms-expand {
  display: none;
  visibility: hidden;
}
.select-wrap select:-moz-focusring {
  background: none transparent;
}
.select-wrap option {
  background: none transparent;
}

/* フォーム部品：ラジオボタン、チェックボックス共通 */
.form-box {
  position: absolute;
  opacity: 0;
}
.form-box + label {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin-right: 1em;
  padding-left: 26px;
  cursor: pointer;
}
.form-box + label:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 18px;
  height: 18px;
  margin: auto;
  border: 1px solid #ccc;
  background: #fff;
}
.form-box + label:after {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
}
.form-box:checked + label {
  color: #51a0c2;
}
.form-box:checked + label:before {
  border-color: #51a0c2;
}

/* フォーム部品：ラジオボタン */
.form-box-radio + label:before {
  border-radius: 100%;
}
.form-box-radio + label:after {
  top: 0;
  bottom: 0;
  left: 4px;
  width: 10px;
  height: 10px;
  background: #fff;
  border-radius: 100%;
  opacity: 1;
}
.form-box-radio:checked + label:after {
  background-color: #51a0c2;
  opacity: 1;
}

/* フォーム部品：チェックボックス */
.form-box-check + label:before {
  border-radius: 0;
}
.form-box-check + label:after {
  top: -10px;
  bottom: 0;
  left: 3px;
  width: 20px;
  height: 10px;
  border-left: 3px solid #51a0c2;
  border-bottom: 3px solid #51a0c2;
  opacity: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.form-box-check:checked + label:after {
  opacity: 1;
}

/* フォーム部品：テキストエリア */
.form-textarea {
  vertical-align: top;
  height: 10em;
  min-height: 4em;
  resize: vertical;
}

/* フォーム部品：エラーメッセージ */
.checkbox-error-message .validate-error:not(:first-child) {
  display: none !important;
}

input.validate-error,
select.validate-error,
textarea.validate-error {
  border-color: #c00;
}

span.validate-error {
  display: block;
  padding-top: .3em;
  font-size: .85em;
  color: #c00;
  background-color: #fff;
}

/* フォーム部品：送信ボタン */
.form-buttons {
  padding-top: 1em;
  text-align: center;
}

.form-button {
  display: inline-block;
  vertical-align: top;
  text-align: center;
  margin: 1em .5em 0;
  padding: .5em 1em .3em;
  color: #fff;
  font-size: 1.1em;
  line-height: 1.1;
  border: none;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  overflow: hidden;
  cursor: pointer;
  
}
.form-button-send {
  border-color: #3993b9;
  background: #3993b9;
}
.form-button-back {
  border-color: #999;
  background: #999;
}
.form-button-add {
  vertical-align: middle;
  max-width: 70px;
  margin: 0 0 0 .5em;
  font-size: 1em;
  background: #ccc;
}

/* --------------------------------

  ページタイトル

-------------------------------- */
.page-title {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 200px;
  background: #d3e9f1 url(../img/base/title.png);
  overflow: hidden;
  z-index: 10;
}
@media screen and (min-width: 1100px), print {
  .page-title {
    position: relative;
    height: 390px;
    z-index: 101;
  }
}
.page-title-bg {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 150px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (min-width: 640px), print {
  .page-title-bg {
    width: 50%;
    height: 100%;
  }
}
.news-page .page-title-bg {
  background-image: url(../img/pages/news/bg.jpg);
}
.about-page .page-title-bg {
  background-image: url(../img/pages/about/bg.jpg);
}
.info-page .page-title-bg {
  background-image: url(../img/pages/info/bg.jpg);
}
.facility-page .page-title-bg {
  background-image: url(../img/pages/facility/bg.jpg);
}
.access-page .page-title-bg {
  background-image: url(../img/pages/access/bg.jpg);
}
.contact-page .page-title-bg {
  background-image: url(../img/pages/contact/bg.jpg);
}
.en-page .page-title-bg {
  background-image: url(../img/pages/en/bg.jpg);
}
.page-title-bg:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(211, 233, 241, 0)), color-stop(60%, #d3e9f1));
  background: linear-gradient(to bottom, rgba(211, 233, 241, 0) 0%, #d3e9f1 60%);
}
@media screen and (min-width: 640px), print {
  .page-title-bg:before {
    top: 0;
    bottom: auto;
    width: 50%;
    height: 100%;
    background: -webkit-gradient(linear, left top, right top, from(#d3e9f1), to(rgba(211, 233, 241, 0)));
    background: linear-gradient(to right, #d3e9f1 0%, rgba(211, 233, 241, 0) 100%);
  }
}
.page-title-inner {
  display: block;
  position: absolute;
  bottom: 3em;
  left: 0;
  width: 100%;
  max-width: 1100px;
  padding: 0 1.5em;
  line-height: 1.2;
  text-align: center;
}
@media screen and (min-width: 640px), print {
  .page-title-inner {
    top: 50%;
    right: 0;
    bottom: auto;
    left: 0;
    text-align: left;
    margin: auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}
@media screen and (min-width: 1100px), print {
  .page-title-inner {
    max-width: 800px;
    margin-top: 75px;
  }
}
@media screen and (min-width: 1280px), print {
  .page-title-inner {
    max-width: 1100px;
  }
}
.page-title-name {
  display: block;
  position: relative;
  font-size: 2em;
}
@media screen and (min-width: 768px), print {
  .page-title-name {
    font-size: 2.8em;
  }
}
@media screen and (min-width: 1100px), print {
  .page-title-name {
    font-size: 3.5em;
  }
}
.page-title-name:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -1.4em;
  left: .2em;
  width: 100%;
  color: #3993b9;
  font-size: .5em;
  letter-spacing: .1em;
}
@media screen and (min-width: 768px), print {
  .page-title-name:after {
    font-size: .4em;
  }
}
.news-page .page-title-name:after {
  content: "NEWS";
}
.about-page .page-title-name:after {
  content: "ABOUT";
}
.info-page .page-title-name:after {
  content: "INFORMATION";
}
.facility-page .page-title-name:after {
  content: "FACILITY";
}
.access-page .page-title-name:after {
  content: "ACCESS";
}
.contact-page .page-title-name:after {
  content: "CONTACT";
}

/* --------------------------------

  パララックス

-------------------------------- */
.parallax {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: none;
  height: 140%;
  height: calc( 100% + 200px );
  background-repeat: no-repeat;
  background-position: top;
  background-size: cover;
  -webkit-transform: translateY(var(--translateY));
  transform: translateY(var(--translateY));
  will-change: transform;
}
.parallax img {
  display: block;
  position: relative;
  left: 50%;
  width: 100%;
  min-width: 2000px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media screen and (min-width: 1100px), print {
  .parallax img {
    min-width: 1600px;
  }
}

/* --------------------------------

  診療時間表

-------------------------------- */
/* 診療時間表 */
.time-table-main {
  margin: -1px -1px 1em;
  overflow: hidden;
}
.time-table table {
  width: 100%;
  color: #111;
  line-height: 1;
  border-spacing: 1px;
}
.time-table thead th {
  height: 40px;
  text-align: center;
  color: #fff;
  background-color: #000;
}
@media screen and (min-width: 640px), print {
  .time-table thead th {
    padding-left: .9em;
    font-size: 1.2em;
    text-align: left;
  }
}
.time-table thead td {
  width: 15%;
  font-size: .9em;
  text-align: center;
  color: #fff;
  background-color: #222;
}
@media screen and (min-width: 640px), print {
  .time-table thead td {
    width: 9.5%;
    font-size: 1.2em;
  }
}
.time-table thead td.sat {
  background-color: #286884;
}
.time-table thead td.sun {
  background-color: #d80100;
}
.time-table tbody th {
  text-align: center;
  background-color: #eee;
}
@media screen and (min-width: 640px), print {
  .time-table tbody th {
    padding-left: 1em;
    text-align: left;
  }
}
.time-table tbody td {
  line-height: 1.1;
  text-align: center;
  background-color: #f8f8f8;
}
.time-table tbody td.sat {
  background-color: #dae9f0;
}
.time-table tbody td.sun {
  background-color: #ffb9b9;
}
@media screen and (max-width: 639.98px) {
  .time-table .mon,
  .time-table .tue,
  .time-table .fri,
  .time-table .thu {
    display: none;
  }
}
@media screen and (min-width: 640px), print {
  .time-table .colspan {
    display: none;
  }
}
.time-table .am th,
.time-table .pm th {
  height: 44px;
}
@media screen and (min-width: 640px), print {
  .time-table .am th,
  .time-table .pm th {
    height: 50px;
  }
}
.time-table .ampm {
  display: inline-block;
  vertical-align: middle;
  font-size: 1.1em;
}
.time-table .time {
  display: inline-block;
  vertical-align: middle;
  margin: 0 .5em;
}
.time-table .open {
  display: block;
  width: .8em;
  height: .8em;
  margin: auto;
  border-radius: 100%;
  background-color: #1c89cf;
}
@media screen and (min-width: 768px), print {
  .time-table .open {
    width: 1em;
    height: 1em;
  }
}
.time-table .close {
  color: #c00;
}
.time-table-note {
  margin-top: 1em;
}
.time-table-note dt {
  float: left;
  clear: left;
  padding: .1em 1em .2em;
  font-weight: 800;
  color: #fff;
  background-color: #b20000;
}
.time-table-note dd {
  clear: left;
  padding: .5em 0 0;
  font-weight: 800;
  color: #fff;
}
@media screen and (min-width: 480px), print {
  .time-table-note dd {
    clear: none;
    padding: .1em 0 0 6em;
  }
}

/* --------------------------------

  言語切り替えボタン

-------------------------------- */
.language-exchange li {
  float: left;
  width: 50%;
}
.language-exchange a {
  display: block;
  text-align: center;
  line-height: 30px;
  color: #fff;
  background-color: #3993b9;
}
.language-exchange a:hover {
  background-color: #71b5d2;
  text-decoration: none;
}
.language-exchange a:before {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\e904";
  display: inline-block;
  vertical-align: middle;
  margin: -.1em .5em 0 0;
  font-size: 8.4px;
  font-size: .6rem;
  font-weight: 800;
}
.language-exchange a:after {
  content: attr(data-lang);
  display: inline-block;
  vertical-align: middle;
  margin: -.4em 0 0 .2em;
}
@media screen and (min-width: 1100px), print {
  .language-exchange a:after {
    display: none;
  }
}
.language-exchange span {
  display: none;
  font-size: .8em;
  font-weight: 800;
  letter-spacing: .1em;
}
@media screen and (min-width: 1100px), print {
  .language-exchange span {
    display: inline-block;
    vertical-align: middle;
    margin: -.4em 0 0 .2em;
  }
}
.en-page .language-exchange .jp a {
  background-color: #51a0c2;
}
.en-page .language-exchange .jp a:hover {
  background-color: #71b5d2;
}
.language-exchange .en a {
  background-color: #51a0c2;
}
.language-exchange .en a:hover {
  background-color: #71b5d2;
}
.en-page .language-exchange .en a {
  background-color: #3993b9;
}
.en-page .language-exchange .en a:hover {
  background-color: #71b5d2;
}

/* --------------------------------

  検索ボックス

-------------------------------- */
.search-form {
  display: block;
  position: relative;
  max-width: 1100px;
  height: 50px;
  margin: 0 0 0 auto;
  padding: 0 60px 0 0;
  background-color: #3993b9;
  -webkit-box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.3);
}
.search-form:before, .search-form:after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  width: 60px;
  text-align: center;
  color: #fff;
  z-index: 1;
}
.search-form:before {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  content: "\e906";
  top: 8px;
  font-size: 19.6px;
  font-size: 1.4rem;
  line-height: 1;
}
.search-form:after {
  content: "Search";
  bottom: 3px;
  font-size: .9em;
  font-weight: 800;
}
.search-form fieldset {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
}
.search-form input {
  font-size: 1.2em;
  line-height: 1.5;
  font-family: SourceHanSans, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
.search-form-button {
  display: block;
  margin: 0;
  padding: 0;
  width: 36px;
  height: 36px;
  border: none;
  outline: none;
  background: #ff006e;
  cursor: pointer;
}
.search-form-button .icon {
  color: #fff;
}
.search-form-button .icon:before {
  font-size: 18.2px;
  font-size: 1.3rem;
  line-height: 36px;
}
.search-form-body {
  opacity: 0;
  visibility: hidden;
}
@media screen and (min-width: 1100px), print {
  .search-form-body {
    -webkit-transition: .2s;
    transition: .2s;
  }
}
.search-form-body .search-field {
  float: left;
  width: 100%;
  height: 50px;
  padding: 0 1em;
  color: #ddd;
  border: none;
  background-color: #fff;
  outline: none;
}
.search-form-body .search-field:focus {
  color: #111;
}
.search-form-body .search-submit {
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 50px;
  color: #fff;
  font-size: 1.2em;
  line-height: 44px;
  letter-spacing: 1pt;
  border: none;
  z-index: 10;
  background: none;
  cursor: pointer;
  overflow: hidden;
}
.search-form-active .search-form-body {
  opacity: 1;
  visibility: visible;
}

/* --------------------------------

  ソーシャルボタン

-------------------------------- */
.social-buttons a {
  display: block;
  width: 36px;
  height: 0;
  padding-top: 36px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}
.social-buttons .twitter a {
  background-color: #54acee;
  background-image: url(../img/base/twitter.png);
  background-size: 70%;
  border-radius: 5px;
}
.social-buttons .instagram a {
  background-image: url(../img/base/instagram.svg);
  background-size: 40px;
  border-radius: 5px;

}

/* --------------------------------

  上部固定用電話番号ボタン

-------------------------------- */
.tel-button {
  display: none;
}
@media screen and (max-width: 1099.98px) {
  .tel-button {
    display: block;
    position: fixed;
    top: 0;
    left: 61px;
    width: 60px;
    height: 60px;
    padding: 10px 0 0;
    cursor: pointer;
    outline: none;
    text-align: center;
    background-color: #3993b9;
    z-index: 1002;
  }
  .tel-button:hover {
    text-decoration: none;
    background-color: #51a0c2;
  }
  .tel-button .icon-tel {
    color: #fff;
  }
  .tel-button .icon-tel:before {
    font-size: 1.8em;
  }
  .tel-button .icon-tel:after {
    content: "TEL";
    display: block;
    position: absolute;
    bottom: 9px;
    width: 100%;
    font-size: .8em;
    font-weight: bold;
  }
}

/* --------------------------------

  プリント

-------------------------------- */
@media print {
  html,
  body {
    width: 1100px;
    background: none;
  }
}
/* --------------------------------

  id01 トップページ

-------------------------------- */
/* ページ内共通 */
.section {
  position: relative;
  margin-right: -1em;
  margin-left: -1em;
}
@media screen and (min-width: 1100px), print {
  .section {
    margin-right: -2em;
    margin-left: -2em;
  }
}
.section-bg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* 導入部 */
.section-intro {
  padding: 0 1em;
}
@media screen and (min-width: 1100px), print {
  .section-intro {
    padding: 0 2em;
  }
}
@media screen and (min-width: 992px), print {
  .section-intro .inner {
    padding-right: 320px;
  }
}
@media screen and (min-width: 1100px), print {
  .section-intro .inner {
    min-height: 240px;
    padding-right: 420px;
  }
}
@media screen and (min-width: 768px), print {
  .section-intro-head {
    position: relative;
    padding-right: 320px;
    min-height: 190px;
  }
}
@media screen and (min-width: 992px), print {
  .section-intro-head {
    position: static;
    min-height: 0;
    padding-right: 0;
  }
}
.section-intro .intro-heading {
  line-height: 1.2;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .section-intro .intro-heading {
    margin-bottom: 1em;
    text-align: left;
  }
}
@media screen and (min-width: 1100px), print {
  .section-intro .intro-heading {
    padding-top: 2em;
  }
}
.section-intro .intro-heading span {
  display: inline-block;
  font-size: 1.6em;
}
@media screen and (min-width: 640px), print {
  .section-intro .intro-heading span {
    font-size: 1.9em;
  }
}
@media screen and (min-width: 1100px), print {
  .section-intro .intro-heading span {
    font-size: 2.2em;
  }
}
.section-intro .intro-img {
  display: block;
  width: 300px;
  margin: 1.5em auto;
}
@media screen and (min-width: 768px), print {
  .section-intro .intro-img {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
  }
}
@media screen and (min-width: 1100px), print {
  .section-intro .intro-img {
    width: auto;
  }
}
.section-intro .intro-description.jp {
  font-size: 1.2em;
}
.section-intro .intro-description.jp br {
  display: none;
}
@media screen and (min-width: 1100px), print {
  .section-intro .intro-description.jp br {
    display: block;
  }
}
.section-intro .intro-description.en {
  clear: both;
  margin-top: 1.3em;
  padding-top: 1em;
  border-top: 1px solid #eee;
}

/* サービス一覧 */
.section-service {
  padding: 5em 1em;
}
@media screen and (min-width: 1100px), print {
  .section-service {
    padding: 5em 2em;
  }
}
.section-service .inner {
  max-width: 1600px;
}

/* サービス一覧（詳細）*/
.service-menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 -1em -2em 0;
}
@media screen and (min-width: 1100px), print {
  .service-menu ul {
    margin: 0 -20px -2em 0;
  }
}
.service-menu li {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  max-width: 100%;
  padding: 0 1em 2em 0;
}
@media screen and (min-width: 480px), print {
  .service-menu li {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
}
@media screen and (min-width: 768px), print {
  .service-menu li {
    -ms-flex-preferred-size: 33.33333%;
    flex-basis: 33.33333%;
    max-width: 33.33333%;
  }
}
@media screen and (min-width: 1100px), print {
  .service-menu li {
    padding: 0 20px 2em 0;
  }
}
.service-menu .menu-link {
  display: block;
  color: #111;
}
.service-menu .menu-link:hover {
  color: #51a0c2;
  text-decoration: none;
}
.service-menu .menu-link:hover .img {
  opacity: .8;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.service-menu .menu-link:hover .menu-title {
  border-color: #3280a0;
}
.service-menu .menu-image {
  display: block;
  position: relative;
  overflow: hidden;
}
.service-menu .menu-image:before {
  content: "";
  display: block;
  padding-top: 33.33%;
}
.service-menu .menu-image .img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-transition: .3s;
  transition: .3s;
}
.service-menu .menu-title {
  display: block;
  padding-top: .5em;
  line-height: 1.1;
  border-top: 3px solid #3993b9;
}
@media screen and (min-width: 1100px), print {
  .service-menu .menu-title {
    padding: 1.2em 0 0 1.2em;
    border-top-width: 5px;
  }
}
.service-menu .menu-title:before {
  content: attr(data-subtitle);
  display: block;
  font-size: 2.1em;
  font-family: SourceHanSansBold, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
.service-menu .menu-title span {
  display: block;
  margin-top: .2em;
  font-size: 1.1em;
}
.service-menu .about .menu-image .img {
  background-image: url(../img/menu/menu1.jpg);
}
.service-menu .about .menu-title {
  border-color: #ff006e;
}
.service-menu .about .menu-title:before {
  color: #ff006e;
}
.service-menu .about .menu-link:hover .menu-title {
  border-color: #3280a0;
}
.service-menu .about .menu-link:hover .menu-title:before {
  color: #51a0c2;
}
.service-menu .info .menu-image .img {
  background-image: url(../img/menu/menu2.jpg);
}
.service-menu .facility .menu-image .img {
  background-image: url(../img/menu/menu3.jpg);
}

/* お知らせ */
.section-news {
  padding: 5em 1em 2em;
  background-color: #286884;
}
@media screen and (min-width: 768px), print {
  .section-news {
    padding: 5em 1em;
  }
}
@media screen and (min-width: 1100px), print {
  .section-news {
    padding: 5em 2em;
  }
}
.section-news .section-bg {
  position: relative;
  width: auto;
  height: 240px;
  margin: -5em -1em 2em;
}
@media screen and (min-width: 768px), print {
  .section-news .section-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    margin: 0;
  }
}
.section-news .section-bg .parallax {
  right: 0;
  left: auto;
  width: 100%;
  background-image: url(../img/top/bg.jpg);
  background-position: left;
}
@media screen and (min-width: 1100px), print {
  .section-news .section-bg .parallax {
    width: 40%;
  }
}
@media screen and (min-width: 1600px), print {
  .section-news .section-bg .parallax {
    width: 800px;
  }
}
.section-news-head {
  position: relative;
  margin-bottom: 2em;
}
.section-news-head:after {
  content: "";
  display: table;
  clear: both;
}
.section-news-heading {
  float: left;
  font-size: 3.5em;
  line-height: 1;
  color: #fff;
}
.section-news-more {
  position: absolute;
  top: 50%;
  left: 0;
  margin: .2em 0 0 12em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.section-news .news-list {
  border-top: 1px dotted #3280a0;
}
.section-news .news-list .news-link {
  padding: 1.2em 1em;
  font-size: 1.1em;
  color: #fff;
  border-color: #3280a0;
}
@media screen and (min-width: 1100px), print {
  .section-news .news-list .news-link {
    font-size: 1.15em;
  }
}
.section-news .news-list .news-link:hover .news-date {
  color: #fff;
}
.section-news .news-list .news-date {
  color: #fff;
}

/* --------------------------------

  id02 当院について

-------------------------------- */

.figure_fl,
.figure_fr{
	text-align:center;
	margin:0 auto 1em auto;
}
.figure_fl img,
.figure_fr img{
	margin-bottom:5px;
}
@media screen and (min-width: 1000px), print {
	.figure_fl{
		float:left;
		margin: 0 2em 1em 0;
	}
	.figure_fr{
		float:right;
		margin: 0 0 1em 2em;
	}
}

#history th,
#history td{ display:block;}

#history th{ border-left:3px solid #D3E9F1; padding:5px 10px;}
#history td{ margin-bottom:2em; border-bottom:1px dotted #ccc;  padding:5px;}

@media screen and (min-width: 768px), print {
	#history th,
	#history td{
		display:table-cell;
		vertical-align:top;
		border:none;
	}
	#history th{
		width:7em;
		padding:5px 0;
		border-right:3px solid #D3E9F1;
	}
	#history td{ padding:5px 0 5px 30px;}
}


/* --------------------------------

  id03 診療案内

-------------------------------- */

#subject dt{
	color:#3384A6;
	font-size:1.2em;
}
#subject dt:not(:first-child):before{
	display:block;
	content:"";
	width:100%;
	height:20px;
	margin:0 0 20px 0;
	border-bottom:1px dotted #3384A6;
	clear:both;
}
#subject dd ul{
	display: flex;
	flex-wrap: wrap;
}
#subject dd ul li{
	width:40%;
}
#subject dd span{
	display:block;
	text-align:right;
}
.txt000{ color:#000 !important;}

.glayBox{
	background:#eee;
	padding:20px 20px 15px 20px;
}
.glayBox p{
	text-align:right;
}
#checkup th,
#checkup td{
	display:block;
	padding:0px 0px;
}
#checkup th{
	display:none;
}
.checkupTd{
	color:#3280A0;
	font-weight:bold;
}
#checkup td:not(.checkupTd){
	margin-bottom:10px;
}

#aeromedical dt,
#aeromedical dd{
	padding:8px 12px;
	border-bottom:none;
	background:none;
}
#aeromedical dt{
	background:#3280A0;
	color:#fff;
	font-weight:bold;
}
#aeromedical dd{
	width:100%;
	background:#eee;
}	

.spcenter{
	text-align:center;
}
@media screen and (min-width: 768px), print {
	.spcenter{
		text-align:left;
	}	
	#subject dt{
		position:relative;
		color:#3384A6;
		font-size:1.8em;
	}
	#subject dd{
		position:relative;
		padding-left:150px;
	}
	#subject dd ul li{
		width:20%;
	}

	.glayBox{
		background:#eee;
		padding:20px 20px 15px 20px;
	}
	.glayBox ul{
		display:flex;
		flex-wrap: wrap;
	}
	.glayBox li{
		width:45%;
		font-size:1.2em;
	}

	#checkup table{
		border-top:1px solid #3280A0;
		border-right:1px solid #3280A0;
		margin-bottom:20px;
	}
	#checkup th,
	#checkup td{
		display:table-cell;
		border-bottom:1px solid #3280A0;
		border-left:1px solid #3280A0;
		padding:12px 20px;
	}
	#checkup th{
		background:#D3E9F1;
	}

	#aeromedical dl{
		display:table;
		width:430px;
	}
	#aeromedical dt,
	#aeromedical dd{
		display:table-cell;
		padding:8px 12px;
		border-bottom:10px solid #fff;
		background:none;
	}
	#aeromedical dt{
		background:#3280A0;
		color:#fff;
		font-weight:bold;
	}
	#aeromedical dd{
		width:320px;
		background:#eee;
	}
	#aeromedical dd p:not(:first-child){
		margin:1em 0 0 0;
	}
	.mln{ margin-left:0;}
}

/* --------------------------------

  id04 設備紹介

-------------------------------- */


#facilities .flex figure{
	text-align:center;
	margin-bottom:30px;
}
#facilities .flex figure img{
	margin-bottom:5px;
}

#endoscope-center-Top{
	padding:30px;
	min-height:400px;
	margin-bottom:20px;
	background:url(../img/pages/facility/bg2.jpg)
}
#endoscope-center-Top h3{
	border-bottom:5px solid #3993B9;
	margin-bottom:15px;
	padding-bottom:10px;
	text-align:center;
	font-size:2.5em;
	line-height:1;
	font-weight:bold;
}
#endoscope-center-Top h3 span{
	font-size:0.7em;
}
.inner-in{
	padding:0 20px;
}

#equipment .flex figure{
	text-align:center;
	margin-bottom:30px;
}
#equipment .flex figure img{
	margin-bottom:5px;
}

@media screen and (min-width: 768px), print {
	.flex{
		display:flex;
		flex-wrap: wrap;
	}
	#facilities .flex figure{ width:50%; }
	#equipment .flex figure{ width:33.3%;}
}


/* --------------------------------

  id05 アクセス

-------------------------------- */

.f160{
	font-size:2.3em;
	line-height:1.2;
	margin-bottom:40px;
}

#accessTable th,
#accessTable td{
	padding:5px 0;
	vertical-align:top;
}

#accessTable th{
	width:100px;
	color:#3280A0;
	border-right:2px solid #D3E9F1;
	font-weight:bold;
}
#accessTable tr{
	display:block;
	border-bottom:10px solid #fff;
}
#accessTable td{
	padding:5px 5px 5px 30px;
}

@media screen and (min-width: 800px), print {
	#accessTable{
		width:500px;
	}
}



/* --------------------------------

  id06 ご予約・お問合せ

-------------------------------- */
/* ページ共通：お問い合わせはこちら（住所・電話番号）*/
.global-contact-us .tel-link,
.global-contact-us .add-link {
  display: inline-block;
  vertical-align: top;
}
.global-contact-us .tel-link:hover,
.global-contact-us .add-link:hover {
  text-decoration: none;
}
.global-contact-us .icon-tel {
  display: inline-block;
  vertical-align: middle;
  margin: .1em .5em 0 0;
}
.global-contact-us .icon-tel:before {
  font-size: 30.8px;
  font-size: 2.2rem;
}
.global-contact-us .tel-num {
  display: inline-block;
  vertical-align: middle;
  margin-top: -.1em;
  font-size: 2.7em;
  line-height: 1.1;
}
.global-contact-us dt {
  margin-bottom: .3em;
}

/* お問い合わせはこちら */
/* 個人情報保護方針 */
.privacy-policy {
  height: 400px;
  overflow-y: scroll;
}
@media print {
  .privacy-policy {
    height: auto;
    overflow-y: auto;
  }
}


.lang-en{
	font-weight:light;
	color:#aaa;
	font-size:1.2em;
	margin-bottom:20px;
}
#tel-button{
	font-size:2em;
	color:#3993B9;
}

#forms th,
#forms td{
	display:block;
	padding-bottom:20px;
	vertical-align:top;
}

#forms th{
	font-size:1.3em;
	line-height:1.5;
}
#forms th span{
	font-size:0.8em;
	color:#327F9F;
	padding-left:1em;
}
#forms td input,
#forms td textarea{
	width:100%;
	padding:10px;
	border:1px solid #aaa;
	font-size:1.3em;
}
#forms td textarea{
	height:15em;
}
.form-buttons button{
	padding:15px 30px;
}

@media screen and (min-width: 800px), print {
	#forms th,
	#forms td{
		display:table-cell;
	}
	#forms th{
		width:180px;
	}
	#forms th span{
		display:block;
		padding:0;
	}
}



/* --------------------------------

  id07 en
  
-------------------------------- */

@media screen and (min-width: 800px), print {
	#main .figure_fr .time-table{
		max-width:493px;
	}
}



/* --------------------------------

  修正・追加用

-------------------------------- */
/* フッター用gmap */
#footer .footer-gmap .gmap {
  display: none;
}
#footer .footer-gmap iframe {
  /* display: none; */
}

.header-search-form{
	display:none;
}

.flex_bnr{
  display: block;
  padding: 0 15px;
}
.flex_bnr a{
  display: inline-block;
  background: #3993b9;
  color: #fff;
  padding: 15px 25px;
  border-radius: 5px;
}
.flex_bnr a:hover{
  opacity: 0.8;
  text-decoration: none;
}
.flex_bnr p{
  display: block;
  margin-bottom: 1em;
}
@media screen and (min-width: 800px), print {
	.flex_bnr{
    display: flex;
    gap: 20px;
    width: 100%;
    margin: 40px 0;
    font-size: 1rem;
    padding: 0;
  }
}

.calender{
  max-width: 1100px;
  margin: 0 auto;
  margin-top: 60px;
}

#nav-contact{
  display: none;
}