/*
Template: wp_break
Theme Name: Child BREAK
Theme URI:
Description: WordPress Child Theme Break
Author: B CORPORATION,INC.
Author URI: https://www.b-po.co.jp/
Version:1.8
*/

h1, h2, h3, h4, h5, h6, p, li, dt, dd, span, small, strong{
font-family: "Noto Serif JP", serif;	
}
.into_tit{
color: #000;
text-shadow: 1px 2px 3px #000;
font-size: 36px;
display: inline-block;
position: relative;
}

.into_tit .bbfontr{
color: #fff;
font-size: 52px;
}

.into_tit::after{
content: "";
position: absolute;
background-image: url(https://break.b-den.com/wp-content/uploads/2019/11/7560c.png);
width: 15px !important;
height: 15px !important;
background-size: contain;
background-repeat: no-repeat;
right: -20px;
top: 20px;
transform: rotate( 10deg );
}

#bden_185 .page-cover-white{
background-image:url(https://break.b-den.com/wp-content/uploads/2019/02/section-bg.png);
background-position: top center;
background-size: cover;
}

/* active top */
.home .b_contents{
padding: 0;
}

.home .b_content p{
line-height: 21px;
}

.gallery{
margin-top: 50px;
}

.main .section.bg-img .s_tit .en_name{
color: #fff;
}

.main .section.bg-img .section-title:before{
content:"";
position: absolute;
width: 1px;
height: 10px;
border-right: 1px #fff dashed;
box-sizing: border-box;
left: 50%;
bottom: 22px;
}

.main .section.bg-img .section-title:after{
content:"";
position: absolute;
width: 1px;
height: 20px;
border-right: 1px #fff solid;
box-sizing: border-box;
left: 50%;
bottom: 35px;
}

.cp_line{
overflow: hidden;
margin-bottom: 0px;
}

.cp_line dt{
float: left;
clear: left;
width: 280px;
font-weight: normal;
padding-left: 13px;
box-sizing: border-box;
position: relative;
}

.cp_line dt:before{
content: "";
position: absolute;
height: 25px;
width: 25px;
left: 0px;
top: 4px;
border-radius: 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
background-color: rgba(0,0,0,.3);
z-index: -1;
}

.cp_line dd{
margin-left: 280px;
padding-left: 50px;
}

.cp_line dd a{
color: #fff;
font-weight: 600;
}

.cp_line dd:last-child{
margin-bottom: 0px;
}

.cp_line dd ul{
padding-left: 15px;
margin-bottom: 0px;
}

.txt_left{
text-align: left;
}

.txt_right{
text-align: right;
}

.txt_center{
text-align: center;
}

.f110{
font-size: 110%;
}

.pagetop {
width: 30px;
height: 30px;
background-color: #000;
color: #fff;
line-height: 30px;
}

.ggmap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.ggmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

.b_lock{
display: inline-block;
}

#topi2.section.bg-img{
color: #333;
}

.new-posts .post-item,
.new-blog .post-item,
.new-active .post-item{
padding-left: 15px;
margin-bottom: 10px;
border-bottom: 1px #ccc dashed;
}

.new-posts .post-item:last-child,
.new-blog .post-item:last-child,
.new-active .post-item:last-child{
padding-bottom: 0px;
margin-bottom: 0px;
}

.new-posts .post-item:before,
.new-blog .post-item:before,
.new-active .post-item:before{
content:"";
position: absolute;
height: 25px;
width: 25px;
left: 0px;
top: 6px;
border-radius: 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
background-color: rgba(255,255,255,1);
z-index: -1;
}

.new-posts .post-item .permalink:after,
.new-blog .post-item .permalink:after,
.new-active .post-item .permalink:after{
content:"▶︎";
position: absolute;
top: 0;
left: -3px;
font-size: 60%;
color: #007bff;
}

.new-posts .post-item .date,
.new-blog .post-item .date,
.new-active .post-item .date{
display: inline-block;
padding-bottom: 10px;
padding-right: 20px;
}

