/*  
  Theme Name: 国保野上厚生総合病院のテーマ
  Theme URI: 
  Description: 国保野上厚生総合病院のテーマ
  Version: 1.0.0
*/

@import url(//fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url('//fonts.googleapis.com/css2?family=PT+Serif:wght@700&display=swap');

/* Base Layout CSS */
body {
  font-size: 16px;
  font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
  line-height: 180%;
  letter-spacing: 2.4pt;
  color: #333;
  background-color: #F7F9F6;
  -webkit-text-size-adjust: 100%;
}

a:not(.btn):not(.button) {
  transition: .4s;
}
a:not(.btn):not(.button):hover {
  padding-left: 3px;
}
img {
  max-width: 100%;
  height: auto;
}
a:hover img {
  -moz-opacity:0.65;
  opacity:0.65;
  filter:alpha(opacity=65);
}
img, a:link img, a:visited img {
  border:0;
  vertical-align:bottom;
}
hr {
  margin: 30px 0;
  border: none;
  display: block;
  height: 12px;
  background-color: #F7F9F6;
}
figcaption {
  text-align: center;
}

/* Bootstrap CSS Customize */
h1,h2,h3,h4,h5,h6 { font-weight: bold; }

.breadcrumb {
  background-color: transparent;
  padding-left: 0;
  padding-right: 0;
}
.breadcrumb-item + .breadcrumb-item::before {
  content: '>';
}
@media (min-width:1400px){
  .container {
    max-width: 1360px;
  }
}
@media (max-width:992px){
  .container {
    max-width: 100%;
  }
}
.minchou {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.pt_serif {
  font-family: 'PT Serif', serif;
}


/* Font Size CSS */
.font-large {
  font-size: 130%;
}
#font_size {
  position: absolute;
  top: -30px;
  right: 20px;
  background-color: #fff;
  padding: 3px 20px;
  border-radius: 5px;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  font-size: 12px;
  letter-spacing: 1.2pt;
  z-index: 1000;
}
#font_size a {
  font-size: 16px;
  border: 1px solid #ccc;
  color: #333;
  width: 30px;
  display: inline-block;
  text-align: center;
}
#font_size a.on {
  background-color: #2BB99B;
  color: #fff;
}
#font_size a:hover {
  padding-left: 0;
  text-decoration: none;
}

/* Header CSS Customize */
#header {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100px;
  background-color: rgba(255, 255, 255, 1);
  /*overflow: hidden;*/
  padding: 5px 5px;
  z-index: 200;
  border-top: 24px solid #2BB99B;
}
body.home #header {
  background-color: rgba(255, 255, 255, 0.8);
}
#globalHeader {
  position: absolute;
  top: 10px;
  left: 20px;
  display: inline-block;
  max-width: 306px;
  z-index: 1000;
}

#headerTitle {
  width: 300px;
}
#headerTitle h1 {
  display: inline-block;
  letter-spacing: 1.2pt;
  font-size: 1rem;
  margin: 0;
  padding: 0;
}
#headerTitle h1 a {
  color: #333;
}
#headerTitle h1 a:hover {
  text-decoration: none;
  padding-left: 0;
}
#headerTitle h1 .logo,
#headerTitle h1 .title {
  float: left;
}
#headerTitle h1 .logo {
}
#headerTitle h1 .title {
  margin-top: 3px;
  margin-left: 10px;
}
#headerTitle h1 .small {
  font-weight: bold;
  font-size: 18px;
}
#headerTitle h1 .name {
  font-weight: bold;
  font-size: 22px;
}
#headerTitle h1 .domain {
  font-weight: bold;
  display: block;
  font-size: 12px;
}
#headerTitle .catch_copy {
  position: fixed;
  top: 0;
  left: 10px;
  margin: 0;
  font-size: 12px;
  line-height: 150%;
  color: #fff;
  z-index: 900;
}

