@charset "utf-8";

/* --------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Abril+Fatface&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Prata&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rokkitt:wght@700&display=swap');

/* --------------------------------------------- */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary{
	display: block; /* FOR IE8 */
}

h1, h2, h3, h4, h5, h6{
	font-size: 100%;
	font-weight: normal;
} 

html{
	overflow-y: scroll;
	touch-action: manipulation;
}

body{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	
	font-size: 62.5%; /* font-size 1em = 10px */
	line-height: 1.0;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color:rgba(0,0,0,1.0);
	background:rgba(255,255,255,1.0);
}

body.modal_open{
	overflow:hidden;
}

a{
	color: inherit;
	text-decoration: none;
}

br{
	letter-spacing: normal;
}

img{
	vertical-align: top;
}

ol, ul, li{
	list-style: none;
}

table{
	border-collapse: collapse;
	border-spacing: 0;
	border: 0;
}

table tr td{
	padding: 0;
	vertical-align: middle;
}

.clearfix:after{
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

/* --------------------------------------------- */

.sp_only{
	display: none;
}

.pcbr{
	display: block;
}

.spbr{
	display: none;
}

@media all and (min-width: 768px){
}

@media all and (max-width: 767px){
.pc_only{
	display: none;
}

.sp_only{
	display: block;
}
img.sp_only{
	display: inline;
}

.pcbr{
	display: inline;
}

.spbr{
	display: block;
}
}

/* CHASE --------------------------------------------- */

#chase{
	position: fixed;
	z-index: 9999;
	pointer-events: none;
	mix-blend-mode: difference;
	
	-webkit-transition:opacity .1s ease-in-out;
	-o-transition:opacity .1s ease-in-out;
	transition:opacity .1s ease-in-out;
}
#chase.del{
	opacity: 0;
}

#chase .sub1{
	position: fixed;
	z-index: 1;
}
#chase .sub1 .sub{
	position: absolute;
	width: 22px;
	height: 22px;
	left: -11px;
	top: -11px;
	background: rgba(255,255,255,1.0);
	opacity: 0.1;
	overflow: hidden;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	
	-webkit-transition: width .1s ease-in-out, height .1s ease-in-out, left .1s ease-in-out, top .1s ease-in-out, opacity .1s ease-in-out;
	-o-transition: width .1s ease-in-out, height .1s ease-in-out, left .1s ease-in-out, top .1s ease-in-out, opacity .1s ease-in-out;
	transition: width .1s ease-in-out, height .1s ease-in-out, left .1s ease-in-out, top .1s ease-in-out, opacity .1s ease-in-out;
}
#chase.ov .sub1 .sub{
	width: 120px;
	height: 120px;
	left: -60px;
	top: -60px;
	opacity: 0.2;
}
#chase.ov_s .sub1 .sub{
	width: 70px;
	height: 70px;
	left: -35px;
	top: -35px;
	opacity: 0.2;
}

#chase .sub2{
	position: fixed;
	z-index: 2;
}
#chase .sub2 .sub{
	position: absolute;
	width: 6px;
	height: 6px;
	left: -3px;
	top: -3px;
	background: rgba(255,255,255,1.0);
	overflow: hidden;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	
	-webkit-transition: width .1s ease-in-out, height .1s ease-in-out, left .1s ease-in-out, top .1s ease-in-out;
	-o-transition: width .1s ease-in-out, height .1s ease-in-out, left .1s ease-in-out, top .1s ease-in-out;
	transition: width .1s ease-in-out, height .1s ease-in-out, left .1s ease-in-out, top .1s ease-in-out;
}

#chase_contact{
	position: fixed;
	z-index: 10000;
	pointer-events: none;
}

/* Cursor chase is for top page only */
#base.news_archive ~ #chase,
#base.news_archive ~ #chase_contact,
#base.archive_page ~ #chase,
#base.archive_page ~ #chase_contact{
	display:none !important;
}

#chase_contact .sub1{
	position: fixed;
	z-index: 1;
}
#chase_contact .sub1 .sub{
	position: absolute;
	width: 0;
	height: 0;
	left: 0;
	top: 0;
	overflow: hidden;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	
	-webkit-transition: width .2s ease-in-out, height .2s ease-in-out, left .2s ease-in-out, top .2s ease-in-out;
	-o-transition: width .2s ease-in-out, height .2s ease-in-out, left .2s ease-in-out, top .2s ease-in-out;
	transition: width .2s ease-in-out, height .2s ease-in-out, left .2s ease-in-out, top .2s ease-in-out;
}
#chase_contact.ov .sub1 .sub{
	width: 180px;
	height: 180px;
	left: -90px;
	top: -90px;
}
#chase_contact .sub1 .sub .subsub{
	position:relative;
	width: 180px;
	height: 180px;
	left: -90px;
	top: -90px;
	background: rgba(130,130,130,1.0);
	
	-webkit-transition: left .2s ease-in-out, top .2s ease-in-out;
	-o-transition: left .2s ease-in-out, top .2s ease-in-out;
	transition: left .2s ease-in-out, top .2s ease-in-out;
}
#chase_contact.ov .sub1 .sub .subsub{
	left: 0;
	top: 0;
}
#chase_contact .sub1 .sub .subsub img{
	position:absolute;
	width: 24px;
	height: 18px;
	width: 32px;
	height: 24px;
	width: 28px;
	height: 21px;
	left:0;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
}

/* --------------------------------------------- */

#itr{
	position:fixed;
	left: 0;
	top: 0;
	z-index:99999;
	background:#FFFFFF;
	width:100%;
	height:100vh;
}

#base{
	-webkit-text-size-adjust: 100%;
	max-height: 999999px;
	background:#FFFFFF;
	width:100%;
}
#base.nvop{
	position:fixed;
}

#base .cnt{
	width:100%;
	position:relative;
	overflow:hidden;
	background:#FFFFFF;
}

#base .cnt .subcnt{
	width:100%;
	background:#FFFFFF;
	position:fixed;
}
#base.tch .cnt .subcnt{
	position:static;
}

/* Non-top pages should use normal document flow for scrolling */
#base.news_archive .cnt,
#base.archive_page .cnt{
	overflow:visible !important;
	height:auto !important;
	position:relative !important;
}
#base.news_archive .cnt .subcnt,
#base.archive_page .cnt .subcnt{
	position:static !important;
	top:auto !important;
	left:auto !important;
	right:auto !important;
	bottom:auto !important;
	height:auto !important;
}
#base.news_archive .cnt .subcnt .subsubcnt,
#base.archive_page .cnt .subcnt .subsubcnt{
	position:relative !important;
	top:auto !important;
	left:auto !important;
}

#base .sec{
	position: relative;
	width: 100%;
}

#base .hvr,
#base .hvr_s,
#base .hvr_contact{
	cursor:pointer;
}

@media all and (max-width: 767px){
#base.tch.fxd .cnt .subcnt{
	position:fixed;
}

#base.tch.fxd2 .cnt .subcnt .subsubcnt{
	position:relative;
	top:800px;
}
}

/* HEADER --------------------------------------------- */

#base .header{
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	z-index:1000;
	
	-webkit-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	transition: opacity 0.5s;
}
#base .header.del{
	pointer-events: none;
	opacity:0;
}
#base .header.ftr{
	pointer-events: auto;
	opacity:1.0;
}

#base .header .cont{
	opacity:0;
	-webkit-transition: opacity .5s linear;
	-o-transition: opacity .5s linear;
	transition: opacity .5s linear;
	
}
#base .header.vw .cont{
	opacity:1.0;
}

/* Non-top pages: keep header visible without top-page JS states */
#base.news_archive .header .cont,
#base.archive_page .header .cont{
	opacity:1.0;
}

/* Keep non-top header typography identical to top */
#base.news_archive .header .navi .spnv .sub .main li,
#base.archive_page .header .navi .spnv .sub .main li{
	font-size:1em;
	font-family:'Poppins', sans-serif;
	font-weight:600;
	line-height:1.87;
	color:rgba(0,0,0,1.0);
}
#base.news_archive .header .logo img,
#base.archive_page .header .logo img{
	width:110px;
	height:auto;
}

#base .header .logo{
	position: absolute;
	z-index:10;
	left: 40px;
	top: 35px;
}
#base .header .logo.fls{
	pointer-events: none;
}

#base .header .logo img{
	width:110px;
	height:auto;
}
#base .header.ftr .logo img{
	filter: brightness(0) invert(1);
}
#base .header .logo img{
	-webkit-transition:opacity .15s;
	-o-transition:opacity .15s;
	transition:opacity .15s;
}
#base.no_tch .header .logo:hover img{
	opacity:0.3;
}

#base .header .navi{
	position: absolute;
	right: 40px;
	top: 35px;
}

#base .header .navi .spnv .sub .main{
	position:relative;
}

#base .header .navi .spnv .sub .main li{
	color: rgba(0,0,0,1.0);
	font-size: 1.5em;
	text-align:right;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	line-height:1.87;
}
#base .header.ftr .navi .spnv .sub .main li{
	color:rgba(255,255,255,1.0);
}
#base.no_tch .header .navi .spnv .sub .main li .hvr_s{
	-webkit-transition:opacity .15s;
	-o-transition:opacity .15s;
	transition:opacity .15s;
}
#base.no_tch .header .navi .spnv .sub .main li .hvr_s:hover{
	opacity:0.3;
}

#base .header .navi .spnv .sub .subnavi,
#base .header .navi .spnv .sub .copyright{
	display:none;
}

@media all and (max-width: 767px){
#base .header{
}

#base.nvop .header{
	z-index:100;
}

#base .header .logo{
	left: 20px;
	top: 25px;
}

#base .header .logo img{
	width:88px;
}
#base.nvop .header .logo img{
	opacity:0;
}

#base .header .navi{
	display:none;
}

#base .header .navi .spnv .sub .subnavi,
#base .header .navi .spnv .sub .copyright{
	display:block;
}
}

#base .spheader{
	display:none;
}

@media all and (max-width: 767px){

#base .spheader{
	display:block;
}

#base .spheader .cont{
	position: fixed;
	z-index:1001;
	left: 0;
	top: 0;
	
	pointer-events: none;
	opacity: 0;
	-webkit-transition: opacity 0.7s;
	-o-transition: opacity 0.7s;
	transition: opacity 0.7s;
}
#base.nvop .spheader .cont{
	pointer-events: auto;
	opacity: 1.0;
}

#base .spheader .logo{
	position: absolute;
	z-index:10;
	left: 20px;
	top: 25px;
}

#base .spheader .logo img{
	width:88px;
	height:auto;
	filter: brightness(0) invert(1);
}

#base .spheader .navi{
	position:fixed;
	right: 0;
	top: 0;
	display:table;
}

#base .spheader .navi .spnv{
	display:table;
	position:absolute;
	top:0;
	right:0;
}

#base .spheader .navi .spnv .sub{
	display:table-cell;
	vertical-align:middle;
}

#base .spheader .navi .spnv .sub .main{
	position:relative;
	display: block;
	margin-left:20px;
}

#base .spheader .navi .spnv .sub .main li{
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	
	text-align:left;
	display: block;
	font-size: 2.6em;
	letter-spacing: -0.02em;
	padding-left: 0;
	padding-top: 0;
	color:#FFFFFF;
	line-height:1.7;
}
#base .spheader .navi .spnv .sub .main li:first-child{
	padding-top: 0;
}
#base .spheader .navi .spnv .sub .main li:nth-last-child(1){
	padding-bottom:40px;
}

#base .spheader .navi .spnv .sub .bg{
	position:absolute;
	right:-25vw;
	top:-25vh;
	width:150vw;
	height:150vh;
	background:rgba(60,60,60,0.95);
}

#base .spheader .icn{
	position:fixed;
	z-index:1002;
	right: 0;
	top: 0;
	width:70px;
	height:66px;
	mix-blend-mode:difference;

	-webkit-transition: filter 0.7s;
	-o-transition: filter 0.7s;
	transition: filter 0.7s;
}
#base .spheader.blk .icn{
	filter: brightness(0);
}
#base.nvop .spheader.blk .icn{
	filter: brightness(1.0);
}

#base .spheader .icn div{
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	overflow:hidden;
	margin:auto;
	width:30px;
	height:2px;
	background:rgba(255,255,255,1.0);
	
	-webkit-transition:top .15s ease-out, transform .15s ease-out, background 0.7s;
	-o-transition:top .15s ease-out, transform .15s ease-out, background 0.7s;
	transition:top .15s ease-out, transform .15s ease-out, background 0.7s;
}
#base .spheader.wht .navi .icn div{
	background:rgba(255,255,255,1);
}
#base .spheader .icn div:nth-child(1){
	top:-5px;
}
#base .spheader .icn div:nth-child(2){
	top:5px;
}
#base.nvop .spheader .icn div:nth-child(1){
	top:0;
	transform:rotate(45deg);
	background:rgba(255,255,255,1);
}
#base.nvop .spheader .icn div:nth-child(2){
	top:0;
	transform:rotate(-45deg);
	background:rgba(255,255,255,1);
}

