@charset "UTF-8";

/*
Theme Name:tanabe2026
Theme URI:
Description:Tanabe House 「STORY」の子テーマ
Template:story_tcd041
Author:
Author URI:
Version:1.9.1
*/


/* 20230126 ec-sha add */
.new {color: red;font-weight: bold;font-size: 1.0em;}

/* 彩企画追加 */

.post-content p {
    font-size: 16px !important;
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", sans-serif !important;
    margin: 1.2em 0;
}

html {
    font-size: 120%;
    letter-spacing: -0.05em;
}

@media screen and (min-width: 640px){	
  .pconly { display:block; }
  .sponly { display:none; }
}
@media screen and (max-width: 640px){	
  .pconly { display:none; }
  .sponly { display:block; }
}

/* h3 */

.style3a {
    margin: 3em 0 1.5em;
    padding: 1.2em .2em 1.2em;
    font-size: 20px!important;
    font-weight: 500!important;
    border-top: 3px solid #505050!important;
    border-bottom: 3px solid #505050!important;
}

.signage {
    background-color: #eaeaea;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    display: table;
    height: 176px;
    position: relative;
    width: 100%;
}


@media only screen and (max-width: 1200px){
body header.header .signage {
        display: flex !important;
        align-items: center !important; /* 縦の中央揃え */
        justify-content: center !important; /* 横の中央揃え */
        height: 90px !important;
        width: 100% !important;
        margin-top: 0 !important; /* JSが付与する上の白い隙間を強制リセット */
    }
    
    body header.header .signage-content {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        position: static !important; /* JSによる絶対配置を強制解除 */
        transform: none !important;  /* JSによるズレを強制解除 */
    }

    /* タイトルの余白をリセット */
    body header.header .signage-content h1 {
        margin: 0 !important; 
        padding: 0 !important;
        line-height: 1.2 !important;
    }

    /* 空のサブタイトルタグを非表示 */
    body header.header .signage-content p.signage-title-sub {
        display: none !important; 
    }
}


/* 次ページへリンク */

.page_more {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    margin:0 auto;
    padding: 1.1em 2em;
    border: none;
    border-radius: 5px;
    box-shadow: 0 2px 3px rgb(0 0 0 / 25%), 0 2px 3px -2px rgb(0 0 0 / 15%);
    background-color: #2e6580;
    font-weight: 400;
    font-size: 0.9em;
    color: #fff;
}

.page_more::after {
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    margin-left: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: '';
}

.page_more:hover {
    background-color: #1e5570;
}


/* .page_more 内のリンク文字色を白にする */
.page_more a,
.page_more a:visited {
    color: #ffffff !important;
}

/* ホバー時の文字色も白く保ちたい場合 */
.page_more a:hover {
    color: #ffffff !important;
}

/* 次ページへリンク */


/* 見出し(中)  */

.post-content .style4a {
    font-size: 20px!important;
    font-weight: 600!important;
}

.style4a {
    margin: 2.5em 2px 1.2em;
    padding: .3em 0 .3em .8em;
    font-size: 20px;
    font-weight: 600;
    border-bottom: none;
    border-left: 4px solid #222!important;
}


/* 見出し(中)  */

.pink {
    color: #2e6580;
}


/* 見出し(小)  */

.style5a {
    margin: 2em 0 1em;
    padding: .5em .8em .3em 1em;
    font-weight: 700;
    font-size: 18px;
    background: #f5f5f5;
    box-shadow: 0px 2px 0px 0px #f2f2f2;
}


/* 見出し(小)  */


/* イベント情報ページ */

.signage-title {
    display: block !important;
}

.eventtopimg {
    max-width: 600px!important;
}


/* お問い合わせフォーム */

input[type=date],
input[type=text],
input[type=tel],
input[type=email],
select,
option {
    font-size: 18px;
}

span.wpcf7-list-item {
    display: block !important;
}

input[type=text],
input[type=email],
input[type=tel] {
    width: 70%;
}

