﻿@charset "utf-8";

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

  Header
  
----------------------------------------------------------------------------------------------------*/

header {
  width:100%;
  position:relative;
  z-index:200;
  background-color:#fff;
}

.l-hd {
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
}

.l-hdR {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  -webkit-box-pack:end;
  -ms-flex-pack:end;
  justify-content:flex-end;
  text-align:left;
}

@media print,screen and (min-width:641px) {
  header {
    padding-top:30px;
    padding-bottom:20px;
  }
  
  .l-hd h1 {
    max-width:240px;
    align-self:center;
  }
  
  .l-hdR {
    -webkit-box-align:end;
    -ms-flex-align:end;
    align-items:flex-end;
  }
}

@media screen and (max-width:640px) {
  header {
    box-shadow:0 2px 10px -2px rgba(0,0,0,0.1);
  }
  
  html.is-sp-gNav-open header {
    min-width:320px;
    position:fixed;
    left:0;
    top:0;
  }
  
  .l-hd {
    -webkit-box-align:stretch;
    -ms-flex-align:stretch;
    align-items:stretch;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    height:3.5em;
  }
  
  .l-hd h1 {
    padding:0.5em 1em;
    width:40%;
    max-width:180px;
    min-width:160px;
  }
  
  .l-hdR {
    margin-left:auto;
  }
}


/*--------------------------------------------------------------------------------
  nav
--------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  .l-hdR__spNav {
    display:none;
  }
  
  .l-hdR__pcNav {
    width:100%;
    list-style:none;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:end;
    -ms-flex-pack:end;
    justify-content:flex-end;
    padding-bottom:20px;
  }
  
  .l-hdR__pcNav li {
    padding-left:2.4rem;
  }
  
  .l-hdR__pcNav a {
    display:block;
    padding-left:1.9rem;
    background:url(../image/icon/arC_blue.svg) no-repeat left center;
    background-size:auto 1.3rem;
  }
  
  .l-hdR__pcNav a,
  .l-hdR__pcNav a:visited,
  .l-hdR__pcNav a:hover { color:inherit; text-decoration:none; }
  .ua-pc .l-hdR__pcNav a:hover { color:#3c90e4; text-decoration:underline; }
}

@media screen and (max-width:640px) {
  .l-hdR__pcNav {
    display:none;
  }
  
  .l-hdR__spNav {
    list-style:none;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:stretch;
    -ms-flex-align:stretch;
    align-items:stretch;
    padding-right:3.75em;
  }
  
  .l-hdR__spNav a,
  .l-hdR__spNav a:visited,
  .l-hdR__spNav a:hover { color:inherit; text-decoration:none; }
  
  .l-hdR__spNav li .spNav__txt {
    font-size:0.6em;
    line-height:1;
  }
  
  .l-hdR__spNav .spNav__txt:before {
    content:"";
    width:100%;
    height:1.8em;
    background-position:center center;
    background-repeat:no-repeat;
    background-size:contain;
    display:block;
    margin-bottom:0.5em;
  }
  
  .l-hdR__spNav li.home .spNav__txt:before { background-image:url(../image/icon/home.svg); }
  .l-hdR__spNav li.access .spNav__txt:before { background-image:url(../image/icon/pin.svg); }
  
  .l-hdR__spNav li a,
  .l-hdR__spNav li.spNavBtn {
    height:100%;
    padding-left:0.5em;
    padding-right:0.5em;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
  }
}


/*--------------------------------------------------------------------------------
  SP nav button
--------------------------------------------------------------------------------*/

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

.spNavBtn-lo {
  width:100%;
  height:3.5em;
  min-width:320px;
  margin-left:auto;
  margin-right:auto;
  position:fixed;
  left:0;
  right:0;
  top:0;
  pointer-events:none;
  z-index:200;
}

.spNavBtn {
  pointer-events:auto;
  cursor:pointer;
  float:right;
  width:3.5em;
  height:100%;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  background-color:#589cdf;
  color:#fff;
}

.spNavBtn:after {
  content:"メニュー";
  text-align:center;
  display:block;
  font-size:0.6em;
  line-height:1;
}

html.is-sp-gNav-open .spNavBtn:after {
  content:"閉じる";
}
  
.spNavBtn__icon,
.spNavBtn__icon span,
.spNavBtn__icon span:before,
.spNavBtn__icon span:after {
  display:inline-block;
}
    
.spNavBtn__icon {
  position:relative;
  width:16px;
  height:14px;
  transition:all 0.3s ease-out;
  margin-bottom:0.5em;
}
        
.spNavBtn__icon span {
  position:absolute;
  left:0;
  width:100%;
  height:2px;
  transition:all 0.3s ease-out;
}
  
.spNavBtn__icon span,
.spNavBtn.is-close .spNavBtn__icon span {
  background-color:#fff;
}
  
html.is-sp-gNav-open .spNavBtn__icon span,
html.is-sp-gNav-open .spNavBtn.is-close .spNavBtn__icon span {
  background-color:#fff;
}
    
.spNavBtn__icon span:nth-of-type(1) {
  top:0;
}
.spNavBtn__icon span:nth-of-type(2) {
  top:6px;
}
.spNavBtn__icon span:nth-of-type(3) {
  bottom:0;
}
  
.spNavBtn.is-aniSet .spNavBtn__icon span:nth-of-type(1) {
  -webkit-animation:navBtn01 0.4s forwards;
  animation:navBtn01 0.4s forwards;
}
    
.spNavBtn.is-aniSet .spNavBtn__icon span:nth-of-type(2) {
  transition:opacity 0.2s 0.2s;
  opacity:1;
} 
      
.spNavBtn.is-aniSet .spNavBtn__icon span:nth-of-type(3) {
  -webkit-animation:navBtn02 0.4s forwards;
  animation:navBtn02 0.4s forwards;
}
      
.spNavBtn.is-close .spNavBtn__icon span:nth-of-type(1) {
  -webkit-animation:active-navBtn01 0.4s forwards;
  animation:active-navBtn01 0.4s forwards;
}
   
.spNavBtn.is-close .spNavBtn__icon span:nth-of-type(2) {
  opacity:0;
}
      
.spNavBtn.is-close .spNavBtn__icon span:nth-of-type(3) {
  -webkit-animation:active-navBtn03 0.4s forwards;
  animation:active-navBtn03 0.4s forwards;
}
  
html.is-sp-gNav-open .spNavBtn:not(.is-aniSet) .spNavBtn__icon span:nth-of-type(1) {
  transform:translateY(6px) rotate(45deg);
  animation:none;
}
        
html.is-sp-gNav-open .spNavBtn:not(.is-aniSet) .spNavBtn__icon span:nth-of-type(3) {
  transform:translateY(-6px) rotate(-45deg);
  animation:none;
}

