@charset "utf-8";
/*
Theme Name: SOLARIS for Sho-sekkei Service
Theme URI:https://tcd-theme.com/tcd088
Description:SOLARISを翔設計様サービスサイト用にカスタマイズしています。親テーマのバージョンアップ時にはメンテナンスしてのチェック推奨です。
Template:solaris_tcd088
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.0
*/

/*
  ここから下にCSSを追記してください。
*/

html body{font-family:YakuHanJP , "Helvetica Neue", Helvetica, Arial, "Hiragino Sans", "Yu Gothic Medium", "Meiryo", sans-serif;}

/* Body Setting  */


#main_col {
    width: 820px;
}

#side_col {
    width: 290px;
}

#main_contents:after {
    left: 860px;
}

/* Start Menu  */

.pc #header_logo img {
    max-height: 60px;
    width: auto;
}

/* スマホ表示ではロゴをヘッダー内に収め、メニューボタンの領域を確保する。 */
@media screen and (max-width: 750px) {
    .mobile #header_logo a {
        width: calc(100% - 60px);
        box-sizing: border-box;
    }

    .mobile #header_logo .logo_image.mobile {
        max-width: 100%;
        height: auto;
    }
}

div#footer_logo .logo img {
    max-width: 300px;
    width: 90%;
    margin: 10px auto;
}


#global_menu > ul > li#menu-item-89068 a {
    background-color: #1a79cc;
    color: white !important;
    font-weight: 700;
}

#header_slider .item {width:100%; /*height: 533px; */ position:relative;}
.megamenu_b .service_item_list .sub_title { display: none; }
.megamenu_c .company_list_area .title .sub_title { display: none; }





#global_menu > ul {
    text-align: right;
    padding-right: 50px;
    background-color: #ffffff;
    box-shadow: 0 0 3px 0px #333;
}

#global_menu > ul > li {
    font-size: 15px;
}

#global_menu > ul > li > a {
    font-weight: 500;
    color: #0c0c0c;
}

#global_menu > ul > li.current-menu-item > a {
    color: #1f56d8;
}

.megamenu {
    background: #fffffff5;
}

.megamenu_b .service_item_list .title {
    text-shadow: 0 0 5px black;
}


.megamenu_c .company_list_area .image {
    opacity: 0.7;
}

.mega-title{ display : none !important }



/* Slider Start */

#header_slider .catch {
    font-weight: 800;
	text-shadow: 0 0 5px black;
}

#header_slider .desc p {
    line-height: 2.0;
    font-weight: 700;
    text-shadow: 0 0 5px black;
    font-size: 24px;
}

#header_slider_wrap , #header_slider {
 /*   max-height: 500px;
	height : auto ; */
}

#header_slider .item {
/*	height: 500px; */
}

#header_slider .caption {
    /*top: 60%; */
}

#header_slider .catch {
    font-weight: 800;
	text-shadow: 0 0 5px black;
}

#header_slider .desc p {
    line-height: 2.0;
    font-weight: 700;
    text-shadow: 0 0 5px black;
    font-size: 24px;
}

#header_slider .catch.animation_type2 span {
    opacity: 1;
}

h1.title.rich_font.entry-title.single_title_font span {
	  
}

header .title.rich_font span {
    text-shadow: 0 0 3px black;
    font-weight: 700;
}

/* Slider End */

/* Content start */
body.home div#bread_crumb {
    display: none;
}

.bread_crumb_inner {
    width: auto !important;
}

p#breadcrumbs {
    max-width: 1140px;
    margin: 0 auto;
    width: 100%;
}



p#breadcrumbs a, p#breadcrumbs .breadcrumb_last {
    height: 59px;
    line-height: 60px;
    display: inline-block;
    font-size: 12px !important;
}
	
.post-type-archive-service div#bread_crumb {
    display: none;
}

