@charset "utf-8";

/* HOME CSS
------------------------------------------ */
#home .logo-home {
	width: 300px;
	height: 65px;
	top: 0;
	left: 0;
	position: relative;
}

#home .logo-home .logoarea #vj-logo-full {
	width: 300px;
	height: 65px;
}

#home.is-loaded .site-header .logo-home .t-cname {
	opacity: 1;
	visibility: visible;
	font-size: 1.2rem;
	color: #777;
	transition: all ease 0.5s;
	position: absolute;
	left: 65px;
	bottom: 4px;
	letter-spacing: 0.25em;
	display: block;
	width: calc(100% - 80px);
	text-align: center;
	transform: scale(1, 1);
	transform-origin: left bottom;
}

#home .site-header .logo-home .t-cname,
#home.is-loaded .site-header.fixed-header .logo-home .t-cname {
	opacity: 0;
	visibility: hidden;
	transform: scale(0, 0);
}

#home .site-header.fixed-header .logoarea {
	left: 10px;
	top: 0;
	padding-top: 10px;
}

#home .site-header.fixed-header .logoarea #vj-logo-full {
	width: 160px;
	height: 39px;
}

@media (min-width: 992px) {
	#home.fixed .site-header .logoarea #vj-logo-full {
		height: 120px;
		width: 225px;
	}

	#home.fixed .site-header .logo-home .t-cname {
		opacity: 0;
		visibility: hidden;
		transform: scale(0, 0);
	}
}

@media (max-width: 1100px) {
	#home .logo-home .logoarea #vj-logo-full {
		width: 250px;
	}

	#home.is-loaded .site-header .logo-home .t-cname {
		left: 50px;
		bottom: 8px;
		width: calc(100% - 50px);
	}

	#home .logo-home .logoarea {
		top: 15px;
		left: 5%;
	}

	#home.fixed .site-header .logoarea {
		top: 45%;
		left: 0;
		width: 27%;
	}

}

@media (max-width: 991px) {
	#home.fixed .logo-home .logoarea {
		top: 15px;
		left: 3%;
	}

	#home.fixed .logo-home .logoarea #vj-logo-full {
		width: 225px;
		height: 55px;
	}

	#home.fixed .site-header .logo-home .t-cname {
		opacity: 0;
		visibility: hidden;
		transform: scale(0, 0);
	}
}

@media (max-width: 768px) {
	#home .logo-home .logoarea #vj-logo-full {
		width: 225px;
		height: 55px;
	}

	#home.is-loaded .site-header .logo-home .t-cname {
		width: calc(100% - 35px);
		left: 40px;
		bottom: 4px;
		letter-spacing: 0.18em;
		font-size: 1.15rem;
	}
}

@media (max-width: 480px) {

	#home .logo-home {
		width: 240px;
	}

	#home .logo-home .logoarea {
		left: 5%;
		top: 12px;
	}

	#home .logo-home .logoarea #vj-logo-full {
		width: 200px;
		height: 49px;
		transform-origin: left top;
	}

	#home .site-header.fixed-header .logoarea #vj-logo-full {
		width: 160px;
		height: 39px;
	}

	#home.is-loaded .site-header .logo-home .t-cname {
		left: 35px;
		letter-spacing: 0.1em;
		font-size: 1.13rem;
		width: calc(100% - 30px);
	}
}

/* bg-canvas --------------------*/
#bg-canvas {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 150vh;
	overflow: hidden;
}

#bg-canvas::before {
	content: '';
	position: absolute;
	top: 0;
	/*background-color: rgb(0, 0, 0,0.1);*/
	width: 100%;
	left: 0;
	height: 100%;
	background: url(../img/home/bg.jpg) no-repeat right top;
	opacity: 0.65;
	/*-webkit-filter: blur(4vw);
    filter: blur(4vw);*/
	transition: all 200ms cubic-bezier(0.0, 0.0, 0.2, 1);
}

#bg-canvas div {
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	display: inline-block;
	width: 6.5em;
	height: 6.5em;
	text-align: center;
	position: relative;
	z-index: 0;
	transition: all 1s cubic-bezier(0.0, 0.0, 0.2, 1);
	/* Solid Surface */
	float: right;
}