#base .spheader .icncvr{
	position:fixed;
	z-index:1003;
	right: 0;
	top: 0;
	width:70px;
	height:66px;
	background:#FFFFFF;
	
	-webkit-transition: opacity 0.7s linear;
	-o-transition: opacity 0.7s linear;
	transition: opacity 0.7s linear;
}
#base .spheader.vw .icncvr{
	opacity:0;
	pointer-events: none;
}
}

/* HOME --------------------------------------------- */

#base .home{
	width: 100%;
}

#base .home .obi{
	position:fixed;
	left:0;
	top:50vh;
	width:100%;
}
#base .home .obi.abs{
	position:absolute;
}

#base .home .obi .sub{
	position:absolute;
	left:0;
	top:-110px;
	overflow:hidden;
	width:100%;
	height:220px;
}

#base .home .obi .sub .obi1{
	position:absolute;
	left:calc(50% - 245px + 5px);
	top:0;
	-webkit-transition:left 2.2s cubic-bezier(0.85,0,0.15,1) 2.3s;
	-o-transition:left 2.2s cubic-bezier(0.85,0,0.15,1) 2.3s;
	transition:left 2.2s cubic-bezier(0.85,0,0.15,1) 2.3s;
}
#base .home .obi .sub .obi2{
	position:absolute;
	left:calc(50% - 245px + 5px + 38px);
	bottom:0;
	-webkit-transition:left 2.4s cubic-bezier(0.85,0,0.15,1) 2.4s;
	-o-transition:left 2.4s cubic-bezier(0.85,0,0.15,1) 2.4s;
	transition:left 2.4s cubic-bezier(0.85,0,0.15,1) 2.4s;
}
#base .home .obi.intro .sub .obi1{
	left:-4618px;
}
#base .home .obi.intro .sub .obi2{
	left:-4544px;
}
#base.no_intro .obi .sub .obi1{
	-webkit-transition:left 0s cubic-bezier(0.85,0,0.15,1) 0s;
	-o-transition:left 0s cubic-bezier(0.85,0,0.15,1) 0s;
	transition:left 0s cubic-bezier(0.85,0,0.15,1) 0s;
	left:-4618px;
}
#base.no_intro .obi .sub .obi2{
	-webkit-transition:left 0s cubic-bezier(0.85,0,0.15,1) 0s;
	-o-transition:left 0s cubic-bezier(0.85,0,0.15,1) 0s;
	transition:left 0s cubic-bezier(0.85,0,0.15,1) 0s;
	left:-4544px;
}

#base .home .obi .sub div ul{
	position:absolute;
	left:0;
	animation-timing-function:linear;
	animation-iteration-count: infinite;
}
#base .home .obi .sub .obi1 ul{
	top:0;
}
#base .home .obi .sub .obi2 ul{
	bottom:0;
}
#base .home .obi.act.act2 .sub .obi1 ul{
	animation-name: fvobi1_anime;
	animation-duration: 44.04s;
}
#base .home .obi.act.act2 .sub .obi2 ul{
	animation-name: fvobi2_anime;
	animation-duration: 55.52s;
}

@keyframes fvobi1_anime{
0% {
	left: 0;
}

100% {
	left:-2202px;
}
}

@keyframes fvobi2_anime{
0% {
	left: 0;
}

100% {
	left:-2776px;
}
}

#base .home .obi .sub div ul li{
	position:absolute;
	left:0;
}
#base .home .obi .sub .obi1 ul li{
	top:0;
}
#base .home .obi .sub .obi2 ul li{
	bottom:0;
}

#base .home .obi .sub .obi1 ul li:nth-child(3){
	left:-4618px;
}
#base .home .obi .sub .obi2 ul li:nth-child(3){
	left:-4544px;
}
#base .home .obi .sub .obi1 ul li:nth-child(4){
	left:4618px;
}
#base .home .obi .sub .obi2 ul li:nth-child(4){
	left:4544px;
}
#base .home .obi .sub .obi1 ul li:nth-child(5){
	left:calc(4618px + 2202px * 1);
}
#base .home .obi .sub .obi2 ul li:nth-child(5){
	left:calc(4544px + 2776px * 1);
}
#base .home .obi .sub .obi1 ul li:nth-child(6){
	left:calc(4618px + 2202px * 2);
}
#base .home .obi .sub .obi2 ul li:nth-child(6){
	left:calc(4544px + 2776px * 2);
}
#base .home .obi.fix .sub .obi1 ul li:nth-child(1),
#base .home .obi.fix .sub .obi2 ul li:nth-child(1),
#base .home .obi.fix .sub .obi1 ul li:nth-child(2),
#base .home .obi.fix .sub .obi2 ul li:nth-child(2),
#base .home .obi.fix .sub .obi1 ul li:nth-child(3),
#base .home .obi.fix .sub .obi2 ul li:nth-child(3){
	display:none;
}

#base .home .obi .sub div ul li img{
	width:auto;
	height:114px;
	
	opacity:0;
	-webkit-transition: opacity 0.5s ease-in-out 1.5s;
	-o-transition: opacity 0.5s ease-in-out 1.5s;
	transition: opacity 0.5s ease-in-out 1.5s;
}
#base .home .obi.intro .sub div ul li img{
	opacity:0.08;
}
#base .home .obi .sub div ul li:nth-child(1) img{
	-webkit-transition: opacity 0;
	-o-transition: opacity 0;
	transition: opacity 0;
	opacity:1.0;
}
#base.no_intro .home .obi .sub div ul li img{
	-webkit-transition: opacity 0s ease-in-out 0s;
	-o-transition: opacity 0s ease-in-out 0s;
	transition: opacity 0s ease-in-out 0s;
	opacity:0.08;
}

#base .home .obi .sub .obi1 ul li:nth-child(1) div,
#base .home .obi .sub .obi2 ul li:nth-child(1) div{
	position:absolute;
	left:0;
	overflow:hidden;
}
#base .home .obi .sub .obi1 ul li:nth-child(1) div{ top:0; }
#base .home .obi .sub .obi2 ul li:nth-child(1) div{ bottom:0; }

#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(2){ left:53px; }
#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(3){ left:110px; }
#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(4){ left:178px; }
#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(5){ left:253px; }
#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(6){ left:314px; }
#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(7){ left:366px; }
#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(8){ left:417px; }
#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(9){ left:436px; }
#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(10){ left:470px; }

#base .home .obi .sub .obi2 ul li:nth-child(1) div:nth-child(2){ left:53px; }
#base .home .obi .sub .obi2 ul li:nth-child(1) div:nth-child(3){ left:110px; }
#base .home .obi .sub .obi2 ul li:nth-child(1) div:nth-child(4){ left:181px; }
#base .home .obi .sub .obi2 ul li:nth-child(1) div:nth-child(5){ left:238px; }
#base .home .obi .sub .obi2 ul li:nth-child(1) div:nth-child(6){ left:289px; }
#base .home .obi .sub .obi2 ul li:nth-child(1) div:nth-child(7){ left:341px; }
#base .home .obi .sub .obi2 ul li:nth-child(1) div:nth-child(8){ left:360px; }
#base .home .obi .sub .obi2 ul li:nth-child(1) div:nth-child(9){ left:397px; }

#base .home .obi .sub .obi1 ul li:nth-child(1) div img,
#base .home .obi .sub .obi2 ul li:nth-child(1) div img{
	position:relative;
	top:114px;
	
	-webkit-transition:top .3s cubic-bezier(0.165, 0.84, 0.44, 1);
	-o-transition:top .3s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition:top .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#base .home .obi.intro .sub .obi1 ul li:nth-child(1) div img,
#base .home .obi.intro .sub .obi2 ul li:nth-child(1) div img{
	top:0;
}

#base .home .obi.intro .sub .obi1 ul li:nth-child(1) div:nth-child(1) img{ transition-delay:0.0s; }
#base .home .obi.intro .sub .obi1 ul li:nth-child(1) div:nth-child(2) img{ transition-delay:0.08s; }
#base .home .obi.intro .sub .obi1 ul li:nth-child(1) div:nth-child(3) img{ transition-delay:0.16s; }
#base .home .obi.intro .sub .obi1 ul li:nth-child(1) div:nth-child(4) img{ transition-delay:0.24s; }
#base .home .obi.intro .sub .obi1 ul li:nth-child(1) div:nth-child(5) img{ transition-delay:0.32s; }
#base .home .obi.intro .sub .obi1 ul li:nth-child(1) div:nth-child(6) img{ transition-delay:0.40s; }
#base .home .obi.intro .sub .obi1 ul li:nth-child(1) div:nth-child(7) img{ transition-delay:0.48s; }
#base .home .obi.intro .sub .obi1 ul li:nth-child(1) div:nth-child(8) img{ transition-delay:0.56s; }
#base .home .obi.intro .sub .obi1 ul li:nth-child(1) div:nth-child(9) img{ transition-delay:0.64s; }
#base .home .obi.intro .sub .obi1 ul li:nth-child(1) div:nth-child(10) img{ transition-delay:0.72s; }

#base .home .obi.intro .sub .obi2 ul li:nth-child(1) div:nth-child(1) img{ transition-delay:0.56s; }
#base .home .obi.intro .sub .obi2 ul li:nth-child(1) div:nth-child(2) img{ transition-delay:0.64s; }
#base .home .obi.intro .sub .obi2 ul li:nth-child(1) div:nth-child(3) img{ transition-delay:0.72s; }
#base .home .obi.intro .sub .obi2 ul li:nth-child(1) div:nth-child(4) img{ transition-delay:0.80s; }
#base .home .obi.intro .sub .obi2 ul li:nth-child(1) div:nth-child(5) img{ transition-delay:0.88s; }
#base .home .obi.intro .sub .obi2 ul li:nth-child(1) div:nth-child(6) img{ transition-delay:0.96s; }
#base .home .obi.intro .sub .obi2 ul li:nth-child(1) div:nth-child(7) img{ transition-delay:1.04s; }
#base .home .obi.intro .sub .obi2 ul li:nth-child(1) div:nth-child(8) img{ transition-delay:1.12s; }
#base .home .obi.intro .sub .obi2 ul li:nth-child(1) div:nth-child(9) img{ transition-delay:1.20s; }

@media all and (max-width: 767px){

#base .home .obi .sub{
	top:-74px;
	height:148px;
}

#base .home .obi .sub .obi1{
	left:calc(50% - 163px + 5px);
}
#base .home .obi .sub .obi2{
	left:calc(50% - 163px + 5px + 26px);
}
#base .home .obi.intro .sub .obi1{
	left:calc(-4618px * 76/114);
}
#base .home .obi.intro .sub .obi2{
	left:calc(-4544px * 76/114);
}

#base .home .obi .sub div ul{
	position:absolute;
	left:0;
	animation-timing-function:linear;
	animation-iteration-count: infinite;
}
#base .home .obi .sub .obi1 ul{
	top:0;
}
#base .home .obi .sub .obi2 ul{
	bottom:0;
}

@keyframes fvobi1_anime{
0% {
	left: 0;
}

100% {
	left:calc(-2202px * 76/114);
}
}

@keyframes fvobi2_anime{
0% {
	left: 0;
}

100% {
	left:calc(-2776px * 76/114);
}
}

#base .home .obi .sub .obi1 ul li:nth-child(3){
	left:calc(-4618px * 76/114);
}
#base .home .obi .sub .obi2 ul li:nth-child(3){
	left:calc(-4544px * 76/114);
}
#base .home .obi .sub .obi1 ul li:nth-child(4){
	left:calc(4618px * 76/114);
}
#base .home .obi .sub .obi2 ul li:nth-child(4){
	left:calc(4544px * 76/114);
}
#base .home .obi .sub .obi1 ul li:nth-child(5){
	left:calc((4618px + 2202px * 1) * 76/114);
}
#base .home .obi .sub .obi2 ul li:nth-child(5){
	left:calc((4544px + 2776px * 1) * 76/114);
}
#base .home .obi .sub .obi1 ul li:nth-child(6){
	left:calc((4618px + 2202px * 2) * 76/114);
}
#base .home .obi .sub .obi2 ul li:nth-child(6){
	left:calc((4544px + 2776px * 2) * 76/114);
}

#base .home .obi .sub div ul li img{
	width:auto;
	height:76px;
}

#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(2){ left:calc(53px * 76/114); }
#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(3){ left:calc(110px * 76/114); }
#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(4){ left:calc(178px * 76/114); }
#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(5){ left:calc(253px * 76/114); }
#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(6){ left:calc(314px * 76/114); }
#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(7){ left:calc(366px * 76/114); }
#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(8){ left:calc(417px * 76/114); }
#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(9){ left:calc(436px * 76/114); }
#base .home .obi .sub .obi1 ul li:nth-child(1) div:nth-child(10){ left:calc(470px * 76/114); }

