@charset "utf-8";

/*
theme Name: Lightning Child(玄関マスター)
Author:Sora Tsukamoto
Template: lightning
version： 1.0.0
*/


/*--------------viwpoint--------*/


/*--------------color--------*/


/*--------------fonts--------*/


/*--------------mixins--------*/


/*--- safari（PC）用 ---*/

html {
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'メイリオ', Meiryo, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, sans-serif;
    font-size: 1.6rem;
}

a {
    opacity: 1;
    -webkit-transition: opacity 0.3s ease-in-out;
    -moz-transition: opacity 0.3s ease-in-out;
    -ms-transition: opacity 0.3s ease-in-out;
    -o-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
}

a:hover {
    opacity: 0.6;
    -webkit-transition: opacity 0.3s ease-in-out;
    -moz-transition: opacity 0.3s ease-in-out;
    -ms-transition: opacity 0.3s ease-in-out;
    -o-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
}

br.sp-pc.sp {
    display: block;
}

@media screen and (min-width: 768px) {
    br.sp-pc.sp {
        display: none;
    }
}

br.sp-pc.tab {
    display: block;
}

@media screen and (min-width: 991px) {
    br.sp-pc.tab {
        display: none;
    }
}

br.sp-pc.pc {
    display: none;
}

@media screen and (min-width: 768px) {
    br.sp-pc.pc {
        display: block;
    }
}

.siteHeader .description {
    display: none;
}

@media screen and (min-width: 991px) {
    .siteHeader .description {
        display: block;
        margin-bottom: 5px;
        font-size: 1.2rem;
    }
}

.siteHeader .navbar-header {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    /*--- IE10用 ---*/
}

.siteHeader .navbar-header .siteHeader_logo {
    padding-bottom: 10px;
    padding-right: 20px;
}

@media screen and (min-width: 1200px) {
    .siteHeader .navbar-header .siteHeader_logo {
        padding-bottom: 0px;
        max-width: 320px;
    }
}

.siteHeader .navbar-header .siteHeader_logo,
.siteHeader .navbar-header .siteHeader_logo img {
    max-height: 85px;
}

.siteHeader .navbar-header .header-navi {
    width: 100%;
    display: none;
}

@media screen and (min-width: 991px) {
    .siteHeader .navbar-header .header-navi {
        display: block;
        margin-top: 20px;
    }
}

@media screen and (min-width: 1200px) {
    .siteHeader .navbar-header .header-navi {
        max-width: calc(100% - 320px);
        margin-top: 0px;
    }
}

.siteHeader .navbar-header .header-navi .links {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    /*--- IE10用 ---*/
    width: 100%;
    max-width: 768px;
    margin-left: auto;
    margin-right: auto;
    border: 2px solid #e9042f;
    list-style-type: none;
    margin: 0 auto;
    padding: 0;
}

@media screen and (min-width: 1200px) {
    .siteHeader .navbar-header .header-navi .links {
        margin-right: 0;
    }
}

.siteHeader .navbar-header .header-navi .links li {
    margin-bottom: 0;
}

.siteHeader .navbar-header .header-navi .links .head {
    width: 100%;
    background-color: #e9042f;
    padding: 15px 10px;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .siteHeader .navbar-header .header-navi .links .head {
        max-width: 35%;
        height: 85px;
    }
}

.siteHeader .navbar-header .header-navi .links .head .text {
    color: #fff;
    font-weight: bold;
    font-size: 1.6rem;
}

.siteHeader .navbar-header .header-navi .links .tell {
    width: 100%;
    height: 85px;
    max-width: 50%;
}

@media screen and (min-width: 768px) {
    .siteHeader .navbar-header .header-navi .links .tell {
        max-width: 35%;
    }
}

