@charset "UTF-8";
/*! destyle.css v3.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}[type="checkbox"]{-webkit-appearance:checkbox;appearance:checkbox}[type="radio"]{-webkit-appearance:radio;appearance:radio}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}


/* **************************************************
	layout
************************************************** */
* {
  box-sizing: border-box;
}

html,
body {
  position: relative;
  -webkit-text-size-adjust: 100%;
}

html {
	font-size: 62.5%;
	height: 100%;
}


body {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: 16px;
  font-size: 1.6rem;
  font-family: "Roboto", "游ゴシック体","YuGothic", "游ゴシック Medium","Yu Gothic Medium", "游ゴシック","Yu Gothic", "Noto Sans JP", "メイリオ", "Meiryo", "Hiragino Sans", "ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN", sans-serif;
  color: #222;
  font-weight: 400;
  line-height: 1.7;
  background: transparent !important;
  font-variant-ligatures: none;
  -webkit-font-smoothing: subpixel-antialiased;
  z-index: 0;
}


body.noscroll {
	overflow: hidden;
  }


/* **************************************************
	layout
************************************************** */

.layout {
	width: 100%;
	height: auto !important;
	height: 100%;
	position: relative;
	top: 0;
	left: 0;
	margin: 0 auto;
	text-align: left;
}


a {
	color: #222;
	text-decoration: none;
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;

}

a:hover,
a:focus {
	color: #63B944;
	text-decoration: none;
}

p {
	text-align: justify;
}

img {
	width:100%;
	height:auto;
}

br.only_sp {
	display: none;
}

br.only_pc {
	display: block;
}

/* **************************************************
	container
************************************************** */

.container {
	width: 100%;
	padding-right: 2vw;
	padding-left: 2vw;
	margin-right: auto;
	margin-left: auto;
	max-width: 1320px;
}


.wrapper {
	overflow: hidden;
}

/* **************************************************
	header
************************************************** */

.header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	background:#FFF;
	z-index: 999;
}

.header h1 > a {
	display: block;
}

.header .logo {
	fill: #6CBF00;
	width: calc(120px + 40 * (100vw - 375px) / 945);
	height:auto;
}

.header.active .logo {
	fill: #6CBF00;
	transition: all 0.2s ease-out;
}

.header-nav {
	width: 100%;
	display: flex;
    flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	background: transparent;
}

.header-nav .gnav-list {
	display: flex;
	gap: 0 5rem;
	padding: 2rem 0;
}

.header-nav .gnav-link {
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	letter-spacing: 0.04em;
	font-size: 1.6rem;
	font-size: clamp(1.4rem, 1.309rem + 0.39vw, 1.6rem);
	position: relative;
	padding:2.4rem 0;
}

.header-nav .gnav-dropdown .gnav-link > span {
	position: relative;
}

.header-nav .gnav-dropdown .gnav-link > span:after {
	content:'';
	position: absolute;
	right:-10px;
	top:35%;
	width:6px;
	height:6px;
	border-top: 2px solid #222;
    border-right:2px solid #222;
    transform: rotate(135deg);
}

.header-nav .gnav-link:after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #63B944;
	bottom: 20px;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform 0.2s;
}

.header-nav .gnav-link:hover:after {
	transform: scale(1, 1);
}

.header-nav .gnav-dropdown.is-active .gnav-link:after {
	transform: scale(1, 1);
}

.header-nav .gnav-dropdown.is-active .gnav-link {
	color:#63B944;
}

.header-nav .gnav-group {
	padding:0 0.5rem;
}

.header-nav .navbar-button {
	display: none;
}


/* dropdown menu */
.gnav-dropdown{
	position: relative;
}

.gnav-dropdown ul {
	visibility: hidden;
	opacity: 0;
	width:28rem;
	height: auto;
	background-color: #FFF;
    position: absolute;
    top: 4.5rem;
    left: -1rem;
	/* transform: scaleY(0); */
	/* transform-origin: center top; */
    transition: all .2s;
	box-shadow: 45px 89px 80px rgba(0,0,0,.07),
				29px 16px 46px rgba(0,0,0,.053),
				-29px -16px 46px rgba(0,0,0,.053),
				17px 34px 25px rgba(0,0,0,.043);
}


.gnav-dropdown:hover > ul,
.gnav-dropdown ul li:hover > ul,
.gnav-dropdown:active > ul,
.gnav-dropdown ul li:active > ul {
  visibility: visible;
  opacity: 1;
  /* transform: scaleY(1); */
}


.gnav-dropdown ul li > p {
	padding:1.6rem 3.2rem 0.8rem;
	display: flex;
	align-items: center;
	font-weight: 700;
}

.gnav-dropdown ul li > p:before{
	content:'';
	width: 1.0rem;
	height:1.0rem;
	border-radius: 50%;
	margin-right: 0.5em;
	background-color: #6CBF00;
}

.gnav-dropdown ul li a {
    display: flex;
    align-items: center;
	justify-content: space-between;
	padding:1.0rem 3.2rem;
    color: #222;
    text-decoration: none;
    position: relative;
	font-weight: 700;
}

.gnav-dropdown ul li:last-child a {
	padding: 1rem 3.2rem 1.8rem;
}

.gnav-dropdown ul li a:hover {
	color: #63B944;
}