#base .home .obi .sub .obi2 ul li:nth-child(1) div:nth-child(2){ left:calc(53px * 76/114); }
#base .home .obi .sub .obi2 ul li:nth-child(1) div:nth-child(3){ left:calc(110px * 76/114); }
#base .home .obi .sub .obi2 ul li:nth-child(1) div:nth-child(4){ left:calc(181px * 76/114); }
#base .home .obi .sub .obi2 ul li:nth-child(1) div:nth-child(5){ left:calc(238px * 76/114); }
#base .home .obi .sub .obi2 ul li:nth-child(1) div:nth-child(6){ left:calc(289px * 76/114); }
#base .home .obi .sub .obi2 ul li:nth-child(1) div:nth-child(7){ left:calc(341px * 76/114); }
#base .home .obi .sub .obi2 ul li:nth-child(1) div:nth-child(8){ left:calc(360px * 76/114); }
#base .home .obi .sub .obi2 ul li:nth-child(1) div:nth-child(9){ left:calc(397px * 76/114); }

#base .home .obi .sub .obi1 ul li:nth-child(1) div img,
#base .home .obi .sub .obi2 ul li:nth-child(1) div img{
	top:76px;
}
}

#base .home .secbg{
	position: absolute;
	left: 50%;
	top: 50%;
}

#base .home .secbg .sub{
	position:relative;
	top: 100vh;
	
	-webkit-transition:top 2.2s cubic-bezier(0.19, 1, 0.22, 1);
	-o-transition:top 2.2s cubic-bezier(0.19, 1, 0.22, 1);
	transition:top 2.2s cubic-bezier(0.19, 1, 0.22, 1);
}
#base .home .secbg.vw .sub{
	top: 0;
}
#base.no_intro .home .secbg .sub{
	-webkit-transition:top 0s;
	-o-transition:top 0s;
	transition:top 0s;
	top:0.01px;
}

#base .home .secbg .sub .subsub{
	position:relative;
}
#base .home .secbg .sub .pc_only img{
	position:absolute;
	width:1800px;
	height:720px;
	left:-900px;
	top:-360px;
}

.ja.service-text {
    padding-top: 100px;
}

@media all and (max-width: 767px){
#base .home .secbg{
	top: 41%;
	top:calc(50% - 60px - (100vw / 320 * 50 - 50px));
}
	
	.ja.service-text {
    padding-top: 130px;
}

#base .home .secbg .sub .sp_only img{
	position:absolute;
	width:800px;
	height:900px;
	left:-400px;
	top:-450px;
}
}

#base .home .txt{
	position: absolute;
	left: 40px;
	bottom: 37px;
	transform-origin:0 100%;
	
	opacity:0;
}
#base .home .txt.vw{
	opacity:1.0;
}

#base .home .txt .ja{
}



#base .home .txt .ja .sub{
	transform:scale(0.6);
	transform-origin:0 100%;
}

#base .home .txt .ja .sub div{
	position:relative;
	left:-3px;
	display:table;
	overflow:hidden;
}

#base .home .txt .ja .sub div img{
	position:relative;
	top:86px;
	height:86px;
	width:auto;
}
#base .home .txt.vw .ja .sub div img{
	top:0;
	
	-webkit-transition:top .3s cubic-bezier(0.165, 0.84, 0.44, 1);
	-o-transition:top .3s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition:top .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#base.no_intro .home .txt .ja .sub div img{
	-webkit-transition:top 0s;
	-o-transition:top 0s;
	transition:top 0s;
	top:0.01px;
	transition-delay:0.0s !important;
}

#base .home .txt.vw .ja .sub div:nth-child(1) img:nth-child(1){ transition-delay:0.0s; }
#base .home .txt.vw .ja .sub div:nth-child(1) img:nth-child(2){ transition-delay:0.1s; }
#base .home .txt.vw .ja .sub div:nth-child(1) img:nth-child(3){ transition-delay:0.2s; }
#base .home .txt.vw .ja .sub div:nth-child(1) img:nth-child(4){ transition-delay:0.3s; }

#base .home .txt.vw .ja .sub div:nth-child(2) img:nth-child(1){ transition-delay:0.3s; }
#base .home .txt.vw .ja .sub div:nth-child(2) img:nth-child(2){ transition-delay:0.4s; }
#base .home .txt.vw .ja .sub div:nth-child(2) img:nth-child(3){ transition-delay:0.5s; }
#base .home .txt.vw .ja .sub div:nth-child(2) img:nth-child(4){ transition-delay:0.6s; }
#base .home .txt.vw .ja .sub div:nth-child(2) img:nth-child(5){ transition-delay:0.7s; }
#base .home .txt.vw .ja .sub div:nth-child(2) img:nth-child(6){ transition-delay:0.8s; }

#base .home .txt .en{
	margin-top:7px;
}

#base .home .txt .en .sub div{
	position:relative;
	left:2px;
	display:table;
}

#base .home .txt .en .sub div p{
	position:relative;
	overflow:hidden;
	
	width:0%;
	-webkit-transition:width 0.8s cubic-bezier(0.76,0,0.24,1) 0.7s;
	-o-transition:width 0.8s cubic-bezier(0.76,0,0.24,1) 0.7s;
	transition:width 0.8s cubic-bezier(0.76,0,0.24,1) 0.7s;
}
#base .home .txt.vw .en .sub div p{
	width:100%;
}
#base.no_intro .home .txt .en .sub div p{
	-webkit-transition:width 0s cubic-bezier(0.76,0,0.24,1) 0s;
	-o-transition:width 0s cubic-bezier(0.76,0,0.24,1) 0s;
	transition:width 0s cubic-bezier(0.76,0,0.24,1) 0s;
	width:100.01%;
}

#base .home .txt .en .sub div p span{
	position:relative;
	white-space:nowrap;
	
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size:1.4em;
	line-height:1.0;
	letter-spacing: 0.01em;
	color:rgba(0,0,0,1.0);
	display:inline-block;
	margin-right:0.02em;
}

@media all and (max-width: 767px){
#base .home .txt{
	left: 20px;
	bottom: 31px;
}
	
	.ja.service_text {
    padding-top: 100px;
}


#base .home .txt .ja{
}

#base .home .txt .ja .sub{
	transform:scale(1.0);
}

#base .home .txt .ja .sub div{
	left:-1px;
}

#base .home .txt .ja .sub div img{
	top:86px;
	height:86px;
	top:52px;
	height:52px;
}
#base .home .txt.vw .ja .sub div img{
	top:0;
}

#base .home .txt .en{
	margin-top:7px;
}

#base .home .txt .en .sub div{
	left:2px;
}

#base .home .txt .en .sub div p{
}
#base .home .txt.vw .en .sub div p{
}

#base .home .txt .en .sub div p span{
	font-size:1.5em;
	letter-spacing: 0.01em;
	margin-right:0.02em;
}
}

#base .home .scrl{
	position: fixed;
	right: calc(-15px + 40px);
	bottom:-6px;
	pointer-events: none;
	transform:rotate(90deg);
	transform-origin: 100% 0;
	pointer-events: none;
	
	opacity:0;
	-webkit-transition: opacity .4s ease-in-out;
	-o-transition: opacity .4s ease-in-out;
	transition: opacity .4s ease-in-out;
}
#base .home .scrl.vw{
	opacity:1.0;
}
#base .home .scrl.fls{
	display:none;
}
#base .home .scrl.del{
	-webkit-transition: opacity .3s linear 0s;
	-o-transition: opacity .3s linear 0s;
	transition: opacity .3s linear 0s;
	
	pointer-events: none;
	opacity:0;
}

#base .home .scrl .cont{
	display:table;
	height:31px;
}

#base .home .scrl .cont .sub{
	display:table-cell;
	text-align:left;
	vertical-align:middle;
	position:relative;
}

#base .home .scrl .cont .sub:nth-child(1){
	padding-right:12px;
}

#base .home .scrl .cont .sub:nth-child(2){
	padding-right:16px;
}

#base .home .scrl .cont .sub p{
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	letter-spacing: -0.02em;
	font-size: 1.3em;
}

#base .home .scrl .cont .sub .bar{
	position:relative;
	width: 75px;
	height: 1px;
	overflow: hidden;
}

#base .home .scrl .cont .sub .bar .bg{
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.25);
}

#base .home .scrl .cont .sub .bar .ln{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 100%;
	background: rgba(0,0,0,1.0);
	animation-name: scrl_anime;
	animation-duration: 3.0s;
	animation-iteration-count: infinite;
}

@keyframes scrl_anime {
0% {
	width: 0;
	left: 0;
}

75% {
	width: 0;
	left: 0;
	animation-timing-function: ease-in;
}

85% {
	width: 100%;
	left: 0;
}

90% {
	width: 100%;
	left: 0;
}

100% {
	width: 0;
	left: 100%;
	animation-timing-function: ease-out;
}
}

#base .home .scrl .cont .sub .crcl{
	position:absolute;
	right:0;
	top:0;
	width: 31px;
	height: 31px;
	overflow: hidden;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	box-sizing:border-box;
	border:solid 1px rgba(0,0,0,0.25);
}

#base .home .scrl .cont .sub .crcl .pnt{
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
	width: 5px;
	height: 5px;
	overflow: hidden;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	background:rgba(0,0,0,1);
}

@media all and (max-width: 767px){
#base .home .scrl{
	right: 10px;
	bottom: calc(20px - 23px);
}

#base .home .scrl .cont{
	height:23px;
}

#base .home .scrl .cont .sub:nth-child(1){
	padding-right:7px;
}

#base .home .scrl .cont .sub:nth-child(2){
	padding-right:12px;
	padding-right:15px;
	padding-right:calc((23px + 1px) * 0.5);
}

#base .home .scrl .cont .sub p{
	font-size: 1.1em;
}

#base .home .scrl .cont .sub .bar{
	width: 60px;
	width: 75px;
}

#base .home .scrl .cont .sub .crcl{
	width: 23px;
	height: 23px;
}

#base .home .scrl .cont .sub .crcl .pnt{
	width: 3px;
	height: 3px;
}
}

/* purpose --------------------------------------------- */

#base .purpose{
}

#base .purpose .cont{
	position:relative;
	padding-top:calc(35vw - 45px - 5px);
	padding-top:calc(32.5vw - 45px - 5px);
	padding-bottom:calc(10vw - 5px);
	
	padding-top:calc(20vw - 45px - 5px);
	padding-bottom:calc(15vw - 5px);
}

#base .purpose .cont .subcont{
	position:relative;
}

#base .purpose .cont .subcont .bg{
	position:absolute;
	left:50%;
	bottom:10vw;
}

#base .purpose .cont .subcont .bg .sub{
	position:relative;
}

#base .purpose .cont .subcont .bg .pc_only img{
	position:absolute;
	width:1800px;
	height:960px;
	left:-900px;
	top:-480px;
}

#base .purpose .cont .subcont .txt{
	position:relative;
	margin-left:calc(15vw - 130px);
}

#base .purpose .cont .subcont .txt .txt1{
	font-weight: 700;
	color:rgba(0,0,0,1.0);
	font-size:2.7em;
	line-height:1.6;
	letter-spacing:0.0em;
	padding-bottom:1.2em;
}

#base .purpose .cont .subcont .txt .txt2 p{
	font-weight: 400;
	color:rgba(0,0,0,1.0);
	font-size:1.6em;
	line-height:2.2;
	letter-spacing:0.03em;
	padding-top:1.7em;
	-webkit-font-smoothing:subpixel-antialiased;
	-moz-osx-font-smoothing:auto;
}
#base .purpose .cont .subcont .txt .txt2 p:first-child{
	padding-top:0;
}

@media all and (max-width: 767px){
#base .purpose .cont{
	padding-top:16vw;
	padding-top:25vw;
	padding-bottom:30vw;
}

#base .purpose .cont .subcont{
	padding-bottom:55vw;
}

#base .purpose .cont .subcont .bg{
	top:100%;
}

#base .purpose .cont .subcont .bg .sub{
	position:relative;
}

#base .purpose .cont .subcont .bg .sub img{
	left:-1050px;
}

#base .purpose .cont .subcont .bg .sp_only img{
	position:absolute;
	width:1080px;
	height:960px;
	left:-540px;
	top:-480px;
}

#base .purpose .cont .subcont .txt{
	margin-left:0;
	text-align:center;
}

#base .purpose .cont .subcont .txt .txt1{
	font-size:2.5em;
	padding-bottom:1.5em;
}

#base .purpose .cont .subcont .txt .txt2 p{
	font-size:1.5em;
	line-height:2.2;
	padding-top:1.7em;
	letter-spacing:0.02em;
}
#base .purpose .cont .subcont .txt .txt2 p:first-child{
	padding-top:0;
}
}

/* who --------------------------------------------- */

#base .who{
}