@keyframes navBtn01 {
  0% {
    transform:translateY(6px) rotate(45deg);
  }
  50% {
    transform:translateY(6px) rotate(0);
  }
  100% {
    transform:translateY(0) rotate(0);
  }
}
@keyframes navBtn02 {
  0% {
    transform:translateY(-6px) rotate(-45deg);
  }
  50% {
    transform:translateY(-6px) rotate(0);
  }
  100% {
    transform:translateY(0) rotate(0);
  }
}
@keyframes active-navBtn01 {
  0% {
    transform:translateY(0) rotate(0);
  }
  50% {
    transform:translateY(6px) rotate(0);
  }
  100% {
    transform:translateY(6px) rotate(45deg);
  }
}
@keyframes active-navBtn03 {
  0% {
    transform:translateY(0) rotate(0);
  }
  50% {
    transform:translateY(-6px) rotate(0);
  }
  100% {
    transform:translateY(-6px) rotate(-45deg);
  }
}


/*--------------------------------------------------------------------------------
  文字サイズ
--------------------------------------------------------------------------------*/

.l-hdR__fsize {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  line-height:1;
}

.l-hdR__fsize dt {
  padding-right:1.5rem;
  font-size:90%;
}

.l-hdR__fsize dd {
  border:1px solid rgba(246,187,92,0.65);
  color:#f5a523;
  min-width:3em;
  padding-top:0.5em;
  padding-bottom:0.5em;
  text-align:center;
  font-size:90%;
  cursor:pointer;
}

.l-hdR__fsize dd:first-of-type {
  border-radius:1.5em 0 0 1.5em;
  border-right:0;
  padding-left:1em;
  padding-right:0.75em;
}

.l-hdR__fsize dd:last-of-type {
  border-radius:0 1.5em 1.5em 0;
  border-left:0;
  padding-left:0.75em;
  padding-right:1em;
}

.ua-pc .l-hdR__fsize dd {
  transition:background 0.1s ease;
}
.ua-pc .l-hdR__fsize dd:hover {
  background-color:rgba(246,187,92,0.2);
}

body.fs-large .l-hdR__fsize dd[data-size="L"],
body.fs-standard .l-hdR__fsize dd[data-size="S"],
body.fs-medium .l-hdR__fsize dd[data-size="M"] {
  background-color:#f6bb5c;
  border-color:#f6bb5c;
  color:#fff;
}

body.fs-standard .l-hdR__fsize dd[data-size="S"] {
  margin-right:-1px;
  border-right:1px solid #f6bb5c;
}

body.fs-large .l-hdR__fsize dd[data-size="L"] {
  margin-left:-1px;
  border-left:1px solid #f6bb5c;
}

body.fs-large .l-hdR__fsize dt { font-size:80%; }
body.fs-medium .l-hdR__fsize dt { font-size:85%; }

body.fs-large .l-hdR__fsize dd { font-size:80%; }
body.fs-medium .l-hdR__fsize dd { font-size:85%; }

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


/*--------------------------------------------------------------------------------
  サイト内検索
--------------------------------------------------------------------------------*/

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

.l-gSearch form {
  position:relative;
}

.l-gSearch #search_area {
  background:none;
  border:none;
  margin:0;
  height:100%;
  font-size:95%;
}

body.fs-large .l-gSearch #search_area { font-size:85%; }
body.fs-medium .l-gSearch #search_area { font-size:90%; }


@media print,screen and (min-width:641px) {
  .l-gNav .l-gSearch {
    display:none;
  }
  
  .l-gSearch {
    padding-left:2.5rem;
  }
  
  .l-gSearch form {
    width:300px;
    height:3.2rem;
    border-radius:1.6rem;
    background-color:#f0f0f0;
    border:2px solid #f0f0f0;
  }
  
  .l-gSearch #search_area {
    padding:0 0 0 1rem;
    width:-webkit-calc(100% - 3.6rem);
    width:calc(100% - 3.6rem);
  }
  
  .l-gSearch #search {
    width:1.5rem;
    height:100%;
    position:absolute;
    top:0;
    right:1.2rem;
    z-index:1;
    border:none;
    padding:0;
    margin:0;
    font-size:0;
    cursor:pointer;
    background:url(../image/icon/search_gray.svg) no-repeat center center;
    background-size:contain;
  }
  
  .l-gSearch form.is-focus {
    background-color:#fff;
    border-color:#a8cef3;
  }
  
  .l-gSearch form.is-focus #search {
    background-image:url(../image/icon/search.svg);
  }
}

@media screen and (max-width:640px) {
  .l-hdR .l-gSearch {
    display:none;
  }
  
  .l-gSearch {
    padding-top:2em;
  }
  
  .l-gSearch form {
    text-align:center;
  }
  
  .l-gSearch #search_area {
    width:100%;
    background-color:#f0f0f0;
    border:2px solid #f0f0f0;
    padding:0.5em;
    margin-bottom:1em; 
    text-align:left;
  }
  
  .l-gSearch #search {
    border:none;
    padding:0.75em 2.5em 0.75em 3em;
    letter-spacing:0.5em;
    margin:0;
    line-height:1;
    background-color:#589cdf;
    color:#fff;
    border-radius:2px;
    font-size:90%;
  }
  
  .l-gSearch #search_area:focus {
    background-color:#fff;
    border-color:#a8cef3;
  }
}


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

  Global navigation
  
----------------------------------------------------------------------------------------------------*/

.l-gNav {
  position:relative;
  z-index:100;
}

.l-gNav ul {
  list-style:none;
}

