@charset 'utf-8';

html{
	overflow-y: scroll;
	overflow-x: hidden;
	scroll-behavior: initial;
}
@media print,screen and (max-width: 1024px) {
	html, body {
/*		scroll-behavior: smooth !important;*/
/*		height: -webkit-fill-available;*/
		min-height: 100vh;
	}
}
body{
	overflow-y: visible;
	overflow-x: visible;
}
html,body {
	height: 100%;
}
.header{
	padding-top: 56.2%;
}
#container .inner > * {
	width: 100%;
}
@media print, screen and (max-width: 1180px) and (min-width: 768px) {
	#container .inner {
		margin-left: auto;
		margin-right: auto;
	}
}
@media only screen and (max-width: 767px) {
	header,
	.header{
		height: 100%;
		min-height: 100vh;
		padding: 0;
	}
}


/* =========================================================
Loading
========================================================= */
@-webkit-keyframes fade_bg{
	0%{
		opacity: 1;
	}
	50%{
		opacity: 1;
	}
	100%{
		z-index: -1;
		opacity: 0;
	}
}
@keyframes fade_bg{
	0%{
		opacity: 1;
	}
	50%{
		opacity: 1;
	}
	100%{
		z-index: -1;
		opacity: 0;
	}
}
@-webkit-keyframes fade_logo{
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
@keyframes fade_logo{
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
#preloader{
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: center;
	        justify-content: center;
	        align-items: center;
	-webkit-align-items: center;
	width: 100%;
	height: 100%;
	visibility: visible;
	z-index: 99999;
	background-color: var(--main-color--bg6);
}
.preload_text--logo {
	width: 100px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}
.preload_text--logo picture,
.preload_text--logo img{
	width: 100%;
	height: 100%;
	vertical-align: top;
}
.animated .preload_text--logo{
	-webkit-transform-origin: center center;
	        transform-origin: center center;
	-webkit-animation-name: fade_logo;
	        animation-name: fade_logo;
	-webkit-animation-duration: 1s;
	        animation-duration: 1s;
	-webkit-animation-delay: 0s;
	        animation-delay: 0s;
	-webkit-animation-iteration-count: initial;
	        animation-iteration-count: initial;
	-webkit-animation-fill-mode: both;
	        animation-fill-mode: both;
}
.progressbar-text{
	letter-spacing: 0.1em;
	line-height: 1em;
}

/* =========================================================
mov-header
========================================================= */
#mov-header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	padding-top: 56.2% !important;
}
@media only screen and (max-width: 767px) {
	#mov-header{
		height: 100%;
		padding-top: 0 !important;
	}
}

/* =========================================================
mov-header--title
========================================================= */
.mov-header--title{
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: center;
	        justify-content: center;
	        flex-flow: column nowrap;
	-webkit-flex-flow: column nowrap;
	        align-items: center;
	-webkit-align-items: center;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	text-align: center;
	gap: calc((25 / (1400 + var(--sc__width))) * 100 * 1vw);
	top: calc((250 / (1400 + var(--sc__width))) * 100 * 1vw);
}
.mov-header_title--jp{
	letter-spacing: 0.3em;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: center;
	        justify-content: center;
	        align-items: center;
	-webkit-align-items: center;
}
.mov-header_title--en{
	display: block;
	letter-spacing: 0.1em;
	margin-right: 10px;
}
@media print, screen and (max-width: 1400px) and (min-width: 768px) {
	.mov-header_title--jp{
		font-size: calc((42 / (1400 + var(--sc__width))) * 100 * 1vw);
	}
	.mov-header_title--en{
		font-size: calc((16 / (1400 + var(--sc__width))) * 100 * 1vw);
	}
}
@media only screen and (max-width: 767px){
	.mov-header--title{
	  width: 100%;
	  position: absolute;
		gap: 30px;
		top: 50%;
		transform: translate(-50%,-50%);
	}
	.mov-header_title--jp{
		letter-spacing: 0.2em;
		line-height: 2em;
	}
	.mov-header_title--en{
		margin-right: 0;
	}
}


/* =========================================================
mov-header--mp4
========================================================= */
.mov-header--over{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	content: '';
	background-color: var(--main-color--bg3);
	opacity: 0.2;
}
#mov-header--mp4{
	height: 100%;
	width: 100%;
	padding-top: 56.25%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
