@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: "Jost","Robot", "Noto Sans JP", "メイリオ", "Meiryo", "Hiragino Sans", "ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN", sans-serif;
	color: #333;
	font-weight: 400;
	line-height: 1.7;
	background: #FFF 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: #333;
	text-decoration: none;
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;

}

a:hover,
a:focus {
	color: #172E3A;
	text-decoration: none;
}

p{
	text-align: justify;
}


.sp-br {
	display: none;
}

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

.container {
	width: 100%;
	padding-right: 5.8vw;
	padding-left: 5.8vw;
	margin-right: auto;
	margin-left: auto;
}


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

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

.header h1 > a {
	display: block;
}

.header .logo {
	fill: #FFF;
	width: clamp(8rem, 7.091rem + 3.88vw, 10rem);
	height:auto;
}


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


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


.header-nav .gnav-link {
	letter-spacing: 0.03em;
	font-size: 1.6rem;
	font-size: clamp(1.4rem, 1.327rem + 0.36vw, 1.6rem);
	position: relative;
	color:#172E3A;
}


.header-nav .gnav-link:hover {
	opacity: 0.8;
}

.header-nav .gnav-link > span {
	display: block;
	line-height:1.4;
}

.header-nav .gnav-link > span:nth-of-type(1) {
	font-weight: 700;
}

.header-nav .gnav-link > span:nth-of-type(2) {
	font-size: clamp(1.2rem, 1.127rem + 0.36vw, 1.4rem);

}

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

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


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

.hero {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
}

.hero:after {
	content: '';
	width: 100vw;
	height: calc(100vh - 5.8vw);
	min-height: 450px;
	display: block;
	position: fixed;
	top: 0;
	right: 0;
	background: #F1F6EF;
	background-image: url('../images/hero_img.jpg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
	z-index: 1;
}


/* parallaxの調整 */
.hero.in-active:after {
	visibility: hidden;
}
.hero.is-enabled:after {
	height: 100vh;
}

.hero_content {
	position: relative;
	width: 100%;
	height: 100vh;
	max-height: 100vw;
	min-height: 450px;
}


.hero_title_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: calc( (85vh - 5.8vw) / 2);
	position: relative;
	z-index: 5;
	height: 100vh;
	max-height: 100vw;
	min-height: 450px;
}


.hero_title {
	position: relative;
	width: 100%;
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-weight: 700;
	font-size: 3.0rem;
	font-size: clamp(3rem, 2.727rem + 1.16vw, 3.6rem);
	color: #172E3A;
}

.hero_title span {
	display: block;
}


/* **************************************************
    section
************************************************** */
.section {
	position: relative;
	padding-top: calc(5vw + 5rem);
	padding-bottom: calc(5vw + 5rem);
	z-index: 10;
	overflow: hidden;
	background: #FFF;
}

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



div[class $="_content"] {
	margin:0 auto;
	position: relative;

}

div[class $="_box"] {
	width: 100%;
	position: relative;
}


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

.scroll_x {
	overflow: hidden;
	position: absolute;
	bottom:-1rem;
	left:0;
	z-index: 5;
}

.scroll_x p {
	font-size: clamp(8rem, 15vw, 16rem);
	color: transparent;
	-webkit-text-stroke: 1px #BF1920;
	font-weight: 900;
	white-space: nowrap;
	line-height: 1;
	font-family: 'Roboto', sans-serif;
}



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

.parallax_img {
	width: 100vw;
	height: 40vw;
}

.parallax_unit {
	overflow: hidden;
	position: relative;
}


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

.js-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;
 }



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

.title_wrap {
	position: relative;
	display: block;
	line-height: 1.4;
	overflow: hidden;
  }



.section_title {
	width: 100%;
	font-family: 'Jost', sans-serif;
	font-weight: 700;
	font-size: 1.6rem;
	font-size: clamp(1.6rem, 1.044rem + 2.37vw, 3rem);
	line-height: 1;
	letter-spacing: 0.03em;
}

