@charset "utf-8";

/* HOME
-------------------------------------------------------------------*/
.home .mv{
	position:relative;
	height:900px;
	background:url(../img/top/mv.jpg) no-repeat center center;
	background-size:cover;
}

.home .mv .box{
	position:relative;
	max-width:1366px;
	width:100%;
	height:100%;
	margin:0 auto;
}

.home .mv h1{
	position:absolute;
	left:0;
	bottom:40px;
}

@media screen and (max-width: 1300px) {
.home .mv h1{
	bottom:100px;
}
}

.home .mv .logo{
	position:absolute;
	right:0;
	bottom:0;
}

.top-service{
	padding:100px 20px;
}

.top-service .txt-box{
    max-width:530px;
	width:530px;
}

.top-service h2{
	font-family: "Inter", sans-serif;
	font-weight: 900;
	font-style:italic;
	color:#E3F6FD;
	font-size:120px;
	line-height:1.2em;
}

.top-service .m-txt {
    font-size: 40px;
    line-height: 1.4em;
    font-weight: 700;
    padding: 0 0 50px 0;
}

.top-service .txt {
    line-height: 1.8em;
    padding: 0 0 50px 0;
}

.top-service .img-box{
	position:absolute;
	right:-100px;
	top:100px;
}

.top-service .img-box .img{
	position:relative;
}

.top-service .img-box .img .circle01{
	position:absolute;
	z-index:2;
	top:50px;
	left:35px;
}

.top-service .img-box .img .circle02{
	position:absolute;
	z-index:2;
	top:240px;
	right:70px;
}

.top-service .img-box .img .circle03{
	position:absolute;
	z-index:2;
	top:292px;
	left:-32px;
}

.tit-txt{
	font-size:48px;
	font-weight:700;
	line-height:1.2em;
}

.tit-txt > span{
	font-family: "Inter", sans-serif;
	font-style:italic;
	color:#00AAEA;
	font-size:24px;
	font-weight:900;
	display:block;
	margin:0 0 -10px 0;
}

.top-corporation{
	padding:100px 20px 180px 20px;
	position:relative;
}

