@charset "utf-8";
/*
Theme Name:mrp04-child
Template:mrp04
Version: 0.01
*/

/*-------------------------
H.M. Adjust Css 2018/07/04
--------------------------*/
/* 基本css
------------------------------------------------------------*/
body {
font-weight: 600;
	overflow-x:hidden;	
}
#wrapper, #content, .post{
	overflow: visible;
	}
.home #header {
	position: absolute;
	z-index: 100;
	margin-right: calc(((100vw - 100%) / 2) * -1);
	width: 100%;
	background: rgba(255, 255, 255, 1);
}
.bgfix { background-attachment:fixed !important;}
.ipod .bgfix { background-attachment:scroll !important; }
.iphone .bgfix { background-attachment:scroll !important; }
.ipad .bgfix { background-attachment:scroll !important; }
.center {
text-align:center;
}
.left {
text-align:left;
}
.right {
text-align:right;
}
.bottom {
vertical-align:bottom !important;
}
.mt10 {
margin-top:10px;
}
.mt20 {
margin-top:20px;
}
.mt30 {
margin-top:30px;
}
.mb10 {
margin-bottom:10px;
}
.mb20 {
margin-bottom:20px;
}
.mb30 {
margin-bottom:30px;
}
.must {
color: #ffffff;
background: #f94e4e;
border-radius: 5px;
padding: 1px 4px;
margin-left: 3px;
}
.qrcode {
text-align: center;
}
p.caution {
padding: 0;
color: #980f1a;
}
#breadcrumb ul li a, #breadcrumb ul li {
color: #2265ab;
}
p.name_ceo {
    text-align: right;
    font-size: 140%;
    font-weight: bold;
    color: #000;
}
/*------------------------------------------------
レスポンシブ時サムネイル/パンくず
------------------------------------------------*/
/*------　レスポンシブ　--------*/
@media only screen and (max-width: 640px){
#thumbImg img{
	margin-top: 48px;
}
	.mobile #breadcrumb{
		margin-top:50px;
	}
}
/*------------------------------------------------
背景グレー汎用
------------------------------------------------*/
.CBlock-color {
    margin-right: calc(((100vw - 100%) / 2) * -1);
    margin-left: calc(((100vw - 100%) / 2) * -1);
    padding: 4em calc((100vw - 100%) / 2);
	background-color:#f0f0f0;
	color: #252525;
    position:relative;
	margin-top:4em;
	margin-bottom:2em;
}
/*------------------------------------------------
ポストのイメージ、高さ調整
------------------------------------------------*/
.post4b .post4b_img {
text-align: center;
}
.post img{
border:0 !important;
padding:0 !important;
}
.post p{
line-height:150%; 
letter-spacing:0.02em; 
padding:10px;
box-sizing: border-box;
}
.post{
padding:30px;
margin-bottom: 30px;
}
.post img {
max-width: 100%;
height: auto;
padding: 0 !important;
margin: 0 auto !important;
border: none !important;
}

.post img.aligncenter, .post img.alignright, .post img.alignleft{
background: transparent;
}

