/* ====================================================
**
**　　ALL PAGE 
**
*  ===================================================*/
html{
   scroll-behavior: smooth;
}
li {
	font-size: 18px;
	line-height: 1.75;
	font-weight: 500;
   text-align: justify;
}
img{
   width: 100%;
   height: auto;
   vertical-align: bottom;
}

p{
   font-size: 18px;
   font-family: YuGothic,'Yu Gothic','Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','ＭＳ Ｐゴシック','MS PGothic',sans-serif;
}

.nav-holder nav li a, .sb-widget p a, .sb-widget-wrap h3, .share-btn span, .scroll-down-wrap span, .search-input input::-webkit-input-placeholder, .search-input input, .section-title h3, .column-wrapper_text p, .inline-facts .num, .custom-skillbar-title span, .skill-bar-percent, .serv-item h4 a, .testi-item h3, .testilider .swiper-slide.swiper-slide-active .testi-item p, .policy-box, .post.fw-post h2, .post.fw-post h2 a, .pr-tags span, .author-content h5 a, #comments-title, #reply-title, .fn a, .custom-form input::-webkit-input-placeholder, .custom-form input, .custom-form textarea, .custom-form textarea::-webkit-input-placeholder, .contact-details ul li a, .gallery-filters a.gallery-filter-active, .vis-thumb-info .thumb-info h3, .vis-thumb-info .thumb-info h3 a, .fixed-bottom-content .gallery-filters a.gallery-filter-active, .pr-det-container h2, .caption-wrap ul li span, .content-nav li a, .content-nav li a.ln i, .content-nav li a.rn i, .content-nav li a span.tooltip, .closedet_style, .single-carousel-control .fw-carousel-counter span, .blog-title-opt li a:hover, .pr-tags li a:hover, span.header-tooltip, .contact-info-btn, .categories_close, .custom-form textarea, .custom-form input[type="text"], .custom-form input[type=email], .custom-form input[type=tel], .custom-form input[type=password]{
   color: #505050;
}

.search-input:before, #footer-twiit div.user a, .share-btn, .section-title h4, .inline-facts h6, .serv-item ul li a, .serv-item ul li, .testi-item p, blockquote p, .comment-meta a, .comment-meta, .vis-thumb-info .thumb-info p, .fs-mode-title{
   color: #303030;
}

.section-title h3{
   color: #202020;
   text-align: center;
}
.section-title h4{
   text-align: center;
}

.nav-holder nav li a,
.contact-info-btn,
.categories-list_btn .header-tooltip,
.share-btn .header-tooltip,
.sb-button .header-tooltip{
   color: #fff;
}

.loader-heading{
   font-size: 20px;
   color: #fff;
   margin-top: 30px;
}
.categories_slider_item_subtitle{
   font-size: 25px;
   font-family: serif;
   padding-bottom: 50px;
   color: #fff;
}
.categories_slider_item .overlay{
   background-color: rgba(0, 0, 0, .85);
   background-image: radial-gradient(#000 20%, transparent 0), radial-gradient(#000 20%, transparent 0);
   background-position: 0 0, 15px 15px;
   background-size: 6px 6px;
}
.search-input input, .sb-widget-wrap, #footer-twiit ul li, .section-title, .testi-item p, .testi-avatar, .footer-inner, blockquote, #comments-title, #reply-title, .post-author, .content-nav{
   border-color:  #e2e2e2;
}

.contact-info-wrap .contact-details a{
   color: #fff;
}

/* サイドバーウィジェット */
.sb-widget p{
   font-size: 15px;
}
.hiiden-sidebar-wrap > p{
   font-size: 13px;
}


@media(max-width:768px){
   .categories_slider_item_title{
      padding: 20px;
      bottom: 0;
      top: initial;
      margin-top: 0;
   }
   .categories_slider_item_subtitle{
      font-size: 18px;
   }
}
@media(max-width:640px){
   .categories_slider_item_subtitle{
      font-size: 15px;
   }
}


.main-header .fa-envelope{
   color: #fff;
}
@media(max-width:640px){
   p{
      font-size: 15px;
   }
   .main-header:before{
      width: 100%;
   }
   .logo-holder{
      left: 0;
   }
   .section-title h3{
      line-height: 1.4;
      font-size: 25px;
   }
}



/* ====================================================
**
**　　SUB PAGE 
**
*  ===================================================*/

.column-image{
   position: initial;
   width: 100%;
   height: 400px;
}
.column-wrapper{
   width: 100%;
   background-color: #fafafa;
}

.contact-details li{
   color: #fff;
}

.column-title{
   text-align: center;
}
.column-title h2:before{
   left: 50%;
   transform: translateX(-50%);
}
.column-title h3{
   max-width: 100%;
}
.column-notifer{
   background-color: initial;
   width: 100%;
}

.small-container{
   max-width: 980px;
}
.column-wrapper{
   padding: 40px 0 0;
}

footer.min-footer{
   background-color: #202020;
}
.footer-inner .policy-box{
   color: #fff;
}







/* ====================================================
**
**　　TOP PAGE 
**
*  ===================================================*/

.home-main_title_item h2{
   max-width: 450px;
   margin-bottom: 20px;
}






/* ====================================================
**
**　　ABOUT PAGE 
**
*  ===================================================*/


