@charset "utf-8";


/*  l-loading
--------------------------------------------------*/
.l-loading {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: var(--white);
	pointer-events: none;
	z-index: 1000000;
}
.loading-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: clip;
	filter: brightness(2);
}
.loading-bg img {
	object-position: center center;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.loading-catch {
	position: absolute;
	inset: 50% 0 auto;
	translate: 0 -50%;
	margin-inline: auto;
	width: min(90%,466px);
	opacity: 0;
	filter: blur(5px);
	z-index: 1;
}
.loading-catch img {
	width: 100%;
}
@media screen and (max-width:768px) {
	.loading-catch {
		width: calc(280 / 380 * 100%);
	}
}




/*  l-mv
--------------------------------------------------*/
.l-mv {
	position: relative;
	width: 100%;
	overflow: clip;
	z-index: 1;
}
.mv-photo {
	position: relative;
	width: 100%;
	transform: translateY(5%);
  opacity: 0;
}
.mv-catch {
	opacity: 0;
}
.mv-catch__item {
	position: fixed;
  inset: calc(110px + 5vw) 0 auto;
  margin-inline: auto;
  width: min(90%,466px);
  pointer-events: none;
  opacity: 1;
  z-index: 1;
}
@media screen and (max-width:768px) {
		.mv-catch__item {
		  inset: 20vw 0 auto;
		  width: calc(220 / 380 * 100%);
		}
}




/*  l-merit
--------------------------------------------------*/
.l-merit {
	position: relative;
	background: url('../img/home/bg_merit.jpg') no-repeat center center/cover;
}
.l-merit::before {
	content: '';
	display: block;
	width: 100%;
	height: 3px;
	background : var(--background-gradation);
}
@media screen and (max-width:768px) {
	.l-merit {
		background: url('../img/home/bg_merit-sp.jpg') no-repeat center center/cover;
	}
	.merit-outer {
		max-width: 560px;
	}
}




/*  l-information
--------------------------------------------------*/
.l-information {
	padding-block: 12.0rem;
}
.information-inner {
	padding-block: 7.0rem;
	padding-inline: 1.0rem;
	background : var(--background-gradation);
}
.information-ttl {
	position: relative;
	font-size: max(12px,1.6rem);
	text-align: center;
	padding-bottom: 2.4rem;
	margin-bottom: 3.5rem;
}
.information-ttl::after {
	content: '';
	position: absolute;
	inset: auto 0 0 0;
	margin-inline: auto;
	width: 8.0rem;
	height: 1px;
	background: var(--black);
}
.information-heading {
	font-size: 4.0rem;
	line-height: 1.75;
	text-align: center;
}
.information-desc {
	font-size: 2.2rem;
	line-height: 1.90909091;
	text-align: center;
	margin-top: 3.0rem;
}
.information-cv {
	gap: 2.0rem;
	margin-top: 4.5rem;
}
.information-cv__item {
	position: relative;
	width: min(100%,420px);
	height: 7.0rem;
	font-size: 2.5rem;
	text-align: center;
	padding-bottom: .1em;
	filter: drop-shadow(7px 7px 5px rgba(var(--black-rgb), .2));
}
.information-cv__item::after {
	position: absolute;
	display: block;
	content: "";
	right: 2.5rem;
	top: 50%;
	width: 1.2rem;
	height: 1.2rem;
	margin: 0 auto;
	border-top: 1px solid var(--black);
	border-right: 1px solid var(--black);
	transform: translateY(-50%) rotate(45deg);
}
.information-cv__item-request {
	background : linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(230, 230, 230, 1) 100%);
}
@media (any-hover: hover){
	.information-cv__item {
		transition: filter .3s linear;
	}
	.information-cv__item:hover {
		filter: drop-shadow(0px 0px 0px rgba(var(--black-rgb), 0));
	}
}
@media screen and (max-width: 768px){
	.l-information {
		padding-block: 6.0rem;
	}
	.information-inner {
		padding-block: 6.0rem;
		padding-inline: 3.0rem;
	}
	.information-ttl {
		font-size: 1.4rem;
		padding-bottom: 2.0rem;
		margin-bottom: 2.2rem;
	}
	.information-heading {
		font-size: 2.4rem;
	}
	.information-desc {
		font-size: 1.5rem;
		letter-spacing: .05em;
		text-align: justify;
		margin-top: 2.0rem;
	}
	.information-cv {
		margin-top: 3.5rem;
	}
	.information-cv__item {
		/*width: calc(260 / 300 * 100%);*/
		width: 100%;
		height: 5.0rem;
		font-size: 1.8rem;
		filter: drop-shadow(3px 3px 5px rgba(var(--black-rgb), .2));
	}
	.information-cv__item::after {
		right: 2.0rem;
		width: .7rem;
		height: .7rem;
	}
}