.home .post{
	background-color: transparent;
	margin-bottom: 0;
	padding: 0;
}
.page-domestic .post, .page-overseas .post{
	padding: 0;
	margin-bottom: 0;
}
.post img.aligncenter, .post img.alignright, .post img.alignleft{
background:transparent;
}
.post4b h2 a {
font-size: 18px;
color: #2b2b2b;
}
#header-layout{
padding: 10px 0;
}
/*------　タイムポスト　--------*/
.post .time, .postlist .time, .post2b .time, .post4b .time{
padding: 8px 12px 5px 12px;
}
.postlist .time, .post4b .time{
border-radius:0;
}
#breadcrumb{
background-color: transparent;
}
/*------　レスポンシブ　--------*/
@media only screen and (max-width: 640px){
.post{
padding:10px;
margin-bottom: 30px;
}
post p{
padding:10px;
}
}
/*-------------------------------- 
テーブルクリア
---------------------------------*/
.post table, .post table th, .post table td{
	border: 0;
}
.post table{
	margin:1em auto 2em;
}
.post table th {
	border-bottom: 1px solid #b7b7b7;
	font-weight:bold;
	background:transparent;
	color:#2265ab;
}
.post table td{
	border-bottom:1px solid #b7b7b7;
}
@media only screen and (max-width: 640px){
.post table.responsive th, .post table.responsive td {
    text-align: left;
}
}
/*------------------------------------------------
.column2_40Right
------------------------------------------------*/
.column2_40R {
    display: inline-block;
    margin: 5px 0;
    width: 40%;
    vertical-align: top;
    float: right;
}
.column2_40R img {
    max-width: 95.5%;
}
@media only screen and (max-width: 640px){
    .column2_40R {width: 100%;	
}
}
/*------------------------------------------------
ヘッダー調整
------------------------------------------------*/
.mail img {
width: 198px;
height: auto;
	vertical-align: middle;
	margin-top:8px;
}
#header .contact .tel img{
	vertical-align: middle;
}
.tel img {
	width: 24px;
	height: auto;
}
#header .contact .tel{
	vertical-align:middle;
}
#header p{
	font-weight: bold;
	font-family: 'Oswald', sans-serif;	
}
/*------------------------------------------------
見出し
------------------------------------------------*/
/*------　h1　--------*/
h1.title, .post h1{
line-height:1.2;
font-size: 38px;
letter-spacing: -0.05em;
}
span.jp {
display: block;
font-size: 60%;
margin-top: 20px;
color: #000000;
}
#breadcrumb span.jp, #sitemap_list span.jp {
display: none;
}

/*------　h2　--------*/
.post h2 {
    background: transparent;
    margin: 1em auto;
}
/*------　レスポンシブ　--------*/
@media only screen and (max-width: 640px){
h1.title, .post h1{
font-size: 30px;
word-wrap: break-word;	
}	
}
/*------------------------------------------------
ボタン汎用
------------------------------------------------*/
/*------　ボタン1　-------*/
.BTN01 a{
margin: 1em auto;
text-align: center;
color: #fff;
display: block;
padding: 15px;
font-weight:normal;
letter-spacing: 0.1em;
font-size: 20px;
line-height: 100%;
background-color: #265ea2;
background-image: url(../mrp04-child/images/icon_arrow.png);
background-repeat:no-repeat;
border: 2px solid #265ea2;
box-sizing: border-box;
background-position: 90%;
width:100%;
	max-width:300px;
}
.BTN01 a:hover{
opacity:0.6;
}
/*------　レスポンシブ　--------*/
@media only screen and (max-width: 640px){
	.BTN01 a{
		width:90%;
	}
}