.top-corporation:after {
	content: "";
    position: absolute;
    bottom:-45px;
    left: 0;
    right: 0;
    height: 50px;
    background: linear-gradient(to right, #00aaea 0%, #00d67c 100%);
    transform: skewY(-15.5deg);
    z-index: -1;
}

.top-corporation:before{
	content: "";
    position: absolute;
    top:0;
    left: 0;
    right: 0;
    height: 100%;
    background: #F5F9FF;
    transform: skewY(-15.5deg);
    z-index: -1;
}

.top-corporation .txtbox{
	width:520px;
	padding:190px 0 0 0;
}

.top-corporation .txtbox .txt{
	padding:30px 0 50px 0;
	line-height:2em;
}

.top-corporation .m-txt {
    font-size: 40px;
    line-height: 1.4em;
    font-weight: 700;
    padding: 50px 0 0 0;
}

.m-btn a{
	font-size:14px;
	display:block;
	box-sizing:border-box;
	padding:0 0 0 30px;
	width:230px;
	border-radius:30px;
	line-height:60px;
	height:62px;
	border:1px solid #2984D8;
	background:url(../img/common/btn-off.png) no-repeat 90% center #fff;
	text-align:left;
}

.m-btn a:hover{
	border:1px solid #F5F5F5;
	background:url(../img/common/btn-on.png) no-repeat 90% center #F5F5F5;
}

.m-btn03 a{
	line-height:62px;
	height:62px;
	border:none;
	background:url(../img/common/btn-off.png) no-repeat 90% center #F5F5F5;
}

.m-btn03 a:hover{
	border:none;
	background:url(../img/common/btn-on.png) no-repeat 90% center #fff;
}

.top-corporation .img{
	position:absolute;
	left:50%;
	top:130px;
	padding:0 0 0 80px;
	box-sizing:border-box;
}

.top-works{
	padding:300px 20px 100px 20px;
	position:relative;
}

.top-works .box{
	position:relative;
}

.top-works .txtbox{
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	width:510px;
	margin:0 0 30px 0;
}

.top-works .works-slider{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}

.top-works .works-slider:after{
	content:"";
	display:block;
	width:320px;
}

.top-works .works-slider li{
	width:320px;
}

.top-works .works-slider .cate{
	padding:10px 0 0 0;
}

.top-works .works-slider .cate li{
	display:inline-block;
	width:auto;
	margin:10px 10px 0 0;
	background:#2984D8;
	border-radius:5px;
	color:#fff;
	padding:2px 15px;
	font-size:12px;
}

.top-works .works-slider li .img{
	height:293px;
}

.top-works .works-slider li .day{
	font-size:12px;
	padding:5px 0 0 0;
	font-weight:400;
}

.top-works .works-slider li h3{
	font-size:24px;
	font-weight:700;
	line-height:1.4em;
}

.home .message{
	padding:100px 20px 180px 20px;
	position:relative;
}

.home .message:before{
	content: "";
    position: absolute;
    top:0;
    left: 0;
    right: 0;
    height: 100%;
    background: #F5F9FF;
    transform: skewY(-15.5deg);
    z-index: -1;
}

.home .message .box{
	position:relative;
	margin:150px auto 0;
}

.home .message .box .img{
	position:absolute;
	left:50%;
	z-index:-1;
	top:-200px;
	width:100vw;
}

.home .message h2{
	color:#00AAEA;
	font-size:120px;
	line-height:1.2em;
	font-weight:900;
	font-style: italic;
}

.home .message .txt{
	font-size:40px;
	line-height:1.4em;
	font-weight:700;
	padding:0 0 50px 0;
}

.top-recruit{
	position:relative;
}

.top-recruit .bg{
	position:absolute;
	top:530px;
	width:100%;
	left:0;
	z-index:-1;
	height:2000px;
	background:#00AAEA;
	transform: skewY(-15.5deg);
}

.top-recruit .box{
	position:relative;
}

.top-recruit .box .img{
	width:50%;
	position:absolute;
	right:50%;
	top:0;
	text-align:right;
	min-width:668px;
}

.top-recruit .box .txtbox{
	width:50%;
	margin:0 0 0 50%;
	position:relative;
	color:#fff;
	box-sizing:border-box;
	padding:80px 20px 80px 60px;
	z-index:1;
}

.top-recruit .box .txtbox:after{
	content:"";
	width:1500px;
	height:480px;
	background: #00aaea;
	transform: skewY(-15.5deg);
	position:absolute;
	top:-35.5%;
	left:0;
	z-index:-1;
}


.top-recruit .box .txtbox h2{
	font-size:70px;
	font-weight:900;
	line-height:1.2em;
	font-style:italic;
}

.top-recruit .box .txtbox dl dt{
	font-size:42px;
	font-weight:700;
	line-height:1.4em;
}

.top-recruit .box .txtbox dl dd{
	font-size:20px;
	font-weight:700;
	line-height:1.6em;
	padding:10px 0 0 0;
}

.top-recruit .box .txtbox dl{
	padding:0 0 20px 0;
}

.home .border-box{
	position:relative;
	margin:65px 0 0 0;
	z-index:2;
	border-top:40px solid;
	border-image: linear-gradient(to right, #7f7fff, #7fff7f) 1;
	height:90px;
	background:#00AAEA;
	transform: skewY(-15.5deg);
	transition: all 0.3s;
}

.home footer{
	margin:200px 0 0 0;
}


@media screen and (max-width: 800px) {
.home .mv{
	height:auto;
	background:none;
}

.home .mv .box{
	position:relative;
	max-width:inherit;
}

.home .mv h1{
	bottom:8%;
	width:90%;
}
	
.top-service{
	padding:40px 20px 60px 20px;
}

.top-service .txt-box{
    max-width:inherit;
	width:100%;
}

.top-service h2{
	font-size:50px;
	display:flex;
	justify-content:flex-end;
}

.top-service .m-txt {
	font-size: clamp(18px, 6vw, 28px);
    padding: 0 0 30px 0;
}

.top-service .txt {
    padding: 0;
}

.top-service .img-box{
	position:static;
	width:220px;
	margin:0 auto;
	padding:40px 0 40px 0;
}

.top-service .img-box .img .circle01{
	top:30px;
	left:20px;
	width:114px;
}

.top-service .img-box .img .circle02{
	top: 100px;
	right: 30px;
	width:104px;
}

.top-service .img-box .img .circle03{
	top: 130px;
	left: 0;
	width: 110px;
}

.tit-txt{
	font-size:30px;
}

.tit-txt > span{
	font-size:18px;
	margin:0;
}

.top-corporation{
	padding:60px 20px 0 20px;
}
	
.top-corporation:after {
    height: 20px;
	bottom:-20px;
}

.top-corporation .txtbox{
	width:100%;
	padding:0;
}
	
.top-corporation .m-txt {
    font-size: clamp(18px, 6vw, 24px);
    padding: 20px 0 0 0;
}

.top-corporation .txtbox .txt{
	padding:20px 0 30px 0;
}

.m-btn a{
	font-size:13px;
	width:230px;
	line-height:50px;
	height:52px;
	padding:0;
	margin:0 auto;
	background: url(../img/common/sp/btn-off.png) no-repeat 90% center #fff;
	background-size:25px;
	text-align:center;
}

.m-btn a:hover{
	background: url(../img/common/sp/btn-on.png) no-repeat 90% center #fff;
	background-size:25px;
}
	
.m-btn03 a{
	line-height:52px;
	height:52px;
	background:url(../img/common/sp/btn-off.png) no-repeat 90% center #F5F5F5;
	background-size:25px;
}

.m-btn03 a:hover{
	background:url(../img/common/sp/btn-on.png) no-repeat 90% center #fff;
	background-size:25px;
}

.top-corporation .img{
	position:static;
	text-align:center;
	padding:40px 0 30px 0;
}

.top-works{
	padding:100px 20px 60px 20px;
}

.top-works .txtbox{
	display:block;
	width:100%;
}

.top-works .works-slider{
	display:block;
}

.top-works .works-slider:after{
	display:none;
}

.top-works .works-slider li{
	margin:0 0 30px 0;
	width:100%;
}

.top-works .works-slider .cate li{
	margin:10px 10px 0 0;
	padding:3px 13px;
	font-size:11px;
}

.top-works .works-slider li .img{
	height:auto;
}

.top-works .works-slider li .coverimg:before {
    padding-top: 95%;
}

.top-works .works-slider li h3{
	font-size:16px;
}

.home .message{
	padding:100px 20px 60px 20px;
}
	
.home .message .box {
    margin:0;
}

.home .message .box .img{
	position:static;
	width:100%;
	padding:0 0 20px 0;
}

.home .message h2{
	font-size:16vw;
}

.home .message .txt{
	font-size:5.2vw;
	padding:0 0 30px 0;
}

.top-recruit{
	padding:0;
	position:relative;
}

.top-recruit:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    background: #00AAEA;
    transform: skewY(-15.5deg);
    z-index: -1;
}	
	
.top-recruit .box .img{
	width:100%;
	position:static;
	text-align:center;
	min-width:inherit;
}

.top-recruit .box .txtbox{
	width:100%;
	margin:0;
	position:relative;
	padding:80px 20px 10px 20px;
	z-index:1;
	text-align:center;
}

.top-recruit .box .txtbox:after{
	display:none;
}

.top-recruit .box .txtbox h2{
	font-size:40px;
}

.top-recruit .box .txtbox dl dt{
	font-size:24px;
}

.top-recruit .box .txtbox dl dd{
	font-size:16px;
	display:inline-block;
	padding:10px 0 0 0;
	text-align:left;
}

.top-recruit .box .txtbox dl{
	padding:0 0 20px 0;
}

.home .border-box{
	margin:-15% 0 0 0;
	z-index:2;
	border-top:30px solid #98DCFA;
	height:90px;
}

.home footer{
	margin:0;
}
}

/* SERVICE
-------------------------------------------------------------------*/
.kaso-mv{
	height:420px;
	background:url(../img/service/mv-bg.jpg) no-repeat bottom center;
	background-size:cover;
	box-sizing:border-box;
	padding:175px 20px 0 20px;
	position:relative;
}

.kaso-mv .sokomade{
	position:absolute;
	right:0;
	left:0;
	top:335px;
	text-align:right;
	z-index:3;
}

.kaso-mv .box{
	position:relative;
}

.kaso-mv .txt{
	padding:20px 0 0 0;
	line-height:1.8em;
	text-shadow: 2px 3px 3px rgba(255, 255, 255, 0.4);
	font-weight:600;
}

.kaso-mv .ico{
	position:absolute;
	left:600px;
	top:0;
}

.kaso-page .txt-area{
	padding:20px 20px 200px 20px;
	text-align:center;
	position:relative;
	z-index:2;
}

.kaso-page .txt-area h2{
	color:#00AAEA;
	font-weight:700;
	font-size:50px;
	line-height:1.6em;
}

.kaso-page .txt-area h2 span{
	position:relative;
	font-size:30px;
}

.kaso-page .txt-area h2 span:after{
	display:block;
	content:"";
	width:2px;
	height:30px;
	background:#00AAEA;
	position:absolute;
	left:-50px;
	bottom:-5px;
	transform: rotate(-40deg);
}

.kaso-page .txt-area h2 span:before{
	display:block;
	content:"";
	width:2px;
	height:30px;
	background:#00AAEA;
	position:absolute;
	right:-50px;
	bottom:-5px;
	transform: rotate(40deg);
}

.kaso-page .txt-area .txt{
	padding:50px 0 150px 0;
	font-size:20px;
	line-height:2.3em;
}

.kaso-page .txt-area ul{
	display:flex;
	justify-content:space-between;
}

.kaso-page .txt-area ul li a{
	display:block;
	width:320px;
	border-radius: 10px;
	background:url(../img/common/arrow02.png) no-repeat center 95% #00aaea;
	box-sizing:border-box;
	padding:20px 20px 40px 20px;
	position:relative;
}

.kaso-page .txt-area ul li a:hover{
	margin:-20px 0 0 0;
}

.kaso-page .txt-area ul li a .img{
	height:175px;
}

.kaso-page .txt-area ul li a h3{
	position:absolute;
	left:-10px;
	top:-30px;
	width:80px;
	height:80px;
	line-height:80px;
	font-weight:900;
	font-size:50px;
	color:#fff;
	border-radius:50%;
	background:#2984D8;
	font-family: "Inter", sans-serif;
	z-index:2;
}

.kaso-page .txt-area ul li a h4{
	padding:20px 0 0 0;
	color:#fff;
	font-size:22px;
	font-weight:700;
}

.kaso-page .txt-area ul li a h4 span{
	background: url(../img/service/txt-area_ico01.png) no-repeat left center;
	padding: 22px 0 22px 80px;
    display: inline-block;
}

.kaso-page .txt-area ul li:nth-child(2) a h4 span{
	background: url(../img/service/txt-area_ico02.png) no-repeat left center;
}

.kaso-page .txt-area ul li:nth-child(3) a h4 span{
	background: url(../img/service/txt-area_ico03.png) no-repeat left center;
}

.kaso-page .img-area .box{
	width:800px;
	margin:0 auto;
}

.kaso-page .img-area .box .box-in{
	position:relative;
	padding:0 0 150px 0;
}

.kaso-page .img-area .box .box-in h2{
	position:absolute;
	left:-100px;
	top:-70px;
	font-family: "Inter", sans-serif;
	font-style:italic;
	font-size:120px;
	color:#E3F6FD;
	line-height:1.2em;
	font-weight:900;
	z-index:2;
}

.kaso-page .img-area .box .box-in h3{
	padding:20px 0 0 0;
	font-size:22px;
	font-weight:700;
	color:#00AAEA;
}

.kaso-page .img-area .box .box-in h3 span{
	background: url(../img/service/img-area_ico01.png) no-repeat left center;
	padding: 22px 0 22px 80px;
    display: inline-block;
}

.kaso-page .img-area .box .box-in:nth-child(2) h3 span{
	background: url(../img/service/img-area_ico02.png) no-repeat left center;
}

.kaso-page .img-area .box .box-in:nth-child(3) h3 span{
	background: url(../img/service/img-area_ico03.png) no-repeat left center;
}

.kaso-page .img-area .box .box-in dl{
	padding:30px 0 50px 0;
}

.kaso-page .img-area .box .box-in dl dt{
	font-size:40px;
	line-height:1.4em;
	font-weight:700;
	padding:0 0 20px 0;
}

.kaso-page .img-area .box .box-in dl dd{
	line-height:1.8em;
}

@media screen and (max-width: 800px) {
.kaso-mv{
	height:200px;
	box-sizing:border-box;
	padding: 70px 20px 0 20px;
}
	
.service .kaso-mv{
	background:url(../img/service/sp/mv-bg.jpg) no-repeat bottom center;
	background-size:cover;
}

.kaso-mv .sokomade{
	width:130px;
	right:0;
	left:auto;
	top:auto;
	bottom:10px;
}

.kaso-mv .txt{
	padding:10px 0 0 0;
}

.kaso-mv .ico{
	position:static;
	margin:10px 0 0 0;
	width:100px;
}
	
.kaso-page .txt-area{
	padding:20px 20px 80px 20px;
}

.kaso-page .txt-area h2{
	font-size: 24px;
}

.kaso-page .txt-area h2 span{
	font-size:18px;
	margin:0 0 10px 0;
}

.kaso-page .txt-area h2 span:after{
	height:25px;
	left:-30px;
	bottom:0;
}

.kaso-page .txt-area h2 span:before{
	height:25px;
	right:-30px;
	bottom:0;
}

.kaso-page .txt-area .txt{
	padding:30px 0 50px 0;
	font-size:16px;
	line-height:2em;
	text-align:left;
}

.kaso-page .txt-area ul{
	display:block;
}
	
.kaso-page .txt-area ul li{
	padding:0 0 10px 20px;
}

.kaso-page .txt-area ul li a{
	width:100%;
	background:url(../img/common/arrow02.png) no-repeat 95% center #00aaea;
	padding:10px 40px 10px 10px;
	display:flex;
	align-items:center;
	max-height:80px;
}

.kaso-page .txt-area ul li a:hover{
	margin:0;
}
	
.kaso-page .txt-area ul li a .img{
	width:60px;
	height:60px;
}

.kaso-page .txt-area ul li a h3{
	left:0;
	top:50%;
	transform: translate(-50%, -50%);
	width:40px;
	height:40px;
	line-height:40px;
	font-size:30px;
}

.kaso-page .txt-area ul li a h4{
	padding:0 0 0 20px;
	font-size: 18px;
	text-align:left;
}

.kaso-page .txt-area ul li a h4 span{
	background: url(../img/service/txt-area_ico01.png) no-repeat left center;
	background-size:35px;
	padding: 15px 0 15px 50px;
}

.kaso-page .txt-area ul li:nth-child(2) a h4 span{
	background: url(../img/service/txt-area_ico02.png) no-repeat left center;
	background-size:35px;
}

.kaso-page .txt-area ul li:nth-child(3) a h4 span{
	background: url(../img/service/txt-area_ico03.png) no-repeat left center;
	background-size:35px;
}
	
.kaso-page .img-area{
	padding:0 20px;
}

.kaso-page .img-area .box{
	width:100%;
}

.kaso-page .img-area .box .box-in{
	padding:0 0 80px 0;
}

.kaso-page .img-area .box .box-in h2{
	left:auto;
	top:-40px;
	right:0;
	font-size:50px;
}

.kaso-page .img-area .box .box-in h3{
	padding:20px 0 0 0;
	font-size:20px;
}

.kaso-page .img-area .box .box-in h3 span{
	background: url(../img/service/img-area_ico01.png) no-repeat left center;
	background-size:45px;
	padding: 15px 0 15px 60px;
}
	
.kaso-page .img-area .box .box-in:nth-child(2) h3 span{
	background: url(../img/service/img-area_ico02.png) no-repeat left center;
	background-size:45px;
}
	
.kaso-page .img-area .box .box-in:nth-child(3) h3 span{
	background: url(../img/service/img-area_ico03.png) no-repeat left center;
	background-size:45px;
}

.kaso-page .img-area .box .box-in dl{
	padding:20px 0 30px 0;
}

.kaso-page .img-area .box .box-in dl dt{
	font-size:22px;
	padding:0 0 20px 0;
}

.kaso-page .img-area .box .box-in dl dd{
	line-height:1.8em;
}
}

/* CORPORATION
-------------------------------------------------------------------*/
.corporation .kaso-mv{
	background:url(../img/corporation/mv-bg.jpg) no-repeat bottom center;
	background-size:cover;
}

.corporation .kaso-page .txt-area ul li a{
	width:235px;
}

.corporation .kaso-page .txt-area ul li a h4 span{
	background: url(../img/corporation/txt-area_ico01.png) no-repeat left center;
	padding: 22px 0 22px 60px;
}

.corporation .kaso-page .txt-area ul li:nth-child(2) a h4 span{
	background: url(../img/corporation/txt-area_ico02.png) no-repeat left center;
	padding: 22px 0 22px 80px;
}

.corporation .kaso-page .txt-area ul li:nth-child(3) a h4 span{
	background: url(../img/corporation/txt-area_ico03.png) no-repeat left center;
}

.corporation .kaso-page .txt-area ul li:nth-child(4) a h4 span{
	background: url(../img/corporation/txt-area_ico04.png) no-repeat left center;
}

.corporation .kaso-page .img-area .box .box-in h3 span {
    background: url(../img/corporation/img-area_ico01.png) no-repeat left center;
    padding: 22px 0 22px 80px;
}

.corporation .kaso-page .img-area .box .box-in:nth-child(2) h3 span {
    background: url(../img/corporation/img-area_ico02.png) no-repeat left center;
}

.corporation .kaso-page .img-area .box .box-in:nth-child(3) h3 span {
    background: url(../img/corporation/img-area_ico03.png) no-repeat left center;
}

.corporation .kaso-page .img-area .box .box-in:nth-child(4) h3 span {
    background: url(../img/corporation/img-area_ico04.png) no-repeat left center;
}

@media screen and (max-width: 800px) {
.corporation .kaso-mv{
	background:url(../img/corporation/sp/mv-bg.jpg) no-repeat bottom center;
	background-size:cover;
}
	
.corporation .kaso-page .txt-area ul li a{
	width:100%;
}
	
.corporation .kaso-page .txt-area ul li a h4 span{
	background: url(../img/corporation/txt-area_ico01.png) no-repeat left center;
	background-size: 35px;
	padding: 15px 0 15px 50px;
}

.corporation .kaso-page .txt-area ul li:nth-child(2) a h4 span{
	background: url(../img/corporation/txt-area_ico02.png) no-repeat left center;
	background-size: 35px;
	padding: 15px 0 15px 50px;
}

.corporation .kaso-page .txt-area ul li:nth-child(3) a h4 span{
	background: url(../img/corporation/txt-area_ico03.png) no-repeat left center;
	background-size: 30px;
}

.corporation .kaso-page .txt-area ul li:nth-child(4) a h4 span{
	background: url(../img/corporation/txt-area_ico04.png) no-repeat left center;
	background-size: 35px;
}
	
.corporation .kaso-page .img-area .box .box-in h3 span {
    background: url(../img/corporation/img-area_ico01.png) no-repeat left center;
	background-size: 45px;
    padding: 15px 0 15px 60px;
}

.corporation .kaso-page .img-area .box .box-in:nth-child(2) h3 span {
    background: url(../img/corporation/img-area_ico02.png) no-repeat left center;
	background-size: 45px;
}

.corporation .kaso-page .img-area .box .box-in:nth-child(3) h3 span {
    background: url(../img/corporation/img-area_ico03.png) no-repeat left center;
	background-size: 35px;
}

.corporation .kaso-page .img-area .box .box-in:nth-child(4) h3 span {
    background: url(../img/corporation/img-area_ico04.png) no-repeat left center;
	background-size: 40px;
}

}

/* COMPANY
-------------------------------------------------------------------*/
.company .kaso-mv{
	background:url(../img/company/mv-bg.jpg) no-repeat bottom center;
	background-size:cover;
}

.company .mv .txtbox,
.welfare .mv .txtbox{
	position:absolute;
	top:530px;
	left:0;
	right:0;
	margin:0 auto;
	z-index:3;
	text-align:right;
}

.company .mv .txtbox h2,
.welfare .mv .txtbox h2{
	font-size:40px;
	font-weight:900;
	color:#2984D8;
	line-height:1.6em;
	position:relative;
	display:inline-block;
	text-align:left;
}

.company .mv .txtbox h2:after,
.welfare .mv .txtbox h2:after{
	content:"";
	width:47px;
	height:38px;
	background:url(../img/company/txt-ico.png) no-repeat center center;
	position:absolute;
	left:-20px;
	top:-50px;
}

.company .mv .txtbox h2:before,
.welfare .mv .txtbox h2:before{
	content:"";
	width:47px;
	height:38px;
	background:url(../img/company/txt-ico.png) no-repeat center center;
	position:absolute;
	right:-20px;
	bottom:-50px;
	transform: rotate(-180deg);
}

.company .message-area{
	padding:100px 20px;
	position:relative;
	z-index:2;
}

.company .message-area .box{
	display:flex;
}

.company .message-area .img{
	width:100vw;
	position:relative;
}

.company .message-area .box:nth-child(2) .img{
	margin:0 0 0 -150px;
}

.company .message-area .img h3{
	font-weight:700;
	display:inline-block;
}

.company .message-area .img h3 span{
	font-size:12px;
	display:block;
	font-weight:500;
}

.company .message-area .img h3 em{
	font-size:14px;
	padding:0 10px 0 0;
}


.company .message-area .img img{
	max-width:inherit;
}

.company .message-area .txt-box{
	min-width:480px;
	margin:100px 100px 0 0;
}

.tit-txt02{
	font-size:32px;
}

.tit-txt02 span{
	font-size:16px;
	margin:0 0 -5px 0;
}

.company .message-area .txt{
	line-height:2em;
	padding:30px 0 0 0;
	width:480px;
}

.company .info-area{
	padding:100px 20px;
	background:#F5F9FF;
}

.company .info-area .box-in{
	padding:30px 0 0 0;
}

.company .info-area .box-in dl{
	padding:35px 0;
	display:flex;
	width:100%;
    border-bottom: 1px solid #98DCFA;
}

.company .info-area .box-in dl dt{
	font-size:20px;
	line-height:1.4em;
	font-weight:700;
	color:#16BBF9;
	min-width:180px;
	width:180px;
}

.company .info-area .box-in dl dd{
	line-height:1.4em;
}

@media screen and (max-width: 800px) {
.company .kaso-mv{
	background:url(../img/company/sp/mv-bg.jpg) no-repeat bottom center;
	background-size:cover;
}

.company .mv .txtbox,
.welfare .mv .txtbox{
	top:290px;
	left:0;
	padding:0 20px 0 20px;
}

.company .mv .txtbox h2,
.welfare .mv .txtbox h2{
	font-size:24px;
}

.company .mv .txtbox h2:after,
.welfare .mv .txtbox h2:after{
	width:25px;
	height:20px;
	background:url(../img/company/txt-ico.png) no-repeat center center;
	background-size:25px;
	left:-10px;
	top:-30px;
}

.company .mv .txtbox h2:before,
.welfare .mv .txtbox h2:before{
	width:25px;
	height:20px;
	background:url(../img/company/txt-ico.png) no-repeat center center;
	background-size:25px;
	right:-10px;
	bottom:-30px;
}

.company .message-area{
	padding:70px 20px 60px 20px;
}

.company .message-area .box{
	display:block;
}

.company .message-area .img{
	position:relative;
	width:100%;
	text-align:center;
}

.company .message-area .img h3{
	position:absolute;
	right:20px;
	bottom:0;
	font-size:18px;
}

.company .message-area .img h3 span{
	font-size:12px;
}

.company .message-area .img img{
	max-width:100%;
}

.company .message-area .txt-box{
	min-width:inherit;
	margin:100px 0 0 0;
}

.tit-txt02{
	font-size:24px;
	text-align:center;
}

.tit-txt02 span{
	font-size:12px;
	margin:0;
}

.company .message-area .txt{
	width:100%;
}

.company .info-area{
	padding:60px 20px;
}

.company .info-area .box-in{
	padding:30px 0 0 0;
}

.company .info-area .box-in dl{
	padding:20px 0;
	display:block;
}

.company .info-area .box-in dl dt{
	font-size:16px;
	min-width:inherit;
	width:100%;
	padding:0 0 10px 0;
}

.company .info-area .box-in dl dd{
	line-height:1.4em;
}


}

/* RECRUIT
-------------------------------------------------------------------*/
.recruit .kaso-mv {
	background: url(../img/recruit/mv-bg.jpg) no-repeat bottom center;
	background-size: cover;
}

.mv-tit{
	font-size:24px;
	font-weight:700;
	line-height:1.2em;
	color:#fff;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.42);
	position:relative;
	padding:200px 0 0 400px;
	transition: all 0.3s;
}

.mv-tit > span{
	font-size:120px;
	font-weight:900;
	font-style:italic;
	display:block;
	transform: rotate(-13deg) scale(1.3, 1);
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.42);
	position:absolute;
	top: 100px;
    left: 100px;
	transition: all 0.3s;
}

