@charset "utf-8";

body{
	background-color: #BBBBBB;
	transition: all 0.6s ease;
	font-size: clamp(16px, 1.3vw, 20px);
	font-weight: 300;
	line-height: 1.8;
  	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  	transition: all 0.6s ease;
}

body.-is-show_bg-white{
	background-color: #999999;
}

body.-is-show_bg-black{
	background-color: #282828;
}

body.-is-show_bg-white-last{
	background-color: #777777;
}

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

.bg-base{
	width: 100%;
    height: 100vh;
	position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    background-image: url(../images/bg-base.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 0 0;
    mix-blend-mode: overlay;
    
}

.-container{
	max-width: 1550px;
	margin-left: auto;
	margin-right: auto;
}

.-container-inner{
	padding-top: 200px;
	padding-bottom: 200px;
	padding-left: 192px;
	padding-right: 110px;
}

.-container-inner.-single{
	padding-right: 192px;
}

.-container-inner.-min{
	padding-top: 100px;
	padding-bottom: 100px;
}

.-pd-inner{
	margin-left: 80px;
}

.-pd-inner-both{
	margin-left: 80px;
	margin-right: 80px;
}

.-contents + .-contents{
	margin-top: 164px;
}

.-en{
	font-family: "Big Shoulders Display", cursive;
}

.-tar{
	text-align: right;
}

.-tac{
	text-align: center;
}

.-sp{
	display: none;
}

.-pctab{
	display: block;
}

.-fixed{
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
}

.-blend-text-grey{
	color: #FFFFFF;
	mix-blend-mode: difference;
}

::-webkit-full-page-media, :future, :root .-blend-text-grey{
 	color: #222222;
	mix-blend-mode: normal;
	opacity: 0.8;
}

.-blend-text-white{
	color: #FFFFFF;
	mix-blend-mode: difference;
}

::-webkit-full-page-media, :future, :root .-blend-text-white{
	mix-blend-mode: normal;
	opacity: 0.8;
}

.-lead-center-message-box{
	text-align: center;
}

.-lead-tit{
	font-size: clamp(40px, 5vw, 60px);
	font-weight: 800;
	line-height: 1;
}


.-lead-tit-l{
	font-size: clamp(100px, 24vw, 240px);
	font-weight: 800;
	line-height: 1;
}

.-lead-tit-m{
	font-size: clamp(36px, 4vw, 68px);
	font-weight: 800;
	line-height: 1.6;
}

.-lead-tit-m + *{
	margin-top: 48px;
}

.-lead-tit-s{
	font-size: clamp(32px, 2.7vw, 42px);
	font-weight: 800;
	line-height: 1.6;
}

.-lead-tit-s + *{
	margin-top: 48px; 
}

.-lead-tit-caption{
	font-size: clamp(20px, 2vw, 32px);
	font-weight: 800;
	line-height: 1.8;
	margin-top: 4px;
	margin-bottom: 4px;
}

.-lead-column{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.-lead-column-item:first-child{
	margin-right: 24px;
}

.-lead-txt{
	font-weight: lighter;
	line-height: 2.6;
}

.-contents-tit{
	font-size: clamp(24px, 3vw, 30px);
	font-weight: 800;
	line-height: 1.4;
}

.-contents-tit + .-contents-inner{
	margin-top: 64px;
}

.-contents-tit + .-contents-inner.-min{
	margin-top: 32px;
}

.-column-lead .-lead-txt{
	margin-top: 56px;
}

.-row-lead{
	display: flex;
}

.-row-lead .-lead-txt{
	flex: 1;
	margin-top: 100px;
	margin-left: 160px;
}

.-column-single-lead + .-column-single-contents{
	margin-top: 136px;
}

.-column-single-lead + .-column-single-contents.-min{
	margin-top: 64px;
}

.-row-contents{
	display: flex;
}

.-row-al-center{
	align-items: center;
}

.-row-contents-inner + .-row-contents-inner{
	margin-left: 64px;
}

* + .-column-contents{
	margin-top: 32px;
}

.-list-indent li{
	padding-left:1em;
	text-indent:-1em;
}

.-list-dl{
	display: flex;
	font-size: clamp(16px, 1.3vw, 20px);
	border-bottom: 1px solid #707070;
	margin-bottom: 40px;
	padding-bottom: 40px;
}

.-list-dl:last-child{
	margin-bottom: 0;
}

.-list-dl dt{
	font-weight: 800;
	min-width: 150px;
}

.-list-dl dd{
	margin-left: 112px;
}

.-table-row04{
	width: 100%;
	table-layout: fixed;
}

.-table-row04 td{
	font-size: clamp(14px, 1.3vw, 20px);
	font-weight: 800;
	line-height: 1.2;
	padding-top: 32px;
	padding-bottom: 32px;
	padding-left: 32px;
	padding-right: 32px;
	vertical-align: middle;
}

.-table-row04 td:first-child{
	padding-left: 0;
}

.-table-row04 td span{
	display: block;
}

.-table-row04 td span + span{
	margin-top: 8px;
}

.-table-row04 tr{
	border-bottom: 1px solid #9C9C9C;
}

.-table-highlight{
	background-color: rgba(255,255,255,0.15);
	color: #FFFFFF;
}

.-table-td-logo{
	max-width: 128px;
	margin-left: auto;
	margin-right: auto;
}

.-table-td-icon{
	max-width: 45px;
	margin-left: auto;
	margin-right: auto;
}

.-btn{
	display: inline-block;
	background-color: #000000;
	border: 2px solid transparent;
	color: #FFFFFF;
	width: 100%;
	max-width: 480px;
	border-radius: 100px;
}

.-btn span{
	display: block;
	padding-top: 24px;
	padding-bottom: 24px;
	padding-left: 24px;
	padding-right: 24px;
	border-radius: 100px;
	font-size: 16px;
	letter-spacing: -0.03em;
}

.-btn-box{
	margin-top: 48px;
}

header{
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	mix-blend-mode: difference;
}

.header-inner{
	display: flex;
	justify-content: space-between;
	padding-top: 48px;
	padding-bottom: 48px;
	padding-left: 48px;
	padding-right: 48px;
}

.header-logo{
	width: 116px;
}

.header-logo svg{
	width: 100%;
	height: auto;
}

.header-list{
	display: flex;
	justify-content: flex-end;
}

.header-list li + li{
	margin-left: 76px;
}

.header-link{
	display: inline-block;
	color: #D6D6D6;
	font-size: clamp(20px, 1.3vw, 20px);
	font-weight: 800;
	color: #FFFFFF;
	opacity: 1;
	transform: skewX(0deg);
}

.header-h-button,
.header-h-bg{
	display: none;
}

footer{
	background-color: rgba(255,255,255,0.48);
	margin-top: 130px;
}

.footer-content{
	display: flex;
	mix-blend-mode: difference;
}

::-webkit-full-page-media, :future, :root .footer-content{
	mix-blend-mode: normal;
}

.footer-content-inner + .footer-content-inner{
	margin-left: 14%;
	flex: 1;
}

.footer-content-logo{
	width: 154px;
}

.footer-content-logo svg{
	width: 100%;
	height: auto;
}

::-webkit-full-page-media, :future, :root .footer-content-logo svg path{
	fill: #000000;
}

.footer-nav-container{
	display: flex;
}

.footer-nav-list + .footer-nav-list{
	margin-left: 8%;
}

.footer-nav-list li + li{
	margin-top: 8%;
}

.footer-nav-link{
	display: inline-block;
	font-size: clamp(20px, 1.8vw, 28px);
	font-weight: 800;
	color: #D6D6D6;
	opacity: 1;
	transform: skewX(0deg);
}

::-webkit-full-page-media, :future, :root .footer-nav-link{
	color: #222222;
	mix-blend-mode: normal;
}

.footer-copy{
	font-size: clamp(16px, 1.3vw, 20px);
	text-align: right;
}

.footer-sublink-content{
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.footer-sublink{
	display: inline-block;
	font-size: clamp(16px, 1.3vw, 20px);
	color: #222222;
	font-weight: 800;
}

.main-visual{
	width: 100%;
    padding-bottom: 10%;
    position: relative;
}

.main-visual-inner{
	width: 100%;
 	height: 100vh;
 	max-height: 1000px;
 	position: relative;
}

.main-copy{
	position: absolute;
	top: 50%;
	right: 48px;
	max-width: 53%;
	transform: translateY(-50%);
	color: #FFFFFF;
	mix-blend-mode: difference;
	text-align: left;
}

::-webkit-full-page-media, :future, :root .main-copy{
 	color: #222222;
	mix-blend-mode: normal;
	opacity: 0.8;
}

.main-copy-inner span{
	display: block;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.02em;
}

.main-copy-inner span.main-copy-inner-il-item{
	display: inline;
}

.main-copy-l{
	font-size: clamp(100px, 11.5vw, 174px);
}

.main-copy-m{
	font-size: clamp(80px, 8vw, 130px);
}

.main-copy-l + .main-copy-m{
	margin-top: -8px;
}

.main-copy-s{
	font-size: clamp(24px, 4vw, 55px);
}

.main-copy-inner span:last-child{
	margin-top: 4%;
	text-align: right;
}

.main-visual-image-box{
	position: relative;
	width: 100%;
	height: 100%;
}

.main-visual-image-inner{
	position: absolute;
}

.main-visual-image-inner01{
	left: 48px;
	top: 244px;
}

.main-visual-image-inner02{
	left:  clamp(24px, 22%, 470px);
	bottom: -20%;
}

.main-visual-image-inner .swiper{
	width: clamp(240px, 24vw, 385px);
	height: clamp(342px, 35vw, 550px);
}

.main-visual + *{
	margin-top: 4%;
}

.swiper-slide{
	height: 100%;
}

.swiper-slide .swiper-slide-inner{
	height: 100%;
	overflow: hidden;
	transition: all 0.6s ease;
	position: relative;
	transform: translateX(-100%);
}

.swiper-slide-active .swiper-slide-inner{
	transform: translateX(0%);
}

.swiper-slide-prev .swiper-slide-inner{
	transform: translateX(0%);
}

.swiper-slide-inner .swiper-slide-image{
	width: 120%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%)  translateY(-50%);
}

.swiper-slide-inner .swiper-slide-image img{
	transition: all 10s ease;
	transform: translateX(0);
}

.swiper-slide-active .swiper-slide-inner .swiper-slide-image img{
	transform: translateX(8%);
}

.swiper-slide.swiper-slide-active .swiper-slide-inner{
	width: 100% !important;
}

.about-box-row{
	display: flex;
}

.about-box-row-inner + .about-box-row-inner{
	margin-left: 112px;
}

.about-box-message{
	flex: 1;
}

.about-box-txt{
	font-size: clamp(61px, 7.2vw, 112px);
	line-height: 1.5;
	font-weight: 800;
	margin-top: -11%;
	word-break: break-all;
}

.about-box-txt-inner{
	display: block;
	line-height: 1.1;
}

.about-box-txt-cross{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: 8%;
	margin-bottom: 8%;
	margin-right: 32%;
}

.about-box-txt-cross img{
	width: clamp(35px, 10vw, 77px);
}

.service-box-tit{
	margin-bottom: 192px;
}

.service-box-row{
	display: flex;
	justify-content: space-between;
}

.service-box-row-inner{
	width: 40%;
	position: relative;
}

.service-box-row-inner.service-box-image{
	width: 60%;
}

.service-box-message-inner:first-child{
	padding-top: 0;
}

.service-box-message-inner:first-child .service-box-message{
	padding-top: 56px;
}

.service-box-message-inner .service-box-message{
	padding-right: 96px;
}

.service-box-message-inner{
	padding-top: 192px;
	padding-bottom: 192px;
}

.service-box-message-inner:last-child{
	padding-bottom: 0;
}

.service-box-message-ver{
	display: flex;
}

.service-box-message-ver span + span{
	margin-left: 24px;
	flex: 1;
}

.service-box-message-ver + .service-box-message-txt{
	margin-top: 32px;
}

.service-box-message-txt{
	font-weight: lighter;
	line-height: 2.2;
}

.service-box-message-lable{
	background-color: rgba(255,255,255,0.53);
	text-align: center;
	padding-top: 2px;
	padding-bottom: 2px;
	padding-left: 8px;
	padding-right: 8px;
	font-size: clamp(20px, 2vw, 32px);
	font-weight: 800;
	border-radius: 2px;
}

.service-box-message-lable + *{
	margin-top: 32px;
}

.service-box-image-inner{
	position: relative;
}

.service-box-image-inner img + img{
	width: 100%;
	height: auto;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.service-image{
	opacity: 0;
	transition: all 0.6s ease;
}

.service-image.-is-show{
	opacity: 1;
}

.sp-service-image{
	display: none;
}

* + .service-image-single{
	margin-top: 48px;
}

.ceo-image{
	width: 50%;
	max-width: 584px;
	margin-left: auto;
	margin-right: auto;
}

.ceo-profile{
	flex: 1;
	margin-top: 24px;
}

.ceo-name{
	text-align: center;
	font-weight: bold;
}

.ceo-details{
	margin-top: 40px;
}

#who-we-are .-container-inner{
	margin-top: 200px;
	padding-top: 0;
}

#news a,
.-link-underline{
	text-decoration: underline;
}

* + .-indent-dl-wrapper{
	margin-top: 24px;
}

* + .-indent-dl-inner-wrapper{
	margin-top: 8px;
}

.-indent-dl-inner-wrapper{
	padding-top: 40px;
    padding-bottom: 40px;
	padding-left: 40px;
	padding-right: 40px;
	background-color: rgba(255,255,255,0.48);
}

.-indent-dl,
.-indent-dl-inner{
	display: flex;
}

.-indent-dl-inner{
	font-size: 14px;
	line-height: 1.6;
}

.-indent-dl + .-indent-dl{
	margin-top: 16px;
}

.-indent-dl-inner + .-indent-dl-inner{
	margin-top: 8px;
}


.-indent-dl dd,
.-indent-dl-inner dd{
	flex: 1;
	margin-left: 8px;
}

@media screen and (min-width: 769px){
	.-btn,
	.header-link,
	.footer-nav-link,
	#news a,
	.-link-underline{
		transition: all 0.4s ease-in-out;
	}

	.header-link:hover,
	.footer-nav-link:hover{
		opacity: 0.8;
		transform: skewX(-15deg);
	}

	#news a:hover,
	.-link-underline:hover{
		opacity: 0.4;
	}

	.-btn:hover{
		color: #000000;
		border: 2px solid #000000;
		background-color: rgba(0,0,0,0)
	}
}


@media screen and (max-width: 1024px) {

	.bg-base{
		background-position: center;
	}

	.-container-inner,
	#who-we-are .-container-inner{
		padding-top: 100px;
    	padding-bottom: 100px;
		padding-left: 10%;
		padding-right: 5%;
	}

	.-container-inner.-single{
		padding-right: 10%;
	}

	#who-we-are .-container-inner{
		margin-top: 0;
	}

	.-pd-inner{
		margin-left: 5%;
	}

	.-pd-inner-both{
		margin-left: 5%;
		margin-right: 5%;
	}

	header{
		mix-blend-mode: normal;
	}

	.header-inner{
		display: block;
		padding-top: 24px;
    	padding-bottom: 24px;
    	padding-left: 24px;
    	padding-right: 24px;
    	position: relative;
    	z-index: 20;
	}

	.header-h-bg{
		display: block;
		width: 0;
		height: 100vh;
		background-color: #000000;
		position: fixed;
		top: 0;
		left: 0;
	}

	.header-logo {
    	width: 96px;
	}

	.header-logo svg path{
		fill: #292624;
	}

	.-is-show_bg-black .header-logo svg path{
		fill: #9C9C9C;
	}

	.header-nav{
    	opacity: 0;
    	position: absolute;
    	z-index: -1;
    	margin-top: 80px;
    	padding-bottom: 80px;
	}

	.header-h-button{
		display: block;
		width: 24px;
		height: 24px;
		position: fixed;
		right: 24px;
		top: 26px;
		z-index: 20;
	}

	.header-h-button span{
		display: block;
		width: 100%;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}

	.header-h-button span:before,
	.header-h-button span:after{
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		background-color: #292624;
	}

	.-is-show_bg-black .header-h-button span:before,
	.-is-show_bg-black .header-h-button span:after{
		background-color: #D6D6D6;
	}

	.header-h-button span:after{
		margin-top: 8px;
	}

	.header-list{
		display: block;
	}

	.header-list li + li{
		margin-top: 40px;
		margin-left: 0;
	}

	.header-link{
		letter-spacing: -0.4em;
		opacity: 0;
		pointer-events: none;
		transition: all 0.6s ease 0.3s;
		font-size: clamp(24px, 9.5vw, 36px);
	}

	header,
	.header-h-bg,
	.header-h-button span:before,
	.header-h-button span:after,
	.header-nav,
	.header-logo svg path{
		transition: all 0.6s ease;
	}

	.-open{
		mix-blend-mode: normal;
	}

	.-open .header-h-bg{
		width: 100%;
		left: 0;
	}

	.-open .header-nav{
    	opacity: 1;
    	position: relative;
    	z-index: 20;
	}

	.-open .header-h-button span:before,
	.-open .header-h-button span:after{
		position: relative;
		top: 0;
		background-color: #D6D6D6;
	}

	.-open .header-h-button span:before{
		transform: rotate(45deg);
	}
	.-open .header-h-button span:after{
		transform: rotate(-45deg);
		margin-top: 0;
	}

	.-open .header-link{
		letter-spacing: 0.1em;
		opacity: 1;
		pointer-events: all;
	}

	.-open .header-logo svg path{
		fill: #D6D6D6;
	}

	.main-visual,
	.main-visual-inner,
	.main-visual-image-box{
		height: auto;
		max-height: 100%;
	}

	.main-visual{
		padding-top: 116px;
		margin-bottom: 100px;
		padding-left: 10%;
    	padding-right: 5%;
	}

	.main-copy{
		position: static;
		transform: translateY(0);
		width: auto;
		max-width: 100%;
	}

	.main-copy-l{
		font-size: clamp(80px, 26.4vw, 190px);
	}

	.main-copy-m{
		font-size: clamp(43px, 14vw, 100px);
	}

	.main-copy-l + .main-copy-m{
		margin-top: 0;
	}

	.main-copy-s{
		font-size: clamp(38px, 8vw, 64px);
		margin-top: 3%;
	}

	.main-visual-image-box{
		display: flex;
		justify-content: center;
		margin-top: 40px;
	}

	.main-visual-image-inner{
		position: static;
	}

	.main-visual-image-inner + .main-visual-image-inner{
		margin-left: 40px;
		margin-top: 120px;
	}

	.main-visual-image-inner .swiper{
		width: clamp(124px, 39vw, 415px);
    	max-width: 482px;
    	height: clamp(177px, 58vw, 592px);
	}

	.about-box-row-inner + .about-box-row-inner{
		margin-left: 5%;
	}

	.service-box-message-ver,
	.service-box-message-ver span{
		display: block;
	}

	.service-box-message-ver span + span{
		margin-left: 0;
		margin-top: 4px;
	}

}


