@charset "utf-8";

/*========================================================================================================================


  ◇◆◇ レイアウト ◇◆◇
  
  1.  header
      1-2. nav
  3.  contents
  4.  footer
  99. parts  
  
  
========================================================================================================================*/

/* side固定navの分余白 */
@media print,screen and (min-width:641px) {
  .l-sideSpace {
    padding-left:20px;
    padding-right:100px;
    box-sizing:border-box;
  }
}


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

  1. header
  
----------------------------------------------------------------------------------------------------*/

#hd {
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
  position:relative;
}

@media print,screen and (min-width:641px) {
  #hd {
    padding-top:4rem;
    min-width:1140px;
  }
}

@media screen and (max-width:640px) {
  #hd {
    height:70px;
    position:relative;
    padding:0.75rem 1rem;
    width:100%;
    background-color:#fff;
  }
}


/*-----------------------------------------------------------------------------------
  logo
-----------------------------------------------------------------------------------*/

.hd_logo {
  display:inline-block;
  float:left;
}

.hd_logo img {
  width:100%;
  height:auto;
}

@media print,screen and (min-width:641px) {
  .hd_logo {
    width:380px;
    margin-top:-4px;
  }
}

@media screen and (max-width:640px) {
  .hd_logo {
    width:260px;
    padding-top:0.4rem;
  }
}


/*-----------------------------------------------------------------------------------
  文字サイズ変更ボタン
-----------------------------------------------------------------------------------*/

#fontsize-change {
  display:inline-block;
  position:absolute;
  right:0;
  top:20px;
}

#fontsize-change,
#fontsize-change dt,
#fontsize-change dd {
  display:inline-block;
}

#fontsize-change dt,
#fontsize-change dd {
  float:left;
  line-height:1;
}

#fontsize-change dt {
  margin-right:5px;
  padding:0.4em 0.5em;
}

#fontsize-change dd {
  font-size:87.5%;
  padding:0.5em 0.75em;
}

#fontsize-change .change_btn {
  border-collapse:collapse;
  background-color:#fff;
  cursor:pointer;
}

/* 選択されてるボタン */
body.font-standard #fontsize-change .change_btn[data-font="S"],
body.font-large #fontsize-change .change_btn[data-font="L"] {
  background-color:#ffdc3c;
}

@media screen and (max-width:640px) {
  #fontsize-change { display:none; }
}


/*-----------------------------------------------------------------------------------
  snav
-----------------------------------------------------------------------------------*/

/* ▽snav /---------------------------------------- */

body.font-standard .hd_snav { padding-top:0.5rem; }
body.font-large .hd_snav { padding-top:0.25rem; }

.hd_snav ul {
  list-style:none;
  display:inline-block;
  letter-spacing:-0.5em;
  vertical-align:middle;
  margin-right:0.5rem;
}

.hd_snav li {
  display:inline-block;
  letter-spacing:normal;
  margin-right:1em;
}

.hd_snav li a {
  display:block;
  padding-bottom:0.25em;
  position:relative;
}

.hd_snav li a:after {
  content:"";
  width:100%;
  height:1px;
  position:absolute;
  left:0;
  bottom:0;
  background-color:rgba(10,50,100,0.4);
}

.hd_snav li a,
.hd_snav li a:visited,
.hd_snav li a:hover { color:#0a3264; text-decoration:none; }

@media print,screen and (min-width:641px) {
  .hd_snav {
    display:inline-block;
    float:right;
  }

  .ua-pc .hd_snav li a:after {
    transform-origin:center top;
    transform:scale(1,1);
  }

  .ua-pc .hd_snav li a:after {
    -webkit-transition:transform 0.2s;
    -moz-transition:transform 0.2s;
    -ms-transition:transform 0.2s;
    -o-transition:transform 0.2s;
    transition:transform 0.2s;
  }
  
  .ua-pc .hd_snav li a:hover:after {
    transform-origin:center top;
    transform:scale(0,1);
  }
}

@media screen and (max-width:640px) {
  .hd_snav ul { display:none; }
}


/* ▽TEL /---------------------------------------- */

.hd_snav .l-tel {
  display:inline-block;
  vertical-align:middle;
}

@media screen and (max-width:640px) {
  .hd_snav .l-tel {
    width:100px;
    height:70px;
    background-color:#00acbb;
    position:absolute;
    right:80px;
    top:0;
    text-decoration:none !important;
    color:#fff !important;
  }
  
  .hd_snav .l-tel_no { display:none; }
  .hd_snav .l-tel:before {
    content:"";
    width:30px;
    height:30px;
    display:inline-block;
    vertical-align:middle;
    background-repeat:no-repeat;
    background-position:center center;
    background-size:contain;
    margin-top:0.5rem;
  }

  .hd_snav .l-tel:before { background-image:url(../image/icon/tel_white.svg); }
  .no-svg .hd_snav .l-tel:before { background-image:url(../image/icon/tel_white.png); }

  .hd_snav .l-tel:after {
    content:"電話をかける";
    display:block;
    text-align:center;
    font-size:65%;
    padding-top:0.5rem;
  }
}


/*-----------------------------------------------------------------------------------
  side固定nav
-----------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  #fixNav {
    position:fixed;
    bottom:100px;
    right:0;
    z-index:999;
  }
  
  #fixNav li a,
  #fixNav li a:visited,
  #fixNav li a:hover { color:#fff; text-decoration:none; }
  
  #fixNav ul {
    padding-top:20px;
    list-style:none;
    display:inline-block;
    vertical-align:bottom;
  }
  
  #fixNav li {
    font-size:85%;
    width:70px;
    border-radius:0.5rem 0 0 0.5rem;
    overflow:hidden;
    margin-bottom:10px;
  }
  
  #fixNav li a {
    display:block;
    box-sizing:border-box;
    background-color:#00acbb;
    padding:1rem 0.8rem 0.75rem 0.8rem;
    -webkit-transition:background 0.2s ease;
    transition:background 0.2s ease;
  }
  
  #fixNav li span {
    -webkit-writing-mode:vertical-rl;
    -ms-writing-mode:tb-rl;
    writing-mode:vertical-rl;
    text-align:left;
    white-space:nowrap;
    line-height:1.2;
  }
  
  #fixNav li a:before {
    content:"";
    width:100%;
    height:30px;
    display:block;
    background-position:center top;
    background-repeat:no-repeat;
    background-size:contain;
  }
  
  #fixNav li.rsv a:before { background-image:url(../image/icon/rsv.svg?v=2); margin-bottom:0.2rem; }
  #fixNav li.tonichi a:before { background-image:url(../image/icon/contactlens.svg?v=2); margin-bottom:0.5rem; }
  .no-svg #fixNav li.rsv a:before { background-image:url(../image/icon/rsv.png?v=2); }
  .no-svg #fixNav li.tonichi a:before { background-image:url(../image/icon/contactlens.png?v=2); }
  
  #fixNav li a:hover { background-color:#4cc5cf; }
}

@media screen and (max-width:640px) {
  #fixNav { display:none; }
}


/*-----------------------------------------------------------------------------------
  
  1-2. nav
  
-----------------------------------------------------------------------------------*/

#gNav ul {
  list-style:none;
  font-family:"NotoSans";
  font-weight:400;
}