.page-about .column-content{
   width: calc(100% / 2 - 20px);
}
.page-about .column-content:nth-of-type(2){
   margin-top: 80px;
}
.page-about #sec1 .column-wrapper_row{
   margin-top: 80px;
}
.page-about #sec1 .about-content{
   margin-top: 120px;
}
.page-about .description-image{
   flex: 4;
}
.page-about .description-detail{
   flex: 6;
   padding-left: 40px;
   margin-top: 20px;
}
.page-about .description-detail h3{
   padding-bottom: 10px;
   margin-bottom: 10px;
   position: relative;
}
.page-about .description-detail h3::before{
   display: block;
   content: "";
   width: calc(100% + 60px);
   height: 1px;
   background-color: #e2e2e2;
   position: absolute;
   bottom: 0;
   left: -60px;
}
.page-about .row-reverce .description-detail{
   padding-left: initial;
   padding-right: 40px;
}
.page-about .row-reverce .description-detail h3::before{
   left: initial;
   right: -60px;
}


/* 会社情報 */
.page-about .information-imagebox{
   margin-bottom: 100px;
}
.page-about .information-list_item{
   display: flex;
   flex-wrap: wrap;
}
.page-about .information-list_item{
   margin-bottom: 30px;
}

.page-about .information-list_item .information-title{
   padding-bottom: 30px;
   border-bottom: solid 1px #909090;
}
.page-about .information-title{
   flex: 2;
}
.page-about .information-list_item .information-desc{
   padding-bottom: 30px;
   border-bottom: solid 1px #e2e2e2;
}
.page-about .information-desc{
   flex: 8;
   padding-left: 40px;
}
.page-about .information-title,
.page-about .information-desc{
   text-align: left;
}

/* グループ企業一覧 */
.page-about .group-enterprise-list{
   padding-top: 100px;
}
.page-about .group-enterprise-list_item{
   display: flex;
   flex-wrap: wrap;
   align-items: center;
}
.page-about .group-enterprise-list_item:not(:last-child){
   padding-bottom: 30px;
   margin-bottom: 30px;
   border-bottom: solid 1px #e2e2e2;
}
.page-about .group-enterprise-logo{
   flex-basis: 200px;
}
.page-about .group-enterprise-content{
   flex: 1;
   padding-left: 60px;
   display: flex;
   align-items: center;
}
.page-about .group-enterprise-detail{
   text-align: left;
   flex: 1;
}
.page-about .group-enterprise-detail .group-name{
   font-size: 16px;
   font-weight: bold;
   line-height: 1;
   color: #202020;
}
.page-about .group-enterprise-detail .group-genre{
   font-size: 13px;
   font-weight: normal;
   color: #909090;
}
.page-about .group-enterprise-detail .group-information{
   display: flex;
   font-size: 13px;
}
.page-about .group-enterprise-detail .group-information dt{
   font-weight: bold;
   color: #202020;
   flex-basis: 80px;
}
.page-about .group-enterprise-detail .group-information dd{
   flex: 1;
   color: #202020;
}
.page-about .group-enterprise-link{
   flex-basis: 200px;
}
.page-about .group-enterprise-link a{
   font-size: 13px;
   font-weight: bold;
   border: solid 1px #202020;
   text-align: center;
   background-color: #fff;
   padding: 10px 40px;
   position: relative;
}
.page-about .group-enterprise-link a::after{
   display: block;
   content: "\f35d";
   font-size: 10px;
   font-family: "Font Awesome 5 Free";
   font-weight: solid;
   position: absolute;
   top: 50%;
   right: 10px;
   transform: translateY(-50%);
}

@media(max-width: 768px){
   .page-about .group-enterprise-content{
      display: block;
   }
   .page-about .group-enterprise-detail{
      margin-bottom: 30px;
   }
}


@media(max-width:640px){
   .page-about .column-content{
      width: 60%;
   }
   .page-about #sec1 .column-wrapper_row{
      margin-bottom: 30px;
   }
   .page-about .column-content:nth-of-type(2){
      margin-top: 50px;
      position: absolute;
      right: 0;
      z-index: -1;
   }
   .page-about .description-detail{
      padding-left: 0;
   }
   .page-about .description-detail h3::before{
      width: 100%;
      left: 0;
   }
   .page-about #sec1 .about-content{
      margin: 50px auto 0;
      width: 90%;
   }
   .page-about .row-reverce .description-detail{
      padding-right: 0;
   }
   .page-about .row-reverce .description-detail h3::before{
      right: 0;
   }

   /* 会社情報 */
   .page-about .information-list_item{
      flex-direction: column;
   }
   .page-about .information-list_item:not(:last-child){
      border-bottom: solid 1px rgba(255,255,255,0.1);
   }
   .page-about .information-title{
      font-size: 13px;
      font-weight: 600;
      color: #909090;
   }
   .page-about .information-list_item .information-title{
      padding-bottom: 10px;
      margin-bottom: 10px;
   }
   .page-about .information-list_item .information-desc{
      padding-left: 10px;
      padding-bottom: 0;
      border-bottom: none;
   }

   /* 関連企業 */
   .page-about .group-enterprise-list_item{
      display: block;
   }
   .page-about .group-enterprise-list_item:not(:last-child){
      margin-bottom: 50px;
      padding-bottom: 20px;
   }
   .page-about .group-enterprise-logo{
      max-width: 200px;
      margin: 0 auto 30px;
   }
   .page-about .group-enterprise-content{
      padding-left: 0;
   }
   .page-about .group-enterprise-detail{
      margin-bottom: 0;
   }
   .page-about .group-enterprise-link{
      padding: 20px 0 0;
   }
   .page-about .group-enterprise-link a{
      width: 100%;
      display: block;
   }
}












/* ====================================================
**
**　　SERVICE PAGE 
**
*  ===================================================*/