#base .who .cont{
	position:relative;
	display:table;
	width:100%;
	height:100%;
}

#base .who .cont .sub{
	display:table-cell;
	text-align:center;
	vertical-align:middle;
}

#base .who .cont .sub .secttl{
	font-size:11.2em;
	color:rgba(0,0,0,1.0);
	
	position:relative;
	overflow:hidden;
}

#base .who .cont .sub .secttl p{
	display:inline;
}

#base .who .cont .sub .secttl p:nth-child(1){
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	letter-spacing: -0.06em;
}
#base .who .cont .sub .secttl p:nth-child(2){
	font-family: 'Poppins', sans-serif;
	font-weight: 100;
	letter-spacing: -0.08em;
	padding:0 0.12em 0 0.1em;
}
#base .who .cont .sub .secttl p:nth-child(3){
	font-family: 'Abril Fatface', serif;
	font-weight: 400;
	letter-spacing: -0.02em;
	font-size:1.15em;
}

#base .who .cont .sub .secttl p span{
	position:relative;
	top:140px;
}
#base .who.vw .cont .sub .secttl p span{
	top:0;
	
	-webkit-transition:top .4s cubic-bezier(0.165, 0.84, 0.44, 1);
	-o-transition:top .4s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition:top .4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#base .who.vw .cont .sub .secttl p:nth-child(1) span:nth-child(1){ transition-delay:0.0s; }
#base .who.vw .cont .sub .secttl p:nth-child(1) span:nth-child(2){ transition-delay:0.1s; }
#base .who.vw .cont .sub .secttl p:nth-child(1) span:nth-child(3){ transition-delay:0.2s; }

#base .who.vw .cont .sub .secttl p:nth-child(2) span:nth-child(1){ transition-delay:0.3s; }
#base .who.vw .cont .sub .secttl p:nth-child(2) span:nth-child(2){ transition-delay:0.4s; }

#base .who.vw .cont .sub .secttl p:nth-child(3) span:nth-child(1){ transition-delay:0.5s; }
#base .who.vw .cont .sub .secttl p:nth-child(3) span:nth-child(2){ transition-delay:0.6s; }
#base .who.vw .cont .sub .secttl p:nth-child(3) span:nth-child(3){ transition-delay:0.7s; }

#base .who .cont .sub .sectxt{
	font-family: 'Poppins', sans-serif;
	font-weight: 300;
	letter-spacing: 0.04em;
	font-size:1.1em;
	line-height:1.9;
	color:rgba(0,0,0,0.8);
	padding-top:1.7em;
}

#base .who .cont .sub .sectxt p{
	position:relative;
	top:25px;
	opacity:0;
}
#base .who.vw .cont .sub .sectxt p{
	top:0;
	opacity:1.0;
}
#base .who.vw .cont .sub .sectxt p:nth-child(1){ transition:opacity .4s linear 0.8s, top .5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s; }
#base .who.vw .cont .sub .sectxt p:nth-child(2){ transition:opacity .4s linear 0.95s, top .5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.95s; }
#base .who.vw .cont .sub .sectxt p:nth-child(3){ transition:opacity .4s linear 1.1s, top .5s cubic-bezier(0.165, 0.84, 0.44, 1) 1.1s; }

@media all and (max-width: 767px){

#base .who .cont{
	left:calc(50% - 400px);
	width:800px;
}

}

/* bldg --------------------------------------------- */

#base .bldg .bg{
	position:absolute;
	z-index:20;
	left:50%;
}

#base .bldg .bg .sub{
	position:relative;
}

#base .bldg .bg .sub img{
	position:absolute;
	width:1800px;
	height:640px;
	left:-900px;
	top:-320px;
}

/* who2 --------------------------------------------- */

#base .who2{
	z-index:25;
	padding-top:18vw;
}

#base .who2 ul{
	display:table;
	margin:0 auto;
}

#base .who2 ul li{
	display:table-cell;
	perspective: 200vw;
	perspective: 2500px;
	position:relative;
}
#base .who2 ul li:nth-child(1){
	right:90px;
}
#base .who2 ul li:nth-child(2){
}
#base .who2 ul li:nth-child(3){
	left:90px;
}

#base .who2 ul li .cont{
	/*min-height:35vw;*/
	width:360px;
	height:504px;
	
	transform:rotateY(-270deg);
	opacity:0;
}

#base .who2 ul li.vw1 .cont{
	-webkit-transition:transform .4s linear, opacity 0s;
	-o-transition:transform .4s linear, opacity 0s;
	transition:transform .4s linear, opacity 0s;
	
	transform:rotateY(-90deg);
	opacity:1.0;
}
#base .who2 ul li.vw2 .cont{
	-webkit-transition:transform .2s ease-out;
	-o-transition:transform .2s ease-out;
	transition:transform .2s ease-out;
	
	transform:rotateY(0deg);
}
#base .who2 ul li.vw2 .cont .ura{
	display:none;
}

#base .who2 ul li .cont .ura{
	position:absolute;
	left:0;
	top:0;
}

#base .who2 ul li .cont .ura img{
	width:100%;
	height:100%;
}

#base .who2 ul li .cont .omote{
	position:relative;
	height:100%;
}

#base .who2 ul li .cont .omote .bg img{
	width:100%;
	height:100%;
}

#base .who2 ul li .cont .omote .num{
	position:absolute;
}
#base .who2 ul li .cont .omote .num.lt{
	left:0;
	top:0;
}
#base .who2 ul li .cont .omote .num.rb{
	right:0;
	bottom:0;
	transform:rotateZ(-180deg);
}

#base .who2 ul li .cont .omote .txt{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	display:table;
}

#base .who2 ul li .cont .omote .txt .subtxt{
	display:table-cell;
	text-align:left;
	vertical-align:top;
}

#base .who2 ul li .cont .omote .txt .subtxt .ttl{
	text-align:center;
	padding-top:75px;
	padding-bottom:40px;
	margin-left:10px;
}

#base .who2 ul li .cont .omote .txt .subtxt .ja{
	font-weight: 700;
	font-size:1.6em;
	color:rgba(0,0,0,0.8);
	line-height:1.875;
	width:calc(100% - 55px);
	margin-left:30px;
}

#base .who2 ul li .cont .omote .txt .subtxt .en{
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size:1.1em;
	color:rgba(0,0,0,0.6);
	line-height:2.0;
	width:calc(100% - 95px);
	padding-top:14px;
	margin-left:30px;
}

@media all and (max-width: 767px){
#base .who2{
	padding-top:45vw;
}

#base .who2 ul{
	display:table;
	margin:0 auto;
}

#base .who2 ul li{
	display:block;
	perspective: 2500px;
	margin-top:6.25vw;
	margin-top:calc(50vw - (87.5vw*0.7 + 280px*0.3)*0.5);
}
#base .who2 ul li:nth-child(1){
	right:0;
	margin-top:0;
}
#base .who2 ul li:nth-child(2){
}
#base .who2 ul li:nth-child(3){
	left:0;
}

#base .who2 ul li .cont{
	width:calc(87.5vw*0.7 + 280px*0.3);
	height:calc((87.5vw*0.7 + 280px*0.3) * 1.4);
}

#base .who2 ul li .cont .omote .num{
	width:12%;
	width:10%;
}

#base .who2 ul li .cont .omote .num img{
	width:100%;
	height:auto;
}

#base .who2 ul li .cont .omote .txt .subtxt{
	vertical-align:middle;
}

#base .who2 ul li .cont .omote .txt .subtxt .ttl{
	padding-top:25px;
	padding-bottom:20px;
	margin-left:5px;
}

#base .who2 ul li .cont .omote .txt .subtxt .ttl img{
	width:auto;
	height:34px;
}

#base .who2 ul li .cont .omote .txt .subtxt .ja{
	font-size:1.4em;
	width:calc(100% - 6.25vw*2 + 5px);
	margin-left:6.25vw;
}

#base .who2 ul li .cont .omote .txt .subtxt .en{
	width:calc(100% - 6.25vw);
	padding-top:14px;
	margin-left:6.25vw;
	transform:scale(0.818181);
	transform-origin:0 0;
}
}

/* bldg2 --------------------------------------------- */

#base .bldg2{
	position:relative;
	width:100%;
}

#base .bldg2 .bg{
	padding-top:5vw;
	padding-top:2.5vw;
}

#base .bldg2 .bg .sub{
	position:relative;
}

#base .bldg2 .bg .sub img{
	width:100%;
	height:auto;
}

@media all and (max-width: 767px){
#base .bldg2{
	position:relative;
	width:100%;
}

#base .bldg2 .bg{
	padding-top:15vw;
}

#base .bldg2 .bg .sub{
	position:relative;
	left:-15%;
	left:-55%;
}

#base .bldg2 .bg .sub img{
	width:130%;
	width:210%;
	height:auto;
}
}

/* service --------------------------------------------- */

#base .service{
	position:absolute;
	z-index:30;
	width:100%;
	left:0;
	top:0;
	pointer-events:none;
}

#base .service .msk{
	position:absolute;
	width:100%;
	height:0;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
	overflow:hidden;
}

#base .service .msk .cont{
	position:relative;
	display:table;
	width:100%;
	background:#222222;
}

#base .service .msk .cont .sub{
	display:table-cell;
	text-align:center;
	vertical-align:middle;
}

#base .service .msk .cont .sub .secttl{
	font-size:11.2em;
	color:rgba(255,255,255,1.0);
	
	position:relative;
	overflow:hidden;
}

#base .service .msk .cont .sub .secttl p{
	display:inline;
}

#base .service .msk .cont .sub .secttl p:nth-child(1){
	font-family: 'Prata', serif;
	font-weight: 400;
	letter-spacing: -0.05em;
	font-size:1.06em;
}
#base .service .msk .cont .sub .secttl p:nth-child(2){
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	letter-spacing: -0.06em;
	padding-left:0.02em;
}

#base .service .msk .cont .sub .secttl p span{
	position:relative;
	top:140px;
}

#base .service.vw .msk .cont .sub .secttl p span{
	top:0;
	
	-webkit-transition:top .4s cubic-bezier(0.165, 0.84, 0.44, 1);
	-o-transition:top .4s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition:top .4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

#base .service.vw .msk .cont .sub .secttl p:nth-child(1) span:nth-child(1){ transition-delay:0.0s; }
#base .service.vw .msk .cont .sub .secttl p:nth-child(1) span:nth-child(2){ transition-delay:0.1s; }
#base .service.vw .msk .cont .sub .secttl p:nth-child(1) span:nth-child(3){ transition-delay:0.2s; }

#base .service.vw .msk .cont .sub .secttl p:nth-child(2) span:nth-child(1){ transition-delay:0.3s; }
#base .service.vw .msk .cont .sub .secttl p:nth-child(2) span:nth-child(2){ transition-delay:0.4s; }
#base .service.vw .msk .cont .sub .secttl p:nth-child(2) span:nth-child(3){ transition-delay:0.5s; }
#base .service.vw .msk .cont .sub .secttl p:nth-child(2) span:nth-child(4){ transition-delay:0.6s; }

#base .service .msk .cont .sub .sectxt{
	font-family: 'Poppins', sans-serif;
	font-weight: 300;
	letter-spacing: 0.04em;
	font-size:1.1em;
	line-height:1.9;
	color:rgba(255,255,255,0.8);
	padding-top:1.7em;
}

#base .service .msk .cont .sub .sectxt p{
	position:relative;
	top:25px;
	opacity:0;
}
#base .service.vw .msk .cont .sub .sectxt p{
	top:0;
	opacity:1.0;
}
#base .service.vw .msk .cont .sub .sectxt p:nth-child(1){ transition:opacity .4s linear 0.7s, top .5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.7s; }
#base .service.vw .msk .cont .sub .sectxt p:nth-child(2){ transition:opacity .4s linear 0.85s, top .5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.85s; }
#base .service.vw .msk .cont .sub .sectxt p:nth-child(3){ transition:opacity .4s linear 1.0s, top .5s cubic-bezier(0.165, 0.84, 0.44, 1) 1.0s; }
#base .service.vw .msk .cont .sub .sectxt p:nth-child(4){ transition:opacity .4s linear 1.15s, top .5s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s; }

#base .service .msk .cont .sub .ja{
	margin-top:60px;
}

#base .service .msk .cont .sub .ja p{
	position:relative;
	top:25px;
	opacity:0;
	font-weight: 700;
	font-size:2.7em;
	line-height:1.6;
	letter-spacing:0.0em;
	color:rgba(255,255,255,1.0);
}

#base .service.vw .msk .cont .sub .ja p{
	top:0;
	opacity:1;
	transition:opacity .4s linear 1.3s, top .5s cubic-bezier(0.165, 0.84, 0.44, 1) 1.3s;
}

#base .service_cards_sec .service_cards{
	position:relative;
	width:calc(100% - 80px);
	margin:0 auto;
}

#base .service_cards_sec{
	position:relative;
	z-index:30;
	margin-top:80px;
}