input[type=date]:focus,
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus {
    border: solid 1px #20b2aa;
}

input[type=date],
input[type=text],
select,
input[type=email],
input[type=tel] {
    outline: none;
}

.contact_right textarea {
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -o-border-radius: 5px;
    -ms-border-radius: 5px;
    border: #a9a9a9 1px solid;
    -moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
    width: 100%;
    padding: 0 3px;
}

.contact_right textarea:focus {
    border: solid 1px #20b2aa;
}

.contact_right textarea {
    outline: none;
    width: 100%;
}

input[type=button],
input[type=submit] {
    font-family: "游ゴシック", "Yu Gothic", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif!important;
    background: #ecdedd;
    transition: all 0.3s;
    margin: 0px auto 0px;
    color: #062363;
    font-size: 18px;
    font-weight: bold;
    padding: 10px 10px;
    display: inline-block;
    cursor: pointer;
    border: 2px solid #ecdedd;
    border-radius: 10px;
    width: 320px;
    max-width: 100%;
    height: 60px;
}

@media (max-width: 767px) {
    input[type=button],
    input[type=submit] {
        width: 100%;
    }
}

input[type=button]:hover,
input[type=submit]:hover {
    box-shadow: 2px 2px 2px #777;
}

.contact_form input[type=submit] {
    width: 50%;
}

.contact_form input[type=text],
.contact_form input[type=email] {
    width: 100%;
    height: 50px;
    font-size: 18em;
}

input[type="radio"] {
    margin: 0 0 4px 0 !important;
}

.send input[type="submit"],
.back input[type="button"] {
    width: 80% !important;
}

.send {
    width: 49%;
    display: inline-block;
    float: right;
    text-align: left!important;
}

.back {
    float: left;
    text-align: right!important;
    width: 46%;
    display: inline-block;
}

.confirm {
    font-family: "游ゴシック", "Yu Gothic", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif!important;
    text-align: center;
    margin: 0px 0px;
}

.wpcf7-form {
    font-family: "游ゴシック", "Yu Gothic", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif!important;
    margin-bottom: 20px;
}

.wpcf7-form input[type=text],
.wpcf7-form input[type=email],
.wpcf7-form input[type=tel] {
    width: 100%;
    vertical-align: middle;
}


/*名前、メール、題名*/

.wpcf7-form textarea {
    width: 100%;
}


/*本文*/

.wpcf7-form .wpcf7-submit {
    width: 200px;
    margin-left: 10px;
}


/*送信ボタン*/

.wpcf7-form::after {
    clear: both;
    display: block;
    content: "";
}

.contactform {
    margin: 0px 0px 5px 0px;
    border: solid 0px #c99269;
    border-collapse: collapse;
    text-align: left;
    line-height: 1.5em;
    width: 100%;
}

.contactform p {
    padding: 0px;
    margin-bottom: 2px;
}

.contactform th {
    border: solid 1px #dddddd;
    background: #f6f6f6;
    text-align: left;
    padding: 10px 10px;
    font-weight: 400;
    width: 15em;
    vertical-align: middle;
    font-size: 16px;
}

.contactform td {
    border: solid 1px #dddddd;
    padding: 10px 10px;
    font-size: 16px;
}

.contactform .spr {
    color: #ee0000;
    display: inline-block;
    padding: 1px 5px;
    float: right;
    font-size: 16px;
}

.contactform .spw {
    display: inline-block;
    font-size: 16px;
    height: 42px;
}

.wpcf7-form dt.siryoubloc {
    background: #ffff80;
    padding: 10px 20px 20px;
}

.wpcf7-form dt.siryoubloc .bloc1 {
    border: 1px solid #ddd;
    background: #fff;
    padding: 10px 10px;
    margin-top: 10px;
}

.wpcf7-form dd.kentikuyo {
    display: flex;
}

.wpcf7-form dd #kentikuyotei {
    display: inline;
}