.page-service #sec1 .column-wrapper_row{
   margin-top: 80px;
   align-items: flex-end;
}
.page-service #sec1 .section-title h3{
   text-transform: none;
}
.page-service .description-image{
   flex: 4;
}
.page-service .description-detail{
   flex: 6;
   padding-left: 40px;
}
.page-service .description-detail h3{
   padding-bottom: 10px;
   margin-bottom: 10px;
   position: relative;
}
.page-service .description-detail h3::before{
   display: block;
   content: "";
   width: calc(100% + 60px);
   height: 1px;
   background-color: #fff;
   position: absolute;
   bottom: 0;
   left: -60px;
}
.page-service .description-detail p{
   color: #ccc;
}
.page-service .row-reverce .description-detail{
   padding-left: initial;
   padding-right: 40px;
}
.page-service .row-reverce .description-detail h3::before{
   left: initial;
   right: -60px;
}

/* サービスコンテンツ #sec2 */
.page-service .service-content{
   padding: 0;
   overflow: hidden;
}
.page-service .service-menu{
   padding-bottom: 100px;
   max-width: 1200px;
   margin: 0 auto;
}
.page-service .service-menu_heading{
   position: relative;
   z-index: 1;
}
.page-service .service-menu_heading span{
   display: inline-block;
   font-size: 20px;
   font-weight: bold;
   padding: 10px 24px;
   background-color: #fafafa;
}
.page-service .service-menu_heading::before{
   content: "";
   width: 100%;
   height: 2px;
   background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(32,32,32,1) 50%, rgba(255,255,255,1) 100%);
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%,-50%);
   z-index: -1;
}
.page-service .service-menu_list{
   display: flex;
   flex-wrap: wrap;
   justify-content: flex-start;
   margin-right: -16px;
}
.page-service .service-menu_item{
   width: calc((100% / 5) - 16px);
   margin-right: 16px;
   margin-bottom: 16px;
   position: relative;
   z-index: 1;
}
.page-service .service-menu_item a{
   display: block;
}
.page-service .service-menu_item a:hover .service-menu_title::before{
   width: 90%;
   height: 90%;
}
.page-service .service-menu_item p{
   padding: 0;
}
.page-service .service-menu_item img{
   vertical-align: bottom;
}
.page-service .service-menu_title{
   color: #fff;
   text-align: center;
   line-height: 1.5;
   position: absolute;
   top: 0;
   bottom: 0;
   right: 0;
   left: 0;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   z-index: 2;
}
.page-service .service-menu_title::before{
   content: "";
   position: absolute;
   top: 0;
   bottom: 0;
   right: 0;
   left: 0;
   background-color: rgba(1,1,1,0.5);
   width: 100%;
   height: 100%;
   margin: auto;
   transition: 0.3s;
   z-index: -1;
}
.page-service .service-menu_title small{
   font-size: 12px;
}
.page-service .service-content-item{
   position: relative;
   overflow: hidden;
   z-index: 1;
   padding: 90px 0 60px;
}
.page-service .service-content-item::before{
   display: block;
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center center;
   z-index: -1;
}
.page-service .service-content-item--lifeline::before{
   background-image: url(../images/service-bg-lifeline.jpg);
}
.page-service .service-content-item--mobile::before{
   background-image: url(../images/service-bg-mobile.jpg);
}
.page-service .service-content-item--estate::before{
   background-image: url(../images/service-bg-estate.jpg);
}
.page-service .service-content-item--callcenter::before{
   background-image: url(../images/service-bg-callcenter.jpg);
}
.page-service .service-content-item--dental::before{
   background-image: url(../images/service-bg-dental.jpg);
}
.page-service .service-content-item--web::before{
   background-image: url(../images/service-bg-web.jpg);
}
.page-service .service-content-item--commodity::before{
   background-image: url(../images/service-bg-commodity.jpg);
}
.page-service .service-content-item--tob::before{
   background-image: url(../images/service-bg-toB.jpg);
}
.page-service .service-content-item--repair::before{
   background-image: url(../images/service-bg-repair.jpg);
}
.page-service .service-content-item--list-sale::before{
   background-image: url(../images/service-bg-risurobo.jpg);
}
.page-service .service-content-item--welfare::before{
   background-image: url(../images/service-bg-welfare.jpg);
}
.page-service .service-content-item_inner{
   max-width: 980px;
   margin: 0 auto;
}
.page-service .service-content-item--estate .column-wrapper_row,
.page-service .service-content-item--tob .column-wrapper_row,
.page-service .service-content-item--callcenter .column-wrapper_row,
.page-service .service-content-item--welfare .column-wrapper_row,
.page-service .service-content-item--mobile .column-wrapper_row{
   flex-direction: row-reverse;
}
.page-service .service-genre{
   background-color: #202020;
   position: relative;
   z-index: 1;
   flex-basis: 400px;
}
.page-service .service-genre::before{
   display: block;
   content: "";
   background-color: #202020;
   width: 999%;
   height: 100%;
   position: absolute;
   top: 0;
   z-index: -1;
}
.page-service .service-genre-left{
   padding: 30px 60px 30px 0;
   margin-right: 30px;
}
.page-service .service-genre-left::before{
   left: -998%;
}
.page-service .service-genre-right{
   padding: 30px 0 30px 60px;
   margin-left: 30px;
}
.page-service .service-genre-right::before{
   right: -998%;
}
.page-service .service-genre_cat{
   font-size: 13px;
   color: #909090;
   padding: 0;
}
.page-service .service-genre_heading{
   font-size: 31px;
   color: #fff;
   text-align: left;
   padding-bottom: 20px;
}
.page-service .service-genre_list{
   padding-left: 15px;
}
.page-service .service-genre_list li{
   list-style-type: disc;
   color: #fff;
   font-size: 15px;
   font-weight: 100;
   line-height: 1.5;
}
.page-service .service-description{
   flex: 1;
   padding: 30px 0;
}
.page-service .service-description .heading-sm{
   color: #fff;
   margin-bottom: 20px;
}
.page-service .service-description .text{
   font-size: 16px;
   line-height: 1.5;
}