.l-gNav li a { display:block; }
.l-gNav li a,
.l-gNav li a:visited,
.l-gNav li a:hover,
.l-gNav li a.no-link:hover,
.ua-pc .l-gNav li a.no-link:hover { color:inherit; text-decoration:none; }
.ua-pc .l-gNav li a:not(.no-link):hover { color:#3c90e4; }
.l-gNav li a.no-link { cursor:inherit; }

.ua-pc .l-gNav-item--second__body .ttl a:hover { color:#52c5eb !important; text-decoration:none; }
.ua-pc .l-gNav-item--second a:hover { text-decoration:underline; }

/* second */
.l-gNav-item--secondList > li {
  padding-top:0.75em;
}

.l-gNav-item--secondList > li > a {
  padding-left:2.5rem;
}

.l-gNav-item--secondList > li > a:before {
  content:"";
  margin-left:-3rem;
  margin-right:0.2rem;
  width:2.8rem;
  height:1em;
  background:url(../image/icon/arC_blue.svg) no-repeat center center;
  background-size:auto 1.4rem;
  vertical-align:middle;
  margin-bottom:0.2em;
  display:inline-block;
}

/* third */
.l-gNav-item--thirdList {
  font-size:0.9em;
}

.l-gNav-item--thirdList > li > a:before {
  content:"";
  margin-left:-2.2rem;
  width:2.2rem;
  height:1em;
  background:url(../image/icon/ar_blue.svg) no-repeat center center;
  background-size:auto 1rem;
  vertical-align:middle;
  margin-bottom:0.2em;
  display:inline-block;
}
  
@media print,screen and (min-width:641px) {
  .l-gNav {
    background:-webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(221,243,250,1) 100%);
    background:linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(221,243,250,1) 100%);
  }
  
  .l-gNav:before {
    content:"";
    width:100%;
    height:3px;
    background-color:#8cd7f0;
    position:absolute;
    left:0;
    right:0;
    top:-webkit-calc(100% - 3px);
    top:calc(100% - 3px);
  }
  
  .l-gNav-item {
    list-style:none;
    max-width:1100px;
    margin-left:auto;
    margin-right:auto;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:distribute;
    justify-content:space-around;
    -webkit-box-align:stretch;
    -ms-flex-align:stretch;
    align-items:stretch;
  }
  
  /* first */
  .l-gNav-item--firstList {
    list-style:none;
    width:100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:distribute;
    justify-content:space-around;
    -webkit-box-align:stretch;
    -ms-flex-align:stretch;
    align-items:stretch;
  }
  
  .l-gNav-item--firstList > li {
    white-space:nowrap;
    -webkit-box-flex:1;
    -ms-flex-positive:1;
    flex-grow:1;
    line-height:1.2;
    text-align:center;
    overflow:hidden;
  }
  
  .l-gNav-item--firstList > li > a {
    position:relative;
    width:100%;
    height:100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
  }

  .l-gNav-item--firstList > li > a:before,
  .l-gNav-item--firstList > li.last-item > a:after {
    content:"";
    width:1px;
    height:50%;
    background-color:rgba(140,215,240,0.65);
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
  }
  
  .l-gNav-item--firstList > li.last-item > a:after {
    left:inherit;
    right:0;
  }

  .l-gNav-item--firstList > li .gNav__txt {
    font-size:18px; /* 文字サイズ固定 */
    font-family:'Noto Sans JP', sans-serif;
    font-weight:500;
    display:block;
    padding-top:1.2rem;
    padding-bottom:1.4rem;
    position:relative;
    z-index:2;
  }

  /* HOME */
  .l-gNav-item--firstList > li.home .gNav__txt {
    width:22px;
    height:22px;
    background:url(../image/icon/home.svg) no-repeat center center;
    background-size:contain;
    font-size:0;
    line-height:0;
  }
  
  /* Googleストリートビュー */
  .l-gNav-item--firstList > li.streetview .gNav__txt {
    padding-top:0.4rem;
    padding-bottom:2rem;
  }
  .l-gNav-item--firstList > li.streetview .gNav__txt .tsume {
    letter-spacing:-0.1em;
  }

  .l-gNav-item--firstList > li.parent .gNav__txt:before,
  .l-gNav-item--firstList > li.parent .gNav__txt:after {
    content:"";
    position:absolute;
    left:50%;
    bottom:-18px;
    transform:translate(-50%,10px);
    z-index:100;
  }

  .l-gNav-item--firstList > li.parent .gNav__txt:before {
    border:18px solid transparent;
    border-bottom-color:#8cd7f0;
  }
    
  .l-gNav-item--firstList > li.parent .gNav__txt:after {
    border:14px solid transparent;
    border-bottom-color:#fff;
  }

  .l-gNav.is-aniSet .l-gNav-item--firstList > li.parent .gNav__txt:before,
  .l-gNav.is-aniSet .l-gNav-item--firstList > li.parent .gNav__txt:after {
    transition:all 0.2s;
  }
  
  .l-gNav.is-aniSet .l-gNav-item--firstList > li.parent.is-active .gNav__txt:before,
  .l-gNav.is-aniSet .l-gNav-item--firstList > li.parent.is-active .gNav__txt:after {
    transform:translate(-50%,-3px);
  }
  
  .l-gNav-item--firstList > li.parent.is-active > a {
    color:#3c90e4;
  }
    
  /* second */
  .l-gNav-item--second {
    display:none;
    min-width:1100px;
    width:100%;
    margin-left:auto;
    margin-right:auto;
    position:absolute;
    left:50%;
    top:100%;
    transform:translateX(-50%);
    background-color:#fff;
    z-index:99;
    text-align:left;
    padding-top:40px;
    padding-bottom:50px;
  }

  .l-gNav-item--second__body {
    width:1100px;
    margin-left:auto;
    margin-right:auto;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    opacity:0;
  }
  
  .l-gNav-item--firstList > li.parent.is-active .l-gNav-item--second__body {
    animation:gNav-sd-open__body 0.3s forwards;
    animation-delay:0.15s;
  }
  
  html.is-gNav-sd-close .l-gNav-item--firstList > li.parent .l-gNav-item--second__body {
    animation:gNav-sd-close__body 0.15s forwards;
  }

  .l-gNav-item--second__body .photo {
    width:250px;
  }
  
  .l-gNav-item--second__body .block {
    line-height:1.4;
    -webkit-box-flex:1;
    -ms-flex:1;
    flex:1;
    padding-left:40px;
  }
  
  .l-gNav-item--second__body .ttl {
    display:block;
    font-size:1.1em;
    color:#3c90e4;
    padding-bottom:0.75em;
    margin-bottom:0.75em;
    font-weight:bold;
    border-bottom:1px solid #dcdcdc;
  }
  
  .l-gNav-item--secondList > li > a {
    display:block;
  }

  .l-gNav-item--secondList.cols {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
  }
  
  .l-gNav-item--secondList.cols > li {
    padding-right:1em;
    white-space:normal;
  }
  
  .l-gNav-item--secondList.cols--2 > li {
    width:50%;
  }
  
  /* third */
  .l-gNav-item--thirdList {
    width:100%;
    display:-webkit-inline-box;
    display:-ms-inline-flexbox;
    display:-webkit-inline-flex;
    display:inline-flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    padding-left:4rem;
  }
  
  .l-gNav-item--thirdList li:not(:last-child) {
    margin-right:4rem;
  }
  
  .l-gNav-item--thirdList li {
    padding-top:0.5em;
  }
  
  /* 背景 */
  html.is-gNav-sd-open,
  html.is-gNav-sd-open body {
    height:100%;
  }
  
  .gNav-sd-bg {
    content:"";
    background-color:transparent;
  }
  
  html.is-gNav-sd-open .gNav-sd-bg,
  html.is-gNav-sd-close .gNav-sd-bg {
    background-color:rgba(0,0,0,0.2);
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    z-index:98;
  }
  
  html.is-gNav-sd-open .gNav-sd-bg {
    animation:gNav-sd-open-bg 0.3s forwards;
  }
  
  html.is-gNav-sd-close .gNav-sd-bg {
    animation:gNav-sd-close-bg 0.3s forwards;
  }
}

@keyframes gNav-sd-open__body {
  0% { opacity:0; }
  100% { opacity:1; }
}

@keyframes gNav-sd-close__body {
  0% { opacity:1; }
  100% { opacity:0; }
}

@keyframes gNav-sd-open-bg {
  0% { background:transparent; }
  100% { background-color:rgba(0,0,0,0.2); }
}

@keyframes gNav-sd-close-bg {
  0% { background-color:rgba(0,0,0,0.2); }
  100% { background:transparent; }
}