.wpcf7-form .kentikuyotei {}

.wpcf7-form .kentikuyotei .wpcf7-list-item,
.wpcf7-form .soudantypes .wpcf7-list-item {
    width: 110px;
    display: inline-block;
    margin-top: 5px;
}

.wpcf7 {
    border: none;
    background: #fff;
}

.wpcf7 form {
    margin: 1.5em 0 0;
}

.wpcf7 .wpcf7-list-item-label {
    font-size: 16px;
}

@media only screen and (max-width: 480px) {
    .contactform th,
    .contactform td {
        display: block;
        width: auto;
        padding: 10px;
    }
    .wpcf7-form textarea {
        width: 95%;
    }
}

.wpcf7-list-item {
  margin: 0;
}

/* スタッフ紹介一覧サムネイル画像の調整 */

.article03-thumbnail img {
    height: auto;
    object-fit: none;
}

@media (max-width: 1200px) {
    .article03-thumbnail img {
        height: auto;
		object-fit: cover;
    }
}

/* 施工例などのアーカイブページサムネイルを元のサイズ(高さ180px)で揃える */
.post-type-archive-works .article03-thumbnail img {
    width: 100%;
    height: 180px;
    object-fit: cover; /* 縦横比を保ちながら枠いっぱいにトリミング */
}


/* スマホ回り込み禁止 */

@media (max-width: 1200px) {
    .sp_imgdb {
        display: block !important;
        float: none !important;
        margin: 0 auto !important;
    }
}

@media (max-width: 1200px) {
    img.alignleft,
    .wp-caption.alignleft {
        float: none;
    }
    img.alignright,
    .wp-caption.alignright {
        float: none;
    }
}


/* スマホ回り込み禁止 */

.wpcf7 input.wpcf7-submit {
    background-color: #062363;
}

.top-slider-content-inner {
    background: #00000000!important;
}


.breadcrumb-wrapper {position: unset;}



/* 2列並び */
*, *:before, *:after {
	box-sizing: border-box;
}
.col_2{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_2 > div{
	width: 50%;
	padding: 10px;
}
@media screen and (max-width: 960px) {
	.col_2 > div{
		width: 100%;
	}
}
/* 2列並び */


/* 画像はスマホで回り込みしない */
@media screen and (max-width: 960px) {
.sp_imgdb {
    display: block !important;
    float: none !important;
    margin: 0 auto !important;
	}
}

/* スマホのヘッダー画像調整 */
.post-header {
  margin: 90px auto 60px;
  text-align: center;
}
@media screen and (max-width: 767px) {
.post-header{
	margin: 30px auto 10px!important;
	}
}

@media screen and (max-width: 767px) {
#mainconkizi {
	padding: 0px 0px 40px 0px;
	width: 100%;
}
}