#bg-canvas div:nth-child(odd) {
	/*-webkit-transform: skewY(-3deg);
	        transform: skewY(-3deg);*/
	/*color: rgb(217, 213, 200);
	background: linear-gradient(-30deg, rgb(255, 255, 255), rgb(237, 236, 227));
	box-shadow: inset -1px 0 0px rgba(255, 255, 255, .3);*/
	background: linear-gradient(45deg, rgb(255, 255, 255), rgb(248, 248, 248));
	box-shadow: inset -10px 10px 35px rgba(0, 0, 0, .05);
	prospective: 1000px;
}

#bg-canvas div:nth-child(even) {
	/*-webkit-transform: skewY(3deg);
	        transform: skewY(3deg);*/
	/*color: #C5BEAA;
	background: linear-gradient(87deg, rgb(199, 198, 191), rgb(237, 236, 227));
	box-shadow: inset -1px 0 0px rgba(0, 0, 0, .05);*/
	background: linear-gradient(90deg, rgb(250, 250, 250), rgb(255, 255, 255));
	box-shadow: inset 15px 10px 25px rgba(0, 0, 0, 0.04);
	prospective: 1000px;
}

#bg-canvas div:nth-child(8),
#bg-canvas div:nth-child(14),
#bg-canvas div:nth-child(19),
#bg-canvas div:nth-child(23),
#bg-canvas div:nth-child(26) {
	float: right;
	clear: both;
}

#bg-canvas div:nth-child(28) {
	clear: both;
}

#bg-canvas div:nth-child(14),
#bg-canvas div:nth-child(16),
#bg-canvas div:nth-child(18),
#bg-canvas div:nth-child(20),
#bg-canvas div:nth-child(22),
#bg-canvas div:nth-child(28) {
	background: linear-gradient(45deg, rgb(255, 255, 255), rgb(248, 248, 248));
	box-shadow: inset -10px 10px 35px rgba(0, 0, 0, .05);
}

#bg-canvas div:nth-child(15),
#bg-canvas div:nth-child(17),
#bg-canvas div:nth-child(19),
#bg-canvas div:nth-child(21) {
	background: linear-gradient(90deg, rgb(250, 250, 250), rgb(255, 255, 255));
	box-shadow: inset 15px 10px 25px rgba(0, 0, 0, 0.04);
}


#bg-canvas div.anim-pulse {
	background: #00ccff;
	overflow: hidden;
}

#bg-canvas div.anim-pulse01 {
	background: #a2d800;
	overflow: hidden;
}

#bg-canvas div.anim-pulse02 {
	background: #ffbb00;
	overflow: hidden;
}

#bg-canvas div.anim-pulse::before,
#bg-canvas div.anim-pulse01::before,
#bg-canvas div.anim-pulse02::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, rgb(250, 250, 250), rgb(255, 255, 255));
	box-shadow: inset 15px 10px 25px rgba(0, 0, 0, 0.04);
	animation: pulse 7s infinite ease;
	-webkit-animation: pulse 7s infinite ease;
	animation-fill-mode: backwards;
}

#bg-canvas div.anim-pulse01::before {
	animation-delay: 3s;
}

#bg-canvas div.anim-pulse02::before {
	animation-delay: 5.5s;
}

@-webkit-keyframes pulse {

	0,
	100% {
		transform: rotateY(0deg);
	}

	5% {
		transform: rotateY(180deg);
	}

	10% {
		transform: rotateY(180deg);
	}

	15% {
		transform: rotateY(180deg);
	}

	20% {
		transform: rotateY(0deg);
	}
}

@keyframes pulse {

	0,
	100% {
		transform: rotateY(0deg);
	}

	5% {
		transform: rotateY(180deg);
	}

	10% {
		transform: rotateY(180deg);
	}

	15% {
		transform: rotateY(180deg);
	}

	20% {
		transform: rotateY(0deg);
	}
}

