@charset "utf-8";

@media (max-width: 480px) {
}

/* [index]--- ----------------------- */

header
{
	overflow: hidden;
}
/*

h2
{
	font-size: inherit;
	line-height: 2;
}


.content h2 .before
{
	font-size: 4em;
}
.content h2 .title
{
	font-size: 2.25em;
}
*/


.Content:is(.our_story, .service, .gallery) h2 .before
{
	font-size: 4em;
}
.Content:is(.our_story, .service, .gallery) h2 .title
{
	font-size: 2.25em;
}

/* [index] .top_img --- ----------------------- */
.top_img
{
}

.index_t
{
	font-size: inherit;
	color: inherit;

	display: grid;
	gap: 0.5em;

	left: initial;
	right: 5%;

	width: 80%;

	line-height: 1;
	text-align: right;
}
.index_t h2
{
	margin-bottom: 0;
	font-size: 4em;

	line-height: inherit;
}
.index_t .sub
{
	font-size: 1.1em;
}

.index_t .contact_set
{
	display: grid;
	grid-template-columns: repeat(2, auto);
	justify-content: end;
	gap: 3em;

	margin-top: 3em;
}

.index_t .contact_set a
{
	justify-content: initial;
	justify-items: initial;

	padding: 1em 3em;

	width: auto;
}


/* [index] .Content --- ----------------------- */
.Content
{
	display: grid;
	gap: 2em;

	position: relative;
}

.Content *
{
	position: relative;
}
/*
.Content h2
{
	display: grid;
	gap: 1em;
	margin-bottom: 0;
}
.Content h2 .before
{
	line-height: 1.2;
}
*/

/* [index] .Content <a>ボタン */
.Content nav
{
	text-align: right;
}

.Content nav a
{
	display: flex;
	justify-content: end;
	align-items: center;
	gap: 4em;
}

.Content nav a>b
{
	font-weight: inherit;
}

.Content nav a img
{
	width: 0.8em;
}


/* [index] .Content .our_story　私たちの物語 --- ----------------------- */
.Content.our_story,
.Content.our_story *
{
	position: relative;
}

.Content.our_story
{
	gap: 5em;

	margin-top: calc(80px * 2);
}

.Content.our_story div[class*="img"] img
{
	object-fit: cover;
}
.Content.our_story .img1 img
{
	aspect-ratio: 456 / 596;
	object-position: right;
}
.Content.our_story .img2 img
{
	aspect-ratio: 271 / 405;
}
.Content.our_story .img3 img
{
	aspect-ratio: 346 / 398;
	object-position: left;
}
.Content.our_story .img4 img
{
	aspect-ratio: 230 / 206;
}
.Content.our_story .img5 img
{
	aspect-ratio: 302 / 401;
}


.Content.our_story .catch_image
{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}
.Content.our_story .catch_image>*[class*="img"]
{
	position: absolute;
}

.Content.our_story .img1
{
	top: 0;
	left: 0;
	width: 28.5em;
}
.Content.our_story .img2
{
	top: 20%;
	right: 0;
	width: 17em;
}
.Content.our_story .img3
{
	bottom: 30%;
	left: 20vw;
	width: 21.5em;
	opacity: 0.4;
}
.Content.our_story .img4
{
	bottom: 20%;
	left: 10vw;
	width: 14.5em;
}
.Content.our_story .img5
{
	width: 20em;
}


.Content.our_story h2
{
	justify-items: center;
	gap: 2em;
}
.Content.our_story h2 .before
{
	display: block;

	width: 4em;

	margin-left: 5em;
	text-align: right;
}
.Content.our_story h2 .title
{
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	text-orientation: upright;

	letter-spacing: 0.25em;
}

.Content.our_story .main
{
	width: 31em;

	margin-left: auto;
	margin-right: auto;
	
	text-align: justify;
	line-height: 2.5;
}

.Content.our_story nav
{
}
.Content.our_story nav .inner
{
	display: grid;
	justify-content: end;
	gap: 3em;
}


/* [index] .Content .service　サービス内容 --- ----------------------- */
.Content.service,
.Content.service *
{
	position: relative;
}

.Content.service
{
}

.Content.service .catch_image
{
	width: 60%;
	margin-left: auto;
	margin-right: 0;
}
.Content.service .catch_image img
{
	object-fit: cover;
}
/*
	aspect-ratio: 1;
*/