/*  l-concept
--------------------------------------------------*/
.l-concept {
	position: relative;
	padding-block: 15.0rem;
	background: url('../img/common/bg_diagonal.jpg') no-repeat center center/cover;
}
.l-concept::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	width: 13.0rem;
	height: 100%;
	/*background: url('../img/home/img_decoration_line1.png') no-repeat right top/cover;
	mix-blend-mode: multiply;*/
	background: url('../img/common/img_decoration_line.svg') no-repeat left top/cover;
	z-index: 1;
}
.concept-contents {
	position: relative;
	width: min(95%,1850px);
	margin-right: auto;
	z-index: 2;
}
.concept-detail {
	width: calc(760 / 1850 * 100%);
	padding-inline: calc(50 / 1850 * 100%);
}
.concept-detail__head {
	position: relative;
}
.concept-detail__head__ttl {
	font-size: 3.6rem;
	line-height: 1.5 !important;
	text-align: center;
	margin-bottom: 4.5rem;
}
.concept-detail__head__catch {
	font-size: 6.4rem;
	text-align: center;
	margin-bottom: 4.5rem;
}
.concept-detail__head__heading {
	font-size: 2.2rem;
	line-height: 1.98901818;
	text-align: center;
}
.concept-detail__desc {
	font-size: 1.8rem;
	letter-spacing: 0;
	line-height: 2.22222222;
	text-align: center;
	margin-top: 6.5rem;
}
.concept-photo {
	width: calc(1090 / 1850 * 100%);
}
@media screen and (max-width: 1200px){
	.concept-contents {
		width: 90%;
		margin-inline: auto;
	}
	.concept-detail {
	    width: 100%;
	}
	.concept-detail__desc {
		padding-block: 0 10.0rem;
	}
	.concept-photo {
		width: 100%;
	}
}
@media screen and (max-width: 768px){
	.l-concept {
		padding-block: 0;
		background: transparent;
	}
	.l-concept::after {
		display: none;
	}
	.concept-contents {
		flex-direction: column;
		width: 100%;
	}
	.concept-detail {
		width: 100%;
		padding-inline: 0;
		display: contents;
	}
	.concept-detail__head {
		width: 100%;
		padding-block: 5.5rem 5.5rem;
		background: url('../img/common/bg_diagonal.jpg') no-repeat center center/cover;
		z-index: 1;
		order: 0;
	}
	.concept-detail__head::after {
		content: '';
		position: absolute;
		right: 0;
		top: 0;
		width: 7.8rem;
		height: 100%;
		/*background: url('../img/home/img_decoration_line1.svg') no-repeat right top/cover;
		mix-blend-mode: multiply;*/
		background: url('../img/common/img_decoration_line.svg') no-repeat left top/cover;
		filter: brightness(1.1);
		z-index: -1;
	}
	.concept-detail__head__ttl {
		font-size: 2.0rem;
		margin-bottom: 1.7rem;
	}
	.concept-detail__head__catch {
		font-size: 4.0rem;
		margin-bottom: 3.0rem;
	}
	.concept-detail__head__heading {
		font-size: 1.6rem;
		line-height: 2.25;
	}
	.concept-detail__desc {
		width: 100%;
		font-size: 1.6rem;
		line-height: 2.25;
		margin-top: 0;
		padding-block: 5.0rem 5.5rem;
		background: url('../img/common/bg_diagonal.jpg') no-repeat center center/cover;
		order: 2;
	}
	.concept-photo {
		width: 100%;
		order: 1;
	}
}




