@charset "utf-8";


/*  l-intro
--------------------------------------------------*/
.l-intro {
	position: relative;
	/*display: grid;*/
}
.intro-bg {
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	height: 100lvh;
	opacity: 1;
	filter: brightness(1);
	/*grid-area: 1 / 1;*/
}
/* edge */
.isMobileEdge .intro-bg {
	height: calc(var(--lvh-fixed) * 100);
}
.intro-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(var(--black-rgb), .25);
}
.intro-bg img ,
.intro-bg video {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
.intro-inner {
	/*padding-block: 15.0rem 50.0rem;*/
	padding-block: 15.0rem 100lvh;
	/*grid-area: 1 / 1;*/
	z-index: 1;
}
.intro-catch {
	position: relative;
	height: 150lvh;
	width: min(100%,996px);
	margin-inline: auto;
	/*margin-bottom: 17.0rem;*/
	opacity: 0; 
  filter: blur(8px); 
}
/* edge */
.isMobileEdge .intro-catch {
	height: calc(var(--lvh-fixed) * 150);
}
.intro-catch img {
	position: sticky;
	top: 50lvh;
	transform: translateY(-50%);
}
/* edge */
.isMobileEdge .intro-catch img {
	top: calc(var(--lvh-fixed) * 50);
}
.intro-fixContainer {
	position: relative;
	height: 200lvh;
	width: 100%;
}
/* edge */
.isMobileEdge .intro-fixContainer {
	height: calc(var(--lvh-fixed) * 200);
}
.intro-fixContents {
	position: sticky;
	top: 0;
	left: 0;
	height: 100lvh;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
.isMobileEdge .intro-fixContents {
	height: calc(var(--lvh-fixed) * 100);
}
.intro-desc {
	width: 100%;
	font-size: 2.0rem;
	line-height: 2.55;
	letter-spacing: .05em;
	color: var(--white);
	text-align: center;
	margin-bottom: 19.5rem;
}
.intro-desc__txt {
	opacity: 0; 
    filter: blur(8px);
}
.intro-desc__txt + .intro-desc__txt {
	margin-top: 5.0rem;
}
.intro-desc__txt em {
	font-size: 1.3em;
}
.intro-heading {
	width: 100%;
	font-size: 3.0rem;
	line-height: 2.33333333;
	letter-spacing: .05em;
	color: var(--white);
	text-align: center;
	opacity: 0; 
    filter: blur(8px); 
}
.intro-heading em {
	font-size: 1.5em;
	letter-spacing: .03em;
}
@media screen and (max-width: 768px){
	.intro-bg img ,
	.intro-bg video {
		object-position: center left;
	}
	.intro-inner {
		width: 100%;
		/*padding-block: 8.0rem 50.0rem;*/
		padding-block: 8.0rem 100lvh;
	}
	.intro-catch {
		width: calc(340 / 380 * 100%);
		/*margin-bottom: 8.0rem;*/
		margin-bottom: 4.0rem;
	}
	.intro-desc {
		/*font-size: 1.2rem;*/
		font-size: 1.0rem;
		letter-spacing: .1em;
		line-height: 2.5;
		/*margin-bottom: 7.5rem;*/
		margin-bottom: 4.5rem;
	}
	.intro-desc__txt + .intro-desc__txt {
		/*margin-top: 2.0rem;*/
		margin-top: 1.0rem;
	}
	.intro-heading {
		/*font-size: 2.0rem;*/
		font-size: 1.8rem;
		line-height: 2;
	}
}




/*  l-design
--------------------------------------------------*/
.l-design {
	position: relative;
}
.design-ttl {
	position: relative;
	width: 100%;
}
.design-ttl__photo {
	width: 100%;
	height: 50.0rem;
}
.design-ttl__photo img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
.design-ttl__heading {
	position: absolute;
	inset: auto 0 5.0rem;
	z-index: 1;
}
.design-ttl__heading img {
	width: calc(var(--ttlEnWidth) * 1px);
}
.design-contents {
	padding-top: 10.0rem;
}
.design-designer {
	padding-inline: min(calc(160 / 1920 * 100%),16.0rem) 0;
	margin-bottom: 10.0rem;
}
@media screen and (max-width: 1000px){
	.design-designer {
		padding-inline: 0;
	}
}
.design-designer__head {
	margin-bottom: 8.0rem;
}
.design-designer__head__ttl {
    margin-left: calc(-45 / 1360 * 100%);
    margin-bottom: .8rem;
}
.design-designer__head__ttl img {
	width: calc(var(--ttlEnWidth) * 1px);
}
.design-designer__head__heading {
	font-size: 4.0rem;
	line-height: 1.375;
	letter-spacing: .05em;
	margin-bottom: 1.8rem;
}
.design-designer__head__heading i {
	color: var(--green);
}
.design-designer__head__desc {
	font-size: 1.8rem;
	line-height: 2;
	letter-spacing: 0;
}
.design-designer__detail {
	width: 100%;
}
.design-designer__detail__photo {
	position: relative;
	width: calc(480 / 1360 * 100%);
}
.design-designer__detail__box {
	width: calc(770 / 1360 * 100%);
}
.design-designer__detail__box__item {
	width: calc(335 / 770 * 100%);
}
.design-designer__detail__box__item__name {
	font-size: 3.4rem;
	line-height: 1;
	letter-spacing: 0;
	padding-bottom: 2.5rem;
	margin-bottom: 2.0rem;
	border-bottom: solid 1px #9d9d9d;
}
.design-designer__detail__box__item__name span {
	display: block;
	font-size: 1.4rem;
	line-height: 1.85714286;
  padding-bottom: 1.0em;
}
.design-designer__detail__box__item__name em {
  display: block;
  font-size: 1.7rem;
  color: #666;
  margin-bottom: 1.0rem;
  padding-left: 0.1em;
}
.design-designer__detail__box__item__desc {
	font-size: 1.6rem;
	line-height: 2.25;
	letter-spacing: 0;
	/*text-align: justify;*/
}
.design-designer__photo {
	position: relative;
	width: min(100%,800px);
	margin-inline: auto;
	margin-top: 10.0rem;
}
.design-uds {
	padding-block: 5.0rem;
	margin-bottom: 13.0rem;
	background-color: rgba(var(--white-rgb), .8);
}
.design-uds__contents {
	width: calc(1000 / 1520 * 100%);
	margin-inline: auto;
}
.design-uds__desc {
	width: calc(800 / 1000 * 100%);
	font-size: 1.8rem;
	line-height: 2;
	letter-spacing: 0;
}
.design-uds__logo {
	width: calc(200 / 1000 * 100%);
}
.design-project {
	padding-bottom: 15.0rem;
}
.design-project__slide {
	width: 100%;
	margin-top: 5.0rem;
}
:root .js-designProject-slide .swiper-pagination{
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  width: auto;
  border-radius: 0;
  line-height: 1;
  display: flex;
  justify-content: center;
  margin: 6.0rem auto 0;
  gap: 10px;
}
:root .js-designProject-slide .swiper-pagination-bullet {
  width: 50px;
  height: 2px;
  margin: 0;
  top: auto;
  position: relative;
  display: block;
  border-radius: 0;
  background: #b2b2b2;
  opacity: 1;
}
:root .js-designProject-slide .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #404040;
}
@media screen and (max-width: 768px){
	.design-ttl__photo {
		height: 30.0rem;
	}
	.design-ttl__heading {
		inset: auto 0 10.8rem;
	}
	.design-ttl__heading img {
		width: calc(calc(var(--ttlEnWidth) * 0.5) / 320 * 100%);
	}
	.design-contents {
		padding-top: 6.0rem;
	}
	.design-designer {
		padding-inline: 0;
		margin-bottom: 6.0rem;
	}
	.design-designer__head {
		margin-bottom: 3.0rem;
	}
	.design-designer__head__ttl {
	    margin-left: calc(-12 / 320 * 100%);
	    margin-bottom: 3.0rem;
	}
	.design-designer__head__ttl img {
		width: calc(calc(var(--ttlEnWidth) * 0.69) / 320 * 100%);
	}
	.design-designer__head__heading {
		font-size: 2.6rem;
		line-height: 1.57692308;
		letter-spacing: -.05em;
		white-space: nowrap;
    	margin-bottom: 1.5rem;
	}
	.design-designer__head__heading i {
		letter-spacing: -.1em;
	}
	.design-designer__head__desc {
	    letter-spacing: -.06em;
	}
	.design-designer__detail__photo {
		width: 100%;
        margin-bottom: 3.5rem;
	}
	.design-designer__detail__box {
		width: 100%;
	}
	.design-designer__detail__box__item {
		width: 100%;
	}
	.design-designer__detail__box__item + .design-designer__detail__box__item {
		margin-top: 4.0rem;
	}
	.design-designer__detail__box__item__name {
		font-size: 3.0rem;
		padding-bottom: 2.2rem;
    margin-bottom: 1.0rem;
	}
	.design-designer__detail__box__item__name span {
		font-size: 1.1rem;
		line-height: 2.09090909;
    padding-bottom: 1.3em;
	}
	.design-designer__detail__box__item__name em {
		font-size: 1.6rem;
    margin-bottom: .7rem;
	}
	.design-designer__detail__box__item__desc {
		font-size: 1.6rem;
		line-height: 2;
	}
	.design-designer__photo {
		width: calc(380 / 320 * 100%);
		margin-inline: calc(-30 / 320 * 100%) 0;
		margin-top: 5.0rem;
	}
	.design-uds {
		width: 100%;
    	padding-block: 4.5rem 5.5rem;
		margin-bottom: 9.0rem;
	}
	.design-uds__contents {
		width: calc(320 / 380 * 100%);
	}
	.design-uds__desc {
		width: 100%;
		font-size: 1.5rem;
		line-height: 1.93333333;
		margin-bottom: 4.5rem;
	}
	.design-uds__logo {
		width: calc(120 / 320 * 100%);
		margin-inline: auto;
	}
	.design-project {
		padding-bottom: 9.0rem;
	}
	.design-project__slide {
	    margin-top: 3.5rem;
	}
	:root .js-designProject-slide .swiper-pagination{
	  margin: 3.5rem auto 0;
	}
	:root .js-designProject-slide .swiper-pagination-bullet {
	  width: 30px;
	}
}




/*  l-limitedCv
--------------------------------------------------*/
.l-limitedCv {
	position: relative;
	padding-block: 12.5rem;
}
.limitedCv-photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.limitedCv-photo img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
.limitedCv-detail {
	position: relative;
	background-color: rgba(var(--white-rgb), .6);
	padding-bottom: 7.5rem;
	z-index: 1;
}
.limitedCv-detail__ttlEn {
	position: relative;
	top: -24px;
	text-align: center;
    margin-bottom: 1.5rem;
}
.limitedCv-detail__ttlEn img {
	width: calc(var(--ttlEnWidth) * 1px);
}
.limitedCv-detail__desc {
	font-size: 3.0rem;
	line-height: 1.91666667;
	letter-spacing: 0;
	text-align: center;
	margin-bottom: 5.0rem;
}
.limitedCv-detail__desc span {
	display: block;
	font-size: 4.0rem;
	line-height: 1.43478261;
}
.limitedCv-detail__desc i {
	font-weight: 600;
	color: #763e26;
}
@media screen and (min-width: 769px){
	.limitedCv-detail__actions {
		width: min(90%, 840px);
		margin-inline: auto;
		gap: 40px;
	}
	.limitedCv-detail__actions__btn {
		width: calc((100% - 40px) / 2);
	}
}
@media screen and (max-width: 768px){
	.l-limitedCv {
		padding-block: 8.0rem 7.0rem;
	}
	.limitedCv-detail {
		padding-bottom: 4.0rem;
	}
	.limitedCv-detail__ttlEn {
		top: -1.8rem;
	    margin-bottom: .5rem;
	}
	.limitedCv-detail__ttlEn img {
		width: calc(calc(var(--ttlEnWidth) * 0.69) / 320 * 100%);
	}
	.limitedCv-detail__desc {
		font-size: 1.3rem;
		line-height: 1.625;
		margin-bottom: 2.2rem;
	}
	.limitedCv-detail__desc span {
		font-size: 2.0rem;
		line-height: 1.65;
	}
	.limitedCv-detail__desc i {
		font-weight: 400;
	}
	.limitedCv-detail__actions {
		width: calc(280 / 320 * 100%);
		margin-inline: auto;
	}
}

