@charset "utf-8";
/* 
Theme Name: toda-inoue-seikeigeka-theme
Theme URI: https://toda-inoue-seikeigeka.com
Author: takenaka
Author URI: https://toda-inoue-seikeigeka.com
Description: とだ井上整形外科のオリジナルテーマ
Version: 1.0
*/

/*=======================
common
=======================*/
:root {
    --primary-white: #fff;
    --primary-beige: #F2F2E6;
    --primary-black: #404040;
    --primary-green: #00AB98;
    --primary-yellowgreen: #AADB87;
    --primary-lightblue: #EDF9F7;
    --primary-pink: #F65C5C;
    --primary-lightGray: #BFBFBF;
    --primary-Gray: #8C8C8C;
    --primary-lightGray: #595959;
    --pcContentWidth: 79.1%;
    --pcContentPadding: 10.4%;
    --spContentWidth: 91.4%;
    --spContentPadding: 4.2%;
}

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
    margin: 0 !important;
    padding: 0 !important;
}

body {
    font-family:
        "Zen Maru Gothic",
        "Cabin",
        "Roboto";
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
    color: #404040;
    background-color: var(--primary-white, #fff);
}

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

.topic {
    text-align: center;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1;
}

.sub__topic {
    display: block;
    margin-top: 10px;
    color: rgba(0, 171, 152, 0.50);
    text-align: center;
    font-family: Cabin;
    font-size: 1.4rem;
    font-weight: 500;
}

.container {
    overflow: hidden;
}


/* common sp */
@media screen and (max-width: 769px) {
    .topic {
        font-size: 2.4rem;
    }
}/* sp 769px */

/*=======================
header
=======================*/
.header {
    display: flex;
    justify-content: space-between;
    padding: 10px 10.4%;
    align-items: center;
}

.header__topic {
    width: 24%;
}

.logo-img {
    max-width: 280px;
}


.subTitle {
    color: var(--primary-green, #00AB98);
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1;
    border-top: 1px solid #00AB98;
    border-bottom: 1px solid #00AB98;
    padding: 5px 0 4px;
    text-align: center;
}

.nav {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.nav__header {
    display: none;
}

.nav__list {
    display: flex;
}

.nav__item{
    margin: 10px 0 0 2em;
    transition: 0.3s ease;
}

.nav__item:last-of-type{
    display: none;
}

.nav__item:hover {
    transform: translateY(-3px);
    opacity: 0.7;
}

.nav__item a{
    display: flex;
    align-items: center;
    cursor: pointer;
}

.nav__item a:hover{
    opacity: 0.7;
}

.nav__icon {
    width: 30px;
}

.nav__txt {
    display: flex;
    flex-direction: column;
    margin: 6px 0 0 3px;
}

.ja {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
}

.en {
    margin-top: 2px;
    color:#BFBFBF;
    font-family: Cabin;
    font-size: 1rem;
    font-weight: 500;
}

.header__btn {
    display: none;
}

/* header tb */
@media screen and (max-width: 1180px) {
    .logo-img {
        margin-top: 6px;
        max-width: 210px;
    }
}
/* 1180px tb */

/* header tb */
@media screen and (max-width: 1080px) {
    .header {
        width: 100%;
        padding: 0 0 0 4.2%;
        display: flex;
        align-items: flex-start;
        z-index: 2;
    }
    
    .header__topic {
        width: 100%;
    }
    
    .subTitle {
        display: none;
    }
    
    .header__btn,
    .nav__btn {
        display: block;
        width: 68.25px;
    }
    
    /* nav初期表示 */
    .nav__header {
        display: block;
        width: 100%;
        padding: 0 0 0 4.2%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        background-color: #FFF;
    }
    
    .logo-img-nav {
        margin-top: 6px;
        width: 210px;
    }
    
    .nav {
        background-color: #00AB98;
        width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 100;
        transform: translateX(100%);
        transition: transform 0.4s;
    }
    
    .nav__list {
        display: block;
        margin-top: 30px;
        width: 89%;
        padding: 0 8% 30px;
        background-color: #fff;
        border-radius: 10px;
    }
    
    .nav__item{
        margin: 0;
        padding: 20px 0 10px;
        border-bottom: 1px dashed #8C8C8C;
        position: relative;
    }
    
    .nav__item {
        padding: 20px 0 10px;
        border-bottom: 1px dashed #8C8C8C;
        position: relative;
    }
    
    .nav__item::after {
        position: absolute;
        content: '';
        top: 60%;
        right: 0;
        transform: translateY(-50%);
        width: 24px;
        height: 24px;
        background: url(assets/images/icon-spmenu.png) no-repeat;
        background-size: contain;
    }
    
    .nav__item:last-of-type::after {
        display: none;
    }
    
    .nav__item a{
        margin-top: 0;
        display: flex;
        align-items: center;
    }
    
    .nav__item:last-of-type {
        display: block;
        border-bottom: none;
        transform: none;
        opacity: 1;
    }
    
    .nav__item a:hover{
        opacity: 0.7;
    }
    
    .ja {
        margin-top: 0;
    }
    
    .en {
        margin-top: 4px;
    }
    
    .header-address {
        font-size: 1.5rem;
    }
    
    .header-tell {
        margin-top: 10px;
        color: #00ab98;
        font-size: 2.2rem;
        font-weight: 500;
        line-height: 1.2;
    }
    
    .header-tell span{
        font-size: 1.4rem;
        font-weight: 400;
    }
    
    /* .nav.active表示 */
    .nav.active {
        transform: translateX(0);
    }
}/* tb 1080px */
/*=======================
articleHeader
=======================*/
.article__header {
    color: #fff;
    background-color: #00AB98;
    text-align: center;
    padding: 70px 0 30px;
}

.article__header h2{
    display: inline-flex;
    align-items: center;
    font-size: 3.8rem;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
    gap: 8%;
}

.article__header span{
    top: 5px;
    padding: 0 4%;
    text-align: center;
    font-family: 'Cabin';
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
    position: relative;
}

.article__header span::before{
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-50%,-50%);/*センター寄せの修正*/
    content: '';
    border: 1px solid #fff;
    border-radius: 50px;
    width: 10px;
}

.article__header span::after{
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translate(-50%,-50%);/*センター寄せの修正*/
    content: '';
    border: 1px solid #fff;
    border-radius: 50px;
    width: 10px;
}

.breadcrumb__list {
    margin-top: 30px;
    display: flex;
}

.breadcrumb__item {
    font-family: "Zen Maru Gothic";
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1;
    padding-left: 3rem;
}

.breadcrumb__item a{
    border-bottom: 1px solid #fff;
    cursor: pointer;
}

.breadcrumb__item:first-of-type {
    text-align: center;
    font-family: Cabin;
    font-size: 1.2rem;
    line-height: 1;
    position: relative;
    padding-left: 10.4%;
}

.breadcrumb__item:first-of-type:after {
    position: absolute;
    content: '／';
    width: 5px;
    height: 5px;
    padding-left: 1rem;
}

body.single-post .breadcrumb__item:nth-of-type(2):after {
    position: absolute;
    content: '／';
    width: 5px;
    height: 5px;
    padding-left: 1rem;
}

/* article header tb */
@media screen and (max-width: 1080px) {
    .breadcrumb__list {
        margin-top: 30px;
    }

    .breadcrumb__item:first-of-type {
        padding-left: 7.2%;
    }
}/* tb 1080px */

/* article header sp */
@media screen and (max-width: 769px) {
    .article__header {
        padding: 40px 0 10px;
    }

    .article__header h2{
        display: inline-flex;
        flex-direction: column;
        font-size: 2.7rem;
        gap: 0;
        white-space: inherit;
    }

    .article__header span{
        margin-top: 4px;
        font-size: 1.4rem;
        font-weight: 400;
    }

    .breadcrumb__list {
        margin-top: 25px;
        display: flex;
    }

    .breadcrumb__item {
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 1;
        padding-left: 3rem;
    }

    .breadcrumb__item:first-of-type {
        font-size: 1.2rem;
        padding-left: 4.2%;
        padding-top: 1px;
    }

    .breadcrumb__item:first-of-type:after {
        position: absolute;
        content: '／';
        width: 5px;
        height: 5px;
        padding-left: 1rem;
    }

}/* sp 769px */

/*=======================
timeTable
=======================*/
.section--topInfo {
    margin-top: 60px;
    display: flex;
    padding: 0 10.4% 60px;
    justify-content: space-between;
}

.timeTable {
    width: 49%;
    border:solid 2px #00AB98;
    border-radius: 20px;
    background-color: #fff;
    padding-bottom: 30px;
    position: relative;
}

.timeTable h2 {
    position: absolute;
    top: -1px;
    left: -1px;
    display: inline-block;
    color: #fff;
    background: #00AB98;
    border-radius: 20px 0 5px 0;
    padding: 8px 16px;
    font-size: 1.8rem;
}

.icon-time {
    width: 20px;
    margin: 0 5px 3px 0;
}

.timeTableBody {
    width: 90%;
    margin: 45px auto 0;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 1.8rem;
    line-height: 1.6;
}

.timeTableBody th:first-child {
    width: 25%;
}

.timeTableBody th:not(:first-child) {
    width: 12.5%;
    text-align: center;
}

.thead {
    border-bottom: 1px solid #BFBFBF;
}

.thead th {
    font-size: 1.8rem;
    font-weight: 400;
}

.tbody {
    border-bottom: 1px solid #BFBFBF;
}

.time {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.label {
    margin-top: 10px;
    font-size: 1.2rem;
    font-weight: 400;
}

.hour {
    margin-bottom: 10px;
    font-size: 1.6rem;
    font-weight: 500;
}

.tbody td {
    width: 12.5%;
    text-align: center;
    font-size: 1.6rem;
    color: #00AB98;
    padding-top: 25px;
}

.timeTableAdd {
    display: flex;
    padding: 8px 6% 0;
}

.timeTableAdd dt {
    font-size: 1.4rem;
    font-weight: 400;
    border-radius: 5px;
    background: #F2F2E6;
    padding: 1px 4px;
}

.timeTableAdd dt:last-of-type {
    margin-left: 3%;
}

.timeTableAdd dd {
    font-size: 1.4rem;
    margin: 1px 0 0 1%;
}

/* topInfo timeTable pc */
@media screen and (max-width: 1383px) {
    .timeTableAdd {
        display: grid;
        grid-template-columns: 50px 1fr;
        padding: 8px 5% 0;
    }

    .timeTableAdd dt:last-of-type {
        margin: 3px 0 0 0 ;
        text-align: center;
    }

    .timeTableAdd dd {
        font-size: 1.4rem;
        margin: 3px 0 0 1%;
    }
}/* pc 1383px */

/* topInfo timeTable tb */
@media screen and (max-width: 1080px) {
    .section--topInfo {
        padding: 0 3.7% 60px;
    }
}/* tb 1080px */

/* topInfo timeTable sp */
@media screen and (max-width: 769px) {
    .section--topInfo {
        margin-top: 20px;
        display: block;
        padding: 0 4.2% 40px;
        justify-content: space-between;
    }

    .timeTable {
        width: 100%;
        padding-bottom: 20px;
    }

    .timeTable h2 {
        padding: 5px 12px;
        font-size: 1.6rem;
    }

    .icon-time {
        width: 20px;
        margin:0 5px 2px 0;
    }

    .timeTableBody {
        width: 90%;
        margin: 40px auto 0;
        font-size: 1.6rem;
        line-height: 1.6;
    }

    .timeTableBody th:first-child {
        width: 28%;
    }

    .timeTableBody th:not(:first-child) {
        width: 12%;
    }

    .thead th {
        font-size: 1.5rem;
    }

    .tbody td {
        width: 12%;
        font-size: 1.4rem;
        color: #00AB98;
        padding-top: 25px;
    }

    .label {
        margin-top: 10px;
        font-size: 1rem;
        font-weight: 400;
        }

    .hour {
        margin-bottom: 10px;
        font-size: 1.5rem;
        font-weight: 500;
    }

    .timeTableAdd {
        display: grid;
        grid-template-columns: 50px 1fr;
        padding: 8px 5% 0;
    }

    .timeTableAdd dt {
        font-size: 1.4rem;
        font-weight: 400;
        border-radius: 5px;
        background: #F2F2E6;
        padding: 0;
        text-align: center;
        margin-bottom: 5px;
    }

    .timeTableAdd dt:last-of-type {
        margin: 0 0 5px;
    }

    .timeTableAdd dd {
        font-size: 1.4rem;
        margin:0 0 5px 2%;
    }

    .supplement {
        margin-top: 4px;
        padding: 0 5% ;
        font-size: 1.2rem;
        line-height: 1.6;
    }
}/* sp 769px */

/*=======================
footer
=======================*/
.footer {
    background-color: var(--primary-lightblue, #EDF9F7);
    padding-top: 40px;
}

.footer-logo {
    display: block;
    width: 14%;
    margin: 0 auto;
}

.footer-group {
    margin-top: 40px;
    display: flex;
    padding: 0 10.4%;
    justify-content: center;
    align-items: center;
    gap: 3%;
}

.footer__txt {
    font-size: 1.6rem;
}

.contact {
    margin-top: 4px;
}

.tell {
    display: flex;
    align-items: center;
    font-size: 2.4rem;
    font-weight: 500;
    color: #00ab98;
    gap: 2px;
}

.tell img{
    display: block;
    width: 2.4rem;
}

.footer-nav {
    margin-top: 24px;
    display: flex;
}

.footer-nav__list:last-of-type {
    padding-left: 2em;
}

.footer-nav__item {
    margin-top: 10px;
    position: relative;
    padding-left: 21px;
    white-space: nowrap;
    cursor: pointer;
    transition: 0.3s;
}

.footer-nav__item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-image: url(assets/images/icon-footer.png);
    background-size: contain;
    background-repeat: no-repeat;
}

.footer-nav__item:hover {
    opacity: 0.7;
}

.copy {
    margin-top: 60px;
    padding: 3px 0;
    color: var(--primary-white, #fff);
    font-size: 1.4rem;
    text-align: center;
    background-color: var(--primary-green, #00AB98);
}

.topBtn {
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    flex-wrap: wrap;
    position: fixed;
    z-index: 100;
    bottom: 30px;
    right: 20px;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    border: 1px solid #fff;
    background-color: #00AB98;
    transition: 0.3s;
}

.topBtn img{
    width: 30%;
}

.topBtn:hover{
    opacity: 0.7;
}

/* footer tb */
@media screen and (max-width: 1080px) {
    .footer-group {
        padding: 0;
    }

    .footer-nav__list:last-of-type {
        padding-left: 1em;
    }
}/* tb 1080px */

/* footer sp */
@media screen and (max-width: 769px) {
    .footer {
        padding-top: 20px;
        }

    .footer-logo {
        width: 33%;
    }

    .footer-group {
        margin-top: 10px;
        display: block;
        padding: 0 4.2%;
        justify-content: center;
        align-items: center;
        gap: 3%;
    }

    .footer__txt {
        margin-top: 10px;
        font-size: 1.6rem;
    }

    .footer-adress {
        margin-bottom: 0px;
        padding-left: 3%;
    }

    .footer-nav {
        margin-top: 30px;
        flex-direction: column;
        font-size: 1.6rem;
        padding-left: 3%;
    }

    .footer-nav__list:last-of-type {
        padding-left: 0;
    }

    .copy {
        margin-top: 20px;
        padding: 0;
        font-size: 1.4rem;
    }

    .topBtn {
        display: flex;
        -webkit-box-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        align-items: center;
        flex-wrap: wrap;
        position: fixed;
        z-index: 50;
        bottom: 25px;
        right: 10px;
        width: 50px;
        height: 50px;
        border-radius: 50%;
        border: 1px solid #fff;
        background-color: #00AB98;
        transition: 0.3s;
    }

    .topBtn img{
        width: 30%;
    }

    .topBtn:hover{
        opacity: 0.7;
    }
}
/* sp 769px */
/*=======================
wordpress
=======================*/
body.blog .news-inner,
body.home .news-inner {
    margin: 80px 10.4%;
}

body.blog .news-article,
body.home .news-article {
    display: flex;
    align-items: center;
    margin-top: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #00ab98;
}

body.blog .news-date,
body.home .news-date {
    width: 12%;
    font-size: 1.8rem;
    color: #00ab98;
}

body.blog .news-title,
body.home .news-title {
    font-size: 2rem;
    font-weight: 500;
    transition: 0.3s;
}

body.blog .news-title:hover,
body.home .news-title:hover {
    color: #00ab98;
}

/* wordpress tb*/
@media screen and (max-width: 1080px) {
    body.blog .news-inner,
    body.home .news-inner {
        margin: 60px 4.2%;
    }
    
    body.blog .news-date,
    body.home .news-date {
        font-size: 1.6rem;
    }

    body.blog .news-title,
    body.home .news-title {
        font-size: 1.8rem;
    }
}/* tb 1080px */

/* wordpress sp*/
@media screen and (max-width: 769px) {
    body.blog .news-inner,
    body.home .news-inner {
        margin: 30px 4.2%;
    }
    
    body.blog .news-article,
    body.home .news-article {
        display: block;
        margin-top: 20px;
    }

    body.blog .news-date,
    body.home .news-date {
        font-size: 1.6rem;
    }

    body.blog .news-title,
    body.home .news-title {
        font-size: 1.8rem;
    }
}/* sp 769px */

/* 個別ページ */
body.single-post .news-inner {
    margin: 80px 10.4%;
}

body.single-post .news-date {
    font-size: 1.6rem;
    color: #00ab98;
}

body.single-post .news-title {
    font-size: 2.4rem;
    font-weight: 500;
}

body.single-post .news-content {
    margin-top: 30px;
    font-size: 1.6rem;
    padding: 30px 0;
}

body.single-post .nav-link {
    display: flex;
    margin: 40px 0;
    justify-content: center;
    gap: 20px;
}

body.single-post .nav-link a {
    display: block;
    font-size: 1.6rem;
}

body.single-post .next-post {
    background-color: #f0f0f0;
    border-radius: 5px;
    position: relative;
    display: inline-block;
    padding: 10px 4em 10px 5em;
    text-decoration: none;
    transition: 0.3s;
    cursor: pointer;
}

body.single-post .next-post:before {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #404040;
    border-left: solid 2px #404040;
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    left: 3em;
    bottom: 0;
    margin: auto;
}

body.single-post .prev-post {
    background-color: #f0f0f0;
    border-radius: 5px;
    position: relative;
    display: inline-block;
    padding: 10px 5em 10px 4em;
    transition: 0.3s;
    cursor: pointer;
}

body.single-post .prev-post:before {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #404040;
    border-right: solid 2px #404040;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 3em;
    bottom: 0;
    margin: auto;
}

body.single-post .prev-post:hover,
body.single-post .next-post:hover {
    opacity: 0.7;
}

body.single-post .news-back {
    margin: 100px auto;
    display: block;
    width: fit-content;
    text-align: center;
    font-size: 1.5rem;
    cursor: pointer;
    transition: 0.3s;
    color: #fff;
    background-color: #00ab98;
    padding: 8px 30px;
    border-radius: 100px;
}

body.single-post .news-back:hover {
    color: #00AB98;
    background-color: #fff;
    border: 1px solid #00ab98;
}

/* wordpress tb*/
@media screen and (max-width: 1080px) {
    body.single-post .news-inner {
        margin: 60px 4.2%;
    }
}/* tb 1080px */

/* wordpress sp*/
@media screen and (max-width: 769px) {
    body.single-post .news-inner {
        margin: 40px 4.2%;
    }

    body.single-post .news-title {
        font-size: 2.2rem;
    }

    body.single-post .news-content {
        margin-top: 30px;
    }

    body.single-post .nav-link {
        gap: 12px;
    }

    body.single-post .next-post {
        padding: 10px 2em 10px 3em;
    }

    body.single-post .next-post:before {
        left: 1.5em;
    }

    body.single-post .prev-post {
        padding: 10px 3em 10px 2em;
    }

    body.single-post .prev-post:before {
        right: 1.5em;
    }

    body.single-post .news-back {
        margin: 40px auto;
    }
}/* sp 769px */