/* 施工例の物件概要 */
.bukkengaiyou {margin:50px 0;}
.data-items dl {font-size: 16px;display: block;height: auto;width: calc( (100% - 24px) / 2 );margin-right: 24px;padding: 10px 0 30px;border-bottom: 1px solid #ddd;box-sizing: border-box;}
.data-items dl:nth-of-type(2n) {margin-right: 0;}
.data-items dl dt {float: left;padding-left: 5px;box-sizing: border-box;line-height: 1.5;font-weight: normal;}
.data-items dl dd {padding-left: 180px;margin-bottom: 0;line-height: 1.5;}
.data-items dl:last-child {height: auto;padding: 10px 0 24px;}


@media screen and (max-width: 640px) {  
    .data-items {display: block;}
    .data-items dl {width: 100%;margin-right: 0px;}
    .data-items dl {height: auto;}
    .data-items dl dd {padding-left: 50%;}
}

/* topスライド ipad調整 */
@media screen and (min-width:960px) and ( max-width:1366px) {
.top-slider {height: calc(72vh - 100px);}
.top-slider span {margin-top: 25px;}
}

@media screen and (min-width:520px) and ( max-width:959px) {
.top-slider {height: calc(36vh - 33px)!important;}
.top-slider span {margin-top: 25px;}
}

@media screen and (max-width:519px) {
.top-slider {height: calc(80vh - 55px)!important;}
}


/* トップページのイベント一覧調整 */
.event-content {padding: 15px 0 0 0;}
.event-mousikomi {background-color: #062363; color: #fff; text-align: center; margin: 20px 0 0;}

@media screen and (min-width:481px) and ( max-width:959px) {
.event-item a {padding: 10px!important;}
.content02-inner {padding: 0!important;}
.article10 > a > img {height: 20vh!important;}
}

@media screen and (max-width:480px) {
    .top-event-wrap {display: block!important;}
    .event-item { width: 45%!important; margin: 10px auto!important;}
	.event-item a {padding: 20px!important;}
	.event-mousikomi {margin: 20px 0 0; padding: 10px; font-weight: bold;}
}


.content02-inner {
    padding: 60px 0 0px;
}


@media screen and (max-width:480px) {
    .fade02 {transform: none;}
    .fade01 {transition: none;}
}

.article10-content {
    position: sticky!important;
}


@media screen and (max-width: 767px) {
.fudousan_detail {display: block;text-align: center;}
/*.fudousan_img {width: 22%;margin: 2% 0.5% 0;}*/
}

.fudousan_img_th {width:100%;}
.fudousan_img_thum {width:100%;}



/* ----------------------------------------------------------------------
 引用
---------------------------------------------------------------------- */
blockquote {
    margin: 0 0 25px 0;
    padding: 27px 30px 0;
    border: 1px solid #ccc;
    box-shadow: 0px 4px 0px 0px #f2f2f2;
    position: relative;
}

blockquote:before {
    content: '"';
    font-style: italic;
    font-size: 30px;
    font-weight: normal;
    line-height: 40px;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 5px;
    left: 10px;
    color: #5cbcd7;
}

blockquote:after {
    content: '"';
    font-style: italic;
    font-size: 30px;
    font-weight: normal;
    text-align: left;
    line-height: 60px;
    width: 30px;
    height: 30px;
    position: absolute;
    bottom: 7px;
    right: -2px;
    color: #5cbcd7;
}


.box01 {
    padding: 0.5em 1em;
    margin: 2em 0;
    background: #f0f7ff;
    border: dashed 1px #999999;/*点線*/
}
.box01 p {
    margin: 0; 
    padding: 0;
}

.article10 {background: #eee;}

.article10-thumbnail-c {
	height:16vw;
	display: block;
	overflow: hidden;
}

.article10-thumbnail-c img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    display: block;
}

.top-works-wrap {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}


/* ---------------------------------
   2. スマートフォン用メディアクエリ
--------------------------------- */
@media screen and (max-width: 767px) {
    .article10-thumbnail-c {
        height: 45vw !important; 
    }
}



/* 記事全体のレイアウト調整（横並びにするための設定例） */
.top-works-wrap {
    display: flex;
    justify-content: center; /* 全体を中央寄せ */
    flex-wrap: wrap; /* 画面幅が狭い場合は折り返す */
}

.article10 {
    width: 25%; /* 4つ並べる場合。適宜調整してください */
    /* ...その他の設定... */
}



@media screen and (max-width: 767px) { 
.article10-thumbnail-c {height:150px;}
}

.article10-thumbnail-c img {
  height: auto;
  object-fit: cover;
	width:100%;
}

@media screen and (max-width: 767px) { 
.top-slider span {
  background-size: 100%;
}
 }

.bloc01 {
    border: 1px dashed #dddddd;
    background: #fff;
    padding: 10px 10px;
    margin-top: 10px;
    line-height: 1.6;
}


.bloc02 {
    border: 1px solid #dddddd;
    background: #fff;
    padding: 10px 10px;
    margin-top: 10px;
}


.top-cm {
    background-color: #faf8f9;
padding: 40px 0 50px;
}

@media screen and (max-width: 640px) {
    .top-cm iframe {
        max-width: 100% !important;
        height: auto;
        aspect-ratio: 640/360;
    }
}

.is-provider-youtube iframe {
    max-width: 100% !important;
    height: auto;
    aspect-ratio: 500/281;
}

.q_button {
    background-color: #2e6580;
}


/*** YouTubeサムネSP ***/
@media only screen and (max-width: 767px){
    .article03-title {
        font-size: 16px!important;
        margin: 0em 0 0.16667em!important;
        height: 54px!important;
    }
    }
@media only screen and (max-width: 767px){
.wp-block-embed {
    margin-bottom: 0em;
}
}


/*** YouTubeサムネSP ***/


.news-category{
    font-size: 13px;
}


.box-blink {
    animation: flash 1.0s linear infinite;
    width: 300px;
    height: 80px;
    background: #1a2b54;
    color: #fff!important;
    margin: 20px auto;
    text-align: center;
    padding: 17px;
}

@keyframes flash {

	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: 0;
	}
}

@media screen and (max-width: 960px) {
    .box-blink {
        animation: flash 1.0s linear infinite;
        width: 300px;
        height: 45px;
        background: #1a2b54;
        color: #fff!important;
        margin: 20px auto;
        text-align: center;
        padding: 4px;
    }
}



.box02 {
    padding: 0.5em 1em;
    margin: 2em 0;
    background: #fff;
    border: solid 2px #9F9E9E;
}
.box02 p {
    margin: 0; 
    padding: 0;
}


.box03 {
    padding: 0.5em 1em;
    margin: 2em 0;
    background: #fff;
    border: solid 1px #999999;
}
.box03 p {
    margin: 0; 
    padding: 0;
}


*, *:before, *:after {
	box-sizing: border-box;
}


.col_4{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_4 > div{
	width: 25%;
	padding: 10px;
}
@media screen and (max-width: 960px) {
	.col_4 > div{
		width: 33.33333%;
	}
}
@media screen and (max-width: 480px) {
	.col_4 > div{
		width: 50%;
	}
}


*, *:before, *:after {
	box-sizing: border-box;
}
.col_3{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_3 > div{
	width: 33.33333%;
	padding: 10px;
}
@media screen and (max-width: 960px) {
	.col_3 > div{
		width: 50%;
	}
}
@media screen and (max-width: 480px) {
	.col_3 > div{
		width: 100%;
	}
}

#iemiru-cms-index-page .index-page__events-event .index-page__events-event-name {
    font-size: 18px!important;
}

#iemiru-cms-index-page .index-page__events-event .index-page__events-event-description {
    font-size: 16px!important;
}

/****** イベント情報読み込み ******/
@media screen and (max-width: 780px) {
    #iemiru-cms-index-page {
        max-width: 374px!important;
    }
}
/****** イベント情報読み込み ******/


