/*
Theme Name: Lightning Child
Theme URI:https://www.ttm-partners.jp/rent-increase/
Template: lightning
Description:
Author:
Tags:
Version: 0.6.1
*/

/******************************
    共通 
*******************************/
/* 全体 */
body, html {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    margin: 0;
    font-size: 16px;
    line-height: 1.75;
    color: #333;
}

a img:hover{
    opacity: 0.8;
}

a{
    text-decoration: none !important;
}

.box{
    box-shadow: 0px 0px 15px 4px #ebebeb;
border-radius: 10px;
}


.site-header-sub {
margin-top: 0;
    margin-bottom: 0;
    float: right;
    display: flex;
    padding-left: 2em;
}

/* フォント */
.font-marugo{
    font-family: 'Zen Maru Gothic', sans-serif;
}

/* 見出し */
.page-header{
    background: #f4f2ec;
    color:#005725;
}
.page-header-inner{
    margin: 50px auto;
}
.page-header-title, h1.page-header-title{
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 500;
    font-size: 35px;
    color: #005725;
}
@media (min-width: 768px){  
    .page-header-title, h1.page-header-title{
        font-size: 45px;
        color: #005725;
    }
}

.entry-title {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 500;
    border-bottom: 1px solid #ccc;
    padding-bottom: 16px;
}

.vk_posts-mainSection .vk_post_title {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 500 !important;
    font-size: 22px !important;
}

h2.wp-block-heading {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 500;
    padding: 0.8em 0 0.7em;
    border-top: 2px solid var(--vk-color-primary);
    border-bottom: 1px solid #e9e9e9;
}
h3.wp-block-heading {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 500;
    padding-bottom: 8px;
    position: relative;
    border-bottom: 1px solid rgba(0,0,0,.1);
}
h3.wp-block-heading:after {
    content: ".";
    line-height: 0;
    display: block;
    overflow: hidden;
    position: absolute;
    bottom: -1px;
    width: 30%;
    border-bottom: 1px solid var(--vk-color-primary);
}
h4.wp-block-heading {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 500;
}
h5.wp-block-heading {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 500;
}
h6.wp-block-heading {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 500;
}

.sub-section-title{
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 500;
    font-size: 26px;
    line-height: 1.5;
    color: var(--vk-color-primary);
    border-bottom: 1px solid var(--vk-color-primary);
    margin-bottom: 16px !important;
}

.title-center_line {
    position: relative;
    text-align: center;
    padding-right: calc(50vw - 50%);
    padding-left: calc(50vw - 50%);
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    margin-bottom: 50px;
}
.title-center_line:before {
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background: #ef86ae;
}
.title-center_line .title-inner {
    position: relative;
    padding: 0 1em;
    background: #fff;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 500;
    font-size: 7vw;
}
@media (min-width: 576px){  
    .title-center_line .title-inner {
        font-size: 35px;
    }
}
@media (min-width: 768px){ 
    .title-center_line {
        margin-bottom: 70px;
    }
}

.ttl {
width: 100%;
position: relative;
color: #fff;
text-align: center;
padding: 30px;
background-color: #de6f00;
font-size: 2.2rem;
font-weight: bold;
}
.ttl::after {
width: 0;
height: 0;
position: absolute;
top: 100%;
left: 50%;
margin: 0 0 0 -50px;
border: 50px solid transparent;
border-top-color: #de6f00;
content: '';
}


/* iframe */
.iframe_rps{
    position:relative;
    width:100%;
    height:0;
    padding-top:75%;
}
.iframe_rps iframe{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100% !important;
}


/******************************
    投稿
*******************************/
/* 前の記事・次の記事 */
.next-prev-prev.card-horizontal .card-body {
    display: flex;
    padding: 0;
    align-items: center;
    justify-content: flex-start;
    transition:all .2s ease-out;
}
.next-prev-prev.card-horizontal .card-body:before {
    font-family: "Font Awesome 5 Free";
    content: "\f053";
    font-weight: bold;
    position: absolute;
    font-size: 1.2rem;
    color: rgba(0,0,0,0.5);
    top: inherit;
    left: 1rem;
}
.next-prev-prev.card-horizontal.vk_post .card-body .vk_post_title a {
    display: block;
    padding: 1.5rem 1.0rem 1.5rem 3.5rem;
}

.next-prev-next.card-horizontal .card-body {
    display: flex;
    padding: 0;
    align-items: center;
    justify-content: flex-end;
    transition:all .2s ease-out;
}  
.next-prev-next.card-horizontal .card-body:before {
    font-family: "Font Awesome 5 Free";
    content: "\f054";
    font-weight: bold;
    position: absolute;
    font-size: 1.2rem;
    color: rgba(0,0,0,0.5);
    top: inherit;
    right: 1rem;
}
.next-prev-next.card-horizontal.vk_post .card-body .vk_post_title a {
    display: block;
    padding: 1.5rem 3.5rem 1.5rem 1.0rem;
}