/*------　ボタンnew　-------*/
.BTN-new a{
margin: 1em auto;
text-align: center;
color: #265ea2;
display: block;
padding: 15px;
font-weight:normal;
letter-spacing: 0.1em;
font-size: 20px;
line-height: 100%;
background-color: #fff;
background-image: url(../mrp04-child/images/icon_arrow.png);
background-repeat:no-repeat;
border: 2px solid #fff;
box-sizing: border-box;
background-position: 90%;
width:100%;
	max-width:300px;
}
.BTN-new a:hover{
opacity:0.6;
}
/*------　レスポンシブ　--------*/
@media only screen and (max-width: 640px){
	.BTN-new a{
		width:90%;
	}
}
/*------------------------------------------------
グローバルメニュー調整
------------------------------------------------*/
@media print, screen and (min-width: 1024px){
nav#mainNav{
box-shadow: 0 0 20px #afafaf;
}
	nav#mainNav ul li:first-child{
	padding-left: 4px;	
	}	
}
/*------------------------------------------------
メインイメージの調整
------------------------------------------------*/
@media only screen and (max-width: 1023px){
.mobile #mainImg {
    margin-top: 0;
}	
}
/*------------------------------------------------
ワイドの調整
------------------------------------------------*/
@media only screen and (max-width: 1023px){
#content.wide {
width: 100%;
}
}
/*------------------------------------------------
ホームコンテントの調整
------------------------------------------------*/
.home #content{
padding: 0;
margin-top:70px;
}
/*------------------------------------------------
ラッパー調整100%
------------------------------------------------*/
@media print, screen and (min-width: 1100px){
.home #wrapper{
width: 100%;
padding: 0;
}
}
@media print, screen and (max-width: 1100px){
.home #wrapper, inner {
width: 100%;
padding: 0;
}
}
@media print, screen and (min-width: 1024px){
.home #wrapper {
padding: 0;
width: 100%;
}
}
/*------------------------------------------------
トップページ調整
------------------------------------------------*/
/*------　
汎用センター表示　
--------*/
.AreaCenter{
width:100%;
max-width:1100px;
margin:0.5em auto 2em;
}
.AreaCenter p{
text-align:center;
font-size:18px;
}
/*------------------
* 背景に画像調整　
--------------------*/
.topCatch {
	margin-right: calc(((100vw - 100%) / 2) * -1);
	margin-left: calc(((100vw - 100%) / 2) * -1);
	padding: 8em calc((100vw - 100%) / 2);
	background: url(../mrp04-child/images/bg_catchcopy.jpg); 
	background-position: top;
	background-size: cover;
	color:#fff;
	position:relative;
	margin-top: 40px;
	margin-bottom: 60px;	
}
.tcBInbox {
	color: #fff;
	padding: 20px;
	text-align: center;
	font-size: 160%;
	font-weight: bold;
}
/*------------------
* フレックスボックス
--------------------*/
.post .container-rwd{
display: flex;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
}
.container-rwd.wrap{
	flex-wrap: wrap;
	box-shadow: 0 2px 20px #afafaf;	
}
.container-rwd.wrap2, .container-rwd.wrap3{
	flex-wrap: wrap;	
}
.container-rwd.middle{
	align-items: center;
}
.container-rwd .column2_50 img{
	max-width: 100%;
	width:100%;
	padding: 0;
	margin: 0;
}
.post .container .column2_50, .post .container-rwd .column2_50{
	align-self:stretch;
	position:relative;
}
.pa_1 {
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);	
}
/*------　h2　--------*/
.container-rwd h2 {
text-align: left;
padding:0;
}
.container-rwd h2 span {
display: block;
font-size: 60%;
text-align: left;
color: #000;
padding: 0 0 10px 0;
}
.container-rwd p{
padding:10px 20px 10px 0;
}

/*------------------
* フレックスボックス2
--------------------*/
.post .container-rwd .column2_40{
	width: auto;
	margin: 0;
	flex-basis: 40%;
}
.post .container-rwd .column2_60{
	width: auto;
	margin: 0;
	flex-basis: 60%;
}
.container-rwd .column2_60 img, .container-rwd .column2_40 img{
	max-width: 100%;
	width:100%;
	padding: 0;
	margin: 0;
}
.container-rwd .column2_60 img{
	width:100%;
}
.wrap2 p {
	text-align:center;
}
.wrap3 h1, .wrap3 h1 span.jp, .wrap3 p {
	color: #fff;
	text-align:center;	
}
/*------　レスポンシブ　--------*/
@media print, screen and (max-width: 1024px) {
	.home #content{
		margin-top:30px;
	}
	.container-rwd .column2_50, .container-rwd .column2_40, .container-rwd .column2_60{
	flex-basis: 100% !important;
	}
.container-rwd .column2_50 img, .container-rwd .column2_60 img, .container-rwd .column2_40 img{
	margin: 0 auto;
	}
	.post .container-rwd .column2_40{
		margin:20px 10px;
	}
	.topCatch{
	    margin-right: calc(((100vw - 100%) / 2) * -1);
    margin-left: calc(((100vw - 100%) / 2) * -1);
    padding: 2em calc((100vw - 100%) / 2);	
	}
	.tcBInbox{
		font-size:140%;
	}
	.post img{
		height:auto;
	}
	.pa_1 {
		position:relative;
		top: auto;
		left:auto;
		-webkit-transform: translate(0, 0); 
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
		width:94%;
		margin:0 auto 50px;
	}
	.container-rwd h2{
		text-align:center;
		font-size:28px;
	}
	.container-rwd h2 span{
		text-align:center;	
	}	
	.container-rwd p{
		padding:10px;
	}	