#mov-header--mp4 video{
	position: absolute;
	z-index: 0;
	top: -2.81vw;
	overflow: hidden;
	width: 100%;
	height: auto;
	min-height: 61.82vw;
	-webkit-transition: opacity 0.5s ease, filter 0.5s linear;
	   -moz-transition: opacity 0.5s ease, filter 0.5s linear;
	    -ms-transition: opacity 0.5s ease, filter 0.5s linear;
	        transition: opacity 0.5s ease, filter 0.5s linear;
	outline: none;
	background-image: none;
	aspect-ratio: 1400 / 787;
	object-fit: cover;
	filter: blur(0px);
	pointer-events: none;
}
#mov-header--mp4.loading{
/*	opacity: 0;*/
	filter: blur(20px);
}
@media only screen and (max-width: 1024px){
	#mov-header--mp4 video{
		max-height: 100%;
	}
}
@media only screen and (max-width: 767px){
	#mov-header--mp4{
		padding-top: 0;
		max-height: 100%;
		min-height: 100vh;
		background: linear-gradient(to bottom, var(--main-color--bg1) 50%, var(--main-color--bg3) 50%);
	}
	#mov-header--mp4 video{
		width: 110vw;
		max-height: 100%;
		min-height: 110vh;
		margin-left: -5vw;
		top: -2.5vw;
	}
}
@media only screen and (max-width: 767px) and (orientation: landscape) {
	#mov-header--mp4 video{
		width: 110vw;
		min-height: 110vh;
	}
}


/* =========================================================
next-scroll
========================================================= */
@keyframes next-scroll{
	0%{
		top: -120px;
	}
	20%{
		top: 0;
	}
	70%{
		top: 0;
	}
	100%{
		top: 120px;
	}
}
@keyframes next-scroll{
	0%{
		top: -120px;
	}
	20%{
		top: 0;
	}
	70%{
		top: 0;
	}
	100%{
		top: 120px;
	}
}
#next-scroll{
	position: absolute;
	z-index: 10;
	right: 36px;
	bottom: 0;
	visibility: visible;
	width: 1em;
	margin: auto;
	cursor: pointer;
	-webkit-transition: opacity 0.2s ease,visibility 0s ease 0s;
	   -moz-transition: opacity 0.2s ease,visibility 0s ease 0s;
	    -ms-transition: opacity 0.2s ease,visibility 0s ease 0s;
	        transition: opacity 0.2s ease,visibility 0s ease 0s;
	opacity: 1;
}
#next-scroll:not(.active){
	cursor: default;
}
header.on + article #next-scroll{
	visibility: hidden;
	-webkit-transition: opacity 0.2s ease,visibility 0s ease 0.2s;
	   -moz-transition: opacity 0.2s ease,visibility 0s ease 0.2s;
	    -ms-transition: opacity 0.2s ease,visibility 0s ease 0.2s;
	        transition: opacity 0.2s ease,visibility 0s ease 0.2s;
	opacity: 0;
}
#next-scroll a{
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: column wrap;
	-webkit-flex-flow: column wrap;
	        align-items: center;
	-webkit-align-items: center;
	gap: 11px;
}
#next-scroll a span:not(.line-box){
}
#next-scroll a .line-box{
	position: relative;
	z-index: 1;
	display: block;
	overflow: hidden;
	margin-right: 4px;
}
#next-scroll a .line-box .line{
	position: relative;
	z-index: 1;
	display: block;
	width: 1px;
	height: 120px;
	margin: 0 auto;
	animation: next-scroll 1s linear 0.75s infinite;
	border-right: 1px solid #fff;
}
@media only screen and (max-width: 767px){
	#next-scroll{
		position: fixed;
	}
	#next-scroll{
		right: 19px;
	}
	#next-scroll a .line-box .line{
		height: 120px;
	}
}



