@charset "utf-8";
/*==================================================
	タブレットのみ適応
==================================================*/
@media only screen and (max-width: 768px) and (min-width: 641px){
	.dsp_smt { display: none; }
}
/*==================================================
	タブレット・スマホに適応
==================================================*/
@media only screen and (max-width: 768px) {
	.dsp_hp { display: none; }

	/* ベースカラー*/
	#switchBtnArea #switchBtn { background: #db0000; }
	#rwdMenuWrap { background: #333; }

	/* ヘッダ */
	#header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 50px;
		padding: 0;
		background: #fff;
		z-index: 9997;
	}
	#header h1.title img {
		height: 100px;
	}
	/* お問い合わせ */
	#header .contact .tel a,
	#header .contact .btn a {
		width: 46px;
		height: 50px;
		padding: 0 11px;
		box-sizing: border-box;
		/* 縦方向中央揃え */
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#header .contact .btn {
		padding-right: 45px;
	}
	#header .contact .btn {
		margin-left: 1px;
	}
	/* コンテナ */
	#container {
		padding-top: 50px;
		line-height: 1.8;
	}
	#container h3.sub {
		margin-bottom: 20px;
		font-size: 16px;
	}
	#container h3.sub b {
		font-size: 32px;
	}
	#container h4.sub {
		margin-bottom: 20px;
		font-size: 120%;
	}
	#page_title .sub {
		height: 180px;
		font-size: 30px;
	}
	.main {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	#main, #navi {
		clear: both;
		padding-bottom: 30px;
	}
	/* フッター */
	#footer .ttl {
		padding: 40px 0 20px;
	}
	#footer .ttl img {
		width: 100px;
	}
	#footer .contact {
		margin-bottom: 20px;
	}
	#footer .contact a {
		height: 70px;
	}
	#footer ul {
		display: none;
	}
	#copyright {
		margin-top: 20px;
		border-top: 1px solid #fff;
		height: 30px;
		line-height: 30px;
		font-size: 10px;
	}
	/* パンくずリスト */
	#page_navi {
		margin-bottom: 20px;
		padding-top: 15px;
		font-size: 11px;
	}
	/* 枠のマージン・パディング */
	.mb { margin-bottom: 60px; }
	.pt { padding-top: 60px; }
	.pb { padding-bottom: 60px; }
	/* アンカーリンク用上部スペース */
	.pad_anchor {
		margin-top: -50px;
		padding-top: 50px;
	}
	/*--------------------------------------------------
		トップページ
	--------------------------------------------------*/
	/* 挨拶 */
	#top_msg h3.sub {
		margin-bottom: 15px;
	}
	#top_msg .fm {
		line-height: 1.8;
	}
	@media print, screen and (min-width: 641px){ /* PC用 */
		#top_msg {
			align-items: initial;
		}
		#top_msg .photo img {
			object-fit: cover;
			width: 100%;
			height: 100%;
			max-width: none;
		}
	}
	/**/
	#top_values h3.sub {
		margin-bottom: 15px;
	}
	#top_values .fm {
		line-height: 1.8;
	}
	/**/
	#top_quality dl+dl {
		margin-top: 30px;
	}
	#top_quality dt {
		margin-bottom: 15px;
		padding: 15px 20px;
		font-size: 120%;
	}
	#top_quality dt .pick {
		font-size: 30px;
	}
	/* コンテンツ */
	#top_contents li {
		width: 50%;
		margin-bottom: 1px;
	}
	#top_contents li:nth-child(3)::before {
		display: none;
	}
	#top_contents li a .txt .serif {
		font-size: 26px;
	}
	#top_contents li a .txt .sans {
		font-size: 18px;
	}
	#top_contents li a .photo {
		overflow: hidden;
		aspect-ratio: 3 / 2;
	}
	#top_contents li a .photo img {
		object-fit: cover;
		width: 100%;
		height: 100%;
		max-width: none;
	}
	/* ブログ */
	#top_blog dl {
		margin-bottom: 15px;
		padding-bottom: 15px;
	}
	/* お知らせ */
	#top_info dl {
		padding: 15px 20px;
	}
	/*--------------------------------------------------
		建設業
	--------------------------------------------------*/
	#construction .fst_msg .serif {
		font-size: 23px;
	}
	#construction .compass .box {
		min-height: unset;
		margin-bottom: 40px;
	}
	#construction .compass .box dl {
		margin-left: 0;
		padding-top: 0;
	}
	#construction .compass .box dl dt {
		padding-left: 0;
		font-size: 23px;
	}
	#construction .compass .box dl dd {
		padding-left: 0;
	}
	#construction .compass .box dl dd .img {
		position: relative;
		width: 450px;
		margin: 0 auto 20px;
	}
	#construction .compass .box dl dd .serif {
		font-size: 17px;
	}
	#construction .service .list {
		margin-top: 50px;
	}
	#construction .service dl {
		width: 49%;
		margin-bottom: 40px;
	}
	#construction .service dl:before {
		font-size: 35px;
		top: -20px;
	}
	#construction .service dl dt {
		font-size: 18px;
		padding: 15px;
	}
	#construction .service dl dd {
		padding: 15px;
		text-align: left;
	}
	/*--------------------------------------------------
		不動産事業
	--------------------------------------------------*/
	#real_estate .fst_msg .serif {
		font-size: 23px;
	}
	#real_estate .compass .box {
		min-height: unset;
		margin-bottom: 40px;
	}
	#real_estate .compass .box dl {
		margin-left: 0;
		padding-top: 0;
	}
	#real_estate .compass .box dl dt {
		padding-left: 0;
		font-size: 23px;
	}
	#real_estate .compass .box dl dd {
		padding-left: 0;
	}
	#real_estate .compass .box dl dd .img {
		position: relative;
		width: 450px;
		margin: 0 auto 20px;
	}
	#real_estate .compass .box dl dd .serif {
		font-size: 17px;
	}
	#real_estate .service .list {
		margin-top: 50px;
	}
	#real_estate .service dl {
		width: 49%;
		margin-bottom: 40px;
	}
	#real_estate .service dl:before {
		font-size: 35px;
		top: -20px;
	}
	#real_estate .service dl dt {
		font-size: 18px;
		padding: 15px;
	}
	#real_estate .service dl dd {
		padding: 15px;
		text-align: left;
	}
	/*--------------------------------------------------
		会社概要
	--------------------------------------------------*/

	/*--------------------------------------------------
		プレスリリース
	--------------------------------------------------*/
	
	/*--------------------------------------------------
		お問い合せ
	--------------------------------------------------*/
	#mailform .tbl {
		border-bottom: 1px solid #BBB;
	}
	#mailform .tbl th,
	#mailform .tbl td {
		display: block;
		width: auto;
		border-bottom: none;
	}
	#mailform .tbl input[type="text"],
	#mailform .tbl textarea {
		font-size: 120%;
	}
	#mailform .btn input {
		width: 120px;
	}

/*------------------------------------------------*/
}