/*
Theme Name: Lightning Child（ひろ鍼灸院・整骨院）
Template: lightning
Description: Lightning の本体に直接加えられていた変更（トップページ・ヘッダー・フッター・デザイン・抜粋の文字数）を移した子テーマ。親テーマ Lightning は G2 表示のまま更新できる。
Version: 1.0.0
Text Domain: lightning-child
*/

/*===============================
共通
===============================*/
.body {
    font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}
a:hover{
    text-decoration: none;
    opacity: 0.8;
    color: #fff;
}
.pcNodisplay {
    display: none;
}
.subSection-title:after, h3:after {
    display: none;
}

/*===============================
 header
===============================*/
.siteHeader {
    height: 65px;
}
.navbar-header {
    margin: 5px 0 0 20px;
}
.siteHeader_logo img {
    width: 80%;
}
.gMenu a {
    color: #666666;
    font-weight: bold;
}
.gMenu > li .gMenu_name{
    font-size: 14px;
    font-weight: bold;
}
.gMenu>li:before {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    width: 0;
    border-bottom: 1px solid #f15b24;
    -webkit-transition: all .5s ease-out;
    transition: all .5s ease-out;
}
.counseling a {
    padding: 10px;
    color: #fff;
    background: linear-gradient(to right,#f15b24, #fbaf3b);
    font-size: 14px;
    font-weight: bold;
    margin: 8px 20px;
    float: right;
    display: inline-block;
    vertical-align: middle;
}
.counseling a:hover {
    text-decoration: none;
}
.counseling i {
    padding-right: 15px;
    color: #fff;
    font-size: 25px;
    vertical-align: middle;
}
.carousel-item {
    position: relative;
    width: 70%;
    margin: 0 auto;
    backface-visibility: hidden;
    float: none;
}
.carousel-inner {
    background-image: url(img/header_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
}
/*===============================
footer
===============================*/
.siteFooter {
    padding-top: 60px;
    background-color: #f7931e;
    color: #fff;
    border: none;
}
.logo img {
    width: 64%;
}
.logo > p {
    margin: 15px 0 25px;
    font-size: 16px;
    letter-spacing: 1px;
}
.Instagram a {
    padding: 12px 0;
    color: #f7931e;
    background: #fff;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    display: inline-block;
    width: 80%;
    vertical-align: middle;
    float: right;
}
.line a {
    padding: 12px 0;
    color: #f7931e;
    background: #fff;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    display: inline-block;
    width: 80%;
    vertical-align: middle;
    float: left;
}
.footer-sns {
    margin: 20px 0 47px 0;
}
.Instagram i, .line i {
    padding-right: 20px;
    font-size: 30px;
    vertical-align: middle;
}
.Instagram, .lineg a:hover {
    text-decoration: none;
}
.shinryo-annai {
    background-color: #fff;
    color: #4d4d4d;
    padding: 10px;
}
.footer-table-area {
    padding-left: 0;
}
.table-area {
    margin-top: 30px;
}
.footer-table-ttl {
    padding-left: 10px;
    padding-right: 0;
}
.table-ttl {
    color: #00a99d;
    font-size: 14px;
    font-weight: bold;
    text-align: left;
    margin-top: 10px;
    width: 130%;
}
.table, table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    border: none;
}
.footer-table-area th {
    font-size: 11.51px;
    font-weight: bold;
}
.footer-table-area td {
    font-size: 14.39px;
    font-weight: bold;
}
td, th {
    padding: 10px;
}
.table-star {
    font-size: 10px;
    margin: 5px;
}
.footer-tel a > img {
    width: 50%;
}
.footer-tel i {
    padding-right: 10px;
    font-size: 35px;
    color: #00a99d;
    vertical-align: middle;
}
.footer-tel-text {
    font-weight: bold;
    color: #00a99d;
    margin-top: 0px;
    position: relative;
    left: 75px;
    bottom: 5px;
    margin-bottom: 15px;
    font-size: 10px;
}
.footer-online a {
    padding: 15px;
    color: #fff;
    background: linear-gradient(to right,#f15b24, #fbaf3b);
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    white-space: nowrap;
    width: 215px;
    position: relative;
    right: 25px;
}
.reservation {
    padding: 0;
}
.reservation a {
    padding: 15px;
    color: #fff;
    background: linear-gradient(to right,#00a99c, #39b54a);
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
}
.footer-online i, .reservation i {
    padding-right: 10px;
    font-size: 20px;
    color: #fff;
    vertical-align: middle;
}
.footer-Reservation-btn {
    margin: 10px 0 20px;
}
.footer-parking {
    margin: 20px 0;
}
.copySection {
    padding: 20px 0;
    background-color: #fff;
    color: #4d4d4d;
}
.copySection p {
    font-size: medium;
}

/*===============================
トップページ
===============================*/

/*============= h2 =============*/
#sec01 h2, #sec02 h2, #sec04 h2 {
    margin: 72px 0 50px;
    font-size: 30px;
    font-weight: bold;
    border: none;
    color: #333333;
}
/*============= h3 =============*/
#sec01 h3 {
    font-size: 26px;
    font-weight: bold;
    color: #fff;
    margin: 25px 0 60px;  
    border: none;
    letter-spacing: 0.1rem;
    padding: 0;
    line-height: 0;
}
#sec01 .sec01-h3-2 {
    font-size: 26px;
    font-weight: bold;
    color: #fff;
    margin: 25px 0 60px;  
    border: none;
    letter-spacing: 0.1rem;
    padding: 0;
    position: relative;
    left: 141px;
}
#sec01 h3:before {
    position: absolute;
    bottom: -15px;
    width: 60px;
    height: 5px;
    content: '';
    background: #fff;
}
#sec03 h3 {
    font-size: 26px;
    font-weight: bold;
    color: #fff;
    margin: 56px 0 60px;  
    border: none;
    letter-spacing: 0.1rem;
    padding: 0;
    line-height: 1.5em;
}
#sec03 h3:before {
    position: absolute;
    bottom: -30px;
    width: 60px;
    height: 5px;
    content: '';
    background: #fff;
}
#sec02 h3 {
    font-size: 26px;
    font-weight: bold;
    color: #22b573;
    border: none;
    letter-spacing: 0.1rem;   
    position: relative;
    left: 70px;
}
#sec02 h3:before {
    position: absolute;
    left: -90px;
    bottom: 23px;
    width: 60px;
    height: 5px;
    content: '';
    background: #8cc63f;
}