/* =========================================================
concept
========================================================= */
#concept {
	position: relative;
	padding-top: 75px;
}
.concept--title {
	width: 100%;
	text-align: center;
	padding: 0 20px;
}
.concept__title--jp {
	width: 100%;
	display: block;
	letter-spacing: 0.37em;
	text-indent: 0.57em;
}
@media print, screen and (min-width: 1401px) {
	.concept__title--jp {
		letter-spacing: calc((100vw - 990px - 45px - var(--sc__width) * 1px) / 15);
	}
}
@media print, screen and (max-width: 1400px) and (min-width: 768px) {
	.concept__title--jp {
		font-size: calc((66 / (1400 + var(--sc__width))) * 100 * 1vw);
		letter-spacing: calc((24.4 / (1400 + var(--sc__width))) * 100 * 1vw);
		text-indent: calc((37.6 / (1400 + var(--sc__width))) * 100 * 1vw);
	}
}
@media print, screen and (max-width: 1200px) and (min-width: 768px) {
	.concept__title--jp {
		text-indent: calc((18.8 / (1400 + var(--sc__width))) * 100 * 1vw);
	}
}
@media print, screen and (max-width: 1000px) and (min-width: 768px) {
	.concept__title--jp {
		text-indent: 0;
	}
}
@media only screen and (max-width: 767px){
	.concept__title--jp {
		text-align: left;
		letter-spacing: 0.2em;
		text-indent: 0;
		line-height: 1.77em;
		display:         flex;
		display: -webkit-flex;
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: column wrap;
		-webkit-flex-flow: column wrap;
		        align-items: flex-start;
		-webkit-align-items: flex-start;
		font-size: calc((46 / (360 + var(--sc__width))) * 100 * 1vw) !important;
	}
}
#concept .concept__inner {
	padding-top: 64px;
	padding-bottom: 73px;
}
#concept .concept__bloc {
	position: relative;
}
#concept .concept__txt{
}
#concept .concept__img{
	width: 896px;
	min-width: 896px;
	float: right;
	shape-outside: var(--concept__img);
	margin: -80px -365px 0 0;
	-webkit-user-select: none;
	        user-select: none;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
	pointer-events: none;
}
#concept .concept__img img {
	padding: 50px;
}
@media print, screen and (max-width: 1400px) and (min-width: 768px) {
	#concept .concept__img{
		width: calc((896px / (1400 + var(--sc__width))) * 100 * 1vw);
		min-width: calc((896px / (1400 + var(--sc__width))) * 100 * 1vw);
		margin: calc((-80 / (1400 + var(--sc__width))) * 100 * 1vw) calc((-315 / (1400 + var(--sc__width))) * 100 * 1vw) 0 0;
	}
}
@media only screen and (max-width: 767px){
	#concept {
		padding-top: 38px;
	}
	#concept .concept__inner {
		padding-top: 0;
		padding-bottom: 0;
	}
	#concept .concept__bloc{
		padding-bottom:calc((75 / (375 + var(--sc__width))) * 100 * 1vw);
	}

	.concept--title{
		margin: 0 0 35px;
		width: 100%;
	}
	#concept .concept__txt{
		line-height: 2.1em !important;
	}
	#concept .concept__img {
		width: 100%;
		min-width: 100%;
		margin: 0;
		position: absolute;
		left: 50%;
		top: 34px;
		float: none;
		opacity: 0.3 !important;
		transform: translateX(-50%) !important;
		display:         flex;
		display: -webkit-flex;
		-webkit-justify-content: center;
		        justify-content: center;
		        flex-flow: row nowrap;
		-webkit-flex-flow: row nowrap;
		        align-items: flex-start;
		-webkit-align-items: flex-start;
	}
	#concept .concept__img img {
		padding: 0;
		width: 745px;
		min-width: 745px;
	}
}


/* =========================================================
business
========================================================= */
#business {
}
#content .business__inner {
	padding-top: 50px;
	padding-bottom: 90px;
  min-height: 0;
}
.business--title {
}
@media only screen and (max-width: 767px){
	#content .business__inner {
		padding-top: 30px;
		padding-left: 0;
		padding-bottom: calc((177 / (360 + var(--sc__width))) * 100 * 1vw);
	}
}