.kaso-mv02{
	position:relative;
	height:670px;
	padding:100px 20px 0 20px;
	margin:0 0 -100px 0;
}

.kaso-mv02:after{
	content:"";
    position: absolute;
    top: 250px;
	left:0;
	width:3000px;
    z-index: 2;
    height: 600px;
    background: #fff;
    transform: skewY(-15.5deg);
	border-top: 30px solid;
	border-image: linear-gradient(to right, #00aaea, #00d67c) 1;
}

.recruit .mv h2{
	position:absolute;
	left:0;
	right:0;
	bottom:150px;
	margin:0 auto;
	text-align:right;
}

.recruit .message-area{
	padding:0 20px 100px 20px;
	position:relative;
	z-index:2;
}

.recruit .message-area h2{
	text-align:center;
	position:relative;
	z-index:2;
	margin:0 0 0 66px;
}

.recruit .message-area .box{
	background: linear-gradient(#18bdfa 0%, #01a4eb 100%);
	padding:210px 20px 70px 20px;
	margin:-200px -20px 0 -20px;
}

.recruit .message-area .box-in{
	width:800px;
	margin:0 auto;
	color:#fff;
}

.recruit .message-area .box-in h3{
	font-size:80px;
	font-weight: 900;
    font-style: italic;
	line-height:1.2em;
	position:relative;
	z-index:3;
	top:-100px;
	margin:0 0 -80px 0;
}

.recruit .message-area .box-in .txt{
	line-height:2em;
}

.recruit .job{
	padding:0 20px 100px 20px;
}

.recruit .job .box{
	position:relative;
}

.recruit .job .txt{
	padding:30px 0 60px 0;
	line-height:2em;
	position:relative;
}

.recruit .job .btn{
	text-align:center;
}

.recruit .flow .tit-box{
	padding:100px 0 0 0;
	background:#F5F9FF;
}

.recruit .tab{
	display:flex;
	align-items:flex-end;
	padding:60px 0 0 0;
	position:relative;
	z-index:2;
}

.recruit .tab li{
	width:280px;
	margin:0 10px 0 0;
	padding:45px 0 45px 120px;
	box-sizing:border-box;
	border-radius:10px 10px 0 0;
	transition: all 0.3s;
	font-size:24px;
	font-weight:700;
	color:#fff;
	border:1px solid #00AAEA;
	border-bottom:none;
	cursor:pointer;
	position:relative;
}

.recruit .tab li:after {
    content: "";
    width: 16px;
    height: 10px;
    background: url(../img/common/arrow.png) no-repeat center center;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 15px;
    margin: 0 auto;
    opacity: 0;
    transition: all 0.3s;
}

.recruit .tab li:hover:after,.recruit .tab li.select:after {
    opacity: 1;
}

.recruit .tab li:nth-child(1){
    background: url(../img/recruit/tab-ico01_off.png) no-repeat 30px center #00AAEA;
}

.recruit .tab li:nth-child(1):hover,
.recruit .tab li:nth-child(1).select{
    background: url(../img/recruit/tab-ico01_on.png) no-repeat 30px center #fff;
	padding:45px 0 75px 120px;
}

.recruit .tab li#tab2{
    background: url(../img/recruit/tab-ico02_off.png) no-repeat 30px center #00AAEA;
	padding:45px 0 45px 110px;
}

.recruit .tab li#tab2:hover,
.recruit .tab li#tab2.select{
    background: url(../img/recruit/tab-ico02_on.png) no-repeat 30px center #fff;
	padding:45px 0 75px 110px;
}