/*============= sec01 =============*/
#sec01 {
    color: #fff;
    background-image: url(./img/sec01-bg2.png);
    background-size: 100% 100%;
}
#sec01 .sec01-h3-1::after {
    content: "";
    display: inline-block;
    position: relative;
    top: -25px;
    left: 185px;
    width: 95px;
    height: 95px;
    background-image: url(./img/sec01-subttl-1.png);
    vertical-align: middle;
    background-size: contain;
    background-repeat: no-repeat;
    border: none;
}
#sec01 .sec01-img-1 {
    max-width: 100%;
    height: auto;
    position: relative;
    top: -35px;
    left: 45px;
    z-index: 2;
}
#sec01 .sec01-h3-2::after {
    content: "";
    display: inline-block;
    position: relative;
    top: -25px;
    left: -575px;
    width: 95px;
    height: 95px;
    background-image: url(./img/sec01-subttl-2.png);
    vertical-align: middle;
    background-size: contain;
    background-repeat: no-repeat;
    border: none;
}
#sec01 .sec01-img-2 {
    max-width: 100%;
    height: auto;
    position: relative;
    top: -30px;
    right: 55px;
}
#sec01 .sec01-h3-3::after {
    content: "";
    display: inline-block;
    position: relative;
    top: -26px;
    left: 110px;
    width: 95px;
    height: 95px;
    background-image: url(./img/sec01-subttl-3.png);
    vertical-align: middle;
    background-size: contain;
    background-repeat: no-repeat;
    border: none;
}
#sec01 .sec01-img-3 {
    max-width: 100%;
    height: auto;
    position: relative;
    top: -30px;
    left: 50px;
    z-index: 2;
}
#sec01 .textbox-right2,.textbox-right1 {
    background: linear-gradient(to right, #fbaf3b, #f15b24);
    margin-bottom: 60px;
    padding: 0 60px 25px 82px;
}
.textbox-right1:before{
    content: "";
    width:3px;
    border-right: 2px solid #f15b24;
    position: absolute;
    left: -170px;
    top: 0;
    bottom: -65px;
}
#sec01 .textbox-left {
    background: linear-gradient(to right, #fbaf3b, #f15b24);
    margin-bottom: 60px;
    padding: 0 60px 25px 60px;
}
.textbox-left:before{
    content: "";
    width:3px;
    border-right: 2px solid #f15b24;
    position: absolute;
    right: -150px;
    top: 0;
    bottom: -65px;
}
#sec01 table {
    border-collapse: collapse;
}
#sec01 th, #sec01 td {
    border:  0px none;
}
#sec01 li {
    color: #fff;
}
.textbox:last-child {
    margin-bottom: 70px;
}

