@charset "UTF-8";
/*
Theme Name: ZOOMY_child
Template: zoomy_tcd067
Theme URI:
Description: WordPressテーマ「ZOOMY」child
Author: Design Plus
Author URI: http://design-plus1.com/tcd-w/
Version: 2.12
Text Domain: tcd-w
*/

body{
    /* font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important; */
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
}

.dblock{display: block;}
p:empty{display: none;}

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

.pc-none{display: none;}

@media only screen and (min-width: 783px) {
    body.admin-bar {
        padding-top: 0px;
    }
}

@media screen and (max-width: 768px){
    #mouse-cursor{
      display:none;
    }
    .pc-none{
        display: block;
    }
    .sp-none{
        display: none;
    }
}


/*************************
/* flex-box
*************************/
.flex-box {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.flex-box-nowrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.flex-box-wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flex-box-row-rever {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.flex-box-space-b {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.flex-box-space-a {
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.flex-box-space-c {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.flex-box-item-c {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}


/*******************************
*中央寄せ
*******************************/
.center-type1 {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    height: 100%;
    text-align: center;
}

.center-type2 {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.center-type3 {
    position: absolute;
    top: 0%;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
}

.center-type4 {
    position: absolute;
    top: 50%;
    left: 0%;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
}


/*******************************
*アニメーション
*******************************/
.animated{
    opacity: 0;
    visibility: hidden;
    transform: translateY(30px);
    transition: opacity 2s, visibility 2s, transform 2s;
}

.is-fadein {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

@media only screen and (max-width: 767px) {
    .animated {
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: none;
    }
}


/*************************
/*btn
*************************/
.p-body .c-btn_color1{color: #fff;}
.p-body .c-btn_color1:hover{color: #fff;}
.p-body .c-btn{color: #fff;}
.c-btn:hover::after{border-color: #fff;}

.c-btn{
    display: inline-block;
    width: 100%;
    max-width: 350px;
    position: relative;
    /* background: #4D9BC1; */
    /* background-color: #0093c5; */
    background-color: #0fafaa;
    /* border: 2px solid #4D9BC1; */
    /* border: 2px solid #0093c5; */
    border: 2px solid #0fafaa;
    padding: 1em 2em;
    font-weight: bold;
    color: #fff;
    font-size: 1.125rem;
    text-decoration: none;
    text-align: center;
    line-height: 1.25;
    transition-duration: 0.3s;
    box-shadow: 5px 5px 5px 0 rgb(0 0 0 / 30%);
}

.c-btn:before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: rotate(45deg);
    position: absolute;
    margin-top: -5px;
    top: 50%;
    right: 20px;
}

.c-btn:hover {
    background: #fff;
    color: #4D9BC1;
}

.c-btn:hover:before {
    border-top: 2px solid #333;
    border-right: 2px solid #333;
}

.c-btn_bl{
    display: block;
    margin-inline: auto;
    height: auto;
}

@media only screen and (max-width: 767px) {
    .c-btn{
        padding-block: 1rem;
        height: auto;
    }
}


/*******************************
*layout
*******************************/
.inner{
    margin-left: auto;
    margin-right: auto;
    position: relative;
    width: 88.8888%;
    /* max-width: 1024px; */
    max-width: 1200px;
}

body.home .l-main{
    padding-bottom: 0;
}


/*******************************
*column
*******************************/
.c-col2{
    flex: 1 0 50%;
}

.img-colm2 > div{
    flex: 1 0 50%;
    padding: 5px;
}

.img-colm2 > div img{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/*******************************
*horizontal
*******************************/
.c-hn{
    position: relative;
    padding: 18rem 0 18rem;
}

.c-hn_img{
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #000000;
    top: 0;
    left: 0;
    z-index: 0;
}

.c-hn_img img{
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    opacity: 0.3;
}


/*******************************
*header
*******************************/
.l-header__bar a:hover{
    color: #000 !important;
}

.p-header__logo--retina img{
    max-width: 180px;
    width: 100%;
}

.p-sidemenu-categories-title__icon::before {
    content: "\e92f" !important;
}

.p-sidemenu-categories-title a{
    width: 100%;
}

.p-sidemenu-categories-title a:hover{
    color: #faff33 !important;
}

.p-header-member-menu > li{
    border-left: 1px solid #fff !important;
}


/*******************************
*nav
*******************************/
.menu-item{
    position: relative;
}

.menu-item a{
    display: block;
}

.menu-item span{
    position: absolute;
    right: 10%;
}


/*******************************
*footer
*******************************/
.p-pagetop{background-color: #233237;}
.p-pagetop a{color: #fff;}
.p-pagetop + .p-footer-widget-area {border-top: 1px solid #555;}

.p-footer-widget-area .widget_nav_menu a{
    position: relative;
    padding-left: 1rem;
    text-decoration: underline;
}

.p-footer-widget-area .widget_nav_menu a::before{
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    left: 0;
    margin-top: 6px;
}

.p-footer-widget-area #custom_html-2,
.p-footer-widget-area #custom_html-3,
.p-footer-widget-area #site_info_widget-3{
    flex: 0 0 40%;
}

.p-footer-widget-area #site_info_widget-3{
    order: 5;
}

.footer-nav nav > ul > li > span{
    border-bottom: 1px solid #ccc;
}

.footer-nav .sub-menu{
    padding-left: 0;
}

.footer-nav .sub-menu > li{
    position: relative;
    padding-left: 1rem;
}

.footer-nav .sub-menu > li a:before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: rotate(45deg);
    position: absolute;
    margin-top: -5px;
    top: 14px;
    left: 0px;
}

.footer-nav .sub-menu > li a:hover:before{
    border-color: #009691;
}

.p-siteinfo__logo img{
    max-width: 180px;
    width: 100%;
}

.p-siteinfo__desc{
    margin-top: 0 !important;
    margin-bottom: 0.2rem;
    color: #fff;
    font-size: 1.125rem;
}

.p-copyright{
    border-top: 1px solid #555;
}

@media only screen and (max-width: 991px){
    .p-siteinfo__desc{
        font-size: 0.8rem;
    }
}

@media only screen and (max-width: 480px){
    .p-copyright{
        padding-block: 0.5rem;
    }
    .p-copyright__inner {
        height: auto;
    }
}


/*******************************
*banner
*******************************/
.code-block{
    margin: 0px 0 0px auto !important;
}

#floating-banner {
  position: fixed;
  right: 0px;
  bottom: 20px;
  z-index: 9999;
  width: 300px;
}

#floating-banner a{
    display: block;
}

#floating-banner a::before{
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}

#floating-banner a:hover::before {
  opacity: 1;
}

#floating-banner img {
  width: 100%;
  height: auto;
}

.index-banner{
    max-width: 800px;
    margin: 20px auto;
}

@media only screen and (max-width: 767px){
    #floating-banner{
        display: none;
    }
}


/*******************************
*youtube
*******************************/
.youtube{text-align: center;}

@media only screen and (max-width: 960px) {
    .youtube{
        width: 90%;
        margin: 0 auto;
    }
    .youtube iframe{
        max-width: 100%;
    }
}

@media only screen and (max-width: 767px) {
    .youtube{
        position: relative;
        width: 100%;
        padding-top: 56.25%;
    }
    .youtube iframe{
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
    }
}


/*******************************
*animation
*******************************/
.inmove.move-side::before{
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0px;
    left: 0px;
    transform: translate3d(0, 0, 0);
    z-index: 50;
    pointer-events: none;
}

.home-coose-content_box.inmove.move-side::before{
    background: transparent;
}

.animate.move-side::before{
    transform: translate3d(100%, 0, 0);
    transition: transform 1.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.move-up{
    transform: translate3d(0, 100%, 0);
    opacity: 0;
    transition: transform 0.7s ease, opacity 0.9s ease;
}

.animate.move-up{
    transform: translate3d(0, 0, 0);
    opacity: 1;
}


/*******************************
*catchphrase
*******************************/
#site_loader_overlay_for_catchphrase {
    position: relative;
    overflow: hidden;
    pointer-events: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    z-index: 99998;
    background: #000000;
}

#site_loader_overlay_for_catchphrase.active {
    transform: translate3d(0, -100%, 0);
    transition: transform 0.7s cubic-bezier(.83,0,.17,1) 0.5s;
}

.catch-text {
    opacity: 0;
    text-align: center;
    line-height: 1.8;
    padding: 0 100px;
    font-size: 24px;
    color: #ffffff;
    font-feature-settings: "palt";
}

.catch-text > span{
    font-size: 2.75rem;
    font-weight: bold;
}

#site_loader_overlay_for_catchphrase.start_loading .catch-text {
    opacity: 1;
    transition: opacity 1.0s ease 0.5s;
}

@media only screen and (max-width: 767px){
    .catch-text {
        padding: 0 25px;
        font-size: 20px;
    }
    .catch-text > span{
        font-size: 2rem;
    }
}

@media only screen and (max-width: 450px){
    .catch-text {
        padding: 0 15px;
        font-size: 18px;
    }
    .catch-text > span{
        font-size: 1.5rem;
    }
}


/*******************************
*slider
*******************************/
.p-index-slider__item.is-active .p-header-content__inner > * {
    transition-duration: 0.5s;
}

.p-index-slider__item.is-active .p-header-content__inner > *:nth-child(1){
    transition-delay: 0.25s;
}

.p-index-slider__item.is-active .p-header-content__inner > *:nth-child(2){
    transition-delay: 1.25s;
}

.p-index-slider__item.is-active .p-header-content__inner > *:nth-child(3){
    transition-delay: 2.25s;
}

.p-index-slider__item--1 .p-header-content__catch{
    font-weight: 900;
}

.p-header-content__desc::after{
    content: 'マンション・オフィスビル・ホテルなどにも対応';
    display: block;
    font-size: 1.125rem;
}

.p-header-content__btn{
    margin-top: 2rem;
}

.p-header-content__btn > div{
    justify-content: center;
    gap: 50px;
}

.p-header-content__btn-item{
    max-width: 300px;
    width: 100%;
}

.p-header-content__btn-item a{
    color: #fff;
    font-size: 1.125rem;
    display: block;
    /* background-color: #5286b3; */
    padding: 1.188rem 2.5rem;
    box-shadow: 5px 5px 5px 0 rgb(0 0 0 / 30%);
    cursor: pointer;
    pointer-events: auto;
}

.p-header-content__btn-item:nth-child(1) a{
    background-color: #00A8CC;
    border-color: #00A8CC;
}

.p-header-content__btn-item:nth-child(2) a{
    background-color: #0C7B93;
    border-color: #0C7B93;
}

.p-header-content__btn-item:nth-child(3) a{
    background-color: #142850;
    border-color: #142850;
}

.p-header-content__btn-item a:hover{
    color: #414141;
}

@media only screen and (max-width: 767px) {
    .home #cb_1::after{
        border-left-width: 40px !important;
        border-right-width: 40px !important;
        border-bottom: calc(tan(60deg)* 40px) solid #333 !important;
    }
    .p-header-content__catch{
        font-size: 24px !important;
    }
    .p-header-content__desc::after{
        font-size: 14px;
    }
    .p-header-content__btn > div {
        flex-direction: column;
        gap: 1rem 0;
    }
    .p-header-content__btn-item{
        margin-inline: auto;
    }
}


/*******************************
*scrolldown
*******************************/
/*スクロールダウン全体の場所*/
.scrolldown1{
    /*描画位置※位置は適宜調整してください*/
	position: absolute;
	top: 0%;
	left: 5%;
    /* left: 50%; */
    /*矢印の動き1秒かけて永遠にループ*/
	animation: arrowmove 1s ease-in-out infinite;
}

/*下からの距離が変化して全体が下→上→下に動く*/
@keyframes arrowmove{
      0%{bottom:1%;}
      50%{bottom:3%;}
     100%{bottom:1%;}
 }

/*Scrollテキストの描写*/
.scrolldown1 span{
    /*描画位置*/
	position: absolute;
	left: -35px;
	bottom: 10%;
    /*テキストの形状*/
	color: #eee;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 矢印の描写 */
.scrolldown1:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom: 10%;
    right: -6px;
    /*矢印の形状*/
    width: 1px;
    height: 20px;
    background: #eee;
    transform: skewX(-31deg);
}

.scrolldown1:after{
	content:"";
    /*描画位置*/
	position: absolute;
	bottom: 10%;
	right: 0;
    /*矢印の形状*/
	width: 1px;
	height: 70px;
	background:#eee;
}

@media only screen and (max-width: 960px){
    .scrolldown1{
        display: none;
    }
}


/*******************************
*title
*******************************/
.home .l-main h2{
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    font-size: 4rem;
    font-weight: 900;
    font-feature-settings: "palt";
}

.home .l-main h2 + p{font-size: 1.25rem;}

.home .color-main{
    color: #00A8CC;
    color: #0C7B93;
    color: #0fafaa;
}

.home .color-w{color: #fff;}
.home .text-size-l{font-size: 6rem;}


/*******************************
*home
*******************************/
.home .p-cb__item--photo > .p-cb__item-inner{
    margin-left: auto;
    margin-right: auto;
    position: relative;
    width: 88.8888%;
    max-width: 1200px;
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
}

.home .l-main .p-blog-archive__item-title{
    margin-bottom: 0;
    padding-bottom: 0;
    font-size: 18px;
    font-weight: 600;
}

.font-base{
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
}

.font-ttl-size1,
.font-ttl-size1 span{
    display: block;
    font-size: 3rem !important;
}

.text-font1{font-size: 2rem !important;}

.home .p-cb__item:last-of-type{margin-bottom: 6.25rem;}

.home-content-inline1{
    padding-top: 6.25rem;
    padding-bottom: 6.25rem
}

.home-content-inline2{
    padding-top: 6.25rem;
    padding-bottom: 12.5rem;
}

/* home-worries-list */
.home-worries-list h2 > span{font-size: 6rem;}
.home-worries-list h3{font-size: 2.125rem;}
.home-worries-list ul{background-color: transparent !important;}

.home-worries-list ul li{
    color: #fff;
    font-size: 1.25rem;
}

.home-worries-list .card-type1{
    gap: 30px;
    padding-inline: 3rem;
    margin-bottom: 6.125rem;
}

.home-worries-list .card-type1 > div{
    background-color: #0C7B93;
    background-color: #0fafaa;
    position: relative;
    padding: 1.5rem;
    width: calc(25% - 23px);
}

.home-worries-list .card-type1 > div h3{
    margin-bottom: 0.5rem;
    color: #233237;
    background-color: transparent;
}

.home-worries-list .card-type1 > div h3 > span{
    display: block;
    color: #bbbe3b;
    color: #faff33;
    font-size: 1.125rem;
    font-weight: 900;
}

.home-worries-list .card-type1 > div h3::before{
    content: none;
}

.home-worries-list .card-type1 > div h3 > i{
    /* display: none; */
    color: #bbbe3b;
    color: rgb(255 255 255 / 60%);
}

.home-worries-list .card-type1 > div ul{
    box-shadow: none;
    padding-block: 0;
}

.home-worries-list .card-type1 > div ul li:not(:last-child) {
    margin-bottom: 0.5rem;
}

/* home-solution */
.home-solution div.copy{
    margin: 10rem auto 10rem;
}

.home-solution p{
    font-size: 2.75rem;
    letter-spacing: -1px;
    line-height: 1.75;
    width: fit-content;
    margin-bottom: 5rem;
}

.home-solution p:not(:last-of-type){
    margin-bottom: 0;
}

.home-solution p > span.font-size-l{font-size: 4rem;}

.home-solution p > span.tag{
    display: inline-block;
    padding: 1.5rem 2rem;
    margin-right: 1rem;
    color: #fff;
    font-size: 2.5rem;
    background-color: #0fafaa;
    line-height: 1;
}

.home-solution ul{margin-left: 0;}

.home-solution ul li{
    margin-bottom: 1rem;
    list-style: none;
    font-size: 1.5rem;
    line-height: 2;
}

.home-solution ul li > span{color: #ff4600 !important;}

/* home-specialist */
.home-specialist .img-colm3{margin-bottom: 3rem;}

.home-specialist h2 {
    text-align: center;
}

.home-specialist h2 > span{
    display: block;
    margin: 0 auto;
}

.home-specialist h2 > span:first-child{
    width: fit-content;
    padding: 1.5rem 3rem;
    color: #fff;
    background-color: #000;
}

.home-specialist h2 > span:nth-child(2) i{
    font-size: 5rem;
    /* color: rgb(255, 0, 0); */
}

.home-specialist h2 > span:last-child{
    padding: 1.5rem 3rem;
    width: fit-content;
    /* margin-left: auto; */
    border: 1px solid #000;
}

.home-specialist ol{
    margin-bottom: 0;
}

.home-specialist .well2{
    background-color: #f4faff;
    box-shadow: 5px 5px 10px 0px rgb(0 0 0 / 20%);
    border: transparent
}

/* home-about */
#cb_1,
#cb_3{
    background-image: url('https://select-b.jp/wp-content/uploads/2024/09/home-main-img0.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-blend-mode: overlay;
}

.home-about{margin-bottom: 6.125rem !important;}
.home-about h2 > span {font-size: 6rem;}

.home-about h2 + p{
    width: fit-content;
    margin-inline: auto;
    font-size: 1.75rem !important;
    line-height: 1.5;
}

.home-about h2 + p > span{font-size: 3rem !important;}

.home-about ul{
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 5rem;
    justify-content: center;
}

.home-about ul > li{
    width: calc(50% - 12px);
    max-width: 420px;
    letter-spacing: -1px;
    background-color: #233237;
    padding: 2rem 3rem;
    line-height: 1.5;
    color: #fff;
    font-size: 1.75rem;
    list-style: none;
}

.home-about ul > li span.point{
    display: block;
    font-size: 1.125rem;
    color: #bbbe3b;
}

/* home-counter */
.home-counter{
    background-image: url('https://select-b.jp/wp-content/uploads/2024/05/counter-bg-sample0-w.png');
    background-color: #233237;
    background-repeat: no-repeat;
    background-size: cover;
    background-blend-mode: overlay;
    color: #fff;
    margin-bottom: -100px !important;
    margin-top: -100px !important;
}

.home-counter h2{font-size: 4rem !important;}

.home-counter h2 + p{
    margin-bottom: 5rem;
    font-size: 1.25rem;
    line-height: 1.75;
}

.home-counter .counter_content{
    margin-top: 0;
    margin-bottom: 0;
}

.home-counter .counter_content_list{
    justify-content: space-around;
    align-items: baseline;
    gap: 50px;
}

.home-counter .counter_content_item{
    position: relative;
    width: calc(50% - 25px);
    margin: 0 0;
    background-color: transparent;
}

.home-counter .counter_content_item:nth-child(1)::before,
.home-counter .counter_content_item:nth-child(2)::before{
    content: '';
    content: none;
    position: absolute;
    width: 2px;
    height: 100%;
    background-color: #fff;
    display: block;
    top: 0;
    right: 0;
}

/* home-costdown */
.home .home-costdown{
    margin-top: 11.25rem;
    max-width: 1200px;
    width: 88.8888%;
}

.home-costdown h2{
    width: 100% !important;
    margin-bottom: 2rem !important;
    font-size: 4rem !important;
}

.home-costdown h2 + p {
    margin-bottom: 5rem;
    font-size: 1.25rem;
    line-height: 1.75;
}

.home-costdown h3{font-size: 1.25rem !important;}
.home-costdown h3 .color-main{font-size: 1.5rem;}
.home-costdown .colm3.flex-box{margin-bottom: 5rem;}

/* home-suppliers */
.home-suppliers{margin-top: 11.25rem;}

.home-suppliers h2{
    margin-bottom: 2rem !important;
    font-size: 4rem !important;
}

.home-suppliers div.flex-box{
    gap: 60px 120px;
    flex-wrap: wrap;
    align-items: center;
}

.home-suppliers div.flex-box > div{
    width: calc(33.3%);
    max-width: 320px;
}

@media only screen and (max-width: 767px) {
    .home-suppliers div.flex-box{
        gap: 60px 40px;
    }
}


/* home-flow */
#cb_7{margin-bottom: -100px;}

.home-flow h2 > span{
    display: inline;
    font-size: 6rem !important;
}

.flow-group1{
    margin-inline: auto;
    margin-bottom: 5rem;
}

.flow-group1-inner{gap: 30px;}

.flow-group1-item{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #0fafaa;
    border-radius: 50%;
    text-align: center;
    flex: 0 0 calc(20% - 24px);
    height: auto;
    padding-block: 7.465vh;
}

.flow-group1-item:nth-child(6){
    order: 10;
}

.flow-group1-item:nth-child(7){
    order: 9;
}

.flow-group1-item:nth-child(8){
    order: 8;
}

.flow-group1-item:nth-child(9){
    order: 7;
}

.flow-group1-item:nth-child(10){
    order: 6;
}

.flow-group1-item::after{
    content: '';
    position: absolute;
    font: var(--fa-font-solid);
}

.flow-group1-item:nth-child(1)::after,
.flow-group1-item:nth-child(2)::after,
.flow-group1-item:nth-child(3)::after,
.flow-group1-item:nth-child(4)::after{
    top: 50%;
    right: -24px;
    transform: translate(0%, -50%);
    content: "\f061";
}

.flow-group1-item:nth-child(5)::after{
    content: "\f063";
    top: auto;
    right: auto;
    left: 50%;
    bottom: -25px;
    transform: translate(-50%, 0%);
}

.flow-group1-item:nth-child(7)::after,
.flow-group1-item:nth-child(8)::after,
.flow-group1-item:nth-child(9)::after,
.flow-group1-item:nth-child(10)::after{
    top: 50%;
    right: -24px;
    transform: translate(0%, -50%);
    content: "\f060";
}

.flow-group1-item > .text{
    font-size: 1rem;
    line-height: 1.5;
}

.flow-group1-item > .text > span{
    font-weight: 900;
    color: #0fafaa;
}

.flow-group1-item > .text > span:nth-child(2){font-size: 1.5rem;}

.flow-group1-item > .text > p{
    margin-bottom: 0;
    padding: 0 1rem;
}

@media only screen and (max-width: 960px) {
    .flow-group1-item{
        flex-basis: 100%;
        padding-block: 1rem;
        border-radius: 0;
    }
    .flow-group1-item:nth-child(6),
    .flow-group1-item:nth-child(7),
    .flow-group1-item:nth-child(8),
    .flow-group1-item:nth-child(9),
    .flow-group1-item:nth-child(10){
        order: unset;
    }
    .flow-group1-item:not(:last-child)::after{
        content: "\f063";
        top: auto;
        right: auto;
        left: 50%;
        bottom: -25px;
        transform: translate(-50%, 0%);
    }
    .flow-group1-item:nth-child(10)::after{
        content: none;
    }
}

/* home-support */
.home-support{
    position: relative;
    padding-top: 10rem;
    padding-bottom: 10rem;
    background-image: url('https://select-b.jp/wp-content/uploads/2024/05/kenchiku-img-sample0.jpg');
    background-size: cover;
}

.home-support::before {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgb(6 28 37 / 50%);
    background-color: rgb(0 22 62 / 75%);
}

.home-support h2{
    padding: 1.125rem 2rem;
    color: #000;
    background-color: #fff;
}

.home-support h2 + p{
    width: 75%;
    padding: 1.125rem 3rem;
    color: #000;
    font-size: 1.125rem;
    background-color: #fff;
}

/* home-document */
.home-document ul.flex-box{
    gap: 20px;
    margin-left: 0;
}

.home-document ul.flex-box > li{
    width: calc(25% - 15px);
    margin-bottom: 1rem;
    list-style: none;
}

.home-document ul.flex-box > li figure{
    margin-bottom: 1rem;
    filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.15));
}

.home-document ul.flex-box > li h3{
    margin-bottom: 0;
    font-size: 1rem;
    text-align: center;
}

/* FAQ */
dl.faq-list{
    padding: 2.5rem;
}

dl.faq-list{
    border: 5px solid #ededed;
}

dl.faq-list:last-of-type{
    margin-bottom: 0;
}

dl.faq-list dt{
    font-size: 1.125rem;
    border-bottom: 1px solid #ccc;
    font-size: 1.5rem;
    margin-bottom: 1rem;
    line-height: 1.75;
}

dl.faq-list dt::before {
    content: "Q.";
    margin-right: 0.25rem;
    color: #0fafaa;
}

dl.faq-list dd{
    margin-bottom: 0;
    font-size: 1.125rem;
}

dl.faq-list dd::before {
    content: "A.";
    margin-right: 0.25rem;
    color: #ff4600 !important;
}

.home-faq dl.faq-list:last-of-type{
    margin-bottom: 5rem;
}

@media only screen and (max-width: 991px){
    .home .l-main .p-blog-archive__item-title{
        font-size: 14px !important;
    }
}

@media only screen and (max-width: 767px) {
    .home .l-main h2,
    .home .l-main h2 span.color-main{
        font-size: 2.5rem !important;
    }
    .home .l-main h2 + p{
        font-size: 1.25rem;
    }
    .home-worries-list h2,
    .home-worries-list h2 > span{
        max-width: 280px;
        margin-inline: auto;
    }
    .home-worries-list .card-type1 > div h3{
        font-size: 1.5rem;
    }
    .home-worries-list .card-type1 > div ul li{
        font-size: 1.125rem;
    }
    .home-worries-list .card-type1{
        width: 100%;
        padding-inline: 0;
        margin: 0 0;
    }
    .home-worries-list .card-type1 > div{
        width: 100%;
    }
    .home-solution p,
    .home-solution p > span.font-size-l{
        font-size: 2.5rem;
    }
    .home-solution p > span.tag{
        padding: 1rem 1.5rem;
        margin-bottom: 0.5rem;
        font-size: 1.75rem;
    }
    .home-solution ul li{
        font-size: 1.125rem;
    }
    .home-about h2{
        letter-spacing: -1px;
    }
    .home-about h2 + p,
    .home-about h2 + p > span{
        font-size: 2rem !important;
        text-align: center;
        letter-spacing: -1.5px;
    }
    .home-about ul{
        margin-left: 0;
    }
    .home-about ul > li{
        width: 100%;
        padding-inline: 2rem;
        font-size: 1.5rem;
        letter-spacing: 0;
    }
    .home-about{
        background-size: contain;
    }
    .home-about h2{
        max-width: 100%;
        padding-block: 1rem;
        font-size: 2rem !important;
    }
    .home-about .border-box{
        padding-inline: 1.5rem;
    }
    .home-about .border-box dt {
        font-size: 1.5rem;
    }
    .home-about .c-btn {
        margin-bottom: 0;
    }
    .home-counter{
        background-position: 100%;
    }
    .home-counter h2{
        font-size: 2.5rem !important;
    }
    .home-counter .counter_content_list {
        gap: 10px;
        justify-content: normal;
    }
    .home-counter .counter_content_item {
        position: relative;
        width: 100%;
        margin: 0 0;
        min-width: auto;
        padding-inline: 0;
        background-color: transparent;
    }
    .home-counter .counter_content_item:not(:last-of-type){
        margin-bottom: 2.5rem;
    }
    .home-counter .counter_content_item:nth-child(1)::before,
    .home-counter .counter_content_item:nth-child(2)::before {
        content: none;
    }
    .home-suppliers div.flex-box > div {
        width: calc(50% - 20px);
    }
    .home-support h2{
        width: 100%;
        font-size: 2rem !important;
    }
    .home-support h2 + p{
        width: 100%;
        padding-block: 2.5rem;
    }
    .home-support .c-btn{
        display: block;
        margin-inline: auto;
    }
    .home-document ul.flex-box > li{
        width: calc(50% - 10px);
    }
    .home-document ul.flex-box > li h3 {
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
    }
    .home-flow .page-inner-full{
        width: inherit;
        margin: 0;
    }
    .home-flow  .flow-group1-inner{
        justify-content: center;
    }
}


/*******************************
*etc
*******************************/
/* card */
.card-type1{gap: 20px 20px;}
.card-colm2 > div{width: calc(50% - 15px);}
.card-colm4 > div{width: calc(25% - 15px);}

.card-type1 > div h3{
    position: relative;
    background-color: #00A8CC;
    padding: 1rem;
    color: #fff;
    font-weight: 900;
}

.card-type1 > div h3::before{
    content: '';
    height: 0;
    width: 0;
    border: solid transparent;
    position: absolute;
    left: 30px;
    top: 100%;
    border-color: transparent;
    border-top-color: #4c9ac0;
    border-right-color: #4c9ac0;
    border-width: 6.5px;
}

.card-type1 > div ul{
    padding: 2rem 1.25rem 2rem 2.5rem;
    margin-left: 0;
    background-color: #fff;
    box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.25);
}

.card-type1 > div ul li{
    list-style-type: disc;
    line-height: 1.5;
}

.card-type1 > div ul li:not(:last-child){
    margin-bottom: 1rem;
}

@media only screen and (max-width: 767px) {
    .card-type1 > div{
        width: 100%;
    }
    .card-type1 > div h3 {
        font-size: 1.25rem;
    }
    .card-type1 > div ul li {
        font-size: 1rem;
    }
}

/* image */
.img-colm3{
    gap: 10px 10px;
}

.img-colm3 > div{
    width: calc(33.3% - 6.5px);
}

@media only screen and (max-width: 767px) {
    .img-colm3 > div{
        width: calc(100% - 6.5px);
    }
}

/* counter */
.counter_content{
    position: relative;
    margin-top: 7.5rem;
    margin-bottom: 7.5rem;
}

.counter_content_list{
    height: 100%;
    margin: 40px auto 0;
    z-index: 3;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
}

.counter_content_item{
    background: #000;
    color: #fff;
    margin: 0 20px 0 0;
    min-width: 300px;
    height: 225px;
    border-radius: 10px;
    padding: 0 20px;
    text-align: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.counter_content_item:last-of-type {
    margin-right: 0;
}

.counter_content_item .headline {
    font-size: 24px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.counter_content_item .num_area {
    margin: 0 !important;
    line-height: 1 !important;
    color: #f3b80a;
}

.counter_content_item .num {
    font-size: 125px;
    font-weight: 600;
}

.counter_content_item .unit {
    font-size: 24px;
    font-weight: 600;
}

.counter_content_item .desc {
    font-size: 18px;
    margin: 12px 0 0 !important;
    line-height: 1 !important;
}

/* graph */
.graph .text{
    position: absolute;
    top: 35%;
    left: 11%;
    padding: 1rem;
    max-width: 230px;
    line-height: 1.5;
    color: #fff;
    background-color: #d51d1d;
}

.graph .text::before{
    content: '';
}

/* 三角 */
.sankaku {
    background-color: #ffffff;
    height: calc(tan(60deg) * 60px / 2);
    width: 60px;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.sankaku-up {clip-path: polygon(50% 0, 100% 100%, 0 100%);}
.sankaku-right {clip-path: polygon(0 0, 100% 50%, 0 100%);}
.sankaku-down {clip-path: polygon(0 0, 100% 0, 50% 100%);}
.sankaku-left {clip-path: polygon(0 50%, 100% 0, 100% 100%);}

@media only screen and (max-width: 767px) {
    .graph .text{
        display: none;
    }
}


/*******************************
*固定ページ
*******************************/
.page .l-main{
    background: #fff;
}

.page .l-main{padding-bottom: 0;}
.page .p-entry-page__inner{padding-bottom: 0;}
.page .p-entry-page__inner{padding-inline: 0;}

.page #tcd-pb-wrap, .page .tcd-pb-row {
    overflow: visible !important;
}

.page-inner-full{
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    overflow: hidden;
}

.page .title-box h2{
    position: relative;
    font-size: 3rem;
    font-weight: 900;
    font-feature-settings: "palt";
    padding: 1rem 0rem;
    margin-bottom: 3rem;
}

.page .title-box h2::after{
    content: none;
    background-color: #498ee0;
    width: 2em;
    height: 3px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.page .color-main{
    color: #0fafaa;
}

.page .color-bg-main{
    background-color: #0fafaa;
}

.page .title-box h2:has(.color-main) > span{
    font-weight: 900 !important;
}

.page .title-box h2:has(+ p){
    margin-bottom: 1.5rem;
}

.page .title-box h2 + P{
    margin-bottom: 3rem;
    font-size: 1.25rem;
}

.flame-text{
    padding: 1.5rem;
    box-shadow: 0 1px 5px 2px #e9e9e9;
}

.flame-bgcolor-blue{
    background-color: #f4faff;
}

.flame-textcolor-blue{
    color: #0083b8;
}

/* partner */
.partner-worries > div.flex-box{
    margin-bottom: 2.5rem;
    gap: 20px 20px;
}

.partner-worries > div.flex-box > div{
    width: calc(33.3% - 13px);
    padding: 2rem;
    color: #fff;
    background-color: #233237;
}

.partner-worries h3{
    display: flex;
    align-items: center;
}

.partner-worries h3 span.icon{
    width: 50px;
    height: 50px;
    margin-right: 1rem;
    background-color: #faff33;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.partner-worries h3 span.icon img{
    max-width: 35px;
}

.partner-worries ul{
    margin-left: 0;
}

.partner-worries ul li{
    padding-bottom: 0.75rem;
    list-style: inside;
    line-height: 1.75;
    text-indent: -1.5rem;
    padding-left: 1.5rem;
}

.partner-worries ul li:not(:first-child){
    padding-top: 0.75rem;
}

.partner-worries ul li:not(:last-child){
    border-bottom: 1px solid #ccd6d5;
}

.partner-service-can > div.flex-box{
    gap: 20px 20px;
    padding: 2rem;
    margin-bottom: 2.5rem;
    border: 5px solid #ededed;
    background-color: #F9F9F9;
}

.partner-service-can > div.flex-box > div.img{
    width: calc(30% - 10px);
    position: relative;
}

.partner-service-can .num{
    display: block;
    height: 56px;
    left: 0;
    padding: 10px 0 0 10px;
    position: absolute;
    top: 0;
    width: 56px;
    z-index: 3;
    color: #fff;
}

.partner-service-can .num:after {
    border: solid #0fafaa;
    border-bottom-right-radius: 56px;
    border-width: 56px 56px 0 0;
    content: "";
    display: block;
    height: 0;
    left: 0;
    position: absolute;
    top: 0;
    width: 0;
    z-index: -1;
}

.partner-service-can > div.flex-box > div.text{
    width: calc(70% - 10px);
}

.partner-service-can ul{
    margin-left: 0;
}

.partner-service-can ul li{
    list-style: inside;
    line-height: 1.75;
    text-indent: -1.5rem;
    padding-left: 1.5rem;
}

.partner-service-can ul > li > span.small{
    font-size: 0.8125rem;
}

/* コスト削減実績 */
.cost-text1{
    font-size: 1.5rem;
    line-height: 1.5;
}

.cost-text1 > span.color-main{
    font-size: 3rem;
}

.cost-text-jisseki{
    gap: 25px;
    margin-bottom: 5rem;
}

.cost-text-jisseki > div{
    width: calc(50% - 12.5px);
}

.cost-text-jisseki > div p{
    margin-bottom: 0;
    padding: 1.5rem;
    color: #fff;
    background-color: #0fafaa;
}

.cost-text-jisseki > div p span.text-color{
    color: #233237;
    font-size: 2.5rem;
}

.costdown-cta h3 {
    font-size: 2rem;
}

@media only screen and (max-width: 767px) {
    .about-features > div.flex-box > div {
        width: 100%;
    }
    .cost-text-jisseki > div {
        width: 100%;
    }
    .cost-text-jisseki > div p{
        font-size: 1.25rem;
    }
    .cost-text-jisseki > div p span.text-color {
        font-size: 1.5rem;
    }
    .partner-worries > div.flex-box > div{
        width: 100%;
    }
    .partner-service-can > div.flex-box > div.img{
        width: 100%;
    }
    .partner-service-can > div.flex-box > div.text{
        width: 100%;
    }
}


/*******************************
*投稿・カテゴリ・アーカイブページ
*******************************/
.p-article__author{
    display: none;
}

@media only screen and (max-width: 991px) {
    .p-blog-archive__item h2.p-blog-archive__item-title{
        position: relative;
        top: 50%;
        transform: translate(0%, -50%);
        margin-top: 0;
    }
}

.single .l-2columns .l-primary{margin-inline: auto;}

.single .color-main{color: #0fafaa;}
.single .color-sub1{color: #faff33;}
.single .title-box h2:has(.color-main) > span {font-weight: 900 !important;}

.single-useful .p-entry-photo__inner{
    max-width: 100% !important;
    padding: 80px 11.66%;
}

.single-useful .p-entry-photo__category{display: none;}
.single-useful .p-entry__meta_top {margin-top: -38px;}
.single-useful .p-entry-photo__date{display: none;}


.single-useful .useful-content:not(:last-of-type){
    padding-bottom: 100px;
    margin-bottom: 100px;
    border-bottom: 1px solid #dddddd;
}

.single-useful .title-box h2{
    position: relative;
    font-size: 3rem;
    font-weight: 900;
    font-feature-settings: "palt";
    padding: 1rem 0rem;
    margin-bottom: 3rem;
}

.single-useful .title-box h2:has(+ p){margin-bottom: 1.5rem;}
.single-useful .title-box h2 + P{margin-bottom: 3rem;}

.single-useful .style_h3{
    color: #fff;
    background-color: #233237;
    padding: 0.5rem 1.5rem;
    width: fit-content;
}

.single-useful .useful-content ul > li{
    list-style: inside;
}

.single-useful .property-detail > span > span:nth-child(1){width: 150px;}
.single-useful .property-detail > span > span:nth-child(2){margin-left: 2rem;}

.single-useful .character-box{gap: 20px;}

.single-useful .character-box > div.flex-box{
    width: calc(50% - 10px);
    margin-bottom: 2rem;
    align-items: center;
}

.single-useful .character-box .img{max-width: 125px;}

.single-useful .character-box p{
    margin-left: 2rem;
    margin-bottom: 0;
    letter-spacing: -0.5px;
}

.single-useful .flame-box1{
    width: fit-content;
    padding: 1.5rem 5rem;
    margin: 0 auto 2rem;
    border: 5px solid #ededed;
    background-color: #F9F9F9;
}

.single-useful .flame-box1 h4{
    margin-bottom: 0;
    font-size: 1.5rem;
}

.single-useful .flame-box1 dl{
    margin: 1rem auto 0;
    text-align: left;
}

.single-useful .flame-box1 dl:not(:first-of-type){margin-top: 0;}
.single-useful .flame-box1 dd{margin-bottom: 0;}

.single-useful .flame-box1 ul > li{
    list-style: outside;
    text-align: left;
}

.single-useful .flame-box1 .border1{
    border: 1px solid #000;
    padding: 1rem 1rem;
}

.single-useful .flame-box2{
    padding: 2rem;
    color: #fff;
    background-color: #233237;
}

.single-useful .flame-box2 .text1{
    font-size: 1.75rem;
    line-height: 1.75;
}

.single-useful .sakugen-box{
    gap: 20px;
    align-items: center;
    margin-bottom: 2rem;
}

.single-useful .sakugen-box > p{
    font-size: 1.125rem;
    line-height: 1.5rem;
    text-align: center;
}

.single-useful .sakugen-box > p:nth-child(odd){
    width: calc(40% - 13px);
}

.single-useful .sakugen-box > p:nth-child(even){
    width: calc(20% - 14px);
}

.single-useful .useful-content .flow-box{
    gap: 20px 20px;
    align-items: baseline;
    margin-bottom: 2rem;
}

.single-useful .useful-content .flow-box > div.text{
    width: calc(24% - 20px);
}

.single-useful .useful-content .flow-box > div.arrow{
    width: calc(14% - 20px);
    text-align: center;
}

.single-useful .useful-content .flow-box p{
    padding: 1rem;
    text-align: center;
    line-height: 1.5;
}

.single-useful .useful-content .flow-box .green{
    border: 2px solid #82ae46;
}

.single-useful .useful-content .flow-box .orange{
    border: 2px solid #ff7d00;
}

.single-useful .useful-content .flow-box .blue{
    border: 2px solid #2ca9e1;
}

.single-useful .useful-content .sb-diff-table{margin-bottom: 5rem;}

.character-comment{
    margin: 2.5rem 0;
    align-items: center;
}

.character-comment p:last-child{margin-bottom: 0;}
.character-comment .img{width: 125px;}

.character-comment .img > p{
    background-color: #233237;
    color: #fff;
    text-align: center;
}

.character-comment .text{
    position: relative;
    max-width: 730px;
    margin: 0px 0px 0px 30px;
    padding: .8rem 1rem;
    border-radius: 5px;
    background-color: #0fafaa;
    color: #fff;
}

.character-comment .text::before{
    content: '';
    position: absolute;
    left: -15px;
    width: 15px;
    height: 30px;
    background-color: #0fafaa;
    border: 1px solid #0fafaa;
    clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
}

.single-useful .useful-content.success p.orange{
    margin-bottom: 0;
    font-size: 1.5rem;
    font-weight: 900;
    line-height: 1.5;
}

.single-useful .service-diff{gap: 20px;}
.single-useful .service-diff dl{width: calc(50% - 10px);}

.single-useful .service-diff dl dt{
    padding: 1rem 1rem;
    margin-bottom: 1.5rem;
    font-weight: 900;
    line-height: 1.5;
}

.single-useful .service-diff dl:nth-child(1) dt{
    border: 2px solid #31708f;
    color: #31708f;
}

.single-useful .service-diff dl:nth-child(2) dt{
    border: 2px solid #3c763d;
    color: #3c763d;
}

.single-useful .service-diff dl dd > p{
    padding: 0.5rem 1rem;
    font-weight: 900;
}

.single-useful .flow-text{padding: 1rem 2rem;}
.single-useful .arrow-down i{font-size: 2rem;}

.single-useful .arrow-down span{
    padding-inline: 1.5rem;
    font-size: 1.25rem;
    border-bottom: 2px solid #31708f;
}

.single-useful .table-uchiwake thead th{
    width: 50%;
}

.single-useful .table-uchiwake thead th:nth-child(1){
    border-color: #0158c1;
    background-color: #0158c1;
    color: #fff;
}

.single-useful .table-uchiwake thead th:nth-child(2){
    border-color: #ed7d31;
    background-color: #ed7d31;
    color: #fff;
}

.single-useful .table-uchiwake tbody th{
    color: #fff;
    background: #7f7f7f;
}

.single-useful .table-uchiwake tbody td{text-align: center;}

@media only screen and (max-width: 767px) {
    .single-useful .p-entry-photo__inner{
        padding-inline: 0;
    }
    .single-useful .p-entry__meta_top{
        margin-top: -28px;
    }
    .single-useful .character-box > div.flex-box{
        width: 100%;
    }
    .single-useful .flame-box1{
        padding-inline: 2.5rem;
    }
    .postid-129 .single-useful .flame-box1{
        padding-inline: 1.5rem;
    }
    .character-comment .img{
        margin-inline: auto;
    }
    .character-comment .text{
        width: 100%;
        margin-top: 1.5rem;
        margin-left: 0;
    }
    .character-comment .text::before {
        top: -15px;
        left: 50%;
        width: 30px;
        height: 15px;
        clip-path: polygon(50% 0, 100% 100%, 0 100%);
        transform: translate(-50%, 0%);
    }
    .character-comment p{
        text-align: center;
    }
    .single-useful .useful-content .flow-box{
        flex-direction: column;
    }
    .single-useful .useful-content .flow-box > div.text,
    .single-useful .useful-content .flow-box > div.arrow{
        width: 100%;
    }
    .single-useful .useful-content .flow-box > div.text-colm2{
        display: flex;
        gap: 20px;
    }
    .single-useful .useful-content .flow-box > div.text-colm2 > p{
        width: calc(50% - 10px);
        margin-bottom: 0 !important;
    }
    .single-useful .sakugen-box > p:nth-child(odd),
    .single-useful .sakugen-box > p:nth-child(even){
        width: 100%;
        margin-bottom: 0.5rem;
    }
    .single-useful .sakugen-box > p:nth-child(odd){
        border: 1px solid #c1c1c1;
        padding: 1.5rem;
    }
    .single-useful .flame-box1.table{
        width: auto;
        padding-inline: 2rem;
    }
}


/*******************************
*CTA
*******************************/
/* contact-cta */
.contact-cta{
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    background-color: #0d181e;
}

.contact-cta .colm2{
    position: relative;
    gap: 30px;
}

.contact-cta .colm2 > div:first-child::before{
    content: '';
    background-color: #fff;
    width: 1px;
    height: 200px;
    position: absolute;
    top: 50%;
    right: -15px;
    transform: translate(0%, -50%);
}

.contact-cta .colm2 > div{
    position: relative;
    width: calc(50% - 15px);
    padding-block: 5rem;
}

.contact-cta .colm2 div.text{
    max-width: calc(100% - 150px);
    margin: 0 auto;
}

.contact-cta .colm2 div.text h2{
    position: relative;
    padding: 1rem 0rem;
    margin-bottom: 1.5rem;
    font-feature-settings: "palt";
    color: #fff;
}

.contact-cta .colm2 div.text h2::after {
    content: '';
    background-color: #0fafaa;
    width: 2em;
    height: 3px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.contact-cta .colm2 div.text h2 + p{
    color: #fff;
    font-size: 1rem;
}

.contact-cta .colm2 .img{
    margin-bottom: 1rem;
}

/* solution-cta */
.solution-cta > div.flex-box{
    gap: 15px;
}

.solution-cta > div.flex-box > div{
    width: calc(33.3% - 15px);
}

.solution-cta > div.flex-box > div:nth-child(1){
    background-color: #00A8CC;
}

.solution-cta > div.flex-box > div:nth-child(2){
    background-color: #0C7B93;
}

.solution-cta > div.flex-box > div:nth-child(3){
    background-color: #142850;
}

.solution-cta > div.flex-box > div > a{
    display: block;
    padding: 2.5rem;
    color: #fff;
    transition-duration: 0.3s;
}

.solution-cta > div.flex-box a:hover{
    opacity: 0.6;
    background-color: rgb(0 0 0 / 60%);
}

.solution-cta > div.flex-box div.img{
    width: 50%;
    margin: 0 auto 0.5rem;
}

.solution-cta > div.flex-box p{
    width: fit-content;
    margin-inline: auto;
    margin-bottom: 0;
}

.solution-cta > div.flex-box p:nth-of-type(1){
    font-size: 1.25rem;
    font-weight: 900;
    margin-bottom: 1rem;
    line-height: 1.0;
}

/* mitsumori-cta  */
.mitsumori-cta > div{width: 50%;}

.mitsumori-cta > div:first-child{
    background-color: #eee;
    padding: 10rem;
}

.mitsumori-cta > div.img{
    background-image: url('https://select-b.jp/wp-content/uploads/2024/05/mitsumori-cta-img0.jpg');
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-blend-mode: overlay;
    background-color: rgb(3 27 42 / 40%);
    background-size: cover;
}

.mitsumori-cta p{
    width: fit-content;
    margin-inline: auto;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.5;
}

.mitsumori-cta .btn-box{
    max-width: 320px;
    margin-inline: auto;
}

.mitsumori-cta .btn-box > div:nth-child(1) a {
    background-color: #00A8CC;
    border-color: #00A8CC;
}

.mitsumori-cta .btn-box > div:nth-child(2) a {
    background-color: #0C7B93;
    border-color: #0C7B93;
}

.mitsumori-cta .btn-box > div:nth-child(3) a {
    background-color: #142850;
    border-color: #142850;
}

.mitsumori-cta .btn-box > div:not(:last-child){
    margin-bottom: 1rem;
}

/* costdown-cta */
.costdown-cta{
    max-width: 100%;
    width: 100%;
    margin-bottom: -100px !important;
    padding-bottom: 0;
}

.page .costdown-cta{
    margin-bottom: 0 !important;
}

.costdown-cta h2{
    width: 88.8888%;
    max-width: 1200px;
    margin: 0 auto 1.5rem;
}

.costdown-cta .colm3 > div{
    width: 33.3%;
    position: relative;
}

.costdown-cta .colm3 a{
    display: block;
    font-size: 1.125rem;
    line-height: 1.2;
    text-align: center;
}

.costdown-cta .colm3 .img{
    overflow: hidden;
}

.costdown-cta .colm3 img{
    transition: transform .6s ease;
}

.costdown-cta .colm3 .img::before{
    content: '';
    position: absolute;
    display: block;
    z-index: 100;
    width: 100%;
    height: 100%;
    background-color: rgb(0 0 0 / 75%);
}

.costdown-cta .colm3 a:hover .img::before{
    content: '';
    background-color: rgb(0 0 0 / 40%);
}

.costdown-cta .colm3 h3{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-bottom: 0;
    width: 100%;
    color: #fff;
    z-index: 150;
}

.page .costdown-cta .colm3 h3{
    font-size: 1rem;
}

.page .costdown-cta .colm3 .link-text{
    font-size: 1rem;
}

.costdown-cta .colm3 a:hover img{
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

.costdown-cta .colm3 .link-text{
    position: absolute;
    right: 10%;
    bottom: 5%;
    color: #fff;
    line-height: 2.0;
    z-index: 100;
}

.costdown-cta .colm3 .link-text i{
    position: relative;
    top: 5px;
    font-size: 2rem;
    margin-left: 0.75rem;
}

.costdown-cta .colm3 a:hover .link-text i{
    color: #0fafaa;
}

/* page-cta */
.page-cta{
    margin: 0 calc(50% - 50vw) !important;
    width: 100vw !important;
    max-width: none !important;
}


@media only screen and (max-width: 1200px) {
    .contact-cta .colm2 > div{
        width: 100%;
    }
    .contact-cta .colm2::before {
        content: '';
        width: 100%;
        height: 1px;
    }
    .contact-cta .colm2 div.text{
        max-width: 100%;
    }
    .contact-cta .c-btn{
        display: block;
        margin-inline: auto;
    }
    .contact-cta .colm2 > div:first-child::before {
        width: 100%;
        height: 1px;
        top: 100%;
        right: 0px;
        transform: translate(0%, 0%);
    }
    .mitsumori-cta{
        flex-direction: column-reverse;
    }
    .mitsumori-cta > div{
        width: 100%;
    }
    .mitsumori-cta > div:first-child {
        padding: 5rem 0;
    }
    .mitsumori-cta p{
        width: 88.8888%;
        margin-inline: auto;
    }
    .mitsumori-cta > div.img{
        height: 250px;
    }
}

@media only screen and (max-width: 767px) {
    .costdown-cta{
        margin-bottom: -40px !important;
    }
    .costdown-cta .colm3 > div {
        width: 100%;
    }
    .costdown-cta .colm3 > div:not(:last-of-type){
        margin-bottom: 1rem;
    }
    .costdown-cta .colm3 h3{
        padding-inline: 1.5rem;
        font-size: 1.25rem;
        letter-spacing: -0.5px;
    }
    .solution-cta > div.flex-box > div {
        width: 100%;
    }
    .solution-cta > div.flex-box{
        flex-wrap: wrap;
    }
}


/*******************************
*table
*******************************/
.table-type1 table {
    border-collapse: collapse;
    margin: 0 auto;
    padding: 0;
    width: 100%;
    table-layout: fixed;
    color:#221815;
    font-weight: 900;
}

.table-type1 table thead th{
    background:#efefef;
}

.table-type1 table th {
    padding: 2rem;
    line-height: 1.0;
    border: transparent;
    background-color: transparent;

}

.table-type1 table td {
    padding: 1.5rem .5rem;
    line-height: 1.0;
    border: transparent;
    text-align: center;
}

.table-type1 table tr{
    border-bottom: 2px solid #221815;
}

.table-type1_bg-color-red{
    background:#d80c18 !important;
    color: #fff !important;
}

.table-type1_fsize-l{
    font-size: 1.5rem !important;
    line-height: 1.0 !important;
}

.table-design1 {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    color: #141821;
    font-weight: bold;
    text-align: center;
}

.table-design1 thead th {
    padding: 1em .8em;
    border-right: #D1D4D7 solid 1px;
}

.table-design1 td {
    color: #141821;
    padding: 1em;
}

.table-design1 thead th:first-child{
    background-color: transparent;
    border-top: transparent;
    border-left: transparent;
}

.table-design1 thead th:not(:first-child) {
    background-color: #EBEEF1;
    font-size: 1rem;
    padding: 0.5em;
}

.table-design1 thead th:nth-child(4) {
    position: relative;
    color: #fff;
    background-color: #0fafaa;
    border-left: #0fafaa solid 2px;
    border-right: #0fafaa solid 2px;
}

.table-design1 thead th:nth-child(4)::before {
    content: '';
    width: calc(100% + 4px);
    height: 10px;
    position: absolute;
    background-color: #0fafaa;
    left: -2px;
    bottom: 100%;
}

.table-design1 tbody th {
    background-color: #f9f9f9;
}

.table-design1 td:nth-child(4) {
    color: #00a29d;
    border-top: none;
    border-left: #0fafaa solid 2px;
    border-right: #0fafaa solid 2px;
    border-bottom: #0fafaa solid 1px;
    background-color: rgb(15 175 170 / 5%);
}

.cost-table{
    margin-top: 5rem;
    margin-bottom: 5rem;
}

.sb-diff-table table{font-size: 0.9rem;}
.sb-diff-table table thead th{background-color: #f4faff;}
.sb-diff-table table thead th:nth-child(1){width: 10%;}
.sb-diff-table table thead th:nth-child(2){width: 11%;}
.sb-diff-table table thead th:nth-child(6){width: 14%;}

@media only screen and (max-width: 767px){
    table.pb_simple_table th, table.pb_simple_table td{
        display: block;
        width: 100% !important;
    }
    table.pb_simple_table th{
        border-bottom: transparent !important;
    }
    table.pb_simple_table tr:not(:last-child) td{
        border-bottom: transparent;
    }
    .table-type1_fsize-l{
        line-height: 0.75 !important;
    }
}

@media screen and (max-width: 600px) {
    .table-type1{
        overflow-x: scroll;
    }
    .table-type1 table{
        width: 250%;
    }
    .table-design1 {
        border: 0;
        width:100%
    }
    .table-design1 th{
        background-color: #eee;
        display: block;
    }
    .table-design1 thead {
        border: none;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }
    .table-design1 tr {
        display: block;
        margin-bottom: .625rem;
    }
    .table-design1 td {
        border-bottom: 1px solid #bbb;
        display: block;
        font-size: .8rem;
        text-align: right;
        position: relative;
        padding: .625rem .625rem .625rem 4rem;
    }
    .table-design1 td::before {
        content: attr(data-label);
        font-weight: bold;
        position: absolute;
        left: 10px;
    }
    .table-design1 tbody td:first-of-type,
    .table-design1 tbody td:nth-of-type(2){
        border-bottom: none;
    }
    .table-design1 td:last-child {
        border-top: 1px solid #0fafaa;
        border-inline-width: 1px;
    }
}


/*******************************
*パートナー
*******************************/
.prefecture-list h2{
    margin-bottom: 1rem;
    font-size: 1.125rem;
}

.prefecture-list th:first-child{
    width: 30%;
}

/* テーブル全体のスタイル */
.prefecture-list table {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
    background-color: #fff;
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.prefecture-list .responsive-table:not(:last-of-type){
    margin-bottom: 2rem;
}

/* ヘッダーのデザイン */
.prefecture-list th {
    background-color: #0073aa; /* WordPressの管理画面風の青 */
    background-color: #0fafaa;
    color: #fff;
    text-align: left;
    padding: 12px;
    font-weight: bold;
}

.prefecture-list th:first-child{
    border-right: 1px solid #14a6a2;
}

.prefecture-list td:first-child{
    border-right: 1px solid #f1f1f1;
}

/* セルのデザイン */
.prefecture-list td {
    border-bottom: 1px solid #ddd;
    padding: 12px;
}

/* 奇数行と偶数行の背景色を変更 */
.prefecture-list tr:nth-child(even) {
    background-color: #f9f9f9;
}

.prefecture-list tr:nth-child(odd) {
    background-color: #ffffff;
}

/* ホバー時のエフェクト */
.prefecture-list tr:hover {
    background-color: #f1f1f1;
    transition: background-color 0.3s;
}

/* レスポンシブデザイン（スマホ対応） */
@media screen and (max-width: 768px) {
    .prefecture-list table {
        font-size: 14px;
    }
    .prefecture-list th, .prefecture-list td {
        padding: 10px;
    }
}

@media screen and (max-width: 767px) {
    .responsive-table {
        width: 100%;
        overflow-x: auto;
    }
    .responsive-table table {
        width: 100%;
        min-width: 500px;
    }
    .prefecture-list th:first-child{
        width: 40%;
    }
}


/*******************************
*パートナー検索
*******************************/
.search-result{
    margin-bottom: 2rem;
    padding: 1.5rem;
}

.search-result > a{
    padding-bottom: 0;
}

.search-result h2{
    margin-bottom: 1rem;
}

.search-result p:not(:last-of-type){
    margin-bottom: 1rem;
}

.search-results .search-back > a{
    display: block;
    margin-inline: auto;
}