@media screen and (max-width:640px) {
  .gNav-sd-bg {
    display:none;
  }
  
  html.is-sp-gNav-open {
    overflow-y:hidden;
  }

  .l-SPgNav-wrap {
    background-color:#fff;
    display:none;
    pointer-events:none;
    width:100%;
    min-width:320px;
    height:100%;
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:199;
    padding-top:3.5em; /* .gNavBtn の分 */
  }

  .l-gNav {
    pointer-events:auto;
    height:100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
  }
  
  .l-SPgNav {
    display:none;
    width:100%;
    overflow-y:auto;
    padding:1.25em 1em 0 1em;
  }
  
  .l-SPgNav:after {
    content:"";
    width:100%;
    height:2em;
    display:block;
  }
  
  .l-gNav-item ul {
    text-align:left;
  }
  
  .l-gNav-item li a {
    display:block;
    position:relative;
  }
  
  /* first */
  .l-gNav-item--firstList > li {
    border-bottom:1px solid #dcdcdc;
  }
  
  .l-gNav-item--firstList > li > a {
    padding:0.75em;
  }
  
  .l-gNav-item--firstList > li .gNav__txt br {
    display:none;
  }
  
  .l-gNav-item--firstList > li .gNav__txt * {
    font-size:100%;
  }
  
  .l-gNav-item--firstList > li.parent > a {
    padding-right:2em;
  }
  
  .l-gNav-item--firstList > li.parent.is-active {
    margin-top:-1px;
    border-top:1px solid #e8f7fc;
  }
  
  .l-gNav-item--firstList > li.parent.is-active > a {
    background-color:#e8f7fc;
  }
  
  .l-gNav-item--firstList > li.parent .icon {
    content:"";
    width:14px;
    height:14px;
    position:absolute;
    right:0.75em;
    top:50%;
    transform:translateY(-50%);
    transition:0.4s cubic-bezier(0.2, 0.6, 0.3, 1.1);
  }
  
  .l-gNav-item--firstList > li.parent.is-active .icon {
    transform:translateY(-50%) rotate(45deg);
  }
  
  .l-gNav-item--firstList > li.parent .icon:before {
    height:100%;
    width:2px;
    right:-webkit-calc(50% - 1px);
    right:calc(50% - 1px);
  }
  
  .l-gNav-item--firstList > li.parent .icon:after {
    height:2px;
    width:100%;
    right:0;
  }
  
  .l-gNav-item--firstList > li.parent .icon:before,
  .l-gNav-item--firstList > li.parent .icon:after {
    content:"";
    display:inline-block;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    background:#3c90e4;
  }
  
  /* second */
  .l-gNav-item--second {
    display:none;
  }
  
  .l-gNav-item--second__body {
    padding:1em 0.75em 0.5em 0.75em;
  }
  
  .l-gNav-item--second__body .photo {
    display:none;
  }

  .l-gNav-item--second__body .block {
    line-height:1.4;
    padding-bottom:1em;
  }

  .l-gNav-item--second__body .ttl {
    display:block;
    color:#3c90e4;
    font-weight:bold;
    padding-bottom:0.25em;
    padding-top:0.5em;
  }
  
  /* third */
  .l-gNav-item--thirdList {
    padding-left:2.75em;
    padding-top:0.25em;
    padding-bottom:0.25em;
  }
  
  .l-gNav-item--thirdList li a {
    padding-top:0.5em;
  }
}


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

  Contents
  
----------------------------------------------------------------------------------------------------*/

.l-ct {
  text-align:left;
}

@media print,screen and (min-width:641px) {
  .l-ct {
    width:1100px;
    margin-left:auto;
    margin-right:auto;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    padding-top:50px;
  }
}

@media screen and (max-width:640px) {
  .l-ct {
    padding-left:1em;
    padding-right:1em;
  }
}


/*--------------------------------------------------------------------------------
  visual
--------------------------------------------------------------------------------*/

.l-ctVisual {
  background-repeat:no-repeat;
  background-color:#d1eff9;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
}

.l-ctVisual__ttl {
  width:100%;
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
  line-height:1.4;
  text-align:left;
  color:#52c5eb;
  padding-left:1em;
  letter-spacing:0.05em;
  text-shadow: 
    2px  2px 0 #fff,
    -2px  2px 0 #fff,
    2px -2px 0 #fff,
    -2px -2px 0 #fff,
    2px  0 0 #fff,
    0  2px 0 #fff,
    -2px  0 0 #fff,
    0 -2px 0 #fff;
}

@media print,screen and (min-width:641px) {
  .l-ctVisual {
    height:160px;
    background-position:center center;
  }
  
  .l-ctVisual__ttl {
    font-size:2em;
  }
}

@media screen and (max-width:640px) {
  .l-ctVisual {
    height:-webkit-calc(160 / 640 * 100vw);
    height:calc(160 / 640 * 100vw);
    max-height:140px;
    min-height:100px;
    background-position:65% center;
    background-size:cover;
  }
  
  .l-ctVisual__ttl {
    font-size:1.6em;
  }
}


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

  Contents > Main
  
----------------------------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  .l-main {
    -webkit-box-flex:1;
    -ms-flex:1;
    flex:1;
    -webkit-box-ordinal-group:2;
    -ms-flex-order:1;
    order:1;
    padding-left:40px;
    padding-bottom:20px;
  }
}

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


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

.l-pan {
  list-style:none;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  font-size:0.8em;
}

.l-pan li:not(:last-child):after {
  content:"";
  width:2.2rem;
  height:1em;
  display:inline-block;
  background:url(../image/icon/ar_black.svg) no-repeat center center;
  background-size:auto 0.8rem;
  vertical-align:middle;
  margin-bottom:0.2em;
}

@media print,screen and (min-width:641px) {
  .l-pan {
    padding-bottom:2.5rem;
  }
}

@media screen and (max-width:640px) {
  .l-pan {
    padding-bottom:2.5rem;
  }
}


/*--------------------------------------------------------------------------------
  page navigation
--------------------------------------------------------------------------------*/

.l-ct-pgNav {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
}
  
.l-ct-pgNav__box {
  border:2px solid #8cd7f0;
  border-radius:4px;
  line-height:1.5;
}

.l-ct-pgNav__box .box__hd {
  background-color:#e8f7fc;
  border-radius:3px 3px 0 0;
  color:#3c90e4;
  font-size:1.11em;
}

.l-ct-pgNav__box .box__hd.no-link {
  padding:1.1rem 1.5rem 1.1rem 1.75rem;
}

.l-ct-pgNav__box .box__hd a {
  display:block;
  text-decoration:none;
  padding:1.1rem 1.5rem 1.1rem 3.8rem;
  position:relative;
}

.l-ct-pgNav__box .box__hd a:before {
  content:"";
  margin-left:-2.2rem;
  width:2.2rem;
  height:1em;
  background:url(../image/icon/arC_lblue.svg) no-repeat left center;
  background-size:auto 1.4rem;
  vertical-align:middle;
  margin-bottom:0.2em;
  display:inline-block;
}

.l-ct-pgNav__box .box__body {
  font-size:0.9em;
}

.l-ct-pgNav__box .box__body .cmt {
  border-top:1px solid #bfe8f6;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
  -webkit-box-align:start;
  -ms-flex-align:start;
  align-items:flex-start;
}

.l-ct-pgNav__box .box__body p {
  -webkit-box-flex:1;
  -ms-flex:1;
  flex:1;
}

.l-ct-pgNav__box .box__body .tmb {
  display:block;
}