.siteHeader .navbar-header .header-navi .links .tell a {
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(assets/img/header-tell.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}

.siteHeader .navbar-header .header-navi .links .mail {
    width: 100%;
    padding: 10px;
    height: 85px;
    max-width: 50%;
}

@media screen and (min-width: 768px) {
    .siteHeader .navbar-header .header-navi .links .mail {
        max-width: 30%;
    }
}

.siteHeader .navbar-header .header-navi .links .mail .caption {
    font-size: 1.2rem;
    font-weight: bold;
}

.siteHeader .navbar-header .header-navi .links .mail .btn {
    position: relative;
    display: block;
    width: 100%;
    background-color: #e9042f;
    padding: 10px;
    text-align: center;
}

.siteHeader .navbar-header .header-navi .links .mail .btn .fas {
    position: absolute;
    right: 10px;
    top: calc(50% - 10px);
    font-size: 2rem;
}

.siteHeader .navbar-header .header-navi .links .mail .btn span {
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    position: relative;
    width: 100%;
    display: block;
    width: 100%;
    padding-right: 10px;
}

.siteHeader .navbar-header .header-navi .links .mail .btn span::after {
    content: "";
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #fff;
    right: -5px;
    top: calc(50% - 10px);
}

.siteHeader .navbar-header .header-navi .links .mail .btn span::before {
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    right: -2px;
    top: calc(50% - 4px);
    border: 4px solid transparent;
    border-left: 4px solid #e9042f;
    z-index: 1;
}

.page-header {
    clear: both;
}

.page-header .page-header_pageTitle,
.page-header h1.page-header_pageTitle:first-child {
    margin: 0.6em 0;
    font-size: 3rem;
}

.gMenu_outer {
    width: 100%;
    background: #fff;
}

.gMenu_outer .gMenu {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
}

.gMenu_outer .gMenu .menu-item {
    float: none;
}

.author-info {
    padding: 0;
    margin-bottom: 20px;
}

.author-info .head {
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ccc;
}

.author-info .img {
    max-width: 240px;
    margin: 0 auto 20px;
}

.author-info .info .name {
    font-size: 1.8rem;
    font-weight: bold;
}

.author-info .info .caption {
    font-size: 1.2rem;
    font-weight: bold;
}

.siteContent_after .container {
    border-bottom: 2px dotted #222;
}

.siteContent_after .container .widget_ltg_full_wide_title_outer {
    padding-bottom: 0;
}

.siteFooter {
    background-image: url(assets/img/bg-footer.jpg);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: top center;
    background-color: #eee;
    padding-top: 140px;
    border-top: none;
    background-color: #eee;
}

.siteFooter .subSection-title {
    border-bottom: none;
    font-weight: bold;
}

.siteFooter .subSection-title::after {
    display: none;
}

.siteFooter .sectionBox {
    border-bottom: 2px dotted #222;
}

.siteFooter .sectionBox.copySection {
    border-bottom: none;
}

.siteFooter .menu-item {
    line-height: 1em;
}

.siteFooter .menu-item a {
    padding-left: 0;
}

.sidenavi .links {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.sidenavi .links .link a {
    display: block;
    margin-right: -8%;
}

.sidenavi .navi {
    border-top: 10px solid #e9042f;
    border-radius: 8px;
}

.sidenavi .navi nav {
    background-color: #eee;
    padding: 15px;
    margin-bottom: 20px;
    display: block;
}

.sidenavi .navi nav.primary {
    border-bottom: 1px solid #ccc;
    margin-bottom: 0;
}

.sidenavi .navi nav .head {
    font-weight: bold;
    font-size: 1.8rem;
    text-align: center;
}

.sidenavi .navi nav .head span {
    font-size: 2.2rem;
    color: #e9042f;
}

.sidenavi .navi nav .links .link {
    margin-bottom: 10px;
}

.sidenavi .navi nav .links .link.faq {
    margin-bottom: 20px;
}

.sidenavi .navi nav .links .link a {
    display: block;
    padding: 20px 15px;
    width: 100%;
    background-color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    color: #222;
    border-radius: 4px;
    padding-left: 60px;
    background-repeat: no-repeat;
    background-size: 25px;
    background-position: left 20px center;
}

.sidenavi .navi nav .links .link a.whoweare {
    background-image: url(assets/img/side-door.jpg);
}

.sidenavi .navi nav .links .link a.reason {
    background-image: url(assets/img/side-reason.jpg);
}

.sidenavi .navi nav.secondary .links .link a {
    position: relative;
    padding-left: 70px;
}

.sidenavi .navi nav.secondary .links .link a span {
    display: block;
    width: 50px;
    height: 50px;
    position: absolute;
    left: 10px;
    top: 10px;
    background-color: #e9042f;
    border-radius: 50%;
    color: #fff;
}

.sidenavi .navi nav.secondary .links .link a span::before {
    content: "安心";
    font-size: 1.2rem;
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    text-align: center;
}

.sidenavi .navi nav.secondary .links .link a span::after {
    font-size: 1.6rem;
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 5px;
    text-align: center;
}

.sidenavi .navi nav.secondary .links .link:nth-child(1) a span::after {
    content: "1";
}

.sidenavi .navi nav.secondary .links .link:nth-child(2) a span::after {
    content: "2";
}

.sidenavi .navi nav.secondary .links .link:nth-child(3) a span::after {
    content: "3";
}

.sidenavi .posts {
    margin-top: 20px;
}

.sidenavi .posts nav {
    width: 100%;
    display: block;
}

.sidenavi .posts nav .head {
    background-color: #e9042f;
    color: #fff;
    padding: 10px;
    font-size: 1.8rem;
}

.sidenavi .posts nav .links .link {
    border-bottom: 2px dotted #222;
}

.sidenavi .posts nav .links .link a {
    position: relative;
    padding: 20px 40px 20px 60px;
    font-size: 1.6rem;
    color: #222;
    font-weight: bold;
}

.sidenavi .posts nav .links .link a::after {
    content: "";
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #e9042f;
    left: 15px;
    top: calc(50% - 10px);
}

.sidenavi .posts nav .links .link a::before {
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    left: 23px;
    top: calc(50% - 4px);
    border: 4px solid transparent;
    border-left: 4px solid #fff;
    z-index: 1;
}

.sidenavi .posts nav .btn {
    /*background-color: #222;*/
    background-color: #e9042f;
    padding: 10px;
    color: #fff;
    font-size: 1.6rem;
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 240px;
    margin-top: 20px;
}

.page .page-header_pageTitle,
.page h1.page-header_pageTitle:first-child {
    margin: 0.6em 0;
    font-size: 3rem;
}

.page .mainSection {
    width: 100%;
}

.page .mainSection .buttons {
    margin-top: 20px;
    padding: 0;
}

.page .mainSection .buttons .btn {
    background-color: #222;
    display: block;
    font-size: 16px;
    color: #fff;
    position: relative;
    margin-bottom: 20px;
    padding: 10px;
}

.page .mainSection .buttons .btn::before {
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    right: 18px;
    top: calc(50% - 4px);
    border: 4px solid transparent;
    border-left: 4px solid #fff;
    z-index: 1;
}

.page .mainSection .cta {
    background-color: #eee;
}

.page .mainSection .cta .wrap {
    padding: 30px;
}

.page .mainSection .cta .wrap .logo {
    margin: 0 auto 20px;
    width: 100%;
    max-width: 330px;
}

.page .mainSection .cta .wrap .head {
    display: block;
    font-size: 3rem;
    color: #e9042f;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}

.page .mainSection .cta .wrap .cta-navi {
    display: block;
}

.page .mainSection .cta .wrap .cta-navi .links {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    /*--- IE10用 ---*/
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    max-width: 850px;
    background-color: #fff;
    padding: 20px 0;
    list-style-type: none;
}

.page .mainSection .cta .wrap .cta-navi .links .tell {
    width: 100%;
    height: 85px;
}

@media screen and (min-width: 768px) {
    .page .mainSection .cta .wrap .cta-navi .links .tell {
        max-width: 50%;
    }
}

.page .mainSection .cta .wrap .cta-navi .links .tell a {
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(assets/img/header-tell.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom -2px center;
}

.page .mainSection .cta .wrap .cta-navi .links .mail {
    width: 100%;
    padding: 10px;
    height: 85px;
}

@media screen and (min-width: 768px) {
    .page .mainSection .cta .wrap .cta-navi .links .mail {
        max-width: 50%;
    }
}

.page .mainSection .cta .wrap .cta-navi .links .mail .caption {
    display: block;
    width: 100%;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
}

.page .mainSection .cta .wrap .cta-navi .links .mail .btn {
    position: relative;
    display: block;
    width: 100%;
    max-width: 320px;
    background-color: #e9042f;
    padding: 10px;
    text-align: center;
    margin: 0 auto;
}

.page .mainSection .cta .wrap .cta-navi .links .mail .btn span {
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
}

.page .mainSection .cta .wrap .cta-navi .links .mail .btn::after {
    content: "";
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #fff;
    right: 15px;
    top: calc(50% - 10px);
}

.page .mainSection .cta .wrap .cta-navi .links .mail .btn::before {
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    right: 18px;
    top: calc(50% - 4px);
    border: 4px solid transparent;
    border-left: 4px solid #e9042f;
    z-index: 1;
}

.page .subSection {
    display: none;
}

.home .main {
    position: relative;
    background-image: url(assets/img/bg-main.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.home .main .img {
    width: 100%;
    margin: 0 auto;
}

.home .main .img .primary,
.home .main .img .secondary {
    width: 100%;
}

@media screen and (min-width: 768px) {
    .home .main .img .primary,
    .home .main .img .secondary {
        width: 50%;
    }
}

.home .main .img .primary img,
.home .main .img .secondary img {
    display: block;
    width: 100%;
    height: auto;
}

.home .main .img .primary {
    padding: 20px 0 0;
}

@media screen and (min-width: 768px) {
    .home .main .img .primary {
        padding: 40px 20px 0;
        padding-bottom: 60px;
    }
}

.home .main .img .secondary {
    position: relative;
    padding: 0;
}

@media screen and (min-width: 768px) {
    .home .main .img .secondary {
        padding: 40px 20px 0;
    }
}

.home .main .img .copy {
    margin: 30px 0;
    color: #fff;
}

.home .main .img .btn {
    position: relative;
    display: block;
    background-color: #e9042f;
    color: #fff;
    text-align: left;
    width: 200px;
    font-weight: bold;
    font-size: 2.1rem;
    margin: 40px auto;
}

@media screen and (min-width: 768px) {
    .home .main .img .btn {
        position: absolute;
        right: 20px;
        bottom: 80px;
        margin: 0;
    }
}

.home .main .img .btn .caption {
    font-size: 1.5rem;
}

.home .main .img .btn .caption::after {
    content: "";
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #fff;
    right: 5px;
    top: calc(50% - 10px);
}

.home .main .img .btn .caption::before {
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    right: 9px;
    top: calc(50% - 4px);
    border: 4px solid transparent;
    border-left: 4px solid #e9042f;
    z-index: 1;
}

.home .siteContent {
    padding-top: 85px;
}

.home .siteContent .home-section {
    padding-top: 85px;
    padding-bottom: 85px;
    border-bottom: 1px solid #ccc;
}

.home .siteContent .home-section h2 {
    text-align: center;
    font-weight: bold;
    font-size: 3.2rem;
    color: #e9042f;
    margin-bottom: 30px;
    padding: 0;
    border: none;
}

.home .siteContent .home-section h2 .head {
    font-size: 1.8rem;
    color: #222;
}

.home .siteContent .home-section h2 .caption {
    font-size: 1.6rem;
    color: #222;
    font-weight: normal;
}

.home .siteContent .home-section .row {
    margin: 0;
}

.home .siteContent .home-section.budget {
    padding-top: 0;
}

.home .siteContent .home-section.budget .container {
    padding: 0;
}

.home .siteContent .home-section.budget .container .row .column {
    text-decoration: none;
    color: #222;
    display: block;
    width: 100%;
    margin-bottom: 20px;
    padding-right: 5px;
    padding-left: 5px;
}

.home .siteContent .home-section.budget .container .row .column .price {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    /*--- IE10用 ---*/
    border-radius: 8px 8px 0 0;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    padding: 20px 20px 0;
}

.home .siteContent .home-section.budget .container .row .column .price .img {
    width: 30%;
}

.home .siteContent .home-section.budget .container .row .column .price .img img {
    display: block;
}

.home .siteContent .home-section.budget .container .row .column .price .priceinfo {
    width: 70%;
    font-weight: bold;
    text-align: center;
    padding: 0 0 0 10px;
    border-bottom: 1px solid #ccc;
}

.home .siteContent .home-section.budget .container .row .column .price .priceinfo .caption {
    font-size: 1.5rem;
    color: #e9042f;
}

@media screen and (min-width: 1200px) {
    .home .siteContent .home-section.budget .container .row .column .price .priceinfo .caption {
        font-size: 1.2rem;
    }
}

.home .siteContent .home-section.budget .container .row .column .price .priceinfo .num {
    font-size: 6.7rem;
    color: #e9042f;
}

@media screen and (min-width: 1200px) {
    .home .siteContent .home-section.budget .container .row .column .price .priceinfo .num {
        font-size: 4rem;
    }
}

.home .siteContent .home-section.budget .container .row .column .price .priceinfo .unit {
    font-size: 1.8rem;
}

.home .siteContent .home-section.budget .container .row .column .btn {
    position: relative;
    width: 100%;
    background-color: #e9042f;
    color: #fff;
    padding: 15px 0;
    border-radius: 0 0 8px 8px;
    font-size: 1.6rem;
    position: relative;
}

.home .siteContent .home-section.budget .container .row .column .btn span {
    display: block;
    width: 100%;
}

.home .siteContent .home-section.budget .container .row .column .btn span::after {
    content: "";
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #fff;
    right: 14px;
    top: calc(50% - 10px);
}

.home .siteContent .home-section.budget .container .row .column .btn span::before {
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    right: 17px;
    top: calc(50% - 4px);
    border: 4px solid transparent;
    border-left: 4px solid #e9042f;
    z-index: 1;
}

.home .siteContent .home-section.popular {
    padding-top: 85px;
}

.home .siteContent .home-section.popular .container {
    padding: 0;
}

.home .siteContent .home-section.popular .container .row .column {
    width: 100%;
    padding: 0 20px;
}

.home .siteContent .home-section.popular .container .row .column a {
    display: block;
    color: #222;
}

.home .siteContent .home-section.popular .container .row .column a:hover {
    text-decoration: none;
}

.home .siteContent .home-section.popular .container .row .column a .head {
    font-size: 1.8rem;
    color: #e9042f;
    text-align: center;
    font-weight: bold;
    margin-bottom: 15px;
    background-repeat: no-repeat;
    background-size: 24px;
    background-position: top center;
    padding: 0;
    padding-top: 20px;
    border: none;
}

.home .siteContent .home-section.popular .container .row .column a .head::after {
    display: none;
}

.home .siteContent .home-section.popular .container .row .column a .head .num {
    font-size: 2.4rem;
}

.home .siteContent .home-section.popular .container .row .column a .img {
    margin-bottom: 15px;
    text-align: center;
}

.home .siteContent .home-section.popular .container .row .column a .img img {
    max-height: 170px;
}

.home .siteContent .home-section.popular .container .row .column a .text {
    font-size: 1.4rem;
}

.home .siteContent .home-section.popular .container .row .column a:nth-child(1) .head {
    background-image: url(assets/img/rank1.jpg);
}

.home .siteContent .home-section.popular .container .row .column a:nth-child(2) .head {
    background-image: url(assets/img/rank2.jpg);
}

.home .siteContent .home-section.popular .container .row .column a:nth-child(3) .head {
    background-image: url(assets/img/rank3.jpg);
}

.home .siteContent .home-section.popular .container .row .column a:nth-child(4) .head {
    background-image: url(assets/img/rank4.jpg);
}

.home .siteContent .home-section.frame .container {
    padding: 0;
}

.home .siteContent .home-section.frame .container .row {
    margin-bottom: -40px;
}

.home .siteContent .home-section.frame .container .row .column {
    margin-left: 0;
    text-align: center;
    width: calc(100% / 3);
    margin-bottom: 40px;
}

@media screen and (min-width: 768px) {
    .home .siteContent .home-section.frame .container .row .column {
        width: calc(100% / 6);
    }
}

.home .siteContent .home-section.frame .container .row .column a {
    display: block;
    color: #222;
}

.home .siteContent .home-section.frame .container .row .column a:hover {
    text-decoration: none;
}

.home .siteContent .home-section.frame .container .row .column a .img {
    margin-bottom: 15px;
}

.home .siteContent .home-section.frame .container .row .column a .title span {
    position: relative;
}

.home .siteContent .home-section.frame .container .row .column a .title span::after {
    content: "";
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #e9042f;
    left: -30px;
    top: calc(50% - 10px);
}

.home .siteContent .home-section.frame .container .row .column a .title span::before {
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    left: -22px;
    top: calc(50% - 4px);
    border: 4px solid transparent;
    border-left: 4px solid #fff;
    z-index: 1;
}

.home .siteContent .home-section.design .container {
    padding: 0;
}

.home .siteContent .home-section.design .container .row {
    margin-bottom: -40px;
}

.home .siteContent .home-section.design .container .row .column {
    width: 25%;
    margin-left: 0;
    text-align: center;
    margin-bottom: 40px;
}

.home .siteContent .home-section.design .container .row .column a {
    display: block;
    color: #222;
}

.home .siteContent .home-section.design .container .row .column a:hover {
    text-decoration: none;
}

.home .siteContent .home-section.design .container .row .column a .img {
    margin-bottom: 15px;
}

.home .siteContent .home-section.design .container .row .column a .title span {
    position: relative;
}

.home .siteContent .home-section.design .container .row .column a .title span::after {
    content: "";
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #e9042f;
    left: -30px;
    top: calc(50% - 10px);
}

.home .siteContent .home-section.design .container .row .column a .title span::before {
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    left: -22px;
    top: calc(50% - 5px);
    border: 4px solid transparent;
    border-left: 4px solid #fff;
    z-index: 1;
}

@media screen and (min-width: 1200px) {
    .home .siteContent .home-section.design .container .row .column {
        width: calc(100% / 7);
    }
}

.home .siteContent .home-section.size>.row .primary,
.home .siteContent .home-section.size>.row .secondary {
    width: 100%;
}

@media screen and (min-width: 768px) {
    .home .siteContent .home-section.size>.row .primary,
    .home .siteContent .home-section.size>.row .secondary {
        width: 49%;
    }
}

.home .siteContent .home-section.size>.row>.primary {
    font-size: 1.6rem;
    background-color: #f6f6f6;
    padding: 35px 45px;
    margin-bottom: auto;
}

.home .siteContent .home-section.size>.row>.primary .head {
    text-align: center;
    font-weight: bold;
    margin-bottom: 25px;
}

.home .siteContent .home-section.size>.row>.primary .img {
    margin-bottom: 20px;
}

.home .siteContent .home-section.size>.row>.secondary {
    padding: 20px;
}

@media screen and (min-width: 768px) {
    .home .siteContent .home-section.size>.row>.secondary {
        padding: 35px 45px;
    }
}

.home .siteContent .home-section.size>.row>.secondary .head {
    font-weight: bold;
    margin-bottom: 25px;
    line-height: 2rem;
}

.home .siteContent .home-section.size>.row>.secondary .form .primary,
.home .siteContent .home-section.size>.row>.secondary .form .secondary {
    width: 49%;
}

@media screen and (min-width: 1000px) {
    .home .siteContent .home-section.size>.row>.secondary .form .primary,
    .home .siteContent .home-section.size>.row>.secondary .form .secondary {
        width: 100%;
    }
}

@media screen and (min-width: 1200px) {
    .home .siteContent .home-section.size>.row>.secondary .form .primary,
    .home .siteContent .home-section.size>.row>.secondary .form .secondary {
        width: 49%;
    }
}

.home .siteContent .home-section.size>.row>.secondary .form .primary {
    margin-bottom: 20px;
    text-align: right;
    padding: 15px 20px 0px 0;
    font-weight: bold;
}

@media screen and (min-width: 1000px) {
    .home .siteContent .home-section.size>.row>.secondary .form .primary {
        padding: 25px 20px 25px 0;
        margin-bottom: 0;
    }
}

@media screen and (min-width: 1200px) {
    .home .siteContent .home-section.size>.row>.secondary .form .primary {
        padding: 0px 20px 25px 0;
    }
}

.home .siteContent .home-section.size>.row>.secondary .form .width {
    background-image: url(assets/img/width.jpg);
    background-repeat: no-repeat;
    background-size: 63px;
    background-position: left top;
    padding-top: 0px;
    padding-bottom: 20px;
    padding-left: 70px;
}

.home .siteContent .home-section.size>.row>.secondary .form .height {
    background-image: url(assets/img/height.jpg);
    background-repeat: no-repeat;
    background-size: 21px;
    background-position: left center;
    padding: 30px 0 30px 40px;
}

.home .siteContent .home-section.size>.row>.secondary .form input {
    padding: 20px;
    font-size: 1.6rem;
}

.home .siteContent .home-section.size>.row>.secondary .form .btn {
    padding: 15px 30px;
    background-color: #e9042f;
    color: #fff;
    display: block;
    margin: 20px auto 0;
    font-size: 1.6rem;
}

.home .siteContent .home-section.brand .container {
    padding: 0;
}

.home .siteContent .home-section.brand .container .row .column {
    padding: 0 5px;
}

.home .siteContent .home-section.brand .container .row .column a {
    display: block;
}

.home .siteContent .home-section.brand .container .row .column:nth-child(1) .img {
    background-image: url(assets/img/brand01.jpg);
}

.home .siteContent .home-section.brand .container .row .column:nth-child(2) .img {
    background-image: url(assets/img/brand02.jpg);
}

.home .siteContent .home-section.brand .container .row .column .img {
    width: 100%;
    border: 1px solid #ccc;
    background-repeat: no-repeat;
    background-size: 50%;
    background-position: center center;
    padding-top: 65%;
}

.home .siteContent .home-section.blog .links {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.home .siteContent .home-section.blog .links .link .post {
    display: block;
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-justify-content: space-between;
    /* Safari */
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    /*--- IE10用 ---*/
    margin-bottom: 20px;
    color: #222;
}

.home .siteContent .home-section.blog .links .link .post:hover {
    text-decoration: none;
}

.home .siteContent .home-section.blog .links .link .post .image_wrap {
    width: 100%;
    max-width: 25%;
    position: relative;
}

.home .siteContent .home-section.blog .links .link .post .image_wrap .img {
    width: 100%;
    padding-top: 100%;
    background-image: url(assets/img/logo.png);
    background-repeat: no-repeat;
    background-size: 80%;
    background-position: center center;
}

.home .siteContent .home-section.blog .links .link .post .image_wrap img {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.home .siteContent .home-section.blog .links .link .post .info {
    width: 100%;
    max-width: 70%;
}

.home .siteContent .home-section.blog .links .link .post .info .title {
    font-size: 2rem;
}

.home .siteContent .home-section.blog .btn {
    display: block;
    max-width: 240px;
    background-color: #e9042f;
    font-size: 1.6rem;
    text-align: center;
    width: 100%;
    margin: 0 auto;
    color: #fff;
}

.home .siteContent .home-section.area {
    padding: 10px;
    background-color: #fcfcdd;
    border: solid 16px #c4d830;
    background-image: url(assets/img/aichi.png);
    background-repeat: no-repeat;
    background-size: 40%;
    background-position: right 10% top 10%;
}

@media screen and (min-width: 768px) {
    .home .siteContent .home-section.area {
        padding: 50px 70px;
    }
}

.home .siteContent .home-section.area h2 {
    text-align: left;
}

.home .siteContent .home-section.area .caption {
    font-size: 2.6rem;
    font-weight: bold;
}

.home .siteContent .home-section.area .btn {
    position: relative;
    display: block;
    max-width: 340px;
    margin-bottom: 30px;
    color: #e9042f;
    color: #fff;
    font-size: 1.4rem;
    background-color: #e9042f;
    padding: 20px 0;
}

@media screen and (min-width: 479px) {
    .home .siteContent .home-section.area .btn {
        font-size: 1.6rem;
    }
}

.home .siteContent .home-section.area .btn::after {
    content: "";
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #fff;
    right: 10px;
    top: calc(50% - 10px);
}

@media screen and (min-width: 479px) {
    .home .siteContent .home-section.area .btn::after {
        right: 30px;
    }
}

.home .siteContent .home-section.area .btn::before {
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    right: 14px;
    top: calc(50% - 5px);
    border: 4px solid transparent;
    border-left: 4px solid #e9042f;
    z-index: 1;
}

@media screen and (min-width: 479px) {
    .home .siteContent .home-section.area .btn::before {
        right: 34px;
    }
}

.home .siteContent .home-section.area .area .head {
    font-weight: bold;
    font-size: 1.8rem;
    margin-bottom: 10px;
}

.home .siteContent .home-section.area .area ul {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    /*--- IE10用 ---*/
    list-style-type: none;
    padding-left: 0;
}

.home .siteContent .home-section.area .area ul li {
    padding-right: 10px;
    font-size: 1.3rem;
}

.home .siteContent .bannars .genkan-hikido {
    margin-top: 20px;
    margin-bottom: 20px;
}

.home .siteContent .bannars .genkan-katteguchi {
    margin-bottom: 20px;
}

.home .siteContent .bannars a {
    display: block;
}

.home .siteContent .cta {
    background-color: #eee;
}

.home .siteContent .cta .wrap {
    padding: 30px;
}

.home .siteContent .cta .wrap .logo {
    margin: 0 auto 20px;
    width: 100%;
    max-width: 330px;
}

.home .siteContent .cta .wrap .head {
    display: block;
    font-size: 3rem;
    color: #e9042f;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}

.home .siteContent .cta .wrap .cta-navi {
    display: block;
}

.home .siteContent .cta .wrap .cta-navi .links {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    /*--- IE10用 ---*/
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    max-width: 850px;
    background-color: #fff;
    padding: 20px 0;
    list-style-type: none;
}

.home .siteContent .cta .wrap .cta-navi .links .tell {
    width: 100%;
    height: 85px;
}

@media screen and (min-width: 768px) {
    .home .siteContent .cta .wrap .cta-navi .links .tell {
        max-width: 50%;
    }
}

.home .siteContent .cta .wrap .cta-navi .links .tell a {
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(assets/img/header-tell.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom -2px center;
}

.home .siteContent .cta .wrap .cta-navi .links .mail {
    width: 100%;
    padding: 10px;
    height: 85px;
}

@media screen and (min-width: 768px) {
    .home .siteContent .cta .wrap .cta-navi .links .mail {
        max-width: 50%;
    }
}

.home .siteContent .cta .wrap .cta-navi .links .mail .caption {
    display: block;
    width: 100%;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
}

.home .siteContent .cta .wrap .cta-navi .links .mail .btn {
    position: relative;
    display: block;
    width: 100%;
    max-width: 320px;
    background-color: #e9042f;
    padding: 10px;
    text-align: center;
    margin: 0 auto;
}

.home .siteContent .cta .wrap .cta-navi .links .mail .btn span {
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
}

.home .siteContent .cta .wrap .cta-navi .links .mail .btn::after {
    content: "";
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #fff;
    right: 15px;
    top: calc(50% - 10px);
}

.home .siteContent .cta .wrap .cta-navi .links .mail .btn::before {
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    right: 18px;
    top: calc(50% - 4px);
    border: 4px solid transparent;
    border-left: 4px solid #e9042f;
    z-index: 1;
}

.home .siteContent .videos {
    margin-top: 40px;
}

.home .siteContent .videos .col {
    margin-top: 20px;
}

.home .siteContent .buttons {
    margin-top: 20px;
}

.home .siteContent .buttons .btn {
    background-color: #222;
    display: block;
    font-size: 16px;
    color: #fff;
    position: relative;
    margin-bottom: 20px;
    padding: 10px;
}

.home .siteContent .buttons .btn::before {
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    right: 18px;
    top: calc(50% - 4px);
    border: 4px solid transparent;
    border-left: 4px solid #fff;
    z-index: 1;
}

@media (min-width: 992px) {
    .home .siteContent .mainSection.mainSection-col-two {
        width: 66.66667%;
    }
}

.home .siteContent .subSection {
    display: block;
}

.post-name-contact .entry-body input {
    padding: 10px;
    font-size: 1.6rem;
}

.post-name-contact .entry-body .btn {
    padding: 10px 40px;
    font-size: 2rem;
}

.post-type-archive .form {
    margin-bottom: 40px;
}

.post-type-archive .form .container {
    padding: 0;
    margin-bottom: 20px;
}

.post-type-archive .form .container select {
    font-size: 1.6rem;
}

.post-type-archive .form .submit {
    text-align: center;
}

.post-type-archive .form .submit .btn {
    padding: 10px 40px;
    font-size: 2rem;
}

.post-type-archive .postList .col {
    padding: 0 10px;
    margin-bottom: 20px;
}

.post-type-archive .postList .col a {
    display: block;
    border: 1px solid #ccc;
    border-radius: 4px;
    color: #222;
    padding: 15px;
}

.post-type-archive .postList .col a .main-img {
    margin-bottom: 10px;
    max-width: 120px;
    width: 100%;
    margin: 0 auto 20px;
}

.post-type-archive .postList .col a .main-img img {
    display: block;
    width: 100%;
    height: auto;
}

.post-type-archive .postList .col a .head {
    font-size: 1.8rem;
    line-height: 2.2rem;
    font-weight: bold;
    padding-bottom: 10px;
}

.post-type-archive .postList .col a .price {
    border-top: 1px solid #ccc;
    padding-top: 10px;
    font-size: 1.2rem;
}

.post-type-archive .postList .col a .price .num {
    font-size: 1.6rem;
}

.post-type-archive .postList .col a .btn {
    background-color: #222;
    color: #fff;
    margin: 0 auto;
    display: block;
    margin-top: 10px;
    font-size: 1.6rem;
}

.single-items .main-img {
    width: 100%;
    max-width: 240px;
    margin: 0 auto 20px;
}

.single-items .main-img img {
    display: block;
    width: 100%;
    height: auto;
}

.single-items .table {
    border-collapse: collapse;
    border-top: 1px solid #ccc;
    margin-bottom: 20px;
}

.single-items .table tr {
    border-bottom: 1px solid #ccc;
}

.single-items .table tr th,
.single-items .table tr td {
    padding: 15px;
    font-size: 1.8rem;
}

.single-items .table tr th {
    background-color: #c4d830;
    border: none;
    font-weight: bold;
    min-width: 120px;
}

@media screen and (min-width: 768px) {
    .single-items .table tr th {
        min-width: 180px;
    }
}

.single-items .table tr td {
    border: none;
}

.single-items .btn.contact {
    width: 100%;
    background-color: #e9042f;
    padding: 20px;
    color: #fff;
    font-size: 2rem;
    text-align: center;
    position: relative;
}

.single-items .btn.contact .caption {
    font-size: 1.4rem;
}

.single-items .btn.contact::after {
    content: "";
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #fff;
    right: 15px;
    top: calc(50% - 10px);
}

.single-items .btn.contact::before {
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    right: 18px;
    top: calc(50% - 4px);
    border: 4px solid transparent;
    border-left: 4px solid #e9042f;
    z-index: 1;
}

.home .siteContent .buttons .btn.blue {
    background: #043c78;
}

.home .siteContent .buttons .btn.blue2 {
    background-color: #f5f5f5;
    color: #0086BD;
    border: 1px solid #0086BD;
}

.home .siteContent .buttons .btn.blue2:before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 22px;
    background-image: url(assets/img/index-img-02.png);
    background-size: contain;
    vertical-align: middle;
    position: relative;
    border: none;
    right: auto;
    top: auto;
    margin-right: 5px;
}

.home .siteContent .buttons .btn.blue2::after {
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    right: 18px;
    top: calc(50% - 4px);
    border: 4px solid transparent;
    border-left: 4px solid #0086BD;
    z-index: 1;
}

.page .siteContent .buttons .btn.blue {
    background: #043c78;
}

.page .siteContent .buttons .btn.blue2 {
    background-color: #f5f5f5;
    color: #0086BD;
    border: 1px solid #0086BD;
}

.page .siteContent .buttons .btn.blue2:before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 22px;
    background-image: url(assets/img/index-img-02.png);
    background-size: contain;
    vertical-align: middle;
    position: relative;
    border: none;
    right: auto;
    top: auto;
    margin-right: 5px;
}

.page .siteContent .buttons .btn.blue2::after {
    display: block;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    right: 18px;
    top: calc(50% - 4px);
    border: 4px solid transparent;
    border-left: 4px solid #0086BD;
    z-index: 1;
}

.red {
    color: red;
}

.submit.btn.btn-primary {
    width: 70%;
}

.mgb5p {
    margin-bottom: 5%;
}

.mgt40 {
    margin-top: 40px;
}

.mgt20 {
    margin-top: 20px;
}

.mgt80 {
    margin-top: 80px;
}

.color-pattern ul li {
    list-style: none;
    width: 33%;
    float: left;
}

.home .siteContent .home-section .row {
    margin: 0;
    justify-content: center;
}