.sp_order1{order:1;}
.sp_order2{order:2;}
.sp_order3{order:3;}
.sp_order4{order:4;}
.sp_order5{order:5;}
.sp_order6{order:6;}
.sp_order7{order:7;}
.sp_order8{order:8;}
}
/*------------------
* 漫画エリア
--------------------*/
.manga_Area {
	background: #2265ab;
	padding: 40px 40px 90px;
	margin: 0 auto 0em;
}
/*------　h1　--------*/
.manga_Area h1 {
	color: #fff;
}
.manga_Area h1 span.jp {
	color: #fff;
}
/*------　p　--------*/
.manga_Area p {
	color: #fff;
	text-align: center;
	padding:30px 20px;
}
/*------------------
* トップコンタクトエリア
--------------------*/
.column2_40.sp_order3 p img {
    width: 50%;
}
/*------　レスポンシブ　--------*/
@media print, screen and (max-width: 640px) {
.column2_40.sp_order3 p img {
    width: 80%;
}	
}
/*------------------
* 投稿エリア
--------------------*/
/*------　投稿リスト　--------*/
.home .postlist {
padding-top: 1px;
border: none;
width: 100%;
max-width: 1100px;
margin: 0 auto 40px;
}
.home .postlist li{
padding:20px 0 10px; 
display: block; 
margin:0 auto;
border-bottom: 1px solid #999;
}
/*------　h1　--------*/
h1.title.bottom-loop {
margin: 60px auto 0;
text-align: left;
width: 100%;
max-width: 1100px;
border-bottom: 1px solid #999;
padding: 0;
}

/*------------------
* フッター
--------------------*/
#footer ul{
	    text-align: center;
}


.container-rwd .BTN02 a {
	margin: 1em 0;
    text-align: center;
    color: #fff;
    display: block;
    padding: 15px;
    font-weight: normal;
    letter-spacing: 0.1em;
    font-size: 20px;
    line-height: 100%;
    background-color: #265ea2;
    background-image: url(../mrp04-child/images/icon_arrow.png);
    background-repeat: no-repeat;
    border: 2px solid #265ea2;
    box-sizing: border-box;
    background-position: 90%;
	width:100%;
    max-width: 300px;
}
.container-rwd .BTN02 a:hover{
	opacity:0.6;
}
.container-rwd .BTN03 a {
	margin: 1em auto;
    text-align: center;
    color: #fff;
    display: block;
    padding: 15px;
    font-weight: normal;
    letter-spacing: 0.1em;
    font-size: 20px;
    line-height: 100%;
    background-color: #265ea2;
    background-image: url(../mrp04-child/images/icon_arrow.png);
    background-repeat: no-repeat;
    border: 2px solid #265ea2;
    box-sizing: border-box;
    background-position: 90%;
	width:100%;
    max-width: 300px;
}
.container-rwd .BTN03 a:hover{
	opacity:0.6;
}
/*------　レスポンシブ　--------*/
@media print, screen and (max-width: 640px) {
	.container-rwd .BTN02 a{
		margin:1em auto;
	}	
}

/*------------------------------------------------
建築設備工事事業部
------------------------------------------------*/
.page-business1 #wrapper, .inner, .page-business2 #wrapper, .inner, .page-business3 #wrapper, .inner, .page-business4 #wrapper, .inner, .page-case #wrapper, .inner{
	width:100%;
	}
.page-business1 .post, .page-business2 .post, .page-business3 .post, .page-business4 .post, .page-case .post{
	padding:0;
}
@media print, screen and (min-width: 1024px){
	.page-business1 #wrapper, .page-business2 #wrapper, .page-business3 #wrapper, .page-business4 #wrapper, .page-case #wrapper{
		padding:0;
	}
}

