@charset "utf-8";
/*
Theme Name: こだま病院
Description: こだま病院の公式WordPressテーマ。レスポンシブデザイン対応。
Author: Manus
Version: 1.0.0
*/

/* Reset & Base
-------------------------------------------------------------- */
*, *::before, *::after {
    box-sizing: border-box;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font-family: inherit;
    vertical-align: baseline;
}

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

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

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

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

body {
    line-height: 1.6;
    font-family: 'Zen Maru Gothic', sans-serif;
    background-color: #fff;
    -webkit-text-size-adjust: 100%;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

a {
    color: inherit;
    text-decoration: none;
    transition: opacity 0.3s;
}

a:hover {
    opacity: 0.7;
}

.inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Header
-------------------------------------------------------------- */
#header {
    width: 100%;
    background: #fff;
    z-index: 1000;
    transition: all 0.3s;
}

#header.fixed {
    position: fixed;
    top: 0;
    left: 0;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
    padding: 0 20px;
}

#header.fixed .header-inner {
    height: 70px;
}

#header.fixed .logo img {
    height: 40px;
}

.g-nav {
    width: 80%;
    display: flex;
    justify-content: end;
}

.g-nav ul {
    display: flex;
}

.g-nav ul li {
    font-weight: 500;
}

.g-nav ul li a {
    font-weight: 600;
    font-size: 110%;
}

.g-nav ul.nav-list li {
    margin-left: 30px;
}

.btn-access {
    color: #00a19a;
    padding: 5px 20px;
    border-radius: 50px;
    border: 2px solid #00a19a;
    margin-left:30px;
}

.btn-pink {
    background: #FF6091;
    color: #fff;
    padding: 5px 25px;
    border-radius: 50px;
    margin-left:20px;
    border: 2px solid #FF6091;
}

.btn-green {
    margin: 30px 0;
}

.btn-green a {
    background: #0AABA5;
    color: #fff;
    padding: 10px 25px;
    border-radius: 50px;
    border: 2px solid #0AABA5;
}

@media screen and (max-width: 1000px){
  .btn-pink{
    display: block;
    margin-left:0;
    text-align:center;
  }
}

/* Main Visual
-------------------------------------------------------------- */
#main-content {
    background: url(images/leaf01.png) no-repeat right 600px / 182px,
    url(images/leaf02.png) no-repeat left 840px / 289px,
    url(images/leaf03.png) no-repeat left 1500px / 200px,
    url(images/leaf04.png) no-repeat right 1700px / 240px;
}

.main-visual {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1500 / 700;
}

.main-visual::after{
  content:"";
  display: block;
  aspect-ratio: 1500 / 118;
  width: 100%;
}