#gNav li a {
  width:100%;
  display:block;
  box-sizing:border-box;
}

@media print,screen and (min-width:641px) {
  #gNav {
    margin-top:30px;
    max-width:1230px;
    min-width:1140px;
    margin-left:auto;
    margin-right:auto;
    border-radius:2.5em;
    background-color:#1b69b8;
  }

  #gNav li a,
  #gNav li a:visited,
  #gNav li a:hover { color:#fff; text-decoration:none; }

  #gNav ul {
    display:table;
    margin-left:auto;
    margin-right:auto;
  }
  
  #gNav li {
    display:table-cell;
    vertical-align:middle;
    white-space:nowrap;
    padding-left:0.65rem;
    padding-right:0.65rem;
    position:relative;
    cursor:pointer;
  }
  
  #gNav li.pc-none { display:none; }
  
  #gNav ul { font-size:106.3%; }
  body.font-standard #gNav li a { padding:0.8rem 1.25rem; }
  body.font-large #gNav li a { padding:0.8rem 0.8rem; }
  
  #gNav li a:before {
    content:"";
    display:block;
    width:90%;
    height:3px;
    background-color:#fff;
    position:absolute;
    left:5%;
    bottom:0;
  }

  .ua-pc #gNav li a:before {
    transform-origin:center top;
    transform:scale(0,1);
  }

  .ua-pc #gNav li a:before {
    -webkit-transition:transform 0.3s;
    -moz-transition:transform 0.3s;
    -ms-transition:transform 0.3s;
    -o-transition:transform 0.3s;
    transition:transform 0.3s;
  }
  
  .ua-pc #gNav li:hover a:before {
    transform-origin:center top;
    transform:scale(1,1);
  }

  #gNav li.contactuser { font-size:87.5%; line-height:1.3; }
  
  .ua-tab #gNav li a:before { display:none; }
  
  #gNav ul.child,
  #gNav address,
  #gNav .l-tel { display:none; }
}

@media print,screen and (max-width:1360px) {
  body.font-large #gNav { font-size:95%; }
  body.font-standard #gNav li a { padding:0.8rem 1rem; }
}

@media screen and (max-width:640px) {   
  html.spNav-open { overflow-y:hidden; }
  #gNav {
    display:none;
    padding:70px 1rem 1rem 1rem;
  }
  
  #spNav-wrap {
    width:100%;
    min-width:500px;
    -webkit-transition:background 0.4s ease;
    transition:background 0.4s ease;
    z-index:100;
  }
  
  .spNav-open #spNav-wrap {
    width:100%;
    height:100%;
    position:fixed;
    left:0;
    top:0;
    overflow-y:auto;
    box-sizing:border-box;
    transform:translateZ(0);
    -webkit-overflow-scrolling:touch;
    background-color:#eef5fc;
  }
  
  #spNav-wrap,
  .spNav-close #spNav-wrap {
    background-color:transparent;
  }

  .spNav-open #gNav {
    width:100%;
    height:100%;
    box-sizing:border-box;
  }

  #gNav li a,
  #gNav li a:visited,
  #gNav li a:hover { color:#0a3264; text-decoration:none; }
  
  #gNav ul {
    font-size:106.3%;
    text-align:left;
    padding-top:1rem;
    padding-bottom:1rem;
  }
  
  #gNav li.pc-none { display:block; }
  
  #gNav li a {
    padding:1rem;
    border-bottom:1px solid #cfdff0;
    display:block;
    position:relative;
  }
  
  
  /* ▽開閉メニュー /---------------------------------------- */
    
  #gNav li.parent > a {
    padding:1rem 2.5em 1rem 1rem;
  }
  
  #gNav li.parent > a:after {
    content:"";
    position:absolute;
    right:0.75em;
    top:50%;
    margin-top:-0.5em;
    
    width:1.3em;
    height:1.3em;
    line-height:1;
    border-radius:100%;
    border:1px solid #6c84a2;
    box-sizing:border-box;
    display:inline-block;
    text-indent:100%;
    white-space:nowrap;
    overflow:hidden;
    vertical-align:middle;
    background-image:url(../image/icon/plus.svg);
    background-repeat:no-repeat;
    background-position:center center;
    background-size:50%;
  }
  .no-svg #gNav li.parent > a:after { background-image:url(../image/icon/plus.png); }
  
  #gNav li.parent.toggle-active > a:after { background-image:url(../image/icon/minus.svg); }
  .no-svg#gNav li.parent.toggle-active > a:after { background-image:url(../image/icon/minus.png); }
  
  
  #gNav ul.child {
    display:none;
    padding-top:0.5rem;
    padding-bottom:1.5rem;
    font-size:93.8%;
    font-weight:200;
  }
  
  #gNav ul.child li a {
    padding-left:2em;
    border-bottom:0;
    padding-bottom:0;
  }

  #gNav ul.child li a:before {
    background:none;
    content:"";
    display:inline-block;
    width:0.35em;
    height:0.35em;
    position:absolute;
    top:1.45em;
    border-right-style:solid;
    border-bottom-style:solid;
    border-right-width:1px;
    border-bottom-width:1px;
    border-right-color:#0a3264;
    border-bottom-color:#0a3264;
    -webkit-transform:rotate(-45deg);
    transform:rotate(-45deg);
    left:1em;
  }
  
  
  /* ▽住所・TEL /---------------------------------------- */
  
  #gNav address {
    display:block;
    padding-top:0.75rem;
    padding-bottom:1.5rem;
  }
  
  #gNav .l-tel {
    display:block;
    background-color:#fff;
    padding:1.5rem 1rem;
    border-radius:0.5rem;
    margin-bottom:2rem;
  }
}


