@charset "UTF-8";

/*----------------------------------------------------------------
  HTML Elements
  ----------------------------------------------------------------*/

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
}

body {
	margin: 0;
	padding: 0;
	background-color: #fff;
	font: 1.4rem/1.5 "Noto Sans JP", sans-serif;
	color: #484848;
}

h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, figure {
	margin: 0;
	font-weight: normal;
	font-size: 100%;
}

h1, h2, h3, h4, h5, h6, p, li, dl, dt, dd {
	padding: 0;
}

img {
	max-width: 100%;
	vertical-align: bottom;
}

/*----------------------------------------------------------------
  Common Classes
  ----------------------------------------------------------------*/

.c-inherit {
	color: inherit;
}

.cur-p:hover,
.cur-p:active {
	cursor: pointer;
}

.d-none {
	display: none;
}

.d-b {
	display: block;
}

.hover-largeimg {
	overflow: hidden;
}

.hover-largeimg > img {
	transform: scale(1.0, 1.0);
	transition: transform 0.7s;
}

.hover-largeimg:hover > img,
.hover-largeimg:active > img {
	transform: scale(1.1, 1.1);
}

.hover-op {
	opacity: 1;
	transition: opacity 0.3s;
}

.hover-op:hover,
.hover-op:active {
	opacity: 0.7;
}

.hover-ul,
.hover-noul:hover,
.hover-noul:active {
	text-decoration: none;
}

.hover-ul:hover,
.hover-ul:active,
.hover-noul {
	text-decoration: underline;
}

.list-n {
	padding: 0;
	list-style-type: none;
}

.mb10 {
	margin-bottom: 10px;
}

.mt10 {
	margin-top: 10px;
}

.no-marker {
	padding: 0;
	list-style-type: none;
}

.pos-r {
	position: relative;
}

.ta-c {
	text-align: center;
}

.w-100 {
	width: 100%;
}

.va-b {
	vertical-align: bottom;
}

/*----------------------------------------------------------------
  Page Header
  ----------------------------------------------------------------*/

.page-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: #fff;
}

.page-header-sticky {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}

.header-nav-link-main a {
	display: flex;
	text-decoration: none;
	font-weight: 100;
	font-size: 1.6rem;
	color: #000;
}

.header-nav-link-request {
	display: flex;
	background-color: #006f4a;
	text-decoration: none;
	font-weight: 300;
	color: #fff;
}

.page-header-sticky .header-nav-link-request img {
	display: none;
}

.breadcrumbs {
	background-color: #eff6f3;
	color: #626262;
}

.breadcrumbs ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.breadcrumbs li::before {
	margin: 0 0.7rem;
}

.breadcrumbs li:nth-of-type(n+2)::before {
	content: ">";
}

.content-main-header {
	text-align: center;
	font-weight: bold;
	color: #006f4a;
}

.content-lead p {
	margin-bottom: 25px;
}

.content-lead a {
	font-size: 2.4rem;
	font-weight: bold;
	color: #006f4a;
}

/*----------------------------------------------------------------
  Home
  ----------------------------------------------------------------*/

.top-jumbotron figcaption {
	position: absolute;
	left: 0;
	/*background-color: #fff;*/
	text-align: center;
}

.top-jumbotron-slide-inner {
	position: relative;
	overflow: hidden;
}

.top-jumbotron-slide-inner img {
	transform: scale(1.1);
	transition: transform 7.3s;
}

.top-jumbotron-slide .slick-active img {
	transform: scale(1.0);
}

.top-works-slide {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}

.top-works-slide-prev {
	padding: 0;
	border: none;
	background: transparent url(../img/arrow_r_green_12x18.png) center no-repeat;
	outline: none;
}

.top-works-slide-next {
	padding: 0;
	border: none;
	background: transparent url(../img/arrow_l_green_12x18.png) center no-repeat;
	outline: none;
}

.top-works-slide-text a {
	color: #000;
}

.top-news-inner dl {
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #c9c9c9;
}

.top-news-inner dt,
.top-news-inner dd {
	border-bottom: 1px solid #c9c9c9;
}

.top-news-inner dd span {
	margin-left: 7px;
	text-transform: uppercase;
	color: #e00;
}

.icon-text-new {
	display: inline-block;
	margin-left: 15px;
	text-transform: uppercase;
	font-size: 1.2rem;
	color: #ae0700;
}

.top-news-photo {
	background-color: #eee;
}

.top-news-photo-inner li {
	display: flex;
	flex-direction: column;
}

.top-news-photo-image {
	display: block;
	width: 100%;
	align-self: flex-start;
}

.top-news-photo-tag {
	display: block;
	width: 70px;
	margin-bottom: 10px;
	background-color: #fff;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
	font-size: 1.2rem;
	font-weight: 500;
	color: #543838;
}