#base .service_cards_sec .service_cards .ctg .sub ul.service-grid{
	display:grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 40px;
	row-gap: 56px;
}

#base .service_cards_sec .service_cards .ctg .sub ul.service-grid li{
	display:block;
	padding-right:0;
}

#base .service_cards_sec .service_cards .ctg .sub ul.service-grid li .pht{
	overflow:hidden;
}

#base .service_cards_sec .service_cards .ctg .sub ul.service-grid li .pht img{
	width:100%;
	height:auto;
}

#base .service_cards_sec .service_cards .ctg .sub ul.service-grid li .txt{
	padding-top:15px;
}

#base .service_cards_sec .service_cards .ctg .sub ul.service-grid li .txt .txt1{
	color:rgba(255,255,255,1.0);
	font-weight: 700;
	font-size: 1.4em;
	line-height:1.5;
	padding-top:5px;
	padding-bottom:1px;
}

#base .service_cards_sec .service_cards .ctg .sub ul.service-grid li .txt .txt2{
	color:rgba(255,255,255,1.0);
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 2.4em;
	letter-spacing: -0.04em;
	line-height:1.5;
	display:table;
	position:relative;
}

#base .service_cards_sec .service_cards .ctg .sub ul.service-grid li .txt .txt2 .coming{
	color:rgba(255,255,255,0.8);
	font-family: 'Poppins', sans-serif;
	font-weight: 300;
	font-size: 0.45833333em;
	letter-spacing: 0.08em;
	position:relative;
	left:14px;
	bottom:3px;
}

#base .service_cards_sec .service_cards .ctg .sub ul.service-grid li .txt .txt3{
	color:rgba(255,255,255,0.6);
	font-weight: 400;
	font-size: 1.2em;
	line-height:1.5;
	padding-top:6px;
}

#base .service_cards_sec .service_cards .ctg .sub ul.service-grid li .txt .txt5{
	color:rgba(255,255,255,0.82);
	font-weight: 400;
	font-size:1.6em;
	line-height:1.7;
	padding-top:8px;
}

#base .service_cards_sec .service_cards .ctg .sub ul.service-grid li .txt .txt4{
	padding-top:14px;
	text-align:right;
}

#base .service_cards_sec .service_cards .ctg .sub ul.service-grid li .txt .txt4 a{
	display:inline-block;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size:1.6em;
	letter-spacing:0.08em;
	color:rgba(255,255,255,0.9);
	border-bottom:1px solid rgba(255,255,255,0.6);
	padding-bottom:4px;
}

@media all and (max-width: 767px){

#base .service .msk .cont{
	left:calc(50% - 400px);
	width:800px;
}

#base .service .msk .cont .sub .ja{
	margin-top:40px;
}

#base .service .msk .cont .sub .ja p{
	font-size:2.5em;
}

#base .service_cards_sec .service_cards{
	width:calc(100% - 40px);
	margin-top:0;
}

#base .service_cards_sec .service_cards .ctg .sub ul.service-grid{
	grid-template-columns: repeat(1, minmax(0, 1fr));
	row-gap:13vw;
}

#base .service_cards_sec .service_cards .ctg .sub ul.service-grid li .txt .txt1{
	font-size:1.3em;
	padding-top:2px;
}

#base .service_cards_sec .service_cards .ctg .sub ul.service-grid li .txt .txt2{
	font-size:2.1em;
}

#base .service_cards_sec .service_cards .ctg .sub ul.service-grid li .txt .txt5{
	font-size:1.4em;
	padding-top:6px;
}

#base .service_cards_sec{
	margin-top:60px;
}

}

/* blkbg --------------------------------------------- */

#base .blkbg{
	position:fixed;
	z-index:20;
	background:#222222;
	left:0;
	top:0;
	width:100%;
	pointer-events:none;
	opacity:1.0;
	display:none;
}
#base .blkbg.vw{
	display:block;
}

/* service2 --------------------------------------------- */

#base .service2{
	z-index:30;
	width:100%;
	overflow:hidden;
}

#base .service2 .cont{
	padding-top:15vw;
}
#base .service2 .cont:nth-child(1){
	padding-top:30vw;
}

#base .service2 .cont:nth-child(1) .ctg{
	width:calc(100% - 80px);
	margin:0 auto;
}

#base .service2 .cont .hdr{
	width:calc(100% - 180px);
	margin:0 auto;
	border-bottom:solid 1px rgba(255,255,255,0.2);
	display:table;
}

#base .service2 .cont .hdr .en{
	display:table-cell;
	vertical-align:bottom;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	letter-spacing: -0.06em;
	font-size:4.8em;
	color:rgba(255,255,255,1.0);
	padding-bottom:40px;
}

#base .service2 .cont .hdr .ja{
	display:table-cell;
	vertical-align:bottom;
}

#base .service2 .cont .hdr .ja p{
	margin-left:auto;
	display:table;
	font-weight: 700;
	font-size:1.5em;
	color:rgba(255,255,255,1.0);
	line-height:1.85;
	padding-bottom:40px;
}

#base .service2 .cont .ctg{
	display:table;
	position:relative;
	margin-left:90px;
}
#base .service2 .cont .ctg.wide{
	width:calc(100% - 180px);
	display: block;
}


#base .service2 .cont .ctg .sub .ctgttl .ja{
}

#base .service2 .cont .ctg .sub .ctgttl .ja span{
	font-weight: 700;
	font-size: 2.1em;
	line-height:0.8;
	color:#FFFFFF;
	display:inline-block;
	margin-right:0.04em;
	padding-bottom:2px;
	-webkit-font-smoothing:none;
	-webkit-font-smoothing:subpixel-antialiased;
	-moz-osx-font-smoothing:auto;
}

#base .service2 .cont .ctg .sub .ctgttl .en{
	margin-top:12px;
	margin-bottom:35px;
}

#base .service2 .cont .ctg .sub .ctgttl .en span{
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 1.3em;
	color:#FFFFFF;
	display:inline-block;
	margin-right:0.04em;
}

#base .service2 .cont .ctg .sub ul{
	display:table;
}

#base .service2 .cont .ctg .sub ul li{
	display:table-cell;
	padding-right:60px;
}
#base .service2 .cont .ctg .sub ul li:nth-last-child(1){
	padding-right:90px;
}
#base .service2 .cont .ctg .sub:nth-last-child(1) ul li:nth-last-child(1){
	padding-right:0;
}

#base .service2 .cont .ctg.wide .sub ul{
	width:100%;
}

#base .service2 .cont .ctg .sub ul li .pht{
	overflow:hidden;
}

#base .service2 .cont .ctg.wide .sub ul li .pht{
	width:200px;
	height:110px;
	background-color:#ffffff;
	display:flex;
}

#base .service2 .cont .ctg .sub ul li .pht img{
	width:auto;
	height:340px;
}

#base .service2 .cont .ctg.wide .sub ul li .pht img{
	width:100%;
	height:auto;
	object-fit:contain;
	background-color:#ffffff;
}
#base.no_tch .service2 .cont .ctg .sub ul li a .pht img{
	-webkit-transition:transform 1.2s;
	-o-transition:transform 1.2s;
	transition:transform 1.2s;
}
#base.no_tch .service2 .cont .ctg .sub ul li a:hover .pht img{
	transform:scale(1.1);
}
#base.no_tch .service2 .cont .ctg.wide .sub ul li a:hover .pht img{
	transform:scale(1.05);
}

#base .service2 .cont .ctg .sub ul li .txt{
	padding-top:15px;
}
#base.no_tch .service2 .cont .ctg .sub ul li a .txt{
	-webkit-transition:opacity .15s;
	-o-transition:opacity .15s;
	transition:opacity .15s;
}
#base.no_tch .service2 .cont .ctg .sub ul li a:hover .txt{
	opacity:0.3;
}

#base .service2 .cont .ctg .sub ul li .txt .txt1{
	color:rgba(255,255,255,1.0);
	font-weight: 700;
	font-size: 1.4em;
	line-height:1.5;
	padding-top:5px;
	padding-bottom:1px;
}

#base .service2 .cont .ctg .sub ul li .txt .txt2{
	color:rgba(255,255,255,1.0);
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 2.4em;
	letter-spacing: -0.04em;
	line-height:1.5;
	display:table;
	position:relative;
}
#base .service2 .cont .ctg .sub ul li .txt .txt2 .ja{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 0.8em;
}

#base .service2 .cont .ctg .sub ul li .txt .txt2 .coming{
	color:rgba(255,255,255,0.8);
	font-family: 'Poppins', sans-serif;
	font-weight: 300;
	font-size: 0.45833333em;
	letter-spacing: 0.08em;
	position:relative;
	left:14px;
	bottom:3px;
}

#base .service2 .cont .ctg .sub ul li .txt .txt2 .blank{
	position:absolute;
	right:-25px;
	bottom:12px;
	opacity:0.7;
}

#base .service2 .cont .ctg .sub ul li .txt .txt3{
	color:rgba(255,255,255,0.6);
	font-weight: 400;
	font-size: 1.2em;
	line-height:1.5;
	padding-top:6px;
}

#base .service2 .cont .ctg .sub ul li .txt .txt4{
	padding-top:14px;
}

#base .service2 .cont .ctg .sub ul li .txt .txt4 a{
	display:inline-block;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size:1.2em;
	letter-spacing:0.08em;
	color:rgba(255,255,255,0.9);
	border-bottom:1px solid rgba(255,255,255,0.6);
	padding-bottom:4px;
}

#base .service-work-modal{
	position:fixed;
	z-index:600;
	left:0;
	top:0;
	width:100%;
	height:100%;
	display:none;
}

#base .service-work-modal.is_open{
	display:flex;
	align-items:center;
	justify-content:center;
	padding:20px;
	box-sizing:border-box;
}

#base .service-work-modal__overlay{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.5);
}

#base .service-work-modal__dialog{
	position:relative;
	width:min(1080px, calc(100% - 80px));
	max-height:calc(100vh - 80px);
	height: 70vh;
	overflow:hidden;
	background:#ffffff;
	margin:0;
	padding:46px 48px 42px;
	z-index:1;
	display:flex;
	flex-direction:column;
}

#base .service-work-modal__close{
	position:absolute;
	right:20px;
	top:16px;
	width:36px;
	height:36px;
	border:0;
	border-radius:18px;
	background:#efefef;
	font-size:34px;
	line-height:30px;
	font-weight:700;
	cursor:pointer;
}

#base .service-work-modal__headline{
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size:3.2em;
	line-height:1.4;
	color:#111;
}

#base .service-work-modal__title{
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size:5.6em;
	letter-spacing:-0.02em;
	line-height:1.05;
	color:#111;
	padding-top:8px;
}

#base .service-work-modal__lead{
	font-size:1.6em;
	line-height:1.8;
	color:#222;
	padding-top:14px;
}

#base .service-work-modal__grid{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	column-gap:18px;
	row-gap:40px;
	padding-top:32px;
	align-items:stretch;
	max-height: clamp(520px, 54vh, 420px);
	overflow-y:auto;
	padding-right:8px;
	overscroll-behavior:contain;
	-webkit-overflow-scrolling:touch;
	touch-action:pan-y;
	flex:1 1 auto;
	min-height:0;
}

#base .service-work-modal__item{
	display:flex;
	flex-direction:column;
	height:100%;
}

#base .service-work-modal__media{
	background:#d9d9d9;
	aspect-ratio:640 / 360;
	overflow:hidden;
}

#base .service-work-modal__media img,
#base .service-work-modal__media video,
#base .service-work-modal__media iframe{
	width:100%;
	height:100%;
	object-fit:contain;
	border:0;
}

#base .service-work-modal__item-title{
	font-weight: 500;
	font-size:1.5em;
	line-height:1.4;
	color:#111;
	padding-top:12px;
}

#base .service-work-modal__item-desc{
	font-size:1.3em;
	line-height:1.7;
	color:#222;
	padding-top:6px;
	flex:1;
	line-clamp:4;
	display:-webkit-box;
	-webkit-line-clamp:4;
	-webkit-box-orient:vertical;
	overflow:hidden;
}

/* creative studio posts grid */
#base .service2 .cont:nth-child(1) .ctg .sub ul.service-grid{
	display:grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 60px;
	row-gap: 70px;
}
#base .service2 .cont:nth-child(1) .ctg .sub ul.service-grid li{
	display:block;
	padding-right:0;
}
#base .service2 .cont:nth-child(1) .ctg .sub ul.service-grid li:nth-last-child(1){
	padding-right:0;
}
#base .service2 .cont:nth-child(1) .ctg .sub ul.service-grid li .pht img{
	width:100%;
	height:auto;
}

@media all and (max-width: 767px){
#base .service2{
	overflow:visible;
}

#base .service2 .cont{
	padding-top:5vw;
}
#base .service2 .cont:nth-child(1){
	padding-top:50vw;
}