.recruit .tab li:hover,
.recruit .tab li.select{
	color:#00AAEA;
}

.recruit .tabcont{
	padding:80px 0;
	position:relative;
}

.recruit .tabcont:after{
	content:"";
	height:20px;
	width:100%;
	background: linear-gradient(to right, #00aaea 0%, #00d67c 100%);
	position:absolute;
	top:-20px;
	left: 0;
}

.recruit .tabcont:before{
	content:"";
	height:20px;
	width:100%;
	background: linear-gradient(to right, #00aaea 0%, #00d67c 100%);
	position:absolute;
	bottom:0;
	left: 0;
}

.recruit .flow .slider{
	width:100vw;
}

.recruit .flow .slider li{
	width:290px;
	margin:0 40px 0 0;
}

.recruit .flow .slider li .img-box{
	position:relative;
}

.recruit .flow .slider li .img-box .time{
	position:absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	font-size:40px;
	font-weight:600;
	font-family: "Inter", sans-serif;
	display:inline-block;
	color:#fff;
}

.recruit .flow .slider li h3{
	font-size:16px;
	font-weight:700;
	line-height:1.8em;
	padding:10px 0 5px 0;
}

.recruit .flow .slider li .txt{
	line-height:1.8em;
}

.recruit .slick-next:before {
    content: "";
    background: url(../img/recruit/next.png) no-repeat center center;
    width: 100px;
    height: 100px;
    display: block;
	transition: all 0.3s;
}

.recruit .slick-next {
    position: absolute;
    display: block;
    width: 100px;
    height: 100px;
    left: 1000px;
    top: 170px;
}

.recruit .slick-prev:before {
    content: "";
    background: url(../img/recruit/prev.png) no-repeat center center;
    width: 100px;
    height: 100px;
    display: block;
	transition: all 0.3s;
}

.recruit .slick-prev{
    position: absolute;
    display: block;
    width: 100px;
    height: 100px;
    left: -60px;
    top: 170px;
	z-index:99;
}

.recruit .welfare{
	padding:100px 20px;
}

.recruit .welfare .txt{
	padding:10px 0 30px 0;
	line-height:2em;
}

.recruit .welfare ul li{
    background: url(../img/recruit/welfare-img01.jpg) no-repeat center center;
	background-size:cover;
	height:400px;
	width:100%;
	position:relative;
}

.recruit .welfare ul li:nth-child(2){
    background: url(../img/recruit/welfare-img02.jpg) no-repeat center center;
	background-size:cover;
}

.recruit .welfare ul li:nth-child(3){
    background: url(../img/recruit/welfare-img03.jpg) no-repeat center center;
	background-size:cover;
}

.recruit .welfare ul li h3{
	position:absolute;
	width:100%;
	top: 50%;
    transform: translateY(-50%);
	color:#fff;
	font-size:24px;
	font-weight:700;
	line-height:1.4em;
	text-align:center;
}

.recruit .welfare ul li h3 span{
	display:block;
	font-weight:500;
}

.recruit .faq{
	padding:100px 20px;
	background:#F5F9FF;
}

.recruit .faq h2 em{
	font-size:16px;
	font-weight:500;
}

.recruit .faq ul{
	padding:30px 0 0 0;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}

.recruit .faq ul li{
	margin:0 15px 40px 15px;
	width:470px;
}

.recruit .faq ul li h3{
	font-size:20px;
	color:#16BBF9;
	line-height:1.6em;
	font-weight:700;
	padding:20px 0 20px 60px;
	position:relative;
    background: url(../img/recruit/faq-ico01.png) no-repeat left center;
}

.recruit .faq ul li:nth-child(2) h3{
    background: url(../img/recruit/faq-ico02.png) no-repeat left center;
}

.recruit .faq ul li:nth-child(3) h3{
    background: url(../img/recruit/faq-ico03.png) no-repeat left center;
}

.recruit .faq ul li:nth-child(4) h3{
    background: url(../img/recruit/faq-ico04.png) no-repeat left center;
}

.recruit .faq ul li:nth-child(5) h3{
    background: url(../img/recruit/faq-ico05.png) no-repeat left center;
}

.recruit .faq ul li .img{
	border-radius: 16px;
	background: #fff;
	box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.1);
}

.recruit .boshu{
	padding:100px 20px;
}

.recruit .boshu .box-in{
	background: #F5F9FF;
	padding:40px 60px;
	margin:30px 0 0 0;
}

.recruit .boshu .box-in dl{
	padding:35px 0;
}

.recruit .boshu .box-in dl:not(:last-child) {
    border-bottom: 1px solid #98DCFA;
}

.recruit .boshu .box-in dl dt{
	font-size:20px;
	line-height:1.4em;
	font-weight:700;
	color:#16BBF9;
	padding:0 0 10px 0;
}

.recruit .boshu .entry{
	text-align:center;
	padding:130px 0 0 0;
}
@media screen and (max-width: 800px) {
.recruit .kaso-mv {
	background: url(../img/recruit/sp/mv-bg.jpg) no-repeat bottom center;
	background-size: cover;
}

.kaso-mv02{
	height:300px;
	margin:0;
	padding:50px 0 0 0;
}

.kaso-mv02:after{
    top: -120px;
    height: 300px;
	border-top: 10px solid;
}
	
.mv-tit{
	font-size:14px;
	padding:100px 0 0 120px;
}

.mv-tit > span{
    font-size: 50px;
	font-size: clamp(40px, 10vw, 50px);
    top: 50px;
    left: 50px;
}

.recruit .message-area{
	padding:30px 20px 60px 20px;
}

.recruit .message-area h2{
	text-align:center;
	margin:0;
}
	
.recruit .message-area .box {
    padding: 170px 20px 60px 20px;
    margin: -100px -20px 0 -20px;
}

.recruit .message-area .box-in{
	width:100%;
}
	
.recruit .message-area .box-in h3 {
    font-size: 50px;
    top: -70px;
    margin: 0 0 -60px 0;
}

.recruit .message-area .box-in .txt{
	width:100%;
}

.recruit .job {
    padding: 0 20px 60px 20px;
}	
	
.recruit .job .txt{
	padding:30px 0;
}
	
.recruit .job .btn{
	max-width:400px;
	margin:0 auto;
}

.recruit .flow{
	padding:0;
}
	
.recruit .flow .tit-box {
    padding: 60px 0 0 0;
}
	
.recruit .tab{
	padding:40px 0 0 0;
	justify-content:center;
}

.recruit .tab li{
	width:160px;
	margin:0 5px;
	padding:50px 0 10px 0;
	font-size:17px;
	text-align:center;
}

.recruit .tab li:after {
    bottom: 10px;
}

.recruit .tab li:nth-child(1){
    background: url(../img/recruit/tab-ico01_off.png) no-repeat center 10px #00AAEA;
	background-size:35px;
}

.recruit .tab li:nth-child(1):hover,
.recruit .tab li:nth-child(1).select{
    background: url(../img/recruit/tab-ico01_on.png) no-repeat center 10px #fff;
	background-size:35px;
	padding:50px 0 30px 0;
}

.recruit .tab li#tab2{
    background: url(../img/recruit/tab-ico02_off.png) no-repeat center 10px #00AAEA;
	background-size:35px;
	padding:50px 0 10px 0;
}

.recruit .tab li#tab2:hover,
.recruit .tab li#tab2.select{
    background: url(../img/recruit/tab-ico02_on.png) no-repeat center 10px #fff;
	background-size:35px;
	padding:50px 0 30px 0;
}