#headerTel {
  position: absolute;
  top: 5px;
  right: 20px;
  display: inline-block;
  max-width: 380px;
  margin-left: auto;
  text-align: right;
  letter-spacing: 1pt;
}
#headerTel .catch_copy {
  margin: 0;
  font-size: 12px;
}
#headerTel .tel {
  font-size: 20px;
  color: #2BB99B;
  vertical-align: bottom;
}
#headerTel .tel .label {
  display: inline-block;
  background-color: #333;
  margin: 0 10px 0 0;
  padding: 5px 10px;
  line-height: 150%;
  font-size: 11px;
  color: #fff;
  border-radius: 5px;
}
#headerTel .tel .pt_serif {
  display: inline-block;
  padding: 5px 0;
  margin: 0;
  padding: 0;
  font-size: 28px;
  vertical-align: middle;
}
#headerTel .tel .fas {
  font-size: 18px;
  vertical-align: middle;
  padding-top: 3px;
  padding-right: 3px;
}
/*@media (max-width:1140px){*/
/*@media (max-width:1350px){*/
@media (max-width:992px){
  #headerTel {
    display: none;
  }
}



/* Navi CSS Customize */
#globalNavi {
  display: inline-block;
  font-size: 100%;
  font-weight: bold;
  width: 100%;
  letter-spacing: 1.2pt;
  text-align: right;
  margin-top: 30px;
  z-index: 100;
}

#globalNavi .navbar {
  padding: 0;
}
#globalNavi ul {
  padding: 0;
  width: 100%;
  margin-left: 10px;
}
#globalNavi ul li {
  display: inline-block;
  width: auto;
  text-align: center;
  line-height: 120%;
  vertical-align: middle;
  margin-left: 30px;
}
#globalNavi ul li:first-child {
  margin-left: 0;
}
#globalNavi ul li a {
  color: #333;
  padding: 12px 5px 2px 18px;
  border-bottom: 3px solid #2BB99B;
  display: inline-block;
  vertical-align: middle;
  background: url(images/list_icon_g.png) no-repeat 0 15px;
}
#globalNavi ul li a:hover {
  color: #2BB99B;
  text-decoration: none;
}
#globalNavi ul li a span {
  display: block;
}
#globalNavi .navbar-toggler {
/*
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 100;
*/
}
#globalNavi {
  position: relative;
}
#globalNavi .submenu {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 50px;
  left: 0;
  width: 100%;
  -webkit-transition: all .4s ease;
  transition: all .4s ease;
}
#globalNavi .mainmenu > ul li:hover .submenu {
  visibility: visible;
  opacity: 1;
  top: 36px;
}
#globalNavi .submenu ul {
  background-color: #fff;
  margin: 0;
  padding: 10px 0;
  text-align: left;
}
#globalNavi ul .submenu ul li {
  background-color: #fff;
  margin: 0;
  padding: 10px 20px;
  text-align: left;
}
#globalNavi ul .submenu ul li a {
  border-bottom: none;
  min-width: 200px;
}
@media (max-width:992px){
  #globalNavi .submenu {
    display: none;
  }
}

#globalNavi ul li.search {
  position: relative;
  margin-left: 10px;
  margin-right: 10px;
}
#globalNavi ul li.search a {
  background: none;
  border-bottom: none;
  padding: 12px 5px 2px 5px;
}
#globalNavi ul .search_form {
  display: none;
  position: absolute;
  top: 36px;
  right: 0;
  background-color: #fff;
  padding: 15px 20px;
  width: 300px;
  text-align: right;
}
#globalNavi ul .search_form .screen-reader-text {
  display: none;
}
#globalNavi ul .search_form input[type=text] {
  border: 1px solid #333;
  padding: 5px 8px;
  width: 180px;
  border-radius: 5px;
}
#globalNavi ul .search_form input[type=submit] {
  border: none;
  border: 1px solid #333;
  background-color: #fff;
  padding: 5px 15px;
  border-radius: 5px;
}


.navbar-toggler {
  width: 40px;
  height: 40px;
  padding: 0;
  border-color: #fff;
  background: #2BB99B;
  border-radius: 50%;
}
.navbar-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
  width: 20px;
}