@media(max-width : 1201px){
    #header #global_menu_button span {
            height: 3px;
            background: #0c358f;
    }
        
    #header{ background-color: white; }
    
    p#breadcrumbs {
        padding: 10px;
        box-sizing: border-box;
    }
    
    p#breadcrumbs a,
    p#breadcrumbs .breadcrumb_last {
        height: auto;
        line-height: 1.2;
        display: inline;
        font-size: 11px !important;
    }
}

@media(min-width:1200px){
	.bread_crumb_inner {
    margin: 0px auto;
    width: 1130px !important;
	}
}

div.cb_content , 
.cb_service_top ,
.cb_service_bottom{
    
}

div.cb_service_top{
	/* padding : 50px 70px 25px 70px ; */
}

.pc div.cb_service_middle {
    height: 490px;
}

.cb_service_list {

}

body.home h2.elementor-heading-title.elementor-size-default.typesquare_option {
    color: #00729f;
    font-size: 32px;
}

.post_content h2 {
    font-size: 24px;
    color: #00729F;
}

.cb_headline .headline {
	font-weight:900 ;

	
}

div#post_image2_wrap {
    display: none;
}

body.page #main_col {
    padding-top: 40px;
}

body div#main_contents article#article hr {
    margin: 50px -40px 53px 0;
    border-color: #ddd;
}

#post_title2 .title{
	font-weight : 900 ;
	  font-family: "Noto sans JP" !important;
}

div.tab_content_top .catch {
    line-height: 1.5;
    font-weight: 900;
}

.cb_tab_content.num2 .tab_content_top .tab .item {
    font-size: 16px;
    font-family: "Noto sans JP";
    font-weight: 900;
}

.cb_tab_content.num2 .tab_content_bottom .title {
    font-family: "Noto sans JP";
    font-weight: 900;
	margin-bottom : 20px ;
}


div.tab_content_bottom .desc {
    text-align: justify;
}

.tab_content_bottom .image_area {
    width: 250px;
    margin-right: 60px;
 }

body.home .tab_content_bottom .image_area img{
	border-radius : 10px ;
}

body.home .tab_content_bottom .content {
    width: calc(100% - 380px);
}

/* Content headings using the shared Elementor design classes. */
#article .post_content
.elementor-widget-heading.design_headline2.rich_font {
    padding: 20px 0 0 !important;
}

@media screen and (max-width: 750px) {
    #article .post_content
    .elementor-widget-heading.design_headline2.rich_font {
        margin: 33px 0 35px !important;
    }

    body .serviceBox {
        height: auto !important;
        min-height: 440px;
    }

    body .serviceBox > .elementor-container {
        min-height: 440px;
        height: auto;
        flex-direction: column;
    }

    body .serviceBox > .elementor-container > .serviceImg {
        position: absolute;
        inset: 0;
        height: 100% !important;
    }

    body .serviceBox .serviceImg > .elementor-widget-wrap,
    body .serviceBox .serviceImg .elementor-widget-image,
    body .serviceBox .serviceImg .elementor-widget-container,
    body .serviceBox .serviceImg img {
        width: 100%;
        height: 100% !important;
    }

    body .serviceBox .serviceImg > .elementor-widget-wrap {
        margin: 0 !important;
    }

    body .serviceBox .serviceImg img {
        max-height: none;
        object-fit: cover;
    }

    body .serviceBox > .elementor-container > .serviceTxt {
        position: relative;
        inset: auto;
        height: auto !important;
        min-height: 220px;
        margin-top: auto;
        box-sizing: border-box;
        justify-content: flex-start;
    }

    body.home .tab_content_bottom .image_area,
    body.home .tab_content_bottom .content {
        width: 100%;
    }

    body.home .tab_content_bottom .image_area {
        margin-right: auto;
        margin-left: auto;
    }

    body.home p.desc.inview.animate {
        text-shadow: 0 0 6px #000000;
        font-weight: 500;
        letter-spacing: 2px;
        font-size: 14px;
        text-align: justify;
    }

    body.single-result #post_image_wrap {
        padding-top: 0;
    }

    body.single-result #post_image {
        box-sizing: border-box;
    }

    body.category .c-archive-header-terms {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        inline-size: auto;
        height: auto;
        overflow-x: visible;
        white-space: normal;
        box-sizing: border-box;
        padding-inline: 20px;
    }

    body.category .c-archive-header-terms :where(a) {
        min-width: 0;
        min-height: 58px;
        height: auto;
        padding: 10px 8px;
        line-height: 1.4;
        white-space: normal;
        box-sizing: border-box;
    }
}