.gnav-dropdown ul li a:after {
	content: '';
	display: flex;
	align-items: center;
	width: 5rem;
	padding:1rem 1rem;
	background-image: url('../images/arrow_gr.svg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 5rem;
}



/* **************************************************
  hero
************************************************** */

 .hero_unit_line {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height:100%;
	line-height: 0;
	overflow: hidden;
}

/* .hero-unit_line:before {
	content: '';
	position: absolute;
	top: -5%;
	left: 3.5vw;
	width: 0.3rem;
	height: 941px;
	background-color: #F7FF38;
	transform: rotate(-10deg) skewY(25deg) translateX(-50%);
	z-index: 5;
} */

.hero_unit_line:after {
	content: '';
	position: absolute;
	top: -5%;
	left: calc(50% - 13vw);
	width: 30rem;
	height: 150%;
	background-color: #F1F6EF;
	transform: rotate(195deg) skewY(345deg) translateX(-50%);

}

.hero {
	width: 100%;
	height: 100%;
	height: 100vh;
	max-height: 765px;
	background-color: #F1F6EF;
	overflow: hidden;
	position: relative;
}


.hero_inner {
	position: relative;
	width: 100vw;
	height:100vh;
	max-height: 765px;
	z-index: 2;
}


.hero_title_wrap {
	position: absolute;
	z-index: 5;
	top: 50%;
	right: calc(5.5vw + 4rem);
	transform: translateY(-50%);
}


.hero_title {
	position: relative;
	width: 100%;
	max-width: 1000px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.14em;
	font-size: 3.0rem;
	font-size: clamp(3rem, 2.727rem + 1.16vw, 3.6rem);
	color: #FFF;
	text-shadow:
	16px 25px 80px rgba(0,0,0,.7),
	-16px -25px 80px rgba(0,0,0,.7),
	11px 14px 25px rgba(0,0,0,.3),
	-11px -14px 25px rgba(0,0,0,.3);
}

.hero_title span {
	display: block;
}


/* slider*/
.slider {
	width: 100%;
	height: 100vw;
	overflow: hidden;
}

.slider_img {
	width: 100vw;
	height: 100%;
	height: 100vh;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	background-color: #F1F6EF;
	background-image: url('../images/slider_img_01.jpg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	transform: scale(1.2);
	opacity: 0;
	animation: slideshow 24s linear infinite;
	z-index: 1;
}

.slider_img:nth-child(1) {
	animation-delay: -2s;
	background-image: url('../images/slider_img_01.jpg?z');
	background-position: center center;

}

.slider_img:nth-child(2) {
	animation-delay: 6s;
	background-image: url('../images/slider_img_02.jpg');
	background-position: center center;
}

.slider_img:last-child {
	animation-delay: 14s;
	background-image: url('../images/slider_img_03.jpg');
	background-position: center center;
}



@keyframes slideshow {
	0% {
	  opacity: 0;
	  transform: scale(1.2);
	}
	4.16% {
	  opacity: 1;
	}
	33.33% {
	  opacity: 1;

	}
	41.66% {
	  opacity: 0;
	  transform: scale(1);
	}
	100% {
	  opacity: 0;
	}
  }


/* scroll down */
.scroll_down {
	height:auto;
    position  : absolute;
    bottom : 0;
    left : 5.5vw;
	color: #FFF;
    writing-mode : vertical-rl;
	letter-spacing: 0.095em;
	font-size: 1.6rem;
	display: flex;
	align-items: baseline;
	z-index: 2;
}
.scroll_down:after {
    content : '';
    display : block;
	margin-top: 5px;
    background-color: #FFF;
    width : 1px;
    height : 115px;
    animation: scrolldown 2.5s cubic-bezier(0.5, 0.125, 0.15, 1) infinite forwards;
}

@keyframes scrolldown {
	0% {
	  transform: scale(1, 0);
	  transform-origin: 0 0;
	}
	50% {
	  transform: scale(1, 1);
	  transform-origin: 0 0;
	}
	50.1% {
	  transform: scale(1, 1);
	  transform-origin: 0 100%;
	}
	100% {
	  transform: scale(1, 0);
	  transform-origin: 0 100%;
	}
  }



/* **************************************************
    section
************************************************** */
.section {
	position: relative;
	padding-bottom: 25rem;
	z-index: 10;
	top:10rem;
}

.section:last-child {
	padding-bottom: 20rem;
}

div[class $="_content"] {
	margin:0 auto;
	margin-left:3.5vw;
	margin-right:3.5vw;
	position: relative;
}


/* **************************************************
  loading
************************************************** */

.loader-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FFF;
    z-index: 100;
    display: grid;
    place-items: center;
    pointer-events: none;
	z-index: 9999;
  }


 .loader-bg.loaded {
	display: none;
 }

.js-mc-enter{
  position: relative;
}

.js-mc-enter [id*=item-]{
	opacity: 0;
}


.c-micron{
  width: 50vw;
  height:auto;
  display: flex;
  justify-content: center;
  align-items: center;
}


/* **************************************************
  title
************************************************** */

.title_wrap {
	position: relative;
	display: block;
	font-size: clamp(3rem, 4vw, 6rem);
	transition: clip-path 0.6s cubic-bezier(0.18, 0.06, 0.23, 1) 0.2s;
	clip-path: inset(0 100% 0 0);
	padding: 0 12px 8px 0;
  }

  .title_wrap.show {
	clip-path: inset(0);
  }


.section_title {
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1rem;
}


.section_title .sub {
	display: block;
	color: #56A54B;
	font-weight: 700;
	letter-spacing: 0.01rem;
	font-size: 1.6rem;
	font-size: clamp(1.6rem, 1.509rem + 0.39vw, 1.8rem);
	line-height: 2.8;
}


/* backslash */
.variant.section_title {
	display: flex;
	align-items: flex-end;
}

.variant.section_title .title_wrap {
	display: flex;
		flex-flow:column wrap;
}
.variant.section_title .title_wrap > .sub {
	order: -1;
}

.variant.section_title:before {
  content:'';
	display: block;
	width:4.8rem;
	height:12rem;
	background-image: url('../images/backslash.svg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	transition: clip-path 0.6s cubic-bezier(0.18, 0.06, 0.23, 1) 0.2s;
	clip-path: inset(0 0 100% 0);
}

.variant.section_title.show:before {
  clip-path: inset(0);
}


/* **************************************************
  button view_more
************************************************** */

.btn {
	display: inline-block;
	font-weight: 400;
	color: #222;
	text-align: center;
	vertical-align: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-color: transparent;
	border: 1px solid transparent;
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	line-height: 1.5;
	transition: all .2s ease-in-out;
}

.btn-block {
	display: block;
	width: 100%;
}


.view_more {
	color: #FFF;
	background-color: #6CBF00;
	font-weight: 700;
	font-family: 'Roboto', sans-serif;
	position: relative;
	padding: 2.0rem 0;
	letter-spacing: 0.1rem;
	font-size:1.4rem;
	font-size: clamp(1.4rem, 1.309rem + 0.39vw, 1.6rem);
}


.view_more:after {
	content: '';
	display: block;
	width: 5rem;
	/* width: clamp(5rem, 5vw, 1rem); */
	padding: 2rem 1rem;
	background-image: url('../images/arrow_wh.svg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	color: #6CBF00;
}

.view_more:hover {
	color: #FFF;
	background-color: rgba(99, 185, 68, 0.9);
}

.view_more:focus,
.view_more:active,
.view_more.active {
	color: #FFF;
	box-shadow: none;
	background-color: #63B944;
	transform: translate(0, 0.3rem);
}



/* **************************************************
  image scale
************************************************** */
/* before用 */
.js-expand{
	position: relative;
	overflow: hidden;
  }

.js-expand.show:before {
	opacity: 1;
	transform: scale(1.15);
}
.js-expand:before {
	transform: scale(1);
	transition: transform 1.5s cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
	object-fit: cover;
}


/* 埋め込み用 */
/*
.expand-img{
	position: relative;
	overflow: hidden;
  }
  .expand-img_item {
	position: relative;
  }

.expand-img_item.show img {
  opacity: 1;
  transform: scale(1.1);
}
.expand-img_item img {
  width: 100%;a
  height: 100%;
  display: block;
  transform: scale(1);
  transition: transform 1.5s cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  object-fit: cover;
}
*/


/* **************************************************
	text scroll x
************************************************** */

.scroll_x {
    overflow: hidden;
	padding-bottom: 8rem;
  }


.scroll_x p {
	font-size: clamp(8rem, 15vw, 16rem);
	font-weight: 900;
	color: #6CBF00;
	opacity: 0.2;
	/* -webkit-text-stroke: 1px #6CBF00; */
	white-space: nowrap;
}


/* **************************************************
  business/about
************************************************** */
.about,
.business{
	position: relative;
}

.business:before {
	content:"";
	width: 100%;
	height: auto;
	padding-top: 40%;
	position: absolute;
	top: 0;
	left: 0;
	background-image: url('../images/business_img.jpg');
	background-position: 50% 80%;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 0;
}

.business_item_box {
	position: relative;
	display: flex;
	padding:30% 5rem 0;
}

.business_box {
	width:100%;
	height: auto;
	padding: 0 4rem 2rem;
	background-color: #FFF;
	box-shadow: 0px 10px 50px rgba(0, 0, 0, 0.1) ;
	position: relative;
}

.business_btn_wrap {
	width: 30rem;
	margin-left: auto;
}

.business_box_text h3 {
	margin-bottom:2rem;
	font-weight: 700;
	font-size: 2.4rem;
	font-size: clamp(1.6rem, 1.236rem + 1.55vw, 2.4rem);
}


.about_box_text,
.business_box_text {
	padding: 2rem 5rem 5rem;
}

.about_box_text p,
.business_box_text p {
	font-size: 1.6rem;
	font-size: clamp(1.6rem, 1.509rem + 0.39vw, 1.8rem);
}

.realestate_btn_wrap{
	position: relative;
	z-index: 1;
	padding-top:5rem;
}


/* **************************************************
  recruit
************************************************** */
.recruit {
	position: relative;
}

.recruit:before {
	content:"";
	width: 100%;
	height: auto;
	padding-top: 40%;
	position: absolute;
	top: 0;
	left: 0;
	background-image: url('../images/recruit_img.jpg');
	background-position: 50% 80%;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 0;
}

.recruit_item_box {
	position: relative;
	padding:30% 5rem 0;
}

.recruit_box {
	width:100%;
	height: auto;
	padding: 0 4rem 2rem;
	background-color: #FFF;
	box-shadow: 0px 10px 50px rgba(0, 0, 0, 0.1);
	position: relative;
}

.recruit_btn_wrap {
	width: 30rem;
	margin-left:auto;
}

.recruit_box_text {
	padding: 2rem 5rem 5rem;
}

.recruit_box_text h3 {
	margin-bottom:2rem;
	font-weight: 700;
	font-size: 2.4rem;
	font-size: clamp(1.6rem, 1.236rem + 1.55vw, 2.4rem);
}

.recruit_box_text p {
	font-size: 1.6rem;
	font-size: clamp(1.6rem, 1.509rem + 0.39vw, 1.8rem);
}


/* **************************************************
  下層ページ 共通 section_under
************************************************** */
.section_under_header {
	position: relative;
	overflow: hidden;
}

/* .section_under_headline_title {
	width: 100%;
	height: auto;
	max-width: 1320px;
	display: block;
	position: absolute;
	bottom: 0;
	left:50%;
	transform: translate(-50%);
	right: 0;
	line-height: 1.0;
	padding:0 4.5vw;
	text-align: right;
	color: rgba(255, 255, 255, 0.5);
	font-family: 'Roboto', sans-serif;
	font-size: 18rem;
	font-weight: 400;
	mix-blend-mode: screen;
	z-index: 0;
} */



.section_under {
	position: relative;
	z-index: 10;
	padding-bottom: 20rem;
	/* background-color: #FFF; */
}

div[class $="__box"] {
	width: 100%;
	/* padding: 0 4rem 2rem; */
	/* background-color: #FFF; */
	position: relative;
}

.box__item {
	padding: 5rem;
}

/* header animation */
.js-auto-header {
	position: relative;
	transform: scale(1.1);
	transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
	object-fit: cover;
}

/* **************************************************
	0.service
************************************************** */

.section_under_header.service {
	width: 100%;
	height: auto;
	padding-top: 30%;
	background-color: rgba(34, 34, 34, 0.2);
	background-blend-mode: multiply;
	background-image: url('../images/slider_img_03.jpg');
	background-position: 50% 20%;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 0;
}



.service_item {
	display: flex;
	padding:0 5rem 0 5rem;
	justify-content: space-between;
	gap: 10rem 2.5vw;
	position: relative;
}

.service_item .service_item_wrap {
	flex: 0 1 calc( 100% / 3 );

}


.service_item_box {
	box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.2);
	position: relative;
	overflow: hidden;
	background-color: #FFF;
}

.service_p {
	width:100%;
	padding:2rem 5rem 4rem 5rem;
	font-size:1.6rem;
	font-size: clamp(1.6rem, 1.509rem + 0.39vw, 1.8rem);
}

.service_item_box_img {
	position: relative;
}

.service_item_box_img:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	padding-top: 60%;
	z-index:0;
	position: relative;
}


/* 不動産業関連 img */
.estate_property_img:before {
	background-image: url('../images/estate_property_img.jpg');
	background-position: 55% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}

.estate_contract_img:before {
	background-image: url('../images/estate_contract_img.jpg');
	background-position: 75% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}

.estate_maintenance_img:before {
	background-image: url('../images/estate_maintenance_img.jpg');
	background-position: 35% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}


.service_item_box_category {
	height: auto;
	padding:2rem;
	position: relative;
	/* transform: translate(0%, -40%); */
}

.service_item_box_category:after {
	content: '';
	display: block;
	position: absolute;
	top: -5%;
	left: -10%;
	width: 50rem;
	height: 100%;
	transform: rotate(5deg);
	background-color: #FFF;
	z-index: 0;
}


.service_item_box_category_text {
	width:100%;
	height:auto;
	/* transform: translate(0%, -80%); */
	font-weight: 700;
	position: relative;
	z-index: 1;
}

.service_item_box_category_text p:first-child {
	font-size: 2.0rem;
	font-size: clamp(2rem, 1.818rem + 0.78vw, 2.4rem);
	color:#56A54B;
	font-weight: 700;
	line-height: 1.2;
}

.service_item_box_category_text p:nth-of-type(2) {
	font-size: 1.2rem;
	font-size: clamp(1.6rem, 1.418rem + 0.78vw, 2rem);
	font-weight: 700;
	line-height: 1.2;
}


.service_item_box_category_text p:nth-of-type(3) {
	padding: 1.6rem 0;
	height: auto;
	height: calc(1.4em * 6);
	font-weight: 400;
	line-height: 1.4;
	font-size: clamp(1.4rem, 1.309rem + 0.39vw, 1.6rem);
}

.service_btn_wrap{
	position: relative;
	z-index: 1;
}

.service_item_box:hover .service_item_box_img:before {
	transform: scale(1.1);
	transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}


/* .service_btn_wrap:after {
	content: '';
	display: block;
	width: 15rem;
	padding:2rem 1rem;
	margin-bottom: 2rem;
	background-image: url('../images/arrow_gr.svg');
	background-position: calc(100% - 2rem) center;
	background-repeat: no-repeat;
	background-size: 6rem;
	position: absolute;
	right: 0;
	bottom: 0;
	border-bottom: 1px solid #6CBF00;
	color:#6CBF00;
	font-weight:bold;
	font-family: 'Roboto', sans-serif;
	font-size: calc(1.6rem + 0.2 * (100vw - 375px) / 945);
} */

/* **************************************************
	1.real estate
************************************************** */

.section_under_header.estate {
	width: 100%;
	height: auto;
	padding-top: 30%;
	background-color: rgba(34, 34, 34, 0.2);
	background-blend-mode: multiply;
	background-image: url('../images/estate_property_img.jpg');
	background-position: 50% 20%;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 0;
}

.estate_wrap > p {
	font-size: clamp(1.6rem, 1.509rem + 0.39vw, 1.8rem);
	padding-bottom: 10rem;
}

.estate_item {
	display: flex;
	flex-flow:row wrap;
	justify-content: space-between;
	gap: 3vw;
	position: relative;
}


.estate_item:after {
	content: '';
	display: block;
	width: calc(100%/3 - 2vw);
}

.estate_item_wrap {
	width: calc(100%/3 - 2vw);
}


.estate_item_box {
	box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.2);
	position: relative;
	overflow: hidden;
}