/*-----------------------------------------------------------------------------------
  スマホmenuボタン
-----------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  #spNavBtn { display:none; }
}

@media screen and (max-width:640px) {
  #spNavBtn {
    background-color:#1b69b8;
    display:block;
    width:80px;
    height:70px;
    position:fixed;
    right:0;
    top:0;
    z-index:110;
    -webkit-transition:background 0.4s ease;
    transition:background 0.4s ease;
    text-decoration:none !important;
    color:#fff !important;
  }
  
  #spNavBtn:after {
    content:"メニュー";
    display:block;
    text-align:center;
    font-size:65%;
    padding-top:-1em;
  }
  #spNavBtn.close:after { content:"閉じる"; }

  .spNavBtn-ic,
  .spNavBtn-ic span,
  .spNavBtn-ic span:before,
  .spNavBtn-ic span:after {
    display:inline-block;
    -webkit-transition:transform 0.4s ease;
    transition:transform 0.4s ease;
    box-sizing:border-box;
  }
  .spNavBtn-ic {
    position:relative;
    width:24px;
    height:18px;
    margin-top:0.9rem;
  }
    
  .spNavBtn-ic span,
  .spNavBtn-ic span:nth-of-type(2),
  .spNavBtn-ic span:nth-of-type(3) {
    position:absolute;
    left:0;
    width:100%;
    height:2px;
    background-color:#fff;
  }
  .spNavBtn-ic span:nth-of-type(1) {
    top:0;
  }
  .spNavBtn-ic span:nth-of-type(2) {
    top:8px;
  }
  .spNavBtn-ic span:nth-of-type(3) {
    bottom:0;
  }

  #spNavBtn.close .spNavBtn-ic span,
  #spNavBtn.close .spNavBtn-ic span:nth-of-type(2),
  #spNavBtn.close .spNavBtn-ic span:nth-of-type(3) {
    background-color:#fff;
  }
      
  #spNavBtn.close .spNavBtn-ic span:nth-of-type(1) {
    -webkit-transform:translateY(8px) rotate(-315deg);
    transform:translateY(8px) rotate(-315deg);
  }
  #spNavBtn.close .spNavBtn-ic span:nth-of-type(2) {
    opacity:0;
  }
  #spNavBtn.close .spNavBtn-ic span:nth-of-type(3) {
    -webkit-transform:translateY(-8px) rotate(315deg);
    transform:translateY(-8px) rotate(315deg);
  }
}


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

  3. contents
  
----------------------------------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------------
  パンくず
-----------------------------------------------------------------------------------*/

#pan {
  width:100%;
  padding-top:1em;
  box-sizing:border-box;
  line-height:1.4;
}

#pan ul {
  font-size:81.3%;
  list-style:none;
  text-align:left;
}

#pan li {
  display:inline-block;
  position:relative;
  padding-left:1.25em;
}

#pan li:before {
  content:"";
  display:inline-block;
  width:0.5em;
  height:1px;
  position:absolute;
  top:50%;
  left:0.25em;
  background-color:rgba(10,50,100,0.4);
}

#pan li:first-child { padding-left:0; }
#pan li:first-child:before { display:none; }

@media print,screen and (min-width:641px) {
  #pan ul {
    width:1200px;
    margin-left:auto;
    margin-right:auto;
  }
}

@media screen and (max-width:640px) {
  #pan {
    padding-left:0.75rem;
    padding-right:0.75rem;
    padding-bottom:0.75em;
  }
}


/*-----------------------------------------------------------------------------------
  ページタイトル
-----------------------------------------------------------------------------------*/

#pgHd {
  width:100%;
  box-sizing:border-box;
  background-image:url(../image/hd_bg.jpg);
  background-position:center top;
  background-repeat:no-repeat;
}

.pgHd_hdline {
  box-sizing:border-box;
  color:#1b69b8;
  position:relative;
}

.pgHd_hdline span {
  width:100%;
  padding-bottom:0.5em;
  display:inline-block;
  position:absolute;
  left:50%;
  top:52%;
  transform:translate(-50%,-52%);
  line-height:1.4;
}

@media print,screen and (min-width:641px) {
  .pgHd_hdline { height:250px; }
}

@media screen and (max-width:640px) {
  .pgHd_hdline { height:200px; }
}


/*-----------------------------------------------------------------------------------
  sideページ内nav
-----------------------------------------------------------------------------------*/

.l-sidePgNav {
  border:2px solid #b5d3f1;
  padding:1rem 0.5rem 1.25rem 1.5rem;
  text-align:left;
  box-sizing:border-box;
}

.l-sidePgNav ul {
  list-style:none;
  padding-right:1rem;
  box-sizing:border-box;
}

.l-sidePgNav li {
  margin-top:0.5rem;
  margin-bottom:0.25rem;
  box-sizing:border-box;
  line-height:1.5;
}

.l-sidePgNav li a,
.l-sidePgNav li a:visited,
.l-sidePgNav li a:hover,
.ua-pc .l-sidePgNav li a:hover { text-decoration:none; }

.l-sidePgNav li a {
  position:relative;
  display:inline-block;
  padding-left:1.25em;
}

.l-sidePgNav li a:before {
  content:"";
  display:inline-block;
  width:0;
  height:0;
  border-style:solid;
  border-width:0.5em 0.4em 0 0.4em;
  border-color:#1b69b8 transparent transparent transparent;
  vertical-align:middle;
  position:absolute;
  left:0;
  top:0.55em;
}

@media print,screen and (min-width:641px) {
  .l-sidePgNav-wrap {
    position:relative;
  }

  .l-sidePgNav {
    max-width:300px;
    float:left;
  }
  
  .l-sidePgNav.fixed {
    top:20px;
    position:fixed;
  }
}


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

  4. footer
  
----------------------------------------------------------------------------------------------------*/