/*  l-value
--------------------------------------------------*/
.l-value {
	position: relative;
	padding-block: 15.0rem 14.5rem;
}
.value-inner {
	position: relative;
	width: 100%;
	padding-left: calc(210 / 1920 * 100%);
}
.value-head {
	margin-bottom: 4.5rem;
}
.value-head__ttl {
	font-size: 6.4rem;
	margin-bottom: 4.0rem;
}
.value-head__desc {
	font-size: 2.4rem;
	line-height: 2;
}
.value-list__item__head {
	position: relative;
	margin-bottom: 5.0rem;
}
.value-list__item__head::after {
	content: '';
	position: absolute;
	inset: auto auto 0 0;
	width: 100%;
	height: 1px;
	background: var(--background-gradation-line);
}
.value-list__item__head__num {
	position: relative;
	display: inline-block;
	font-size: 2.0rem;
	padding: 0 1.0rem 2.3rem;
}
.value-list__item__head__num::after {
	content: '';
	position: absolute;
	inset: auto auto 0 0;
	width: 100%;
	height: 1.0rem;
	background: var(--background-gradation);
}
.value-list__item__contents {
	position: relative;
	width: 100%;
}
.value-list__item__contents__box {
	position: relative;
	width: 100%;
}
.value-list__item__contents__txt {
	position: relative;
}
.value-list__item__contents__txt__heading {
	position: relative;
	font-size: 3.0rem;
	line-height: 1.75;
	margin-top: -.5em;
}
.value-list__item__contents__txt__desc {
	font-size: 1.6rem;
	line-height: 2.11869375;
	text-align: justify;
	letter-spacing: 0;
	margin-top: 2.3rem;
}
.value-list__item__contents__note {
	font-size: max(8px,1.0rem);
	line-height: 2;
	letter-spacing: 0;
	text-align: justify;
	margin-top: 3.0rem;
	text-indent: -1em;
	margin-left: 1em;
}
/* 1｜value-list__item1 */
.value-list__item1 .value-list__item__contents__box1 {
	width: calc(430 / 1300 * 100%);
}
.value-list__item1 .value-list__item__contents__box2 {
	width: calc(817 / 1300 * 100%);
}
.value-list__item1 .value-list__item__contents__box2__photo1 {
	width: calc(328 / 817 * 100%);
}
.value-list__item1 .value-list__item__contents__box2__photo2 {
	width: calc(437 / 817 * 100%);
}
/* 2｜value-list__item2 */
.value-list__item2 .value-list__item__contents__box1 {
	width: calc(700 / 1300 * 100%);
}
.value-list__item2 .value-list__item__contents__box2 {
	width: calc(455 / 1300 * 100%);
}
/* 3｜value-list__item3 */
.value-list__item3 .value-list__item__contents__box1 {
	width: calc(700 / 1300 * 100%);
}
.value-list__item3 .value-list__item__contents__box2 {
	width: calc(460 / 1300 * 100%);
}
@media screen and (max-width: 768px){
	.l-value {
		padding-block: 7.0rem 5.5rem;
	}
	.value-inner {
		width: calc(320 / 380 * 100%);
		margin-inline: auto;
		padding-left: 0;
	}
	.value-head {
		margin-bottom: 4.0rem;
	}
	.value-head__ttl {
		font-size: 5.0rem;
		margin-bottom: 2.2rem;
	}
	.value-head__desc {
		font-size: 1.8rem;
	}
	.value-list__item__head {
		margin-bottom: 4.0rem;
	}
	.value-list__item__head__num {
		font-size: 1.4rem;
		padding: 0 1.0rem 1.7rem;
	}
	.value-list__item__contents__box1 {
		display: contents;
	}
	.value-list__item__contents__box2 {
		margin-top: 4.0rem;
	}
	.value-list__item__contents__txt__heading {
		font-size: 2.4rem;
	}
	.value-list__item__contents__txt__desc {
	    letter-spacing: 0;
		line-height: 2.125;
		margin-top: 2.0rem;
	}
	.value-list__item__contents__note {
		font-size: 1.0rem;
		order: 10;
	}
	/* 1｜value-list__item1 */
	.value-list__item1 .value-list__item__contents__box1 {
		width: 100%;
	}
	.value-list__item1 .value-list__item__contents__box2 {
		width: 100%;
	}
	.value-list__item1 .value-list__item__contents__box2__photo1 {
		width: 100%;
	}
	.value-list__item1 .value-list__item__contents__box2__photo2 {
		width: 100%;
	}
	.value-list__item1 .value-list__item__contents__box2__photo + .value-list__item__contents__box2__photo {
		margin-top: 3.0rem;
	}
	/* 2｜value-list__item2 */
	.value-list__item2 .value-list__item__contents__box1 {
		width: 100%;
	}
	.value-list__item2 .value-list__item__contents__box2 {
		width: 100%;
	}
	/* 3｜value-list__item3 */
	.value-list__item3 .value-list__item__contents__box1 {
		width: 100%;
	}
	.value-list__item3 .value-list__item__contents__box2 {
		width: 100%;
	}
}