.top-news-photo-date {
	margin-top: auto;
	font-weight: 300;
	color: #6d6d6d;
}

.top-news-photo-link {
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 0 auto;
	background-color: #006f4a;
	text-decoration: none;
	text-align: center;
	font-weight: 500;
	font-size: 1.2rem;
	color: #fff;
}

.top-news-photo-link::before {
	content: 'All view';
	margin-right: 25px;
	text-transform: uppercase;
	font-size: 1.4rem;
}

.top-about-inner {
	background-color: #fff;
}

.top-about-inner dl {
	display: flex;
	flex-wrap: wrap;
}

.top-about-inner dt {
	width: 100px;
}

.top-about-inner dt::after {
	content: '：';
}

.top-about-inner dd {
	width: calc(100% - 100px);
}

.top-instagram h2 {
	padding-bottom: 36px;
	background: transparent url(../img/icon_instagram.png) bottom center no-repeat;
	text-align: center;
}

.top-instagram #sb_instagram #sbi_images {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
	float: none;
}

.top-instagram #sb_instagram .sbi_photo {
	position: relative;
}

.top-instagram #sb_instagram .sbi_photo::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	border: 3px solid #d0d0d0;
}

.top-lineup h2 a {
	color: #484848;
}

/*----------------------------------------------------------------
  Reserve
  ----------------------------------------------------------------*/

.content-header-reserve {
	background: transparent url(../img/bg_reserve.jpg) center / cover no-repeat;
}



/*----------------------------------------------------------------
  Rebuild
  ----------------------------------------------------------------*/

.content-header-rebuild {
	background: transparent url(../img/bg_rebuild.jpg) center / cover no-repeat;
}

.rebuild-text {
	background-color: #eff6f3;
	font-weight: 300;
}

.rebuild-text dt {
	font-weight: 700;
	font-size: 2.4rem;
	color: #006f4a;
}

.rebuild-text dd a {
	display: block;
	width: 120px;
	padding: 10px;
	background-color: #006f4a;
	text-decoration: none;
	text-align: center;
	font-size: 1.2rem;
	color: #fff;
}

.rebuild-single-gallery {
	display: flex;
	flex-wrap: wrap;
}