/*============= sec02 =============*/
#sec02 .col-md-4 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 30.33333%;
    margin: 0 auto;
}
#sec02 .col-md-10 p {
    margin-top: 90px;
    color: #333333;
}
#sec02 p, li {
    color: #4d4d4d;
}

/*============= sec03 =============*/
#sec03 {
    color: #fff;
    background-image: url(./img/sec03-bg2.png);
    background-size: 100% 100%;
    padding: 100px 0 65px;
}
#sec03 .textbox1,.textbox2 {
    background-color: #f7931e;
    margin-bottom: 80px;
    padding: 20px 60px 55px 82px;
}
#sec03 .textbox1:before{
    content: "";
    width:3px;
    border-right: 2px solid #f15b24;
    position: absolute;
    left: -150px;
    top: 0;
    bottom: -82px;
}
#sec03 .sec03-img-1 {
    max-width: 100%;
    height: auto;
    position: relative;
    top: -30px;
    left: 50px;
    z-index: 2;
}
#sec03 .sec03-img-2 {
    max-width: 100%;
    height: auto;
    position: relative;
    top: -30px;
    right: 55px;
}
#sec03 th, #sec03 td {
    border-color: #fff;
}
#sec03 tr:last-child th {
    border-bottom: none;
}
#sec03 tr:last-child td {
    border-bottom: none;
}
/*============= sec04 =============*/
#sec04 .news-box {
    padding: 25px 15px;
    background-color: #f2f2f2;
}
#sec04 .sec04-nwes-category {
    padding: 4px 15px;
    margin-bottom: 20px;
    color: #fff;
    background: linear-gradient(to right,#00a99c, #39b54a);
    font-size: 12px;
    font-weight: bold;
    max-width: 100px;
    position: relative;
    left: -15px;
    letter-spacing: 0.1rem;
}
#sec04 .sec04-news-ttl {
    font-size: 16px;
    font-weight: bold;
    color: #4d4d4d;
    margin-bottom: 20px;
}
#sec04 .sec04-news-txt {
    font-size: 14px;
    color: #4d4d4d;
}