/*@-webkit-keyframes pulse {
	0,100% { transform: translate(0,101%) scale(0,1); opacity: 0;}
	5%{ transform: translate(0,101%) scale(1,1);opacity: 1;}
	10%{ transform: translate(0,0); opacity: 1;}
	15%{ transform: translate(0,0); opacity: 0;}
	20%{ transform: translate(0,0); opacity: 1;}
	65%{ transform: translate(0,0); opacity: 1;}
	70%{ transform: translate(0,-101%); opacity: 1;}
	71%{ transform: translate(0,-101%); opacity: 0;}
	72%{ transform: translate(0,101%); opacity: 0;}
}

@keyframes pulse {
	0,100% { transform: translate(0,101%) scale(0,1); opacity: 0;}
	5%{ transform: translate(0,101%) scale(1,1);opacity: 1;}
	10%{ transform: translate(0,0); opacity: 1;}
	15%{ transform: translate(0,0); opacity: 0;}
	20%{ transform: translate(0,0); opacity: 1;}
	65%{ transform: translate(0,0); opacity: 1;}
	70%{ transform: translate(0,-101%); opacity: 1;}
	71%{ transform: translate(0,-101%); opacity: 0;}
	72%{ transform: translate(0,101%); opacity: 0;}
}*/

@media (max-width: 991px) {
	#bg-canvas div {
		width: 5.5em;
		height: 5.5em;
	}

	#bg-canvas::before {
		background-position: 30% top;
	}
}

@media (max-width: 768px) {
	#bg-canvas div {
		width: 4.2em;
		height: 4.2em;
	}

	#bg-canvas::before {
		background-position: 40% top;
	}
}

@media (max-width: 480px) {
	#bg-canvas div {
		width: 2.7em;
		height: 2.7em;
	}

	#bg-canvas::before {
		background-position: 18% top;
	}
}

/* mainstage -------------------*/
#mainstage {
	display: table;
	width: 100%;
	min-height: 560px;
	padding-bottom: 50px;
}

#mainstage,
#mainstage #typer,
.type-wrap {
	height: auto;
}

#home #typed {
	opacity: 0;
}

/*#home.is-loaded #typed {
	opacity: 1;
}*/

#home.is-ready #typed {
	opacity: 1;
}

#mainstage #typer,
.type-wrap {
	display: table-cell;
	width: 100%;
	vertical-align: middle;
	font-family: 'Roboto Slab', serif;
	color: #333333;
	line-height: 1.1;
	padding: 155px 5% 0 5%;
	box-sizing: border-box;
	font-size: 8.15vw;
	font-weight: 400;
}

#typed {
	white-space: pre;
	letter-spacing: 0;
	/*top: 50%;
    position: absolute;
    transform: translateY(-50%);*/
}

.typed-cursor {
	opacity: 1;
	font-weight: 100;
	-webkit-animation: blink 0.7s infinite;
	animation: blink 0.7s infinite;
	font-size: 8.15vw;
	font-family: 'Roboto Slab', serif;
	font-weight: 400;
	line-height: 1.1;
	/*top: 50%;
  position: absolute;
  transform: translateY(-50%);
  display: none !important;*/
}

@keyframes blink {
	0% {
		opacity: 1;
	}

	50% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@-webkit-keyframes blink {
	0% {
		opacity: 1;
	}

	50% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@-moz-keyframes blink {
	0% {
		opacity: 1;
	}

	50% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}


.typed-fade-out {
	opacity: 0;
	animation: 0;
	transition: opacity .25s;
}

@media (max-width: 991px) {

	#mainstage {
		min-height: 400px;
		height: 400px;
	}

	#mainstage #typer,
	.type-wrap {
		padding-top: 120px;
	}

	#sec-01 .l-ttl.pt60 {
		padding-top: 0;
	}
}

@media (max-width: 768px) {
	#mainstage {
		padding-bottom: 0;
		min-height: 380px;
		height: 380px;
	}

	#mainstage #typer,
	.type-wrap {
		padding-top: 0;
	}
}

@media (max-width: 480px) {
	#mainstage {
		min-height: 235px;
		height: 235px;
	}

	#mainstage #typer,
	.type-wrap {
		padding-top: 60px;
	}
}


/* sec-02 works ------------------------------------------- */
.sbox-pickup {
	position: relative;
	background: #333;
	z-index: 1;
}

.sbox-pickup>a {
	display: flex;
	align-items: center;
	height: 100%;
	position: relative;
}

.sbox-pickup .col-winfo,
.sbox-pickup .col-thumb {
	width: 50%;
	position: relative;
}