.page-service .service-linkbox{
   padding-top: 50px;
}
.page-service .service-linkbox_item{
   display: flex;
   justify-content: flex-start;
   flex-wrap: wrap;
   padding-bottom: 30px;
   margin-right: -24px;
}
.page-service .service-linkbox_item a{
   width: calc((100% / 5) - 24px);
   margin-right: 24px;
}
.page-service .service-linkbox_detail{
   font-size: 13px;
   text-align: center;
   padding-top: 10px;
}
.page-service .service-linkbox_detail small{
   display: block;
   font-size: 0.8em;
}

@media(max-width: 768px){
   .page-service .service-menu_list{
      padding: 0 40px;
   }
   .page-service .service-menu_item:first-child{
      width: 100%;
   }
   .page-service .service-menu_item{
      width: calc((100% / 2) - 5px);
      margin-bottom: 10px;
   }
   .page-service .service-genre-left{
      padding: 30px 60px;
   }
   .page-service .service-genre-right{
      padding: 30px 60px;
   }
   .page-service .service-linkbox{
      padding-left: 40px;
      padding-right: 40px;
   }
   .page-service .service-linkbox_item a{
      width: calc((100% / 4) - 10px);
   }
   .page-service .service-linkbox_item::after{
      width: calc((100% / 4) - 10px);
   }
}

@media(max-width:640px){
   .page-service .service-description{
      padding: 40px 20px;
   }
   .page-service .description-detail{
      padding-left: 0;
   }
   .page-service .description-detail h3::before{
      width: 100%;
      left: 0;
   }
   .page-service .description-detail h3{
      padding-top: 20px;
   }
   .page-service .row-reverce .description-detail{
      padding-right: 0;
   }
   .page-service .row-reverce .description-detail h3::before{
      right: 0;
   }
   .page-service .service-menu_item{
      width: 100%;
   }
   .page-service .service-menu_title{
      font-size: 18px;
   }
   .page-service .service-menu_title small{
      font-size: 0.5em;
      color: #e2e2e2;
   }
   .page-service .service-genre{
      flex-basis: 0;
      max-width: 320px;
   }
   .page-service .service-genre-left{
      padding: 30px 30px 30px 60px;
   }
   .page-service .service-genre-right{
      margin-left: auto;
      padding: 30px 60px 30px 30px;
   }
   .page-service .service-content-item--water .column-wrapper_row, .page-service .service-content-item--repair .column-wrapper_row, .page-service .service-content-item--repair .column-wrapper_row{
      flex-direction: column;
   }
   .page-service .service-content-item--estate .column-wrapper_row, .page-service .service-content-item--mobile .column-wrapper_row, .page-service .service-content-item--list-sale .column-wrapper_row, .page-service .service-content-item--callcenter .column-wrapper_row, .page-service .service-content-item--welfare .column-wrapper_row, .page-service .service-content-item--tob .column-wrapper_row, .page-service .service-content-item--web .column-wrapper_row{
      flex-direction: column;
   }
   .page-service .service-linkbox{
      padding-top: 0;
      padding-left: 20px;
      padding-right: 20px;
   }
   .page-service .service-genre_heading{
      font-size: 25px;
   }
   .page-service .service-linkbox_item{
      margin-right: 0;
   }
   .page-service .service-linkbox_item a{
      width: 80%;
      margin: 0 auto;
   }
   .page-service .service-linkbox_item::after{
      width: calc((100% / 2) - 10px);
   }
   .page-service .service-linkbox_item p{
      padding-bottom: 20px;
   }
}







/* ====================================================
**
**　　RECRUIT PAGE 
**
*  ===================================================*/

.recruit-detail{
   border: solid 1px #ccc;
   padding: 20px;
}
.recruit-detail:not(:last-child){
   margin-bottom: 20px;
}
.recruit-detail .heading-sm{
   margin-bottom: 30px;
   padding-bottom: 10px;
   border-bottom: solid 1px #fff;
}









/* ====================================================
**
**　　CONTACT PAGE 
**
*  ===================================================*/

.page-contact .contact-greeting p{
   text-align: center;
}
/* .page-contact .contact-details_list{
   display: flex;
   justify-content: space-between;
   padding-bottom: 20px;
   margin-bottom: 20px;
   border-bottom: solid 1px #e2e2e2;
}
.page-contact .contact-details_list li{
   width: calc(100% / 3);
   padding: 0 40px;
   margin-bottom: 0;
   color: #202020;
   font-size: 19px;
}
.page-contact .contact-details_list li span{
   display: block;
   margin-bottom: 0;
}
.page-contact .contact-details_list li:not(:last-child){
   border-right: solid 1px #e2e2e2;
} */
.page-contact .contact-greeting .call-btn{
   display: inline-block;
   padding: 0 3px;
}
.page-contact .contact-greeting .custom-scroll-link{
   margin: 0 auto;
   width: 100%;
   font-size: 15px;
   padding: 50px 20px;
   margin-top: 30px;
}
.custom-form textarea, .custom-form input[type="text"], .custom-form input[type=email], .custom-form input[type=tel], .custom-form input[type=password]{
   background-color: rgba(1,1,1,0.1);
   font-size: 15px;
}
.custom-form .fieldset-white textarea, .custom-form .fieldset-white select, .custom-form .fieldset-white input[type="text"], .custom-form .fieldset-white input[type=email], .custom-form .fieldset-white input[type=tel], .custom-form .fieldset-white input[type=password]{
   background-color: rgba(255,255,255,0.9);
   color: #505050;
}
.page-contact .contact-form .btn{
   margin-top: 30px;
}
.btn input[type="submit"]{
   margin: 0;
   background-color: initial;
   color: #fff;
   border: none;
}