/* =========================================================
business_know
========================================================= */
#business_know {
	position: relative;
	z-index: 1;
}
.business_know--bg {
	position: absolute;
	width: calc(100% - (((100vw - (var(--sc__width) * 1px)) - 1140px) / 2) - 488px);
	top: -180px;
	right: calc((((100vw - (var(--sc__width) * 1px)) - 1140px) / 2) + 490px);
	z-index: 0;
	max-height: 900px;
	pointer-events: none;
}
.business_know--bg picture {
	margin: 0;
}
.business_know--bg img {
	object-position: right center;
}
.business_know--bg [class*="_img_bg_"]:before {
	padding-top: 900px;
}
@media print, screen and (max-width: 1180px) and (min-width: 768px) {
	.business_know--bg {
		width: calc(100% - 488px - 20px);
		right: calc(490px + 20px);
	}
}
#content .business_know__inner {
	padding-top: 54px;
	padding-bottom: 120px;
}
#content .business_know--info {
	width: 490px;
	min-height: 606px;
	position: relative;
	z-index: 1;
	margin-left: auto;
	padding-left: 15.1%;
}
.business_know__info--svg {
	width: 167px;
	height: auto;
	position: absolute;
	top: -115px;
	left: -39px;
}
.business_know__info--svg img {
	width: 100%;
	vertical-align: top;
}
.business_know__info--title {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: column nowrap;
	-webkit-flex-flow: column nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	gap: 8px;
	margin-left: -4px;
}
.business_know__info--title *{
	display: block;
}
.business_know__info__title--jp1 {
	letter-spacing: 0;
}
.business_know__info__title--jp2 {
	letter-spacing: 0;
}
.business_know__info--txt {
	margin-top: 46px;
}
.business_know__info--button {
	margin-top: 55px;
}
@media only screen and (max-width: 767px){
	#content .business_know__inner::before {
		content: "";
		width: 100%;
		padding-top: calc(115.4% - calc((84 / (360 + var(--sc__width))) * 100 * 1vw));
		display: block;
	}
	#content .business_know__inner {
		margin-top: calc((-30 / (360 + var(--sc__width))) * 100 * 1vw);
		padding-top: 0;
		padding-bottom: 60px;
	}
	.business_know--bg {
		position: static;
		max-height: 0;
		display:         flex;
		display: -webkit-flex;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
		        flex-flow: row nowrap;
		-webkit-flex-flow: row nowrap;
		        align-items: flex-start;
		-webkit-align-items: flex-start;
		gap: 20px;
		width: 100%;
	}
	.business_know--bg [class*="_img_bg_"] {
		width: calc(100% - calc((80 / (360 + var(--sc__width))) * 100 * 1vw));
		margin-top: calc((-120 / (360 + var(--sc__width))) * 100 * 1vw);
	}
	.business_know--bg [class*="_img_bg_"]:before {
		padding-top: 115.4%;
	}
	.business_know__info--svg {
		width: calc((125 / (360 + var(--sc__width))) * 100 * 1vw);
		top: calc((37 / (360 + var(--sc__width))) * 100 * 1vw);
		left: unset;
		right: calc((20 / (360 + var(--sc__width))) * 100 * 1vw);
		z-index: 1;
	}
	.business_know__info--svg img {
		width: 100%;
	}
	#content .business_know--info {
		width: 100%;
		margin-left: 0;
		padding-left: 0;
		min-height: 0;
	}
}