footer {
  background-color:#00468c;
  position:relative;
}

footer a,
footer a:visited,
footer a:hover { color:#fff; text-decoration:none; }
.ua-pc footer a:hover { color:#fff; text-decoration:underline; }

#ft {
  max-width:1240px;
  margin-left:auto;
  margin-right:auto;
  position:relative;
}

#ft .hrsTbl thead th { background-color:#1b69b8; border-color:#1b69b8; }
#ft .hrsTbl tbody th,
#ft .hrsTbl tbody tr td { border:0; }
#ft .hrsTbl tbody tr:last-child th,
#ft .hrsTbl tbody tr:last-child td { border-top:1px solid #ccdae8; }
#ft .hrsTbl tbody tr:last-child th { border-right:1px solid #eef5fc; }  /* IE隙間対策 */
#ft .hrsTbl tbody tr:last-child td:last-child { border-left:1px solid #fff; }  /* IE隙間対策 */
#ft .hrsTbl tbody th { background-color:#eef5fc; }
#ft .hrsTbl tbody tr td { background-color:#fff; }
#ft .hrsTbl tbody td { width:10%; }
#ft .hrsTbl tbody th .am,
#ft .hrsTbl tbody th .pm { margin-left:0; }

#ft .hrs-mk[data-ic="0"] { background-image:url(../image/icon/hrs-mk0_blue.svg); }
#ft .hrs-mk[data-ic="1"] { background-image:url(../image/icon/hrs-mk1_blue.svg); }
#ft .hrs-mk[data-ic="2"] { background-image:url(../image/icon/hrs-mk2_blue.svg); }
.no-svg #ft .hrs-mk[data-ic="0"] { background-image:url(../image/icon/hrs-mk0_blue.png); }
.no-svg #ft .hrs-mk[data-ic="1"] { background-image:url(../image/icon/hrs-mk1_blue.png); }
.no-svg #ft .hrs-mk[data-ic="2"] { background-image:url(../image/icon/hrs-mk2_blue.png); }

.ft_ad {color:#fff; }
.ft_logo { width:330px; }
.ft_ad address { padding-top:1.5rem; padding-bottom:1rem; }

.ft_hrs_bikou {
  text-align:left;
  color:#FFF;
  padding-top:1em;
  display:grid;
  grid-template-columns:auto 1fr;
  margin-left:-0.25em;
  margin-right:-0.25em;
}
.ft_hrs_bikou dt {
  text-align:center;
  font-weight:bold;
  padding-right:0.5em;
}
.ft_hrs_bikou dt.close span {
  display:inline-block;
  letter-spacing:0.25em;
  margin-right:-0.25em;
  position: relative;
}
.ft_hrs_bikou dt.close span:before,
.ft_hrs_bikou dt.close span:after {
  content:"";
  display:inline-block;
  width:0.25em;
  height:1em;
}

#copyright { color:#fff; }

@media print,screen and (min-width:641px) {
  footer {
    box-sizing:border-box;
    padding-top:60px;
    padding-bottom:60px;
    padding-left:20px;
    padding-right:20px;
  }
  
  .ft_hrs {
    width:700px;
    position:absolute;
    right:0;
    top:0;
    font-size:87.5%;
  }
  
  .ft_ad {
    text-align:left;
  }

  #copyright {
    padding-top:1.25rem;
    text-align:left;
    font-size:75%;
  }

  #copyright small {
    display:inline-block;
    margin-left:0.5em;
  }
}

@media screen and (max-width:640px) {
  footer {
    padding-bottom:2.5rem;
    padding-left:1rem;
    padding-right:1rem;
  }
  
  .ft_ad { padding-bottom:2.5rem; }
  .ft_ad address { padding-bottom:1.5rem; }
  
  #copyright { font-size:87.5%; padding-top:2rem; }
  #copyright small { display:none; }
}


/*-----------------------------------------------------------------------------------
  SSL
-----------------------------------------------------------------------------------*/

.ssl-warp {
  line-height:1.2;
  color:#fff;
}

.ssl {
  display:inline-block;
  margin-left:auto;
  margin-right:auto;
  text-align:left;
}

.ssl form {
  display:inline-block;
}

@media print,screen and (min-width:641px) {
  .ssl-warp {
    margin-top:70px;
    max-width:1240px;
    margin-left:auto;
    margin-right:auto;
    text-align:left;
  }
  
  .ssl form {
    margin-right:1rem;
    vertical-align:middle;
  }
}

@media screen and (max-width:640px) {
  .ssl-warp { padding:3rem 0 0 0; }
  .ssl form {
    float:left;
    margin-right:0.75rem;
  }
}


/*-----------------------------------------------------------------------------------
  page top
-----------------------------------------------------------------------------------*/

.page-top {
  text-align:center;
}

.page-top a {
  width:100%;
  height:100%;
  display:block;
  box-sizing:border-box;
  position:relative;
  -webkit-transition:color 0.2s;
  -moz-transition:color 0.2s;
  -o-transition:color 0.2s;
  -webkit-transition:color 0.2s;
  transition:color 0.2s;
}

.page-top span {
  width:100%;
  display:block;
  text-align:center;
  padding-top:1.5em;
}

.page-top span:before {
  content:"";
  display:block;
  position:absolute;
  left:50%;
  top:50%;
  width:10px;
  height:10px;
  margin-left:-5px;
  margin-top:-15px;
  -webkit-transform:rotate(45deg);
  transform:rotate(45deg);
  -webkit-transition:all 0.2s;
  -moz-transition:all 0.2s;
  -o-transition:all 0.2s;
  -webkit-transition:all 0.2s;
  transition:all 0.2s;
}

.preload .page-top span:before {
  -webkit-transition:none;
  -moz-transition:none;
  -o-transition:none;
  -webkit-transition:none;
  transition:none;
}