/* ====================================================
**
**　　PRIVACY PAGE 
**
*  ===================================================*/

.page-privacy-policy #sec2 h4{
   text-align: left;
   font-size: 20px;
   font-weight: 600;
   padding: 20px 0 10px;
}
.page-privacy-policy li{
   text-align: left;
   font-size: 16px;
   color: #000;
}
.page-privacy-policy p{
   color: #000;
   font-size: 16px;
}

@media(max-width: 640px){
   .page-privacy-policy .section-title h3{
      font-size: 25px;
   }
   .page-privacy-policy #sec2 h4{
      font-size: 18px;
   }
}












/* ====================================================
**
**　　MIRABLE PAGE
**
*  ===================================================*/
.page-mirable .mirable-sales-id{
   text-align: center;
   padding-top: 50px;
   margin-bottom: -50px;
}
.page-mirable #sec1{
   position: relative;
   z-index: 1;
}
.page-mirable #sec1::before{
   display: block;
   content: "";
   background-image: url(../images/mirable/mirable-parts-01.png);
   background-repeat: no-repeat;
   background-size: contain;
   z-index: -1;
   max-width: 400px;
   width: 100%;
   height: 100%;
   position: absolute;
   bottom: 0;
   right: 0;
   opacity: 0.05;

}
.page-mirable #sec1 .mirable-desc{
   margin-bottom: 80px;
}
.page-mirable .mirable-desc-text{
   margin-bottom: 10px;
}
.page-mirable .mirable-desc-small{
   display: block;
   font-size: 12px;
   color: #c2c2c2;
   padding: 0;
   text-align: center;
}

.mirable-cta-content{
   display: flex;
   flex-wrap: wrap;
   margin-bottom: 30px;
}
.mirable-cta-image{
   flex-basis: 350px;
}
.mirable-cta-image img{
   width: 100%;
   height: auto;
}
.mirable-cta-detail{
   flex: 1;
   padding: 0 24px;
}
.mirable-cta-detail a{
   display: block;
   background-color: #668ad8;
   color: #fff;
   text-align: center;
   padding: 10px 20px;
   border-radius: 5px;
   margin-left: auto;
   margin-right: auto;
}
.mirable-cta-heading{
   font-size: 18px;
   font-family: serif;
   font-weight: 600;
   padding-bottom: 10px;
}
p.mirable-cta-text{
   font-size: 16px;
   color: #707070;
   text-align: justify;
   padding-bottom: 30px;
}

/* movie-box */
.page-mirable .movie-box{
   position: relative;
   width: 100%;
   padding-top: 56.25%;
}
.page-mirable .movie-box iframe{
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}


/* #sec2 */
.page-mirable #sec2{
   overflow: hidden;
}
.page-mirable #sec2 .mirable-desc{
   margin-bottom: 100px;
}
.page-mirable .mirable-point-item{
   width: 80%;
   position: relative;
   z-index: 1;
}
.page-mirable .mirable-point-item:nth-child(odd){
   margin-left: auto;
}
.page-mirable .mirable-point-item:not(:last-child){
   margin-bottom: 100px;
}
.page-mirable .mirable-point-item .point-number{
   font-size: 160px;
   font-family: serif;
   font-weight: 100;
   font-style: italic;
   line-height: 1;
   position: absolute;
   transform: rotate(90deg);
   z-index: -1;
   color: #668ad8;
   opacity: 0.1;
}

.page-mirable .mirable-point-item:nth-child(odd) .point-number{
   top: 40%;
   left: -54%;
}
.page-mirable .mirable-point-item:nth-child(even) .point-number{
   top: 40%;
   right: -60%;
}
.page-mirable .mirable-point-heading{
   color: #668ad8;
   font-size: 30px;
   font-weight: 600;
   padding: 30px 0 10px;
}

.page-mirable .mirable-info:not(:last-child){
   margin-bottom: 50px;
}
.page-mirable .mirable-info .mirable-info-heading{
   font-size: 18px;
   font-weight: 600;
   text-align: left;
   margin-bottom: 10px;
}
.page-mirable .mirable-info .mirable-info-text{
   font-weight: normal;
   color: #e2e2e2;
   font-size: 15px;
   padding: 0;
}
.page-mirable #sec3 .mirable-desc{
   display: flex;
   justify-content: space-between;
   background-color: #202020;
   margin-bottom: 30px;
   position: relative;
   margin-top: 80px;
}
.page-mirable #sec3 .mirable-desc::before{
   content: "";
   width: 1px;
   height: 90%;
   background-color: #909090;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%,-50%);
}
.page-mirable #sec3 .mirable-desc .mirable-info{
   width: calc((100% / 2) - 12px);
   padding: 40px;
   color: #fff;
}

/* mirable-installation */
.page-mirable .section-installation .mirable-desc_imagebox{
   flex: 5;
}
.page-mirable .section-installation .mirable-desc_detail{
   flex: 5;
   padding-left: 40px;
}

/* mirable-tornado */
.page-mirable .mirable-tornado{
   padding: 0 50px;
}
.page-mirable .mirable-tornado_desc:not(:last-child){
   margin-bottom: 60px;
}
.page-mirable .mirable-tornado_imagebox{
   margin-bottom: 30px;
}
.page-mirable .mirable-tornado_heading{
   font-size: 30px;
   font-weight: 600;
   line-height: 1.3;
   color: #668ad8;
   padding-bottom: 10px;
}
.page-mirable .mirable-tornado_text{
   line-height: 1.5;
}