.new-posts .post-item .permalink,
.new-blog .post-item .permalink,
.new-active .post-item .permalink{
position: absolute;
left: 123px;
top: 0px;
padding-left: 18px;
}

.new-posts .post-item a.permalink:hover,
.new-blog .post-item a.permalink:hover,
.new-active .post-item a.permalink:hover{
color: #333;
text-decoration: none;
}

.section .section-title{
padding-bottom: 80px !important;
margin-bottom: 40px !important;
}

.co_b{
font-weight: 600;
color: #000;
}

.section .section-title:before{
content:"";
position: absolute;
width: 1px;
height: 10px;
border-right: 1px #999 dashed;
box-sizing: border-box;
left: 50%;
bottom: 22px;
}

.section .section-title:after{
content:"";
position: absolute;
width: 1px;
height: 20px;
border-right: 1px #aaa solid;
box-sizing: border-box;
left: 50%;
bottom: 35px;
}	
	
.cont_rap50{
margin-top: 10px;
position: relative;
}	

.cont_rap50 .left_cont{
width: 45%;
position: relative;
}

.cont_rap50 .left_cont:after{
content:"";
width: 60px;
height: 1px;
background-color: #fff;
position: absolute;
right: -40px;
top: 50px;
}

.cont_rap50 .right_cont{
position: absolute;
width: 47%;
right: 0px;
top: 0px;
}

.cont_rap50 .left_cont{
border: 1px #fff solid;
box-shadow: rgba(255, 255, 255, 0.7) 0px 5px 30px -7px;
}

.cont_rap50 .left_cont img{
opacity: 0.9;
}

.wpcf7 .form_rap{
overflow: hidden;
}

.wpcf7 .form_rap dl dt{
font-weight: normal;
}

.wpcf7 .form_rap .textarea{
padding: 15px 10px;
width: 100%;
border: 1px #ddd solid;
box-sizing: border-box;
}

.wpcf7 dl dt .fred{
background-color: #cf0000;
color: #fff;
display: inline-block;
margin-right: 5px;
padding-right: 10px;
padding-left: 10px;
line-height:  20px;
height: 20px;
font-size: 80%;
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
}

.wpcf7 dl dt .fglay{
background-color: #000;
color: #fff;
display: inline-block;
margin-right: 5px;
padding-right: 10px;
padding-left: 10px;
line-height:  20px;
height: 20px;
font-size: 80%;
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
}

.wpcf7 .submit{
padding: 13px 5px;
font-size: 14px;
color: #8fc31f;
background-color: #fff;
border: 1px #8fc31f solid;
transition: 0.6s;
width: 80%;
box-sizing:border-box;
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
}

.wpcf7 .submit:hover{
background-color: #8fc31f;
color: #fff;
}

div.wpcf7-validation-errors{
border: 2px #ff0000 solid;
color: #ff0000;
text-align: left;
}

.wpcf7 textarea[name="textarea-7"] {
height: 224px !important;
}

.ajax-loader{
display: block !important;
}

::placeholder{
color:#999;
}

.s_tit .en_name{
display: block;
font-size: 12px;
color: #666;
margin-top: 10px;
}

.main .section.one .section-title {
text-align: center !important;
}

.b_column_type .b_postlist{
margin: 0px;
}

.bt10{
margin-bottom: 10px !important;
}

.bt20{
margin-bottom: 20px !important;
}

.bt30{
margin-bottom: 30px !important;
}

.bt40{
margin-bottom: 40px !important;
}

.bt50{
margin-bottom: 50px !important;
}

.bt80{
margin-bottom: 80px !important;
}

.bt100{
margin-bottom: 100px !important;
}

@media all and (min-width: 1201px) {
}

@media all and (max-width: 1200px) {
}