#base .service2 .cont:nth-child(1) .ctg{
	width:calc(100% - 40px);
}

#base .service2 .cont .hdr{
	width:calc(100% - 40px);
}

#base .service2 .cont .hdr .en{
	display:block;
	font-size:4.8em;
	font-size:3.0em;
	padding-bottom:40px;
	padding-bottom:9px;
}

#base .service2 .cont .hdr .ja{
	display:block;
}

#base .service2 .cont .hdr .ja p{
	margin-left:0;
	font-size:1.3em;
	font-weight:400;
	padding-bottom:40px;
	padding-bottom:25px;
	width:calc(100% + 5px);
}

#base .service2 .cont .ctg{
	margin-left:20px;
	width:calc(100% - 40px);
}
#base .service2 .cont .ctg.wide{
	width:100%;
	padding-top:0;
	display: block;
}

#base .service2 .cont .ctg .sub{
	display:block;
	width:100%;
}

#base .service2 .cont .ctg .sub .ctgttl .ja{
}

#base .service2 .cont .ctg .sub .ctgttl .ja span{
	font-size: 2.1em;
	font-size: 1.6em;
	padding-bottom:2px;
}

#base .service2 .cont .ctg .sub .ctgttl .en{
	margin-top:16px;
	margin-bottom:35px;
	margin-top:10px;
	margin-bottom:25px;
}

#base .service2 .cont .ctg .sub .ctgttl .en span{
	font-size: 1.3em;
	font-size: 1.1em;
}

#base .service2 .cont .ctg .sub ul{
}

#base .service2 .cont .ctg .sub ul li{
	display:block;
	padding-right:0;
	padding-bottom:13vw;
}
#base .service2 .cont .ctg .sub ul li:nth-last-child(1){
	padding-right:0;
	padding-bottom:20vw;
}
#base .service2 .cont .ctg .sub:nth-last-child(1) ul li:nth-last-child(1){
	padding-right:0;
}

#base .service2 .cont .ctg .sub ul li .pht img{
	width:100%;
	height:auto;
}

#base .service2 .cont .ctg.wide .sub ul{
}

#base .service2 .cont .ctg.wide .sub ul li .pht{
	width: 170px;
	height: 90px;
	background-color:#ffffff;
	display:flex;
}

#base .service2 .cont .ctg.wide .sub ul li .pht img{
	width:100%;
	height:auto;
	object-fit:contain;
	background-color:#ffffff;
}

#base .service2 .cont .ctg .sub ul li .txt{
	padding-top:14px;
	padding-top:14px;
}

#base .service2 .cont .ctg .sub ul li .txt .txt1{
	font-size: 1.4em;
	font-size: 1.3em;
	padding-top:5px;
	padding-bottom:1px;
	padding-top:2px;
	padding-bottom:1px;
}

#base .service2 .cont .ctg .sub ul li .txt .txt2{
	font-size: 2.4em;
	font-size: 2.1em;
}

#base .service2 .cont .ctg .sub ul li .txt .txt2 .coming{
	font-size: 0.45833333em;
	left:12px;
	bottom:3px;
}

#base .service2 .cont .ctg .sub ul li .txt .txt2 .blank{
	right:-22px;
	bottom:10px;
	width:auto;
	height:10px;
}

#base .service2 .cont .ctg .sub ul li .txt .txt3{
	font-size: 1.2em;
	padding-top:6px;
	padding-top:4px;
}

#base .service2 .cont .ctg .sub ul li .txt .txt4{
	padding-top:12px;
}

#base .service2 .cont .ctg .sub ul li .txt .txt4 a{
	font-size:1.2em;
}

#base .service-work-modal__dialog{
	width:calc(100% - 24px);
	max-height:calc(100vh - 24px);
	margin:12px auto;
	padding:36px 16px 24px;
}

#base .service-work-modal__headline{
	font-size:2.0em;
}

#base .service-work-modal__title{
	font-size:3.8em;
}

#base .service-work-modal__lead{
	font-size:1.3em;
	padding-top:8px;
}

#base .service-work-modal__grid{
	grid-template-columns:1fr;
	row-gap:20px;
	padding-top:20px;
	max-height:calc(100vh - 170px);
	overflow-y:auto;
	padding-right:2px;
}

#base .service-work-modal__item-title{
	font-weight: 500;
	font-size:1.5em;
	padding-top:10px;
}

#base .service2 .cont:nth-child(1) .ctg .sub ul.service-grid{
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 20px;
	row-gap: 13vw;
}
#base .service2 .cont:nth-child(1) .ctg .sub ul.service-grid li{
	padding-bottom:0;
}
#base .service2 .cont:nth-child(1) .ctg .sub ul.service-grid li:nth-last-child(1){
	padding-bottom:0;
}
}

/* member --------------------------------------------- */

#base .member{
	z-index:30;
}

#base .member .cont{
	position:relative;
	display:table;
	width:100%;
	height:100%;
}

#base .member .cont .sub{
	display:table-cell;
	text-align:center;
	vertical-align:middle;
}

#base .member .cont .sub .secttl{
	font-size:11.2em;
	color:rgba(255,255,255,1.0);
	position:relative;
	overflow:hidden;
	margin-bottom: 22vw;
	    display: flex;
    align-items: center;
    justify-content: center;
}

#base .member .cont .sub .secttl p{
	display:inline;
}

#base .member .cont .sub .secttl p:nth-child(1){
	font-family: 'Rokkitt', sans-serif;
	font-weight: 700;
	letter-spacing: -0.06em;
	font-size:1.37em;
}
#base .member .cont .sub .secttl p:nth-child(2){
	font-family: 'Prata', serif;
	font-weight: 400;
	letter-spacing: -0.05em;
	font-size:1.06em;
	padding-left:0.05em;
}

#base .member .cont .sub .secttl p span{
	position:relative;
	top:140px;
}
#base .member.vw .cont .sub .secttl p span{
	top:0;
	
	-webkit-transition:top .4s cubic-bezier(0.165, 0.84, 0.44, 1);
	-o-transition:top .4s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition:top .4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#base .member.vw .cont .sub .secttl p:nth-child(1) span:nth-child(1){ transition-delay:0.0s; }
#base .member.vw .cont .sub .secttl p:nth-child(1) span:nth-child(2){ transition-delay:0.1s; }
#base .member.vw .cont .sub .secttl p:nth-child(1) span:nth-child(3){ transition-delay:0.2s; }

#base .member.vw .cont .sub .secttl p:nth-child(2) span:nth-child(1){ transition-delay:0.3s; }
#base .member.vw .cont .sub .secttl p:nth-child(2) span:nth-child(2){ transition-delay:0.4s; }
#base .member.vw .cont .sub .secttl p:nth-child(2) span:nth-child(3){ transition-delay:0.5s; }

#base .member .cont .sub .sectxt{
	font-family: 'Poppins', sans-serif;
	font-weight: 300;
	letter-spacing: 0.04em;
	font-size:1.1em;
	line-height:1.9;
	color:rgba(255,255,255,0.8);
	padding-top:1.7em;
	padding-top:0.2em;
}

#base .member .cont .sub .sectxt p{
	position:relative;
	top:25px;
	opacity:0;
}
#base .member.vw .cont .sub .sectxt p{
	top:0;
	opacity:1.0;
}
#base .member.vw .cont .sub .sectxt p:nth-child(1){ transition:opacity .4s linear 0.6s, top .5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.6s; }
#base .member.vw .cont .sub .sectxt p:nth-child(2){ transition:opacity .4s linear 0.75s, top .5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.75s; }
#base .member.vw .cont .sub .sectxt p:nth-child(3){ transition:opacity .4s linear 0.9s, top .5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.9s; }

@media all and (max-width: 767px){

#base .member .cont{
	left:calc(50% - 400px);
	width:800px;
}
	
	#base .member .cont .sub .secttl {
    font-size: 6em;
}

}
/* member2 --------------------------------------------- */

#base .member2 .member-hdr{
	height:auto;
	margin-bottom:60px;
}
#base .member2 .member-hdr .cont{
	display:block;
	width:100%;
	height:auto;
	position:relative;
	left:auto;
}
#base .member2 .member-hdr .cont .sub{
	display:block;
	text-align:left;
	vertical-align:top;
}
#base .member2 .member-hdr .cont .sub .secttl p span{
	top:0;
}
#base .member2 .member-hdr .cont .sub .sectxt p{
	top:0;
	opacity:1;
}

#base .member2{
	z-index:30;
	width:calc(100% - 180px);
	margin:30vw auto;
}

#base .member2 .ceo{
	position:relative;
}

#base .member2 .ceo .pht{
	position:absolute;
	left:0;
	top:0;
	width:calc(100% - 790px);
	background:#F6F6F6 url(../img/member1.jpg) no-repeat 50% 0%;
	background-size:auto 100%;
	background-size:cover;
}

#base .member2 .ceo .txt{
	width:700px;
	margin-left:auto;
}

#base .member2 .ceo .txt .prf{
	width:calc(100% + 5px);
}

#base .member2 .ceo .txt .prf .txt1{
	font-weight: 700;
	font-size:1.7em;
	letter-spacing: 0.05em;
	color:rgba(255,255,255,1.0);
}

#base .member2 .ceo .txt .prf .txt2{
	display:table;
	margin-top:14px;
}

#base .member2 .ceo .txt .prf .txt2 .en,
#base .member2 .ceo .txt .prf .txt2 .ja{
	display:table-cell;
	vertical-align:middle;
}

#base .member2 .ceo .txt .prf .txt2 .en{
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size:3.5em;
	letter-spacing: -0.03em;
	color:rgba(255,255,255,1.0);
}
#base .member2 .ceo .txt .prf .txt2 .ja{
	font-weight: 700;
	font-size:1.6em;
	color:rgba(255,255,255,1.0);
	padding-left:22px;
	padding-top:2px;
}

#base .member2 .ceo .txt .prf .txt3{
	font-size:1.6em;
	color:rgba(255,255,255,1.0);
	line-height:2.0;
	margin-top:45px;
}

#base .member2 .ceo .txt .msg{
	margin-top:55px;
}

#base .member2 .ceo .txt .msg .txt1{
	font-family: 'Poppins', sans-serif;
	font-weight: 300;
	font-size:1.7em;
	letter-spacing: 0.04em;
	color:rgba(255,255,255,1.0);
	border-bottom:solid 1px rgba(255,255,255,0.2);
	padding-bottom:13px;
}

#base .member2 .ceo .txt .msg .txt2{
	font-size:1.5em;
	color:rgba(255,255,255,0.8);
	line-height:2.0;
	margin-top:18px;
	width:calc(100% + 5px);
}

#base .member2 .ceo .txt .sns{
	margin-top: 55px;
	
	font-family: 'Poppins', sans-serif;
	font-weight: 300;
	font-size:1.5em;
	color:rgba(255,255,255,1.0);
	letter-spacing: 0.02em;
}
#base .member2 .ceo .txt .sns a{
	-webkit-transition:opacity .15s;
	-o-transition:opacity .15s;
	transition:opacity .15s;
}
#base.no_tch .member2 .ceo .txt .sns a:hover{
	opacity:0.3;
}

#base .member2 .ceo .txt .sns .frasl{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	letter-spacing: -0.1em;
	font-size: 0.75em;
	position:relative;
	top:-2px;
	padding: 0 13px 0 12px;
	opacity: 0.4;
}

#base .member2 .cont{
	display:table;
	padding-top:0;
}

#base .member2 .cont .sub{
	width:100%;
	position:relative;
	float:none;
	left:0;
	padding-top:0;
	display:flex;
	align-items:flex-start;
	column-gap:40px;
}
#base .member2 .cont .sub:nth-child(3n+1){
	clear:none;
}
#base .member2 .cont .sub:nth-child(3n+2){
	left: 0;
}
#base .member2 .cont .sub:nth-child(3n){
	clear:none;
	left: 0;
}
#base .member2 .cont .sub:nth-child(n+4){
	padding-top:0;
}

#base .member2 .cont .sub + .sub{
	margin-top:90px;
}

#base .member2 .cont .sub .pht{
	width:320px;
	max-width:40%;
	flex:0 0 auto;
}

#base .member2 .cont .sub .pht img{
	width:320px;
	height:340px;
	object-fit:cover;
}

#base .member2 .cont .sub .txt{
	margin-top:0;
	width:auto;
	flex:1 1 auto;
}

#base .member2 .cont .sub .txt .txt1{
	color:rgba(255,255,255,1.0);
	font-weight: 700;
	font-size: 1.4em;
	font-size: 1.5em;
	line-height:1.5;
	letter-spacing: 0.05em;
}

#base .member2 .cont .sub .txt .txt2{
	color:rgba(255,255,255,1.0);
	font-weight: 700;
	font-size: 2.0em;
	line-height:1.5;
	margin-top:5px;
}