.works-block .mttl {
	/*color: #88c701;*/
	font-weight: 300;
	font-family: 'Noto Sans JP', sans-serif;
	position: relative;
	display: inline-block;
	padding-left: 6%;
	padding-right: 6%;
}

.works-block .mttl::before,
.works-block .mttl::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateX(-50%);
	background: rgba(0, 0, 0, 0.3);
	width: 20px;
	height: 2px;
}

.works-block .mttl::before {
	left: 0;
}

.works-block .mttl::after {
	right: 0;
}

@media (max-width: 480px) {
	.works-block .mttl {
		font-size: 2.7rem;
	}
}

.works-block.web-wroks {}

.works-block.web-wroks .sbox-work {
	position: relative;
}

.works-block.web-wroks .sbox-work>a {
	padding-bottom: 75px;
}

/* visit the Website */
.works-block.web-wroks .to-site {
	display: block;
	width: calc(100% - 54px);
	position: absolute;
	left: 27px;
	bottom: 27px;
}

.works-block.web-wroks .btn-site {
	display: block;
	width: 100%;
	padding: 0 15px;
	background-color: #fff;
	color: #b0b0b0;
	font-size: 1.7rem;
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	line-height: 40px;
	letter-spacing: 0.008em;
	white-space: nowrap;
	border-style: solid;
	border-width: 0 0 1px 0;
	border-color: #b0b0b0;
	position: relative;
	/*    transition: all ease 0.28s;*/
}

.works-block.web-wroks .btn-site .adjust {
	color: inherit;
	font-weight: inherit;
}

.works-block.web-wroks .btn-site:before {
	content: "";
	display: block;
	width: 0;
	height: 1px;
	background-color: currentColor;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
	transition: width ease 0.28s;
}

.works-block.web-wroks .btn-site:hover {
	color: #00b4e1;
	border-color: #00b4e1;
}

.works-block.web-wroks .btn-site:hover:before {
	width: 100%;
	background-color: #00b4e1;
}

.works-block.web-wroks .btn-site .arrow-blank {
	position: absolute;
	right: 20px;
	top: 50%;
	margin-top: -3px;
}

.works-block.web-wroks .btn-site .arrow-blank {
	border-color: #b0b0b0;
}

.works-block.web-wroks .btn-site .arrow-blank:before,
.works-block.web-wroks .btn-site .arrow-blank:after {
	background-color: #b0b0b0;
}

.works-block.web-wroks .btn-site:hover .arrow-blank {
	border-color: #00b4e1;
}

.works-block.web-wroks .btn-site:hover .arrow-blank:before,
.works-block.web-wroks .btn-site:hover .arrow-blank:after {
	background-color: #00b4e1;
}

@media (max-width: 1199px) {
	.works-block.web-wroks .to-site {
		width: calc(100% - 40px);
		left: 20px;
	}
}

@media (max-width: 767px) {
	.works-block.web-wroks .btn-site {
		font-size: 1.4rem;
		/*letter-spacing: 0.3em;*/
	}

	.works-block.web-wroks .btn-site .arrow-blank {
		right: 10px;
	}
}

@media (max-width: 480px) {
	.works-block.web-wroks .to-site {
		width: calc(100% - 20px);
		left: 10px;
	}

	.works-block.web-wroks .btn-site {
		padding: 0 5px;
	}

	.works-block.web-wroks .btn-site .arrow-blank {
		right: 15px;
	}

	.works-block.web-wroks .btn-site .adjust {
		display: none;
	}
}


.works-block.graphic-wroks {}

.works-block.graphic-wroks .btn {
	margin: 0 10px;
}

@media (max-width: 1023px) {
	.works-block.graphic-wroks .btn {
		margin: 5px;
	}

	.works-block.graphic-wroks .btn:first-child {
		margin-bottom: 12px;
	}
}


.workslist .sbox-pickup:nth-child(even) a {
	flex-direction: row-reverse;
}

.workslist .sbox-pickup a::after {
	content: "";
	width: 0;
	height: 0;
	display: block;
	position: absolute;
	border-top: 17px solid transparent;
	border-bottom: 17px solid transparent;
	left: 50%;
	top: 50%;
	z-index: +1;
}