@media all and (min-width: 1025px) {
.b_column_type .b_postitem {
margin-bottom: 0px;
}
	
.main .top-wrapper .header-page-title{
font-size: 36px;
}
.section-box {
/* box-shadow: 0 0 10px rgba(0, 0, 0, 0.09); */
box-shadow: rgba(25, 25, 25, 0.7) 0px 5px 30px -7px;
}
.form_rap .in_cont{
width: 48%;
margin-right: 4%;
float: left;
}
.form_rap .in_cont:last-child{
margin-right: 0;
}
}

@media all and (max-width: 1024px) {
.main .top-wrapper h1 {
   margin-top: 70px;
}
.wpcf7 .form_rap .in_cont{
width: 100%;
}
.cont_rap50 .left_cont{
width: 100%;
position: relative;
}

.cont_rap50 .left_cont:after{
display: none;
}

.cont_rap50 .right_cont{
position: static;
width: 100%;
margin-top: 30px;
}
}

@media all and (min-width: 768px) {
.main .section#cont01{
padding-top: 0px;
}
}

@media all and (max-width: 767px) {
.into_tit{
font-size: 18px;
display: block;
}
	
	.into_tit::after{
display: none;
	}

.into_tit .bbfontr{
font-size: 20px;
}
.cp_line dt{
float: none;
width: 100%;
font-weight: normal;
padding-left: 13px;
box-sizing: border-box;
position: relative;
}

.cp_line dd{
margin-left: 0px;
padding-left: 20px;
}
}

#top_cont02 .parallax {
	margin-top: -50px;
}



/* ============================================================
   パララックス背景が途中で切れる不具合の修正（v1.3）
   luxy は背景レイヤーをスクロールに応じて「上方向へ最大約880px」動かす。
   元テーマの高さ(170%)では下端が足りず、各セクションの下側に
   166〜596px の隙間（白／グレーの帯）が出ていた。
   → 上端(top:0)と元の上寄せ構図はそのままに、レイヤーを下方向へ
     大きく延長して、どれだけ動いても常にセクションを覆うようにする。
   ============================================================ */
.main .section.bg-img{
	overflow: hidden;                          /* 延長分をクリップ */
}
.main .section.bg-img .parallax{
	top: 0 !important;                         /* 上端は元のまま（上寄せ構図を維持） */
	bottom: -1000px !important;                /* 下方向へ1000px延長し、上移動しても隙間を作らない */
	height: auto !important;                   /* 170% / min-height:500px を上書き */
	min-height: 0 !important;
	background-position: center top !important;/* 元の上寄せ（50% 0%）を維持 */
}

/* ============================================================
   投稿サムネイルの縦横比を常に16:9に固定（v1.2）
   対象：お知らせ一覧（横並びリスト型）／アクティブ一覧（グリッド型）
   元テーマは高さが 15vw・50vw・240×150px 等とビューポート幅基準のため、
   ブラウザ幅を変えると比率が変わっていた。aspect-ratio で常に16:9に固定する。
   ============================================================ */
.b_contents .b_postitem .b_thumbnail,
.b_contents .b_list-type .b_postitem .b_thumbnail{
	height: auto !important;       /* 15vw / 50vw / 150px 等を打ち消す */
	aspect-ratio: 16 / 9;          /* 幅に対して常に16:9の高さ */
	overflow: hidden;
}
.b_contents .b_postitem .b_thumbnail img{
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;             /* 枠に合わせて中央トリミング */
}

/* ============================================================
   電話番号＋CONTACTバーを画面上部に固定（min-width:768px）v1.4
   固定バー本体は functions.php が #luxy の外（body直下）に出力する。
   ここでは元バーを隠し、固定バーの見た目を元テーマと同じに整える。
   ============================================================ */
