@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; }

	/* ヘッダ */
	#header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 50px;
		padding: 0;
		background: #fff;
		z-index: 9997;
	}
	#header h1.title {
		align-items: flex-start;
		height: 50px;
		padding-left: 10px;
		font-size: 7px;
	}
	#header h1.title img {
		width: auto;
		max-height: 30px;
	}
	#header h1.title .logo_txt {
		font-size: 20px;
	}
	/* お問い合わせ */
	
	#container #mail {
		display: none;
	}
	#mail a {
		width: 55px;
		height: 55px;
		font-size: 8px;
	}
	#mail a img {
		width: 25px;
	}
	#mail a span {
		padding-top: 7px;
	}
	#mail2 {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		position: fixed;
		bottom: 20px;
		right: -1px;
		z-index: 99;
		margin-bottom: 0;
	}
	#mail2 .img,
	#mail2 .txt {
		background: #fff;
		box-shadow:
		0 1.9px 2.5px rgba(0, 0, 0, 0.057),
		0 5px 6.1px rgba(0, 0, 0, 0.076),
		0 10.1px 11.4px rgba(0, 0, 0, 0.086),
		0 19.2px 19.8px rgba(0, 0, 0, 0.092),
		0 38.4px 34.8px rgba(0, 0, 0, 0.1),
		0 101px 74px rgba(0, 0, 0, 0.13);
	}
	#mail2 .img {
		padding: 3px 3px 17px 3px;
		border-radius: 0 0 0 7px;
		margin-bottom: 10px;
	}
	#mail2 .txt {
		padding: 3px 7px 1px;
		font-size: 11px;
		font-weight: bold;
		margin-bottom: 7px;
		margin-right: 7px;
	}
	#mail2 img.img {
		width: 15px;
	}
	#mail2 a {
		width: 60px;
		height: 50px;
		font-size: 8px;
		background: #ffa500;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		color: #fff;
		font-weight: bold;
		border-radius: 30px;
		margin-right: 7px;
		box-shadow:
		0 1.9px 2.5px rgba(0, 0, 0, 0.057),
		0 5px 6.1px rgba(0, 0, 0, 0.076),
		0 10.1px 11.4px rgba(0, 0, 0, 0.086),
		0 19.2px 19.8px rgba(0, 0, 0, 0.092),
		0 38.4px 34.8px rgba(0, 0, 0, 0.1),
		0 101px 74px rgba(0, 0, 0, 0.13);
	}
	#mail2 a img {
		width: 25px;
	}
	#mail2 a span {
		padding-top: 7px;
	}
	#header .contact {
		position: relative;
	}
	#header .contact a img {
		vertical-align: middle;
	}
	#header .contact .tel {
		vertical-align: middle;
	}
	#header .contact .txt {
		margin: 0 20px;
		color: #666;
		font-size: 12px;
	}
	#header .contact .tel,
	#header .contact .btn {
		width: 45px;
		height: 50px;
		background: #ffa500;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		vertical-align: middle;
		color: #fff;
		font-size: 11px;
		position: absolute;
		top: 0;
		right: 45px;
	}
	#header .contact .btn {
		margin-right: 46px;
	}
	#header .contact .tel span,
	#header .contact .btn span {
		padding-top: 5px;
	}
	#header .contact .tel img,
	#header .contact .btn img {
		height: 16px;
	}
	/* コンテナ */
	#container {
		padding-top: 50px;
	}
	.main {
		padding-left: 15px;
		padding-right: 15px;
	}
	#main, #navi {
		clear: both;
		padding-bottom: 30px;
	}
	.contact_frame .links a {
		padding: 20px;
	}
	.contact_frame .links a img {
		height: 40px;
		margin-right: 10px;
	}
	.contact_frame .links a .links_txt .fm {
		font-size: 16px;
	}
	.contact_frame .links a .links_txt .no {
		font-size: 25px;
	}
	.contact_frame .links a .links_txt {
		font-size: 9px;
	}
	/* フッター */
	#copyright {
		height: 30px;
		line-height: 30px;
		font-size: 10px;
	}
	/* パンくずリスト */
	#page_navi {
		margin-bottom: 20px;
		padding-top: 15px;
		font-size: 11px;
	}
	/* 枠のマージン・パディング */
	.mb { margin-bottom: 80px; }
	.pt { padding-top: 80px; }
	.pb { padding-bottom: 80px; }
	/* アンカーリンク用上部スペース */
	.pad_anchor {
		margin-top: -50px;
		padding-top: 50px;
	}
	/*--------------------------------------------------
		トップページ
	--------------------------------------------------*/
	#page_title .sub_ttl .txt span.fs.dsp_hp {
		display: none!important;
	}
	#top_concept .text {
		width: 41%;
	}
	#top_concept .text h3.sub {
		margin-bottom: 40px;
	}
	#top_concept .text .txt {
		line-height: 25px;
		margin-bottom: 30px;
	}
	#top_concept .photo {
		width: 56%;
	}
	#top_concept .box_flex_sp:nth-of-type(2) .photo {
		width: 56%;
	}
	#top_concept .logo {
		width: 41%;
	}
	#top_blog #blog_list {
		margin-top: 40px;
	}
	#top_blog .box_flex_sp:after{
		width: 32%;
	}
	#top_blog .box {
		width: 32%;
		margin-bottom: 40px;
	}
	#top_blog .box dt {
		line-height: 30px;
	}
	#top_blog .box dd .title a {
		line-height: 25px;
	}
	#top_blog .box dd .text a {
		line-height: 25px;
	}
	#top_contents a {
		width: 32%;
	}
	#top_contents a h3 {
		letter-spacing: 2.5px;
	}
	#top_contents a h3:before {
		font-size: 25px;
		letter-spacing: 2.5px;
	}
	#top_contents a h3 span {
		font-size: 16px;
		letter-spacing: 1.6px;
		padding-top: 0;
	}
	.slider div {
		padding-left: 15px;
	}
	#sublink a {
		width: 48%;
		height: 150px;
	}
	#sublink a h3 {
		letter-spacing: 2.5px;
	}
	#sublink a h3 span {
		font-size: 20px;
		letter-spacing: 2px;
		padding-top: 5px;
	}
	#sublink a h3:before {
		font-size: 25px;
	}
	#top_other {
		width: 95%;
		margin: 0 auto 40px;
		padding: 40px 20px;
	}
	#top_other .other_box {
		justify-content: space-between;
	}
	#top_other .box {
		width: 48%;
	}
	#top_other .box:first-child {
		margin-right: 0;
	}
	#top_other .box .name {
		margin-bottom: 30px;
	}
	#top_blog .box .photo img,
	#works_list .box .photo img {
		width: 200px;
		height: 200px;
		object-fit: cover;
	}
	#top_contents a .txt {
		line-height: 1.2;
		font-size: 11px;
		bottom: 0px;
	}
	/*--------------------------------------------------
		WORKS
	--------------------------------------------------*/
	.service_list {
		gap: 7px;
	}
	.service_list li img {
		height: 140px;
	}
	.btn-sq {
		min-height: 30px;
	}
	.btn-sq span {
		font-size: 0.8rem;
	}
	.btn-arrow::before {
		right: min(20px, 5%);
		width: 20px;
		height: 20px;
	}
	.btn-arrow::after {
		right: min(20px, 5%);
		width: 20px;
		line-height: 20px;
	}
	/*--------------------------------------------------
		FLOW　リノベーションの流れ
	--------------------------------------------------*/
	#faq dl {
		margin-left: 70px;
	}
	
	/*--------------------------------------------------
		STAFF
	--------------------------------------------------*/
	#staff .box_flex {
		margin-bottom: 50px;
	}
	#staff .box_flex dl:not(:last-child),
	#staff #katakura .box_flex:nth-child(2) {
		margin-bottom: 30px;
	}
	#staff .box_flex .txt .name {
		top: -20px;
	}
	#staff .box_flex .txt .about {
		bottom: 0;
	}
	#staff .box_flex .txt .about dt, #staff .box_flex:nth-child(2) dt {
		font-size: 18px;
		margin-bottom: 10px;
		font-weight: bold;
	}
	/*--------------------------------------------------
		お問い合せ
	--------------------------------------------------*/
	/*#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;
	}

/*------------------------------------------------*/
}