/*
Theme Name: Lightning Child
Theme URI:
Template: lightning
Description:
Author: Vektor,Inc.
Author URI: https://www.vektor-inc.co.jp
Tags:
Version: 0.6.1
*/


body, html {
    font-family: "m-plus-rounded-1p", Lato, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 400;
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6,
a,
li,
form,
tr,
p {
  letter-spacing: .05rem;
  font-family: "m-plus-rounded-1p", sans-serif;
  font-style: normal;
  transform: rotate(0.05deg);
   /* プロポーショナルメトリクスを有効化 */
  font-feature-settings: "palt" 1;
}
.small{font-size: .9rem;}
.btn-primary:active, .btn-primary:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled):focus, .btn.focus, .btn:focus {
    outline: 0;
    box-shadow: 0 0 0 .2rem rgb(255 0 29 / 25%);
}
.btn-primary:active, .btn-primary:focus, .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled):active
{background-color: #ee242b;}
.vk_button-color-custom a:hover, .editor-styles-wrapper .vk_button-color-custom a:hover
{opacity: .99;}
img {max-width: 100% !important;}
#vk-mobile-nav .vk_button .vk_button_link.btn{padding:.6em 1rem;}
@media (min-width: 992px) {
    .site-header--layout--nav-float .site-header-container {
        display: block;
    }
    .site-header--layout--sub-active .site-header-logo {
        float: left;
    }
        .site-header-logo {
        text-align: left;
        padding-top: .3rem;
        margin-bottom: .3rem;
        margin-left: 0;
    }
}
.site-header-sub {
    margin-top: .5rem;
    margin-bottom: 0rem;
    float: right;
    display: flex;
    padding-left: 2em;
}
.site-header-sub .contact-txt {
    line-height: 1.3em;
    text-align: left;
    margin-bottom: 0;
}

.site-header-sub .contact-txt span {
    display: block;
}
.site-header-sub .contact-txt-tel {
    font-size: 24px;
    letter-spacing: 1px;
    font-weight: 700;
    color: var(--vk-color-primary-dark);
}
.site-header-sub .contact-txt-catch, .site-header-sub .contact-txt-time {
    font-size: 11px;
    color: var(--vk-color-text-body);
}
.site-header-sub .contact-btn {
    padding-left: 1em;
	margin-right: .7rem;
}
.site-header-sub .contact-btn a{flex-direction: column;align-self: center;
padding: .5rem .8rem .7rem;
/*width: 220px;*/
line-height: 2.2;
font-weight: 500;
font-size:1.2rem;}
.site-header-sub .contact-btn span{
    display: block;
    color: #fff;
}
.contact-btn .btn.has-vk-color-custom-5-background-color:active, .contact-btn .btn.has-vk-color-custom-5-background-color:hover{background-color:#0077ea !important;}
.contact-btn .btn.has-vk-color-custom-5-background-color:focus{
    box-shadow: 0 0 0 .2rem rgb(17 137 255 / 25%)}
.global-nav--layout--penetration {
    width: auto;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    clear: both;
    border-top: 1px solid #2f2111;
}

.global-nav--layout--penetration .global-nav-list {
    width: calc(var(--vk-width-container) - var(--vk-width-container-padding) * 2);
    display: flex;
    margin-left: auto;
    margin-right: auto;
}
.vk-menu-acc {
    position: relative;
}
.global-nav-list {
    margin: 0 auto;
    padding: 0;
    display: flex;
    list-style: none;
    position: relative;
    width: -moz-min-content;
    width: min-content;
}
.global-nav-list>li .global-nav-name {
    font-size: 18px;}
.global-nav--layout--penetration .global-nav-list>li:first-child {
    border-left: 0 /*1px solid var(--vk-color-border-hr)*/;
}
.global-nav--layout--penetration .global-nav-list>li {
    width: 100%;
    border-right: 0 /*1px solid var(--vk-color-border-hr)*/;
}
.global-nav-list>li {
    float: left;
}
.vk-menu-acc li {
    position: relative;
    margin-bottom: 0;
}
.global-nav-list>li {
    text-align: center;
}
.global-nav-list li {
    margin: 0;
    list-style: none;
    line-height: 1.4;
    font-size: 12px;
    position: relative;
}
.global-nav-list>li:before {
    top:0;
    margin: auto;
    border-bottom: 0;
    height: 100%;
    background-color: #fff0f0;
}
.global-nav-list>li:hover, .global-nav-list>li:active, .global-nav-list>li:focus{
    background-color: #fff0f0;
}
/*hero-txt*/
p.obi{
    font-size:clamp(.9rem, 1.5vw, 1.1rem);
padding: 11px 0 10px;
line-height: 1.3;}

.posi-r{
    position: relative;
}
.fukidasi{
    position: absolute;
    top: 13px;
    left: -57px;
    width: 169px;
}

/*t-form*/
.t-form{padding-top: 20px;padding-left: 11px;}
.form-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -5px;
    margin-left: -5px;
}
.col, .form-row>.col, .form-row>[class*=col-] {
    padding-right: 5px;
    padding-left: 5px;
}
.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: 80%;
    color: #dc3545;
}
.form-control.is-invalid, .was-validated .form-control:invalid {
    border-color: #dc3545;
    padding-right: calc(1.5em + .75rem);
}
.is-invalid~.invalid-feedback, .is-invalid~.invalid-tooltip, .was-validated :invalid~.invalid-feedback, .was-validated :invalid~.invalid-tooltip {
    display: block;
}
.req, .any{
    font-weight: 600;
    font-size: .95rem;
    display: inline-block;
    border: 2px solid #ff232a;
    border-radius: 3px;
    padding: 0 7px;
    margin-right: 8px;
    margin-bottom: 8px;
}
.any{border: 2px solid #1586f4;}
.btn-tform, .btn-cform{
    background-color: #ff232a;
    font-size: clamp(1.2rem, 1.4rem, 1.6rem);
    font-weight: 600;
    width: 100%;
    color: #fff;
    text-align: center;
    margin: auto;
    padding: 1.5rem 1rem;
}
.btn-tform:hover, .btn-tform:focus{
    color: #fff;
    background-color: #ff232a;
}
.btn-cform{background-color: #1586f4;}
.btn-cform:hover, .btn-cform:focus{
    color: #fff;
    background-color: #2894ff;
	 box-shadow: 0 0 0 .2rem rgb(21 134 244 / 25%);
}
.shadow-sm{
    box-shadow:1px 1px 6px #5d5d5d;}
.private a{color: rgb(5, 127, 220);
text-decoration: underline;
}
.private a:hover, .private a:active, .private a:focus{
text-decoration: none;
}
.page-header {min-height: 6rem;}
@media (max-width: 1200px) {
    .fukidasi{width: 130px;}
}
@media (max-width: 991px) {
     .site-header-logo {padding-top: .8rem;}
    .site-header-sub {display: none;}
         .fukidasi{width: 110px;}
}
@media (max-width: 781px) {
.t-form{padding-top: 0;padding-left: 0;}}
@media (max-width: 767px) {
    .hero-bg img.wp-block-cover__image-background{display: none;}
	.page-header {min-height: 3rem;}
	.page-header-title, h1.page-header-title {font-size:1.5rem}
	.btn-tform{padding: 1rem .8rem;}
}
.ls-xs{letter-spacing: -.05rem;}
.ls-sm{letter-spacing: -.09rem;}
h2.resh2{font-size: clamp(1.3em, 1.5rem, 1.75rem);}
/*about*/
.about .wp-block-cover__image-background{
    right: 0;
    top:0;
    bottom:0;
    margin: auto 0;
    object-fit: contain;
}

.h-line {
   text-align: center; /* テキスト全体を中央寄せ */
  position: relative; /* 擬似要素の基準点にする */
  display: inline-block; /* 文字幅に合わせて中央寄せ */
  left: 50%;
  transform: translateX(-50%);
  padding-left: 40px; /* 線と文字の間隔 */
  margin-left: -30px;
}

.h-line::before {
content: ''; /* 擬似要素に必須 */
  position: absolute;
  top: 50%; /* 上から50%の位置 */
  left: 0; /* 左端に配置 */
  width: 25px; /* 線の長さ */
  height: 4px; /* 線の太さ */
  background-color: #ff390b; /* 線の色 */
  transform: translateY(-50%); /* 垂直中央に配置 */
  border-radius: 2px;
}
.logo-a{max-width:278px;}
.letter-box{
    padding: clamp(1.5rem, 3vw, 3rem);
}
.dashed-note {
    background-image: linear-gradient(180deg, #eee 1px, transparent 1px);
    background-size: 100% 2em;
    font-size: 18px;
    line-height: 2em;
    padding: 0 10px 1px;
}
.dashed-note p{
    font-size: 18px;
    line-height: 2em;
}
.dashed-note p{
    margin-top: 2em;
}
h3.resh3{font-size: clamp(1.2rem, 3vw, 1.5rem);}
h4.resh4{font-size: clamp(1.1rem, 2.5vw, 1.33rem);}
.reason-tit{
    max-width: 860px;
    width: 92%;
    margin-left: auto !important;
    margin-right: auto !important;
    position: relative;
    font-size: clamp(1.2rem, 3vw, 1.4rem);
}
.reason-tit::before{
     content: '';/*何も入れない*/
  display: inline-block;
  width: 102px;/*画像の幅*/
  height: 110px;/*画像の高さ*/
  background-image: url(./assets/images/rea-tit.png);
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  left:-10px;
  bottom: -2px;
}
.reasaon-tbox{
    padding: 0 1rem;
}
.reason-txt{padding: 20px 30px}
.kino-tbox{text-align: center;padding-bottom: 15px;}
.kino-t, .kino-s, .kino-k, .kino-h, .kino-p{
    margin: 15px auto 20px;
    display: inline-block;
    background-color:#FC4B51;
    color: #fff;
    padding: 2px 20px;
    text-align: center;
    border-radius: 25px;
}
.kino-s{background-color:#1586f4;}
.kino-k{background-color:#1ac841;}
.kino-h{background-color:#f68726;}
.kino-p{background-color:#0cc0ca;}

.triangle-down {
  width: 60px;
  height: 30px;
  background-color: #fff4ef; /* 三角形の色 */
  margin: -1px auto 0 !important; /* 中央に配置 */
  clip-path: polygon(50% 100%, 0 0, 100% 0); /* 下端の中央(50% 100%)、左上、右上 */
}
/*hikaku*/
.item-top{margin-top:15px !important;}
table.item td {
            background-color: #FC4B51;
            color: #fff;
            border-radius: 30px;
            text-align: center;
            padding: 8px 10px;
            display: block;
            margin: 1.8px auto;
            font-weight: 500;
        }

        table.item tr {
            margin: 0 auto;
            height: 55px;
            display: block;
        }

        .hikaku figure {
            margin: 0 auto;
            width: 98%;
        }

        .zippe-box {
            border: 4px solid #FC4B51 !important;
            border-collapse: separate;
            border-radius: 5px !important;
            min-width: 157px;
        }


        .zippe-box tr,
        .etc-box tr {
            height: 55px;
            background-color: #fff;
        }
                .zippe-box thead tr {
            background-color: #FC4B51;
            color: #fff;
            line-height: 1.4
        }

        .zippe-box tr:nth-child(even) {
            background-color: #ffe2db;
        }

        .etc-box tr:nth-child(even) {
            background-color: #f1f3f7;
        }

        .zippe-box tr.tr02,
        .etc-box tr.tr02 {
            height: 58px;
        }

        .zippe-box td,
        .etc-box td {
            line-height: 1.2;
            vertical-align: middle;
            text-align: center;
            padding: 1px 10px;
            width: 100%;
        }

        .etc-box {
            border: 4px solid #c4c9ce !important;
            border-collapse: separate;
            border-radius: 5px !important;
        }

        .etc-box thead tr{
            background-color: #e3e7eb;
            line-height: 1.4
        }

        .wp-block-group.hikaku {
            display: grid;
            /* 4等分する */
            grid-template-columns: 1fr 1fr 1fr 1fr;
            /* 必要に応じて間隔を設定 */
            gap: 10px;
            overflow: auto;
        }
        @media (max-width: 834px) {
            .item-top{margin-top:30px !important;}

            .zippe-box td,
            .etc-box td {
                padding: 1px 5px;
            }
        }
        .cost{position: relative;}
        .cost::before{
             content: "";
            position: absolute;
            top: -55px;
            left: -40px;
            width: 360px;
            height: 149px;
            background-image: url(./assets/images/ribbon.png);;
            background-size: contain;
            background-repeat: no-repeat;
        }
        .cost-waku{
        padding: 40px;
    }
@media (max-width: 781px) {
    .dashed-note, .dashed-note p {font-size: 1rem;}
    .reasaon-tbox{
    padding: 0;
}
    .reason-tit{width: 100%;}
.reason-tit::before{
  width: 80px;/*画像の幅*/
  height:100%;/*画像の高さ*/
  background-repeat: no-repeat;
}
.reason-txt{padding: 15px;}
    .cost-waku{
        padding: 20px 2px;
    }
         .wp-block-columns:not(.is-not-stacked-on-mobile)>.c-chk {
        flex-basis: auto !important;
    }
    .cost-box .wp-block-buttons>.wp-block-button {
    display: inline-block;
    margin: 0;
    width: 150px;}

:root :where(.is-layout-flex) {
    gap: 12px;
}
.cost-box .is-layout-flex {
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    justify-content: center;
}
.cost::before{
            top: -55px;
            left: -60px;
            width: 320px;
            height: 120px;}
.cost > div.wp-block-column:first-child{padding-top:50px !important;}
.cost-box .pb-size > a{padding-left: 0 !important; padding-right: 0 !important;}
}
/*****cta******/
.cta-catchbox {
  display: grid;
  /* PC用：5等分
  grid-template-columns: repeat(5, 1fr); */
  grid-template-columns: repeat(6, 1fr);
  justify-content: center;
  gap: 20px; /* アイテム間の隙間 */
  max-width: 1000px;
  margin: 0 auto;
}
.cta-item{/*background-color: #222;*/
border-radius: 20px;text-align: center;
padding: 6px;
border:2px solid#fff;
background-color:#fc444a;transform: rotate(0.05deg);}

.cta-catchbox .item01, .cta-catchbox .item02{grid-column: span 3;text-align: center;}
.cta-catchbox .item01, .cta-catchbox .item02{grid-column: span 3;text-align: center;}
.cta-catchbox .item03, .cta-catchbox .item04, .cta-catchbox .item05 {grid-column: span 2;text-align: center;}
.cta-catchbox .item01, .cta-catchbox .item02, .cta-catchbox .item03, .cta-catchbox .item04, .cta-catchbox .item05{width: 280px; margin: 0 auto;}
/* スマホ等（ブレイクポイントはお好みで調整） */
.cta-catchbox .item01{margin-left: 35%;}
.cta-catchbox .item02{margin-right: 35%;}
@media (max-width: 780px) {
/* --- 1行目の設定（3等分） --- */
  .cta-catchbox { grid-template-columns: repeat(6, 1fr);}
  .cta-catchbox .item01, .cta-catchbox .item02, .cta-catchbox .item03{
grid-column: span 2;text-align: center;
  }

/* --- 2行目の設定（2等分） --- */
.cta-catchbox .item04 {grid-column: span 3;text-align: center;}
.cta-catchbox .item05 {grid-column: span 3;text-align: center;}
}
.cta-sub{display:flex !important; align-items:center;justify-content: center;}
/**** qa****/
.vk_faq .vk_faq_title:before {
    color: #FC4B51;}
.vk_faq_content:before {
    color: #18b9e5 !important;
}

/**********footer************/
@media (min-width: 768px) {
    .col-lg-4.copyr:nth-child(1){flex: 0 0 30%;
        max-width: 30%;}
        .col-lg-4.copyr:nth-child(2){flex: 0 0 1%;
        max-width: 1%;}
    .col-lg-4.copyr:nth-child(3){flex: 0 0 60%;
        max-width: 60%;}
	.copyr p{text-align:right;}
}
@media (min-width: 992px) {
    .col-lg-4.copyr:nth-child(1), .col-lg-4.copyr:nth-child(3){
        flex: 0 0 45%;
        max-width: 45%;
    }
    .col-lg-4.copyr:nth-child(2){flex: 0 0 9%;
        max-width: 9%;}
    }

.copyr p{margin-bottom:0;letter-spacing: -.03rem;}

@media (max-width: 575px) {
    .h-line{margin-left:-5px;
    padding-left:25px;}
	.h-line::before {width:20px;}
	.logo-a{max-width:208px;}
	.cta-sub{flex-direction: column;}
}

input[type="checkbox"]{
    transform: scale(1.5);
    border:1px solid #5d5d5d;
}

/***404pege*******/
body.error404 .sub-section{display:none !important;}