.recruit .tabcont{
	padding:60px 20px;
}

.recruit .flow .slider li{
	width:240px;
	margin:0 20px 0 0;
}

.recruit .flow .slider li .img-box .time{
	font-size:24px;
}

.recruit .flow .slider li h3{
	font-size:16px;
	text-align:center;
}

.recruit .slick-next:before {
    background: url(../img/recruit/next.png) no-repeat center center;
	background-size:contain;
    width: 60px;
    height: 60px;
}

.recruit .slick-next {
    width: 60px;
    height: 60px;
    left: auto;
	right:45px;
    top: 125px;
}

.recruit .slick-prev:before {
    background: url(../img/recruit/prev.png) no-repeat center center;
	background-size:contain;
    width: 60px;
    height: 60px;
}

.recruit .slick-prev{
    width: 60px;
    height: 60px;
    left: -15px;
    top: 125px;
}

.recruit .welfare{
	padding:60px 20px;
}

.recruit .welfare .txt{
	padding:10px 0 30px 0;
}

.recruit .welfare ul li{
	height:220px;
}

.recruit .welfare ul li h3{
	font-size:16px;
}

.recruit .faq {
	padding: 60px 20px 30px 20px;
}

.recruit .faq .box{
	padding:0 10px 40px 10px;
}

.recruit .faq h2 em{
	font-size:14px;
	display:block;
}

.recruit .faq ul{
	padding:30px 0 0 0;
	text-align:center;
}

.recruit .faq ul li{
	margin:0 0 30px 0;
	width:280px;
}

.recruit .faq ul li h3{
	font-size:16px;
	display:inline-block;
}
	
.recruit .faq ul li h3{
	padding:20px 0 20px 40px;
    background: url(../img/recruit/faq-ico01.png) no-repeat left center;
	background-size:30px;
}

.recruit .faq ul li:nth-child(2) h3{
    background: url(../img/recruit/faq-ico02.png) no-repeat left center;
	background-size:30px;
}

.recruit .faq ul li:nth-child(3) h3{
    background: url(../img/recruit/faq-ico03.png) no-repeat left center;
	background-size:30px;
}

.recruit .faq ul li:nth-child(4) h3{
    background: url(../img/recruit/faq-ico04.png) no-repeat left center;
	background-size:30px;
}

.recruit .faq ul li:nth-child(5) h3{
    background: url(../img/recruit/faq-ico05.png) no-repeat left center;
	background-size:30px;
}

.recruit .faq ul li .img{
	border-radius: 8px;
}

.recruit .boshu{
	padding:60px 20px;
}

.recruit .boshu .box-in{
	padding:30px 20px;
}

.recruit .boshu .box-in dl{
	padding:20px 0;
}

.recruit .boshu .box-in dl dt{
	font-size:16px;
	padding:0 0 10px 0;
}

.recruit .boshu .entry .txt{
	padding:40px 0;
	text-align:left;
}

.recruit .boshu .entry .btn{
	max-width:380px;
	margin:0 auto;
}
}

/* WORKS
-------------------------------------------------------------------*/
.works .kaso-mv{
    background: url(../img/works/bg.jpg) no-repeat center center;
	background-size:cover;
}

.works .list-area{
	background:#F5F9FF;
	padding:0 0 100px 0;
}

.works .list-area .tit-box{
	display:flex;
	width:100%;
}