.estate_item_box_category {
	padding:3rem 2rem;
	background-color: #FFF;
}

.estate_item_box_category_text h3 {
	position: relative;
	display: flex;
	flex-flow: row wrap;
	font-size: 1.6rem;
	/* font-size: clamp(1.5rem, 1.455rem + 0.19vw, 1.6rem); */
	align-items:flex-end;
	padding-bottom:1rem;
}
.estate_item_box_category_text p {
	font-size: 1.6rem;
	/* font-size: clamp(1.5rem, 1.455rem + 0.19vw, 1.6rem); */
}


.estate_item_box_category_text h3:after {
	content:'';
	display: block;
	width:100%;
	height:1rem;
	border-bottom: 4px solid #6CBF00 ;
  }

.estate_item_box_img{
	position: relative;
}

.estate_item_box_img:before{
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	padding-top: 100%;
}


.building_img_01:before {
	background-image: url('../images/building_img_01.jpg');
	background-position: 35% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}

.building_img_02:before {
	content: '';
	background-image: url('../images/building_img_02.jpg');
	background-position: 35% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}

.building_img_03:before {
	background-image: url('../images/building_img_03.jpg');
	background-position: 35% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}

.building_img_04:before {
	background-image: url('../images/building_img_04.jpg');
	background-position: 35% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}