.rebuild-single-gallery figcaption {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.rebuild-single-gallery figcaption::before {
	width: 100px;
	text-transform: uppercase;
	text-align: center;
	font-weight: 700;
	color: #fff;
}

.gallery-before::before {
	content: "Before";
	background-color: #aaa;
}

.gallery-after::before {
	content: "After";
	background-color: #006f4a;
}

/*----------------------------------------------------------------
  Land
  ----------------------------------------------------------------*/

.content-header-land {
	background: transparent url(../img/bg_land.jpg) center / cover no-repeat;
}

.archive-land li {
	border-bottom: 1px solid #006f4a;
}

.archive-land a {
	display: block;
	background: transparent url(../img/arrow_r_green_12x18.png) center left 5px no-repeat;
	color: #006f4a;
	transition: background-color 0.3s;
}

.archive-land a:hover,
.archive-land a:active {
	background-color: #beeddc;
}

.header-land {
	border-bottom: 1px solid #006f4a;
	font-weight: bold;
	color: #006f4a;
}

.land-info dl {
	display: flex;
	flex-wrap: wrap;
}

.land-info dt {
	font-weight: 700;
	color: #006f4a;
}

.land-tag-new {
	width: 100px;
	padding: 3px;
	background-color: #ef417a;
	text-align: center;
	font-weight: 700;
	font-size: 2rem;
	color: #fff;
}

/*----------------------------------------------------------------
  Interior
  ----------------------------------------------------------------*/

.content-header-interior {
	background: transparent url(../img/bg_interior.jpg) center / cover no-repeat;
}

.interior-gallery {
	display: flex;
	flex-wrap: wrap;
}

.interior-gallery a {
	position: relative;
	display: block;
}

.interior-gallery a::after {
	content: '';
	position: absolute;
	bottom: 10px;
	right: 10px;
	z-index: 1;
	display: block;
	width: 20px;
	height: 20px;
	background:
		linear-gradient(to right, transparent 0px, transparent 8px, #fff 8px, #fff 12px, transparent 12px, transparent 20px) 0 0 no-repeat,
		transparent linear-gradient(to bottom, transparent 0px, transparent 8px, #fff 8px, #fff 12px, transparent 12px, transparent 20px) 0 0 no-repeat;
}

/*----------------------------------------------------------------
  Showroom
  ----------------------------------------------------------------*/

.content-header-showroom {
	background: transparent url(../img/bg_showroom.jpg) center / cover no-repeat;
}

.showroom-intro figcaption {
	margin-top: 10px;
	text-align: right;
}

.showroom-gallery-1 {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.showroom-gallery-1 figcaption {
	margin-top: 15px;
}

.showroom-description {
	padding: 20px 40px;
	background-color: #eff6f3;
}

.showroom-description p:not(:last-of-type) {
	margin-bottom: 25px;
}

/*.showroom-gallery-2 {
	display: flex;
	justify-content: space-between;
}

.showroom-gallery-2 figcaption {
	margin-top: 10px;
	text-align: center;
}*/

.header-showroom {
	text-align: center;
}

.header-showroom span {
	display: block;
	font-weight: bold;
	color: #006f4a;
}

.showroom-map iframe {
	width: 100%;
	border: none;
	outline: none;
}

.showroom-address dt {
	margin-bottom: 30px;
	font-size: 2rem;
	font-weight: 700;
	color: #006f4a;
}

.showroom-info {
	display: flex;
	flex-wrap: wrap;
}

.showroom-info dt,
.showroom-info dd {
	border-bottom: 1px solid #04673f;
}

.showroom-info dt:first-of-type,
.showroom-info dd:first-of-type {
	padding-top: 0;
}

/*----------------------------------------------------------------
  Works
  ----------------------------------------------------------------*/

.content-header-works {
	background: transparent url(../img/bg_works.jpg) center / cover no-repeat;
}

.work-nav li:nth-of-type(1) a {
	background:
		url(../img/arrow_b_white_21x14.png) no-repeat,
		linear-gradient(to right, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%) center no-repeat,
		transparent url(../img/bg_works_custom.jpg) center / cover no-repeat;
}

.work-nav li:nth-of-type(2) a {
	background:
		url(../img/arrow_b_white_21x14.png) no-repeat,
		linear-gradient(to right, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%) center no-repeat,
		transparent url(../img/bg_works_ie.jpg) center / cover no-repeat;
}

.work-nav li:nth-of-type(3) a {
	background:
		url(../img/arrow_b_white_21x14.png) no-repeat,
		linear-gradient(to right, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%) center no-repeat,
		transparent url(../img/bg_works_hi.jpg) center / cover no-repeat;
}

.work-nav li:nth-of-type(4) a {
	background:
		url(../img/arrow_b_white_21x14.png) no-repeat,
		linear-gradient(to right, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%) center no-repeat,
		transparent url(../img/bg_works_lo.jpg) center / cover no-repeat;
}

.work-nav li:nth-of-type(5) a {
	background:
		url(../img/arrow_b_white_21x14.png) no-repeat,
		linear-gradient(to right, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%) center no-repeat,
		transparent url(../img/bg_works_mini.jpg) center / cover no-repeat;
}

.work-nav li:nth-of-type(6) a {
	background:
		url(../img/arrow_b_white_21x14.png) no-repeat,
		linear-gradient(to right, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%) center no-repeat,
		transparent url(../img/bg_works_other.jpg) center / cover no-repeat;
}

.work-nav a {
	display: block;
	text-decoration: none;
	color: #fff;
}

.header-work {
	background-color: #eff6f3;
	text-align: center;
}

.header-work span {
	display: block;
	background: transparent linear-gradient(to bottom, #fff 0%, #fff 50%, #eff6f3 50%, #eff6f3 100%) 0 0 no-repeat;
	font-weight: bold;
	color: #006f4a;
}

.work-gallery ul {
	display: flex;
	flex-wrap: wrap;
}

.work-gallery li {
	padding: 4px 4px 10px;
	border: 1px solid #dedede;
}

/*----------------------------------------------------------------
  Construction
  ----------------------------------------------------------------*/

.construction-header {
	border-width: 1px 1px 1px 3px;
	border-style: solid;
	border-color: #f8f8f8 #f8f8f8 #f8f8f8 #ff9933;
	background-color: #fffbe7;
	font-weight: bold;
	color: inherit;
}

.construction-list {
	display: flex;
	flex-wrap: wrap;
	border-top: 1px dotted #ccc;
}

.construction-list dt {
	width: 80px;
	border-bottom: 1px dotted #ccc;
}

.construction-list dd {
	border-bottom: 1px dotted #ccc;
}

.construction-list dd span {
	margin-left: 7px;
	text-transform: uppercase;
	color: #e00;
}

/*----------------------------------------------------------------
  News
  ----------------------------------------------------------------*/

.news-title {
	margin-bottom: 10px;
	padding: 5px;
	border-bottom: 1px solid #999;
	background-color: #ffeede;
}

.news-inner .wp-block-embed__wrapper {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.news-inner .wp-block-embed__wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

/*----------------------------------------------------------------
  Flow
  ----------------------------------------------------------------*/

.content-header-flow {
	background: transparent url(../img/bg_flow.jpg) center / cover no-repeat;
}

.flow-list {
	counter-reset: fl;
}

.flow-list dt {
	position: relative;
	font-weight: 700;
	color: #006f4a;
}

.flow-list dt::after {
	content: '';
	position: absolute;
}

.flow-list dt span {
	text-transform: uppercase;
	color: #8c8c8c;
}

.flow-list dd {
	font-weight: 300;
}

.flow-list dd span {
	font-weight: 500;
	color: #006f4a;
}

.flow-list li {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	counter-increment: fl;
}

.flow-list li::before {
	content: counter(fl);
	display: block;
	width: 32px;
	padding: 7px 0;
	background-color: #006f4a;
	line-height: 1;
	text-align: center;
	border-radius: 50%;
	font-weight: 700;
	font-size: 1.8rem;
	color: #fff;
}

.flow-list li span {
	width: calc(100% - 40px);
}

/*----------------------------------------------------------------
  Contact
  ----------------------------------------------------------------*/

.contact-form dd {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
}

.content-header-contact {
	background: transparent url(../img/bg_contact.png) center / cover no-repeat;
}

.input-radio ~ span::before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 2px 12px 2px 2px;
	border: 2px solid #fff;
	border-radius: 50%;
	background-color: #fff;
	vertical-align: text-bottom;
	box-shadow: 0 0 2px 0 #6b6b6b;
	transition: background-color 0.3s;
}

.input-radio:checked ~ span::before {
	background-color: #006f4a;
	box-shadow: 0 0 2px 0 #006f4a;
}

.contact-form label:hover .input-radio ~ span::before {
	background-color: #006f4a;
	cursor: pointer;
}

.contact-text {
	width: 100%;
	border: 1px solid #c5c5c5;
	line-height: inherit;
	font-size: 1.4rem;
	font-family: inherit;
	outline: none;
}

.contact-text:focus {
	border-color: #006f4a;
}

.contact-form-btn-default {
	display: block;
	max-width: 510px;
	padding: 25px;
	border: none;
	text-align: center;
	font-size: 2.4rem;
	font-weight: 700;
	outline: none;
}

.contact-form-btn-return {
	background-color: #999;
	color: #000;
}

.contact-form-btn-submit {
	background-color: #006f4a;
	color: #fff;
}

.required {
	display: inline-block;
	width: 45px;
	margin-left: 20px;
	border-radius: 5px;
	background-color: #ef417a;
	text-align: center;
	font-size: 1.4rem;
	color: #fff;
}

.mw_wp_form .horizontal-item {
	margin: 5px 10px 5px 0;
}

.mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0 !important;
}

/*----------------------------------------------------------------
  Sitemap
  ----------------------------------------------------------------*/

.sitemap-header {
	margin-bottom: 50px;
	font-size: 3.2rem;
	font-weight: 700;
	color: #006f4a;
}

.sitemap-wrapper a {
	position: relative;
	display: block;
	padding: 10px;
	text-decoration: none;
	color: #006f4a;
	border-bottom: 1px solid #006f4a;
}

.sitemap-wrapper a::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 100%;
	z-index: -1;
	background-color: #eff6f3;
	transition: width 0.3s;
}

.sitemap-wrapper a:hover::before,
.sitemap-wrapper a:active::before {
	width: 100%;
}

.sitemap-inner {
	width: 90%;
	margin-left: auto;
	border-left: 1px solid #006f4a;
}

/*----------------------------------------------------------------
  Page Footer
  ----------------------------------------------------------------*/

.btn-page-top {
	position: fixed;
	display: block;
	padding: 0;
	border: none;
	background: #006f4a url(../img/arrow_t_white_30x20.png) center no-repeat;
	outline: none;
}

.page-footer {
	background-color: #2c1b1e;
	color: #fff;
}

.page-footer .inner {
	display: flex;
	flex-wrap: wrap;
}

.footer-nav-2 {
	font-size: 1.2rem;
	color: #b7adad;
}

.footer-nav-1 a,
.footer-nav-2 a {
	color: inherit;
}

.footer-company {
	line-height: 2;
}

.footer-company span {
	display: inline-block;
	line-height: 1;
	font-size: 2.4rem;
	margin-bottom: 5px;
}

.footer-company a {
	display: block;
	width: 250px;
	margin-top: 15px;
	padding: 5px;
	border: 1px solid #fff;
	background-color: #2c1b1e;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	font-size: 1.6rem;
	color: #fff;
	transition: background-color 0.3s;
}

.footer-company a:hover,
.footer-company a:active {
	background-color: #fff;
	color: #2c1b1e;
}

.footer-copyright {
	width: 100%;
	text-align: right;
	font-style: normal;
	font-size: 1.2rem;
	color: #928d8e;
}