/* ホバーの指定 */
.next-prev-prev.card-horizontal.vk_post .card-body .vk_post_title a:hover,
.next-prev-next.card-horizontal.vk_post .card-body .vk_post_title a:hover {
    color: var(--vk-color-primary);
}
.next-prev-prev.card-horizontal .card-body:hover:before{
    color: var(--vk-color-primary);
}
.next-prev-next.card-horizontal .card-body:hover:before{
    color: var(--vk-color-primary);
}

/* 画像ありの場合ホバー時に全体に背景色をつける */
.card-img-outer:hover ~ .col-7 .card-body{
    background: #fbf6eb;
    transition:all .5s ease-out;
}
.card-img-outer:hover ~ .col-7 .card-body a{
    color: var(--vk-color-primary);
}
.card-img-outer:hover ~ .col-7 .card-body:before{
    color: var(--vk-color-primary);
}
.card-img-outer ~ .col-7 .card-body:hover{
    background: #fbf6eb;
    color: var(--vk-color-primary);
}
.card-img-outer ~ .col-7 .card-body:hover:before{
    color: var(--vk-color-primary);
}

/******************************
    Contact Form 7
*******************************/
/*ContactForm7カスタマイズ*/
table.CF7_table{
	width:80%;
	margin:0 auto;
	border: 3px solid #e5e5e5;
}

table.CF7_table tr{
	border-top: 1px solid #e5e5e5;
}

.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table{
	display:table;
}

/*入力欄*/
.CF7_table input, .CF7_table textarea {
	border: 1px solid #d8d8d8;
}

.CF7_table ::placeholder {
	color:#797979;
}

/*「必須」文字*/
.CF7_req{
	font-size:.9em;
	padding: 5px;
	background: #f15b5b;
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}

/*「任意」文字*/
.CF7_unreq{
	font-size:.9em;
	padding: 5px;
	background: #337ab7;
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}

/* タイトル列 */
@media screen and (min-width: 768px){
	.CF7_table th{
	width:30%;/*横幅*/
	background-color:#f4f2ec;
	}
}

/* レスポンシブ */
@media screen and (max-width: 768px){
	table.CF7_table{
	width:95%;
	}
	.CF7_table tr, .CF7_table td, .CF7_table th{
	display: block;
	width: 100%;
	line-height:2.5em;
	}
	.CF7_table th{
	background-color:#f4f2ec;
	}
}

/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
	background-color:#de6f00;
	border:0;
	color:#fff;
	font-size:1.2em;
	font-weight:bold;
	margin:0 auto;
}

.CF7_btn{
	text-align:center;
	margin-top:20px;
}

.wpcf7-spinner{
	width:0;
	margin:0;
}

/* Google reCAPTCHA バッチ非表示 関連対応 */
.grecaptcha-badge { visibility: hidden; }
.grecaptcha-desc { font-size: .8rem; color:grey; margin:2rem 0;}

@media screen and (min-width:992px) {
    .table-fake__th{
        border-right:1px solid #888;
    }
    
    .table-fake-normal .table-fake__tr{
        display:table;
        width:100%;
    }
    .table-fake-normal .table-fake__th,
    .table-fake-normal .table-fake__td{
        display:table-cell;
        vertical-align:top;
    }
    .table-fake-normal .table-fake__th{
        width:28%;
    }
    .table-fake-normal .table-fake__td{
        width:68%;
    }
}


/******************************
    ヘッダー（header）
*******************************/
.site-header{
    box-shadow:inherit;
}
.site-header-logo img{
    max-height:inherit;
}

.global-nav-list>li:hover .global-nav-description,
.global-nav-list>li[class*=current] .global-nav-description{
    opacity:1
}
.global-nav-list>li:hover:before,
.global-nav-list>li[class*=current]:before{
    width:100%
}
.global-nav-list>li:before{
    position:absolute;
    left:0;
    bottom:0;
    content:"";
    width:0;
    border-bottom:1px solid var(--vk-color-primary);
    transition:all .5s ease-out;
}
.global-nav-list>li.menu-item-has-children::after{
    transition:all .2s ease-out;
    content:"";
    position:absolute;
    padding:0;
    bottom:-10px;
    left:50%;
    transform:translateX(-50%);
    border:10px solid transparent;
    z-index:1000;
    opacity:0;
    border-bottom-color:var(--vk-color-primary);
}
.device-pc .global-nav-list>li.menu-item-has-children:hover::after,
.global-nav-list>li.acc-parent-open::after{
    opacity:1;
    bottom:1px
}
.global-nav-list>li.acc-parent-close::after{
    opacity:0;
}
.global-nav-list>li>ul.sub-menu{
    margin-top:-1px;
}
.global-nav-list ul li a:hover{
    background-color:var(--vk-color-primary);
}

.global-nav-list>li .global-nav-name {
    color:#fff;
}