.building_img_05:before {
	background-image: url('../images/building_img_05.jpg');
	background-position: 35% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}

.building_img_06:before {
	background-image: url('../images/building_img_06.jpg');
	background-position: 35% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}


/* **************************************************
  2.contract
************************************************** */
.section_under_header.contract {
	width: 100%;
	height: auto;
	padding-top: 30%;
	background-color: rgba(34, 34, 34, 0.2);
	background-blend-mode: multiply;
	background-image: url('../images/estate_contract_img.jpg');
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 0;
}

 .contract_wrap {
	display: flex;
	justify-content: space-between;
	position: relative;
	gap: 0 5rem;
}

.contract_wrap > p {
	padding-bottom: 10rem;
	font-size: clamp(1.6rem, 1.509rem + 0.39vw, 1.8rem);
}

.contract_item_box {
	display: flex;
	justify-content: space-between;
	position: relative;
	gap: 5vw 3vw;
}

.contract_item_wrap {
	margin-bottom:10rem;
}


.contract_item_box_img {
	flex: 0 1 50%;
	overflow: hidden;
}

.contract_item_box_text {
	flex: 0 1 50%;
}

.contract_item_wrap:nth-child(odd) .contract_item_box .contract_item_box_text {
	order:-1;
}

.contract_item_box_text h3 {
	font-size: 2.1rem;
	font-size: clamp(2.1rem, 1.964rem + 0.58vw, 2.4rem);
	margin-bottom:2rem;
	font-weight: 700;
}


.contract_p {
	width:100%;
	font-size:1.6rem;
	font-size: clamp(1.4rem, 1.309rem + 0.39vw, 1.6rem);
	position: relative;
}


.contract_p:after {
	content:'';
	position: absolute;
	top: auto;
	bottom: auto;
	left: auto;
	right: auto;
	width: auto;
	height: auto;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	letter-spacing: 0.05em;
	font-size: 13rem;
	line-height: 1;
	opacity: .1;
	z-index: 1;
}

.contract_p.detail_1:after {
	content: '01';
	right: 0;
	}

.contract_p.detail_2:after {
	content: '02';
	right: 0;
	}
.contract_p.detail_3:after {
	content: '03';
	right: 0;
	}

.contract_img img{
	box-shadow: 0px 2px 30px rgba(34, 34, 34, 0.2);
	position: relative;
}



/* **************************************************
     3.maintenance
************************************************** */

.section_under_header.maintenance {
	width: 100%;
	height: auto;
	padding-top: 30%;
	background-color: rgba(34, 34, 34, 0.2);
	background-blend-mode: multiply;
	background-image: url('../images/estate_maintenance_img.jpg');
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 0;
}


 .maintenance_wrap {
	display: flex;
	justify-content: space-between;
	position: relative;
	gap: 0 5rem;
}

.maintenance_wrap > p {
	padding-bottom: 10rem;
	font-size: clamp(1.6rem, 1.509rem + 0.39vw, 1.8rem);
}

.maintenance_item {
	margin-bottom:10rem;
}


.maintenance_item_box {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	gap: 5vw 3vw;
	margin-bottom: 5vw;
}


.maintenance_item_box_img {
	overflow: hidden;
	flex: 0 1 calc(50% - 1.5vw);
}

.maintenance_item_box_img img {
	box-shadow: 0px 2px 30px rgba(34, 34, 34, 0.2);
}