.Content.service .body
{
	position: absolute;
	left: 50%;
	top: 0%;
	translate: -50% -0%;
}

.Content.service .body .inner
{
	width: 45%;
}

.Content.service .body .inner h2
{
	z-index: 5;
}
.Content.service .body .inner h2>.before
{
	position: absolute;
	left: 0;
	top: 0.25em;
}
.Content.service .body .inner h2 .title
{
	justify-self: center;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	text-orientation: upright;

	letter-spacing: 0.25em;
}

.Content.service .body .inner .main_wrap
{
	margin-top: -4em;
	padding: 5em 2em 2em;
	background-color: rgb(220 212 188);

	text-align: justify;
	line-height: 2.5;
}

.Content.service .body .inner nav
{
	margin-top: 2em;
}


/* [index] .Content .gallery　施工事例 --- ----------------------- */
.Content.gallery
{
	position: relative;
}

.Content.gallery
{
	text-align: center;
}


.Content.gallery h2
{
	justify-items: center
}
.Content.gallery h2 .before
{
	position: absolute;
	left: 50%;
	top: 50%;
	translate: -50% -50%;
}
.Content.gallery h2 .title
{
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	text-orientation: upright;

	letter-spacing: 0.25em;
}


/*
.gallery_list
{
}
.gallery_list>ul
{
	margin: 0;
	list-style: npne;

	display: grid;
	grid-template-columns: repeat(3, 1fr);
	align-items: start;
	gap: 2em;

	text-align: left;
}

.gallery_list a
{
	display: grid;
	gap: 1em;
}

.gallery_list .thumbnail
{
}
.gallery_list .thumbnail img
{
	aspect-ratio: 1;
	object-fit: cover;
}


.gallery_list .area
{
	position: absolute;
	left: 1em;
	top: 1em;

	min-width: 5em;

	padding: 0.5em;

	text-align: center;
	line-height: 1;
	background-color: rgb(255 255 255);
}
*/

.Content.gallery .gallery_list
{
	margin-top: 2em;
}


/* [index] .Content .contact　お問い合わせ --- ----------------------- */
#page_index .content .contact,
#page_index .content .contact *
{
	position: relative;
}

#page_index .content .contact .fix_contact
{
	margin-top: -5em;
	padding-bottom: 0;
}


/* [index] .Content .news　新着情報 --- ----------------------- */
.Content.news
{
	grid-template-columns: 26% 1fr;
	grid-template-areas:
		"h2 main"
		"h2 nav"
	;
	align-content: start;
	align-items: start;
}
.Content.news>h2
{
	grid-area: h2;
}
.Content.news h2 .before
{
}
.Content.news h2 .title
{
}
.Content.news>.main
{
	grid-area: main;
}
.Content.news>nav
{
	grid-area: nav;
}

.Content.news .main
{
}
/*
.Content.news .main h3
{
	font-size: inherit;
	font-weight: inherit;
	margin-left: 5em;
	margin-bottom: 0;
}
.news_list>ul
{
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: rgb(35 24 21);
}
.news_list>ul>li
{
	padding-top: 1.5em;
	padding-bottom: 1.5em;

	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: rgb(35 24 21);
}
*/


/* [index] .Content .instagram　インスタグラム --- ----------------------- */
.Content.instagram
{
	text-align: center;
}

.Content.instagram h2 .before
{
	height: 0;
}
.Content.instagram h2 .title
{
}

/* [index] .Content .about　会社概要 --- ----------------------- */
.Content.about
{
	grid-template-columns: 35% 1fr;
	grid-template-areas:
		"h2 main"
		"h2 nav"
	;
	align-content: start;
	align-items: start;
}
.Content.about>h2
{
	grid-area: h2;
}
.Content.about h2 .before
{
	display: block;
	width: 4em;
}
.Content.about h2 .title
{
}
.Content.about>.main
{
	grid-area: main;
}
.Content.about>nav
{
	grid-area: nav;
}


/* [index] <footer> --- ----------------------- */
.content+.fix_contact
{
	display: none;
}