p.dcp_text {
    padding: 20px;
    text-align: center;
    color: #252525;
	font-size:110%;
}
p.index_text {
    margin: 40px auto;
    width: 80%;
}
.Cnt100Box{
	width:100%;
	max-width:1100px;
	margin:0 auto;
	box-sizing:border-box;
	padding:2em 50px;
}
.CBcolor_rb{
	margin-right: calc(((100vw - 100%) / 2) * -1);
	margin-left: calc(((100vw - 100%) / 2) * -1);
	padding: 5em calc((100vw - 100%) / 2);
	background: url(/struct/wp-content/uploads/bg_biz01.jpg);
	background-repeat: no-repeat;
	background-position: top;
	background-size: cover;
	position:relative;
    color: #fff;
}
.CBcolor_rb2{
	margin-right: calc(((100vw - 100%) / 2) * -1);
	margin-left: calc(((100vw - 100%) / 2) * -1);
	padding: 5em calc((100vw - 100%) / 2);
	background: url(/struct/wp-content/uploads/bg_biz02.jpg);
	background-repeat: no-repeat;
	background-position: top;
	background-size: cover;
	position:relative;
    color: #fff;
}
.CBcolor_rb3{
	margin-right: calc(((100vw - 100%) / 2) * -1);
	margin-left: calc(((100vw - 100%) / 2) * -1);
	padding: 5em calc((100vw - 100%) / 2);
	background: url(/struct/wp-content/uploads/bg_biz03.jpg);
	background-repeat: no-repeat;
	background-position: top;
	background-size: cover;
	position:relative;
    color: #fff;
}
.CBcolor_rb4{
	margin-right: calc(((100vw - 100%) / 2) * -1);
	margin-left: calc(((100vw - 100%) / 2) * -1);
	padding: 5em calc((100vw - 100%) / 2);
	background: url(/struct/wp-content/uploads/bg_biz04.jpg);
	background-repeat: no-repeat;
	background-position: top;
	background-size: cover;
	position:relative;
    color: #fff;
}
.CBcolorG {
    background-color: #eaeaea;
    padding: 1em 30px;
}
.CBcolor_rb h2, .CBcolor_rb2 h2, .CBcolor_rb3 h2, .CBcolor_rb4 h2{
    color: #fff;
}
.FlxBx {
    display: flex;
    margin: 3em 0;
    align-items: stretch;
    background: #fff;
}
.FlxBx01 {
	flex: 1 0 50%;
    align-self: center;
}
.FlxBx02 {
    flex: 1 0 50%;
    background: #fff;
    padding: 30px;
    box-sizing: border-box;
    align-self: center;
}
.FlxBx02 h3 {
    border-bottom: 0;
    font-weight: bold;
}
/*------------------------------------------------
ビジネス内テーブル
------------------------------------------------*/
table.responsive.products td {
    background: #fff;
}
table.responsive.products th {
    border-right: 1px solid #b7b7b7;
    background: #43acc3;
    color: #fff;
}
table.responsive.products td {
    background: #fff;
}
/*------　レスポンシブ　--------*/
@media print, screen and (max-width: 880px) {
	.Cnt100Box{
	padding:1em 0;		
	}	
.FlxBx{
	flex-wrap: wrap;	
	}
.FlxBx01 {
    flex: 1 0 100%;
    background: #dcdcdc;
}
.FlxBx02 {
	flex: 1 0 100%;
	}
}
/*------------------------------------------------
施工事例ページ
------------------------------------------------*/
/*------------------------------------------------
背景ライトブルー汎用
------------------------------------------------*/
.CBlockLB-color {
	background-color:#00a3c8;
	color: #fff;
	margin-top:4em;
	padding:2em 1em;
}
/*------------------------------------------------
背景ブルー汎用
------------------------------------------------*/
.CBlockB-color {
	padding:2em 1em;
	background-color:#2265ab;
	color: #fff;
}

p.cap_t {
    text-align: center;
}

/*------------------------------------------------
コンタクトフォーム
------------------------------------------------*/
/*--------フォーム 共通-------------*/
.wpcf7-form table th, .wpcf7-form table td {
	vertical-align: middle;
}
.wpcf7-form .must {
	color: #fff;
	font-weight: bold;
	background: #dc143c;
	border-radius: 2px;
	margin-left: 0.5em;
	font-size: 90%;
	padding: 0.1em 0.6em 0.1em;
}
span.must2 {
    font-size: 90%;
	color: #dc143c;
}
.wpcf7-form .submit {
	text-align: center;
}
.wpcf7-form input[type=submit] {
	font-size: 110%;
	padding: 6px 40px;
}
.wpcf7-form input[type=submit]:hover {
	cursor: pointer;
}
.wpcf7-form span.wpcf7-not-valid-tip {
	color: #a54a4a;
}
.wpcf7-form div.wpcf7-validation-errors {
	background: #fffde0;
}
input[type="text"], input[type="tel"], input[type="email"], input[type="date"], input[type="url"], input[type="number"], select, textarea {
	margin-bottom: 5px;
}