.maintenance_item_box_img h3 {
	padding:0.5rem 0.5rem;
	position: absolute;
	top: auto;
	font-size: clamp(1.4rem, 1.309rem + 0.39vw, 1.6rem);
}

.maintenance_item_box_text {
	flex: 0 1 calc(50% - 1.5vw);
}

.maintenance_item_wrap:nth-child(odd) .maintenance_item_box .maintenance_item_box_text{
	order: -1;
}

.maintenance_item_box_text h3 {
	font-size: 2.4rem;
	font-size: clamp(2.1rem, 1.964rem + 0.58vw, 2.4rem);
	margin-bottom:2rem;
	font-weight: 700;
}


.maintenance_p {
	width: 100%;
	font-size: clamp(1.4rem, 1.309rem + 0.39vw, 1.6rem);
	position: relative;
}


.maintenance_p:after {
	content:'';
	position: absolute;
	top: auto;
	bottom: auto;
	left: auto;
	right: auto;
	width: auto;
	height: auto;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	letter-spacing: 0.05em;
	font-size: 13rem;
	line-height: 1;
	opacity: .1;
	z-index: 1;
}

.maintenance_p.detail_1:after {
	content: '01';
	right: 0;
	}

.maintenance_p.detail_2:after {
	content: '02';
	right: 0;
	}



/* **************************************************
    business all
************************************************** */

.section_under_header.business_all {
	width: 100%;
	height: auto;
	padding-top: 30%;
	background-color: rgba(34, 34, 34, 0.2);
	background-blend-mode: multiply;
	background-image: url('../images/business_img.jpg');
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 0;
}


.business_all_wrap h3 {
	font-size: 2.1rem;
	font-size: clamp(2.1rem, 1.964rem + 0.58vw, 2.4rem);
	font-weight: 700;
	padding-bottom: 5rem;
}

.business_all_wrap > p {
	padding-bottom: 10rem;
	font-size: 1.6rem;
	font-size: clamp(1.6rem, 1.509rem + 0.39vw, 1.8rem);
}

.business_all_item {
	display: flex;
	flex-flow:row nowrap-reverse;
	justify-content: space-between;
	position: relative;
	margin-bottom: 10rem;
	gap: 0 5rem;
}

.business_all_item:nth-child(even) {
	flex-flow: row-reverse nowrap;
}

.business_all_img {
	flex: 0 1 50%;
	overflow: hidden;
	position: relative;
}

.business_all_img img {
	width: 100%;
	height: 100%;
	box-shadow: 0px 2px 30px rgba(34, 34, 34, 0.2);
	transform: translate3d(0, 30px, 0) scale(1.3, 1.3);
}

.business_all_img.estate_img img {
	transform: translate3d(10px, 30px, 0) scale(1.3, 1.3);
}

.business_all_img.media_img img {
	transform: translate3d(-15px, 50px, 0) scale(1.3, 1.3);
}

.business_all_card {
	flex: 0 1 50%;
}

.business_all_card > p {
	width:100%;
	font-size:1.4rem;
	font-size: clamp(1.4rem, 1.309rem + 0.39vw, 1.6rem);
	position: relative;
}


.business_all_card h3 {
	font-weight: 700;
	line-height: 1.2;
	margin-bottom:3rem;
	font-size: 2.1rem;
	font-size: clamp(2.1rem, 1.964rem + 0.58vw, 2.4rem);
}

.business_all_card h3 > p:last-child {
	margin-top:0.5rem;
	color:#6CBF00;
	font-size: 1.4rem;
	font-size: clamp(1.4rem, 1.309rem + 0.39vw, 1.6rem);
}

/* **************************************************
    parallax
************************************************** */
.js-parallax {
	width: 100%;
	height: 100%;
	position: relative;
	object-fit: cover;
}

/* **************************************************
    company
************************************************** */

.section_under_header.company {
	width: 100%;
	height: auto;
	padding-top: 30%;
	background-color: rgba(34, 34, 34, 0.2);
	background-blend-mode: multiply;
	background-image: url('../images/company_img.jpg');
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 0;
}

.company_item_list li {
	display: flex;
	flex-flow:row wrap;
	gap:0 10rem;
	padding:3rem 0;
	border-bottom:1px solid #dfdfdf;
}

.company_item_list li p {
	letter-spacing: 0.04em;
	font-size: clamp(1.4rem, 1.309rem + 0.39vw, 1.6rem);
}
.company_item_list li p:first-child{
	flex:0 1 10rem;
	font-weight: 700;
}

.company_item_list li p:last-child {
	flex: 0 1 auto;
}


/* **************************************************
    contact 未
************************************************** */

.section_under_header.contact {
	width: 100%;
	height: auto;
	padding-top: 30%;
	background-color: rgba(34, 34, 34, 0.2);
	background-blend-mode: multiply;
	background-image: url('../images/contact-img.jpg');
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 0;
}

.contact_form {
	display: flex;
	flex-flow: column wrap;
	justify-items: center;
}

.contact_form .form-group {
	margin-bottom: 4rem;
}

.contact_form .control-label{
	display: block;
	font-weight: 700;
	font-size: calc(1.4rem + 0.4 * (100vw - 375px) / 945);
}

.contact_form .control-label span.must {
	color: #DC372F;
	font-size: calc(1.4rem + 0.4 * (100vw - 375px) / 945);
	display: inline-block;
	padding: 0.3rem 0.8rem;
	margin-left: 1.6rem;
	vertical-align: baseline;
	line-height: 1.2;
	position: relative;
	font-weight: 700;
}


.contact_form .contact_form_group{
	padding:3rem 0;
}

.contact_form .form-control {
	width:100%;
	border-radius: 0;
	padding: 2rem;
	font-size: calc(1.6rem + 4 * (100vw - 375px) / 945);
	border-bottom: 1px solid #dfdfdf;
}


.form-control_text input[type="text"]:hover,
.form-control_text input[type="text"]:focus,
.form-control_text input[type="text"]:active,
.form-control_text textarea:hover,
.form-control_text textarea:active,
.form-control_text textarea:focus {
	border-bottom: 1px solid #303030;
	outline: none;
}

.form-control_text textarea {
	resize: none;
	overflow: auto;
}

.form-control_text input:placeholder-shown {
	color: #ccc;
}

.form-control_text input::-webkit-input-placeholder {
	color: #ccc;
}

.form-control_text input:-moz-placeholder {
	color: #ccc;
	opacity: 1;
}

.form-control_text input:-ms-input-placeholder {
	color: #ccc;
}

.form-control_text input[type="text"]:-webkit-autofill,
.form-control_text textarea:-webkit-autofill {
	box-shadow: 0 0 0px 99.9rem #FFF inset;
}