.workslist .sbox-pickup:nth-child(even) a::after {
	border-left: 17px solid #333333;
	transform: translate(0, -50%);
}

.workslist .sbox-pickup:nth-child(odd) a::after {
	border-right: 17px solid #333333;
	transform: translate(-100%, -50%);
}

.sbox-pickup .col-thumb img {
	display: block;
	width: 100%;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
}

.sbox-pickup .col-winfo {
	text-align: center;
}

.sbox-pickup .col-winfo .inner-winfo {
	padding-left: 5%;
	padding-right: 5%;
	padding-bottom: 140px;
	/*padding-top: 30px;*/
	position: relative;
	box-sizing: border-box;
	height: 100%;
	/*transform: translateY(50%);*/
}

.sbox-pickup .col-winfo .inner-winfo:after {
	position: absolute;
	content: "+ DETAIL";
	font-size: 1.2rem;
	letter-spacing: 0.35em;
	color: #fff;
	background: rgba(0, 0, 0, 0.75);
	width: auto;
	display: inline-table;
	padding: 10px 30px;
	font-family: Arial, Helvetica, sans-serif;
	z-index: +1;
	left: 50%;
	transform: translateX(-50%);
	bottom: 15px;
}

.sbox-pickup .col-winfo .inner-winfo .slogo {
	/*margin-bottom: 20px;*/
}

.sbox-pickup .col-winfo .inner-winfo .slogo img {
	width: 45%;
}

.sbox-pickup .col-winfo .inner-winfo .sttl {
	color: #fff;
	font-weight: 500;
	margin-bottom: 20px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
}

.sbox-pickup .col-winfo .inner-winfo .stxt>span {
	color: #a2a1a1;
}

.sbox-pickup .col-winfo .inner-winfo .stxt .stxt-area {
	font-size: 1.35rem;
	display: block;
	line-height: 1.5;
}

.sbox-pickup .col-winfo .inner-winfo .stxt .stxt-wtxt {
	font-size: 1.6rem;
}

.sbox-pickup .col-winfo .inner-winfo .stxt-tag {
	text-align: center;
	position: absolute;
	bottom: 90px;
	left: 0;
	right: 0;
}

.sbox-pickup .col-winfo .inner-winfo .stxt-tag>span {
	display: inline-block;
	padding-right: 6px;
	position: relative;
	color: #fff;
	font-size: 1.5rem;
}

@media (max-width: 991px) {
	.sbox-pickup .col-winfo .inner-winfo {
		padding-bottom: 90px;
		padding-top: 0;
	}

	.sbox-pickup .col-winfo .inner-winfo .slogo {
		/*margin-bottom: 5px;*/
	}

	.sbox-pickup .col-winfo .inner-winfo .slogo img {
		width: 160px;
	}

	.sbox-pickup .col-winfo .inner-winfo .sttl {
		font-size: 1.6rem;
		margin-bottom: 0;
	}

	.sbox-pickup .col-winfo .inner-winfo .stxt {
		line-height: 1.6;
		padding-bottom: 20px;
	}

	.sbox-pickup .col-winfo .inner-winfo .stxt-tag {
		line-height: 1.5;
		bottom: 60px;
	}

	.sbox-pickup .col-winfo .inner-winfo .stxt-tag>span {
		font-size: 1.4rem;
	}

	.sbox-pickup .col-winfo .inner-winfo:after {
		bottom: 0;
		padding: 5px 30px;
	}

}