/* Service */
#service_list .item {
	height: 386px;
}

#service_list .content_inner {
    padding: 70px 50px 70px;
}

#service_list .title {
    font-weight: 900;
    line-height: 1.5;
    margin-top: 8px;
    font-family: "Noto sans JP";
}

#service_list .desc {
   letter-spacing: 1px;
    text-align: justify;
}

.archive_desc {
    line-height: 2.4;
    font-size: 17px;
    letter-spacing: 3px;
}

/* Content End */

/* Result / FAQ archive list (grid style) */
#result_list,
#faqs_list {
    border-top: 1px solid #ddd;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

#result_list .item,
#faqs_list .item {
    width: calc((100% - 60px) / 3);
    padding: 0 0 20px;
    border-bottom: none;
    border: 1px solid #ddd;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

#result_list .image_link,
#faqs_list .image_link {
    display: block;
    width: 100%;
    height: 230px;
}

#result_list .image_wrap,
#faqs_list .image_wrap {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

#result_list .image,
#faqs_list .image {
    width: 100%;
    height: 100%;
}

#result_list .content,
#faqs_list .content {
    flex: 1;
    min-width: auto;
    padding: 20px;
}

#result_list .content_inner,
#faqs_list .content_inner {
    position: static;
    top: auto;
    transform: none;
}

#result_list .meta,
#faqs_list .meta {
    margin-bottom: 20px;
}

#result_list .meta li,
#faqs_list .meta li {
    float: left;
}

#result_list .meta li:first-of-type,
#faqs_list .meta li:first-of-type {
    margin-right: 16px;
}

#result_list .category a,
#result_list .pr_label,
#faqs_list .category a,
#faqs_list .pr_label {
    display: inline-block;
    font-size: 12px;
    font-weight: 500;
    min-width: 110px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    background: #111;
    color: #fff;
    border-radius: 2px;
    padding: 0 20px;
}

#result_list .date,
#faqs_list .date {
    display: none;
}

#result_list .title,
#faqs_list .title {
    font-size: 24px;
    margin-bottom: 15px;
}

#result_list .title span,
#faqs_list .title span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: 19px;
}

#result_list .desc,
#faqs_list .desc {
    display: none;
}

#result_list .desc span,
#faqs_list .desc span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

/* Result single custom info */
.single-result .result_detail_info {
    margin: 40px 0;
    border: 1px solid #e1e7ef;
    padding: 30px;
    font-size: 15px;
}

.single-result .result_taxonomy_summary p {
    margin: 0 0 10px;
    line-height: 1.8;
}

.single-result .result_taxonomy_summary .label {
    font-weight: 600;
    color: #0c358f;
    margin-right: 8px;
}

.single-result .result_detail_table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

.single-result .result_detail_table th,
.single-result .result_detail_table td {
    border: 1px solid #d8e5f2;
    padding: 15px;
    text-align: left;
}

.single-result .result_detail_table th {
    width: 25%;
    background: #f1f6fb;
    font-weight: 600;
}

.single-result .result_detail_note {
    margin-top: 20px;
    line-height: 1.8;
}

/* Result archive main container adjustments */
.post-type-archive-result #blog_archive,
.tax-result_category #blog_archive,
.tax-result_cat #blog_archive,
.tax-rescat #blog_archive,
.tax-restag #blog_archive,
.tax-resunit #blog_archive,
.tax-restype #blog_archive,
.tax-resrepair #blog_archive,
.tax-resregion #blog_archive {
    width: auto;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