.form-control_text .form-error-msg{
	color: #DC372F;
	margin:0.8rem 0 0 0;
	font-size: calc(1.2rem + 4 * (100vw - 375px) / 945);
}

.contact_form_group.post{
	margin: 0 auto;
}

.btn-post {
	padding: 1rem 3rem;
	background-color: #6CBF00;
	color: #FFF;
	font-size: calc(1.6rem + 4 * (100vw - 375px) / 945);
	position: relative;
}


.btn-post:hover,
.btn-post:focus,
.btn-post:active,
.btn-post.active {
	color: #fcfcfc;
	box-shadow: none;
	background-color: #303030;
}




/* **************************************************
    recruitment
************************************************** */

.section_under_header.recruitment{
	width: 100%;
	height: auto;
	padding-top: 30%;
	background-color: rgba(34, 34, 34, 0.2);
	background-blend-mode: multiply;
	background-image: url('../images/recruit_img.jpg');
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 0;
}


/* タブのスタイル */
.tabs {
	width: 100%;
	margin-top: 5rem;
	padding-bottom: 40px;
	background-color: #FFF;
	margin: 0 auto;
	display: flex;
	flex-flow:row wrap;
	justify-content: space-between;
}

.tab_label {
	width: calc(( 100%/4 ) - 0.3rem);
	height: 5.0rem;
	border-bottom: 2px solid #63B944;
	background-color: #FFF;
	line-height: 50px;
	white-space: nowrap;
	display: block;
	text-align: center;
	font-size:1.2rem;
	font-size: clamp(1.2rem, 1.136rem + 0.32vw, 1.4rem);
	font-weight: 700;
	transition: all 0.2s linear;
	order: -1;
}

.tab_label:last-of-type{
	margin-right:0;
}

.tab_label:hover {
	opacity: 0.75;
	color:#6CBF00;
}

/* ラジオボタンを全て消す */
.tab_switch {
	display: none;
}

/* タブ切り替えの中身のスタイル */
.tab_box {
	display: none;
	width:100%;
	min-height: 100rem;
	overflow: hidden;
}

/* active tab */
.tab_switch:checked + .tab_label {
	background-color: #6CBF00;
	color: #FFF;
}

.tab_switch:checked + .tab_label +.tab_box {
	display: block;
}

.recruit_table {
	width: 100%;
	margin:5rem 0;
	border-collapse: collapse;
	border-spacing: 0;
}

.recruit_table th, td{
	padding:1.6rem 2.8rem;
	border:1px solid #D6D5D4;
}


.recruit_table th {
	width:20%;
	font-weight: 400;
	background-color: #F1F6EF;
}


.recruit_table td {
	width: 80%;
	background-color: #FFF;
}



/* **************************************************
  footer
************************************************** */
.footer {
	padding: 25rem 0 2rem;
	position: relative;
}

.footer-copy {
	letter-spacing: 0.13em;
}

.footer small {
	font-size: 1.0rem;
	font-size: calc(1.0rem + 2 * (100vw - 375px) / 945);
	min-height: 0vw;
}

.gotoTop {
	z-index: 9999;
	position: fixed;
	bottom: 1.5vw;
	right: 2vw;
}

.goTop {
	width: 4.0rem;
	height: 4.0rem;
	color: #222;
	text-align: center;
	white-space: nowrap;
	line-height: 1em;
	cursor: pointer;
	display: none;
	z-index: 9999;
}


/* **************************************************
  navbar button animation
************************************************** */
/* .is-fixed {
	position: fixed;
	overflow-y: auto;
	opacity: 1;
	overflow: hidden;
} */


.fixed{
	position: fixed;
	top: 0;
	left: 0;
}

/* .is-active {
	position: static;
	overflow-y: auto;
	opacity: 1;
	top: 0px;
} */

.navbar-button {
	display: block;
	width: 4.0rem;
	height: 4.0rem;
	margin: 0;
	padding: 0;
	cursor: pointer;
	outline: none;
	border: none;
	appearance: none;
	background: transparent;
	color: #63B944;
	position: relative;
	transform: translate(0, calc(-50% + 2rem));
}

.navbar-button .button-bar {
	display: block;
	width: 2.4rem;
	height: 0.2rem;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	background: #6CBF00;
	transition: all 0.2s;
	-webkit-transition: all 0.2s;
}

.header.active .navbar-button .button-bar{
	background: #6CBF00;
}

.navbar-button .button-bar:first-child {
	top: 0.8rem;
	-webkit-transform: translateY(0.5rem) rotate(0deg);
	transform: translateY(0.5rem) rotate(0deg);
}

.navbar-button .button-bar:nth-child(2) {
	opacity: 1;
	top: 2.0rem;
}

.navbar-button .button-bar:nth-child(3) {
	top: 3.2rem;
	-webkit-transform: translateY(-0.5rem) rotate(0deg);
	transform: translateY(-0.5rem) rotate(0deg);
}


.navbar-button.active .button-bar{
	background: #6CBF00;
}
.navbar-button.active .button-bar:first-child {
	top: 1.5rem;
	-webkit-transform: translateY(0.5rem) rotate(45deg);
	transform: translateY(0.5rem) rotate(45deg);
}

.navbar-button.active .button-bar:nth-child(2) {
	opacity: 0;
}

.navbar-button.active  .button-bar:nth-child(3) {
	top: 1.5rem;
	-webkit-transform: translateY(0.5rem) rotate(-45deg);
	transform: translateY(0.5rem) rotate(-45deg);
}



/* **************************************************
  responsive
************************************************** */