#base .member2 .cont .sub .txt .txt3{
	color:rgba(255,255,255,0.8);
	font-weight: 400;
	font-size: 1.6em;
	line-height:1.85;
	margin-top:8px;
	margin-top:16px;
}

#base .member2 .cont .sub .txt .sns{
	margin-top: 30px;
	
	font-family: 'Poppins', sans-serif;
	font-weight: 300;
	font-size:1.4em;
	color:rgba(255,255,255,1.0);
	letter-spacing: 0.02em;
}
#base .member2 .cont .sub .txt .sns a{
	-webkit-transition:opacity .15s;
	-o-transition:opacity .15s;
	transition:opacity .15s;
}
#base.no_tch .member2 .cont .sub .txt .sns a:hover{
	opacity:0.3;
}

#base .member2 .cont .sub .txt .sns .frasl{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	letter-spacing: -0.1em;
	font-size: 0.75em;
	position:relative;
	top:-2px;
	padding: 0 10px 0 9px;
	opacity: 0.4;
}

@media all and (max-width: 767px){
#base .member2{
	width:calc(100% - 40px);
}

#base .member2 .member-hdr .cont{
	left:auto;
	width:100%;
}

#base .member2 .ceo .pht{
	position:relative;
	width:100%;
}

#base .member2 .ceo .txt{
	width:100%;
	margin-left:0;
	padding-top:20px;
}

#base .member2 .ceo .txt .prf .txt1{
	font-size:1.6em;
	font-size:1.4em;
}

#base .member2 .ceo .txt .prf .txt2{
	display:table;
	margin-top:10px;
}

#base .member2 .ceo .txt .prf .txt2 .en,
#base .member2 .ceo .txt .prf .txt2 .ja{
	display:block;
}

#base .member2 .ceo .txt .prf .txt2 .en{
	font-size:3.5em;
	font-size:2.4em;
}
#base .member2 .ceo .txt .prf .txt2 .ja{
	font-size:1.3em;
	font-size:1.4em;
	padding-left:0;
	padding-top:10px;
}

#base .member2 .ceo .txt .prf .txt3{
	font-size:1.4em;
	margin-top:45px;
	margin-top:30px;
	line-height:1.85;
}

#base .member2 .ceo .txt .msg{
	margin-top:40px;
}

#base .member2 .ceo .txt .msg .txt1{
	font-size:1.7em;
	padding-bottom:13px;
	font-size:1.5em;
	padding-bottom:12px;
}

#base .member2 .ceo .txt .msg .txt2{
	font-size:1.5em;
	font-size:1.4em;
	margin-top:18px;
	margin-top:14px;
	line-height:1.85;
}

#base .member2 .ceo .txt .sns{
	margin-top: 40px;
	font-size:1.3em;
}

#base .member2 .ceo .txt .sns .frasl{
	padding: 0 9px 0 8px;
}

#base .member2 .cont{
	width:100%;
	padding-top:20vw;
}

#base .member2 .cont .sub{
	display:block;
	width:100%;
	padding-bottom:13vw;
}
	
#base .member2 .cont .sub:nth-child(3n+1){
}
#base .member2 .cont .sub:nth-child(3n+2){
	left: 0;
}
#base .member2 .cont .sub:nth-child(3n){
	left: 0;
}
#base .member2 .cont .sub:nth-child(n+4){
	padding-top:0;
}
#base .member2 .cont .sub:nth-last-child(1){
	padding-bottom:0;
}

#base .member2 .cont .sub .pht img{
	width:100%;
	height:auto;
	aspect-ratio:320 / 340;
	object-fit:cover;
}

#base .member2 .cont .sub .pht{
	width:100%;
	max-width:none;
}

#base .member2 .cont .sub .txt{
	margin-top:16px;
	margin-top:20px;
	width:100%;
}

#base .member2 .cont .sub .txt .txt1{
	font-size: 1.4em;
	font-size: 1.3em;
}

#base .member2 .cont .sub .txt .txt2{
	font-size: 1.8em;
	margin-top:4px;
	font-size: 1.8em;
	margin-top:3px;
}

#base .member2 .cont .sub .txt .txt3{
	font-size: 1.5em;
	margin-top:8px;
	font-size: 1.4em;
	margin-top:14px;
}

#base .member2 .cont .sub .txt .sns{
	margin-top: 26px;
	font-size:1.3em;
}

#base .member2 .cont .sub .txt .sns .frasl{
	padding: 0 9px 0 8px;
}
}

/* member2 --------------------------------------------- */

#base .recruit{
	padding-top:15vw;
	padding-top:30vw;
	padding-top:700px;
	padding-top:600px;
}

#base .recruit .cont{
	margin-left:90px;
	position:relative;
	display:table;
	width:calc(100% - 90px);
}

#base .recruit .cont .pht{
	display:table-cell;
	width:auto;
}

#base .recruit .cont .pht .sub{
	position:relative;
	width:calc(100% - 110px);
	height:calc((100vw - 90px - 500px - 110px) * 9 / 16);
	overflow:hidden;
}

#base .recruit .cont .pht .sub .subsub{
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
}

#base .recruit .cont .pht .sub .subsub img{
	width:100%;
	height:auto;
}

#base .recruit .cont .txt{
	display:table-cell;
	text-align:left;
	vertical-align:middle;
	width:500px;
}

#base .recruit .cont .txt .txt1{
	font-family: 'Poppins', sans-serif;
	font-weight:600;
	font-size:4.4em;
	letter-spacing: -0.04em;
	color:rgba(0,0,0,1.0);
	margin-bottom:55px;
}

#base .recruit .cont .txt .txt2{
	font-size:1.6em;
	color:rgba(0,0,0,1.0);
	line-height:2.2;
	padding-bottom:12px;
}

#base .recruit .cont .txt .btn{
	width:310px;
	margin-top:60px;
}
#base.no_tch .recruit .cont .txt .btn{
	-webkit-transition:opacity .15s;
	-o-transition:opacity .15s;
	transition:opacity .15s;
}
#base.no_tch .recruit .cont .txt .btn:hover{
	opacity:0.3;
}

#base .recruit .cont .txt .btn p{
	font-weight:700;
	font-size:1.7em;
	color:rgba(0,0,0,1.0);
	letter-spacing:0.03em;
	border-bottom:solid 1px rgba(0,0,0,1.0);
	padding-bottom:24px;
}

@media all and (max-width: 767px){
#base .recruit{
	padding-top:600px;
}

#base .recruit .sp_ttl{
	font-family: 'Poppins', sans-serif;
	font-weight:600;
	font-size:3.6em;
	letter-spacing: -0.04em;
	color:rgba(0,0,0,1.0);
	margin-bottom:45px;
	margin-left:20px;
}

#base .recruit .cont{
	margin-left:20px;
	width:calc(100% - 40px);
}

#base .recruit .cont .pht{
	display:block;
}

#base .recruit .cont .pht .sub{
	width:100%;
	height:auto;
	overflow:visible;
}

#base .recruit .cont .pht .sub .subsub{
	position:static;
}

#base .recruit .cont .pht .sub .subsub img{
	width:100%;
	height:auto;
}

#base .recruit .cont .txt{
	display:block;
	width:100%;
	padding-top:15px;
}

#base .recruit .cont .txt .txt1{
	display:none;
}

#base .recruit .cont .txt .txt2{
	font-size:1.6em;
	line-height:2.0;
	padding-bottom:12px;
	width:calc(100% + 5px);
	
	font-size:1.4em;
	padding-bottom:0;
	line-height:1.85;
}

#base .recruit .cont .txt .btn{
	width:100%;
	margin-top:50px;
}

#base .recruit .cont .txt .btn p{
	font-size:1.8em;
	padding-bottom:24px;
	font-size:1.5em;
	padding-bottom:21px;
}
}


/* NEWS --------------------------------------------- */

#base .news{
	padding-top:15vw;
}

#base .news .subsec{
	width:calc(100% - 180px);
	margin:0 auto;
	position:relative;
}

#base .news .subsec h2{
	position:absolute;
	left:0;
	top:0;
	
	font-family: 'Poppins', sans-serif;
	font-weight:600;
	font-size:4.4em;
	letter-spacing: -0.04em;
	color:rgba(0,0,0,1.0);
}

#base .news .subsec ul{
	width:calc(100% - 300px);
	margin-left:auto;
}

#base .news .subsec ul li{
	border-bottom:solid 1px rgba(0,0,0,0.2);
}
#base .news .subsec ul li:first-child{
	border-top:solid 1px rgba(0,0,0,0.2);
}

#base .news .subsec ul li .cont{
	display:grid;
	grid-template-columns:1fr auto;
	grid-template-areas:
		"meta date"
		"title date";
	row-gap:14px;
	column-gap:20px;
	align-items:center;
	width:100%;
	padding:24px 0;
}
#base.no_tch .news .subsec ul li .cont{
	-webkit-transition:opacity .15s;
	-o-transition:opacity .15s;
	transition:opacity .15s;
}
#base.no_tch .news .subsec ul li .cont:hover{
	opacity:0.3;
}

#base .news .subsec ul li .cont p{
	display:block;
	text-align:left;
}

#base .news .subsec ul li .cont .txt{
	width:auto;
	
	color:rgba(0,0,0,1.0);
	font-size:1.6em;
	line-height:1.85;
	line-height:2.0;
}

#base .news .subsec ul li .cont .txt.meta{
	grid-area:meta;
	font-size:1.4em;
	line-height:1.2;
	font-weight:400;
}

#base .news .subsec ul li .cont .news_category{
	display:inline-block;
	background:#111;
	color:#fff;
	font-family:'Poppins', sans-serif;
	font-weight:600;
	font-size:0.52em;
	line-height:1;
	padding:6px 8px 7px;
	margin-right:10px;
	letter-spacing:0.02em;
	vertical-align:middle;
}

#base .news .subsec ul li .cont .txt.title{
	grid-area:title;
	font-size:1.6em;
	line-height:1.35;
	font-weight:400;
}

#base .news .subsec ul li .cont .date{
	grid-area:date;
	width:130px;
	text-align:right;
	
	font-family: 'Poppins', sans-serif;
	font-weight:300;
	color:rgba(0,0,0,0.7);
	font-size:1.2em;
	line-height:1.85;
	line-height:2.0;
	letter-spacing:0.12em;
}

#base .news .subsec .btn{
	position:absolute;
	left:0;
	bottom:0;
	display:table;
	
	font-family: 'Poppins', sans-serif;
	font-weight:500;
	font-size:1.8em;
	letter-spacing: -0.02em;
	color:rgba(0,0,0,1.0);
	border-bottom:solid 1px rgba(0,0,0,1.0);
	padding-bottom:6px;
}

#base.no_tch .news .subsec .btn{
	-webkit-transition:opacity .15s;
	-o-transition:opacity .15s;
	transition:opacity .15s;
}
#base.no_tch .news .subsec .btn:hover{
	opacity:0.3;
}

@media all and (max-width: 767px){
#base .news{
	padding-top:45vw;
}

#base .news .subsec{
	width:calc(100% - 40px);
}

#base .news .subsec h2{
	font-size:3.6em;
	position:static;
	padding-bottom:45px;
}

#base .news .subsec ul{
	width:auto;
}

#base .news .subsec ul li{
}
#base .news .subsec ul li:first-child{
}

#base .news .subsec ul li .cont{
	display:block;
	padding:24px 0 24px;
}

#base .news .subsec ul li .cont p{
	display:block;
}

#base .news .subsec ul li .cont .category{
	width:auto;
	font-size:1.3em;
}

#base .news .subsec ul li .cont .txt{
	width:calc(100% + 5px);
	
	font-size:1.6em;
	font-size:1.4em;
	line-height:1.85;
}

#base .news .subsec ul li .cont .txt.meta{
	font-size:1.7em;
	line-height:1.5;
}

#base .news .subsec ul li .cont .news_category{
	font-size:0.58em;
	padding:5px 8px 6px;
	margin-right:8px;
}

#base .news .subsec ul li .cont .txt.title{
	font-size:1.5em;
	line-height:1.7;
}

#base .news .subsec ul li .cont .date{
	width:auto;
	text-align:left;
	
	font-size:1.1em;
	padding-top:9px;
}

#base .news .subsec .btn{
	position:static;
	margin-left:auto;
	margin-top:40px;
	
	font-size:1.5em;
	padding-bottom:4px;
}
}


/* company --------------------------------------------- */

#base .company{
	padding-top:15vw;
	padding-bottom:15vw;
	padding-bottom:700px;
	padding-bottom:calc(700px - 50vh + 100px);
	padding-bottom:calc(600px - 50vh);
	padding-bottom:calc(700px - 50vh);
}

#base .company .subsec{
	width:calc(100% - 180px);
	margin:0 auto;
	position:relative;
}

#base .company .subsec h2{
	position:absolute;
	right:0;
	top:0;
	
	font-family: 'Poppins', sans-serif;
	font-weight:600;
	font-size:4.4em;
	letter-spacing: -0.04em;
	color:rgba(0,0,0,1.0);
}