@media (max-width:992px){
  #globalNavi {
    position: absolute;
    top: 20px;
    right: 0px;
    width: 100%;
    padding-right: 10px;
    margin-top: 0px;
  }
  #globalNavi ul {
    background-color: #fff;
    margin-left: 0;
    width: calc(100% + 10px);
  }
  #globalNavi ul li {
    text-align: left;
    margin-left: 0;
  }
  #globalNavi ul li a {
    display: block;
    padding: 28px;
    background: url(images/list_icon_g.png) no-repeat 8px 31px;
    border-bottom: none;
  }
  #globalNavi ul li.search a {
    display: none;
  }
  #globalNavi ul .search_form {
    display: block;
    position: relative;
    top: 0;
    text-align: left;
    padding-left: 10px;
  }
}



/* Visual Layout CSS */
#visual {
  z-index: 60;
}
#visual .container {
  position: relative;
}
#visual .photo {
  background-color: #ccc;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  height: 300px;
}
body.home #visual .photo {
 height:700px;
}
#visual .text {
  position: absolute;
  top: 0;
  left: 0;
}
body.home #visual .text {
  min-height: 100vh;
}
#visual.main-visual .text p {
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  font-size: 20px;
  font-size: calc(1.6rem + ((1vw - .64rem)*.5));
  line-height: 2;
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translateY(-10%) translateX(-10%);
  -webkit-transform: translateY(-10%) translateX(-10%);
  height: 100%;
}
#visual.main-visual .text p strong {
  background-color: #fff;
  color: #2BB99B;
  padding: .9em .3em;
  margin: 0 .4em;
  display: inline-block;
  opacity: 0.9;
}

#visual.sub-visual .text {
  position: relative;
  top: 120px;
  text-align: center;
  text-shadow: 0px 0px 5px #999;
}
#visual.sub-visual .text .title {
  padding-top: 40px;
  color: #fff;
}
#visual.sub-visual .text span {
  display: block;
  font-size: 0.75rem;
  color: #000;
  padding-top: 5px;
}

.slick-slide img
{
    display: block;
    width:100%;
    object-fit:cover;
    height:700px;
}

.slick-slide a{
	position:relative;
	display:block;
	z-index:200;
}

@media(max-width:1250px){
.slick-slide img{
    display: block;
    width: 100%;
    object-fit: fill;
 
}
}


@media (max-width:767px){
body.home #visual .photo{
 height:350px;
}
.slick-slider img{
height:350px;}
}
}







/* page_navigation ------------------------------------- */
#page_navigation {
  margin-top: 10px;
  font-size: 80%;
}
#post_navi_footer {
  overflow: hidden;
}
#post_navi_footer .prev {
  float: left;
}
#post_navi_footer .next {
  float: right;
}



/* Topics Layout CSS */
#topics {
  margin-bottom: 30px;
}
#topics .body {
  background-color: #fff;
  width: 90%;
  max-width: 1200px;
  margin-top: -100px;
  margin-left: auto;
  margin-right: auto;
  padding: 40px 50px 30px;
  z-index: 80;
  box-shadow: 0px 0px 3px 1px #ccc;
  border-radius: 8px;
}
#topics .page-title {
  text-align: center;
  margin-bottom: 30px;
}
#topics .page-title h2 {
  /*background: url('images/pagetitle_topic_icon.png') no-repeat left center;*/
  font-size: 1.7rem;
  line-height: 40px;
  color: #2BB99B;
}
#topics p {
  margin-bottom: 10px;
}
#topics .entry-body {
  margin-bottom: 0;
}
@media (max-width:767px){
  #topics .body {
    width: 100%;
  }
}



/* Main Layout CSS */
#main {
/*  padding-top: 30px;*/
  padding-top: 15px;
  padding-bottom: 50px;
  z-index: 100;
}
body.home #main {
  padding-top: 30px;
}
#main .page-title {
  margin-bottom: 50px;
}