.works .list-area .tit-box h2{
	font-size:16px;
	height:100px;
	display:flex;
	justify-content:center;
	align-items:center;
	font-weight:900;
	background:#F5F9FF;
	color:#2984D8;
	font-style:italic;
	width:16%;
}

.works .list-area .tit-box .tab{
	display:flex;
	width:100%;
}

.works .list-area .tit-box .tab li{
	border-left:1px solid #E8ECFF;
	height:100px;
	box-sizing:border-box;
	display:flex;
	justify-content:center;
	align-items:center;
	font-weight:700;
	color:#fff;
	width:27%;
	position:relative;
	transition: all 0.3s;
	cursor:pointer;
	font-size:20px;
	background:#00AAEA;
}

.works .list-area .tit-box .tab li span{
	padding:20px 0 20px 70px;
	display:inline-block;
}

.works .list-area .tit-box .tab li:first-child{
	padding:0;
	font-size:16px;
	width:20%;
	font-style:italic;
	font-weight:900;
}

.works .list-area .tit-box .tab li:after{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	margin:0 auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 8px solid transparent;
	border-left: 8px solid transparent;
	border-bottom: 7px solid #f8f8f8;
	border-top: 0;
	opacity:0;
	transition: all 0.3s;
}

.works .list-area .tit-box .tab li:hover:after,
.works .list-area .tit-box .tab li.select:after{
	opacity:1;
}