.post-type-archive-faqs #blog_archive,
.tax-faqs-cat #blog_archive,
.tax-faqs-author #blog_archive {
    width: auto;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

.post-type-archive-result #archive_square_headline,
.tax-result_category #archive_square_headline,
.tax-result_cat #archive_square_headline,
.tax-rescat #archive_square_headline,
.tax-restag #archive_square_headline,
.tax-resunit #archive_square_headline,
.tax-restype #archive_square_headline,
.tax-resrepair #archive_square_headline,
.tax-resregion #archive_square_headline {
    display: none;
}

.post-type-archive-faqs #archive_square_headline,
.tax-faqs-cat #archive_square_headline,
.tax-faqs-author #archive_square_headline {
    display: none;
}

@media screen and (max-width: 750px) {
    #result_list,
    #faqs_list {
        display: block;
    }

    #result_list .item,
    #faqs_list .item {
        width: 100%;
        padding: 20px 0 12px;
        margin-bottom: 15px;
    }

    #result_list .content_inner,
    #faqs_list .content_inner {
        top: 0;
        transform: translateY(0);
    }

    #result_list .category a,
    #result_list .pr_label,
    #faqs_list .category a,
    #faqs_list .pr_label {
        font-size: 11px;
        min-width: 80px;
        height: 25px;
        line-height: 26px;
        padding: 0 15px;
    }

    #result_list .title,
    #faqs_list .title {
        font-size: 18px;
    }
}



/* Custom Post type Customize */

#page_header {
  height: 400px;
  min-height: 400px;
}

#page_header_inner {
  top: 60%;
}

.post-type-archive-news div#bread_crumb {
  display: none;
}

div#blog_archive{
    border-left: 0px solid #ddd;
    border-right: 0px solid #ddd;
}

/* TCDカスタム */

.elementor-element.btn-tcd-blue-01 .elementor-button {
    outline: 0;
    vertical-align: baseline;
    text-decoration: none;
    display: inline-block;
    min-width: 260px;
    max-width: 100%;
    height: 70px;
    line-height: 70px;
    font-size: 16px;
    padding: 0 20px;
    position: relative;
    overflow: hidden;
    z-index: 3;
    box-sizing: border-box;
    transition: all .35s ease;
    color: #fff !important;
    background: #00729f;
    text-align: center;

}

.elementor-element.btn-tcd-blue-01 .elementor-button:hover {
    color: #fff !important;
    background: #004968;
}

.single-news div#post_title h1 {
    color: #00729f;
}

body.single-result #post_title .title {
    font-size: 30px;
}

body.single-result #post_title .meta_top {
    display: none;
}

body.single-result #post_image {
    width: 100%;
    height: 440px;
    position: relative;
    margin: 0 0 40px;
    border-radius: 3px;
    border: 7px white solid;
    box-shadow: 0 0 8px 3px #d4d4d4;
}

body.single-result .post_content img {
    border-radius: 3px;
    border: 5px white solid;
    box-shadow: 0 0 8px 3px #d4d4d4;
    width: 95%;
    display: inline-block;
    box-sizing: border-box;
    margin: 10px;
}

body.single-result .post_content {
    display: flex;
    flex-direction: row;
}

body.single-result h3.result_detail_info_heading.rich_font {
    font-size: 22px;
    margin: 0 0 15px -3px;
}

body.single-result .yarpp-thumbnails-horizontal .yarpp-thumbnail {
    border: 0;
    vertical-align: top;
    width: auto;
    height: auto;
    margin: 0;
}

body.single-result .yarpp-related .yarpp-thumbnail-title {
    font-size: 100%;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    width: auto;
    display: block;
}

body.single-result .yarpp-related h3 {
    font-size: 22px;
    font-weight: 900;
    margin: 0 0 15px 0;
    padding: 0 0 5px;
    text-transform: capitalize;
}