p.form-list {
    background: #fff0f2;
    padding: 20px;
    line-height: 3em;
}

p.form-list span.wpcf7-list-item {
    display: block;
    margin: 0 0 0 1em;
}
/*------　レスポンシブ　--------*/
@media only screen and (max-width: 640px) {
	input[type="checkbox"] {
		width: 18px;
		height: 18px;
		vertical-align: middle;
	}
	.wpcf7-form .wpcf7-list-item {
		display: inline-block;
	}
	span.wpcf7-list-item-label {
		vertical-align: middle;
	}
	h2.telh2{
	padding: 0 40px;	
	}	
	.BG_contact{
    padding: 5px 10px 10px;
	}
	.BG_contact p{
		font-size:100%;
	}
	.Btn_contact a {
	width:100%;
	font-size: 120%;
	margin:1em auto;
	}
	.ContactInBox{
		padding:0;
	}	
}
/*------------------------------------------------
プライバシーページ調整
------------------------------------------------*/
p.p_signe {
    text-align: center;
    line-height: 2em;
    margin: 3em auto 0;
    display: block;
    border: 2px solid #2265ab;
    padding: 30px;
    width: 90%;
    background: #fff;
	box-sizing:border-box;
}
span.c_name {
    font-size: 23px;
    color:#2265ab;
	display: block;
}
/*------------------------------------------------
サイトマップページ調整
------------------------------------------------*/
.page-id-32 .post{
	margin: 1em 6%;
}
.post ul#sitemap_list li{
    margin-bottom: 5px;
	padding-left: 22px;
    border-bottom: 1px solid #cccccc;
    padding-bottom: 10px;
	background: url(../mrp04-child/images/arrow.png) no-repeat 0 6px;
}/*------　レスポンシブ　--------*/
@media only screen and (max-width: 640px){
.page-id-32 .post{
	margin: 0 2%;
}
}


/*------------------------------------------------
フッターエリア調整
------------------------------------------------*/
#footer{
    padding: 16px 0;

}
#footer ul{
	font-size:85%;
	letter-spacing:0.02em;
	text-align:left;
}
.inner_l {
    display: inline-block;
    width: 40%;
    vertical-align: top;
}
.inner_r {
    display: inline-block;
    width:49%;
    vertical-align: top;
}
#footer .inner_l li {
    padding: 0 0 0 10px;
    background: none;
    margin: 0;
}
#footer .inner_r ul {
    font-size: 80%;
    margin: 0;
    padding: 0;
}
#footer .inner_r li {
    padding: 0 7px 0 0px;
    display: inline-block;
    margin: 0;
    letter-spacing: 0.05em;
    background: none;
    border-right: 1px solid #7b7b7b;
}
#footer .inner_r li:first-child {
    border-left: 1px solid #7b7b7b;
    padding-left: 4px;
}
#footer .inner_r li a {
    padding: 0;
	color:#2265ab;
}
/*------　レスポンシブ　--------*/
@media only screen and (max-width: 640px){
.inner_r, .inner_l{
    display: block;
	width: 96%;
	margin:10px auto;
	}
	#footer ul{
		text-align:center;
	}	
}

/* youtubeボタン追加 */
.youtube_btn a {
	display: flex;
    height: 29px;
    align-items: center;
    justify-content: center;
    background: #ff0000;
    color: #fff;
	padding: 0 10px;
	border-radius: 4px;
}
.youtube_btn a span {
	position: relative;
	padding-left: 26px;
}
.youtube_btn a span:before {
	position: absolute;
    content: "";
    background: url(/struct/wp-content/uploads/logo_youtube.png) center no-repeat;
    background-size: contain;
    width: 20px;
    height: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
@media print, screen and (min-width: 1024px) {
	#header-layout {
		display: flex;
		align-items: center;
	}
	#headerInfo img {
		margin-top: 0;
	}
	nav div.panel {
		display: flex !important;
		justify-content: center;
		align-items: center;
	}
	nav div.panel .youtube_btn {
		display: none;
		margin-left: 20px;
	}
	.sticky-header nav div.panel .youtube_btn {
		display: block;
	}
}
@media print, screen and (max-width: 1023px) {
	.youtube_btn a {
		height: 50px;
		justify-content: flex-start;
	}
}