/* スマホメニュ-------------------------------------------------------------------- */
@media (max-width: 480px) {
/*
	.Content h2 .before
	{
		font-size: 2.8em;
	}
	.content h2 .title
	{
		font-size: 1.5em;
	}
*/
	.Content:is(.our_story, .service, .gallery) h2 .before
	{
		font-size: 2.8em;
	}

	.Content:is(.our_story, .service, .gallery) h2 .title
	{
		font-size: 1.5em;
	}


	/* [index] .Content <a>ボタン */
	.Content nav a
	{
		gap: 2em;
	}

	/* [index] .top_img --- ----------------------- */
	.top_img,
	.top_img .sptop_img,
	.top_img .sptop_img img
	{
		height: calc(100vh - 52px);
		height: calc(100vh - 60px);
	}

	.top_img
	{
	}

	.top_img .sptop_img
	{
		display: block !important;
	}

	.index_t
	{
		left: 50%;
		right: initial;
		top: 50%;
		bottom: initial;
		translate: -50% -50%;

		gap: 1em;

		width: 80%;

		text-align: center;
	}

	.index_t .contact_set
	{
		grid-template-columns: 1fr;
		gap: 1em;
	}

	.index_t h2
	{
		font-size: 2.8em;
	}

	.index_t .contact_set
	{
		margin-top: 20vh;
	}


	/* [index] .Content .our_story　私たちの物語 --- ----------------------- */
	.Content.our_story
	{
	}

	.Content.our_story .img1
	{
		width: 56vw;
	}
	.Content.our_story .img2
	{
		width: 39vw;
		justify-self: end;
	}
	.Content.our_story .img3
	{
		display: none;
	}
	.Content.our_story .img4
	{
		left: initial;
		right: initial;
		top: initial;
		bottom: initial;
		
		width: auto;
	}
	.Content.our_story .img5
	{
		width: auto;
	}

	.Content.our_story .catch_image2
	{
		display: grid;
		grid-template-columns: 41% 1fr;
		gap: 1em;
	}

	.Content.our_story h2
	{
		display: grid;
		grid-template-columns: 56vw 1fr;
		align-items: center;
		gap: 0;
	}

	.Content.our_story h2 .before
	{
		display: grid;
		justify-content: center;
		justify-items: center;
		text-align: left;
		margin: initial;
		width: 3em;
	}

	.Content.our_story h2 .title
	{
		align-self: end;
		bottom: -1em;
	}

	.Content.our_story .main
	{
		width: calc(100% - (5vw * 2));
		width: 81%;
	}


	/* [index] .Content .service　サービス内容 --- ----------------------- */
	.Content.service
	{
		display: grid;
	}
	.Content.service>.catch_image
	{
		order: 2;
	}
	.Content.service>.body
	{
		order: 1;
	}

	.Content.service>.catch_image
	{
		width: 100%;

		margin-top: -6em;
	}
	.Content.service .catch_image img
	{
		aspect-ratio: 1;
	}

	.Content.service .body
	{
		position: relative;
		left: initial;
		top: initial;
		translate: none;

		z-index: 5;
	}

	.Content.service .body .inner
	{
		width: auto;
	}

	.Content.service .body .inner h2>.before
	{
		top: 50%;
		left: 50%;
		translate: -50% -50%;
	}

	.Content.service .body .inner .main_wrap
	{
		margin-top: -3em;
	}

	.Content.service nav
	{
	}
	.Content.service nav a
	{
		justify-content: center;
	}

	
	/* [index] .Content .gallery　施工事例 --- ----------------------- */
	.Content.gallery
	{
	}
/*
	.gallery_list
	{
	}
	.gallery_list>ul
	{
		grid-template-columns: repeat(1, 1fr);
	}
*/


	/* [index] .Content .news　新着情報 --- ----------------------- */
	.Content.news
	{
		grid-template-columns: 1fr;
		grid-template-areas:
			"h2"
			"main"
			"nav"
		;
	}

	.Content.news>h2
	{
		justify-items: center;
	}
	.Content.news h2 .before
	{
		height: 0;
	}
/*
	.Content.news .main h3
	{
		margin-left: initial;
	}
*/


	/* [index] .Content .instagram　インスタグラム --- ----------------------- */
	.Content.instagram
	{
	}


	/* [index] .Content .about　会社概要 --- ----------------------- */
	.Content.about
	{
		grid-template-columns: 1fr;
		grid-template-areas:
			"h2"
			"main"
			" nav"
		;
	}

	.Content.about>h2
	{
		justify-items: center;
	}
	.Content.about h2 .before
	{
		width: auto;
		height: 0;
	}
}