@media screen and (max-width: 640px) {

	.-sp{
		display: block;
	}

	.-pctab{
		display: none;
	}

	.-container-inner,
	.-container-inner.-single,
	#who-we-are .-container-inner{
		padding-top: 80px;
    	padding-bottom: 80px;
		padding-left: 16px;
		padding-right: 16px;
	}

	.-container-inner.-min{
		padding-top: 56px;
    	padding-bottom: 56px;
    	padding-left: 24px;
    	padding-right: 24px;
    }

	.-pd-inner,
	.-pd-inner-both{
		margin-left: 24px;
		margin-right: 24px;
	}

	.-contents + .-contents{
		margin-top: 64px;
	}

	.-row-lead{
		display: block;
	}

	.-row-lead .-lead-txt,
	.-column-lead .-lead-txt{
		margin-top: 40px;
    	margin-left: 40px;
    	margin-right: 40px;
	}

	.-column-single-lead + .-column-single-contents,
	.-column-single-lead + .-column-single-contents.-min{
		margin-top: 56px;
	}

	.-contents-tit + .-contents-inner{
		margin-top: 32px;
	}

	.-contents-tit + .-contents-inner.-min{
		margin-top: 24px;
	}

	.-row-contents{
		display: block;
	}

	.-row-contents-inner + .-row-contents-inner{
		margin-left: 0;
		margin-top: 24px;
	}

	.-list-dl{
		display: block;
		margin-bottom: 16px;
		padding-bottom: 16px;
	}

	.-list-dl:last-child{
		margin-bottom: 0;
	}

	.-list-dl dd{
		margin-top: 8px;
		margin-left: 0;
	}

	.-table-row04 td{
		padding-top: 16px;
    	padding-bottom: 16px;
    	padding-left: 8px;
    	padding-right: 8px;
	}

	.-table-row04 td:first-child{
		letter-spacing: -0.07em;
	}

	.-table-td-logo{
		max-width: 80px;
	}

	.-table-td-icon{
		width: 24px;
	}

	.-sp-inc-scroll-table{
		overflow-x: scroll;
	}

	.-btn{
		max-width: 208px;
	}

	.-btn span{
		padding-top: 16px;
    	padding-bottom: 16px;
	}

	.-btn-box{
		margin-top: 32px;
	}

	.footer-content{
		display: block;
	}

	.footer-content-inner + .footer-content-inner{
		margin-left: 40px;
		margin-right: 40px;
		margin-top: 56px;

	}

	.footer-nav-container{
		display: block;
	}

	.footer-content-logo{
		width: 120px;
	}

	.footer-nav-list + .footer-nav-list{
		margin-left: 0;
		margin-top: 24px;
	}

	.footer-nav-list li + li{
		margin-top: 24px;
	}

	.footer-copy{
		margin-left: 40px;
		margin-right: 40px;
	}

	.footer-sublink-content{
		display: block;
		border-top: 1px solid #EEEEEE;
		padding-top: 40px;
		margin-top: 40px;
	}

	.footer-sublink-item-inner{
		margin-left: 40px;
		margin-right: 40px;
	}

	.main-visual{
		padding-left: 24px;
		padding-right: 24px;
	}

	.main-visual-image-inner + .main-visual-image-inner{
		margin-left: 24px;
		margin-top: 40px;
	}

	.about-box-row{
		display: block;
	}

	.about-box-row-inner + .about-box-row-inner{
		margin-top: 24px;
		margin-left: 40px;
		margin-right: 40px;
	}

	.about-box-txt{
		margin-top: 0;
	}

	.about-box-txt-cross{
		margin-top: 2%;
    	margin-bottom: 2%;
	}

	.service-box-row{
		display: block;
	}

	.service-box-tit{
		margin-bottom: 64px;
	}

	.service-box-row-inner{
		width: 100%;
	}

	.service-box-message-inner .service-box-message{
		padding-right: 0;
	}

	.service-box-message-ver + .service-box-message-txt{
		margin-top: 16px;
	}

	.service-box-image,
	.service-box-image-fixed{
		display: none !important;
	}

	.sp-service-image{
		display: block;
		margin-top: 24px;
	}

	.service-box-message-inner:first-child{
		margin-top: 0;
		margin-bottom: 0;
    	padding-bottom: 0;
	}

	.service-box-message-inner{
		margin-top: 80px;
		margin-bottom: 0;
		padding-top: 0;
    	padding-bottom: 0;
	}

	.service-box-message-inner:first-child .service-box-message{
		padding-top: 0;
	}

	* + .service-image-single{
		margin-top: 32px;
	}

	.service-image-single{
		max-width: 400px;
		margin-left: auto;
		margin-right: auto;
	}

	.ceo-image {
    	width: 100%;
    	max-width: 100%;
	}

	.ceo-details{
		margin-top: 16px;
	}
}