@media print,screen and (min-width:641px) {
  .page-top {
    width:120px;
    height:100px;
    position:absolute;
    right:0;
    bottom:0;
    z-index:10;
    font-size:62.5%;
    position:fixed;
    right:0;
    bottom:0 !important;
    top:inherit;
  }
  
  .page-top.sclB span:before {
    border-left:1px solid #fff;
    border-top:1px solid #fff;
  }

  .page-top.sclB a,
  .page-top.sclB a:visited,
  .page-top.sclB a:hover,
  .ua-pc .page-top.sclB a:hover {
    color:#fff;
    text-decoration:none;
  }

  .page-top span {
    position:absolute;
    left:0;
    top:50%;
    margin-top:-1em;
  }
  
  .page-top span:before {
    border-left:1px solid #0a3264;
    border-top:1px solid #0a3264;
  }

  .page-top a,
  .page-top a:visited,
  .page-top a:hover,
  .ua-pc .page-top a:hover {
    color:#0a3264;
    text-decoration:none;
  }
}

@media screen and (max-width:640px) {
  .page-top {
    width:100%;
    font-size:75%;
    padding-top:1rem;
    padding-bottom:0.75rem;
  }
  
  .page-top a {
    padding-top:1.5rem;
    padding-bottom:1.5rem;
  }
  
  .page-top span { padding-top:1.75em; }
  
  .page-top span:before {
    border-left:1px solid #fff;
    border-top:1px solid #fff;
  }

  .page-top a,
  .page-top a:visited,
  .page-top a:hover,
  .ua-pc .page-top a:hover {
    color:#fff;
    text-decoration:none;
  }
}

@media print {
  .page-top { display:none; }
}


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

  99. parts
  
----------------------------------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------------
  マーカー
-----------------------------------------------------------------------------------*/