@media all and (min-width: 768px){
	/* 元のバー（#luxy内・スクロールで流れる）は隠す */
	.main .top-wrapper .top-contact{
		display: none !important;
	}
	/* body直下に出した固定バー（常に画面上部に表示） */
	.b_fixed_contact{
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1000;
		display: flex;
		height: 70px;
		padding: 11px 0 11px 15px;
		background-color: #000;
		color: #fff;
		text-align: center;
	}
	.b_fixed_contact .phone{
		position: relative;
		margin-left: auto;
		margin-right: 15px;
	}
	.b_fixed_contact .title{
		font-size: 8px;
		letter-spacing: 2px;
		margin-right: -2px;
	}
	.b_fixed_contact .phone .number{
		font-size: 16px;
		letter-spacing: 8px;
		margin-right: -8px;
		line-height: 2.4;
	}
	.b_fixed_contact .mail{
		position: relative;
		padding: 0 15px;
		margin-left: auto;
	}
	.b_fixed_contact .mail a{
		display: block;
		margin-top: 5px;
	}
	/* CONTACTアイコンは、どんなサイズの画像でも常に 52×27px で表示。
	   比率が違う画像でも歪まないよう object-fit:contain で枠内に収める。 */
	.b_fixed_contact .mail a img{
		width: 52px !important;
		height: 27px !important;
		object-fit: contain;
		display: block;
		margin-left: auto;   /* 左右autoで中央揃え */
		margin-right: auto;
	}
	.b_fixed_contact > div:nth-child(2)::before{
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 1px;
		height: 100%;
		background-color: #333;
	}

	/* オープニング演出：サイドバーと同じタイミングで「上から」スライドイン。
	   body.page-animation-on の間は画面外(上)へ隠し、読み込み後(.loaded)に
	   スライドさせる。演出OFFのページでは transform が付かず通常表示。 */
	.page-animation-on .b_fixed_contact{
		transform: translateY(-100%);
	}
	.page-animation-on.loaded .b_fixed_contact{
		animation: 1.2s bfixedcontact-slide cubic-bezier(0.23, 1, 0.32, 1) forwards;
		animation-delay: 2s;   /* サイドバーと同時 */
	}
}
/* スマホ（767px以下）は固定バー非表示（元テーマ同様） */
@media all and (max-width: 767px){
	.b_fixed_contact{
		display: none !important;
	}
}

/* 固定バーの上からのスライドイン（サイドバーの sidebar-slide 相当） */
@keyframes bfixedcontact-slide{
	0%{
		transform: translateY(-100%);
	}
	100%{
		transform: translateY(0);
	}
}

.line-hover {
	position: relative;
	display: inline;
	color: #000;
	text-decoration: none;
	transition: .3s;
}

.line-hover::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -6px;
	width: 100%;
	height: 1px;
	background: #666;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform .3s ease;
}

.line-hover:hover{
	color: #999;
	text-decoration: none !important;
}

.line-hover:hover::after {
	transform: scaleX(1);
	transform-origin: left center;
}

/* cust */
.wrapper .container{
	width: 100%;
}

.main .section {
    position: relative;
    padding: 100px 90px;
    z-index: 4;
}

.b_column_type .b_postlist:not(:first-of-type) {
 border-top: none;
 padding-top: 0px;
}

.f16{
	font-size: 16px;
}

.ca_tit{
	font-weight: 100 !important;
	font-size: clamp(52px, 5.2vw, 73px);
	line-height: .9;
}
.ca_tit span.n_class{
font-size: clamp(18px, 3.1vw, 20px);
}

.main .section .section-title{
	font-size: clamp(19px, 2.3vw, 30px);	
}

.b_mv-block-content{
text-align: center;
}