.section_title .sub {
	display: block;
	font-size: 1.4rem;
	font-size: clamp(1.4rem, 1.309rem + 0.39vw, 1.6rem);
}

.section_title.text-right {
	text-align: right;
}


/* **************************************************
  img を sideから出す
************************************************** */

.js-imgclips {
	position: relative;
	display: block;
	transition: clip-path 0.6s cubic-bezier(0.18, 0.06, 0.23, 1) 0.6s;
	clip-path: inset(0 100% 0 0);
}

.js-imgclips.right {
	clip-path: inset(0 0 0 100%);
}

.js-imgclips.clips_open {
	clip-path: inset(0);
}

/* **************************************************
  bg cover  Left → Right
************************************************** */
.js-bgcover {
	position: relative;
	display: block;
}

.js-bgcover:before {
	content: '';
	width: 80vw;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background-color: #eaeef3;
	transform-origin: left;
	transition: clip-path 0.6s cubic-bezier(0.18, 0.06, 0.23, 1) 0.6s;
	clip-path: inset(0 100% 0 0);
}

.js-bgcover.right-side:before {
	content: '';
	width: 80vw;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	left:auto;
	z-index: -1;
	background-color: #eaeef3;
	transform-origin: right;
	transition: clip-path 0.6s cubic-bezier(0.18, 0.06, 0.23, 1) 0.6s;
	clip-path: inset(0 100% 0 0);
}


.js-bgcover.cover_open:before {
	clip-path: inset(0);
}


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

.js-expand.show:before {
	opacity: 1;
	transform: scale(1.2);
}

.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%;
  height: 100%;
  display: block;
  transform: scale(1);
  transition: transform 1.5s cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  object-fit: cover;
} */

/* **************************************************
  経営理念・ビジョン キャッチ
************************************************** */

.section_catch {
	text-align: center;
	margin: 0 auto;
	padding: 10vw 0;
	font-size: clamp(1.6rem, 1.044rem + 2.37vw, 3rem);
	font-weight: 700;
}

.section_catch > h3 {
	padding-bottom: 3.5vw;
}

.section_catch > div {
	font-family: 'Jost', sans-serif;
}



/* **************************************************
  philosophy 経営理念
************************************************** */