#main.page-template .two-column {
  overflow: hidden;
}
#main.page-template .two-column .content-block {
  width: 75%;
  float: left;
}
#main.page-template .entry-body {
  padding: 50px;
  font-size: 87.5%;
}
#main.page-template .entry-body.bg-none {
  padding: 0;
}
@media (max-width:767px){
  #main.page-template .two-column .content-block {
    width: 100%;
    float: none;
  }
  #main.page-template .entry-body {
    padding: 20px;
  }
}

#main.page-template .page-title {
  margin-bottom: 30px;
}
#main.page-template .page-title h2 {
  font-size: 48px;
  border-bottom: 2px solid #2BB99B;
  padding-bottom: 5px;
  padding-right: 10px;
  display: inline-block;
}
#main.page-template .page-title h2 span {
  font-size: 14px;
  color: #666;
}
#main.page-template h2 {
  font-size: 187.5%;
  border-bottom: 2px solid #2BB99B;
  padding-bottom: 5px;
  display: block;
}
#main.page-template h2 span {
  font-size: 87.5%;
  color: #666;
}
#main.page-template h3 {
  font-size: 131.25%;
  color: #2BB99B;
  margin-bottom: 20px;
}
#main.page-template h4 {
  font-size: 118.75%;
  margin-bottom: 20px;
}
@media (max-width:767px){
  #main.page-template h1 {
    font-size: 187.5%;
  }
}
#main.page-template ul, #main.page-template ol {
  margin-left: 20px;
}



#main-bottom {
  background: linear-gradient(90deg,#C5ECE4 0%,#C5ECE4 50%,#F2F2F2 50%,#F2F2F2 100%);
  z-index: 150;
}
#main-bottom .content-block {
  position: relative;
}
#main-bottom .page-title {
  position: absolute;
  top: -50px;
  width: 100%;
  z-index: 150;
}
#main-bottom .page-title h2 {
  background-color: #fff;
  text-align: center;
  font-size: 24px;
  margin: 0 auto;
  width: 300px;
  padding: 20px;
}
#main-bottom .entry-body {
  padding: 50px 0 20px;
  margin-left: 50px;
  margin-right: 50px;
  margin-bottom: 0;
}
#main-bottom #topics-list-block {
  padding-right: 50px;
  position: relative;
}
#main-bottom #information-list-block {
  padding-left: 50px;
  position: relative;
}
#main-bottom .title-topics,
#main-bottom .title-information {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  top: 0;
  left: 10px;
}
#main-bottom .title-topics {
  /*color: #B8D1BB;*/
  color: #999;
}
#main-bottom .title-information {
  color: #999;
}

#main-bottom .body {
  float: left;
  margin-bottom: 30px;
  width: 90%;
  width: calc(100% - 40px);
}
#main-bottom #topics-list-block .body {
  margin-left: 70px;
}
#main-bottom #information-list-block .body {
  margin-left: 36px;
}
#main-bottom ul.topics-list, #main-bottom .topics-list ul,
#main-bottom ul.information-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 500px;
  overflow-y: auto;
}
#main-bottom ul.topics-list li, #main-bottom .topics-list ul li {
  background-color: #fff;
  border-radius: 8px;
  padding: 5px 15px;
  margin-right: 10px;
  margin-bottom: 20px;
  font-size: 90%;
}
#main-bottom ul.information-list {
  background-color: #fff;
  padding: 10px 15px;
  box-shadow: 0px 0px 3px 1px #ccc;
  border-radius: 8px;
}
#main-bottom ul.information-list li {
  padding: 5px 15px;
  margin-bottom: 20px;
  font-size: 90%;
  border-bottom: 2px solid #E5E5E5;
}
#main-bottom ul.topics-list li p, #main-bottom .topics-list ul li p,
#main-bottom ul.information-list li p {
  margin-bottom: 0;
}
#main-bottom ul.topics-list li a, #main-bottom .topics-list ul li a {
  /*color: #000;*/
}
#main-bottom ul.information-list li a {
  color: #2BB99B;
}
#main-bottom ul.information-list li a .date {
  color: #000;
}
#main-bottom ul.topics-list li a .date, #main-bottom .topics-list ul li a .date {
  color: #2BB99B;
}
@media (max-width:992px){
  #main-bottom {
    background: #C5ECE4;
  }
  #main-bottom .entry-body {
    margin-left: 10px;
    margin-right: 10px;
  }
  #main-bottom #topics-list-block {
    padding-left: 15px;
    padding-right: 15px;
  }
  #main-bottom #information-list-block {
    padding-left: 15px;
    padding-right: 15px;
  }
  #main-bottom #topics-list-block .body {
    margin-left: 55px;
    width: 80%;
    width: calc(100% - 60px);
  }
  #main-bottom #information-list-block .body {
    margin-left: 55px;
    margin-right: 10px;
    width: 80%;
    width: calc(100% - 70px);
  }
  #main-bottom .title-information {
    /*color: #B8D1BB;*/
    color: #FFF;
  }
}