/*============= sec02, sec04背景 =============*/
#sec02, #sec04 {
    background-color: #f9f9ed;
}
/*============= ボタン =============*/
.btn {
    padding: 20px 75px;
    color: #FFF;
    background: linear-gradient(to right,#00a99c, #39b54a);
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    border-radius: 35px;
    letter-spacing: 0.1rem;
    margin: 40px 0 70px;
}
.btn::after {
    content: "";
    display: inline-block;
    position: relative;
    left: 50px;
    width: 25px;
    height: 25px;
    background-image: url(./img/arrow.svg);
    vertical-align: middle;
    background-size: auto;
    background-repeat: no-repeat;
}
.btn:hover {
    color: #fff;
}

/*===============================
下層ページ
===============================*/
.page-header {
    background-color: #f7931e;
    color: #fff;
}
#post-39 .veu_childPage_list .childPage_list_more {
    position: absolute;
    bottom: -68px;
    right: 42px;
}
#post-39 .btn {
    padding: 8px 50px;
    color: #FFF;
    background: linear-gradient(to right,#00a99c, #39b54a);
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    border-radius: 35px;
    letter-spacing: 0.1rem;
    margin: 40px 0 70px;
    border: none;
}
#post-194 .btn {
    padding: 20px 70px;
    color: #FFF;
    background: linear-gradient(to right,#00a99c, #39b54a);
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    border-radius: 35px;
    letter-spacing: 0.1rem;
    margin: 40px 0 70px;
    border: none;
}
#post-39 .btn::after {
    content: "";
    display: inline-block;
    position: relative;
    left: 30px;
    width: 22px;
    height: 22px;
    background-image: url(./img/arrow.svg);
    vertical-align: middle;
    background-size: auto;
    background-repeat: no-repeat;
}
.widget-title, .subSection-title {
    background: linear-gradient(to right,#00a99c, #39b54a) !important;
    color: #fff;
    padding: 10px;
    border: none;
}
.entry-body h2 {
    padding: .8em 0 .7em !important;
    color: #333333 !important;
    font-weight: bold !important;
    border-bottom: 3px solid #f7931e;
    border-top: none;
}
.entry-body h3 {
    color: #fff !important;
    background: #00a99d !important;
    padding: 10px !important;
    padding-bottom: 8px !important;
    position: relative !important;
    border: none !important;
}
.entry-body ul {
    margin-top: 1.5em;
    margin-bottom: 1.2em;
    background-color: #f9f9ed;
    padding: 15px 30px;
    font-weight: bold;
}
.entry-body li {
    list-style: none;
    vertical-align: middle;
}
#categories-3 a:hover {
    color: #666666;
    text-decoration: none;
}
#archives-3 a:hover, #post-187 a:hover {
    color: #666666;
    text-decoration: none;
}
.text_u_red {
    text-decoration: underline;
    text-decoration-color: red;
}
.no1 input, .no2 input, .no3 input {
    border: 1px solid #ced4da !important;
    padding: 5px 0;
    border-radius: 3px;
    margin-right: 10px;
}
/* サイドメニュー */
.subSection li.current-cat>a {
    background: none;
}
.localNav a:hover, .localNavi a:hover {
    text-decoration: none;
    opacity: 0.8;
    color: #666666;
}