.page-mirable #sec3 .custom-form .wpcf7-date{
   width: 100%;
   padding: 20px;
}



@media(max-width: 640px){
   .mirable-cta-image{
      flex-basis: initial;
   }
   .mirable-cta-detail{
      padding: 20px 0 0;
   }
   .page-mirable .mirable-point-item{
      width: 85%;
   }
   .page-mirable .mirable-point-item:nth-child(odd) .point-number{
      left: -82%;
   }
   .page-mirable .mirable-point-item:nth-child(even) .point-number{
      right: -82%;
   }
   .page-mirable .mirable-info .mirable-info-heading{
      font-size: 16px;
   }
   .page-mirable .section-installation .mirable-desc_detail{
      padding-left: 0;
   }
   .page-mirable .mirable-tornado{
      padding: 0;
   }
   .page-mirable .mirable-point-heading{
      font-size: 25px;
   }
   .page-mirable .mirable-tornado_heading{
      font-size: 25px;
   }
   .page-mirable #sec3 .mirable-desc{
      flex-direction: column;
      margin-top: 50px;
   }
   .page-mirable #sec3 .mirable-desc .mirable-info{
      width: 100%;
      padding: 40px 25px;
   }
   .page-mirable .mirable-info:not(:last-child){
      margin-bottom: 0;
   }
   .page-mirable #sec3 .mirable-desc::before{
      width: 90%;
      height: 1px;
      top: 53%;
   }
   .page-mirable #sec3 .custom-form .wpcf7-date{
      padding: 10px 20px;
   }
}
@media(max-width: 375px){
   .page-mirable .mirable-point-item:nth-child(odd) .point-number{
      top: 20%;
      left: -77%;
   }
   .page-mirable .mirable-point-item:nth-child(even) .point-number{
      top: 20%;
      right: -77%;
   }
   .page-mirable .mirable-point-item .point-number{
      font-size: 100px;
   }
   .page-mirable .mirable-point-heading{
      line-height: 1.3;
   }
}















/* ====================================================
**
**　　NEWS PAGE
**
*  ===================================================*/
.page-news .article-list{
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
}

.page-news .article-list .post{
   width: calc((100% / 2) - 20px);
}

.page-news .article-list .post p{
   color: #202020;
   font-size: 14px;
}
.page-news .article-list .blog-category{
   padding: 0 10px 0 5px;
   color: #999;
   position: relative;
}
.page-news .article-list .blog-category::after{
   content: "";
   position: absolute;
   top: 45%;
   right: 0;
   transform: translateY(-50%);
   width: 1px;
   height: calc(100% - 8px);
   background-color: #999;
}
.page-news .article-list .blog-media{
   margin-bottom: 10px;
}
.page-news .article-list .blog-media img{
   object-fit: cover;
   width: 100%;
   height: 300px;
}

@media(max-width:768px){
   .page-news .article-list .blog-media img{
      height: 421px;
   }
   .page-news .article-list{
      display: block;
   }
   .page-news .article-list .post{
      width: 100%;
   }
}

@media(max-width:599px){
   .page-news .article-list .blog-media img{
      height: 250px;
   }
}







/* ====================================================
**
**　　RECRUIT PAGE
**
*  ===================================================*/
.page-recruit .column-wrapper-dark{
   background-color: #000;
}
.page-recruit h2,
.page-recruit h3{
   color: #fff !important;
}
.page-recruit h4{
   color: rgba(255,255,255,0.8);
}
.page-recruit p,
.page-recruit li,
.page-recruit th,
.page-recruit td{
   font-size: 14px;
   font-weight: bold;
   line-height: 2;
   color: #fff;
}
.page-recruit .section-title h3,
.page-recruit .section-title h4{
   text-align: left;
}
.page-recruit .section-title h3{
   font-size: 50px;
   line-height: 1.2;
}
.page-recruit .btn-entry a{
   display: block;
   padding: 10px;
   max-width: 300px;
   width: 100%;
   margin: 0 auto;
   background-color: #000;
   border: solid 1px #000;
   color: #fff;
   transition: 0.2s ease-in;
}
.page-recruit .btn-entry a:hover{
   background-color: #fff;
   border: solid 1px #000;
   color: #000;
}

/* section : 職種 */
.page-recruit .recruit-position,
.page-recruit .recruit-essentials{
   background-color: #202020;
}
.page-recruit .recruit-position .column-wrapper_row .column-wrapper_text{
   width: 60%;
   padding-right: 80px;
}
.page-recruit .recruit-position .column-wrapper_row .column-wrapper_photo{
   width: 40%;
}

/* section : インタビュー */
.page-recruit .recruit-interview .column-wrapper_item{
   display: flex;
}
.page-recruit .recruit-interview .column-wrapper_text{
   width: 35%;
   padding-right: 40px;
}
.page-recruit .interview-contents{
   width: 65%;
}
.page-recruit .interview-box{
   cursor: grab;
}
.page-recruit .interview-box_detail{
   padding: 10px;
}
.page-recruit .interview-box_profile{
   display: flex;
   flex-wrap: wrap;
   color: #fff;
   font-size: 13px;
   text-align: left;
}
.page-recruit .interview-box_profile dt{
   width: 30%;
}
.page-recruit .interview-box_profile dd{
   width: 70%;
}
.page-recruit .interview-box_text{
   line-height: 1.7;
   font-weight: normal;
   font-size: 13px;
   padding-top: 10px;
   margin-top: 10px;
   border-top: solid 1px #303030;
}