.works .list-area .tit-box .tab li:hover,
.works .list-area .tit-box .tab li.select{
	background: linear-gradient(to right, #00aaea 0%, #00d67c 100%);
}

.works .list-area .tit-box .tab li:nth-child(2) span{
	background: url(../img/works/tab-ico01.png) no-repeat left center;
}

.works .list-area .tit-box .tab li:nth-child(3) span{
	background: url(../img/works/tab-ico02.png) no-repeat left center;
}

.works .list-area .tit-box .tab li:nth-child(4) span{
	background: url(../img/works/tab-ico03.png) no-repeat left center;
}

.works .list-area .box{
	padding:80px 20px 0 20px;
}

.works-list{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

.works-list:after{
	content:"";
	width:32%;
	display:block;
}

.works-list li{
	width:32%;
	margin:0 0 40px 0;
}

.works-list li.no-txt{
	width:100%;
	text-align:center;
}

.works-list .cate{
	padding:10px 0 0 0;
}

.works-list .cate li{
	display:inline-block;
	width:auto;
	margin:10px 10px 0 0;
	background:#2984D8;
	border-radius:5px;
	color:#fff;
	padding:3px 15px;
	font-size:12px;
}

.works-list li .coverimg:before {
    content: "";
    display: block;
    padding-top: 90%;
}

.works-list li .day{
	font-size:12px;
	padding:10px 0 0 0;
	font-weight:500;
}

.works-list li h3{
	font-size:22px;
	font-weight:700;
	line-height:1.4em;
}

.morelink{
	font-size: 14px;
    display: block;
    box-sizing: border-box;
    padding: 0 0 0 30px;
    width: 230px;
    border-radius: 30px;
    line-height: 60px;
    height: 62px;
    border: 1px solid #2984D8;
    background: url(../img/common/btn-off.png) no-repeat 90% center #fff;
	margin:30px auto 0;
	cursor:pointer;
	transition: all 0.3s;
}

.morelink:hover{
	border:1px solid #F5F5F5;
	background:url(../img/common/btn-on.png) no-repeat 90% center #F5F5F5;
}

@media screen and (max-width: 800px) {
.works .kaso-mv{
	height:200px;
    background: url(../img/works/sp/mv-bg.jpg) no-repeat center center;
	background-size:cover;
}

.works .list-area{
	padding:0 0 60px 0;
}

.works .list-area .tit-box{
	display:block;
}

.works .list-area .tit-box h2{
	font-size:14px;
	height:50px;
	width:100%;
	text-align:center;
	border-top:3px solid #16BBF9;
}

.works .list-area .tit-box .tab{
	flex-wrap:wrap;
}

.works .list-area .tit-box .tab li{
	height:60px;
	width:50%;
	font-size:12px;
}

.works .list-area .tit-box .tab li:first-child{
	padding:0;
	font-size:14px;
	border-left:none;
	width:50%;
}
	
.works .list-area .tit-box .tab li:nth-child(3),
.works .list-area .tit-box .tab li:nth-child(4){
	border-top:1px solid #fff;
}
	
.works .list-area .tit-box .tab li:nth-child(3){
	border-left:none;
}
	
.works .list-area .tit-box .tab li span{
	padding: 20px 0 20px 50px;
}
	
.works .list-area .tit-box .tab li:nth-child(2) span {
    background: url(../img/works/tab-ico01.png) no-repeat left center;
	background-size:35px;
}
	
.works .list-area .tit-box .tab li:nth-child(3) span {
    background: url(../img/works/tab-ico02.png) no-repeat left center;
	background-size:35px;
}
	
.works .list-area .tit-box .tab li:nth-child(4) span {
    background: url(../img/works/tab-ico03.png) no-repeat left center;
	background-size:35px;
}

.works .list-area .box{
	padding:40px 20px;
}

.works-list{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

.works-list:after{
	width:48.5%;
}

.works-list li{
	width:48.5%;
	margin:0 0 30px 0;
}

.works-list li.no-txt{
	width:100%;
}
	
.works-list li .day {
    padding: 10px 0 0 0;
}

.works-list li h3{
	font-size:16px;
}

.morelink{
	font-size: 12px;
    padding: 0 0 0 30px;
    width: 200px;
    border-radius: 40px;
    line-height: 50px;
    height: 52px;
    background: url(../img/common/sp/btn-off.png) no-repeat 90% center #fff;
	background-size:25px;
	margin:20px auto 0;
}

.morelink:hover{
    background: url(../img/common/sp/btn-off.png) no-repeat 90% center #fff;
	background-size:25px;
}
}

/* WORKS-SINGLE
-------------------------------------------------------------------*/
.single-works .tit-area{
	padding:155px 0 0 0;
}

.single-works .tit-area .box{
	position:relative;
}

.single-works .tit-area .box .tit-box{
	width:700px;
	margin:0 auto;
}

.single-works .tit-area .day{
	font-size:12px;
	line-height:1.2em;
	padding:10px 0;
}

.single-works .tit-area h1{
	font-size:27px;
	line-height:1.4em;
	font-weight:700;
}

.single-works .tit-area .cate li {
    display: inline-block;
    width: auto;
    margin: 0 10px 0 0;
    background: #2984D8;
    border-radius: 5px;
    color: #fff;
    padding: 3px 15px;
    font-size: 12px;
}

.single-works .tit-area .box{
	position:relative;
}

.single-works .detail-area .slider{
	padding:30px 0 0 0;
}

.single-works .detail-area .slider li{
	margin:0 50px;
	height:400px;
	width:700px;
}

.single-works .detail-area .slick-slide img{
    opacity: 0.4;
	transition: all 0.3s;
}

.single-works .detail-area .slick-active img{
    opacity: 1;
}

.single-works .slick-next,.single-works .slick-prev {
	width: 100px;
    height: 100px;
	z-index:9;
}

.single-works .slick-next{
	right:15%;
}

.single-works .slick-prev{
	left:15%;
}

.single-works .slick-next:before {
	content:"";
    background: url(../img/works/next.png) no-repeat center center;
	width: 100px;
    height: 100px;
    display: block;
	filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
	transition: all 0.3s;
}

.single-works .slick-prev:before {
	content:"";
    background: url(../img/works/prev.png) no-repeat center center;
	width: 100px;
    height: 100px;
    display: block;
	filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
	transition: all 0.3s;
}

.single-works .detail-area .txt-box{
	width:700px;
	margin:0 auto;
	padding:40px 0;
}

.single-works .detail-area .txt-box .box-in .txt{
	line-height:2em;
}

.single-works .detail-area .m-btn a{
	margin:50px auto 100px;
}

.single-works .connection{
	padding:100px 20px;
	background:#F5F9FF;
}

.single-works .connection .box h2{
	font-size:24px;
	line-height:1.4em;
	padding:0 0 30px 0;
	font-weight:700;
	text-align:center;
}

@media screen and (max-width: 800px) {
.single-works .tit-area{
	padding:90px 0 0 0;
}

.single-works .tit-area .box .tit-box{
	width:100%;
	box-sizing:border-box;
	padding:0 20px;
}


.single-works .tit-area .day{
	font-size:12px;
	padding:10px 0 5px 0;
}

.single-works .tit-area h1{
	font-size:18px;
}

.single-works .tit-area .cate li {
    margin: 0 10px 0 0;
    padding: 3px 15px;
    font-size: 11px;
}
	
.single-works .tit-area .box .m-btn a{
	width:170px;
	font-size:11px;
	height:30px;
	line-height:28px;
    background: url(../img/common/sp/btn-off.png) no-repeat 90% center #fff;
	background-size:15px;
	margin:30px auto 60px;
}
	
.single-works .tit-area .box .m-btn a:hover{
    background: url(../img/common/sp/btn-on.png) no-repeat 90% center #fff;
	background-size:15px;
}

.single-works .detail-area .slider{
	padding:30px 0 0 0;
}

.single-works .detail-area .slider li{
	margin:0 10px;
	height:auto;
	width:100%;
}

.single-works .slick-next,.single-works .slick-prev {
	width: 60px;
    height: 60px;
}

.single-works .slick-next{
	right:10px;
}

.single-works .slick-prev{
	left:10px;
}

.single-works .slick-next:before {
    background: url(../img/works/next.png) no-repeat center center;
	background-size:contain;
	width: 60px;
    height: 60px;
}

.single-works .slick-prev:before {
    background: url(../img/works/prev.png) no-repeat center center;
	background-size:contain;
	width: 60px;
    height: 60px;
}

.single-works .detail-area .txt-box{
	width:100%;
	padding:40px 20px;
}

.single-works .connection{
	padding:60px 20px;
}
}

/* CONTACT
-------------------------------------------------------------------*/
.wpcf7-not-valid-tip {
	padding:5px 0 0 0;
	font-size: 12px;
	font-weight:700;
}

.contact .kaso-mv{
    background: url(../img/contact/mv.jpg) no-repeat center center;
	background-size:cover;
}

.contact-area{
	padding:0 0 100px 0;
}

.contact-area .box{
	width:770px;
	margin:0 auto;
}

.contact-area .box .txt-box{
	text-align:center;
	padding:0 0 40px 0;
}

.contact-area .box .txt-box .txt{
	line-height:2em;
	padding:40px 0 20px 0;
}

.contact-area .box .txt-box ul{
	display:flex;
	justify-content:center;
}

.contact-area .box .txt-box ul li{
	width:390px;
	margin:0 10px;
}

.contact-area .box .txt-box ul li .img{
	padding:0 0 10px 0;
}

.m-btn02 a {
    background: url(../img/common/btn02-off.png) no-repeat 90% center #fff;
	display:inline-block;
}

.m-btn02 a:hover{
	background:url(../img/common/btn02-on.png) no-repeat 90% center #F5F5F5;
}

.contact-area .box .txt-box ul li dl dt a{
	color:#2984D8;
	font-size:32px;
	line-height:1.4em;
	font-weight:700;
}

.contact-area .box .txt-box ul li dl dd{
	font-size:12px;
	line-height:2em;
}

.contact-area .form{
	padding:40px 0 0 0;
}

.contact-area .form h2{
	font-size:20px;
	line-height:1.4em;
	font-weight:700;
	text-align:center;
	padding:0 0 10px 0;
}

.contact-area .privacy-box{
	width:800px;
	margin:20px auto 30px;
}

.contact-area .privacy-box h3{
	font-size:18px;
	font-weight:700;
	line-height:1.4em;
	padding:0 0 20px 0;
}

.contact-area .privacy-box .box-in{
	border:1px solid #98DCFA;
	padding:40px 40px 20px 40px;
	height:300px;
	overflow:auto;
	scrollbar-color:#00AAEA #fff;
    scrollbar-width: thin;
}

.contact-area .privacy-box dl{
	padding:0 0 20px 0;
}

.contact-area .privacy-box dl dt{
	font-weight:700;
	line-height:1.4em;
	padding:0 0 10px 0;
}

.contact-area .privacy-box dl dd{
	line-height:1.8em;
	font-size:14px;
}

.contact-area .radiobox{
	padding:20px 0;
	text-align:center;
}

.form dl{
	display:flex;
	padding:20px 0;
	border-top:1px solid #EEEEEE;
}

.form dl.last{
	border-bottom:1px solid #EEEEEE;
	margin:0 0 30px 0;
}

.form dl dt{
	position:relative;
	font-weight:400;
	padding:15px 0 0 60px;
	min-width:300px;
	width:300px;
	box-sizing:border-box;
}

.form dl.none dt{
	padding:0;
}

.form dl dt.hissu:after{
	content:"必須";
	color: #fff;
	font-size:12px;
	position:absolute;
	padding:0 5px;
	line-height:20px;
	height:20px;
	background:#EA5A00;
	left:14px;
	top:19px;
	border-radius:3px;
}

.form dl.none dt.hissu:after{
	top:0;
}

.form dl dd{
	width:100%;
}

.form input, .form textarea {
    width: 100%;
    font-size: 16px;
    line-height: 1.6;
    padding: 15px;
	background:#F8F8F8;
    box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
	border:none;
}

.form dl.num input{
	width:200px;
}

.form dl.num em{
	padding:0 5px 0 0;
}

.form .wpcf7-radio {
    display: block;
    padding:0;
}

.form .wpcf7-radio>* {
    display:inline-block;
	margin:0;
}

.form .wpcf7-radio input[type="radio"] {
    display: none;
}

.form .wpcf7-radio .wpcf7-list-item-label {
    position: relative;
    padding-left: 50px;
    line-height: 1.5;
    cursor: pointer;
}

.form .wpcf7-list-item > label{
	display:inline-block;
	margin:0 0 0 20px;
}

.form .wpcf7-list-item.first > label{
	margin:0;
}

.form .wpcf7-radio .wpcf7-list-item-label::before {
    content: "";
    position: absolute;
    width: 40px;
	height:40px;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border-radius: 50%;
	background:#F8F8F8;
}

.form .wpcf7-radio .wpcf7-list-item-label::after {
    content: "";
    position: absolute;
    width: 20px;
	height:20px;
    top: 50%;
	left: 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #2984D8;
    border-radius: 50%;
    opacity: 0;
    -webkit-transition: .3s;
    transition: .3s;
}

.form .wpcf7-radio input[type="radio"]:checked+.wpcf7-list-item-label::after {
    opacity: 1;
}

.contact .wpcf7-response-output{
	max-width:700px;
	margin:30px auto 0 !important;
	text-align:center;
}

.check .wpcf7-list-item-label{
	position:relative;
	cursor:pointer;
}

.check input[type="checkbox"] {
	position: absolute;
	opacity: 0;/*既存のチェックボックスを非表示に*/
}

.check .wpcf7-list-item-label:before {/*チェック枠*/
    content: '';
    display: inline-block;
    width: 30px;
    height: 30px;
    position: relative;
    background: #fff;
    top: 0;
    margin: 1px 10px 5px 0;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
    background: #fff;
    border: 1px solid #98DCFA;
}

.check input[type="checkbox"]:checked + .wpcf7-list-item-label:after {/*チェックアイコン*/
	content: "";
    display: block;
    position: absolute;
    top: 6px;
    left: 5px;
	width: 21px;
	height: 12px;
    background: url(../img/common/check.png) no-repeat center;
    background-size: contain;
}

.wpcf7-list-item {
    display: block;
}

.form dl.checkbox dd .wpcf7-list-item{
	margin:0 0 10px 0;
}

.contact-area .check{
    text-align: center;
	padding:10px 0 50px 0;
	font-weight:500;
}

.conbtn input[type="submit"], .conbtn input[type="button"] {
	display: block;
    width: 230px;
    font-weight: 700;
    text-align: center;
    border-radius: 30px;
	background: linear-gradient(to right, #00aaea 0%, #00d67c 100%);
    line-height: 60px;
    height: 60px;
    margin: 0 auto;	
    transition: all 0.3s;
    -webkit-appearance: none;
	font-family: 'Noto Sans JP', sans-serif;
    cursor: pointer;
    outline: none;
    font-size: 18px;
	color:#fff;
	letter-spacing:0.1em;
	border:none;
}

.conbtn input[type="submit"]:hover, .conbtn input[type="button"]:hover {
    background: #F8F8F8;
	color:#333333;
}

@media screen and (max-width: 800px) {
.contact .kaso-mv{
    background: url(../img/contact/sp/mv.jpg) no-repeat center center;
}

.contact-area{
	padding:0 20px 60px 20px;
}

.contact-area .box{
	width:100%;
}

.contact-area .box .txt-box{
	text-align:left;
	padding:0 0 40px 0;
}

.contact-area .box .txt-box .txt{
	padding:30px 0 20px 0;
}

.contact-area .box .txt-box ul{
	display:block;
	text-align:center;
	margin:0 -20px;
	background:#F5F9FF;
	padding:20px;
}

.contact-area .box .txt-box ul li{
	width:100%;
	margin:0 0 20px 0;
}

.contact-area .box .txt-box ul li .img{
	padding:0 0 10px 0;
	text-align:center;
}

.m-btn02 a {
    background: url(../img/common/sp/btn02-off.png) no-repeat 90% center #fff;
	background-size:25px;
}

.m-btn02 a:hover{
	background:url(../img/common/sp/btn02-on.png) no-repeat 90% center #F5F5F5;
	background-size:25px;
}

.contact-area .box .txt-box ul li dl dt a{
	font-size:24px;
}

.contact-area .form{
	padding:20px 0 0 0;
}

.contact-area .form h2{
	font-size:18px;
}

.contact-area .privacy-box{
	width:100%;
}

.contact-area .privacy-box h3{
	font-size:16px;
}

.contact-area .privacy-box .box-in{
	padding:20px 20px 0 20px;
	height:300px;
}

.contact-area .privacy-box dl{
	padding:0 0 20px 0;
}

.contact-area .privacy-box dl dt{
	padding:0 0 10px 0;
}

.contact-area .privacy-box dl dd{
	font-size:13px;
}

.form dl{
	padding:20px 0;
	display:block;
}

.form dl.last{
	margin:0 0 20px 0;
}

.form dl dt{
	padding:0 0 10px 40px;
	min-width:inherit;
	width:100%;
}

.form dl dt.hissu:after{
	font-size:10px;
	line-height:20px;
	height:20px;
	left:0;
	top:1px;
}

.form dl.none dt.hissu:after{
	top:0;
}

.form dl dd{
	width:100%;
}

.form input, .form textarea {
    padding: 10px;
}

.form dl.num input{
	width:200px;
}
	
.contact-area .radiobox {
    text-align: left;
}

.form .wpcf7-radio .wpcf7-list-item-label {
    padding-left:30px;
	display:block;
	margin:0 20px 10px 0;
}
	
.form .wpcf7-list-item > label {
    margin: 0;
}

.form .wpcf7-radio .wpcf7-list-item-label::before {
    width: 20px;
	height:20px;
}

.form .wpcf7-radio .wpcf7-list-item-label::after {
    width: 10px;
	height:10px;
	left: 5px;
}

.contact .wpcf7-response-output{
	max-width:inherit;
	margin:20px auto 0 !important;
}

.check .wpcf7-list-item-label:before {/*チェック枠*/
    width: 24px;
    height: 24px;
    margin: 1px 10px 5px 0;
}

.check input[type="checkbox"]:checked + .wpcf7-list-item-label:after {/*チェックアイコン*/
    top: 6px;
    left: 3px;
	width: 18px;
	height: 10px;
}

.contact-area .check{
	padding:10px 0 30px 0;
}

.conbtn input[type="submit"], .conbtn input[type="button"] {
    width: 220px;
    line-height: 50px;
    height: 50px;
    font-size: 16px;
}
}

/* THANKS/404
-------------------------------------------------------------------*/
.thanks_area{
	padding:120px 0 140px 0;
	text-align:center;
}

.thanks_area h1{
	font-size:28px;
	line-height:1.6em;
	padding:50px 0;
	width:720px;
	border-bottom:1px solid #E8EBEC;
	margin:0 auto;
}

.thanks_area .txt{
	line-height:2em;
	padding:50px 0;
	font-weight:500;
}

.thanks_area .m-btn a{
	margin:0 auto;
}

@media screen and (max-width: 800px) {
.thanks_area{
	padding:50px 20px;
	text-align:left;
}

.thanks_area h1{
	font-size:20px;
	padding:30px 0;
	box-sizing:border-box;
	width:100%;
	text-align:center;
}

.thanks_area .txt{
	padding:30px 0 40px 0;
}

}


/* GROUP
-------------------------------------------------------------------*/
.group .kaso-mv {
	background: url(../img/group/mv-bg.jpg?20250707) no-repeat bottom center;
	background-size: cover;
}

.group .mv-tit {
    padding: 260px 0 0 400px;
}

.group .mv-tit > span {
    top: 10px;
    line-height: 1;
}

.group .txt-area{
	padding:140px 20px 160px 20px;
	position:relative;
	z-index:2;
}

.group .txt-area .box-in{
	margin:80px 0 0 0;
	display:flex;
	padding:50px 50px 50px 0;
	background:#F8F8F8;
}

.group .txt-area .box-in .logo-box{
	min-width:320px;
	width:320px;
	text-align:center;
}

.group .txt-area .box-in .logo-box .logo:nth-child(2){
	padding:30px 0 0 0;
}

.group .txt-area .box-in .logo-box .logo span{
	display:block;
	font-size:30px;
	font-weight:600;
	line-height:1.4;
}

.group .txt-area .box-in .logo-box .logo em{
	font-size:24px;
}

.group .txt-area .box-in .txt-box{
	width:100%;
}

.group .txt-area .box-in .txt-box dl{
	display:flex;
}

.group .txt-area .box-in .txt-box dl:not(:first-child){
	padding:30px 0 0 0;
}

.group .txt-area .box-in .txt-box dl dt{

}

.group .txt-area .box-in .txt-box dl dt span{
	min-width:110px;
	width:110px;
	display:block;
	height:30px;
	line-height:30px;
	background:#2984D8;
	font-size:14px;
	color:#fff;
	text-align:center;
	border-radius:15px;
	margin:0 40px 0 0;
}

.group .txt-area .box-in .txt-box dl dd span:before{
	content:"●";
	color:#00AAEA;
}

.group .txt-area .box-in .txt-box dl dd em{
	font-size:15px;
	display:block;
}

.group .txt-area .box-in .txt-box dl dd .url{
	text-decoration:underline;
	color:#2A84D8;
}

@media screen and (max-width: 800px) {
.group .mv-tit {
    padding: 140px 0 0 120px;
}
	
.group .mv-tit > span {
    top: 10px;
}
	
.group .txt-area{
	padding:40px 20px 100px 20px;
}

.group .txt-area .box-in{
	margin:40px 0 0 0;
	display:block;
	padding:20px;
}

.group .txt-area .box-in .logo-box{
	min-width:inherit;
	width:100%;
}

.group .txt-area .box-in .logo-box .logo:nth-child(2){
	padding:20px 0 0 0;
}
	
.group .txt-area .box-in .logo-box .logo img{
	width:100px;
}

.group .txt-area .box-in .logo-box .logo span{
	font-size:18px;
	padding:10px 0 0 0;
	vertical-align:middle;
}

.group .txt-area .box-in .logo-box .logo em{
	font-size:14px;
}

.group .txt-area .box-in .txt-box{
	padding:15px 0 0 0;
}

.group .txt-area .box-in .txt-box dl{
	display:block;
}

.group .txt-area .box-in .txt-box dl:not(:first-child){
	padding:30px 0 0 0;
}

.group .txt-area .box-in .txt-box dl dt span{
	margin:0 auto;
}
	
.group .txt-area .box-in .txt-box dl dd{
	padding:15px 0 0 0;
}

.group .txt-area .box-in .txt-box dl dd span:before{
	content:"●";
	color:#29BBF9;
}

.group .txt-area .box-in .txt-box dl dd em{
	font-size:15px;
	display:block;
}

.group .txt-area .box-in .txt-box dl dd .url{
	text-decoration:underline;
	color:#2A84D8;
}
}

/* WELFARE
-------------------------------------------------------------------*/
.welfare .kaso-mv {
	background: url(../img/welfare/mv-bg.jpg?20250708) no-repeat bottom center;
	background-size: cover;
}

.welfare .txt-area{
	padding:200px 20px 100px 20px;
	position:relative;
	z-index:2;
}

.welfare .txt-area .img{
	line-height:0;
}

.welfare .txt-area .box-in,
.welfare .txt-area ul li{
	padding:60px 0 0 0;
}

.welfare .txt-area ul li h2{
	font-size:36px;
	line-height:1.6;
	font-weight:600;
	border-left:5px solid #00AAEA;
	padding:0 0 0 10px;
}

.welfare .txt-area ul li .txt{
	font-size:21px;
	line-height:1.8;
	padding:10px 0 0 0;
}

.welfare .txt-area ul li .txt span{
	font-size:19px;
	display:inline-block;
	padding:10px 0 0 0;
}

.welfare .txt-area .btn{
	padding:60px 0 0 0;
	text-align:center;
}

@media screen and (max-width: 800px) {	
.welfare .txt-area{
	padding:100px 20px 60px 20px;
}

.welfare .txt-area .box-in,
.welfare .txt-area ul li{
	padding:40px 0 0 0;
}

.welfare .txt-area ul li h2{
	font-size:20px;
	border-left:3px solid #16BBF9;
}

.welfare .txt-area ul li .txt{
	font-size:16px;
}

.welfare .txt-area ul li .txt span{
	font-size:14px;
}

.welfare .txt-area .btn{
	padding:40px 0 0 0;
}
}

.group-link,
.welfare-btn{
	padding:100px 20px;
	text-align:center;
}

@media screen and (max-width: 800px) {
.group-link,
.welfare-btn{
	padding:60px 20px;
}
}