/* =========================================================
business_revive
========================================================= */
#business_revive {
	position: relative;
	z-index: 1;
}
.business_revive--bg {
	position: absolute;
	width: calc(100% - (((100vw - (var(--sc__width) * 1px)) - 1140px) / 2) - 488px);
	top: 0;
	left: calc((((100vw - (var(--sc__width) * 1px)) - 1140px) / 2) + 490px);
	z-index: 0;
	max-height: 900px;
	pointer-events: none;
}
.business_revive--bg picture {
	margin: 0;
}
.business_revive--bg img {
	object-position: left center;
}
.business_revive--bg [class*="_img_bg_"]:before {
	padding-top: 900px;
}
@media print, screen and (max-width: 1180px) and (min-width: 768px) {
	.business_revive--bg {
		width: calc(100% - 488px - 20px);
		left: calc(490px + 20px);
	}
}
#content .business_revive__inner {
	padding-top: 113px;
	padding-bottom: 120px;
}
#content .business_revive--info {
	width: 490px;
	min-height: 609px;
	position: relative;
	z-index: 1;
	margin-right: auto;
	padding-right: 15.1%;
}
.business_revive__info--svg {
	width: 171px;
	height: auto;
	position: absolute;
	top: -52px;
	right: -44px;
}
.business_revive__info--svg img {
	width: 100%;
	vertical-align: top;
}
.business_revive__info--title {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: column nowrap;
	-webkit-flex-flow: column nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	gap: 8px;
	margin-left: -4px;
}
.business_revive__info--title *{
	display: block;
}
.business_revive__info__title--jp1 {
	letter-spacing: 0;
}
.business_revive__info__title--jp2 {
	letter-spacing: 0;
}
.business_revive__info--txt {
	margin-top: 46px;
}
.business_revive__info--button {
	margin-top: 55px;
}
@media only screen and (max-width: 767px){
	#content .business_revive__inner::before {
		content: "";
		width: 100%;
		padding-top: calc(115.4% + calc((6 / (360 + var(--sc__width))) * 100 * 1vw));
		display: block;
	}
	#content .business_revive__inner {
		margin-top: 0;
		padding-top: 0;
		padding-bottom: 60px;
	}
	.business_revive--bg {
		position: static;
		max-height: 0;
		display:         flex;
		display: -webkit-flex;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
		        flex-flow: row-reverse nowrap;
		-webkit-flex-flow: row-reverse nowrap;
		        align-items: flex-start;
		-webkit-align-items: flex-start;
		gap: 20px;
		width: 100%;
	}
	.business_revive--bg [class*="_img_bg_"] {
		width: calc(100% - calc((80 / (360 + var(--sc__width))) * 100 * 1vw));
		margin-top: 0;
	}
	.business_revive--bg [class*="_img_bg_"] img {
	}
	.business_revive--bg [class*="_img_bg_"]:before {
		padding-top: 115.4%;
	}
	.business_revive__info--svg {
		width: calc((124 / (360 + var(--sc__width))) * 100 * 1vw);
		right: unset;
		left: calc((10 / (360 + var(--sc__width))) * 100 * 1vw);
		z-index: 1;
		top: calc((113 / (360 + var(--sc__width))) * 100 * 1vw);
	}
	#content .business_revive--info {
		width: 100%;
		margin-right: 0;
		padding-right: 0;
		min-height: 0;
	}
}


/* =========================================================
business_feel
========================================================= */
#business_feel {
	position: relative;
	z-index: 1;
	margin-top: 118px;
}
.business_feel--bg {
	position: absolute;
	width: calc(100% - (((100vw - (var(--sc__width) * 1px)) - 1140px) / 2) - 488px);
	top: 0;
	right: calc((((100vw - (var(--sc__width) * 1px)) - 1140px) / 2) + 490px);
	z-index: 0;
	max-height: 900px;
	pointer-events: none;
}
.business_feel--bg picture {
	margin: 0;
}
.business_feel--bg img {
	object-position: right center;
}
.business_feel--bg [class*="_img_bg_"]:before {
	padding-top: 900px;
}
@media print, screen and (max-width: 1180px) and (min-width: 768px) {
	.business_feel--bg {
		width: calc(100% - 488px - 20px);
		right: calc(490px + 20px);
	}
}
#content .business_feel__inner {
	padding-top: 114px;
	padding-bottom: 580px;
}
#content .business_feel--info {
	width: 490px;
	min-height: 609px;
	position: relative;
	z-index: 1;
	margin-left: auto;
	padding-left: 15.1%;
}
.business_feel__info--svg {
	width: 164px;
	height: auto;
	position: absolute;
	top: -54px;
	left: -39px;
}
.business_feel__info--svg img {
	width: 100%;
	vertical-align: top;
}
.business_feel__info--title {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: column nowrap;
	-webkit-flex-flow: column nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	gap: 8px;
	margin-left: -4px;
}
.business_feel__info--title *{
	display: block;
}
.business_feel__info__title--jp1 {
	letter-spacing: 0;
}
.business_feel__info__title--jp2 {
	letter-spacing: 0;
}
.business_feel__info--txt {
	margin-top: 46px;
}
.business_feel__info--button {
	margin-top: 55px;
}
@media only screen and (max-width: 767px){
	#business_feel {
		margin-top: 0;
	}
	#content .business_feel__inner::before {
		content: "";
		width: 100%;
		padding-top: calc(115.4% + calc((37 / (360 + var(--sc__width))) * 100 * 1vw));
		display: block;
	}
	#content .business_feel__inner {
		margin-top: -30px;
		padding-top: 0;
		padding-bottom: 60px;
	}
	.business_feel--bg {
		position: static;
		max-height: 0;
		display:         flex;
		display: -webkit-flex;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
		        flex-flow: row nowrap;
		-webkit-flex-flow: row nowrap;
		        align-items: flex-start;
		-webkit-align-items: flex-start;
		gap: 20px;
		width: 100%;
	}
	.business_feel--bg [class*="_img_bg_"] {
		width: calc(100% - calc((80 / (360 + var(--sc__width))) * 100 * 1vw));
		margin-top: 0;
	}
	.business_feel--bg [class*="_img_bg_"]:before {
		padding-top: 115.4%;
	}
	.business_feel__info--svg {
		width: calc((124 / (360 + var(--sc__width))) * 100 * 1vw);
		left: unset;
		right: calc((19 / (360 + var(--sc__width))) * 100 * 1vw);
		z-index: 1;
		top: calc((110 / (360 + var(--sc__width))) * 100 * 1vw);
	}
	#content .business_feel--info {
		width: 100%;
		margin-left: 0;
		padding-left: 0;
		min-height: 0;
	}
}