.hoshou_bn{
    font-size: 0.9em;
    text-align: center;
    padding: 26px;
}

.banner{
margin: 0px 0px 0px 0px;
text-align:center;
}

.banner a:hover img{
  opacity:0.7;
  filter: alpha(opacity=70); 
}


.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9のアスペクト比 */
    height: 0;
}

.youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.kanbai-label {position: relative;}
.kanbai-label img {
    max-width: 120px;
    position: absolute;
    background-color: #fff;
    border-radius: 100px;
    top: 10px;
    left: 10px;
    padding: 5px;
}



/*** お客様の声アーカイブ見出し ****/
h2.ttl_center4 {
  font-weight: bold;
  font-size: 1.2em;
  padding: 0 3em;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
  position: relative;
}
h2.ttl_center4::before, .ttl_center4::after {
  content: '';
  background: #999999;
  width: 2em;
  height: 2px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
h2.ttl_center4::before {
  left: 0;
}
h2.ttl_center4::after {
  right: 0;
}

.bg_movie{
    background-color: #eaeaea;
    padding-top: 1px;
    margin-top: 50px;
}

 /* パナソニック動画のキャッチ */
.top_movie {
  position: relative;
  line-height: 1.4;
  padding: 0.25em 1.2em;
  display: inline-block;
  box-sizing: border-box;
  margin-bottom: 16px;
}


.top_movie::before,
.top_movie::after {
  content: '';
  position: absolute;
  top: 0;
  width: 10px; 
  height: 100%;
  display: inline-block;
  box-sizing: border-box;
}

/* 左側のカッコ [ */
.top_movie::before {
  border-left: solid 2px #505050;
  border-top: solid 2px #505050;
  border-bottom: solid 2px #505050;
  left: 0;
}

/* 右側のカッコ ] */
.top_movie::after {
  border-right: solid 2px #505050;
  border-top: solid 2px #505050;
  border-bottom: solid 2px #505050;
  right: 0;
}



.mt100{
  margin-top: 100px;
}
@media screen and (max-width: 780px) {
  .mt100{
    margin-top: 50px!important;
  }
}

/* TOPテクノストラクチャーの動画 */
.video-container {
  width: 100%;           /* 横幅いっぱい */
  max-width: 640px;      /* 大きくなりすぎないよう制限（任意） */
  margin: 0 auto;        /* 中央寄せ */
  aspect-ratio: 16 / 9;  /* YouTubeの標準比率 */
}

.video-container iframe {
  width: 100%;
  height: 100%;
}

/* サブメニュー（ドロップダウン）の文字サイズを変更 */
.global-nav .sub-menu li a {
    font-size: 14px;
}

/* 孫メニュー（3階層目）の配置と表示設定 */
.global-nav ul.sub-menu ul.sub-menu {
    position: absolute;
    top: 0;
    left: 100%; /* 子メニューの右横に配置する */
    display: none; /* 通常時は非表示にする */
    min-width: 250px; /* 孫メニューの横幅（必要に応じて数値を調整） */
    box-shadow: 2px 2px 5px rgba(0,0,0,0.1); /* 少し影をつけて見やすくする */
}

/* 子メニューにマウスを乗せた時に孫メニューを表示する */
.global-nav ul.sub-menu li:hover > ul.sub-menu {
    display: block;
}

/* サイドバー：最新記事タイトルのフォントサイズ調整 */
#sideblog .blogtopic li a {
    font-size: 16px;
}