/* Sidebar Layout CSS */
#sidebar {
  width: 23%;
  float: right;
}
@media (max-width:767px){
  #sidebar {
    width: 100%;
    float: none;
  }
}



#categorylist .sidebox {
  /*border: 1px solid #CCC;*/
  margin-bottom: 50px;
}
#categorylist .title {
  margin: 0;
  padding: 15px 0;
  background-color: #2BB99B;
  color: #FFF;
  font-size: 130%;
}
#categorylist .title:before {
  content: "";
  padding-left: 15px;
}
#categorylist ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#categorylist li {
  margin: 10px 0;
  padding: 0;
}
#categorylist li a, #categorylist ul.children li a {
  display: block;
  padding: 15px 10px 15px 45px;
  text-decoration: none;
  color: #333;
  background: url(images/list_icon_g.png) no-repeat 20px center;
  background-color: #FFF;
  transition: .4s;
}
#categorylist li a:hover, #categorylist li a.active,
#categorylist li.current_page_item a, #categorylist li.current_page_parent a,
#categorylist ul.children li a:hover, #categorylist ul.children li a.active,
#categorylist ul.children li.current_page_item > a, #categorylist ul.children li.current_page_parent > a
{
  display: block;
  padding: 15px 10px 15px 45px;
  background: url(images/list_icon_on.png) no-repeat 20px center;
  background-color: #2BB99B;
  color: #FFF;
}
#categorylist ul.children li:not(.current_page_item) ul.children {
  display: none;
}
#categorylist li a:hover, #categorylist ul.children li a:hover {
  background-position: 15px center;
  padding-left: 35px;
  padding-right: 10px;
  padding: 15px 10px 15px 35px;
}
#categorylist li:last-child {
  border-bottom: none;
}
.fa-green {
  color: #2BB99B;
}
#categorylist li a:hover .fa-green {
  color: #fff;
}
#categorylist ul ul {
  list-style: none;
  margin: 0 0 0 20px;
  padding: 0;
}



/* Footer CSS Customize */
#content-bottom {
  margin-top: 50px;
  text-align: center;
}
#content-bottom h5 {
  font-size: 21px;
}
#content-bottom ul {
  list-style: none;
  text-align: center;
  margin: 10px 0;
  padding: 0;
}
#content-bottom ul li {
  display: inline-block;
  margin: 10px;
  padding: 0;
}

#content-bottom .contact-tel,
#content-bottom .contact-mail {
  position: relative;
  background-color: #2BB99B;
  width: 328px;
  height: 100px;
  border-radius: 5px;
  color: #fff;
  font-size: 90%;
  letter-spacing: 1.2pt;
}
#content-bottom .contact-mail {
  background-color: #555;
}
#content-bottom .contact-mail:hover {
  background-color: #777;
}
#content-bottom .contact-tel-inner,
#content-bottom .contact-mail-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  width: 100%;
}
#content-bottom .contact-tel p,
#content-bottom .contact-mail p {
  margin: 0;
}
#content-bottom .contact-mail p .fas {
  margin-right: 5px;
}
#content-bottom .contact-tel p.tel {
  font-size: 190%;
}
#content-bottom .contact-tel p.tel .fas {
  font-size: 60%;
  vertical-align: middle;
  margin-right: 5px;
}