.philosophy_content {
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

 .philosophy_content > .section_unit {
 	flex: 0 1 60%;
 	padding-right: 5.8vw;
 	position: relative;
 }

 .philosophy_content > .section_unit p {
 	padding: 10vw 0 10vw 5vw;
 }


 .philosophy_img {
 	overflow: hidden;
 	height: 45vw;
 	position: relative;
 	box-shadow: 0px 10px 50px rgba(34, 34, 34, 0.1);
 }

 .philosophy_img:before {
 	content: "";
 	display: block;
 	width: 50vw;
 	height: auto;
 	padding-top: 30vw;
 	z-index: 0;
 }

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



 /* **************************************************
  underline
************************************************** */

hr.boundary_line {
	position: relative;
}
hr.boundary_line:after {
	content: '';
	display: block;
	width: calc( 100vw - 5.8 * 2vw );
	height:2px;
	position: absolute;
	left:auto;
	right:auto;
	transform: translateX(5vw);
	margin:0 auto;
	bottom:6vw;
	background: rgb(243, 243, 243);
	background: linear-gradient(90deg, rgba(243, 243, 243, 1) 0%, rgba(243, 243, 243, 1) 80%, rgba(191, 25, 32, 1) 80%, rgba(191, 25, 32, 1) 100%);
}

hr.boundary_line.left:after {
	content: '';
	display: block;
	width: calc(100vw - 5.8 * 2vw);
	height: 2px;
	position: absolute;
	left: auto;
	right: auto;
	transform: translateX(5vw);
	margin: 0 auto;
	bottom: 6vw;
	background: rgb(243, 243, 243);
	background: linear-gradient(-90deg, rgba(243, 243, 243, 1) 0%, rgba(243, 243, 243, 1) 80%, rgba(191, 25, 32, 1) 80%, rgba(191, 25, 32, 1) 100%);
}


/* **************************************************
  vision ビジョン
************************************************** */
.vision_content {
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}


 .vision_content > .section_unit {
	flex : 0 1 60%;
	padding-left:5.8vw;
	position: relative;
}

 .vision_content > .section_unit p {
	padding: 8.6vw 5vw 8.7vw 0;
 }


.vision_img {
	overflow: hidden;
	height: 45vw;
	position: relative;
	box-shadow: 0px 10px 50px rgba(34, 34, 34, 0.1);
}

.vision_img:before {
	content: "";
	display: block;
	width: 50vw;
	height: auto;
	padding-top: 30vw;
	z-index: 0;
}

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



/* **************************************************
  business 業務内容
************************************************** */

.business_box {
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-end;
	align-items: flex-end;
	padding: 5vw 0;
	font-size: 1.4rem;
	font-size: clamp(1.4rem, 1.309rem + 0.39vw, 1.6rem);
}



.business_list {
	display: flex;
	flex-flow:row wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 3vw 2.5vw;
	position: relative;
	padding-top: 10vw;
}

.business_list .business_list_item {
	width: calc(100%/3 - 2vw);
	height: 100%;
	background-color: #f6f8fa;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	/* border: #BF1920 solid 1px;
		outline: #1D2087 solid 1px;
		outline-offset: -10px; */
	outline: #172E3A solid 1px;
	outline-offset: -10px;
}



.business_list .business_list_item:before {
	content: '';
	display: block;
	padding-top: 100%;
}


.business_list__item {
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	justify-content: center;
}
.business_list__item p {
	text-align: center;
	font-weight: 700;
	font-size: clamp(1.4rem, 1.309rem + 0.39vw, 1.6rem);
}




.business_list__item {
	position: relative;
}


.business_list__item:before {
	content: '';
	display: block;
	width: 5vw;
	height: 5vw;
	z-index: 0;
	position: relative;
	margin-bottom: 1em;
}

.estate:before {
	background-image: url('../images/building.svg');
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}


.accounting:before {
	background-image: url('../images/documents.svg');
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}

.leasing:before {
	width: 5.1vw;
	height: 5.1vw;
	background-image: url('../images/shakehands.svg');
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}



.business_list__item:nth-child() {
	font-weight: 700;
}

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



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



.business_item_box {
	display: flex;
	overflow: hidden;
}



.business_item_box_category {
	flex: 0 1 40%;
	position: relative;
	z-index: 0;
}

.business_item_box_category:after {
	content: '';
	display: block;
	position: absolute;
	top: -10%;
	left: -40%;
	width: 50rem;
	height: 150%;
	transform: rotate(15deg);
	background: #FFF;
	z-index: -1;
}


.business_item_box_category_text {
	width:100%;
	position: absolute;
	top: 45%;
	left:calc(50% - 2.5rem);
	transform: translate(-50%, -50%);
	font-weight: 700;
	line-height: 1.2;
	font-family: 'Roboto Condensed', sans-serif;
}






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

.company_box {
	display: flex;
	flex-flow :column nowrap;
	justify-content: flex-end;
	align-items: flex-end;
}

.company_list {
	width: 66vw;
}

.company_list li {
	display: flex;
	gap:0 5vw;
	padding:2vw 0;
}

.company_list li p {
	flex: 0 1 calc(100% - 10rem);
	letter-spacing: 0.03em;
	text-align: left;
}
.company_list li p:first-child {
	flex:0 1 10rem;
}



/* **************************************************
  button
************************************************** */

.btn {
	display: inline-block;
	font-weight: 400;
	color: #212529;
	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%;
}

/* **************************************************
    contact
************************************************** */

.contact_box {
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-end;
	align-items: flex-end;
}

.contact_item {
	width: 66vw;
}


.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-size: clamp(1.4rem, 1.321rem + 0.34vw, 1.6rem);
}



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

.contact_form .form-control {
	width:100%;
	border-radius: 0;
	padding: 1em;
	font-size: clamp(1.4rem, 1.321rem + 0.34vw, 1.6rem);
	border-bottom: 1px solid #DFDFDF;
	/* color:#333; */
}