@media (min-width:992px) {
    .gMenu_outer nav {
        width: 960px;
    }
}
@media (min-width:992px) and (min-width:1300px) {
    .gMenu_outer nav {
        width: 1140px;
    }
}
@media (min-width: 1200px) {
    .gMenu_outer {
        right: 0;
        /* float: left; */
        width: auto;
        min-height: 4em;
        display: table;
    }
}
@media (max-width:767px) {
    /*=== header ===*/
    .siteHeader {
        height: 125px;
    }
    .siteHeader_logo img {
        width: 90%;
        margin-top: 15px;
    }
    .pcNodisplay {
        display: inline;
    }
    .counseling {
        display: inline-block;
        margin-top: 0.27778vw;
        position: relative;
        right: 0.76389vw;
    }
    .counseling a {
        padding: 2.694vw 17.514vw;
    }
    /*=== footer ===*/
    .siteFooter {
        padding-top: 30px;
    }
    .ggmap {
        padding: 0 30px;
    }
    .Instagram a {
        width: 98%;
        margin-bottom: 15px;
        text-align: center;
        display: inherit;
        float: left;
    }
    .line a {
        width: 98%;
        text-align: center;
    }
    .footer-table-area {
        padding-left: 0;
    }
    .footer-table-ttl {
        padding-left: 20px;
    }
    .footer-table {
        margin: 15px;
    }
    .footer-tel a > img {
        width: 70%;
    }
    .footer-tel-text {
        margin-top: 5px;
        margin-bottom: 0;
        position: static;
        text-align: center;
        font-size: 20px;
    }
    .reservation, .footer-online {
        padding: 0 20px;
    }
    .reservation a {
        width: 100%;
        display: inherit;
        margin-bottom: 15px;
        font-size: 18px;
        vertical-align: middle;
    }
    .footer-online a {
        width: 100%;
        display: inherit;
        position: static;
        font-size: 18px;
        vertical-align: middle;
    }
    .footer-online i, .reservation i {
        font-size: 30px;
        vertical-align: middle;
    }
    .copySection p {
        font-size: small;
    }
    /*=== sec01 ===*/
    #sec01 h2 {
        margin: 35px 0;
    }
    #sec01,#sec03 {
        background: none;
    }
    #sec01 h3 {
        margin: 56px 0 60px;
    }
    #sec01 .sec01-h3-2 {
        margin: 57px 0 60px;
    }
    #sec01 .sec01-img-1 {
        position: static;
        margin-bottom: 20px;
    }
    #sec01 .sec01-img-2, #sec01 .sec01-img-3 {
        position: static;
        margin-bottom: 20px;
        padding: 0 15px;
    }
    .textbox-right1 {
        padding: 0 15px 10px;
    }
    #sec01 .textbox-right2,.textbox-left {
        padding: 0 30px 10px !important;
    }
    #sec01 .sec01-h3-1::after {
        position: relative;
        top: -57px;
        left: 156px;
    }
    #sec01 .sec01-h3-2::after {
        position: relative;
        top: -57px;
        left: -350px;
    }
    #sec01 .sec01-h3-3::after {
        position: relative;
        top: -57px;
        left: 75px;
    }
    #sec01 ul {
        padding: 0 20px;
    }
    .front-page {
        flex-direction: column;
    }
    .front-page {
        display: flex;
    }
    .order1 {
        order: 1;
    }
    .order2 {
        order: 2;
    }
    /*=== sec02 ===*/
    #sec02 h2 {
        text-align: center;
        margin: 60px 0;
        padding: 0;
    }
    #sec02 .col-md-10 p {
        margin-top: 0;
        margin-bottom: 30px;
    }
    #sec02 .col-md-4 {
        flex: 100%;
        max-width: 100%;
    }
    #sec02 h3 {
        position: relative;
        left: 92px;
    }

    /*=== sec03 ===*/
    #sec03 {
        padding-top: 80px;
        padding-bottom: 0;
    }
    #sec03 .sec03-img-1, #sec03 .sec03-img-2 {
        position: static;
        margin-bottom: 20px;
    }
    #sec03 .textbox1, .textbox2 {
        padding: 0 15px 10px;
    }
    /*=== 新着情報 ===*/
    .news-box {
        margin-bottom: 20px;
    }

}

/*===============================
Font Awesome 7 への対応（2026-11 追加）
Lightning 15（G2）は Font Awesome 7 の日付・投稿者などのアイコンの指定を持っていないため、6 の指定を 7 に読み替えて足す
===============================*/
.fa_v7_css blockquote:after,.fa_v7_css blockquote:before{font-family:"Font Awesome 7 Free";font-weight:700}
.fa_v7_css .entry-meta_items.published::before{margin-right:5px;font-family:"Font Awesome 7 Free";content:"\f073";font-weight:900}
.fa_v7_css .entry-meta_items_author::before{margin-right:5px;font-family:"Font Awesome 7 Free";content:"\f303";font-weight:900}

/*===============================
予約フォーム（Contact Form 7 6.x への対応・2026-11 追加）
6.x では日付と時間の欄が <p> で囲まれるため、元のように横に並べる
===============================*/
.wpcf7 .d-flex > p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 7px;
}
.wpcf7 input.wpcf7-date {
    border: 1px solid #ddd;
    border-radius: 4px;
}

/*===============================
表（WordPress 6 以降への対応・2026-11 追加）
WordPress の表ブロックの枠線（全辺 1px）がテーマより後に読み込まれるため、Lightning 本来の見た目（行の下に薄い線）に戻す
===============================*/
.wp-block-table td,
.wp-block-table th {
    border: none;
    border-bottom: 1px solid rgba(0,0,0,.05);
    padding: .75em;
}
