/*============================================================================

		下層ページ 共通パーツ

============================================================================*/
.sub_contents{
	padding-top: 52px;
}
@media print, screen and (min-width:920px){
	.sub_contents{
		padding-top: 105px;
	}
}

/* ページタイトル h2 */
.sub_title{
	position: relative;
	min-height: 185px;
	padding: 0 15px;
	overflow: hidden;
}
.sub_title:before{
	content: '';
	display: block;
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 165px;
	background: #f2f2f2;
}
.sub_title_text{
	position: absolute;
	z-index: 3;
	top: 0;
	width: 100%;
	padding: 70px 0 0 15px;
}
.sub_title_text p{
	font-size: 2.5rem;
	color: #dc002b;
	font-family: GENJ;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.03em;
}
.sub_title_text h2{
	margin-top: 10px;
	font-size: 1.2rem;
	font-weight: normal;
	letter-spacing: 0.25em;
	line-height: 1;
}
.sub_title_img{
	position: relative;
	z-index: 2;
	top: 0;
	width: calc(100% - 120px);
	min-height: 185px;
	transform: translateX(135px);
	overflow: hidden;
}
.sub_title_img img{
	position: absolute;
	top: 0;
	right: 0;
	vertical-align: top;
	width: auto;
	max-width: inherit;
	height: 185px;
}
@media print, screen and (min-width:500px){
	.sub_title_img img{
		position: relative;
		max-width: 100%;
		height: auto;
	}
}
@media print, screen and (min-width:768px){
	.sub_title{
		min-height: 325px;
		padding: 0 50px;
	}
	.sub_title:before{
		height: 325px;
	}
	.sub_title_text{
		padding: 190px 0 0 50px;
	}
	.sub_title_text p{
		font-size: 4.8rem;
		letter-spacing: 0.05em;
	}
	.sub_title_text h2{
		margin-top: 25px;
		font-size: 1.8rem;
	}
	.sub_title_img{
		width: calc(100% - 205px);
		transform: translateX(255px);
		min-height: 450px;
	}
	.sub_title_img img{
		position: absolute;
		width: auto;
		max-width: inherit;
		min-height: 450px;
	}
}
@media print, screen and (min-width:1140px){
	.sub_title_img{
		width: calc(100% - 335px);
		transform: translateX(385px);
	}
}
@media print, screen and (min-width:1250px){
	.sub_title_img img{
		width: 100%;
	}
}
@media print, screen and (min-width:1400px){
	.sub_title:before{
		max-width: 1250px;
		left: 50%;
		transform: translateX(-50%);
	}
	.sub_title_text{
		max-width: 1250px;
		left: 50%;
		transform: translateX(-50%);
	}
	.sub_title_img{
		width: calc(50% + 380px);
		left: 50%;
		height: auto;
		max-height: 520px;
		transform: translateX(-240px);
	}
	.sub_title_img img{
		position: relative;
		width: 100%;
		height: auto;
	}
}
.sub_title_noimg{
	padding: 0 15px;
}
.sub_title_noimg .sub_title_text{
	position: relative;
	width: 100%;
	height: 165px;
	padding: 70px 15px 0;
	max-width: 1250px;
	background: #f2f2f2;
}
.sub_title_noimg:before{
	display: none;
}
@media print, screen and (min-width:768px){
	.sub_title_noimg{
		padding: 0 50px;
	}
	.sub_title_noimg .sub_title_text{
		height: 325px;
		padding: 190px 50px 0;
	}
}