/** 施工事例スマホでタテ写真の文章が見えるようにする **/
@media screen and (max-width: 768px) {
    /* スライド全体の構造を縦並びに強制する */
    .fancybox__slide.has-caption {
        flex-direction: column !important;
        justify-content: center !important;
        padding-bottom: 80px !important; /* フッター固定メニューの被りを防止 */
    }
    
    /* 画像の高さ制限をより強力に指定（iOS対策） */
    .fancybox__slide.has-caption .fancybox__content {
        max-height: 45vh !important;
        height: 45vh !important;
        min-height: auto !important;
        margin-bottom: 10px !important; /* 画像とテキストの間に少し隙間を作る */
    }
    
    /* キャプションを強制的に全表示・位置リセット */
    .fancybox__caption {
        position: relative !important;
        bottom: auto !important;
        max-height: none !important;
        height: auto !important;
        overflow-y: visible !important;
        z-index: 99999 !important;
        padding: 10px 15px !important;
    }
}

.mt100{
    margin-top: 100px;
}

.mt50{
    margin-top: 50px;
}

/* 固定ページの本文上部タイトルを非表示 */
.page .post-header {
    display: none;
}

/* ヘッダーテキストのアニメーション表示を早くする */
.signage-content {
    -webkit-animation: fadeIn 1s ease 0.3s !important;
    animation: fadeIn 1s ease 0.3s !important;
}