.mv-slider{
  mask-image: url(images/mask-wave.svg);
  mask-repeat: no-repeat;
  mask-position: left bottom;
  mask-size: auto 100%;
  -webkit-mask-image: url(images/mask-wave.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: left bottom;
  -webkit-mask-size: auto 100%;
}

.mv-slider .slick-slide {
    position:relative;
    aspect-ratio: 1500 / 700;
}

.mv-slider .slick-slide::before{
  content: "";
  background: url(images/slide-mask.svg) no-repeat center center / cover;
  display: block;
  width: 100%;
  aspect-ratio: 1500 / 700;
  position: absolute;
  top: 0;
  left:0;
}

.mv-slider .slide-img {
    width: 100%;
    height: 100%;
}

.slick-slide img {
    object-fit: cover;
    aspect-ratio: 1500 / 700;
    object-position: center;
}

.mv-copy {
    position: absolute;
    top: 15%;
    left: 10%;
}

.mv-copy h2 {
    font-size: 330%;
    /* font-size: clamp(1.8rem, calc(1.25vw + 1.5rem), 3.2rem); */
    line-height: 1.8;
    font-weight: 500;
    margin-bottom: 4%;
}

.mv-copy p {
    font-size: clamp(90%, calc(1.25vw + 1.5rem), 110%);
    text-shadow: 1px 1px 2px #fff;
}

.mv-copy .color-text {
    color: #00a19a;
}

@media screen and (max-width: 1300px){
  .mv-copy h2 {
    font-size: 280%
  }
}

@media screen and (max-width: 1000px){
  .mv-copy {
      position: absolute;
      top: 10%;
      left: 5%;
  }
  .mv-copy h2 {
    font-size: 180%
  }
  .mv-copy p {
    font-size: 90%;
  } 
}

@media screen and (max-width: 700px){
  .mv-copy {
    position: static;
    padding: 0 50px;
  }
  .main-visual {
    overflow: visible;
  }
  .mv-copy h2 {
    font-size: 120%
  }
  .mv-slider .slick-slide::before{display:none;}
}


@media screen and (max-width: 500px){
  .mv-copy {
    padding: 0 30px;
  }
}


/* Banner Section
-------------------------------------------------------------- */
.banner-section {
    padding: 30px 0 60px;
}

.banner-grid .wp-block-columns {
    gap: 50px;
}

.banner-item {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    color: #fff;
    text-align: center;
    padding: 40px 0 0;
}

.banner-item.hajimete { background-color: #4db6ac; }
.banner-item.medical { background-color: #93d050; }
.banner-item.recruit { background-color: #e46c85; }

.banner-item .icon {
    margin-bottom: 10px;
}

#main-content .banner-item h3 {
    font-size: 170%;
    font-weight: 500;
    margin-bottom: 5px;
}

.banner-item p {
    font-size: 110%;
    margin-bottom: 10px;
}

.banner-item .btn-more a {
    display: inline-block;
    background: rgba(255,255,255,0.2);
    padding: 8px 30px;
    border-radius: 50px;
    font-size: 130%;
}

.banner-item.hajimete .btn-more a{background:#008480;}
.banner-item.medical .btn-more a{background:#64A237;}
.banner-item.recruit .btn-more a{background:#D15279;}

.banner-item figure{margin-bottom:0;}

.btn-more {margin-bottom: 20px;}

.banner-item .btn-more+figure {
    mask-image: url(images/bnr-mask.svg);
    mask-repeat: no-repeat;
    mask-position: 3% 0;
    mask-size: auto 100%;
    -webkit-mask-image: url(images/bnr-mask.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 3% 0;
    -webkit-mask-size: auto 105%;
}

@media screen and (max-width: 1000px){
  .banner-section{
    padding:30px 0 0;
  }
  .banner-grid .wp-block-columns {
    gap: 30px;
  }
  .banner-item h3, .banner-item p {
    padding: 0 10px;
  }
  #main-content .banner-item h3 {
    font-size: 120%;
    letter-spacing: 2px;
  }
  .banner-item p {
    font-size: 80%;
  }
  .banner-item .btn-more a {
    font-size: 100%;
  }
}


/* News Section
-------------------------------------------------------------- */
.news-section {
    padding: 80px 0;
}

.news-list li {
    display: flex;
    align-items: center;
    padding: 10px 0;
    font-weight: 500;
    font-size: 120%;
}

.news-date {
    width: 150px;
    color: #666;
}

.cat-label {
    background-color: #CFF5EE;
    color: #000;
    padding: 4px 15px;
    border-radius: 10px;
    margin-right: 20px;
    font-size: 80%;
    min-width: 155px;
    display: inline-block;
    text-align: center;
}

.cat-label.news {background-color: #CFF5EE;}
.cat-label.futsal_blog {background-color: #E2F5CF;}

/* Instagram Section
-------------------------------------------------------------- */
.instagram-section {
    padding: 80px 0;
}

.insta-grid {
    /* display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    margin-top: 30px; */
    text-align:center;
}

.insta-item {
    aspect-ratio: 1/1;
    background-color: #ddd;
}

/* トップ診療案内
-------------------------------------------------------------- */
.medical-info-section {
    background: #E9F7F7 url(images/leaf05.png) no-repeat -54px 0 / 230px;
}

.medical-info-section h3 {
    letter-spacing: 5px;
    margin-bottom: 15px;
}

.medical-info-section h4 {
    font-size: 140%;
    color: #0AABA5;
    margin-bottom: 10px;
}

.medical-info-section h5 {
    background: #0AABA5;
    color: #fff;
    padding: 7px 30px;
    font-size: 130%;
    border-radius: 50px;
    margin: 20px 0;
}

.medical-info-section .service-box {
    background: #fff;
    margin: 10px 0;
    padding: 10px 20px;
    border-radius: 10px;
}

.medical-info-section .service-box li a {
    text-decoration: underline;
}

.medical-info-section .service-box li{
  position: relative;
  list-style:none;
  padding-bottom:5px;
  margin-left:1em;
}
.medical-info-section .service-box li:after{
  display: block;
  content: '';
  position: absolute;
  top: .4em;
  left: -1em;
  width: 0.7em;
  height: 0.7em;
  background-color: #0AABA5;
  border-radius: 150%;
}

/* トップ専門医療と地域の力でこころの健康を支えます
-------------------------------------------------------------- */
.specialized-care-section {
    padding: 80px 0;
    background: url(images/leaf06.png) no-repeat right 30px / 160px,url(images/leaf07.png) no-repeat left 540px / 160px;
}
.gaikan-img img {
    border-radius: 30px;
}

.senmon-box {
    display: flex;
    justify-content: space-between;
}

.senmon-box::before {
    content: "";
    width: 25%;
}

.care-item:nth-child(1) .senmon-box::before{background: url(images/icon-senmoniryo.svg) no-repeat left center;}
.care-item:nth-child(2) .senmon-box::before{background: url(images/icon-chiiki.svg) no-repeat left center;}
.care-item:nth-child(3) .senmon-box::before{background: url(images/icon-kanren.svg) no-repeat left center;}


.senmon-box .wp-block-group__inner-container {
    width: 75%;
}

/* Footer
-------------------------------------------------------------- */
#footer {
    background-color: #F4FCFC;
    padding: 40px 40px 20px;
}

.footer-content {
    display: flex;
    justify-content: space-between;
}

.footer-info {
    display: flex;
    justify-content: space-between;
    width: 50%;
}

.footer-info .logo {
    margin-right: 20px;
}

.footer-info .logo img {
    margin-bottom: 20px;
}

.footer-nav{width:40%;}

.footer-nav ul {
    display: flex;
    flex-wrap: wrap;
}

.footer-nav li {
    margin-bottom: 15px;
    background: url(images/icon-arrow.svg) no-repeat left center;
    padding-left: 15px;
    width:190px;
}

.copyright {
    text-align: center;
    margin-top: 60px;
    font-size: 80%;
    color: #999;
}

@media screen and (max-width: 1000px){
  .footer-info{display:block;width:100%;}
}

/* Responsive
-------------------------------------------------------------- */

/* 1200px 以上 */
@media screen and (min-width: 1201px) {
    .inner { width: 1200px; }
}

/* 1100px 以下 */
@media screen and (max-width: 1100px) {
    .inner { width: 95%; }
    .header-inner { padding: 0 20px; }
    .banner-grid { grid-template-columns: 1fr; }
    .insta-grid { grid-template-columns: repeat(3, 1fr); }
    .footer-content { flex-direction: column; }
    .footer-nav { margin-top: 40px; }
}

/* 600px 以下 */
@media screen and (max-width: 600px) {
    .g-nav { display: none; } /* ハンバーガーメニューは後ほど実装 */
    .news-list li { flex-direction: column; align-items: flex-start; }
    .news-date { margin-bottom: 5px; }
    .insta-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-nav {width: 100%;}
}

/* Content Sections
-------------------------------------------------------------- */
.section-title {
    font-size: 230%;
    text-align: center;
    margin-bottom: 40px;
    position: relative;
    padding-bottom: 15px;
    letter-spacing: 3px;
    font-weight: 600;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background-color: #00a19a;
}

#main-content h3 {
    font-size: 220%;
    letter-spacing: 5px;
    margin-bottom: 15px;
}

.lh2em {
    line-height: 2em;
}

.btn-center {
    text-align: center;
    margin-top: 40px;
}

.btn-outline {
    display: inline-block;
    border: 1px solid #00a19a;
    color: #00a19a;
    padding: 10px 40px;
    border-radius: 50px;
    font-weight: 500;
}

@media screen and (max-width: 600px){
  #main-content h3{font-size:160%;}
}

/* Medical Info Table */
.medical-info-content {
    display: flex;
    gap: 40px;
    padding: 60px 0;
}

.info-text { width: 40%; }

.info-table {
    width: 60%;
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    border: 1px solid #CCCCCC;
}

.info-table table {
    width: 100%;
    border: 1px solid #ccc;
}

.medical-info-content .info-table th:first-child,
.medical-info-content .info-table td:first-child{
  width: 35%;
}

.medical-info-content .info-table th:last-child,
.medical-info-content .info-table td:last-child{
  width: 12%;
}

.info-table td:not(:first-child){
  color:#0AABA5;
}

.info-table th, .info-table td {
    border: 1px solid #ccc;
    padding: 15px;
    text-align: center;
    vertical-align: middle;
}

.info-table th {
    background-color: #f0fafa;
    color: #00a19a;
}

.medical-info-content .info-table .wp-block-table thead{
  border-bottom:none;
}

.tel {
    font-size: 270%;
    color: #FF6091;
    font-weight: 700;
    margin: 10px 0 0;
    text-align: center;
}

.tel::before {
    content: "";
    background: url(images/icon-tel.svg) no-repeat;
    display: inline-block;
    width: 42px;
    height: 42px;
    background-size: contain;
    margin-right: 5px;
}

/* .tel mark::before {
    content: "";
    background: url(images/icon-tel.svg) no-repeat;
    display: inline-block;
    width: 42px;
    height: 42px;
    margin-right: 10px;
} */

.tel img {
    margin-right: 10px;
}

@media screen and (max-width: 1000px){
  .info-table th, .info-table td {
      padding: 15px 0px;
  }
}

@media screen and (max-width: 400px){
  .tel {
      font-size: 180%;
  }
  .tel mark::before {
      width: 30px;
      height: 30px;
      background-size: 30px 30px;
  }
}

/* Specialized Care Grid */
.care-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 50px;
}

.care-item {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #ccc;
    padding: 20px;
}

.care-item h4 {
    padding: 5px 0 10px;
    font-size: 140%;
    color: #00a19a;
}

.care-item p {
    font-size: 90%;
    margin-bottom:20px;
}

.care-item figure{margin-bottom:0;}

/* FAQ Accordion */
.faq-accordion {
}

.faq-item {
    border: 1px solid #ccc;
    border-radius: 10px;
    margin-bottom: 15px;
    color: #0AABA5;
    position:relative;
    cursor: pointer;
    padding-right: 40px;
}

.faq-q {
    padding: 15px 20px;
    cursor: pointer;
    font-weight: 500;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 115%;
}

.faq-a {
    padding: 0 20px 20px;
    display: none;
    color: #666;
    display: none;
    overflow: hidden;
}

.faq-q::after {
    content: "+";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 30px;
    transition: transform 0.3s;
}

.faq-q.active {
    color: #00a19a;
}

.faq-q.active::after {
  transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 780px){
  .faq-accordion .wp-block-image {
      width: 300px;
      margin: 0 auto;
  }
}

/* Consultation Box */
.consultation-section{
    background: #E9F7F7;
}

.consultation-box {
    background: url(images/leaf08.png) no-repeat left 0 / 240px,#E9F7F7 url(images/leaf09.png) no-repeat right 40px / 230px;
    padding: 60px;
    margin: 80px 0 0;
}

.consult-info {
    background: #fff;
    padding: 30px;
    border-radius: 15px;
    width: 50%;
}

#main-content .consultation-box h3.soudan-title{
  color: #0AABA5;
  letter-spacing: 0;
}

.soudan-title + p {
    font-size: 120%;
}

@media screen and (max-width: 1000px){
  .consultation-box {
      padding: 60px 0;
  }
}

/* Page Top Button */
.page_top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 100;
}

/* Hamburger Menu Toggle */
#nav-toggle {
    width: 30px;
    height: 24px;
    position: relative;
    cursor: pointer;
    display: none;
}

#nav-toggle span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: #333;
    border-radius: 9px;
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: .25s ease-in-out;
}

#nav-toggle span:nth-child(1) { top: 0px; }
#nav-toggle span:nth-child(2) { top: 10px; }
#nav-toggle span:nth-child(3) { top: 20px; }

#nav-toggle.active span:nth-child(1) { top: 10px; transform: rotate(135deg); }
#nav-toggle.active span:nth-child(2) { opacity: 0; left: -60px; }
#nav-toggle.active span:nth-child(3) { top: 10px; transform: rotate(-135deg); }

@media screen and (max-width: 1100px) {
    .medical-info-content, .consultation-box {
        flex-direction: column;
    }
    .info-text, .info-table, .consult-info {
        width: 100%;
    }
    .care-grid {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 1000px) {
    #nav-toggle { display: block; }
    .g-nav {
        display: none;
        position: fixed;
        top: 70px;
        left: 0;
        width: 100%;
        height: calc(100vh - 70px);
        background: #fff;
        padding: 40px 20px;
        z-index: 999;
    }
    .g-nav ul {
        flex-direction: column;
    }
    .g-nav ul li {
        margin: 0 0 20px 0;
        font-size: 110%;
    }
    .btn-access {
        margin: 20px 0 0 0;
        display: block;
        text-align: center;
    }
}


/*パンくず*/
.crumbs {
  font-size: 95%;
  margin-bottom: 50px;
}

.crumbs ul{width:1200px;margin:0 auto;}

.crumbs li{
  display: inline-block;
}
.crumbs li::after{
  content:'›';
  padding:0 7px;
  color: #666;
}
.crumbs li:last-child::after{display: none;}
@media only screen and (max-width: 1200px){
  .crumbs ul{width: auto;}
}

/*サブページ*/
h2.title{
    font-size: 230%;
    text-align: center;
    margin-bottom: 40px;
    position: relative;
    padding-bottom: 15px;
    letter-spacing: 3px;
    font-weight: 600;
}
h2.title::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background-color: #00a19a;
}
.dateLabel{text-align:right;}

.subpage a{text-decoration: underline;}
.subpage .wp-block-buttons .wp-block-button__link {
  text-decoration: none;
}
.subpage p{
    margin-bottom:20px;
}
.subpage h2{
    font-size: 230%;
    margin-bottom: 40px;
    letter-spacing: 3px;
    font-weight: 600;
}
.subpage h3{
    border:2px solid #0AABA5;
    padding:5px 20px;
    border-radius:10px;
    margin-bottom:20px;
    font-size:200%;
}
.subpage h4 {
    font-size: 150%;
    margin-bottom: 20px;
    background: #EEEEEE;
    padding: 10px 20px;
    letter-spacing: 3px;
    border-radius: 10px;
}
.subpage h5{
    font-size:140%;
    margin-bottom:20px;
}
.subpage h5::before{
    content:'';
    display:inline-block;
    margin-top:3px;
    margin-right:5px;
    width:22px;
    height:22px;
    border-radius:50%;
    background:#0AABA5;
}
.subpage ul li{
  position: relative;
  list-style:none;
  padding-bottom:5px;
  margin-left:1em;
}
.subpage ul li:after{
  display: block;
  content: '';
  position: absolute;
  top: .4em;
  left: -1em;
  width: 0.7em;
  height: 0.7em;
  background-color: #0AABA5;
  border-radius: 150%;
}

.subpage ul li ul{
  border:none;
  padding:0;
}

.subpage ul li ul li{
  margin-top:5px;
  padding-bottom:0px;
}

.subpage ul{
  margin-bottom:20px;
  margin-left:0px;
  padding:0;
  border-radius:10px;
}

.subpage ol{
padding:0;
margin:0 0 20px 0;
list-style:none;
counter-reset:circle-number;/* 任意の名前*/
}
.subpage  ol li{
  line-height: 2;
  margin-bottom: 0.4em;
  margin-left:2.3em;
}
.subpage ol li:before {
counter-increment: circle-number; /* 任意の名前を付ける（もちろん英語で） */
content: counter(circle-number); /* 名前を付けたカウンターをcontentで発動！ */
background:#eeeeee;
border-radius: 50%;
width: 2em;
height: 2em;
text-align: center;
display: inline-block;
margin-right: .3em;
margin-left:-2.3em;
}
.subpage table{
  margin-bottom:20px;
  border-collapse:collapse;
}
.subpage table th,.left-color td:first-child{
  background:#E9F7F7;
  color:#000;
  font-weight:bold;
  padding:10px;
  vertical-align:top;
  text-align:left;
  border:1px solid #d9d9d9;
  border-collapse:collapse;
}

.left-color td:first-child{
  width:17%;
}

.subpage table thead{
    border:none;
}
.subpage table thead th{
    background:#E9F7F7;
    color:#000;
    text-align:center;
}
.subpage table td{
  padding:10px;
  vertical-align:top;
  border:1px solid #d9d9d9;
  border-collapse:collapse;
}

.subpage .td-mdl table td{
  vertical-align: middle;
}

.btn-white{margin:30px 0;}
.btn-white a{
    display:inline-block;
    border-radius:50px;
    background:#fff;
    color:#0AABA5;
    padding: 10px 25px;
    border:2px solid #0AABA5;
    transition: 0.5s;
}

.btn-white a:hover{
    background:#0AABA5;
    color:#fff;
    opacity: 1;
}

.subpage .gray-table table td:first-child {
    background: #F5F5F5;
    width:20%;
}


/*アーカイブ*/
.archive-box{
    border: 2px solid #0AABA5;
    padding: 20px 20px;
    border-radius: 10px;
    margin-bottom: 20px;
}
.archive-box h3.archive-link{
    border:none;
    background:#E9F7F7;
}
.archive-box-container{
    display:flex;
    gap:40px;
    flex-direction: row-reverse;
    justify-content: space-between;
}
.archive-img{
    width:30%;
}
.archive-excerpt{
    width:65%;
}
.archive-excerpt .btn-green{text-align:right;}
@media only screen and (max-width:800px){
    .archive-box-container{display:block;}
    .archive-img,.archive-excerpt{width:auto;margin-bottom:20px;}
}

/*ページ送り*/

.tablenav {
	color: #424242;
	background:white;
	margin: 1em auto;
	line-height:2em;
	text-align:center;
}

a.page-numbers, .tablenav .current {
	color: #424242;
	padding: 2px 7px;
	border:solid 1px #ccc;
	text-decoration:none;
	font-size:110%;
}

a.page-numbers:hover {
	color:white;
	background: #0AABA5;
}

.tablenav .current {
	color: white;
	background: #0AABA5;
	border-color: #0AABA5;
	font-weight:bold:
}

.tablenav .next, .tablenav .prev {
	border:0 none;
	background:transparent;
	text-decoration:underline;
	font-size:90%;
	font-weight:bold;
}

/* 診療案内 */
.sub-hospital-guide .subpage ul.kamoku {
    display: flex;
    justify-content: space-between;
}
.sub-hospital-guide .subpage ul.kamoku li {
    border: 1px solid #CCCCCC;
    padding: 10px;
    border-radius: 10px;
    width:100%;
    text-align:center;
    margin: 0 5px;
}
.sub-hospital-guide .subpage ul.kamoku li:after{
  content:none;
}

.docter-schedule .wp-block-group__inner-container {
    display: flex;
    justify-content: space-between;
}

.schedule-box {
    width: 48%;
}

.schedule-box table td mark {
    margin: 3px 0;
    display: inline-block;
    width: 100%;
}

.wp-block-columns.nyuin-necessity {
    display: flex;
    flex-wrap: wrap!important;
}

.wp-block-column.necessity-box {
    width: 30%;
    flex-basis: auto!important;
    flex-grow: 0!important;
    text-align: center;
    border: 1px solid #ccc;
    padding: 20px 20px 0;
    border-radius: 10px;
}

.wp-block-column.necessity-box img {
    width: 160px;
}

.wp-block-column.necessity-box h5 {
    font-size: 110%;
}

.subpage .wp-block-column.necessity-box h5::before{
  content:none;
}

.wp-block-column.necessity-box p {
    font-size: 90%;
}

.shinryo-tbl table thead th,
.shinryo-tbl table td{
    color:#0AABA5;
}

.shinryo-tbl table th:nth-child(1), 
.shinryo-tbl table td:nth-child(1) {
    color: #000;
}

@media screen and (max-width: 1100px){
  .schedule-box table td {
      font-size: 90%;
      padding: 10px 5px;
  }
}

@media screen and (max-width: 800px){
  .docter-schedule .wp-block-group__inner-container {
      flex-wrap: wrap;
  }
  .schedule-box {
      width: 100%;
  }
}

@media screen and (max-width: 600px){
  .subpage h3 {
      font-size: 160%;
  }
  .sub-hospital-guide .wp-block-spacer {
    height: 40px!important;
  }
}

/* 採用情報 */
.flow-box {
    border: 1px solid #ccc;
    text-align: center;
    padding: 20px;
    border-radius: 10px;
}

.subpage .flow-box p {
    margin-bottom: 10px;
}

.flow-box em {
    font-style: normal;
    color: #0AABA5;
    font-size: 130%;
    font-weight: 500;
}

.flow-box p strong {
    font-size: 150%;
}

/*サブお知らせ*/
#content-onecolumn .sub-newslist li{
    display:flex;
    gap:30px;
    flex-direction: row-reverse;
    justify-content: flex-end;
    margin-left:0;
    margin-bottom:10px;
}
#content-onecolumn .sub-newslist li::after{display:none;}
.sub-newslist .wp-block-latest-posts__post-date{
    font-size:inherit;
    width: 120px;
}
@media only screen and (max-width:600px){
    #content-onecolumn .sub-newslist li{flex-direction: column-reverse;gap:5px;}
}