.l-mk {
  display:inline;
  padding-left:0.25em;
  padding-right:0.25em;
  padding-bottom:0.25em;
  margin-left:0.25em;
  margin-right:0.25em;
  background:linear-gradient(transparent 50%, #ffed9b 50%);
}

.l-mk100 {
  display:inline;
  padding:0.1em 0.25em;
  background-color:#ffed9b;
}

.l-mk[data-mg="R"],
.l-mk100[data-mg="R"] { margin-right:0.25em; }
.l-mk[data-mg="L"],
.l-mk100[data-mg="L"] { margin-left:0.25em; }


/*-----------------------------------------------------------------------------------
  ボタン
-----------------------------------------------------------------------------------*/

.l-btn {
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  display:inline-block;
  box-sizing:border-box;
  border:none;
  margin:0;
  outline:none;
  text-align:center;
  text-decoration:none;
  font-size:inherit;
  cursor:pointer;
  line-height:1.4;
  border-radius:2em;
  padding:0.65em 3em;
  position:relative;
  overflow:hidden;
  -webkit-transition:background ease 0.2s, border ease 0.2s, color ease 0.1s;
  -moz-transition:background ease 0.2s, border ease 0.2s, color ease 0.1s;
  -ms-transition:background ease 0.2s, border ease 0.2s, color ease 0.1s;
  -o-transition:background ease 0.2s, border ease 0.2s, color ease 0.1s;
  transition:background ease 0.2s, border ease 0.2s, color ease 0.1s;
}

.l-btn,
.l-btn:visited,
.l-btn:hover,
.l-btn a,
.l-btn a:visited,
.l-btn a:hover { color:inherit; text-decoration:none !important; }

.l-btn .txt { position:relative; }
.l-btn .txt,
.l-btn .l-ar {
  display:inline-block;
  z-index:2;
}

@media print,screen and (min-width:641px) {
  .l-btn:before {
    content:"";
    width:102%;
    height:102%;
    position:absolute;
    left:-1%;
    top:-1%;
    right:-1%;
    bottom:-1%;
    transform-origin:center top;
    transform:scale(0,1);
  }

  .ua-pc .l-btn:before {
    -webkit-transition:transform 0.35s;
    -moz-transition:transform 0.35s;
    -ms-transition:transform 0.35s;
    -o-transition:transform 0.35s;
    transition:transform 0.35s;
  }
  
  .ua-pc .l-btn:hover:before,
  .ua-pc .l-btn a:hover:before {
    transform-origin:center top;
    transform:scale(1,1);
  }
}


/* サイズ
=====================================================================================*/

.l-btn[data-size="S"] { padding:0.5em 2.5em; font-size:87.5%; }
.l-btn[data-size="M"] { font-size:112.5%; }
.l-btn[data-size="L"] { font-size:125%; }


/* カラー
=====================================================================================*/

.l-btn[data-color="bgGreen"] { box-shadow:none; background-color:#00acbb; }
.l-btn[data-color="bgGreen"],
.l-btn[data-color="bgGreen"]:visited,
.l-btn[data-color="bgGreen"]:hover,
.l-btn[data-color="bgGreen"] a,
.l-btn[data-color="bgGreen"] a:visited,
.l-btn[data-color="bgGreen"] a:hover,
.ua-pc .l-btn[data-color="bgGreen"]:hover,
.ua-pc .l-btn[data-color="bgGreen"] a:hover { color:#fff; box-shadow:none; }
.l-btn[data-color="bgGreen"]:before { background-color:#4cc5cf; }
.l-btn[data-color="bgGreen"] .l-ar:not([data-type="C"]),
.l-btn[data-color="bgGreen"] a .l-ar:not([data-type="C"]) { background-image:url(../image/icon/ar_white.svg); }
.no-svg .l-btn[data-color="bgGreen"] .l-ar:not([data-type="C"]),
.no-svg .l-btn[data-color="bgGreen"] a .l-ar:not([data-type="C"]) { background-image:url(../image/icon/ar_white.png); }

.l-btn[data-color="bgBlue"] { box-shadow:none; background-color:#1b69b8; }
.l-btn[data-color="bgBlue"],
.l-btn[data-color="bgBlue"]:visited,
.l-btn[data-color="bgBlue"]:hover,
.l-btn[data-color="bgBlue"] a,
.l-btn[data-color="bgBlue"] a:visited,
.l-btn[data-color="bgBlue"] a:hover,
.ua-pc .l-btn[data-color="bgBlue"]:hover,
.ua-pc .l-btn[data-color="bgBlue"] a:hover { color:#fff; box-shadow:none; }
.l-btn[data-color="bgBlue"]:before { background-color:#5596d7; }
.l-btn[data-color="bgBlue"] .l-ar:not([data-type="C"]),
.l-btn[data-color="bgBlue"] a .l-ar:not([data-type="C"]) { background-image:url(../image/icon/ar_white.png); }
.no-svg .l-btn[data-color="bgBlue"] .l-ar:not([data-type="C"]),
.no-svg .l-btn[data-color="bgBlue"] a .l-ar:not([data-type="C"]) { background-image:url(../image/icon/ar_white.png); }

.l-btn[data-color="bgGray"] { box-shadow:none; background-color:#a2a7b1; }
.l-btn[data-color="bgGray"],
.l-btn[data-color="bgGray"]:visited,
.l-btn[data-color="bgGray"]:hover,
.l-btn[data-color="bgGray"] a,
.l-btn[data-color="bgGray"] a:visited,
.l-btn[data-color="bgGray"] a:hover,
.ua-pc .l-btn[data-color="bgGray"]:hover,
.ua-pc .l-btn[data-color="bgGray"] a:hover { color:#fff; box-shadow:none; }
.l-btn[data-color="bgGray"]:before { background-color:#b8bcc4; }
.l-btn[data-color="bgGray"] .l-ar:not([data-type="C"]),
.l-btn[data-color="bgGray"] a .l-ar:not([data-type="C"]) { background-image:url(../image/icon/ar_white.png); }
.no-svg .l-btn[data-color="bgGray"] .l-ar:not([data-type="C"]),
.no-svg .l-btn[data-color="bgGray"] a .l-ar:not([data-type="C"]) { background-image:url(../image/icon/ar_white.png); }


.l-btn { box-shadow:inset 0 0 0 1px #3b5b83; }
.l-btn,
.l-btn:visited,
.l-btn:hover,
.l-btn a,
.l-btn a:visited,
.l-btn a:hover,
.ua-pc .l-btn:hover,
.ua-pc .l-btn a:hover { color:#0a3264; }
.l-btn:before { background-color:#0a3264; }

@media print,screen and (min-width:641px) {
  .ua-pc .l-btn:hover,
  .ua-pc .l-btn a:hover { color:#fff; box-shadow:inset 0 0 0 1px #0a3264; }
  
  .ua-pc .l-btn:hover .l-ar:not([data-type="C"]),
  .ua-pc .l-btn a:hover .l-ar:not([data-type="C"]) { background-image:url(../image/icon/ar_white.svg); }
  .no-svg.ua-pc .l-btn:hover .l-ar:not([data-type="C"]),
  .no-svg.ua-pc .l-btn a:hover .l-ar:not([data-type="C"]) { background-image:url(../image/icon/ar_white.png); }
}


/*-----------------------------------------------------------------------------------
  診療時間
-----------------------------------------------------------------------------------*/

.hrsTbl {
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
  
.hrsTbl thead th {
  color:#fff;
  text-align:center;
  font-family:"NotoSans";
  font-weight:500;
  background-color:#4cc5cf;
  border:1px solid #4cc5cf;
}

.hrsTbl thead th:first-child { border-radius:0.5rem 0 0 0; }
.hrsTbl thead th:last-child { border-radius:0 0.5rem 0 0; }

.hrsTbl th,
.hrsTbl td {
  box-sizing:border-box;
  text-align:center;
  line-height:1.5;
  white-space:nowrap;
}

.hrsTbl thead th { padding:0.75rem 1rem; }
.hrsTbl tbody th,
.hrsTbl tbody td { padding:1rem; }

.hrsTbl thead th:nth-child(2),
.hrsTbl tbody th+td { padding-left:2rem; }

.hrsTbl tbody th {
  font-weight:bold;
  background-color:#edf9fa;
  vertical-align:middle;
}
.hrsTbl tbody td {
  width:11%;
}

.hrsTbl tbody th { border-left:2px solid #79d4db; }
.hrsTbl tbody tr td:last-child { border-right:2px solid #79d4db; }
.hrsTbl tbody tr:last-child th,
.hrsTbl tbody tr:last-child td { border-bottom:2px solid #79d4db; border-top:1px solid #aae3e8; }
.hrsTbl tbody tr:last-child th { border-radius:0 0 0 0.5rem; }
.hrsTbl tbody tr:last-child td:last-child { border-radius:0 0 0.5rem 0; }

.hrsTbl tbody th .am { display:inline-block; padding-left:0.6em; }
.hrsTbl tbody th .am,
.hrsTbl tbody th .pm { font-weight:normal; }
.hrsTbl tbody td small { font-size:87.5%; }

@media print,screen and (min-width:641px) {
  .hrsTbl tbody th .am,
  .hrsTbl tbody th .pm { margin-left:1em; }
}

@media screen and (max-width:640px) {
  .hrsTbl tbody th .am,
  .hrsTbl tbody th .pm { display:block; }
}


/* アイコン
=====================================================================================*/

.hrs-mk {
  text-indent:100%;
  white-space:nowrap;
  overflow:hidden;
  display:inline-block;
  vertical-align:middle;
  box-sizing:border-box;
  margin-top:-0.2em;
  position:relative;
  width:1.4em;
  height:1.4em;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
}

.hrs-mk[data-ic="0"] { background-image:url(../image/icon/hrs-mk0.svg); }
.hrs-mk[data-ic="1"] { background-image:url(../image/icon/hrs-mk1.svg); }
.hrs-mk[data-ic="2"] { background-image:url(../image/icon/hrs-mk2.svg); }
.no-svg .hrs-mk[data-ic="0"] { background-image:url(../image/icon/hrs-mk0.png); }
.no-svg .hrs-mk[data-ic="1"] { background-image:url(../image/icon/hrs-mk1.png); }
.no-svg .hrs-mk[data-ic="2"] { background-image:url(../image/icon/hrs-mk2.png); }


/*-----------------------------------------------------------------------------------
  TELアイコン
-----------------------------------------------------------------------------------*/

.l-tel {
  line-height:1;
}

.l-tel_no,
.l-fDial_no {
  display:inline-block;
  vertical-align:middle;
  font-weight:bold;
}

.l-tel_no:before {
  content:"";
  width:1.2em;
  height:1.2em;
  display:inline-block;
  vertical-align:middle;
  background-repeat:no-repeat;
  background-position:left center;
  background-size:contain;
  margin-top:-0.2em;
}

.l-fDial_no:before {
  content:"";
  width:1.6em;
  height:1.6em;
  display:inline-block;
  vertical-align:middle;
  background-repeat:no-repeat;
  background-position:left center;
  background-size:contain;
  margin-right:0.25rem;
  margin-top:-0.2em;
}


/* サイズ
=====================================================================================*/

.l-tel[data-size="L"] .l-tel_no,
.l-tel[data-size="L"] .l-fDial_no { font-size:180%; }
.l-tel[data-size="M"] .l-tel_no,
.l-tel[data-size="M"] .l-fDial_no { font-size:150%; }
.l-tel .l-tel_no,
.l-tel .l-fDial_no { font-size:120%; }


/* カラー
=====================================================================================*/

.l-tel[data-color="white"],
.ua-pc .l-tel[data-color="white"]:hover,
.ua-pc .l-tel[data-color="white"] a { color:#fff; }
.l-tel[data-color="white"] .l-tel_no:before { background-image:url(../image/icon/tel_white.svg); }
.no-svg .l-tel[data-color="white"] .l-tel_no:before { background-image:url(../image/icon/tel_white.png); }

.l-tel,
.ua-pc .l-tel:hover,
.ua-pc .l-tel a { color:#0a3264; }

.l-tel .l-tel_no:before { background-image:url(../image/icon/tel.svg); }
.no-svg .l-tel .l-tel_no:before { background-image:url(../image/icon/tel.png); }

.l-tel .l-fDial_no:before { background-image:url(../image/icon/fDial.svg); }
.no-svg .l-tel .l-fDial_no:before { background-image:url(../image/icon/fDial.png); }


/*-----------------------------------------------------------------------------------
  外部リンクアイコン
-----------------------------------------------------------------------------------*/

.l-glink:after {
  display:inline-block;
  vertical-align:top;
  margin-left:8px;
  margin-top:-0.15em;
}

.l-glink:after { content:url(../image/icon/glink.svg); }
.no-svg .l-glink:after { content:url(../image/icon/glink.png); }


/*-----------------------------------------------------------------------------------
  矢印アイコン
-----------------------------------------------------------------------------------*/

.l-ar,
ul.l-arList li a:before {
  width:0.9em;
  height:0.9em;
  line-height:0;
  box-sizing:border-box;
  position:relative;
  display:inline-block;
  text-indent:100%;
  white-space:nowrap;
  overflow:hidden;
  vertical-align:middle;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
}

.l-ar {
  margin-right:0.5em;
  margin-top:-0.2em;
}

ul.l-arList li a {
  position:relative;
  padding-left:2.25em;
}
ul.l-arList li a:before {
  content:"";
  position:absolute;
  left:0.75em;
  top:0;
  margin-top:0.2rem;
}


/* タイプ（丸）
=====================================================================================*/

.l-ar[data-type="C"],
ul.l-arList[data-type="C"] li a:before {
  width:1.1em;
  height:1.1em;
  line-height:1.1em;
  border-width:1px;
  border-style:solid;
  border-radius:100%;
  background-size:55% auto;
}


/* 位置（右）
=====================================================================================*/

.l-ar[data-posi="R"] {
  margin-right:0;
  margin-left:0.5em;
}

ul.l-arList[data-posi="R"] li a {
  padding-left:inherit;
}
ul.l-arList[data-posi="R"] li a:before {
  left:inherit;
  right:0.75em;
}


/* 方向
=====================================================================================*/

/* 左 */
.l-ar[data-drc="prev"],
ul.l-arList[data-drc="prev"] li a:before {
  -webkit-transform:rotate(180deg);
  transform:rotate(180deg);
}


/* カラー
=====================================================================================*/

.l-ar[data-color="white"],
ul.l-arList[data-color="white"] li a:before { background-image:url(../image/icon/ar_white.svg); }
.no-svg .l-ar[data-color="white"],
.no-svg ul.l-arList[data-color="white"] li a:before { background-image:url(../image/icon/ar_white.png); }
.l-ar[data-color="white"][data-type="C"],
ul.l-arList[data-color="white"][data-type="C"] li a:before { border-color:#fff; }

.l-ar[data-color="blue"],
ul.l-arList[data-color="blue"] li a:before { background-image:url(../image/icon/ar_blue.svg); }
.no-svg .l-ar[data-color="blue"],
.no-svg ul.l-arList[data-color="blue"] li a:before { background-image:url(../image/icon/ar_blue.png); }

.l-ar[data-color="green"],
ul.l-arList[data-color="green"] li a:before { background-image:url(../image/icon/ar_green.svg); }
.no-svg .l-ar[data-color="green"],
.no-svg ul.l-arList[data-color="green"] li a:before { background-image:url(../image/icon/ar_green.png); }

.l-ar[data-color="gray"],
ul.l-arList[data-color="gray"] li a:before { background-image:url(../image/icon/ar_gray.svg); }
.no-svg .l-ar[data-color="gray"],
.no-svg ul.l-arList[data-color="gray"] li a:before { background-image:url(../image/icon/ar_gray.png); }

.l-ar[data-bgcolor="white"][data-type="C"],
ul.l-arList[data-bgcolor="white"][data-type="C"] li a:before { border-color:#fff; background-color:#fff; }

.l-ar[data-bgcolor="blue"][data-type="C"],
ul.l-arList[data-bgcolor="blue"][data-type="C"] li a:before { border-color:#1b69b8; background-color:#1b69b8; }

.l-ar[data-bgcolor="dblue"][data-type="C"],
ul.l-arList[data-bgcolor="dblue"][data-type="C"] li a:before { border-color:#0a3264; background-color:#0a3264; }

.l-ar,
ul.l-arList li a:before { background-image:url(../image/icon/ar.svg); }
.no-svg .l-ar,
.no-svg ul.l-arList li a:before { background-image:url(../image/icon/ar.png); }
.l-ar[data-type="C"],
ul.l-arList[data-type="C"] li a:before { border-color:#6c84a2; }


/*-----------------------------------------------------------------------------------
  注釈
-----------------------------------------------------------------------------------*/

span.l-annot,
small.l-annot,
b.l-annot { display:inline-block; }
.l-annotList { list-style:none; }

.l-annot,
.l-annotList li {
  padding-left:1.25em;
  padding-top:0.25em;
}

.l-annotList li:first-child { padding-top:0; }

.l-annot:before,
.l-annotList li:before {
  content:"※";
  margin-left:-1.25em;
  margin-right:0.25em;
}


/*-----------------------------------------------------------------------------------
  リストマーク
-----------------------------------------------------------------------------------*/

.l-listMk { list-style:none; }

.l-listMk li {
  padding-left:1.25em;
  padding-top:0.25em;
}

.l-listMk li:first-child { padding-top:0; }

.l-listMk li:before {
  margin-left:-1.25em;
  margin-right:0.25em;
}


/* マーク
=====================================================================================*/

.l-listMk[data-type="R"] li:before {
  content:"◆";
}

.l-listMk[data-type="S"] li:before {
  content:"■";
}

.l-listMk[data-type="C"] li:before {
  content:"●";
}

.l-listMk li:before {
  content:"・";
}


/* カラー
=====================================================================================*/

.l-listMk[data-color="blue"] li:before {
  color:#1b69b8;
}


/*-----------------------------------------------------------------------------------
  ファイルアイコン
-----------------------------------------------------------------------------------*/

.l-file {
  content:"";
  display:inline-block;
  width:2em;
  height:2em;
  margin-top:-0.25em;
  margin-right:0.5em;
  vertical-align:middle;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:contain;
  line-height:0;
  display:inline-block;
  text-indent:100%;
  white-space:nowrap;
  overflow:hidden;
}

.l-file[data-posi="R"] {
  margin-left:0.5em;
}

.l-file.pdf { background-image:url(../image/icon/pdf.svg); }
.l-file.doc { background-image:url(../image/icon/doc.svg); }
.l-file.xls { background-image:url(../image/icon/xls.svg); }
.l-file.ppt { background-image:url(../image/icon/ppt.svg); }

.no-svg .l-file.pdf { background-image:url(../image/icon/pdf.png); }
.no-svg .l-file.doc { background-image:url(../image/icon/doc.png); }
.no-svg .l-file.xls { background-image:url(../image/icon/xls.png); }
.no-svg .l-file.ppt { background-image:url(../image/icon/ppt.png); }


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

  ブログパターン
  
-----------------------------------------------------------------------------------*/

.glog {
  text-align:left;
}

.glog:after {
  content:"";
  display:block;
  height:0;
  clear:both;
}

.glog ul,
.glog ol {
  list-style:inherit;
  margin-left:1.25em;
  margin-left:1.25rem;
}
.glog ol {
  list-style:decimal;
}

.glog-txt {
  box-sizing:border-box;
  word-break:break-all;
}

.glog-image-left .glog-txt {
  float:right;
}

.glog-image-right .glog-txt {
  float:left;
}

.glog-image-left .glog-img,
.glog-image-right .glog-img {
  display:inline-block;
  margin-bottom:10px;
  box-sizing:border-box;
  margin-top:0.25em;
  margin-top:0.25rem;
}

.glog-image-left .glog-img {
  float:left;
  margin-right:40px;
}

.glog-image-right .glog-img {
  float:right;
  margin-left:40px;
}

.glog-image-center .glog-img {
  display:block;
  text-align:center;
  margin-bottom:30px;
}

.glog-img_cp {
  display:block;
  font-size:87.5%;
  line-height:1.5;
  color:#7a848c;
  padding-top:0.5em;
  text-align:center;
}

.glog .datafile {
  margin-bottom:1em;
  margin-bottom:1rem;
  display:inline-block;
}

@media print,screen and (min-width:641px) {
  .glog { padding-bottom:40px; }
}

@media screen and (max-width:640px) {
  .glog { padding-bottom:2rem; }

  .glog-image-center .glog-img {
    margin-bottom:1.5rem;
    margin-top:0.25rem;
  }
  
  .glog-txt {
    width:inherit !important;
  }
  
  .glog-image-left .glog-img,
  .glog-image-right .glog-img {
    float:none;
    display:block;
    text-align:center;
    width:100% !important;
    max-width:100% !important;
    margin-bottom:1.5rem;
    margin-left:0;
    margin-right:0;
  }
}


/*-----------------------------------------------------------------------------------
  pagination
-----------------------------------------------------------------------------------*/

.glog-pagination {
  text-align:center;
}

.glog-pagination ul {
  display:inline-block;
  list-style:none;
  margin-left:-3px;
}

.glog-pagination li {
  float:left;
  display:inline-block;
  margin:3px;
  font-size:87.5%;
}

.glog-pagination li:after {
  content:"";
  display:block;
  height:0;
  clear:both;
}

.glog-pagination li a { display:block; }

.glog-pagination li a,
.glog-pagination li a:visited { color:#fff; text-decoration:none; }
.glog-pagination li span.active { color:#fff; background-color:#0a3264; border-color:#0a3264; }

.glog-pagination li span {
  line-height:1;
  width:2em;
  height:2em;
  padding-top:0.35em;
  display:block;
  color:#0a3264;
  border:1px solid #3b5b83;
  background-color:#fff;
  box-sizing:border-box;
}

@media print,screen and (min-width:641px) {
  .glog-pagination { padding-top:50px; }
  
  .glog-pagination li span {
    -webkit-transition:background ease 0.15s, border ease 0.15s, color ease 0.15s;
    transition:background ease 0.15s, border ease 0.15s, color ease 0.15s;
  }

  .glog-pagination li span.active:hover,
  .glog-pagination li span.active { color:#fff; background-color:#0a3264; border-color:#0a3264; }
  .glog-pagination li span:hover { color:#fff; background-color:#1b69b8; border-color:#1b69b8; }
  .glog-pagination li span:hover,
  .glog-pagination li span:hover a,
  .glog-pagination li a:hover { color:#fff; }
}

@media screen and (max-width:640px) {
  .glog-pagination { padding-top:2rem; }
}


/*-----------------------------------------------------------------------------------
  非公開
-----------------------------------------------------------------------------------*/

.hnone-box {
  text-align:center;
  box-sizing:border-box;
  padding:1em 1em 1.5em 1em;
  color:#eb3737;
  border:2px solid #eb3737;
  background-color:#fff4f4;
  margin-bottom:40px;
}

.hnone-box b {
  font-size:146.2%;
}

@media screen and (max-width:640px) {
  .hnone-box { margin-bottom:2rem; }
}