.w600{
	max-width: 600px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.w700{
	max-width: 700px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.w800{
	max-width: 800px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.n_list{
 padding-left: 0px;
list-style: none;
}

.n_list li{
padding-left: 20px;
position: relative;
font-size: 16px;
line-height: 1.3;
margin-bottom: 15px;
}

.cust_yaji li:last-child{
margin-bottom: 0px;
}

.cust_yaji li::before{
content: "\f14a";
font-family: "Font Awesome 7 Free";
font-weight: 600;
position: absolute;
top: 0px;
left: 0px;
}

.fbol{
	font-weight: bold;
}

.cont30{
	width: 30%;
}

.fl02 {
	display: flex;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.fl02r {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.f14{
	font-size: 14px !important;
}

.mar5{
	display: inline-block;
	margin-right: 5px;
}

.mar10{
	display: inline-block;
	margin-right: 10px;
}

.bt0{
	margin-bottom: 0px;
}

.ca_tit,
.t_setsu {
text-shadow: 
    0 0 5px #fff,
    0 0 10px #fff,
    0 0 15px #fff,
    0 0 20px #fff;
}

.bt_df{
	display: block;
	border: 1px #000 solid;
	background-color: #000;
	color: #fff;
	transition: .3s;
	width: 260px;
	box-sizing: border-box;
	padding: 8px;
	margin-right: auto;
	margin-left: auto;
	font-size: 14px;
}

.bt_df:hover{
	background-color: #fff;
	color: #000;
	text-decoration: none !important;
}

.bt_df_w{
	display: block;
	border: 1px #fff solid;
	background-color: #000;
	color: #fff;
	transition: .3s;
	width: 260px;
	box-sizing: border-box;
	padding: 8px;
	margin-right: auto;
	margin-left: auto;
	font-size: 14px;
}

.bt_df_w:hover{
	background-color: #fff;
	color: #000;
	text-decoration: none !important;
}

.h13{
	line-height: 1.7;
}

.th_raps ul li{
	position: relative;
}

.th_raps ul li::before{
	position: absolute;
	top: -50px;
	right: 0px;
	font-size: 90px;
	line-height: 1;
	color: #fff;
	z-index: -1;
}

.th_raps ul li.no01::before{
content: "01";
}

.th_raps ul li.no02::before{
content: "02";
}

.th_raps ul li.no03::before{
content: "03";
}

.b_column_type .b_postlist{
	margin-bottom: -50px !important;
}

.b_postlist .b_postitem{
	margin-bottom: 50px;
}

.b_related-posts.b_column_type{
	margin-bottom: 100px;
}

.cont48{
	width: 48%;
	position: relative;
}

.icon_link{
	position: relative;
padding-left: 21px;
}

.icon_link::before{
	content: "\f360";
	font-family: "Font Awesome 7 Free";
	font-weight: 600;
	position: absolute;
	top: -10px;
    left: 0px;
	font-size: 120%;
}

.pd4050{
	padding: 40px 50px;
}

.bt_contact_rap{
	max-width: 700px;
	width: 100%;
	border: 5px #323232 solid;
	margin-right: auto;
	margin-left: auto;
}

.b_contents .b_postitem:hover::after {
  font-size: 42px !important;
  line-height: 1;
}


@media all and (min-width: 768px) {
	.in_cc {
		position: absolute;
		width: 100%;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-moz-transform: translate(-50%, -50%);
	}

	.main .top-wrapper h1 {
		color: #000;
	}
	.logo img{
		height: 120px;
	}
	#bden_home .main .top-wrapper .parallax {
    	height: 100vh !important;
		height: 100svh !important;
}
		.sp{
		display: none;
	}
	.bt_contact_rap .cont48{
		margin-bottom: 0px !important;
	}
}

@media all and (max-width: 767px) {
.pd4050{
	padding: 30px 20px;
}
.cont48{
	width: 100%;
}
.cont48:first-child{
	margin-bottom: 30px;
}
.th_raps ul li{
	margin-bottom: 50px;
}
	.cont30{
	width: 100%;
	margin-bottom: 30px;
}

.th_raps ul li:last-child,
.cont30:last-child{
margin-bottom: 0px;
}
	.pc{
		display: none;
	}
	.sp_big{
		font-size: 42px;
	}
	.main .top-wrapper .header-page-title{
		top: 52px;
	}
	.b_slider .b_mv-block{
		width: 90%;
	}
.main .top-wrapper .parallax {
	height: 30vh !important;
}
	#bden_home .main .top-wrapper .parallax {
	height: 100vh !important;
    height: 100svh !important;
}
	.main .section{
		padding-left: 15px;
		padding-right: 15px;
	}
	.bt_contact_rap .cont48:last-child{
		margin-bottom: 0px !important;
	}
}