body.single-result .result_related_posts {
    margin: 40px 0;
    border: 1px solid #e1e7ef;
    padding: 30px;
    font-size: 15px;
}

body.single-result .yarpp-thumbnails-horizontal {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

body.single-result .yarpp-thumbnails-horizontal .yarpp-thumbnail img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
    border-radius: 3px;
    border: 5px white solid;
    box-shadow: 0 0 8px 3px #d4d4d4;
}

@media (max-width: 767px) {
    body.single-result .yarpp-thumbnails-horizontal {
        grid-template-columns: 1fr;
    }
}

body.tax-faqs-cat .sousei-faq-accordion {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 14px;
    margin: 0 0 40px;
    width: 100%;
}

body.tax-faqs-cat #faqs_list.sousei-faq-accordion {
    display: grid !important;
    grid-template-columns: 1fr !important;
}

body.tax-faqs-cat .sousei-faq-accordion__item {
    width: 100%;
    max-width: none;
}

body.tax-faqs-cat .sousei-faq-accordion__item {
    overflow: hidden;
    border: 1px solid #d7e3ec;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(0, 70, 110, 0.06);
}

body.tax-faqs-cat .sousei-faq-accordion__question {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 12px;
    align-items: center;
    padding: 18px 20px;
    cursor: pointer;
    color: #12345f;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
    list-style: none;
}

body.tax-faqs-cat .sousei-faq-accordion__question::-webkit-details-marker {
    display: none;
}

body.tax-faqs-cat .sousei-faq-accordion__question:after {
    content: "+";
    justify-self: end;
    color: #00729f;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
}

body.tax-faqs-cat .sousei-faq-accordion__item[open] .sousei-faq-accordion__question:after {
    content: "-";
}

body.tax-faqs-cat .sousei-faq-accordion__label {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #00729f;
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

body.tax-faqs-cat .sousei-faq-accordion__answer {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 12px;
    padding: 0 20px 22px;
    color: #333333;
    font-size: 15px;
    line-height: 1.9;
}

body.tax-faqs-cat .sousei-faq-accordion__answer .sousei-faq-accordion__label {
    background: #19a7a8;
}

body.tax-faqs-cat .sousei-faq-accordion__body p {
    margin: 0 0 1em;
}

body.tax-faqs-cat .sousei-faq-accordion__body p:last-child {
    margin-bottom: 0;
}

.sousei-floating-cta {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 9999;
    display: block;
    width: 200px;
    max-width: calc(100vw - 40px);
    line-height: 0;
    transition: opacity .2s ease;
}

.sousei-floating-cta__text {
    position: absolute;
    top: 10px;
    left: 12px;
    z-index: 2;
    display: block;
    width: 144px;
    color: #111111;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0;
    text-align: left;
}

.sousei-floating-cta:hover {
    opacity: .86;
}

.sousei-floating-cta img {
    display: block;
    width: 100%;
    height: auto;
}

@media (min-width: 1600px) {
    .sousei-floating-cta {
        width: 250px;
    }

    .sousei-floating-cta__text {
        top: 13px;
        left: 15px;
        width: 180px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .sousei-floating-cta {
        right: 12px;
        bottom: 12px;
        width: 160px;
        max-width: calc(100vw - 24px);
    }

    .sousei-floating-cta__text {
        top: 8px;
        left: 10px;
        width: 116px;
        font-size: 10.5px;
    }
}

@media (max-width: 767px) {
    body.tax-faqs-cat .sousei-faq-accordion__question {
        grid-template-columns: 32px 1fr;
        gap: 10px;
        padding: 16px;
        font-size: 16px;
    }

    body.tax-faqs-cat .sousei-faq-accordion__answer {
        grid-template-columns: 32px 1fr;
        gap: 10px;
        padding: 0 16px 18px;
    }

    body.tax-faqs-cat .sousei-faq-accordion__label {
        width: 30px;
        height: 30px;
        font-size: 14px;
    }
}