@media (max-width: 768px) {

	.workslist .sbox-pickup::after,
	.workslist .sbox-pickup:nth-child(even)::after,
	.workslist .sbox-pickup:nth-child(odd)::after {
		bottom: 30%;
		left: 50%;
	}

	.sbox-pickup>a {
		flex-direction: column;
		align-items: flex-start;
	}

	.sbox-pickup .col-winfo .inner-winfo .slogo img {
		width: 210px;
	}

	.workslist .sbox-pickup:nth-child(even) a {
		flex-direction: column;
	}

	.sbox-pickup .col-thumb,
	.sbox-pickup .col-winfo {
		width: 100%;
		position: relative;
		z-index: 1;
	}

	.sbox-pickup .col-winfo {
		padding-top: 20px;
		padding-bottom: 40px;
		box-sizing: border-box;
	}

	.workslist .sbox-pickup a::after {
		content: none;
	}

	.sbox-pickup .col-thumb::after {
		content: "";
		width: 0;
		height: 0;
		display: block;
		position: absolute;
		border-left: 17px solid transparent;
		border-right: 17px solid transparent;
		left: 50%;
		transform: translateX(-50%);
		z-index: +1;
		border-bottom: 17px solid #333;
		bottom: 0;
	}

	.sbox-pickup .col-winfo .inner-winfo {
		padding-bottom: 70px;
		padding-top: 0;
	}

	.sbox-pickup .col-winfo .inner-winfo .stxt {
		padding-bottom: 15px;
	}

	.sbox-pickup .col-winfo .inner-winfo .stxt-tag {
		position: relative;
		bottom: 0;
	}

	.sbox-pickup .col-winfo .inner-winfo:after {
		bottom: 0;
	}
}

@media (max-width: 480px) {
	.sbox-pickup .col-winfo .inner-winfo .slogo img {
		width: 200px;
	}

	.sbox-pickup .col-winfo .inner-winfo .sttl {
		font-size: 1.4rem;
		margin-bottom: 7px;
	}
}


/* SERVICE -------------------------------------*/
.box-service .lttl-service {
	text-align: center;
}

.box-service .lttl-service .n-srvc {
	font-family: 'Teko', sans-serif;
	color: #000;
	font-weight: 700;
	margin-bottom: 10px;
	display: block;
	text-align: center;
	font-size: 2.0rem;
	line-height: 0.85;
}

.box-service .lttl-service .i-srvc {
	display: block;
	height: 75px;
	position: relative;
}

.box-service .lttl-service .i-srvc>img {
	min-width: 80px;
	max-height: 100%;
	min-height: 90%;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
}

.box-service .lttl-service .mttl-srvc,
.box-service .lttl-service .mttl-srvc>span {
	margin-bottom: 10px;
	font-family: 'Noto Sans JP', sans-serif;
	color: #333;
	white-space: nowrap;
	font-weight: 300;
}

.box-service .lttl-service .stxt-tag {
	background: #333;
	padding: 8px 10px;
}

.service01 {
	display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.service01 .col-l {
	width: 45%;
}

.service01 .col-r {
	width: 50%;
	margin-left: auto;
	position: relative;
}

.service01 .col-r .col-img {
	position: relative;
	width: 100%;
	height: 100%;
}

.service01 .col-r .col-img img {
	transition: all 1s ease-in-out;
}

.service01 .col-r .col-img .spimg1 {
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	width: 606px;
	z-index: 2;
}

.service01 .col-r .col-img .spimg2 {
	position: absolute;
	right: 0;
	top: 0;
	display: block;
	width: 310px;
	z-index: 1;
	transition: all 1.5s ease-in-out;
}

.service01 .col-r .col-img.active .spimg1 {
	transform: translateY(-5%);
}

.service01 .col-r .col-img.active .spimg2 {
	transform: translateY(15%) scale(0.9, 0.9);
	transision-delay: 0.25s;
}

.row .box-service {
	width: 50%;
}

.row .box-service:nth-child(odd) {
	padding-right: 3.5%;
}

.row .box-service:nth-child(even) {
	padding-left: 3.5%;
}

#sec-03 .row {
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	margin-left: 0;
	margin-right: 0;
}

#sec-03 .row:last-child {
	border-bottom: none;
}

.list-srvcshop {
	display: flex;
	flex-wrap: wrap;
	gap: 0 1vw;
	align-items: center;
	width: 100%;
}
.list-srvcshop > * {
  flex: 1 1 0;
  min-width: 100px;
  text-align: center;
}

.list-srvcshop li.i-futureshop img {
	width: 160px;
}
.list-srvcshop li.i-xserver {
	flex: inherit;
}
.list-srvcshop li.i-xserver img {
	width: 150px;
}

@media (max-width: 1250px) {
	.row .box-service:nth-child(odd) {
		padding-right: 3%;
	}

	.row .box-service:nth-child(even) {
		padding-left: 3%;
	}
}