/*  lower-sec
--------------------------------------------------*/
.l-lower {
	position: relative;
	padding-top: 12.0rem;
	padding-bottom: 25.0rem;
}
.lower-sec {
	position: relative;
	width: 100%;
}
.lower-sec + .lower-sec {
	margin-top: 15.0rem;
}
.lower-sec__cover {
	width: 100%;
	height: 36.0rem;
}
.lower-sec__cover img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
.lower-sec__inner {
	max-width: 1600px;
	margin-top: -10.0rem;
	z-index: 1;
}
.lower-sec:nth-of-type(even) .lower-sec__link {
	flex-direction: row-reverse;
}
.lower-sec__photo {
	width: calc(970 / 1600 * 100%);
}
.lower-sec__photo__item {
	width: 50%;
}
.lower-sec__detail {
	width: calc(480 / 1600 * 100%);
}
.lower-sec__detail__ttl {
	font-size: 3.6rem;
	margin-bottom: 4.5rem;
}
.lower-sec__detail__heading {
	font-size: 3.4rem;
	line-height: 1.75;
	margin-bottom: 3.2rem;
}
.lower-sec__detail__desc {
	font-size: 1.8rem;
	line-height: 2.22222222;
	margin-bottom: 3.0rem;
}
.lower-sec__detail__desc span {
	display: block;
    font-size: max(8px,1.1rem);
    line-height: 1.75;
    letter-spacing: .01em;
    margin-top: 1.0em;
}
.lower-sec__detail__more {
	position: relative;
	gap: 0 2.2rem;
}
.lower-sec__detail__more__txt {
	font-size: 2.2rem;
}
.lower-sec__detail__more__icon {
	position: relative;
	width: 7.0rem;
	height: 4.0rem;
}
.lower-sec__detail__more__icon::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	translate: 0 -50%;
	width: 5.0rem;
	height: 1px;
	background: #cccccc;
}
.lower-sec__detail__more__icon i {
	position: absolute;
	right: 0;
	top: 0;
	width: 4.0rem;
	height: 4.0rem;
}
.lower-sec__detail__more__icon i::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	translate: -50% -50%;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background : linear-gradient(90deg, rgba(255, 246, 225, 1) 0%, rgba(180, 153, 131, 1) 100%);
}
.lower-sec__detail__more__icon i::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	translate: -50% -50%;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: solid 1px #cccccc;
}
@media screen and (min-width: 1201px){
	.lower-sec:nth-of-type(even) .lower-sec__detail {
		padding-left: calc(50 / 1600 * 100%);
	}
}
@media screen and (max-width: 1200px){
	.lower-sec__cover .f-caption {
		top: 0;
		bottom: auto;
	}
	.lower-sec__link {
		align-items: flex-start !important;
	}
	.lower-sec__detail {
		padding-top: 20.0rem;
	}
}
@media screen and (max-width: 768px){
	.l-lower {
		padding-top: 6.0rem;
		padding-bottom: 7.0rem;
	}
	.lower-sec + .lower-sec {
		margin-top: 7.0rem;
	}
	.lower-sec__cover {
		height: 10.0rem;
	}
	.lower-sec__inner {
		margin-top: 4.0rem;
	}
	.lower-sec__photo {
		width: 100%;
	}
	.lower-sec__detail {
		width: 100%;
		padding-top: 4.5rem;
	}
	.lower-sec__detail__ttl {
		font-size: 2.4rem;
		margin-bottom: 2.8rem;
	}
	.lower-sec__detail__heading {
		font-size: 2.4rem;
		letter-spacing: 0;
		margin-bottom: 1.5rem;
	}
	.lower-sec__detail__desc {
		font-size: 1.6rem;
		line-height: 2.125;
		letter-spacing: 0;
		margin-bottom: 3.0rem;
	}
	.lower-sec__detail__desc span {
		font-size: 1.0rem;
	}
	.lower-sec__detail__more {
		gap: 0 1.0rem;
	}
	.lower-sec__detail__more__txt {
		font-size: 1.8rem;
	}
	.lower-sec__detail__more__icon {
		width: 7.0rem;
		height: 4.0rem;
	}
	.lower-sec__detail__more__icon::before {
		content: '';
		position: absolute;
		left: 0;
		top: 50%;
		translate: 0 -50%;
		width: 5.0rem;
		height: 1px;
		background: #cccccc;
	}
	.lower-sec__detail__more__icon i {
		position: absolute;
		right: 0;
		top: 0;
		width: 4.0rem;
		height: 4.0rem;
	}
	.lower-sec__detail__more__icon i::before {
		content: '';
		position: absolute;
		left: 50%;
		top: 50%;
		translate: -50% -50%;
		width: 1.2rem;
		height: 1.2rem;
		border-radius: 50%;
		background : linear-gradient(90deg, rgba(255, 246, 225, 1) 0%, rgba(180, 153, 131, 1) 100%);
	}
	.lower-sec__detail__more__icon i::after {
		content: '';
		position: absolute;
		left: 50%;
		top: 50%;
		translate: -50% -50%;
		width: 100%;
		height: 100%;
		border-radius: 50%;
		border: solid 1px #cccccc;
	}
}
@media (any-hover: hover){
	.lower-sec__detail__more__icon::before {
		transition: left .3s linear;
	}
	.lower-sec__link:hover .lower-sec__detail__more__icon::before {
		left: 5.0rem;
	}
	.lower-sec__detail__more__icon i::after {
		transform: scale(1);
		opacity: 1;
	}
	.lower-sec__link:hover .lower-sec__detail__more__icon i::after {
		animation: ripple 1.4s linear forwards infinite;
	}
}
@keyframes ripple { 
	0%{ opacity: 0;transform: scale(0); } 
	50%{ opacity: 1;transform: scale(1); } 
	100%{ opacity: 0;transform: scale(2); } 
}