/*サブよくある質問*/
.subpage .wp-block-details{
    border: 1px solid #ccc;
    border-radius: 10px;
    margin-bottom: 15px;
    position: relative;
    cursor: pointer;
    padding: 20px;
}
.subpage .wp-block-details summary{
    font-size:115%;
    color: #0AABA5;
    font-weight: 500;
    position:relative;
    padding-right: 30px;
    text-indent: -0.9em;
    padding-left: 1em;
}

.subpage .wp-block-details[open] summary {
    margin-bottom: 20px;
}

.sub-faq .wp-block-details summary::marker{
    content:'Q.';
}
.subpage .wp-block-details summary::after{
    content: "+";
    position: absolute;
    right: 0;
    top: -10px;
    font-size: 30px;
    transition: transform 0.3s;
}
.subpage .wp-block-details[open] summary::after{
    transform: rotate(45deg);
    transition: 0.3s;
}

/*メールフォーム*/
.mailform-box{
  max-width:600px;
  margin:0 auto 30px auto;
}
.mailform-box h4{
  font-size:130%;
  margin-top:20px;
}
.mailform-box p{margin-bottom:20px;}
.mailform-box input,textarea{width:90%;}
.mailform-box input[type="checkbox"]{width: auto;}
.mailform-box table{width:100%;border:1px solid #ccc;}
.subpage .mailform-box th,.subpage .mailform-box td{vertical-align: middle;}
.mailform-box em{
  display:inline-block;
  background:#cc0000;
  color:#fff;
  padding:3px 10px;
  margin-left:10px;
  border-radius:5px;
  font-size:80%;
}
.subpage .mailform-box .wpcf7-list-item{display:block;}

.subpage .mailform-box .wpcf7-submit{
  font-size:150%;
  width:inherit;
  background: #0AABA5;
  color: #fff;
  padding: 6px 20px;
  letter-spacing: 0.1em;
  border-radius: 30px;
  transition: 0.3s;
  margin-bottom: 20px;
  font-weight: 500;
  min-width: 130px;
  text-align: center;
}

@media only screen and (max-width:500px){
  .mailform-box th,.mailform-box td{display:block;width:auto;}
  .mailform-box span.wpcf7-spinner {display: block;}
}

/* フォーム
------------------------------------------------------------*/
input[type="text"], textarea,select,input[type="email"],input[type="tel"]{
  vertical-align:middle;
  max-width:90%;
  line-height:30px;
  height:30px;
  padding:1px 5px;
  border:1px solid #d4d4d7;
  border-radius:3px;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  font-size:100%;
  color:#555;
  background:#fcfcfc;
}

textarea{
  height:auto;
  line-height:1.5;
}

input[type="submit"],input[type="reset"],input[type="button"]{
  padding:3px 10px;
  background: #5a0000;
  background: -moz-linear-gradient(top, #781f12 0%, #5a0000 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#781f12), color-stop(100%,#5a0000));
  background: -webkit-linear-gradient(top, #781f12 0%,#5a0000 100%);
  background: -o-linear-gradient(top, #781f12 0%,#5a0000 100%);
  background: -ms-linear-gradient(top, #781f12 0%,#5a0000 100%);
  background: linear-gradient(to bottom, #781f12 0%,#5a0000 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#781f12', endColorstr='#5a0000',GradientType=0 );
  border:0;
  border-radius:3px;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  line-height:1.5;
  font-size:100%;
  color:#fff;
}

input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{
  background: #5a0000;
  background: -moz-linear-gradient(top, #5a0000 0%, #781f12 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#5a0000), color-stop(100%,#781f12));
  background: -webkit-linear-gradient(top, #5a0000 0%,#781f12 100%);
  background: -o-linear-gradient(top, #5a0000 0%,#781f12 100%);
  background: -ms-linear-gradient(top, #5a0000 0%,#781f12 100%);
  background: linear-gradient(to bottom, #5a0000 0%,#781f12 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5a0000', endColorstr='#781f12',GradientType=0 );
}

*:first-child+html input[type="submit"]{padding:3px;}

/*404ページ*/
.notFound {
  text-align: center;
  font-weight: bold;
  font-size: 500%;
  color: #00a19b;
}