@media (max-width: 1199px) {
	.service01 {
		display: block;
	}

	.service01 .col-l,
	.service01 .col-r {
		width: 100%;
	}

	.service01 .col-r .col-img .spimg1 {
		position: relative;
		padding-top: 80px;
		bottom: -50px;
	}

}

@media (max-width: 991px) {
	.service01 {
		flex-direction: column;
	}

	.service01 .col-l {
		width: 100%;
	}

	#sec-03 .row {
		border-bottom: none;
		flex-direction: column;
	}

	.box-service {
		border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	}

	.row .box-service {
		width: 100%;
	}

	.row .box-service:nth-child(odd) {
		padding-right: 0;
	}

	.row .box-service:nth-child(even) {
		padding-left: 0;
	}

	.list-srvcshop {
		margin: 0 auto;
		width: auto;
	}
}

@media (max-width: 768px) {
	.service01 .col-r {
		padding-top: 30px;

	}

	.service01 .col-r .col-img .spimg1 {
		padding-top: 100px;
		width: 80%;
		left: 5%;
	}

	.service01 .col-r .col-img .spimg2 {
		width: 45%;
		right: 3%;
	}
}

@media (max-width: 480px) {
	.box-service .lttl-service .i-srvc {
		height: 65px;
	}

	.box-service .lttl-service .i-srvc>img {
		width: 75px;
		min-width: auto;
	}

	.list-srvcshop {
		width: 100%;
		letter-spacing: 0;
		gap: 5px 1vw;
	}

	.list-srvcshop li {
		width: calc(50% - 0.5vw);
		text-align: center;
	}

	.service01 .col-r {
		padding-top: 20px;

	}

	.service01 .col-r .col-img .spimg1 {
		padding-top: 80px;
		width: 90%;
	}

}

@media (max-width: 380px) {
	.box-service.service04 .lttl-service .mttl-srvc {
		font-size: 2.6rem;
	}

	.box-service.service06 .lttl-service .mttl-srvc {
		font-size: 2.35rem;
	}
}


/* photogallery */
.photogallery {
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
}

.photogallery .photo-list {
	overflow: hidden;
	position: relative;
	aspect-ratio: 4 / 3;
	width: 200px;
	flex: 0 0 auto;
}

/* img */
.photogallery .photo-list img {
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	transition: transform ease 0.28s;
	object-fit: contain;
}

.is-loaded .photogallery .photo-list img {
	opacity: 1;
	visibility: visible;
}

.photogallery .photo-list:hover img {
	transform: scale(1.1);
}

@media (max-width: 767px) {
	/*.photogallery .photo-list img {
		height: 200px;	/* ギャラリーの高さ */
	/*}*/
}

@media (max-width: 480px) {
	.photogallery .photo-list {
		width: 150px;
	}
}

/* sponsor scroll */
.sec-sponsor {
	position: relative;
}
.sec-sponsor .scroll-content {
	position: absolute;
	top: 0;
	z-index: -1;
}
.scroll-content {
	position: relative;
	overflow: hidden;
	width: 100%;
	white-space: nowrap;
}

.scroll-content .inner {
	display: inline-flex;
	align-items: center;
	width: max-content;
	animation: sponsorMarquee 45s linear infinite;
	will-change: transform;
}

.scroll-content .sbox-scroll {
	flex: 0 0 auto;
	padding-right: 0.7em;
	font-family: 'Roboto Slab', serif;
	font-weight: 400;
	background: linear-gradient(to right, #99CC00 0%, #00B4E1 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	opacity: 0.25;
}


@keyframes sponsorMarquee {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

@media (max-width: 767px) {
	.scroll-content .inner {
		animation-duration: 32s;
	}
}

/* list-spsrbanner */
.list-spsrbanner {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5vw;
	justify-content: center;
}

.list-spsrbanner .bnr-spsr {
	max-width: 280px;
}

.list-spsrbanner .bnr-spsr a {
	display: block;
	aspect-ratio: 280 / 100;
	width: 100%;
}

.list-spsrbanner .bnr-spsr a img {
	width: 100%;
}
@media(max-width: 767px) {
	.list-spsrbanner {
		gap: 1vw;
	}
	.list-spsrbanner .bnr-spsr {
		max-width: calc(50% - 0.5vw);
	}
}