.global-nav--layout--penetration {
    background: #005725;
}

.global-nav-list>li:before {
    border-bottom: 1px solid #fff;
}

.global-nav--layout--penetration .global-nav-list>li {
    border-right: 1px solid #fff;
}

@media (min-width: 992px) {
    .header_scrolled.admin-bar .site-header {
   background: #005725;
    }
}

/******************************
    フッター（footer）
*******************************/
.footer-logo{
    width: 60%;
}
.footer-address{
    font-size: 20px;
    font-style: normal;
}
.footer-sns a{
    margin-right: 20px;
}
.footer-nav{
    padding: 1em 0;
    line-height: 1;
}
.footer-nav ul{
    padding-left: 0;
}
.footer-nav li {
    padding: 0;
    list-style: none;
    margin: 0 0 20px;
    font-size: 20px;
}
@media (min-width: 576px){
    .footer-logo{
        width: inherit;
    }
}



/******************************
    モバイルナビ
*******************************/
.vk-mobile-nav{
    background-color: #fcf4e2;
}
.mobile_nav-sns .icon{
    display: inline;
    width: 100%;
    max-width: 60px;
}
.mobile_nav-sns .icon img{
    width: 100%;
    max-width: 85px;
}


/******************************
    トップページ
*******************************/
.front-body{
    padding: 2rem 0 2rem;
}
@media (min-width: 768px){
    .front-body {
        padding: 2.5rem 0 2.5rem;
    }
}
@media (min-width: 992px){
    .front-body {
        padding: 1rem 0 3.5rem;
    }
}


/* お問い合わせ */
.contact-inner{
    background: rgb(252,244,226);
    background: linear-gradient(90deg, rgba(252,244,226,1) 0%, rgba(216,230,148,1) 50%, rgba(233,228,148,1) 100%);
    padding: 20px 0 70px;
}
.contact-inner .contact-calling{
    font-size: 20px;
    text-align: center;
    margin-bottom: 30px;
}
.contact-inner  .contact-btn_area{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: stretch;
}
.contact-inner .btn_round{
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 500;
    width: 100%;
    max-width: 500px;
    color: #333;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
    margin: 10px;
}
.contact-inner .btn_round img{
    margin-bottom: 12px;
}
.contact-inner .btn_round:hover{
    background: #fbf6eb;
}
.contact-inner .btn_round.contact_mail{
    padding: 20px;
}
.contact-inner .btn_round.contact_mail .font-mail{
    font-size: 26px;
    line-height: 1.2;
}
.contact-inner .btn_round.contact_tel{
    padding: 10px 20px;
}
.contact-inner .btn_round.contact_tel .font-tel_text{
    font-size: 20px;
    display: block;
    line-height: 1;
}
.contact-inner .btn_round.contact_tel .font-tel_num{
    font-size: 45px;
    display: block;
    line-height: 1;
}
.contact-inner .btn_round.contact_tel .font-tel_text{
    font-size: 18px;
    display: block;
    line-height: 1;
}
@media (min-width: 768px){ 
    .contact-inner .btn_round img{
        margin-bottom: 0;
    }
    .contact-inner .btn_round.contact_mail{
        padding: 20px 35px;
    }
    .contact-inner .btn_round.contact_mail .font-mail{
        font-size: 30px;
    }
    .contact-inner .btn_round.contact_tel{
        padding: 10px 80px;
    }
}


/******************************
    サイトマップ
*******************************/
.li-site-map{
    padding-left:0;
    margin-bottom:3em;
}
.li-site-map li{
    list-style-type: none;
}
.li-site-map > li{
    font-size: medium;
    text-indent: 0;
    margin: 12px 0 18px;
}
.li-site-map > li > a{
    position: relative;
    display: block;
    border-bottom:1px dotted #888;
    padding-left:24px;
}
.li-site-map > li > a::after{
    content:"";
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-left-color: #fff;
    position: absolute;
    top:0;
    bottom:0;
    left:5px;
    margin:auto;
}
.li-site-map > li > a::before{
    content:"";
    width: 14px;
    height: 14px;
    background-color: #888;
    position: absolute;
    top:0;
    bottom:0;
    left:0;
    margin:auto;
    border-radius: 3px;
}
.li-site-map > li > ul {
    padding-left:0;
}
.li-site-map > li > ul > li{
    font-size: small;
    background: none;
    margin: 7px 0 0 0;
    padding: 1px 0 0 27px;
}
.li-site-map > li > ul > li > a{
    padding-left: 15px;
    line-height: normal;
    position: relative;
}
.li-site-map > li > ul > li > a::before{
    content:"";
    width: 0;
    height: 0;
    border: 4px solid transparent;
    border-left-color: #888;

    position: absolute;
    top:0;
    bottom:0;
    left:5px;
    margin:auto;
}
.li-site-map a{
    color: #666;
    text-decoration: none;
    display: inline-block;
    line-height: 32px;
}