/* タブレット向けレイアウト */
@media (max-width: 860px) {

	.header-nav{
		padding: 1rem 0;
	}

	.header-nav.active .logo {
		fill: #6CBF00;
		transition: all 0.6s;
	}

	.header .logo.active {
		fill: #6CBF00;
		transition: all 0.6s;
	}

	.header-nav_wrap{
		width: 100vw;
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
		z-index: 9999;
	}

	.header-nav .navbar-button {
		display: block;
	}

	.header-nav .gnav-group{
		display: block;
		/* display: none; */
		position: fixed;
		top:0;
		right: -120%;
		width: 100%;
		height: 100%;
		height: 100vh;
		background-color: rgba(240, 245, 238, 1);
		z-index: 9990;
		transition: all 0.6s;
	}

	.header-nav.active .gnav-group{
		display: block;
		right: 0;
	}

	.header-nav .gnav-list{
		display: flex;
		flex-flow:column wrap;
		gap:1rem 0;
		/* padding: 2rem 3rem 2rem; */
		justify-content: flex-end;
		text-align: right;
		transform: translateY(8rem);
	}


	.header-nav .gnav-link {
		font-size: 2.1rem;
		font-size: clamp(2.1rem, 1.964rem + 0.58vw, 2.4rem);
		padding: 1rem 3rem 1rem;
	}

	.header-nav .gnav-link:after {
		display: none;
	}

.header-nav .gnav-dropdown .gnav-link > span:after {
	content: '';
	position: absolute;
	right: -18px;
	top: 35%;
	width: 10px;
	height: 10px;
	border-top: 2px solid #222;
	border-right: 2px solid #222;
	transform: rotate(45deg);
}

.header-nav .gnav-dropdown.active .gnav-link > span:after {
	transform: rotate(135deg);
}


	/* タブレット　dropdown menu */
	.gnav-dropdown ul,
	.gnav-dropdown ul li{
  	position: relative;
	left:0;
	top:0;
	width:100%;
	display: none;
	visibility: hidden;
	}

	.gnav-dropdown.active ul,
	.gnav-dropdown.active ul li {
		display: block;
		visibility: visible;
	}


	.disabled-sp{
		pointer-events: none;
	}

	.gnav-dropdown ul {
		width:38vw;
		margin-top: 1rem;
		background-color: #FFF;
		position: relative;
		top: auto;
		left: calc(100% - 39vw);
		opacity: 1;
		transition: all .2s;
		box-shadow: none;
	}

	.gnav-dropdown ul li {
		height: auto;
		font-size: 1.6rem;
		font-size: clamp(1.6rem, 1.509rem + 0.39vw, 1.8rem);
		transition: all .2s;
		position: relative;
	}
	.gnav-dropdown ul li > p{
		font-size: 1.8rem;
		font-size: clamp(1.8rem, 1.664rem + 0.58vw, 2.1rem);
	}

	.gnav-dropdown ul li a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding:1rem 2rem;
		color: #222;
		text-decoration: none;
		position: relative;
		font-size: 1.8rem;
		font-size: clamp(1.8rem, 1.664rem + 0.58vw, 2.1rem);
	}

	.gnav-dropdown ul li:last-child a {
		padding:2rem 2rem;
	}


	/* hero */

	.hero_unit_line:after {
		left: calc(-20% - 13vw);
	}

	/* .hero{
		max-height: 700px;
	} */

	.hero:before {
		height: 70vh;
		background-position: top center;
		background-size: 140% auto;
		z-index: 1;
	}

	.hero_title {
		max-width: 860px;
		font-size: 3.0rem;
		font-size: calc(3.0rem + 10 * (100vw - 375px) / 945);
	}


	.hero_title_wrap {
		bottom: 15vw;
		right:2vw;
		top: 15vw;
		transform: translateY(0);
		height:6.5rem;
	}

	.slider_img:nth-child(1) {
		background-position: 20% center;
	}

	.slider_img:nth-child(3) {
		background-position: 20% center;
	}

	.scroll_down {
    	left : 2vw;
	}

	/* トップページ 共通 */
	.section {
		padding-bottom: 10rem;
	}

	div[class $="_content"]{
		margin-left:auto;
		margin-right: auto;
	}

	.section_title{
		margin-bottom: 2rem;
	}

	.variant.section_title:before {
		width: 4.8rem;
		height: 8rem;
		background-position: center center;
		background-size: cover;
	}


	/* service */
	.service_p {
		width: 100%;
		margin-bottom: 1rem;
		padding: 2rem 1rem 2rem;
	}


	.service_item_box{
		display: flex;
		align-items: center;
		overflow: hidden;
	}

	.service_item_box_img{
		position: relative;
		flex: 0 1 60%;
	}


	.service_item_box_img:before{
		content: '';
		display: block;
		width: 100%;
		height: 100%;
		padding-top: 100%;
		z-index: 0;
		position: relative;
	}

	.estate_contract_img:before{
		background-position: 61% 50%;
	}

	.service_item {
		display: flex;
		flex-flow: row wrap;
		padding: 0 1rem 0 1rem;
		gap: 5rem 0;
		justify-content: stretch;
	}

	.service_item .service_item_wrap {
		flex: 0 1 100%;
	}


	.service_item .service_item_wrap:nth-of-type(even) {
		top: auto;
		transform: translateY(0%);
		margin-left: auto;
	}
	.service_item_box_category {
		width: 50%;
		transform: translate(-10%, 0);
	}
	.service_item_box_category:after {
		top: -20%;
		left: -10%;
		width: 50rem;
		height: 50rem;
		transform: rotate(8deg);
		background-color: #FFF;
	  }

	.service_item_box_category_text{
		width: 100%;
		margin-bottom: 3rem;
	}

	.service_item_box_category_text p:nth-of-type(1) {
		padding-bottom: 1.0rem;
	}


	.service_item > div.service_btn_wrap {
		flex: 0 1 100%;
		margin-left: auto;
		position: relative;
		right: auto;
		bottom: auto;
	}


	.scroll_x {
		overflow: hidden;
		padding-top: 10rem;
		padding-bottom: 0;
	  }

	/* 	about */
	.about_box_text{
		padding:0 1rem 3rem;
	}
	/* 	business */
	.business:before {
		/* padding-top: 55%; */
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
	}

	.business_item_box {
		padding-top: 10rem;
	}

	.business_box {
		width: 100%;
		height: 100%;
	  }

	  .business_btn_wrap {
		width: 100%;
		position: relative;
		top: auto;
		right: auto;
		transform: none;
	}


	.business_box_text {
		padding:0 0 3rem;
	}
	.business_box_text p {
		line-height: 1.7;
	  }


	/* recruit */
	.recruit:before {
		/* padding-top: 55%; */
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
	}
	.recruit_box {
		width: 100%;
		height: 100%;
		margin-bottom:3.0rem;
	}
	.recruit_item_box {
		padding-top: 10rem;
	}

	.recruit_btn_wrap {
		width: 100%;
		position: relative;
		top: auto;
		right: auto;
		transform: none;
	}

	.recruit_box_text {
		padding:0 0 3rem;
	}
	.recruit_box_text p {
		line-height: 1.7;
	}



	/* **************************************************
	下層ページ 共通 section_under tablet
	************************************************** */

	.section_under {
		z-index: 10;
		padding-bottom: 20rem;
	}

	div[class $="__box"] {
		width: 100%;
		padding: 0 0 2rem;
	}

	.box__item {
		padding: 2vw;
	}


	.section_under_header{
		padding-top: 50% !important;
	}

	/* 1.estate */
	.estate_item_wrap {
		width: calc(50% - 1rem);
	}
	.estate_item {
		gap: 2vw 1rem;
	}

	/* 2.contracrt */
	/* 3.maintenance */

	/* company */

	.company_item_list li {
		flex-flow: column wrap;
		padding:2rem 0;
	}
	.company_item_list li:first-child{
		padding:0 0 2rem;
	}

	.company_item_list li p:first-child {
		flex: 0 1 100%;
		margin-bottom: 3rem;
	}

	/* business */
	.business_wrap {
		gap: 0 calc(2vw + 1rem);
	}


	/* recruitment */
	.section_under_header.recruitment {
		background-position: 0 0;
	}

	.recruit_table{
		margin-top:1rem;
	}
	.recruit_table th,
	.recruit_table td {
		border-bottom: none;
		display: block;
		width: 100%;
	}

	.recruit_table tr:last-child td{
		border-bottom:1px solid #D6D5D4;
	}


	.recruit_table th,
	.recruit_table td {
		padding: 1.6rem;
	}

	.tab_label {
		width: calc(100%/2);
		margin:0;
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 1.109rem + 0.39vw, 1.4rem);
		border-right:1px solid #F1F6EF;
		border-left:1px solid #F1F6EF;
	}


	.footer {
		padding-bottom: env(safe-area-inset-bottom);
		padding: 10rem 5vw 4rem;
	}
	.gotoTop {
		right: 5vw;
		bottom: 4rem;
	}

}