#footer {
  background-color: #2BB99B;
  color: #fff;
  padding: 10px 0 10px;
  margin-top: 30px;
}
#globalFooter .copyright {
  font-size: 80%;
  margin-bottom: 0;
}
#footer_navi {
  font-size: 13px;
  margin-top: 40px;
}
#content-bottom #footer_navi ul {
  margin: 0 0 10px;
}
#content-bottom #footer_navi ul li {
  margin: 0 10px;
}
#footer_navi a {
  color: #333;
  padding: 0 0 0 18px;
  background: url(images/list_icon_g.png) no-repeat 0 4px;
}

#pagetop {
  position: fixed;
  bottom: 10px;
  right: 20px;
}



/* TopPage CSS Customize */
#topmenu {
  margin: 30px 50px 50px;
}
#topmenu .col-block {
  background-color: #fff;
  position: relative;
  margin-bottom: 20px;
}
#topmenu .col-block .photo {
  text-align: center;
}
#topmenu .col-block .photo img {
  width: 100%;
  height: auto;
}
#topmenu .col-block .icon {
  text-align: center;
  margin-top: -30px;
}
#topmenu .col-block .icon img {
  border-radius: 50%;
  width: 60px;
}
#topmenu .col-block .body {
  padding: 15px;
  font-size: 90%;
  line-height: 160%;
}
#topmenu .col-block .body h3 {
  font-size: 130%;
  text-align: center;
  margin-bottom: 20px;
}
@media (max-width:767px){
  #topmenu {
    margin: 30px 15px 50px;
  }
}



/* link_list */
#link_list {
  margin-bottom: 10px;
  padding: 50px 0px 20px;
  background-color: #fff;
}
#sidebar #link_list {
  padding: 50px 20px 20px;
}
#link_list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#link_list li {
  display: inline-block;
  margin: 5px;
}
#link_list img {
  width: 100%;
/*  max-width: 100%;*/
  height: auto;
  text-align: center;
}
.simply-scroll,
.simply-scroll .simply-scroll-clip {
  width: 100%;
  height: 90px;
}
.simply-scroll .simply-scroll-list li {
  width: auto;
}
#link_list #slider img {
  width: auto;
}
@media (max-width:767px){
  #link_list li {
  /* width: 45%;*/
  }
  #link_list #slider li{
    width: auto;
  }
}



/* flow */
.list-flow {
  list-style: none;
}
.list-flow > li {
  position: relative;
}
.list-flow > li:not(:last-child) {
  margin-bottom: 40px;
}
.list-flow > li:not(:first-child)::before {
  content: "";
  height: 60px;
  display: block;
  /*border-left: 4px dotted #e5e5e5;*/
  position: absolute;
  top: -40px;
  left: -webkit-calc(10% + 30px - 2px);
  left: calc(10% + 30px - 2px);
  z-index: 10;
}
.list-flow > li dl {
  width: 100%;
  padding: 20px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 2px solid #2BB99B;
  border-radius: 10px;
  position: relative;
}
.list-flow > li:not(:last-child) dl::before,
.list-flow > li:not(:last-child) dl::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.list-flow > li:not(:last-child) dl::before {
  border-width: 22px;
  border-top-color: #2BB99B;
}
.list-flow > li:not(:last-child) dl::after {
  border-width: 20px;
  border-top-color: #fff;
}
.list-flow > li dl dt {
  font-size: 18px;
  font-weight: bold;
  color: #2BB99B;
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  margin-right: 2vw;
  text-align: center;
}
.list-flow > li dl dt .icon {
  font-size: 12px;
  color: #fff;
  background: #2BB99B;
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
  position: relative;
  z-index: 100;
  width: 140px;
}
@media (max-width:767px){
  .list-flow > li dl dt .icon {
    width: auto;
  }
}