/* =========================================================
tajimanomori
========================================================= */
#tajimanomori {
	position: relative;
	margin-top: -283px;
}
.tajimanomori__bg {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 0;
	width: calc(100% - (((100vw - (var(--sc__width) * 1px)) - 1140px) / 2));
	height: 100%;
}
#content .tajimanomori__inner {
	position: relative;
	z-index: 1;
	padding-top: 0;
	padding-bottom: 0;
	display:         flex;
	display: -webkit-flex;
}
.tajimanomori__in {
	max-width: 1040px;
	margin: 60px auto 60px 60px;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	gap:30px 5.8%;
}
.tajimanomori__img {
	width: 41.3%;
	min-width: 310px;
}
.tajimanomori__txt {
	width: 52.9%;
}
.tajimanomori__txt--logo {
	width: 240px;
}
.tajimanomori__txt--p {
	margin-top: 23px;
}
.tajimanomori__txt--button {
	margin-top: 34px;
}
.tajimanomori__txt--button .btn_def {
	max-width: 320px;
	margin:0 auto 0 0;
}
@media print, screen and (max-width: 1180px) and (min-width: 768px) {
	.tajimanomori__bg {
		width: calc(100% - 20px);
	}
	.tajimanomori__in{
	}
}
@media only screen and (max-width: 767px){
	#tajimanomori {
		margin-top: 0;
	}
	#content .tajimanomori__inner{
		padding-top: 60px;
		padding-bottom: 120px;
	}
	.tajimanomori__in {
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: column nowrap;
		-webkit-flex-flow: column nowrap;
		margin: 0;
	}
	.tajimanomori__img {
		width: 100%;
		min-width: 100%;
	}
	.tajimanomori__txt {
		width: 100%;
	}
	.tajimanomori__txt--button{
		margin-top: 58px;
		width: 100%;
	}
	.tajimanomori__txt--button .btn_def{
		max-width: 100%;
		width: 100%;
	}
}