/* ヘッダー文字の光彩（ドロップシャドウ）を完全に消す */
.signage-content {
    text-shadow: none !important;
}

/* 固定ページのコンテンツ幅を調整して中央寄せにする */
.primary-full {
    margin-left: auto !important; margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100%; /* 横幅制限を解除 */
}

/* 固定ページ（フル幅）のコンテンツを幅一杯に広げる */
.page-template-default .primary-full,
.post-type-page .primary-full    {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.page-template-default .post-content,
.post-type-page .post-content {
    width: 100% !important;
    max-width: 1200px !important; / 広がりすぎを防ぎたい場合はお好みで調整してください /
    margin: 0 auto !important;
    box-sizing: border-box !important; / ← 追記: はみ出し防止 */
}

/* 個別記事ページの本文上部にあるタイトル（mB）を非表示にする */
.single .mB {
    display: none !important;
}


/* メイン画像とサブ画像の間に隙間を空ける */
.main-img {
    margin-bottom: 40px !important; /* お好みで 30px〜50px などに調整してください */
}

/* 施工事例のサブ画像を強制的に横並び（5列）にする */
.sub-img {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-bottom: 90px !important;
}

.sub-img .item-img {
    width: calc(20% - 8px) !important;
    margin: 0 10px 10px 0 !important;
    box-sizing: border-box !important;
}

.sub-img .item-img:nth-of-type(5n) {
    margin-right: 0 !important;
}

/* -------------------------------------------
追加：MYS（page-id-10623）専用のフル幅設定
------------------------------------------- */

/* 1. 平屋ページだけは、post-contentの1200px制限を解除して画面いっぱいに広げる */
body.page-id-10623 .post-content {
    max-width: 100% !important;
    padding: 0 !important;
}

/* 2. 平屋ページのメイン画像は画面幅いっぱいに表示 /
left: auto !important;
transform: none !important;
}

/* 3. スマホ用メイン画像も画面幅いっぱいに表示 */
body.page-id-10623 .post-content > img.sponly {
    width: 100% !important;
    max-width: 100% !important;
}

/* 4. フル幅にした平屋ページ内で、メイン画像「以外」のコンテンツを中央に寄せる */
body.page-id-10623 .post-content > div:not(.content_mys):not(.plan-bleed-container) {
    max-width: 1150px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ==========================================
   【地震保証ページ（ID: 8489）専用レイアウト】
   TCDテーマの親枠制限を解除し、パンくずリストと縦線を揃える
   ========================================== */

/* ① このページのみ、親枠の幅制限と隠れ余白を完全に無効化して画面いっぱいに広げる */
body.page-id-8489 .primary,
body.page-id-8489 .primary-full,
body.page-id-8489 .post-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* ② エディタ内の .inner を、パンくずリストと同じ幅（1150px）で中央配置する */
body.page-id-8489 .post-content .inner {
    max-width: 1150px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* ③ 青背景エリアは画面幅（100%）に広げる */
body.page-id-8489 .bg-blue {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* ④ 青背景の中にある .inner のみ、記述されている余白（15px）を活かす */
body.page-id-8489 .bg-blue .inner {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.mt50{
    margin-top: 50px;
}

.mb30{
    margin-bottom: 30px;
}

.page_more a {
    color: #fff;
}

/* 施工事例の概要部分 */
.post-content dt {
    font-weight: bold;
    font-size: 1.2em;
}

/* FORCASA CUBEページ (ID:7622) を全画面幅に広げる */
.page-id-7622 .inner_b,
.page-id-7622 .post-content {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    padding: 1px 0; /* マージン相殺防止用 */
}

.page-id-7622 .inner_b {
    background-color: #111111;
}

.page-id-7622 .post-content {
    background-color: #0F0806;
}


/* DESIGN PLANページ (ID:10226) を全画面幅に広げる */
.page-id-10226 .inner_b,
.page-id-10226 .post-content {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    padding: 1px 0; /* マージン相殺防止用 */
    background-color: #ffffff !important;
}

.page-id-10226 .inner_b {
    background-color: #111111;
    background-color: #111111 !important;
}

#side-fix {position:fixed;right:0px;top:50%;}
#side-fix ul>li {}
#side-fix ul>li>a {display:block;}
#side-fix ul>li>a>img {width:63px;height:63px; border: solid 1px #eee; background-color: #ffffff;}


/*** 関連ページボタン ***/
.conce-button {
	display: inline-block;
	color: #333333;
	background-color: #fff;
	border: solid 1px #2e6580;
	border-radius: 2px;
	text-decoration: none;
	padding: 10px 50px;
	transition: 0.4s;
	position: relative;
    line-height: 1.4;
    font-size: 16px;
	width: 360px;
}
.conce-button:after {
	position: absolute;
	top: 11px;
	right: 18px;
	content: "\e315";
	font-family: "Material Icons";
	transition: 0.4s;
}

.conce-button:hover {
	opacity: 0.8;
}
.conce-button:hover:after {
	right: 4px;
}


@media screen and (max-width: 960px) {
.conce-button {
	display: inline-block;
	color: #333333;
	background-color: #fff;
	border: solid 1px #2e6580;
	border-radius: 2px;
	text-decoration: none;
	padding: 10px 5px;
	transition: 0.4s;
	position: relative;
    line-height: 1.4;
    font-size: 14px;
	width: 90%;
}
.conce-button:after {
	position: absolute;
	top: 11px;
	right: 2px;
	content: "\e315";
	font-family: "Material Icons";
	transition: 0.4s;
}

.conce-button:hover {
	opacity: 0.8;
}
.conce-button:hover:after {
	right: 4px;
}
}

/*** 関連ページボタン ***/

.col_33{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_33 > div{
	width: 33.33333%;
	padding: 10px 10px;
}
@media screen and (max-width: 960px) {
	.col_33 > div{
		width: 50%;
	}
}
@media screen and (max-width: 480px) {
	.col_33 > div{
		width: 100%;
	}
}

/*** 関連ページボタン ***/


.heading-6 {
    text-align: center;
    color: #333333;
    position: relative;
    margin: 40px 0;
}

.heading-6 span {
    display: inline-block;
    position: relative;
    padding: 0 60px; 
}

/* 左右の短い印の線 */
.heading-6 span::before,
.heading-6 span::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 45px;
    height: 2px;
    background-color: #062363;
    transform: translateY(-50%);
}

.heading-6 span::before {
    left: 0;
}

.heading-6 span::after {
    right: 0;
}

.sb_instagram_header {display:none!important;}
.p-front-instagram__list {background-color: #0000 !important;}


/* おすすめ動画タイトルの高さを完全に2行分に固定してガタつきを防ぐ */
.post-type-archive-movie #infinitescroll article .article03-title {
    line-height: 1.5 !important;
    height: 3em !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    margin-bottom: 0 !important;
}

/* ===================================================
   テーマ側の自動配置（段違いの原因）を無効化し、純粋なグリッドにする
   =================================================== */
.post-type-archive-movie #infinitescroll {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    height: auto !important; /* JSが勝手に付与する親要素の高さをリセット */
}

.post-type-archive-movie #infinitescroll article {
    position: static !important; /* JSによる絶対配置(top, left等)を完全無効化 */
    width: 48.5% !important;     /* 横幅を固定して綺麗な2列にする */
    margin-bottom: 40px !important; /* 下の余白 */
}

/* スマホ表示（画面幅768px以下）の場合は1列にする */
@media screen and (max-width: 768px) {
    .post-type-archive-movie #infinitescroll article {
        width: 100% !important;
        margin-bottom: 30px !important;
    }
}

/* テキストエリアの横幅を動画サイズ（500px）に合わせて右側の出っ張りを防ぐ */
.post-type-archive-movie #infinitescroll article .article03-content {
    max-width: 500px !important;
}