/* 見出し h3 */
.sub_contents .title_border{
	position: relative;
	margin: 0 auto 20px;
	padding: 0 10px;
	font-size: 1.6rem;
	font-weight: normal;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
.sub_contents .title_border span{
	padding-left: 10px;
}
.sub_contents .title_border .title_border_sub{
	display: inline-block;
	padding-left: 10px;
	font-size: 1.2rem;
}
.sub_contents .title_border:before{
	content: '';
	display: block;
	top: 10px;
	left: 0;
	width: 50%;
	height: 1px;
	background: #ccc;
	transform: translate(-100%,15px);
}
@media print, screen and (min-width:768px){
	.sub_contents .title_border{
		max-width: 1290px;
		margin: 0 auto 40px;
		padding: 0 50px;
		font-size: 2.2rem;
		letter-spacing: 0.1em;
	}
	.sub_contents .title_border span{
		padding-left: 20px;
	}
	.sub_contents .title_border .title_border_sub{
		font-size: 1.4rem;
	}
	.sub_contents .title_border:before{
		content: '';
		display: block;
		top: 10px;
		left: 0;
		width: 50%;
		height: 1px;
		margin-right: 20px;
		background: #ccc;
		transform: translate(-100%,20px);
	}
}


/* 段落囲い */
.sub_paragraph{
	padding: 0 20px;
	margin: 0 auto 20px;
}
@media print, screen and (min-width:768px){
	.sub_paragraph{
		max-width: 1250px;
		margin: 0 auto 40px;
		padding: 0 50px;
	}
}


/* テーブル */
.table_dashed{
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}
.table_dashed tr{
	border-bottom: 1px dashed #ccc;
}
.table_dashed td,
.table_dashed th{
	display: block;
	text-align: left;
}
.table_dashed th{
	padding: 12px 15px 5px;
}
.table_dashed td{
	padding: 0px 15px 12px;
}

@media print, screen and (min-width:768px){
	.table_dashed td,
	.table_dashed th{
		display: table-cell;
	}
	.table_dashed th{
		width: 320px;
		padding: 45px 0 45px 110px;
	}
	.table_dashed td{
		padding: 45px 30px 45px 0;
	}
}


/*============================================================================

		家具・インテリア / 介護用品 共通パーツ

============================================================================*/
.sub_paragraph.service_intro{
	margin-bottom: 30px;
}
.service_paragraph{
	padding: 30px 20px 0;
}
.service_paragraph h4{
	margin-bottom: 5px;
    font-family: GENJ;
    font-size: 1.8rem;
    font-weight: bold;
	letter-spacing: 0.2em;
}
.service_gray{
	background: #f2f2f2;
}

/*----- .service_point_items -----*/
.service_point{
	padding: 30px 0;
}
.service_point > h4,
.service_point > p{
	padding: 0 20px;
}
.service_point_items{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 10px 0;
	padding: 0 15px;
}
.service_point_items li{
	width: calc(50% - 10px);
	height: 70px;
	margin: 5px;
	padding-top: 27px;
    font-family: GENJ;
    font-size: 1.5rem;
    font-weight: bold;
	text-align: center;
	letter-spacing: 0.2em;
	line-height: 1.3;
	color: #fff;
	background: #dc002b;
}
.service_point_items li.line2{
	padding-top: 17px;
}
.service_point_items li.line3{
	padding-top: 7px;
}
.service_point_items li span{
	font-size: 1.3rem;
}

/*----- .service_text .service_img -----*/
.service_img{
	padding: 20px 20px 30px;
	text-align: center;
}
.service_img img{
	width: 300px;
}

@media print, screen and (min-width:768px){
	.sub_paragraph.service_intro{
		margin-bottom: 50px;
	}
	.service_paragraph{
		padding: 0 50px;
	}
	.service_paragraph h4{
		margin-bottom: 10px;
	    font-size: 2.6rem;
	}
	.service_text_outer{
		max-width: 1150px;
		margin: 0 auto;
	}
	/*----- .service_point_items -----*/
	.service_point{
		padding: 80px 40px;
	}
	.service_point > h4,
	.service_point > p{
		max-width: 1170px;
		margin: 0 auto;
		padding: 0 10px;
	}
	.service_point_items{
		max-width: 1160px;
		margin: 30px auto;
		padding: 0;
	}
	.service_point_items li{
		width: calc(33% - 10px);
		height: 100px;
    	font-size: 1.8rem;
		padding-top: 37px;
	}
	.service_point_items li.line2{
		padding-top: 27px;
	}
	.service_point_items li.line3{
		padding-top: 17px;
	}
	.service_point_items li span{
    	font-size: 1.6rem;
	}
	/*----- .service_text .service_img -----*/
	.service_text_outer{
		display: table;
		width: 100%;
		min-height: 320px;
	}
	.service_text{
		display: table-cell;
		vertical-align: middle;
		padding-right: 30px;
	}
	.service_text p{
		max-width: 600px;
	}
	.service_img{
		display: table-cell;
		vertical-align: middle;
		width: 240px;
		padding: 50px 0;
	}
}
@media print, screen and (min-width:1150px){
	/*----- .service_point_items -----*/
	.service_point_items li{
		width: calc(16.6% - 10px);
	}
	/*----- .service_text .service_img -----*/
	.service_img{
		width: 420px;
	}
}

/*----- ブランド紹介 一覧 -----*/
.brand_list{
	display: flex;
	flex-wrap: wrap;
	padding: 0 15px;
}
.brand_list_item{
	width: calc(50% - 10px);
	margin: 0 5px 25px;
	text-align: center;
}
.brand_list_item figure{
	padding: 10px;
	background: #F2F2F2;
}
.brand_list_item span{
	display: block;
	margin-top: 5px;
	font-size: 1.3rem;
	line-height: 1.3;
}
.brand_list_item .modal_text:hover{
	cursor: pointer;
}
.brand_list_item .modal_text img{
	opacity: 1;
}
/*----- ブランド紹介 モーダル -----*/
.brand_title{
	padding: 15px 20px 10px;
}
.brand_title p img{
	max-width: 120px;
}
.brand_title p .brand_logo_fukuoka{
	max-width: 100%;
	height: 56px;
}
.brand_title h4{
	margin-top: 8px;
	font-size: 1.3rem;
	font-weight: normal;
	line-height: 1.6;
}
.brand_img{
	text-align: center;
}
.brand_img.brand_img_border{
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
}
.brand_border{
	border-top: 2px solid #ccc;
}
.brand_info{
	padding: 0 20px 20px;
}
.brand_catch{
	margin-top: 25px;
	font-size: 1.6rem;
	line-height: 1.6;
}
.brand_text{
	margin-top: 15px;
	font-size: 1.3rem;
}
.brand_link{
	margin-top: 15px;
	font-size: 1.3rem;
	text-align: right;
}
.brand_link a{
	display: inline-block;
	min-height: 12px;
	padding: 0 0 0 20px;
	line-height: 1;
	background: url(../img/sq_arrow.svg) left top no-repeat;
	background-size: 13px 13px;
}
@media print, screen and (min-width:600px){
	.brand_list_item{
		width: calc(33% - 10px);
	}
}
@media print, screen and (min-width:768px){
	/*----- ブランド紹介 一覧 -----*/
	.brand_list{
		max-width: 1174px;
		margin: 0 auto;
		padding: 0 36px;
		box-sizing: content-box;
	}
	.brand_list_item{
		width: calc(33% - 24px);
		margin: 0 12px 40px;
	}
	.brand_list_item figure{
		padding: 25px;
	}
	.brand_list_item span{
		margin-top: 12px;
	}
	/*----- ブランド紹介 モーダル -----*/
	.brand_title{
		display: table;
		table-layout: fixed;
		width: 100%;
		max-width: 780px;
		margin: 0 auto 20px;
		padding: 0;
		box-sizing: content-box;
	}
	.brand_title p{
		display: table-cell;
		width: 200px;
		padding: 25px 0 0 30px;
		vertical-align: middle;
	}
	.brand_title p img{
		max-width: 100%;
	}
	.brand_title h4{
		display: table-cell;
		padding: 35px 30px 0 0;
		font-size: 1.4rem;
		text-align: right;
		vertical-align: middle;
	}
	.brand_info{
		padding: 0 30px 70px;
		box-sizing: content-box;
	}
	.brand_catch,
	.brand_text,
	.brand_link{
		max-width: 720px;
		margin:30px auto 0;
	}
	.brand_catch{
		margin-top: 40px;
		font-size: 2.0rem;
		text-align: center;
	}
	.brand_text,
	.brand_link{
		font-size: 1.4rem;
	}
	.brand_link a{
		min-height: 16px;
		padding: 0 0 0 25px;
		background-size: 16px 16px;
	}
}
@media print, screen and (min-width:900px){
	.brand_list_item{
		width: calc(25% - 24px);
	}
}
@media print, screen and (min-width:1150px){
	.brand_list_item{
		width: calc(20% - 24px);
	}
}

/*============================================================================

		家具・インテリア interior

============================================================================*/
.interior{
	padding: 30px 0 40px;
}
.interior_img_02{
	padding-bottom: 0;
}
.interior_brand{
	padding: 40px 0 0;
}
@media print, screen and (min-width:768px){
	.interior{
		padding: 110px 0 100px;
	}
	.interior_brand{
		padding: 100px 0 0;
	}
}
@media print, screen and (min-width:1150px){
	.interior_img_01 img{
		width: 420px;
		transform: translateX(-30px);
	}
	.interior_img_02{
		vertical-align: bottom;
		padding-bottom:0;
	}
	.interior_img_02 img{
		width: 340px;
	}
	.interior_img_03 img{
		width: 360px;
	}
	.interior_img_04 img{
		width: 420px;
	}
}

/*============================================================================

		介護用品 nursing

============================================================================*/
.nursing{
	padding: 30px 0 40px;
}
.nursing_brand{
	padding: 40px 0 0;
}
.nursing_point_items li:nth-child(5){
	width: 67%;
}
@media print, screen and (min-width:768px){
	.nursing{
		padding: 110px 0 100px;
	}
	.nursing_brand{
		padding: 100px 0 0;
	}
	.nursing_point_items li:nth-child(5){
		width: calc(66% - 10px);
	}
}
@media print, screen and (min-width:1150px){
	.nursing_img img{
		width: 350px;
	}
	.nursing_point_items li,
	.nursing_point_items li:nth-child(5){
		width: calc(20% - 10px);
	}
}

/*============================================================================

		店舗情報 shop

============================================================================*/
.shop{
	padding: 30px 0 20px;
}
.shop_muroran{
	margin-top: 40px;
}

.shop_data{
	padding: 0 20px;
}
.shop_data_img{
	margin-bottom: 25px;
}
.shop_data_img img{
	width: 100%
}
.shop_gmap iframe{
	width: 100%;
}
.shop_address{
	margin-top: 15px;
}
.shop_address ul{
	margin-top: 15px;
}
.shop_facility{
	margin-top: 15px;
}
.shop_facility dl{
	display: flex;
}
.shop_facility dt{
	width: 90px;
}
.shop_facility p{
	margin-top: 5px;
}

.shop_item{
	margin: 30px 0;
	padding: 15px 20px;
	background: #f2f2f2;
	border: 1px solid #ccc;
}
.shop_item h4{
	width: 100px;
	margin-bottom: 8px;
	padding-bottom: 3px;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	border-bottom: 1px solid #000;
}

@media print, screen and (min-width:768px){
	.shop{
		padding: 110px 0 60px;
	}
	.shop_muroran{
		margin-top: 110px;
	}

	.shop_data{
		display: flex;
		max-width: 1250px;
		margin:0 auto;
		padding: 0 50px;
	}
	.shop_data_img{
		width: 60%;
		max-width: 680px;
		margin: 0;
	}
	.shop_data_text{
		width: calc(40% - 40px);
		margin-left: 40px;
	}
	.shop_address{
		margin-top: 30px;
	}
	.shop_address ul{
		margin-top: 30px;
	}

	.shop_item{
		display: table;
		width: 100%;
		margin: 50px 0;
		padding: 25px 0;
	}
	.shop_item h4{
		display: table-cell;
		width: 160px;
		font-size: 1.8rem;
		text-align: center;
		vertical-align: middle;
		border-bottom: none;
		border-right: 1px solid #000;
	}
	.shop_item .shop_item_text{
		display: table-cell;
		padding: 0 50px;
	}
}

@media print, screen and (min-width:1000px){
	.shop_item h4{
		width: 230px;
	}
	.shop_item .shop_item_text{
		width: calc(100% - 230px);
	}

}

/*-----*/

.floor_tomakomai{
	padding: 30px 0 40px;
	background: #f2f2f2;
}
.floor_tomakomai_inner{
	padding: 0 20px;
}
.floor_tomakomai h4{
	margin-bottom: 20px;
	font-size: 1.6rem;
	font-weight: normal;
	letter-spacing: 0.1em;
}
.floor_tomakomai_slider{
	margin: 0!important;
	padding-top: 60px;
	min-height: 120px;
}
.floor_tomakomai_slider li img{
	margin: 0 auto;
}
.floor_tomakomai_slider .slick-dots{
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
	top: 0;
	left: 0;
	bottom: inherit;
}
.floor_tomakomai_slider .slick-dots li{
	display: block;
	width: 100px;
    height: auto;
    padding: 0 20px 7px 0;
}
.floor_tomakomai_slider .slick-dots li button{
    position: relative;
    width: 90px;
    height: 34px;
    margin: 0 auto;
    padding: 0;
	text-align: center;
	letter-spacing: 0.1em;
    color: #000;
	background: none;
    border-radius: 20px;
	-webkit-transition: color 0.3s, background 0.5s;
	-moz-transition: color 0.3s, background 0.5s;
	-ms-transition: color 0.3s, background 0.5s;
	transition: color 0.3s, background 0.5s;
}
.floor_tomakomai_slider .slick-dots li button:before{
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo', 'メイリオ', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	position: relative;
	font-size: 2.2rem;
	letter-spacing: 0.1em;
	font-weight: normal;
	opacity: 1;
	line-height: 1;
}
.floor_tomakomai_slider .slick-dots li:nth-child(1) button:before{
	content:'3';
}
.floor_tomakomai_slider .slick-dots li:nth-child(2) button:before{
	content:'2';
}
.floor_tomakomai_slider .slick-dots li:nth-child(3) button:before{
	content:'1';
}
.floor_tomakomai_slider .slick-dots li button:after{
	content:'F';
	display: inline-block;
    position: relative;
    top: inherit;
    left: inherit;
    font-size: 1.4rem;
	line-height: 1;
    opacity: 1;
}
.floor_tomakomai_slider .slick-dots li:hover button:before,
.floor_tomakomai_slider .slick-dots li:hover button:after{
	color: #dc002b;
}
.floor_tomakomai_slider .slick-dots .slick-active button{
    background: #fff;
}

.floor_tomakomai_ph ul{
	display: flex;
	flex-wrap: wrap;
	margin-top: 30px;
	padding: 0 15px;
}
.floor_tomakomai_ph li{
	width: 50%;
	padding: 5px;
}
.floor_tomakomai_ph li a{
	position: relative;
	display: block;
	cursor: pointer;
}
.floor_tomakomai_ph li a:after{
	content: '＋';
	position: absolute;
	width: 24px;
	height: 24px;
	right: 0;
	bottom: 0;
	padding-top: 5px;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	font-weight: bold;
	background: #fff;
}

.floor_tomakomai_ph li a img{
	-webkit-transition: opacity 0.3s;
	-moz-transition: opacity 0.3s;
	-ms-transition: opacity 0.3s;
	transition: opacity 0.3s;

}
.floor_tomakomai_ph li a:hover img{
	opacity: 0.6;
}

@media print, screen and (min-width:768px){
	.floor_tomakomai{
		padding: 60px 0 90px;
	}
	.floor_tomakomai h4{
		font-size: 2.2rem;
	}
	.floor_tomakomai_inner{
		max-width: 1250px;
		margin:0 auto;
		padding: 0 50px;
	}
	.floor_tomakomai_ph{
		max-width: 1250px;
		margin:0 auto;
		margin-top: 40px;
	}
	.floor_tomakomai_ph ul{
		padding: 0 40px;
	}
	.floor_tomakomai_ph li{
		width: 25%;
		padding: 10px;
	}
}
@media print, screen and (min-width:1200px){
	.floor_tomakomai_ph{
		padding: 0 50px;
	}
	.floor_tomakomai_ph ul{
		padding: 0 0 0 250px;
	}
	.floor_tomakomai_ph li{
		padding: 0 0 0 20px;
	}

	.floor_tomakomai{
		padding: 30px 0 90px;
	}
	.floor_tomakomai h4{
		transform: translateY(70px);
	}
	.floor_tomakomai_slider{
		padding: 0 0 0 270px;
		min-height: 330px;
	}
	.floor_tomakomai_slider .slick-dots{
		flex-direction: column;
		width: 190px;
		top: 130px;
	}
	.floor_tomakomai_slider .slick-dots li{
		display: block;
		width: 100%;
	    height: auto;
	    margin: 0 0 15px;
	    padding: 0 20px 7px 0;
		border-bottom: 1px solid #000;
	}
	.floor_tomakomai_slider .slick-dots .slick-active:before{
		content: '';
		display: block;
		width: 20px;
		height: 1px;
		margin-bottom: -1px;
		position: absolute;
		bottom: 0;
		right: 0;
		background: #000;
		transform: rotate(45deg);
	    transform-origin:bottom right;
	}
	.floor_tomakomai_slider .slick-dots li button{
	    width: 108px;
	    height: 40px;
	}
}


/*============================================================================

		会社情報 company

============================================================================*/
.company{
	padding: 30px 0 50px;
}
.company_data li:first-child{
	margin-bottom: 15px;
}
.company_history{
	margin-top: 40px;
}
.company_history dl{
	border-bottom: 1px dashed #ccc;
}
.company_history dt{
	font-weight: bold;
	padding: 12px 15px 5px;
}
.company_history dd{
	padding: 0px 15px 12px;
}
@media print, screen and (min-width:768px){
	.company{
		padding: 110px 0;
	}
	.company_data li:first-child{
		margin-bottom: 30px;
	}
	.company_history{
		margin-top: 100px;
	}
	.company_history dl{
		display: table;
		width: 100%;
		table-layout: fixed;
		border-collapse: collapse;
	}
	.company_history dt{
		display: table-cell;
		width: 320px;
		padding: 30px 0 30px 110px;
	}
	.company_history dd{
		display: table-cell;
		padding: 30px 30px 30px 0;
	}
}
@media print, screen and (min-width:1200px){
	.company_data ul{
		display: flex;
	}
	.company_data li:first-child{
		margin: 0 150px 0 0;
	}
}

/*============================================================================

		マルキタコラム column

============================================================================*/
.column{
	padding: 30px 0 60px;
}
.column_article{
	padding: 0 20px;
	box-sizing: content-box;
}
.column_title{
	font-size: 2.4rem;
	font-weight: normal;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
.column_title rt{
	font-size: 1.2rem;
	letter-spacing: 0.01em;
}
.column_paragraph{
	margin-top: 30px;
	line-height: 2;
}
@media print, screen and (min-width:768px){
	.column{
		padding: 70px 0 110px;
	}
	.column_article{
		max-width: 820px;
		margin: 0 auto;
		padding: 0 50px;
	}
	.column_title{
		font-size: 4.2rem;
	}
	.column_paragraph{
		margin-top: 70px;
		font-size: 1.6rem;
	}
}

/*============================================================================

		イベント情報 event

============================================================================*/
.event{
	padding: 20px 20px 50px;
}
.event_article{
	max-width: 1150px;
	margin: 0 auto;
	text-align: center;
}
.event_download + .event_article{
	margin-top: 50px;
}
.event_download a{
	display: block;
	max-width: 320px;
	margin: 20px auto 0;
	padding: 20px 0;
	text-align: center;
	line-height: 1;
	color: #000;
	background: #d8d8d8;
	border-radius: 4px;
	-webkit-transition: background 0.3s;
	-moz-transition: background 0.3s;
	-ms-transition: background 0.3s;
	transition: background 0.3s;
}
.event_download a:before{
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	margin: -2px 10px 0 0;
	line-height: 1;
	vertical-align: middle;
	background: url(../img/sq_arrow.svg) center center no-repeat;
	background-size: 16px 16px;
}
.event_download a:hover{
	color: #dc002b;
	background: #e5e5e5;
}
@media print, screen and (min-width:768px){
	.event{
		padding: 50px 50px 110px;
	}
	.event_download + .event_article{
		margin-top: 70px;
	}
	.event_download a{
		max-width: 400px;
		margin: 40px auto 0;
		padding: 30px 0;
		font-size: 1.6rem;
	}
}

/*============================================================================

		お問い合わせ contact

============================================================================*/
.contact{
	padding: 30px 0 50px;
}
.contact_tel_list{
	padding: 0 20px;
}
.contact_tel_list section{
	margin-bottom: 15px;
	padding: 20px;
	background: #f2f2f2;
}
.contact_tel_list h4{
	font-size: 1.6rem;
}
.contact_tel_list p{
	margin-top: 8px;
}
.contact_tel_list span{
	display: inline-block;
}
.contact_tel_list ul{
	margin-top: 8px;
}
@media print, screen and (min-width:768px){
	.contact{
		padding: 110px 0;
	}
	.contact_tel_list{
		display: flex;
		max-width: 1250px;
		margin: 0 auto;
		padding: 0 30px;
	}
	.contact_tel_list section{
		width: 50%;
		margin: 0 20px;
		padding: 30px 40px;
		background: #f2f2f2;
	}
	.contact_tel_list p{
		margin-top: 15px;
	}
	.contact_tel_list ul{
		margin-top: 15px;
	}
}
@media print, screen and (min-width:1200px){
	.contact_tel_list section{
		padding: 55px;
		border: 1px solid #ccc;
	}
}

.contact_mail{
	margin-top: 40px;
}
.contact_mail dl{
	border-bottom: 1px dashed #ccc;
}
.contact_mail dt{
	padding: 15px 0 10px;
	font-weight: bold;
}
.contact_mail dd{
	padding: 0 0 20px;
}
.contact_mail input[type=text],
.contact_mail textarea{
	width: 100%;
	padding: 10px 8px;
	border-color: #000;
	border-radius: 4px;
	box-sizing: border-box;
}
.contact_mail input[type=text]:focus,
.contact_mail textarea:focus{
	background: #f2f2f2;
	border-color: #dc002b;
}
.contact_mail .required p:after{
	content: '必須';
	display: inline-block;
	margin-left: 8px;
	padding: 5px 7px;
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1;
	text-align: center;
	color: #fff;
	background: #dc002b;
}
.checkbox_list label{
	margin-top: 10px;
	padding: 10px 8px;
	border: 1px solid #000;
	border-radius: 4px;
	box-sizing: border-box;
}
.checkbox_list label:first-child{
	margin-top: 0;
}
.checkbox_list label:hover{
	cursor: pointer;
	background: #f2f2f2;
	border-color: #dc002b;
}
.cl_input{
	display: none;
}
.checkbox_list .cl_text{
	display: inline-block;
}
.checkbox_list .cl_text:before{
	content: '';
	display: inline-block;
	width: 24px;
	height: 24px;
	margin: -2px 8px 0 0;
	border-radius: 50%;
	line-height: 1;
	vertical-align: middle;
	background:#d8d8d8;
}
.cl_input:checked + .cl_text:before{
	background: url(../img/contact/ico_check.png) center center no-repeat #dc002b!important;
	background-size: 13px 9px!important;
}
.contact_mail button{
	display: block;
	width: 100%;
	max-width: 360px;
	height: 60px;
	margin: 30px auto 0;
	line-height: 1;
	text-align: center;
	background: #d8d8d8;
	border: none;
	border-radius: 4px;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	-webkit-transition: color 0.3s, background 0.3s;
	-moz-transition: color 0.3s, background 0.3s;
	-ms-transition: color 0.3s, background 0.3s;
	transition: color 0.3s, background 0.3s;
}
.contact_mail button:before{
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	margin: -2px 10px 0 0;
	line-height: 1;
	vertical-align: middle;
	background: url(../img/sq_arrow.svg) center center no-repeat;
	background-size: 16px 16px;
}
.contact_mail button:hover{
	color: #dc002b;
	background: #e5e5e5;
}

@media print, screen and (min-width:768px){
	.contact_mail{
		margin-top: 120px;
	}
	.contact_mail dl{
		display: table;
		width: 100%;
	}
	.contact_mail dt,
	.contact_mail dd{
		display: table-cell;
		vertical-align: middle;
	}
	.contact_mail dt{
		width: 320px;
		padding: 35px 0 35px 110px;
	}
	.contact_mail dd{
		padding: 35px 30px 35px 0;
	}
	.contact_mail .required p{
		position: relative;
	}
	.contact_mail .required p:after{
		position: absolute;
		top: 2px;
		left: -60px;
		margin: 0;
	}
	.contact_mail input[type=text]{
		max-width: 470px;
		padding: 12px 10px;
	}
	.contact_mail textarea{
		max-width: 650px;
		padding: 12px 10px;
	}
	.contact_mail input[type=text],
	.contact_mail textarea{
		-webkit-transition: background 0.3s;
		-moz-transition: background 0.3s;
		-ms-transition: background 0.3s;
		transition: background 0.3s;
	}
	.contact_mail input[type=text]:hover,
	.contact_mail textarea:hover{
		background: #f2f2f2;
	}
	.checkbox_list label{
		padding: 12px;
		font-size: 1.5rem;
		-webkit-transition: background 0.3s;
		-moz-transition: background 0.3s;
		-ms-transition: background 0.3s;
		transition: background 0.3s;
	}
	.checkbox_list .cl_text:before{
		margin: -3px 10px 0 0;
	}
	.contact_mail button{
		height: 80px;
		margin-top: 40px;
		font-size: 1.6rem;
	}
	.contact_mail button:before{
		margin-top: -3px;
	}
}
@media print, screen and (min-width:980px){
	.checkbox_list{
		display: flex;
		flex-wrap: wrap;
	}
	.checkbox_list label,
	.checkbox_list label:first-child{
		width: calc(50% - 25px);
		max-width: 360px;
		margin: 12px 25px 12px 0;
	}
}

/*============================================================================

		お問い合わせ - 確認画面 / 送信画面

============================================================================*/

.contact_contents{
	padding-bottom: 50px;
}
.contact_contents_logo{
	position: absolute;
	top: 10px;
	left: 50%;
	width: 68px;
	margin-left: -34px;
	z-index: 3000;
}
.contact_contents_logo img{
	width: 68px;
	height: auto;
}
.contact_contents .sub_title{
    min-height: 165px;
	text-align: center;
    background: #f2f2f2;
}
.contact_contents .sub_title:before{
	display: none;
}
.contact_contents .sub_title_text{
	position: relative;
	padding: 90px 0 0;
}
.contact_contents .contact_mail .contact_confirm_buton{
	margin-top: 35px;
	text-align: center;
}
.contact_contents .contact_mail button{
	margin-top: 15px;
}
.contact_mail .contact_confirm_buton .button_submit{
	color: #fff;
	background: #dc002b;
}
.contact_mail .contact_confirm_buton .button_submit:hover{
	color: #fff;
	background-color: rgba(220, 0, 43,0.7);
}
.contact_mail .contact_confirm_buton .button_submit:before{
	background: url(../img/sq_arrow_w.svg) center center no-repeat;
	background-size: 16px 16px;
}
@media print, screen and (min-width:768px){
	.contact_contents .sub_title{
	    min-height: 260px;
	}
	.contact_contents .sub_title_text{
		padding: 120px 0 0;
	}
	.contact_contents .contact_mail .contact_confirm_buton{
		margin-top: 50px;
	}
	.contact_contents .contact_mail button{
		display: inline-block;
		margin:20px 10px 0;
	}
}
@media print, screen and (min-width:920px){
	.contact_contents{
		padding-bottom: 100px;
	}
	.contact_contents_logo{
		margin-left: -68px;
		width:136px;
		top: 28px;
	}
	.contact_contents_logo img{
		width: 136px;
	}
	.contact_contents .sub_title{
		max-width: 1250px;
	    min-height: 320px;
	    margin: 0 auto;
	}
	.contact_contents .sub_title_text{
		padding: 180px 0 0;
	}
}
@media print, screen and (min-width:1400px){
	.contact_contents .sub_title:before{
		max-width: inherit;
		left: inherit;
		transform: inherit;
	}
}

.contact_thanks{
	margin-top: 40px;
}
.contact_thanks h3{
	font-family: GENJ;
	font-size: 2.0rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.1em;
}
.contact_thanks_text{
	margin-top: 20px;
	text-align: center;
}
.contact_thanks_text p{
	display: inline-block;
	text-align: left;
	font-size: 1.5rem;
	line-height: 2;
}

.contact_thanks_link a{
	display: block;
	width: 100%;
	max-width: 360px;
	height: 60px;
	margin: 30px auto 0;
	padding-top: 24px;
	line-height: 1;
	text-align: center;
	background: #d8d8d8;
	border: none;
	border-radius: 4px;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	-webkit-transition: color 0.3s, background 0.3s;
	-moz-transition: color 0.3s, background 0.3s;
	-ms-transition: color 0.3s, background 0.3s;
	transition: color 0.3s, background 0.3s;
}
.contact_thanks_link a:before{
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	margin: -2px 10px 0 0;
	line-height: 1;
	vertical-align: middle;
	background: url(../img/sq_arrow.svg) center center no-repeat;
	background-size: 16px 16px;
}
.contact_thanks_link a:hover{
	color: #dc002b;
	background: #e5e5e5;
}

@media print, screen and (min-width:768px){
	.contact_thanks{
		margin-top: 80px;
	}
	.contact_thanks h3{
		font-size: 2.4rem;
	}
	.contact_thanks_text{
		margin-top: 50px;
	}
	.contact_thanks_link a{
		height: 80px;
		margin-top: 40px;
		padding-top: 34px;
		font-size: 1.6rem;
	}
	.contact_thanks_link a:before{
		margin-top: -3px;
	}
}


/*============================================================================

		モーダル表示

============================================================================*/

.preview{
    z-index:-1;
    position:fixed;
    display: none;
    width:100%;
    height: 100vh;
    left:0;
    top:0;
    padding:0 20px 10px;
    box-sizing:border-box;
    background-color: rgba(255,255,255,0.9);
    overflow:hidden;
	transition: z-index 0s 0.3s ease;
}
.preview_active{
    z-index:1050;
    overflow-y:scroll;
	transition: z-index 0s 0s ease;
}
.preview_close{
    z-index:9000;
    position: absolute;
    width: 40px;
    height: 40px;
    top: 0;
    right: 0;
    background: #0d0d0d;
    border-radius: 50%;
    transform: translate(40%,-50%);
	-webkit-transition: background 0.3s ease;
	-moz-transition: background 0.3s ease;
	-ms-transition: background 0.3s ease;
	transition: background 0.3s ease;
}
.preview_close:before,
.preview_close:after{
    content: '';
    position: absolute;
    display: block;
    top: 20px;
    left: 11px;
    width: 19px;
    height: 1px;
    background:#fff;
}
.preview_close:before{
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.preview_close:after{
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.preview_close:hover{
    cursor:pointer;
    color: #fff;
    background: #999;
}
.preview_close:hover:before,
.preview_close:hover:after{
    background: #fff;
}
.close_area{
    z-index:1020;
    position:absolute;
    left:0;
    width:100%;
    height: 100%;
}
.previews{
    z-index:8000;
    position:relative;
	margin:30px auto 60px;
    background-color: #fff;
    box-shadow: 10px 10px 30px rgba(0,0,0,0.4);
}
.type_text .previews{
	max-width: 860px;
}
.type_img .previews{
	max-width: 750px;
}
.floor_tomakomai_ph .previews{
	background: none;
}
.preview_data img{
    vertical-align: top;
}
.preview_wrap{
    text-align: center;
}
a.modal_img{
    cursor: pointer;
}
.modal_item{
    display: none;
}
.preview_prev,
.preview_next{
    position: absolute;
    bottom: -50px;
    width: 50%;
    height: 50px;
    cursor: pointer;
}
.type_img .preview_prev,
.type_img .preview_next{
	bottom: inherit;
    top: 0;
    height: calc(100% + 50px);
}
.preview_prev{
    left: 0;
}
.preview_prev:before{
    position: absolute;
    bottom: 15px;
    left: 0;
	content: '';
	display: block;
	border-top: 12px solid transparent;
	border-right: 20px solid #0d0d0d;
	border-bottom: 12px solid transparent;
	border-left: 0px solid transparent;
	-webkit-transition: border-right-color 0.3s;
	-moz-transition: border-right-color 0.3s;
	-ms-transition: border-right-color 0.3s;
	transition: border-right-color 0.3s;
}
.preview_next{
    right: 0;
}
.preview_next:before{
    position: absolute;
    bottom: 15px;
    right: 0;
	content: '';
	display: block;
	border-top: 12px solid transparent;
	border-right: 0px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 20px solid #0d0d0d;
	-webkit-transition: border-left-color 0.3s;
	-moz-transition: border-left-color 0.3s;
	-ms-transition: border-left-color 0.3s;
	transition: border-left-color 0.3s;
}
.preview_prev:hover:before{
	border-right-color: #999;
}
.preview_next:hover:before{
	border-left-color: #999;
}
.preview_prev,
.preview_next,
.preview_prev:focus,
.preview_next:focus{
	outline: none;
	-webkit-tap-highlight-color : rgba(0,0,0,0);
}

@media only screen and (min-width: 768px) {
	.preview{
		padding: 0 65px;
	}
    .previews{
	    margin:50px auto;
    }
	.preview_close{
	    width: 76px;
	    height: 76px;
	    transform: translate(50%,-50%);
	}
	.preview_close:before,
	.preview_close:after{
	    top: 37px;
	    left: 24px;
	    width: 30px;
	    height: 1px;
	}
	.preview_prev,
	.preview_next{
		top: 0;
		bottom: inherit;
		width: 50px;
	    height: 100%;
	    cursor: pointer;
	}
	.type_img .preview_prev,
	.type_img .preview_next{
	    width: calc(50% + 50px);
	}
	.preview_prev{
	    left: -50px;
	}
	.preview_prev:before{
		border-top: 20px solid transparent;
		border-right: 30px solid #0d0d0d;
		border-bottom: 20px solid transparent;
		border-left: 0px solid transparent;
	}
	.preview_next{
	    right: -50px;
	}
	.preview_next:before{
		border-top: 20px solid transparent;
		border-right: 0px solid transparent;
		border-bottom: 20px solid transparent;
		border-left: 30px solid #0d0d0d;
	}
	.preview_prev:before,
	.preview_next:before{
		top: 50%;
		height: 30px;
		margin-top: -15px;
	}
}