/* =========================================================
works
========================================================= */
#works {
}
#content .works__inner {
	position: relative;
	z-index: 2;
	overflow: hidden;
  padding: 178px 0 120px;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	max-width: 100%;
}
.works__left {
  margin: 0 0 0 calc(((100vw - (var(--sc__width) * 1px)) - 1140px) / 2);
  min-width: 340px;
  width: 340px !important;
  padding: 0;
  text-align: left;
}
@media print, screen and (max-width: 1180px) and (min-width: 768px) {
	.works__left {
		margin-left: 20px;
	}
}
@media only screen and (max-width: 767px){
	.works__left {
		padding: 0 0 0 20px;
		margin: 0;
		width: 100% !important;
	}
}
.works__left--title{
	margin-top: -9px;
}
.works__left--txt {
	max-width: 220px;
  margin: 53px auto 0 0;
}
.works__left--btn {
	max-width: 220px;
  margin: 55px auto 0 0;
}
.works__left--btn [class*="btn_def"] {
	margin: 0;
	width: 100%;
	max-width: 100%;
}
.works_content {
	width: 100%;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: column nowrap;
	-webkit-flex-flow: column nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	gap:3px;
	padding: 26px 0 0;
}
.works_content--title {
}
.works_content--category {
}
@media only screen and (max-width: 767px){
  #content .works__inner{
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: row wrap;
		-webkit-flex-flow: row wrap;
		        align-items: flex-start;
		-webkit-align-items: flex-start;
		padding-top: 109px;
		padding-bottom: 120px;
	}
	.works__left--txt {
		max-width: 100%;
	  margin: 53px auto 0 0;
	  padding-right: 20px;
	}
	.works__left--btn{
		width: 100%;
		max-width: 100%;
		margin-top: 60px;
		padding: 0 20px;
	}
	.works__left--btn [class*='btn_def']{
		width: 100%;
	}
	.works__left--title{
		margin-top: 0;
	}
}

#works_slider{
	position: relative;
	width: 100%;
}
#works_slider-track{
	width: auto !important;
	min-width: calc((362px * 3) + (60px * 2));
	max-width: none;
}
@media print, screen and (max-width: 1180px) and (min-width: 768px) {
	#works_slider-track{
		width: calc(100% - 340px + 20px) !important;
	}
}
@media only screen and (max-width: 767px){
	#works_slider-track{
		margin-top: 54px;
		margin-left: 0;
		min-width: calc((280px * 3) + (60px * 2));
	}
}
.works_slider .splide__track .splide__list .splide__slide {
  display: flex;
  flex-flow: column wrap;
  justify-content: flex-start;
  align-items: flex-start;
}
.works_slider .splide__track .splide__list .splide__slide .works_slide_link{
  display: block;
  width: 100%;
  opacity: 1 !important;
	cursor: pointer;
}
.works_slider .splide__track .splide__list .splide__slide .works_slide_link:active {
	cursor: grabbing;
}
@media only screen and (min-width: 768px){
	.works_slider .splide__track .splide__list .splide__slide .works_slide_link{
		height: 100%;
	}
}
.works_slider .splide__track .splide__list .splide__slide .works_slide_title {
	position: relative;
	z-index: 2;
	-webkit-transition: opacity 0.8s ease 0.5s;
	        transition: opacity 0.8s ease 0.5s;

}
.works_slider .splide__track .splide__list .splide__slide .works_slide--img{
}
.works_slider .splide__arrows {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-end;
	        justify-content: flex-end;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	width: calc(100vw - (100vw - ((var(--sc__width) * 1px)) - 1140px) - 280px);
	gap: 10px;
	margin: 58px auto 0 0;
}
@media print, screen and (max-width: 1180px) and (min-width: 768px) {
	.works_slider .splide__arrows {
		width: calc(100vw - 280px - 40px - (var(--sc__width) * 1px));
	}
}
.works_slider .splide__arrows .splide__arrow {
	overflow: hidden;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: center;
	        justify-content: center;
	        align-items: center;
	-webkit-align-items: center;
	width: 30px;
	height: 30px;
	opacity: 1;
  position: static;
	transition: background 0.3s ease;
}
.works_slider .splide__arrows .splide__arrow:hover {
	background-color: var(--main-color--bg2) !important;
}
.works_slider .splide__arrows .splide__arrow i {
}
.works_slider .splide__arrows .splide__arrow:hover i {
}

/* =========================================================
works_info
========================================================= */
#works_info.information__inner {
	padding-bottom: 60px;
}