/* スマホ向けレイアウト */
@media (max-width: 520px) {

	br.only_sp{
		display: block;
	}
	br.only_pc {
		display: none;
	}

	.header-nav .gnav-list{
		transform: translateY(4rem);
	}

	.gnav-dropdown ul {
		width: 76vw;
		left: calc(100% - 78vw);
	}
	.gnav-dropdown ul li > p {
		padding: 6vw 6vw 0;
	}
	.gnav-dropdown ul li a{
		padding: 3vw 6vw 2vw;
		font-weight: 700;
	}
	.gnav-dropdown ul li:last-child a {
		padding: 3vw 6vw 6vw;
	}


	/* hero img */
	.hero_unit_line:after {
		left: calc(-60% - 13vw);
	}
	.hero:before {
		height:85vw;
		background-position: top center;
		background-size: auto 100%;
		z-index: 1;
	}

	.hero{
		max-height: 450px;
	}
	.hero_inner {
		max-height: 450px;
	}
	.hero_title_wrap {
		top:25vw;
	}

	.hero_title {
		position: relative;
		max-width: 520px;
		font-size: 2.1rem;
		font-size: clamp(2.1rem, 1.964rem + 0.58vw, 2.4rem);
		color: #FFF;
	}

	.slider_img:nth-child(1) {
		background-position: 25% -10vh;
	}



	/* トップページ 共通 sp */
	.section {
		top:5rem;
	}
	.section.recruit {
		top:0;
	}

	/* survice */
	.service_item_box{
		align-items: stretch;
	}
	.service_item .service_item_wrap {
		flex: 0 1 100%;
	}
	.service_item_box_category {
		transform: translate(0, 0);
		padding:3.5rem 2rem 3rem 0;
	}
	.service_item_box_category_text {
		margin-bottom: 0;
	  }

	.service_item_box_category:after {
		/* top: -20%; */
		left: -17%;
		transform: rotate(8deg);
		background-color: #FFF;
	  }
	  .estate_property_img:before {
		background-position: 70% 50%;
	  }
	  .estate_maintenance_img:before {
		background-position: 50% 50%;
	  }



	/* .service_item_box_category_text p:first-child {
		padding-bottom: 0.5rem;
	}
	.service_item_box_category_text p:nth-of-type(2) {
		line-height: 1.2;
	} */
	  .service_item_box_category_text p:nth-of-type(3) {
		line-height: 1.2;
	}
	  .service_btn_wrap{
		width:22rem;
		transform: translate(-28% , 0);
	}

	.scroll_x {
		overflow: hidden;
		padding-top:5rem;
		padding-bottom:8rem;
	}


	/* business */
	.business_item_box {
		padding: 45% 0 0;
	}
	.business_box {
		padding: 0 2rem 2rem;
		height: 100%;
	}

	.business:before {
		padding-top: 55%;
	}
	.business_btn_wrap {
		top:-1rem;
	}
	.business_box_text h3 {
		font-size: clamp(1.4rem, 1.245rem + 0.66vw, 1.6rem);
	  }
	/* recruit */
	.recruit_item_box {
		padding: 45% 0 0;
	}
	.recruit_box {
		padding: 0 2rem 2rem;
		height: 100%;
	}
	.recruit:before {
		padding-top: 55%;
	}
	.recruit_box_text h3 {
		font-size: clamp(1.4rem, 1.245rem + 0.66vw, 1.6rem);
	  }

	  .recruit_btn_wrap {
		top:-2rem;
	}

	/* **************************************************
	下層ページ 共通 section_under sp
	************************************************** */

	.section_under {
		padding-bottom: 10rem;
	  }


	/* 1.estate */
	.estate_item {
		flex-flow:column wrap;
		gap: 10vw 0;
	}
	.estate_item_wrap {
		width: 80vw;
		margin: 0 auto;
	  }


	/* 2.contracrt */
	.contract_item_box {
		flex-flow: column wrap;
		gap: 5vw 3vw;
	}

	/* 3.maintenance */
	.section_under_header.maintenance {
		background-position: 50% -60%;
	}
	.contract_item .contract_item_wrap:nth-of-type(2) .contract_item_box_text {
		order:-1;
	}
	.maintenance_item_box {
		flex-flow: column wrap;
		gap: 10vw 3vw;
	}

	.maintenance_item_box > div{
		flex: 0 1 100%;
	}
	.maintenance_item_box .maintenance_item_box_img:nth-of-type(3){
		order: 1;
	}
	.maintenance_item_box .maintenance_item_box_text:nth-of-type(4){
		order: 0;
	}
	.maintenance_item_box div:nth-of-type(5){
		order: 3;
	}
	.maintenance_item_box div:nth-of-type(6){
		order: 4;
	}
	.maintenance_item_box div:nth-of-type(7){
		order: 5;
	}
	.maintenance_item_box div:nth-of-type(8){
		order: 6;
	}


	/* business_all */
	.business_all_item:nth-child(odd),
	.business_all_item:nth-child(even) {
		flex-flow: column-reverse nowrap;
	  }
	.business_all_img {
		flex: 0 1 100%;
	}
	.business_all_card{
		padding-bottom: 3rem;
	}

	.business_all_item:nth-of-type(4) .business_all_card {
		padding-top: 10rem;
	}

	.realestate_btn_wrap {
		z-index: 1;
		position: absolute;
		top: 100%;
		width: 100%;
		padding-top:2rem;
		margin: 0 auto;
		left: 0;
		right: 0;
	}




}