/* Page CSS Customize */
.header-label {
  background-color: #2BB99B;
  color: #fff;
  font-weight: bold;
  padding: 15px;
  border-radius: 8px;
  text-align: center;
}
h3.header-label {
  font-size: 21px;
}

.label {
  background-color: #2BB99B;
  color: #fff;
  font-weight: bold;
  padding: 3px 12px;
  border-radius: 15px;
  text-align: center;
  font-size: 90%;
  display: inline-flex;
  height: 25px;
  align-items: center;
}




ul.child_post_type_list {
  list-style: none;
  margin: 0;
  padding: 0;
}
ul.child_post_type_list li {
  margin: 10px 0;
  padding: 0;
  border: 1px solid #2BB99B;
  width: 49%;
  margin-left: 0%;
  margin-right: 1%;
  float: left;
}
ul.child_post_type_list li:nth-child(even) {
  width: 49%;
  margin-left: 1%;
  margin-right: 0%;
  float: right;
}
ul.child_post_type_list li a {
  display: block;
  padding: 15px 10px 15px 45px;
  text-decoration: none;
  color: #333;
  background: url(images/list_icon_g.png) no-repeat 20px center;
  background-color: #FFF;
  transition: .4s;
}
ul.child_post_type_list li a:hover, ul.child_post_type_list li a.active
{
  display: block;
  padding: 15px 10px 15px 45px;
  background: url(images/list_icon_on.png) no-repeat 20px center;
  background-color: #2BB99B;
  color: #FFF;
}
ul.child_post_type_list li a:hover {
  background-position: 15px center;
  padding-left: 35px;
  padding-right: 10px;
  padding: 15px 10px 15px 35px;
}
ul.child_post_type_list li a:hover .fa-green {
  color: #fff;
}



/* Form Layout CSS */
form label {
  width: 100%;
}
form input[type=text], form input[type=email], form textarea, form select {
  width: 100%;
}
form input[type=submit] {
  padding-left: 50px;
  padding-right: 50px;
  text-align: center;
}


/* MTS Simple Booking 予約ボンタン */
.content-form button[name=reserve_action] {
  border: none;
  font-weight: bold;
  color: #FFF;
  background-color: #2BB99B;
  border-bottom: 4px solid #268873;
  padding: 14px 50px;
  position: relative;
  -webkit-transition: all 0.3s;
}
.content-form button[name=reserve_action]:hover {
  margin-top: 3px;
  color: #FFF;
  background-color: #2BB99B;
  border-bottom: 1px solid #268873;
}
.content-form button[name=reserve_action]:focus {
  box-shadow: none;
}
.monthly-calendar {
  overflow-x: auto;
}




/* Common CSS */
.content-block {
}
.content-block-column {
  opacity : 0;
  transform: translateY(30px);
  transition: 1s;
}
.entry-body {
  margin-bottom: 50px;
  overflow: hidden;
}

.btn-wide {
  width: 100%;
}
.btn-wide180 {
  width: 180px;
}

.panel-pink {
  border: 2px solid #E46379;
  padding: 20px;
  margin-bottom: 10px;
  border-radius: 10px;
  min-height: 190px;
}
@media (max-width:767px){
  .panel-pink {
    padding: 15px 10px;
  }
}

.text-pink {
  color: #E46379;
}

.btn-yellow {
  font-size: .9rem;
  color: #000;
  background-color: #F9E620;
  border-bottom: 4px solid #8B8410;
  padding: 14px 50px;
  position: relative;
  -webkit-transition: all 0.3s;
}
.btn-yellow:hover {
  margin-top: 3px;
  color: #000;
  background-color: #F9E620;
  border-bottom: 1px solid #8B8410;
}
.btn-yellow:focus {
  box-shadow: none;
}
.fa-position-right {
  position: absolute;
  top: calc(50% - .5em);
  right: .5rem;
}