/* .form-control_text > .form-control#label-txt {
	border: 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 {
	outline: none;
}

.form-control_text input::placeholder,
.form-control_text textarea::placeholder {
	color: #DFDFDF;}


.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 {
	margin: 1em 0 0 0;
	color: #BE1820;
	font-size: clamp(1.4rem, 1.321rem + 0.34vw, 1.6rem);
}

.contact_form_group.post {
	margin-left: auto;
}

.btn-post {
	padding: 1vw 5vw;
	color: #172E3A;
	font-size: clamp(1.6rem, 1.521rem + 0.34vw, 1.8rem);
	position: relative;
	font-weight: 700;
	border: 1px solid #172E3A;
}


.btn-post:hover,
.btn-post:focus,
.btn-post:active,
.btn-post.active {
	box-shadow: none;
	border-bottom: 1px solid #333;
}



/* **************************************************
  footer
************************************************** */

.footer {
	padding: 2rem 0;
	position: relative;
	overflow: hidden;
	z-index: 1;
	color: #FFF;
}


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


.footer small {
	font-size: 1.0rem;
	font-size: clamp(1.1rem, 1.06rem + 0.17vw, 1.2rem);
	min-height: 0vw;
}




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


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


.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: #172E3A;
	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: #172E3A;
	transition: all 0.2s;
	-webkit-transition: all 0.2s;
}

.header.active .navbar-button .button-bar{
	background: #172E3A;
}

.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: #333;
}
.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_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: rgb(255, 255, 255);
		z-index: 9990;
		transition: all 0.4s;
	}

	.header-nav .gnav{
		position: relative;
		z-index: 9999;
		height: 100vh;
	}


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




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


	.header-nav .gnav-link {
		font-size: clamp(2.4rem, 1.936rem + 1.98vw, 3rem);
	}

	.header-nav .gnav-link > span:nth-of-type(2) {
		font-size: clamp(1.4rem, 1.245rem + 0.66vw, 1.6rem);
	}

	.hero_title_wrap {
		padding-bottom: calc((50vh - 5.8vw) / 2);
	}


	p{
		font-size: 1.6rem;
	}

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

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


	.hero:after {
		height: 100vh;
		background-position: center 0;
	}

	.philosophy_content {
		flex-flow: column nowrap;
		align-items: flex-start;
	}

	.js-bgcover:before,
	.js-bgcover.right-side:before {
		width: 100vw;
		height: 100vh;
		top:-20vw;
	}

	.philosophy_img {
		height: 60vw;
	}
	.philosophy_img:before,
	.vision_img:before {
		position: relative;
		width: calc( 100vw - 11.6vw);
		padding-top: 60vw;
		z-index: 1;
	}

	.vision_content {
		flex-flow: column nowrap;
	}

	.vision_content > .section_unit {
		padding-right: 5.8vw;
	}

	.vision_content > .section_unit p {
		padding: 8.6vw 0 8.7vw 0;
	}

	.vision_img {
		height: 60vw;
		order:-1;
	}


	.business_list {
		justify-content: space-around;
		gap: 0 4.5vw;
	}

	.business_list .business_list_item {
		width: calc(100%/2 - 2.5vw);
	}

	.business_list .business_list_item:first-child {
		margin: 0 3.5vw;
	}

	.business_list__item:before {
		content: '';
		display: block;
		width: 9vw;
		height: 9vw;
		z-index: 0;
		position: relative;
		margin-bottom: 0.5em;
		background-size: cover;
	}


	.business_list__item p:nth-child(2){
		line-height: 1.1;
	}


	.company_box,
	.contact_box{
		padding: 10vw 0;
		justify-content: flex-start;
		align-items: center;
	}

	.company_list,
	.contact_item {
		width: 100%;
	}


}




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

	.sp-br {
			display: block;
		}


	.hero_title_wrap {
		padding-left: 0;
		padding-bottom: 0;
	}

	.parallax_img {
		width: 100vw;
		height: 60vw;
	}

}