/* section : 募集要項 */
.page-recruit .recruit-essentials h3,
.page-recruit .recruit-essentials h4,
.page-recruit .recruit-essentials .column-wrapper_text p{
   text-align: center;
}
.page-recruit .recruit-essentials li,
.page-recruit .recruit-essentials dt,
.page-recruit .recruit-essentials dd{
   color: #303030;
}
.page-recruit .recruit-essentials th,
.page-recruit .recruit-essentials td{
   color: #303030;
   border: solid 1px #909090;
   line-height: 1.5;
}
.page-recruit .recruit-essentials table{
   width: 100%;
}
.page-recruit .table-details-spacer{
   padding-top: 10px;
}
.page-recruit .recruit-essentials th{
   width: 30%;
   background-color: #e2e2e2;
   padding: 27px 40px 26px;
}
.page-recruit .recruit-essentials td{
   width: 70%;
   background-color: #fff;
   padding: 24px 40px 26px;
   text-align: left;
}

/* section : インターシップ */
.page-recruit .recruit-intern h3,
.page-recruit .recruit-intern h4,
.page-recruit .recruit-intern .column-wrapper_text p{
   text-align: center;
}
.page-recruit .recruit-intern .btn-entry a{
   background-color: #303030;
}
.page-recruit .recruit-intern .btn-entry a:hover{
   background-color: #fff;
}

/* section : 新着情報 */
.page-recruit .recruit-topics{
   background-color: #303030;
}
.page-recruit .recruit-topics h3{
   text-align: center;
}
.page-recruit .article-list{
   display: flex;
   justify-content: space-between;
}
.page-recruit .article-list .post{
   width: calc((100% / 3) - 20px);
}
.page-recruit .article-list .blog-title-opt li{
   font-size: 10px;
   color: #999;
}
.page-recruit .article-list .blog-category{
   padding: 0 10px 0 0;
   position: relative;
}
.page-recruit .article-list .blog-category::after{
   content: "";
   position: absolute;
   top: 45%;
   right: 0;
   transform: translateY(-50%);
   width: 1px;
   height: calc(100% - 8px);
   background-color: #999;
}
.page-recruit .article-list .blog-media{
   margin-bottom: 10px;
}
.page-recruit .article-list .blog-media img{
   object-fit: cover;
   width: 100%;
   height: 200px;
}
.page-recruit .article-list .blog-text p{
   font-weight: normal;
   line-height: 1.5;
}

/* section : グループ企業  */
.page-recruit .recruit-company h3,
.page-recruit .recruit-company h4,
.page-recruit .recruit-company .column-wrapper_text p{
   text-align: center;
}
.page-recruit .recruit-company .btn-entry a{
   background-color: #303030;
}
.page-recruit .recruit-company .btn-entry a:hover{
   background-color: #fff;
}