.btn-orange {
  color: #FFFFFF;
  background-color: #FFA303;
  border-color: #FFA303;
  box-shadow: 0 1px 2px 2px rgba(128, 128, 128, 0.3);
}
.btn-orange:hover {
  color: #FFFFFF;
  background-color: #E68F00;
  border-color: #FFA303;
}
.btn-orange:focus, .btn-orange.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 163, 3, 0.5);
}

.btn-green {
  font-size: .9rem;
  color: #FFF;
  background-color: #2BB99B;
  border-bottom: 4px solid #268873;
  padding: 14px 50px;
  position: relative;
  -webkit-transition: all 0.3s;
}
.btn-green:hover {
  margin-top: 3px;
  color: #FFF;
  background-color: #2BB99B;
  border-bottom: 1px solid #268873;
}
.btn-green:focus {
  box-shadow: none;
}

.box {
  background-color: #F7F9F6;
  padding: 20px 30px;
}
@media (max-width:767px){
  .box {
    padding: 10px 15px;
  }
}

.underline {
  background: linear-gradient(transparent 70%, #a2f595 30%);
  margin-bottom: 10px;
}

.alignleft {
  display: inline;
  float: left;
  margin-right: 1.625em;
  margin-bottom: 0.5em;
}
.alignright {
  display: inline;
  float: right;
  margin-left: 1.625em;
  margin-bottom: 0.5em;
}
.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.5em;
}
.wp-caption-text {
  text-align: center;
}
.wp-pagenavi {
  margin-bottom: 20px;
}


table:not(.table) {
  border: none;
  border-collapse: collapse;
  margin-bottom: 30px;
  width: 100%;
  border: 1px solid #CCC;
}
table:not(.table) th {
  padding: 10px 15px;
  vertical-align: middle;
  text-align: center;
  line-height: 180%;
  border: 1px solid #268873;
  background-color: #2BB99B;
  color: #FFF;
  white-space: nowrap;
}
table:not(.table) td {
  margin: 0;
  padding: 10px 15px;
  vertical-align: middle;
  line-height: 180%;
  border: 1px solid #CCC;
}
table:not(.table) th a {
  color: #fff;
}
table:not(.table) th a:hover {
  padding-left: 0;
}
table:not(.table) tr:nth-child(odd) td {
  background-color: #F7F9F6
}
.table-schedule table:not(.table) tr:nth-child(odd) td {
  background-color: transparent;
}
.table-schedule table:not(.table) th {
  background-color: #F7F9F6;
  border: 1px solid #CCC;
  color: #333;
}
.table-schedule table:not(.table) th a {
  color: #007bff;
}
.table-schedule table:not(.table) th a:hover {
  color: #0056b3;
}
.table-schedule table:not(.table) tr:nth-child(1) th {
  background-color: #2BB99B;
  border: 1px solid #268873;
  color: #fff;
}
.table-schedule table:not(.table) td {
  width: 15%;
  padding: 10px 3px;
  letter-spacing: 1pt;
}

.table-middle, .table-middle th, .table-middle td {
  vertical-align: middle;
}
table.table-outline, table.table-outline th, table.table-outline td {
  vertical-align: top;
}

.mt0{margin-top:0 !important;}
.mt5{margin-top:5px;}
.mt10{margin-top:10px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}
.mt40{margin-top:40px;}
.mt50{margin-top:50px;}

.mr0{margin-right:0 !important;}
.mr5{margin-right:5px;}
.mr10{margin-right:10px;}
.mr20{margin-right:20px;}
.mr30{margin-right:30px;}
.mr40{margin-right:40px;}
.mr50{margin-right:50px;}

.mb0{margin-bottom:0 !important;}
.mb5{margin-bottom:5px;}
.mb10{margin-bottom:10px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px;}

.ml0{margin-left:0 !important;}
.ml5{margin-left:5px;}
.ml10{margin-left:10px;}
.ml20{margin-left:20px;}
.ml30{margin-left:30px;}
.ml40{margin-left:40px;}
.ml50{margin-left:50px;}

@media (min-width:768px){
  .sp-only {display: none !important;}
}
@media (max-width:767px){
  .pc-only {display: none !important;}
}