#base .company .subsec .cont{
	width:calc(100% - 340px);
}

#base .company .subsec .cont ul{
	width:calc(50% - 30px);
	float:left;
}
#base .company .subsec .cont ul:nth-child(2){
	float:right;
}

#base .company .subsec ul li{
	border-bottom:solid 1px rgba(0,0,0,0.2);
}
#base .company .subsec ul li:first-child{
	border-top:solid 1px rgba(0,0,0,0.2);
}

#base .company .subsec ul li dl{
	display:table;
	width:100%;
	padding:24px 0 25px;
}

#base .company .subsec ul li dl dt,
#base .company .subsec ul li dl dd{
	display:table-cell;
	text-align:left;
	vertical-align:top;
	
	width:auto;
	color:rgba(0,0,0,1.0);
	font-size:1.6em;
	line-height:3.125;
}

#base .company .subsec ul li dl dt{
	width:140px;
}

@media all and (max-width: 767px){
#base .company{
	padding-top:calc(45vw - 25px);
	padding-bottom:calc(700px - 50vh);
}

#base .company .subsec{
	width:calc(100% - 40px);
}

#base .company .subsec h2{
	font-size:3.6em;
	position:static;
	padding-bottom:45px;
}

#base .company .subsec .cont{
	width:100%;
}

#base .company .subsec .cont ul{
	width:100%;
	float:none;
}
#base .company .subsec .cont ul:nth-child(2){
	float:none;
}

#base .company .subsec ul li{
	border-bottom:solid 1px rgba(0,0,0,0.2);
}
#base .company .subsec ul li:first-child{
	border-top:none;
}
#base .company .subsec ul:first-child li:first-child{
	border-top:solid 1px rgba(0,0,0,0.2);
}

#base .company .subsec ul li dl{
	padding:28px 0 28px;
}

#base .company .subsec ul li dl dt,
#base .company .subsec ul li dl dd{
	font-size:1.4em;
	line-height:2.0;
}

#base .company .subsec ul li dl dt{
	width:95px;
}
}

/* FOOTER --------------------------------------------- */

#base .footer{
	z-index:30;
}

#base .footer .subnavi,
#base .spheader .subnavi{
	position:absolute;
	left:40px;
	bottom:40px;
	
	color: rgba(255,255,255,1.0);
}

#base .footer .subnavi .navi1 li,
#base .spheader .subnavi .navi1 li{
	font-family: 'Poppins', sans-serif;
	font-weight:500;
	font-size: 1.3em;
	letter-spacing: 0.02em;
	color: rgba(255,255,255,1.0);
	line-height:2.0;
}

#base .footer .subnavi .navi2,
#base .spheader .subnavi .navi2{
	font-family: 'Poppins', sans-serif;
	font-weight:400;
	font-size: 1.2em;
	letter-spacing: 0.04em;
	color: rgba(255,255,255,0.8);
	margin-top:25px;
}

#base.no_tch .footer .subnavi .hvr_s,
#base.no_tch .spheader .subnavi .hvr_s{
	-webkit-transition:opacity .15s;
	-o-transition:opacity .15s;
	transition:opacity .15s;
}
#base.no_tch .footer .subnavi .hvr_s:hover,
#base.no_tch .spheader .subnavi .hvr_s:hover{
	opacity:0.3;
}

#base .footer .copyright,
#base .spheader .copyright{
	position:absolute;
	right:40px;
	bottom:40px;
	
	font-family: 'Poppins', sans-serif;
	font-weight:400;
	font-size: 1.1em;
	letter-spacing: 0.05em;
	color: rgba(255,255,255,0.5);
	
	transform: scale(0.818181);
	transform-origin: 100% 100%;
	white-space: nowrap;
}

#base .footer .contact{
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
	overflow:hidden;
	width:100%;
	height:206px;
	height:220px;
}

#base.no_tch .footer .contact{
	-webkit-transition:opacity .15s;
	-o-transition:opacity .15s;
	transition:opacity .15s;
}
#base.no_tch .footer .contact:hover{
	opacity:0.5;
}

#base .footer .contact .pc_only ul{
	position:absolute;
	left:0;
}
#base .footer .contact.act .pc_only ul{
	animation-timing-function:linear;
	animation-name: contact_anime;
	animation-duration: 16.2s;
	animation-duration: 32.4s;
	animation-iteration-count: infinite;
}
#base .footer .contact.act .pc_only ul:nth-child(1){ animation-name: contact_anime1; animation-duration: 33.96s; }
#base .footer .contact.act .pc_only ul:nth-child(2){ animation-name: contact_anime2; animation-duration: 34.88s; }
#base .footer .contact .pc_only ul:nth-child(1){
	top:0;
}
#base .footer .contact .pc_only ul:nth-child(2){
	bottom:0;
}

#base .footer .contact .pc_only ul li{
	position:absolute;
	left:0;
}
#base .footer .contact .pc_only ul:nth-child(1) li{
	top:0;
}
#base .footer .contact .pc_only ul:nth-child(2) li{
	bottom:0;
}
#base .footer .contact .pc_only ul:nth-child(1) li:nth-child(2){
	left:1698px;
}
#base .footer .contact .pc_only ul:nth-child(2) li:nth-child(2){
	left:1744px;
}
#base .footer .contact .pc_only ul:nth-child(1) li:nth-child(3){
	left:calc(1698px * 2);
}
#base .footer .contact .pc_only ul:nth-child(2) li:nth-child(3){
	left:calc(1744px * 2);
}

#base .footer .contact .pc_only ul li img{
	width:auto;
	height:108px;
	height:114px;
	display:none;
}
#base .footer .contact.act .pc_only ul li img{
	display:block;
}

@keyframes contact_anime1 {
0% {
	left: 0;
}

100% {
	left:-1698px;
}
}
@keyframes contact_anime2 {
0% {
	left: 0;
}

100% {
	left:-1744px;
}
}

@media all and (max-width: 767px){
#base .footer{
}

#base .footer .subnavi,
#base .spheader .subnavi{
	left:20px;
	bottom:30px;
}

#base .footer .subnavi .navi1 li,
#base .spheader .subnavi .navi1 li{
	font-size: 1.2em;
}

#base .footer .subnavi .navi2,
#base .spheader .subnavi .navi2{
	font-size: 1.1em;
	margin-top:17px;
}


#base .footer .copyright,
#base .spheader .copyright{
	font-size: 1.1em;
	transform: scale(0.818181);
	transform-origin: 100% 100%;
	right:20px;
	bottom:30px;
}

#base .footer .contact{
	height:calc(72px * 4);
}

#base .footer .contact .sp_only ul{
	position:absolute;
	left:0;
	animation-timing-function:linear;
	animation-iteration-count: infinite;
}

#base .footer .contact.act .sp_only ul:nth-child(1){ animation-name: contact_anime_sp1; animation-duration: 18.57s; }
#base .footer .contact.act .sp_only ul:nth-child(2){ animation-name: contact_anime_sp2; animation-duration: 13.59s; }
#base .footer .contact.act .sp_only ul:nth-child(3){ animation-name: contact_anime_sp3; animation-duration: 14.88s; }
#base .footer .contact.act .sp_only ul:nth-child(4){ animation-name: contact_anime_sp4; animation-duration: 18.30s; }

#base .footer .contact .sp_only ul:nth-child(1){
	top:0;
}
#base .footer .contact .sp_only ul:nth-child(2){
	top:72px;
}
#base .footer .contact .sp_only ul:nth-child(3){
	bottom:72px;
}
#base .footer .contact .sp_only ul:nth-child(4){
	bottom:0;
}

#base .footer .contact .sp_only ul li{
	position:absolute;
	left:0;
}
#base .footer .contact .sp_only ul:nth-child(1) li,
#base .footer .contact .sp_only ul:nth-child(2) li{
	top:0;
}
#base .footer .contact .sp_only ul:nth-child(3) li,
#base .footer .contact .sp_only ul:nth-child(4) li{
	bottom:0;
}
#base .footer .contact .sp_only ul:nth-child(1) li:nth-child(2){ left:619px; }
#base .footer .contact .sp_only ul:nth-child(2) li:nth-child(2){ left:453px; }
#base .footer .contact .sp_only ul:nth-child(3) li:nth-child(2){ left:496px; }
#base .footer .contact .sp_only ul:nth-child(4) li:nth-child(2){ left:610px; }

#base .footer .contact .sp_only ul:nth-child(1) li:nth-child(3){ left:calc(619px * 2); }
#base .footer .contact .sp_only ul:nth-child(2) li:nth-child(3){ left:calc(453px * 2); }
#base .footer .contact .sp_only ul:nth-child(3) li:nth-child(3){ left:calc(496px * 2); }
#base .footer .contact .sp_only ul:nth-child(4) li:nth-child(3){ left:calc(610px * 2); }

#base .footer .contact .sp_only ul li img{
	width:auto;
	height:72px;
	display:none;
}
#base .footer .contact.act .sp_only ul li img{
	display:block;
}
}

@keyframes contact_anime_sp1{
0% {
	left: 0;
}

100% {
	left:-619px;
}
}

@keyframes contact_anime_sp2{
0% {
	left: 0;
}

100% {
	left:-453px;
}
}

@keyframes contact_anime_sp3{
0% {
	left: 0;
}

100% {
	left:-496px;
}
}

@keyframes contact_anime_sp4{
0% {
	left: 0;
}

100% {
	left:-610px;
}
}

/* Client logos: keep current card size/background, auto-wrap grid */
#base .service2 .cont .ctg.wide .sub ul.client-logo-grid{
	display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 160px));
    width: 100%;
    background: #ffffff;
    padding: 24px;
    box-sizing: border-box;
    justify-content: center;
}
#base .service2 .cont .ctg.wide .sub ul.client-logo-grid li,
#base .service2 .cont .ctg.wide .sub ul.client-logo-grid li:nth-last-child(1){
	display:block;
	padding-right:0;
	padding-bottom:0;
}
#base .service2 .cont .ctg.wide .sub ul.client-logo-grid li .licont{
	display:flex;
	justify-content:flex-start;
}
#base .service2 .cont .ctg.wide .sub ul.client-logo-grid li .pht{
	align-items:center;
	justify-content:center;
	margin:0;
}

@media all and (max-width: 767px){
	#base .service2 .cont .ctg.wide .sub ul.client-logo-grid{
		grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));
		padding:14px;
	}
	#base .service2 .cont .ctg.wide .sub ul.client-logo-grid li,
	#base .service2 .cont .ctg.wide .sub ul.client-logo-grid li:nth-last-child(1){
		padding-bottom:0;
	}
}

/* Client logos slider */
#base .service2 .cont .ctg.wide .sub .client-logo-slider{
	width: 100%;
	background: #ffffff;
	padding: 24px;
	box-sizing: border-box;
	overflow: hidden;
}
#base .service2 .cont .ctg.wide .sub .client-logo-slider__row{
	width: 100%;
	overflow: hidden;
}
#base .service2 .cont .ctg.wide .sub .client-logo-slider__row.is-sp-only{
	display: none;
}
#base .service2 .cont .ctg.wide .sub .client-logo-track{
	display: flex;
	align-items: center;
	gap: 20px;
	width: max-content;
	animation: client-logo-slide 46s linear infinite;
}
#base .service2 .cont .ctg.wide .sub .client-logo-slider__row.is-reverse .client-logo-track{
	animation-direction: reverse;
}
#base .service2 .cont .ctg.wide .sub .client-logo-track li,
#base .service2 .cont .ctg.wide .sub .client-logo-track li:nth-last-child(1){
	padding: 0;
	flex: 0 0 auto;
}
#base .service2 .cont .ctg.wide .sub .client-logo-track li .licont{
	display: flex;
}
#base .service2 .cont .ctg.wide .sub .client-logo-track li .pht{
    width: 200px;
    height: 130px;
	background-color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
}
#base .service2 .cont .ctg.wide .sub .client-logo-track li .pht img{
    width: 130%;
    height: auto;
	object-fit: cover;
	background-color: #ffffff;
}

@keyframes client-logo-slide{
	0%{
		transform: translateX(0);
	}
	100%{
		transform: translateX(-50%);
	}
}

@media all and (max-width: 767px){
	#base .service2 .cont .ctg.wide .sub .client-logo-slider{
		padding: 32px 0;
	}
	#base .service2 .cont .ctg.wide .sub .client-logo-slider__row.is-sp-only{
		display: block;
	}
	#base .service2 .cont .ctg.wide .sub .client-logo-slider__row + .client-logo-slider__row{
		margin-top: 12px;
	}
	#base .service2 .cont .ctg.wide .sub .client-logo-track{
		gap: 12px;
		animation-duration: 34s;
	}
	#base .service2 .cont .ctg.wide .sub .client-logo-track li .pht{
        width: 130px;
        height: 60px;
	}
}