/* SNS Icons Styling */
.sns_buttons {
    display: flex;
    gap: 10px;
}
.sns_icon img {
    width: 30px; /* Adjust size if needed */
    height: auto;
    display: block;
}

@media print, screen and (min-width: 1024px) {
    nav div.panel .sns_buttons {
        display: none;
        margin-left: 20px;
    }
    .sticky-header nav div.panel .sns_buttons {
        display: flex;
    }
}

@media print, screen and (max-width: 1023px) {
    .sns_buttons {
        justify-content: flex-start;
    }
}

/* CTA Button Styling */
/* ===== BASE STYLES ===== */
.cta-bar {
  position: fixed;
  z-index: 1000;
  display: flex;
}

.cta-button {
  position: relative;
  color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  overflow: hidden;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  transition: all 0.3s ease;
}

.cta-button img {
  transition: transform 0.3s ease;
}

.cta-button span {
  font-weight: bold;
  display: block;
  line-height: 1.2;
  color: inherit;
}

/* ===== MOBILE STYLES ===== */
.cta-bar {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 70px;
  flex-direction: row;
}

.cta-button {
  width: 33.33%;
  height: 100%;
  padding: 8px 0;
}

.cta-button img {
  width: 24px;
  height: 24px;
  margin-bottom: 5px;
}

.cta-button span {
  font-size: 14px;
  color: #ffffff;
}

/* ===== DESKTOP STYLES (Left-Aligned) ===== */
@media (min-width: 641px) {
  .cta-bar {
    right: 0px; !important;
    left: auto; !important;
    top: 50%;
    transform: translateY(-50%);
    width: 68px;
    flex-direction: column;
    gap: 3px;
    height: auto;
  }

  .cta-button {
    width: 68px;
    height: 68px;
    padding: 8px 0;
    border-radius: 3px;
  }

  .cta-button img {
    width: 26px;
    height: 26px;
    margin-bottom: 6px;
  }

  .cta-button span {
    font-size: 11px;
	color: #ffffff;
  }
}

/* ===== COLOR VARIANTS ===== */
/*.cta-button.phone {
  background: linear-gradient(135deg, #ff4b2b, #ff6b4a);
}
.cta-button.mail {
  background: linear-gradient(135deg, #ff9800, #ffb74d);
}
.cta-button.line {
  background: linear-gradient(135deg, #4CAF50, #66BB6A);
} */
.cta-button.phone {
  background: #2265ab;
}
.cta-button.mail {
  background: #00A3c8;
}
.cta-button.line {
  background: #4CAF50;
}

/* ===== EFFECTS ===== */
/* Shine Animation */
.cta-button::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.4),
    transparent
  );
  animation: shine 3s infinite;
}

@keyframes shine {
  0% { left: -100%; }
  20% { left: 100%; }
  100% { left: 100%; }
}

/* Hover Effects */
.cta-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
}
.cta-button:hover img {
  transform: scale(1.1);
}

/* Active State */
.cta-button:active {
  transform: translateY(0);
}

/* ===== RESPONSIVE ADJUSTMENTS ===== */
@media (max-width: 640px) {
  .cta-bar {
    height: 65px;
  }
  .cta-button img {
    width: 22px;
    height: 22px;
  }
}

@media (max-width: 359px) {
  .cta-bar {
    height: 60px;
  }
  .cta-button span {
    font-size: 12px;
  }
  .cta-button img {
    width: 20px;
    height: 20px;
  }
}

/* Hide on PC, Show on SP */
.u-show-sp {
    display: block !important;
}
.u-hide-sp {
    display: none !important;
}

/* Hide on SP, Show on PC */
.u-show-pc {
    display: none !important;
}
.u-hide-pc {
    display: block !important;
}

/*新HOLOCF7送信ボタンずれ対応*/
.wpcf7-spinner {
    display: block!important;
	margin: 0 auto!important;
}