@charset "utf-8";

@media (max-width: 480px) {
	/* 各種設定-------------------------------------------------------------------- */
	.PC {
		display: none !important;
	}
	.SP {
		display: initial !important;
	}
	body {
		font-size: 1.4em;
	}
	.bg {
		padding-bottom: 80px;
	}
	.bg_h {
		margin-top: initial;
		padding-top: 80px;
		padding-bottom: 80px;
		margin-bottom: 80px;
	}
	h1 {
		font-size: 1.8em;
	}
	h2 {
	}
/*
		font-size: 1.6em;
*/
	h2 .before
	{
		font-size: 3em;
	}
	h2 .title
	{
		font-size: 1.5em;
	}

	h3 {
		font-size: 1.3em;
		margin-bottom: 15px;
	}
	h4 {
		font-size: 1.1em;
	}
	.s {
		font-size: 1.1em;
		margin-bottom: 10px;
	}
	.m {
		font-size: 1.72em;
	}
	.l {
		font-size: 2.0em;
	}
	.xl {
		font-size: 2.285em;
		margin-bottom: 30px;
	}
	.hm::before,.hm::after {
		top: 50px;
	}
	.sptop_img {
		display: initial !important;
		height: 50vh;
		object-fit: cover;
	}
	.pctop_img {
		display: none !important;
	}
	.sp_plan_img {
		display: initial;
	}
	.pc_plan_img {
		display: none;
	}
	.lum-lightbox-inner img {
		max-width: 100% !important;
		max-height: 100% !important;
	}
	/* <iframe> */
	iframe {

	}
	.Table th {
		display: block;
		padding-right: 1em;
		padding-left: 1em;
		padding-top: 1em;
		padding-bottom: 1em;
		width: auto;
	}
	.Table td {
		display: block;
		border-top: initial;
		padding-right: 1em;
		padding-left: 1em;
		padding-top: 1em;
		padding-bottom: 1em;
		width: auto;
	}
	.Harea .wrap {
		width: 100%;
	}
	/* 各種初期化 --------------------------------------------------------------------*/
	/* ヘッダー */
	.top {
		display: none;
	}
	.spf {
		display: initial;
	}
	.top_img {
		margin-top: 52px;
		margin-top: 60px;
		height: 50vh;
	}
	.top_img video{
		height: 50vh;
	}
	.index_t {
		min-width: initial;
		left: 2vw;
		font-size: 28px;
	}
	.sptop_img ::before{
		background-color: rgba(55, 55, 55, 0.1);
		position: absolute;
		display: inline-block;
		content: '';
		width: 100%;
		height: 50vh;
	}
	/* ▲ヘッダー終わり▲ */

	/* 共通項目 */
	.wrap {
		width: 90vw;
		min-width: initial;
		max-width: 500px;
	}
	.wrapS {
		width: 90vw;
		min-width: initial;
		max-width: 500px;
	}
	.wrapSB {
		width: 90vw;
		min-width: initial;
		max-width: 500px;
	}
	.wrapM {
		width: 90vw;
		min-width: initial;
		max-width: 500px;
	}
	.pcbr {
		display: none;
	}
	.spbr {
		display: initial;
	}
	.float_l {
		float: initial !important;
		width: 100% !important;
		max-width: initial !important;
	}
	.float_r {
		float: initial !important;
		width: 100% !important;
		max-width: initial !important;
	}
	.SpImg {
		width: 91.5vw !important;
		margin-left: -4.25vw !important;
	}
	.flex {
		display: initial;
	}
	.flexorder {
		display: flex;
		flex-flow: column;
	}
	.between,.around {
		justify-content: initial;
	}
	.Read {
		font-size: 1.72em;
		margin-top: 60px;
		margin-bottom: 40px;
	}
	.Harea {
		background-repeat: no-repeat;
		background-size: cover;
		height: 240PX;
	}
	.Harea h2 {
		width: 95%;
		margin-left: auto;
		margin-right: auto;
		padding-left: 10px;
		padding-right: 10px;
		text-align: center;
	}
	.templateH {
		margin-top: 52px;
		margin-top: 60px;
		padding-top: 79px;
		padding-bottom: 79px;
		height: auto;
	}
	.breadcrum .topwrap {
		padding:initial;
		width: 95%;
		max-width: 500px;
		margin: 0 auto;
	}

	.templateH
	{
		position: relative;
		display: grid;

		padding-top: 0;
		padding-bottom: 0;
	}
	.templateH>*
	{
		height: 60vw;
	}
	.templateH h2
	{
		font-size: 2.5em;
	}
	.templateH h2+.sub
	{
		font-size: 1.2em;
	}
	.templateH .header_img
	{
		order: 1;
	}

	.templateH .header_txt .text
	{
		margin-top: 1em;
	}
	.templateH:not([class*="img"])>*
	{
		width: 100%;
		min-height: 60vw;
		height: auto;
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.templateH:not(.imgL):not(imgR) .header_txt .text
	{
		line-height: inherit;
	}

	/* <header> ヘッダー画像・左右 */
	.templateH:is(.imgL, .imgR)
	{
	}
	.templateH:is(.imgL, .imgR)>*
	{
		width: 100%;
	}
	.templateH:is(.imgL, .imgR) :is(.header_txt, .header_img)
	{
	}
	.templateH:is(.imgL, .imgR) .header_txt
	{
		order: 2;

		display: grid;
		justify-items: center;

		position: absolute;
		left: 50%;
		top: 50%;
		translate: -50% -50%;

		width: 90%;

	}
	.templateH:is(.imgL, .imgR) .header_img
	{
		order: 1;
	}

	/* 装飾-------------------------------------------------------------------- */


	/* 各ヘッダーイメージ-------------------------------------------------------------- */

	/* <header> ヘッダー・NEWS(新着情報), GALLERY(施工事例)　detail */
	:is(#page_news, #page_gallery).detail .templateH>*
	{
		gap: 1em;
		min-height: initial;
		height: calc(160px / 2);
		text-align: justify;
	}
	:is(#page_news, #page_gallery).detail .templateH h2
	{
		font-size: inherit;
		width: auto;

		margin: 0;
		padding: 0;
	}
	:is(#page_news, #page_gallery).detail .templateH .sub
	{
	}

	/* 各ページ共通-------------------------------------------------------------------- */
	.mt {
		margin-bottom: -10px;
	}
	.Title01 {
		margin-bottom: 30px;
	}
	.Title03 {
		margin-bottom: 30px;
	}
	.jumparea {
		margin-top: 50px;
	}
	.jumparea .wrapM {
		min-width: initial;
		width: 90vw;
	}
	.jumparea ul li {
		float: left !important;
		width: initial !important;
		margin-right: 0;
	}
	.jumparea ul li a {
		padding: 10px 30px 10px 15px;
		margin-bottom: 10px;
		margin-right: 9px;
		display: block;
	}

	/* トップページ-------------------------------------------------------------------- */
	.Content01 {
		margin-top: 30px;
	}

	.content01-box1 .float_l:nth-child(1) img {
		min-height: 250px;
	}
	.content01-box1 {
		display: flex;
		flex-flow: column;
	}
	.content01-box1 .float_l:nth-child(1) {
		order: 2;
	}
	.content01-box1 .float_l:nth-child(2) {
		order: 1;
		margin-bottom: 20px;
	}
	.content01-box2 {
		margin-bottom: 0px;
	}
	.content01-box2 .float_l:nth-child(2) {
		margin-left: 0;
		margin-right: 0;
	}
	.content01-box2 .float_l {
		margin-bottom: 20px;
	}
	.content01-box2 .float_l:last-child {
		margin-bottom: 0px;
	}
	.content01-box2 .float_l img {
		height: 250px;
	}
	.Content02 .box {
		padding-left: 30px;
		padding-right: 30px;
		width: auto;
	}

	/* メニュー-------------------------------------------------------------------- */
	.Menu01 {
		margin-top: 80px;
	}
	.Menu01 .flow_root .float_l {
		margin-bottom: 40px;
	}
	.Menu01 .flow_root .float_l:last-child {
		margin-bottom: 0;
	}
	/* 店舗案内-------------------------------------------------------------------- */
	.tablek .Table th {
		background-color: initial;
		padding-top: 32px;
		padding-bottom: 0px;
	}
	.About01 .Table td {
		padding-top: 0px;
	padding-bottom: 32px;
	}
	/* 私たちの物語------------------------------------------------------------------- */
	.Our_story01 {
  		margin-top: 80px;
	}
	.storytext01 {
		width: 70px;
		padding-bottom: 80px;
	}
	.storytext02 {
		width: 100%;
		margin-bottom: 60px;
	}
	.lifer {
		padding-left: 5%;
		padding-right: 5%;
	  	line-height: 3.3;
	}
	.Our_story02 .hearttext {
		width:90%;
		padding-left: 5%;
		padding-right: 5%;
		margin-left: 0px;
		margin-right: 0px;
		margin-top: 60px;
	}
	.story02-img {
		position: initial;
		max-width: 640px;
	}
	.heartname {
		margin-bottom: 60px;
	}
	.approachtitle {
		text-align: left;
	}
	.approachtext {
		width: 90%;
		padding-left: 5%;
		padding-right: 5%;
		margin-left: 0%;
	}
	.kodawaritext {
		width: 25px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 60px;
	}
	.Our_story03 .flow_root .wbox {
		margin-bottom: 30px;
		padding-top: 20px;
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 20px;
	}
	.apptitle {
		margin-top: 30px;
		margin-left: 0%;
		font-size: 1.5em;
		text-align: left;
	}
	.apptext {
		margin-top: 30px;
		margin-left: 0%;
		line-height: 2;
	}

	/* サービス-------------------------------------------------------------------- */

	.Service01 .float_l {
		margin-bottom: 50px;
	}
	.bgtitle {
		font-size: 2em;
		padding-top: 50px;
	}
	.bgtext01 {
		font-size: 1em;
		color: #fff;
	}
	.bgtext02 {
		width: 100%;
		font-size: 1em;
		padding-top: 25%;
		padding-bottom: 12%;
		color: #fff;
	}

	.Service03 .float_l {
		min-height: 280px;
		padding-top: 20px;
		padding-left: 20px;
		padding-right: 20px;
		margin-bottom: 20px;
		padding-bottom: 20px;
	}
	.phototitle {
		margin-top: 30px;
		margin-bottom: 30px;
	}
	.phototext {
		line-height: 2;
	}
	.linkmenu {
	margin-bottom: 40px;
	}
	.linkmenu2 {
	margin-bottom: 40px;
	}
	.Service05 .flow_root {
		margin-bottom: 20px;
	}
	.Service05 .flow_root {
		min-height: 280px;
		padding-top: 20px;
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 20px;
	}
	.aphotosp {
		width: 100%;
	}
	.servicelink {
		margin-right: 20px;
	}
	.servicetitle {
		margin-top: 30px;
		margin-left: 0%;
		font-size: 1.5em;
	}
	.servicetext {
		margin-top: 30px;
		margin-left: 0%;
		line-height: 2;
	}
	.Service07 .float_l {
		min-height: 280px;
		margin-bottom: 20px;
		padding-top: 20px;
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 20px;
	}
	/* 会社概要-------------------------------------------------------------------- */
	.About01 {
		margin-top: 80px;
	}
	.About01 .flow_root .float_l {
		margin-bottom: 30px;
	}
	.About01 .flow_root .float_l:last-child {
		margin-left: 0;
		margin-bottom: 0px;
	}
	.About01 .box1 img {
		height: auto;
		min-height: 230px;
		width: 100%;
		object-fit: cover;
		object-position: center;
	}
	.About01 .box2 .float_l:nth-child(2) {
		margin-left: 0;
		margin-right: 0;
	}
		.About02 .Table th,.About02 .Table td {
		text-align: left;
	}


	/* 施工事例-------------------------------------------------------------------- */

	/* 施工事例　一覧　※トップページ共有 */
	.gallery_list
	{
	}
	.gallery_list>ul
	{
		grid-template-columns: repeat(1, 1fr);
	}


	/* 施工事例　一覧(gallery/index.php) */
	.GALLERY
	{
	}


	/* 施工事例　詳細(gallery/detail.php) */
	.GALLERY.detail
	{
		margin-top: 80px;
	}

	.GALLERY.detail .container
	{
		grid-template-columns: 1fr;
	}


	/* お問い合わせ-------------------------------------------------------------------- */
	.CONTACT .Contact01 .tel {
		padding: 20px 30px;
	}

	/* check, radio リスト */
	.contact-koumoku
	{
		grid-template-columns: 1fr;
	}
	/* check, radio リスト「その他」 */
	.contact-koumoku .free
	{
		grid-column: initial;

		display: grid;
	}
	.contact-koumoku .free label
	{
		width: auto;
	}
	.contact-koumoku .free input[type="text"]
	{
		justify-self: end;
		width: calc(100% - 1.5em);
	}

	/* プライバシーポリシー------------------------------------------------------------- */
	.Privacy01 {
		margin-top: 80px;
	}


}