/* =========================================================
recruit
========================================================= */
#recruit {
	position: relative;
	width: 100%;
	overflow: hidden;
}
#recruit:before {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	content: '';
	background-color: var(--main-color--bg3);
	opacity: 0.3;
}
#recruit .parallax_bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
}
#recruit .parallax_bg .jarallax {
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	z-index: 0;
	height: 100%;
}
#content .recruit__inner {
	position: relative;
	z-index: 3;
	max-width: 1320px;
	padding-top: 49px;
	padding-bottom: 180px;
}
@media print, screen and (min-width: 1401px) {
	#content .recruit__inner {
	}
}
@media only screen and (max-width: 767px){
	#content .recruit__inner {
		max-width: 100%;
		padding: 50px 0 118px;
	}
}
.recruit--title {
	width: 293px !important;
  margin-left: auto;
}
.recruit__text {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: column nowrap;
	-webkit-flex-flow: column nowrap;
	        align-items: center;
	-webkit-align-items: center;
	padding-top: 50px;
}
@media print, screen and (min-width: 1401px) {
	.recruit__text {
		padding-top: calc((50 / (1400 + var(--sc__width))) * 100 * 1vw);
	}
}
@media only screen and (max-width: 767px){
	.recruit--title {
		width: calc(100% - 40px) !important;
		padding: 0;
		margin: 0 auto;
	}
	.recruit--title .sec__title_R__jp1--line{
	}
	.recruit__text {
		        align-items: flex-start;
		-webkit-align-items: flex-start;
		padding: 50px 20px 0;
	}
	.recruit__text > *{
		width: 100%;
	}
}
.recruit__text--title {
}
.recruit__text__title {
	letter-spacing: -0.03em;
	text-align: center;
}
.recruit__text--txt {
	margin-top: 47px;
	text-align: center;
}
.recruit__text--button {
	margin-top: 55px;
  width: 320px;
}
@media print, screen and (min-width: 1401px) {
	.recruit__text--txt {
		margin-top: calc((47 / (1400 + var(--sc__width))) * 100 * 1vw);
	}
	.recruit__text--button {
		margin-top: calc((55 / (1400 + var(--sc__width))) * 100 * 1vw);
	}
}
@media only screen and (max-width: 767px){
	.recruit__text__title--jp1 {
		text-align: left;
		letter-spacing: 0;
		white-space: nowrap;
	}
	.recruit__text--txt {
		text-align: left;
	}
	.recruit__text--button {
		width: 100%;
	}
}


/* =========================================================
news
========================================================= */
#news {
}
#content .news__inner {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: stretch;
	-webkit-align-items: stretch;
	position: relative;
	gap: 60px;
	padding-top: 180px;
	padding-bottom: 180px;
}
.news__left {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: column nowrap;
	-webkit-flex-flow: column nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	width: 280px !important;
	gap:58px;
}
.news__left--title {
	margin-top: -10px;
}
.news__left--button {
	width: 220px;
	margin-left: calc((-4 / (1400 + var(--sc__width))) * 100 * 1vw);
}
.news__right {
	width: calc(100% - 280px - 60px) !important;
}
@media only screen and (max-width: 767px){
	#content .news__inner {
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: column nowrap;
		-webkit-flex-flow: column nowrap;
		        align-items: flex-start;
		-webkit-align-items: flex-start;
		margin-left: 0;
		padding: 120px 0 120px;
		gap: 0;
	}
	.news__left {
		width: 100% !important;
		gap:0;
		padding-left: 20px;
		padding-right: 20px;
	}
	.news__left--button {
		margin-left: 0;
		margin-top: 60px;
		padding: 0 20px;
	}
	.news__right {
		width: 100% !important;
		max-width: 100%;
		margin-top: 53px;
		padding: 0 20px;
	}
}


/* =========================================================
info_news_item
========================================================= */
#info_news_item {
	border-top: 1px solid var(--sub-color--border1);
}
#info_news_item .news--bloc {
	border-bottom: 1px solid var(--sub-color--border1);
}
#info_news_item .news__bloc--link {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	padding: 23px 20px 27px 11px;
	width: 100%;
}
#info_news_item .news__bloc--link .info_news_info--date {
	font-size: 1em;
	width: 130px;
	letter-spacing: 0.03em;
	white-space: nowrap;
}
#info_news_item .news__bloc--link .info_news_info--title {
	font-size: 1em;
	width: calc(100% - 130px);
	letter-spacing: 0;
}
@media only screen and (max-width: 767px){
	#info_news_item .news__bloc--link {
		        flex-flow: column nowrap;
		-webkit-flex-flow: column nowrap;
		padding: 25px 10px 28px 10px;
		gap: 13px;
	}
	#info_news_item .news__bloc--link .info_news_info--date {
		width: 100%;
	}
	#info_news_item .news__bloc--link .info_news_info--title {
		width: 100%;
	}
}