.l-ct-pgNav__box .box__body ul {
  list-style:none;
  border-top:1px solid #bfe8f6;
}

.l-ct-pgNav__box .box__body li a {
  display:block;
  position:relative;
}

.l-ct-pgNav__box .box__body li a:before {
  content:"";
  margin-left:-2.2rem;
  width:2.2rem;
  height:1em;
  background:url(../image/icon/ar_lblue.svg) no-repeat center center;
  background-size:auto 1rem;
  vertical-align:middle;
  margin-bottom:0.2em;
  display:inline-block;
}

.l-ct-pgNav__box .box__body li a,
.l-ct-pgNav__box .box__body li a:visited { color:inherit; text-decoration:none; }
.l-ct-pgNav__box .box__body li a:hover,
.ua-pc .l-ct-pgNav__box .box__body li a:hover { color:#3c90e4; text-decoration:none; }

@media print,screen and (min-width:641px) {
  .l-ct-pgNav {
    margin-bottom:-2rem;
  }
  
  .l-ct-pgNav__box {
    width:-webkit-calc(50% - 1rem);
    width:calc(50% - 1rem);
    margin-bottom:2rem;
  }
  
  .l-ct-pgNav__box .box__body .cmt {
    padding:2rem;
  }
  
  .l-ct-pgNav__box .box__body .tmb {
    width:120px;
    margin-left:2rem;
  }
  
  .l-ct-pgNav__box .box__body ul {
    padding:1.5rem 1.5rem 1.5rem 3.25rem;
  }
  
  .l-ct-pgNav__box .box__body li a {
    padding:0.25rem;
  }
  
  .l-ct-pgNav__box .box__body ul.cols {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
  }

  .l-ct-pgNav__box .box__body ul.cols > li {
    padding-right:1em;
    white-space:normal;
  }
  
  .l-ct-pgNav__box .box__body ul.cols--2 > li {
    min-width:50%;
  }
}

@media screen and (max-width:640px) {
  .l-ct-pgNav__box {
    width:100%;
  }
  
  .l-ct-pgNav__box:not(:last-child) {
    margin-bottom:2rem;
  }

  .l-ct-pgNav__box .box__hd.no-link {
    padding:1.1rem 1.5rem;
  }
  
  .l-ct-pgNav__box .box__body .cmt {
    padding:1.5rem;
  }
  
  .l-ct-pgNav__box .box__body .tmb {
    width:30%;
    max-width:120px;
    min-width:80px;
    margin-left:1.5rem;
  }
  
  .l-ct-pgNav__box .box__body ul {
    padding:1.5rem 1.5rem 1.5rem 3rem;
  }
  
  .l-ct-pgNav__box .box__body li a {
    padding:0.25rem 0;
  }
}


/* icon
----------------------------------------------------------------------*/

.l-ct-pgNavIcon {
  list-style:none;
}

.l-ct-pgNavIcon li {
  border:2px solid #8cd7f0;
  background-color:#fff;
  border-radius:4px;
  font-weight:bold;
  line-height:1.4;
  color:#3c90e4;
}

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

.l-ct-pgNavIcon li a {
  height:100%;
  border-radius:3px;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:start;
  -ms-flex-pack:start;
  justify-content:flex-start;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  background-repeat:no-repeat;
}

.ua-pc .l-ct-pgNavIcon li a {
  background-color:#fff;
  transition:color 0.1s ease, background 0.1s ease;
}

.ua-pc .l-ct-pgNavIcon li a:hover {
  background-color:#eff9fd;
}

.l-ct-pgNavIcon li .pgNav__txt {
  display:inline-block;
  position:relative;
}

.l-ct-pgNavIcon li a .pgNav__txt:before {
  content:"";
  margin-left:-2.4rem;
  width:2.4rem;
  height:1em;
  background:url(../image/icon/arC_lblue.svg) no-repeat left center;
  background-size:auto 1.6rem;
  vertical-align:middle;
  margin-bottom:0.2em;
  display:inline-block;
}

@media print,screen and (min-width:641px) {
  .l-ct-pgNavIcon {
    margin-bottom:-2rem;
  }
  
  .l-ct-pgNavIcon li {
    font-size:1.05em;
    width:-webkit-calc(50% - 1rem);
    width:calc(50% - 1rem);
    margin-bottom:2rem;
  }
  
  .l-ct-pgNavIcon li a {
    padding:2.2rem 8rem 2.2rem 4.2rem;
    background-position:right 1.75rem center;
    background-size:4.2rem;
  }
  
  .l-ct-pgNavIcon li .no-link {
    padding:2.2rem 8rem 2.2rem 2rem;
  }
}

@media print,screen and (min-width:561px) {
  .l-ct-pgNavIcon {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    margin-bottom:-2.5%;
  }
  
  .l-ct-pgNavIcon li {
    width:48.75%;
    margin-bottom:2.5%;
  }
}

@media screen and (max-width:640px) {  
  .l-ct-pgNavIcon li a {
    padding:1.7rem 7rem 1.7rem 3.6rem;
    background-position:right 1.25rem center;
    background-size:3.5rem;
  }
  
  .l-ct-pgNavIcon li .no-link {
    padding:1.7rem 7rem 1.7rem 1.5rem;
  }
  
  .l-ct-pgNavIcon li a .pgNav__txt:before {
    margin-left:-2.2rem;
    width:2.2rem;
    background-size:auto 1.4rem;
  }
}

@media screen and (max-width:560px) {
  .l-ct-pgNavIcon li:not(:last-child) {
    margin-bottom:1.75rem;
  }
}


/*--------------------------------------------------------------------------------
  ページ戻り
--------------------------------------------------------------------------------*/

.l-ctBack {
  display:block;
  border-top:1px solid #dcdcdc;
  margin-top:1rem;
  padding-top:1.5rem;
}

.l-ctBack a {
  display:inline-block;
  padding-top:0.5rem;
}

@media screen and (max-width:640px) {
  .l-ctBack {
    padding-bottom:1rem;
  }
}


/*--------------------------------------------------------------------------------
  診療科と診療日・受付時間
--------------------------------------------------------------------------------*/
/*追加分*/
.menu {
 display: flex;
 flex-wrap:wrap;
 justify-content:flex-start;
 width: calc( 100% + 20px );
 margin-bottom: 30px;
 margin-left: -5px;
 }
 
.box {
	width: calc( 25% - 12px );
	height: 40px;
	background:#ffffff; /*背景色の指定*/
	border: #7ab4ed 2px solid; /*境界線の指定*/
	border-radius: 6px; /*角丸の指定*/
	text-align:left;
	padding: 5px;
	margin: 6px 5px;
	color: #7ab4ed;
}

.box a {
  display:block;
  width:100%; 
  background: url(../image/icon/blue.png) no-repeat right -1rem center;
  background-size: auto 1.4rem;
}

.gairai-timetable {
  width:100%;
  border:0;
  border-collapse:separate;
  margin-top:20px;
  margin-bottom: 10px;
  }

.gairai-timetable .w20 {
  width:20%;
  }

h3.gairai-title {
  background-color: #7ab4ed;
  color: #fff;
  border-radius: 3px;
  padding: 1.3rem 1.5rem;
  line-height: 1.2;
  font-size: 1.1em;
  position: relative;
}

.gairai {
  margin-bottom:20px;
}

.gairai .btn {
  display:inline-block;
  position:absolute;
  right:1rem;
  top:50%;
  transform:translateY(-50%);
  font-weight:normal;
  padding:0.6rem 1rem 0.6rem 1.75rem;
  border-radius:1.5em;
}

.gairai .btn,
.gairai .btn:visited
.gairai .btn:hover {
  color:#52c5eb;
  background:#fff;
}

.gairai .btn .p-arrow:after {
  background-image:url(../image/icon/arC_lblue.svg);
  background-size:auto 1.1rem;
}

.ua-pc .gairai .btn { transition:border 0.1s ease, background 0.1s ease, color 0.1s ease; }

.ua-pc .gairai .btn:hover {
  color:#fff;
  background-color:#52c5eb;
}

.ua-pc .gairai .btn:hover .p-arrow:after {
  background-image:url(../image/icon/arC_white.svg);
}

.gairai-timetable {
  font-size:0.95em;
  width:100%;
  border:0;
  border-collapse:separate;
}

.gairai-timetable th,
.gairai-timetable td {
  line-height:1.4;
  vertical-align:middle;
  text-align:center;
  padding:1rem;
}

.gairai-timetable thead th {
  border:2px solid #b3e273;
  background-color:#b3e273;
  font-weight:bold;
  color:#fff;
  font-size:1.2em;
  border-radius:4px 4px 0 0;
}

.gairai-timetable thead th,
.gairai-timetable tbody th {
  white-space:nowrap;
  text-align:center;
}

.gairai-timetable tbody th {
  width:20%;
  background-color: #e7f1fb;
  font-weight:normal;
}

.gairai-timetable tbody td {
  background-color:#fff;
}

.gairai-timetable tbody th,
.gairai-timetable tbody td {
  border-left: 1px solid #a8cef3;
  border-bottom: 1px solid #a8cef3;
  font-size:0.95em;
}

.gairai-timetable tbody tr th:first-child,
.gairai-timetable tbody tr td:first-child {
  border-left-width:2px;
}

.gairai-timetable tbody tr th:last-child,
.gairai-timetable tbody tr td:last-child {
  border-right: 2px solid #a8cef3;
}

.gairai-timetable tbody tr:last-child td {
  border-bottom-width:2px;
}

.gairai-timetable tbody tr:last-child td:first-child {
  border-radius:0 0 0 4px;
}

.gairai-timetable tbody tr:last-child td:last-child {
  border-radius:0 0 4px 0;
}

.gairai-timetable tbody th {
  border-left: 1px solid #a8cef3;
  border-bottom: 1px solid #a8cef3;
  font-size:0.95em;
  border-top: 2px solid #a8cef3;
}

.gairai-timetable tbody tr th:first-child {
  border-left-width:2px;
  border-radius: 4px 0 0 0;
}

.gairai-timetable tbody tr th:last-child {
  border-right: 2px solid #a8cef3;
  border-radius: 0 4px 0 0;
}

.gairai-timetable tbody td {
  border-left: 1px solid #a8cef3;
  border-bottom: 1px solid #a8cef3;
  font-size:0.95em;
}

.gairai-timetable tbody tr td:first-child {
  border-left-width:2px;
}

.gairai-timetable tbody tr td:last-child {
  border-right: 2px solid #a8cef3;
}

.gairai-timetable tbody tr:last-child td {
  border-bottom-width:2px;
}

.gairai-timetable tbody tr:last-child td:first-child {
  border-radius:0 0 0 4px;
}

.gairai-timetable tbody tr:last-child td:last-child {
  border-radius:0 0 4px 0;
}

.gairai-timetable a {
  font-weight:bold;
}

.gairai-timetable a,
.gairai-timetable a:visited,
.gairai-timetable a:hover { color:#93c84c; text-decoration:underline; }
.ua-pc .gairai-timetable a:hover { color:#93c84c; text-decoration:none; }

.ua-pc .gairai-timetable .js__linkBox { transition:background 0.1s ease; }
.ua-pc .gairai-timetable .js__linkBox:hover { background-color:#f6fbef; }
.ua-pc .gairai-timetable .js__linkBox:hover a { color:#93c84c; text-decoration:none; }

@media screen and (max-width:640px) {
  .gairai-timetable {
    font-size:0.9em;
  }

  .gairai-timetable tbody th {
    width:10%;
  }
/*追加分　終了*/
	
}
.l-timetable {
  width:100%;
  border:0;
  border-collapse:separate;
}

.l-timetable th,
.l-timetable td {
  line-height:1.4;
  vertical-align:middle;
  text-align:center;
}

.l-timetable thead th {
  border:2px solid #7ab4ed;
  background-color:#7ab4ed;
  font-weight:bold;
  color:#fff;
  font-size:1.1em;
  border-radius:4px 4px 0 0;
  position:relative;
  padding:1.25rem;
}

.timetable__update {
  position:absolute;
  right:1em;
  bottom:1.2rem;
  font-size:0.8em;
  font-weight:normal;
}

.l-timetable thead th,
.l-timetable tbody th {
  white-space:nowrap;
}

.l-timetable tbody tr:first-child th,
.l-timetable tbody tr:nth-child(n+2) th {
  background-color:#e7f1fb;
  font-weight:normal;
}

.l-timetable tbody tr:nth-child(n+2) th a { font-weight:bold; }

.ua-pc .l-timetable tbody tr:nth-child(n+2) .js__linkBox {
  transition:background 0.1s ease;
}

.ua-pc .l-timetable tbody tr:nth-child(n+2) th.js__linkBox:hover {
  background-color:#f1f7fd;
}

.l-timetable tbody tr:first-child th:first-child,
.l-timetable tbody tr:nth-child(n+2) th {
  border-left:2px solid #a8cef3;
}

.l-timetable tbody th,
.l-timetable tbody td {
  border-right:1px solid #a8cef3;
  border-bottom:1px solid #a8cef3;
  padding:1rem;
  font-size:0.9em;
}

.l-timetable tbody th:last-child,
.l-timetable tbody td:last-child {
  border-right-width:2px;
}

.l-timetable tbody tr:last-child th,
.l-timetable tbody tr:last-child td {
  border-bottom:2px solid #a8cef3;
}

.l-timetable tbody tr:last-child th {
  border-radius:0 0 0 4px;
}

.l-timetable tbody tr:last-child td:last-child {
  border-radius:0 0 4px 0;
}

.l-timetable tbody td.rsv { background:url(../image/pattern/stripe_yellow.svg) repeat left top; }
.l-timetable tbody td.cls { background:url(../image/pattern/stripe_gray.svg) repeat left top; }

@media screen and (max-width:640px) {
  .l-timetable tbody th,
  .l-timetable tbody td {
    font-size:0.85em;
  }
}


/* 各科の休診情報 */
.l-kyusin-ka {
  list-style:none;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}

.l-kyusin-ka li {
  padding-bottom:0.25em;
}

.l-kyusin-ka li:not(:last-of-type) {
  padding-right:1.5rem;
}


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

  Contents > Side
  
----------------------------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  .l-side {
    width:260px;
    -webkit-box-ordinal-group:1;
    -ms-flex-order:0;
    order:0;
  }
}


/*--------------------------------------------------------------------------------
  page navigation
--------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  .l-side-pgNav {
    margin-bottom:2rem;
  }
}

@media screen and (max-width:640px) {
  .l-side-pgNav {
    margin-bottom:3rem;
  }
}

.l-side-pgNav {
  border:2px solid #b3e273;
  border-radius:3px;
}

.l-side-pgNav__ttl {
  line-height:1.2;
  padding:1.5rem;
  color:#fff;
  background-color:#b3e273;
  font-size:1.3em;
  margin:-2px;
  border-radius:3px 3px 0 0;
}

.l-side-pgNav__ttl a {
  display:block;
  color:inherit;
  text-decoration:none;
  margin:-1.5rem;
  padding:1.5rem;
}

.l-side-pgNav ul {
  list-style:none;
  line-height:1.4;
}

.l-side-pgNav li a { display:block; position:relative; }
.l-side-pgNav li a,
.l-side-pgNav li a:visited,
.l-side-pgNav li a:hover { color:inherit; text-decoration:none; }
.l-side-pgNav__secondList > li.active > a,
.ua-pc .l-side-pgNav li a:hover { color:#93c84c; }


/* first */
.l-side-pgNav__firstList {
  font-size:0.95em;
}

.l-side-pgNav__firstList > li > a {
  padding:1.3rem 1.5rem 1.3rem 3.8rem;
}

.l-side-pgNav__firstList > li.active > a,
.ua-pc .l-side-pgNav > li > a:hover {
  background-color:#f1f9e7;
}

.l-side-pgNav__firstList > li:not(:first-child) > a {
  border-top:1px solid #d9edbc;
}

.l-side-pgNav__firstList > li > a:before {
  content:"";
  margin-left:-3rem;
  margin-right:0.2rem;
  width:2.8rem;
  height:1em;
  background:url(../image/icon/arC_lgreen.svg) no-repeat center center;
  background-size:auto 1.4rem;
  vertical-align:middle;
  margin-bottom:0.2em;
  display:inline-block;
  transition:0.4s cubic-bezier(0.2, 0.6, 0.3, 1.1);
}

.l-side-pgNav__firstList > li.down--parent:not(.active) > a:before {
  transform:rotate(90deg);
}
.l-side-pgNav__firstList > li.down--parent.is-active > a:before {
  transform:rotate(-90deg);
}

/* second */
.l-side-pgNav__firstList > li:not(.active) .l-side-pgNav__secondList {
  display:none;
}

.l-side-pgNav__secondList {
  padding-top:1rem;
  padding-bottom:1rem;
  padding-left:3.6rem;
  border-top:1px solid #d9edbc;
  font-size:0.9em;
}

.l-side-pgNav__secondList > li > a {
  padding:0.5rem 1rem 0.5rem 1.7rem;
}

.l-side-pgNav__secondList > li > a:before {
  content:"";
  margin-left:-2.2rem;
  width:2.2rem;
  height:1em;
  background:url(../image/icon/ar_lgreen.svg) no-repeat center center;
  background-size:auto 1rem;
  vertical-align:middle;
  margin-bottom:0.2em;
  display:inline-block;
}


/* 診療科
----------------------------------------------------------------------*/

.l-side-shinryoka .l-side-pgNav {
  border-color:#f9d395;
}

.l-side-shinryoka__ttl {
  border-radius:3px 3px 0 0;
  line-height:1.2;
  margin:-2px;
}
  
.l-side-shinryoka__ttl a,
.l-side-shinryoka__ttl a:visited,
.l-side-shinryoka__ttl a:hover,
.ua-pc .l-side-shinryoka__ttl a:hover { color:#fff; text-decoration:none; }

.l-side-shinryoka .l-side-pgNav__secondList > li.active > a,
.ua-pc .l-side-shinryoka .l-side-pgNav li a:hover { color:#f5a523; }

.l-side-shinryoka:not(.active) .l-side-pgNav__firstList {
  display:none;
}

/* first */
.l-side-shinryoka .l-side-pgNav__firstList > li.active > a,
.ua-pc .l-side-shinryoka .l-side-pgNav > li > a:hover {
  background-color:#fef5e7;
}

.l-side-shinryoka .l-side-pgNav__firstList > li:not(:first-child) > a {
  border-top:1px solid #fbe2ba;
}

.l-side-shinryoka .l-side-pgNav__firstList > li > a:before {
  background-image:url(../image/icon/arC_orange.svg);
}

/* second */
.l-side-shinryoka .l-side-pgNav__secondList {
  border-top:1px solid #fbe2ba;
}

.l-side-shinryoka .l-side-pgNav__secondList > li > a:before {
  background-image:url(../image/icon/ar_orange.svg);
}

@media print,screen and (min-width:641px) {
  .l-side-shinryoka__ttl {
    background:url(../image/pattern/stripe_orange.svg) repeat left top;
    height:100px;
    position:relative;
    border-radius:3px 3px;
  }
  
  .l-side-shinryoka.active .l-side-shinryoka__ttl {
    height:90px;
  }
  
  .l-side-shinryoka.active .l-side-shinryoka__ttl,
  .l-side-shinryoka.is-active .l-side-shinryoka__ttl {
    border-radius:3px 3px 0 0;
  }
  
  .l-side-shinryoka__ttl .txt {
    display:block;
    text-indent:100%;
    white-space:nowrap;
    overflow:hidden;
    position:relative;
  }
  
  .l-side-shinryoka__ttl a {
    content:"";
    width:100%;
    height:116px;
    display:block;
    background:url(../image/side/shinryoka_ttl.png) no-repeat center top;
    background-size:contain;
    position:absolute;
    left:0;
    top:-16px;
  }
  
  .l-side-shinryoka.active .l-side-shinryoka__ttl a {
    height:106px;
  }
  
  .l-side-shinryoka__ttl a:before {
    content:"";
    width:100%;
    height:16px;
    display:block;
    background-color:#f6bb5c;
    position:absolute;
    left:0;
    bottom:0;
    border-radius:0 0 3px 3px;
  }
  
  .l-side-shinryoka.active .l-side-shinryoka__ttl a:before,
  .l-side-shinryoka.is-active .l-side-shinryoka__ttl a:before {
    border-radius:0;
  }
  
  .l-side-shinryoka.active .l-side-shinryoka__ttl a:before {
    height:6px;
  }
  
  .l-side-shinryoka:not(.active) .l-side-shinryoka__ttl a:after {
    content:"";
    width:0;
    height:0;
    border-style:solid;
    border-width:4px 4px 0 4px;
    border-color:#fff transparent transparent transparent;
    position:absolute;
    left:50%;
    bottom:6px;
    margin-left:-4px;
    transition:0.4s cubic-bezier(0.2, 0.6, 0.3, 1.1);
  }
  
  .l-side-shinryoka:not(.active).is-active .l-side-shinryoka__ttl a:after {
    transform:rotate(180deg);
  }
}

@media screen and (max-width:640px) {
  .l-side-shinryoka:not(.active) {
    display:none;
  }
  
  .l-side-shinryoka__ttl {
    background-color:#f6bb5c;
    color:#fff;
    padding:1.5rem;
    font-size:1.3em;
  }
  
  .l-side-shinryoka__ttl a {
    pointer-events:none;
  }
}


/*--------------------------------------------------------------------------------
  バナー
--------------------------------------------------------------------------------*/

.l-side-bnr {
  list-style:none;
}

.l-side-bnr li.bnr-line a {
  display:block;
  border-radius:3px;
  overflow:hidden;
  position:relative;
}

.l-side-bnr li.bnr-line a:before {
  content:"";
  border-radius:3px;
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  border-width:1px;
  border-style:solid;
  z-index:1;
}

.ua-pc .l-side-bnr li a img { transition:opacity 0.15s ease; }
.ua-pc .l-side-bnr li a:hover img { opacity:0.7; }

.l-side-bnr li.bnr-line[data-line="orange"] a:before { border-color:#f6bb5c; }
.l-side-bnr li.bnr-line[data-line="blue"] a:before { border-color:#7ab4ed; }
.l-side-bnr li.bnr-line[data-line="lblue"] a:before { border-color:#66c9e9; }
.l-side-bnr li.bnr-line[data-line="lgreen"] a:before { border-color:#a4d661; }
.l-side-bnr li.bnr-line[data-line="pink"] a:before { border-color:#eca5c3; }
.l-side-bnr li.bnr-line[data-line="purple"] a:before { border-color:#caabe9; }
.l-side-bnr li.bnr-line[data-line="gray"] a:before { border-color:#d2d2d2; }
.l-side-bnr li.bnr-line[data-line="yellow"] a:before { border-color:#D9D900; }
.l-side-bnr li.bnr-line[data-line="navy"] a:before { border-color:#324C87 ; }
.l-side-bnr li.bnr-line[data-line="white"] a:before { border-color:#fff ; }

@media print,screen and (min-width:641px) {
  .l-side-bnr li {
    margin-bottom:1.7rem;
  }
}

@media screen and (max-width:640px) {
  .l-side-bnr {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    margin-left:-0.75rem;
    margin-right:-0.75rem;
  }
  
  .l-side-bnr li {
    width:50%;
    padding:0 0.75rem;
  }
  
  .l-side-bnr li {
    margin-bottom:1.5rem;
  }
}


/*--------------------------------------------------------------------------------
  サイトインフォ
--------------------------------------------------------------------------------*/

.l-side-siteinfo {
  list-style:none;
}

.l-side-siteinfo li a {
  display:block;
  text-align:left;
}

@media print,screen and (min-width:641px) {
  .l-side-siteinfo li:not(:last-child) {
    margin-bottom:1rem;
  }
}

@media screen and (max-width:640px) {
  .l-side-siteinfo {
    padding-top:1.5rem;
  }
  
  .l-side-siteinfo li:not(:last-child) {
    margin-bottom:1rem;
  }
}


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

  Footer
  
----------------------------------------------------------------------------------------------------*/

.l-ft {
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
  text-align:left;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}

.l-ft__ad address {
  line-height:1.4;
}

.l-ft__ad .contact {
  padding-top:0.5rem;
  list-style:none;
  display:-webkit-inline-box;
  display:-ms-inline-flexbox;
  display:-webkit-inline-flex;
  display:inline-flex;
}

.l-ft__ad .contact li {
  padding-right:2rem;
}

@media print,screen and (min-width:641px) {
  footer {
    position:relative;
    padding-top:20px;
  }
  
  footer:after {
    content:"";
    width:100%;
    height:400px;
    position:absolute;
    left:0;
    bottom:0;
    z-index:-1;
    display:block;
    background:url(../image/ft_bg.jpg) no-repeat center bottom;
  }
  
  .l-ft {
    font-size:0.9em;
    padding-top:100px;
    padding-bottom:60px;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
  }
  
  .l-ft__logo {
    width:240px;
    align-self:flex-end;
  }

  .l-ft__ad {
    padding-left:40px;
    align-self:flex-end;
  }
  
  .l-ft__fb {
    align-self:flex-end;
  }

  .l-ft__fb .p-icon:before {
    width:3.6rem;
    height:3.6rem;
  }
  
  .ua-pc .l-ft__fb .p-icon:hover:before {
    background-image:url(../image/icon/fb_blue.svg);
  }
}

@media screen and (max-width:640px) {
  .l-ft {
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    padding:3rem 1em;
  }
  
  .l-ft__logo {
    width:45%;
    max-width:200px;
    min-width:160px;
    padding-top:1rem;
    padding-bottom:2rem;
  }
  
  .l-ft__ad .contact {
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
  }
  
  .l-ft__fb {
    padding-top:2rem;
  }
  
  .l-ft__fb .p-icon:before {
    margin-right:1rem;
  }
  
  .l-ft__fb .f-hide {
    display:inherit;
  }
}


/*--------------------------------------------------------------------------------
  copyright
--------------------------------------------------------------------------------*/

.l-copy {
  display:block;
  background-color:#7ab4ed;
  color:#fff;
  line-height:1;
  padding:1rem;
}

/*--------------------------------------------------------------------------------
  back to top
--------------------------------------------------------------------------------*/

.l-backtoTop-lo {
  display:none;
  position:fixed;
  left:0;
  bottom:0;
  z-index:90;
  width:100%;
  min-width:1140px;
  pointer-events:none;
  text-align:right;
  padding-right:20px;
  padding-bottom:20px;
}

.l-backtoTop {
  pointer-events:auto;
  float:right;
  width:80px;
  height:80px;
  cursor:pointer;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  background-color:#fff;
  border:2px solid #a8cef3;
  border-radius:50%;
  color:#3c90e4;
}

.l-backtoTop-lo.is-noFix {
  position:absolute;
  bottom:inherit;
  left:0 !important;
}

.l-backtoTop__txt {
  display:block;
  line-height:1.3;
  font-size:10.5px; /* 文字サイズ固定 */
  padding-top:0.5rem;
  text-align:center;
}

.l-backtoTop__icon {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
}

.l-backtoTop__icon:after {
  content:"";
  display:inline-block;
  width:10px;
  height:10px;
  margin-top:5px;
  border-top:2px solid #589cdf;
  border-right:2px solid #589cdf;
  transform:rotate(-45deg);
}

.ua-pc .l-backtoTop {
  transition:border 0.1s ease, background 0.1s ease, color 0.1s ease;
}

.ua-pc .l-backtoTop:hover {
  border-color:#7ab4ed;
  background-color:#7ab4ed;
  color:#fff;
}

.ua-pc .l-backtoTop__icon:after {
  transition:border 0.1s ease;
}

.ua-pc .l-backtoTop:hover .l-backtoTop__icon:after {
  border-color:#fff;
}

@media screen and (max-width:640px) {
  .l-backtoTop-lo {
    display:none !important;
  }
}