/* section : 応募方法 */
.page-recruit .recruit-flow h3,
.page-recruit .recruit-flow h4{
   text-align: center;
}
.page-recruit .recruit-flow_list{
   display: flex;
   flex-wrap: wrap;
}
.page-recruit .recruit-flow_item{
   width: calc(100% / 3);
}
.page-recruit .recruit-flow_item h5{
   padding: 20px 0 0 25px;
   font-size: 20px;
   height: 69px;
   line-height: 1;
   position: relative;
   z-index: 1;
}
.page-recruit .recruit-flow_item h5 span{
   font-size: 1.5em;
   padding-right: 20px;
}
.page-recruit .recruit-flow_item h5::after{
   display: block;
   content: "";
   width: 100%;
   height: 69px;
   background-repeat: no-repeat;
   background-size: cover;
   position: absolute;
   top: 0;
   left: 0;
   z-index: -1;
}
.page-recruit .recruit-flow_item small{
   display: block;
   font-size: 12px;
   font-weight: normal;
}
.page-recruit .recruit-flow_item a{
   display: block;
   font-size: 12px;
   font-weight: normal;
}
.page-recruit .recruit-flow_item .flow01::after,
.page-recruit .recruit-flow_item .flow02::after,
.page-recruit .recruit-flow_item .flow04::after,
.page-recruit .recruit-flow_item .flow05::after{
   background-image: url(https://good-holdings.co.jp/develop/wp-content/uploads/2021/08/process_bg01.jpg);
}
.page-recruit .recruit-flow_item .flow03::after,
.page-recruit .recruit-flow_item .flow06::after{
   background-image: url(https://good-holdings.co.jp/develop/wp-content/uploads/2021/08/process_bg02.jpg);
}
.page-recruit .recruit-flow_item p{
   padding: 20px 40px 0 0;
}
.page-recruit .recruit-flow .btn-entry a{
   background-color: #303030;
}
.page-recruit .recruit-flow .btn-entry a:hover{
   background-color: #fff;
}

/* section : エントリー */
.page-recruit .recruit-entry{
   padding: 0;
}
.page-recruit .recruit-entry_contents{
   margin: 0 calc(50% - 50vw);
   position: relative;
   z-index: 1;
   background-position: center center;
}
.page-recruit .recruit-entry_contents::before{
   display: block;
   content: "";
   width: 100%;
   height: 100%;
   background-color: rgba(1,1,1,0.93);
   position: absolute;
   top: 0;
   right: 0;
   z-index: -1;
   transition: 0.3s ease-in-out;
}
.page-recruit .recruit-entry_contents:hover::before{
   background-color: rgba(255,255,255,0.8);
}
.page-recruit .recruit-entry_contents a{
   display: block;
   padding: 150px 0;
   font-size: 100px;
   color: #fff;
   transition: 0.3s ease-in-out;
   position: relative;
}
.page-recruit .recruit-entry_contents a:hover{
   color: #000;
}
.page-recruit .recruit-entry_text{
   display: inline-block;
   line-height: 1;
   position: relative;
}
.page-recruit .recruit-entry_text::after{
   content: "";
   position: absolute;
   bottom: -4px;
   left: 0;
   z-index: 3;
   width: 100%;
   height: 2px;
   background: #333;
   transform: scale(0, 1);
   transform-origin: center top;
   transition: transform .3s;
}
.page-recruit .recruit-entry_contents a:hover .recruit-entry_text::after {
transform: scale(1, 1);
}
.page-recruit .footer-inner{
   border-top: none;
}

@media(max-width: 768px){
   .page-recruit .recruit-flow_item{
      width: 100%;
      height: 170px;
   }
   .page-recruit .recruit-flow_item h5{
      padding: 20px 0 0 8px;
   }
   .page-recruit .recruit-flow_item h5::after{
      background-size: cover;
      width: 50px;
      height: 170px;
   }
   .page-recruit .recruit-flow_item p{
      padding: 0 20px 0 70px;
   }
   .page-recruit .recruit-flow_item .flow01::after,
   .page-recruit .recruit-flow_item .flow02::after,
   .page-recruit .recruit-flow_item .flow03::after,
   .page-recruit .recruit-flow_item .flow04::after,
   .page-recruit .recruit-flow_item .flow05::after{
      background-image: url(https://good-holdings.co.jp/develop/wp-content/uploads/2021/08/process_sp_bg01.jpg);
   }
   .page-recruit .recruit-flow_item .flow06::after{
      background-image: url(https://good-holdings.co.jp/develop/wp-content/uploads/2021/08/process_sp_bg02.jpg);
   }
   .page-recruit .recruit-flow .spacer-sm{
      display: none;
   }
}


@media(max-width: 599px){
   .page-recruit .section-title h3{
      font-size: 30px;
   }
   .page-recruit .recruit-position .column-wrapper_row{
      flex-direction: column-reverse;
   }
   .page-recruit .recruit-position .column-wrapper_row .column-wrapper_text,
   .page-recruit .recruit-position .column-wrapper_row .column-wrapper_photo{
      width: 100%;
      padding: 0;
   }
   .page-recruit .recruit-position .column-wrapper_row .column-wrapper_photo{
      padding-bottom: 30px;
   }
   .page-recruit .recruit-interview .column-wrapper_item{
      flex-direction: column;
   }
   .page-recruit .recruit-interview .column-wrapper_text{
      width: 100%;
      padding-right: 0;
   }
   .page-recruit .interview-contents{
      width: 100%;
   }
   .page-recruit .interview-box{
      width: 100% !important;
   }
   .page-recruit .recruit-essentials th,
   .page-recruit .recruit-essentials td{
      width: 100%;
      display: block;
      border: none;
   }
   .page-recruit .article-list{
      flex-wrap: wrap;
   }
   .page-recruit .article-list .post{
      width: 100%;
   }
   .page-recruit .recruit-flow_item{
      height: 195px;
   }
   .page-recruit .recruit-flow_item h5{
      padding: 20px 0 0 8px;
   }
   .page-recruit .recruit-flow_item h5::after{
      height: 195px;
   }
   .page-recruit .recruit-flow_item h5 span{
      font-size: 1.3em;
   }
   .page-recruit .recruit-entry_contents a{
      padding: 60px 0;
      font-size: 60px;
   }
}









/* ====================================================
**
**　　お問い合わせフォーム
**
*  ===================================================*/
.custom-form input[type=checkbox]{
   margin-bottom: 0;
}
p.custom-form_date{
   color: #505050;
}
p.custom-form_date .text-attention{
   font-size: 0.7em;
   color: #d70035;
   padding-left: 10px;
}








/* ====================================================
**
**　　フォームの入力内容確認
**
*  ===================================================*/
.page-form-check .form-check{
   padding: 80px 20px 0;
   max-width: 640px;
   margin: 0 auto;
   clear: both;
}
.page-form-check .form-check_list{
   border: solid 1px #e2e2e2;
}
.page-form-check .form-check dl{
   display: flex;
   text-align: left;
}
.page-form-check .form-check dl:not(:last-child){
   border-bottom: solid 1px #f0f0f0;
}
.page-form-check .form-check dt{
   background-color: #e2e2e2;
   padding: 10px 24px;
   flex: 3;
}
.page-form-check .form-check dd{
   background-color: #fff;
   padding: 10px 24px;
   flex: 7;
}

.page-form-check .form-check_btn{
   padding: 30px 0 60px;
}
.page-form-check .form-check_btn .wpcf7-form-control{
   border: none;
   padding: 20px 30px;
   margin: 0 10px;
   background-color: #303030;
   color: #fff;
}
.page-form-check .wpcf7 form.sent .wpcf7-response-output{
   border: none;
   padding: 80px 20px;
   color: #fff;
   max-width: 640px;
   margin: 0 auto;
   clear: both;
}
@media(max-width: 640px){
   .page-form-check .column-image{
      height: 250px;
   }
   .page-form-check .form-check dl{
      flex-direction: column;
   }
   .page-form-check .form-check dd{
      padding: 24px;
   }
   .page-form-check .form-check_btn .wpcf7-form-control{
      margin: 0 0 10px;
      width: 100%;
      max-width: 250px;
   }
}





/* ====================================================
**
**　　wordpress : 上書き・設定
**
*  ===================================================*/
/* .form-list-title{
   font-size: 16px;
   font-weight: bold;
   color: #303030;
} */
.column-wrapper-dark .wpcf7-response-output{
   color: #fff;
}
.wpcf7 .ajax-loader{
   display: none;
}