@charset "UTF-8";


/* ========BASIC======== */


html {
   overflow-y:scroll;
}

body {
   width:fit-content; /* other browsers */
   margin:0;
   padding:0;
   line-height:1.6;
   letter-spacing:1px;
   font-family: serif;
   font-size:25px;
   color:#ffffff;
   background-image: url("../img/slk_back2.jpg");
   background-attachment: fixed;
	background-size: cover;
}

br {
   letter-spacing:normal;
}

a {
   color:#4dc7cc;
   text-decoration:none;
}

a:hover {
   color:#0172AB;
}

img {
   border:0;
   vertical-align:bottom;
}

h1,h2,h3,h4,h5,h6 {
   margin:0;
}

  /* ヘッダー */

#header {
   position:relative;
   padding:0 5px;
}

#header__inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 120px;
	padding: 0 20px;
}

#pr {
   position:absolute;
   width:460px;
   left:155px;
   top:75px;
   font-size:25px;
}

#contents {
   clear:both;
   margin:0;
   padding:0;
}

#contents2 {
	clear:both;
	margin:0;
	padding:0;
}

#contents3 {
	clear:both;
	margin:0;
	padding:30px;
 }

#main {
	width:fit-content; /* other browsers */
	margin: 0 auto;
}

#main2 {
	width:fit-content; /* other browsers */
	margin: 0 auto;
}

#main3 {
	width:fit-content; /* other browsers */
	margin-left: auto;
	margin-right: auto;
}

#pageTop {
   clear:both;
}

#footer {
   clear:both;
   margin:0 10px;
   background:#69bfc7 url("../images/bg_footer_left.gif") 0 0 no-repeat;
}


/* ========HEADER CUSTOMIZE======== */
#header h1 {
   margin:0;
   padding:10px;
   font-size:36px;
   color:#fff;
   line-height:px;
}

img.example {
    width: 100%;
    }

#header h1 a {
   color:#333;
}

#header h1 a:hover {
   color:#666;
}

#header #pr p {
   margin:0;
}

/*@h3（main）
--------------------------------------------------------*/
div.serviceBox h3 {
	color:#88f9ff;
	font-size:48px;
	font-weight:bold;
	text-align:center;
	text-shadow: 2px 3px 5px #b0b0b0;
	position:absolute;
	top:50px;
	left:790px;
}
div.serviceBox h4 {
	color:#88f9ff;
	font-size:48px;
	font-weight:bold;
	text-align:center;
	text-shadow: 2px 3px 5px #b0b0b0;
	position:absolute;
	top:50px;
	left:100px;
}
div.serviceBox h6 {
	color:#88f9ff;
	font-size:48px;
	font-weight:bold;
	text-align:center;
	text-shadow: 2px 3px 5px #b0b0b0;
	position:absolute;
	top:50px;
	left:140px;
}

div.serviceBox h5 {
	color:#88f9ff;
	font-size:48px;
	font-weight:bold;
	text-align:center;
	text-shadow: 2px 3px 5px #b0b0b0;
	position:absolute;
	top:50px;
	left:870px;
}

div.serviceBox{
	width:1200px;
	height:480px;
	font-size:24px;
	color:#ffffff;
	margin-left:auto;
	margin-right:auto;
}
div.serviceBox2{
	width:1200px;
	height:480px;
	font-size:24px;
	
	color:#ffffff;
	position:relative;
	float:left;
	margin-right:30px;
}

.flex{
	display:flex;
	flex-wrap: wrap;
	padding: 1px;
  }

.fadeRight{
	animation-name:fadeRightAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	opacity:0;
	}
	
	@keyframes fadeRightAnime{
	  from {
		opacity: 0;
	  transform: translateX(100px);
	  }
	
	  to {
		opacity: 1;
	  transform: translateX(0);
	  }
	}


/* 左から */

.fadeLeft{
	animation-name:fadeLeftAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity:0;
	}
	
	@keyframes fadeLeftAnime{
	  from {
		opacity: 0;
	  transform: translateX(-100px);
	  }
	
	  to {
		opacity: 1;
	  transform: translateX(0);
	  }
	}


.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:1s;
	animation-delay: 0.3s;
	animation-fill-mode:forwards;
	opacity:0;
	}
	
	@keyframes fadeUpAnime{
	  from {
		opacity: 0;
	  transform: translateY(100px);
	  }
	
	  to {
		opacity: 1;
	  transform: translateY(0);
	  }
	}

	.fadeInTrigger,
	.fadeUpTrigger,
	.fadeDownTrigger,
	.fadeLeftTrigger,
	.fadeRightTrigger{
		opacity: 0;
	}

	.blur{
		animation-name:blurAnime;
		animation-duration:1s;
		animation-fill-mode:forwards;
	  }
	  
	  @keyframes blurAnime{
		from {
		filter: blur(10px);
		transform: scale(1.02);
		opacity: 0;
		}
	  
		to {
		filter: blur(0);
		transform: scale(1);
		opacity: 1;
		}
	  }
	  
	  /* スクロールをしたら出現する要素にはじめに透過0を指定　*/
	   
	  .blurTrigger{
		  opacity: 0;
	  }

	  .flipLeft{
		animation-name:flipLeftAnime;
		animation-duration:1s;
		animation-fill-mode:forwards;
		perspective-origin:left center;
		opacity:0;
		}
		
		@keyframes flipLeftAnime{
		  from {
		   transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
		  opacity: 0;
		  }
		
		  to {
		  transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
		  opacity: 1;
		  }
		}

	.flipDownTrigger,
	.flipLeftTrigger,
	.flipLeftTopTrigger,
	.flipRightTrigger,
	.flipRightTopTrigger{
		  opacity: 0;
}

/* アニメーションスタートの遅延時間を決めるCSS*/

.delay-time05{  
	animation-delay: 0.5s;
  }
  
  .delay-time1{  
	animation-delay: 1s;
  }
  
  .delay-time15{  
	animation-delay: 1.5s;
  }
	  


div.mobile1{
	background:url(../img/servicemobile5.png) no-repeat;
}

div.mobile2{
	background:url(../img/servicemobile3.png) no-repeat;
	background-position: right top;
}
div.mobile3{
	background:url(../img/servicemobile4.png) no-repeat;
}
div.mobile4{
	background:url(../img/servicemobile6.png) no-repeat;
	background-position: right top;
}
div.mobile5{
	background:url(../img/servicemobile7.png) no-repeat;
}

div.Various{
	background:url(../img/serviceVarious.png) no-repeat;
}

div.Various2{
	background:url(../img/serviceVarious2.png) no-repeat;
}
div.Various3{
	background:url(../img/serviceVarious3.png) no-repeat;
}
div.Various4{
	background:url(../img/serviceVarious4.png) no-repeat;
}


div.serviceBox p.service {
	position:absolute;
	top:130px;
	left:760px
}
div.serviceBox p.service1 {
	position:absolute;
	top:50px;
	width:300px;
	padding:100px;
}
div.serviceBox p.shosaiA {
	position:absolute;
	top:320px;
	width:320px;
	height:50px;
	background:url(../img/kuwashiku4.png) no-repeat;
	left:80px;
	color:#fff;
	line-height:50px;
	text-indent:90px;
}

div.serviceBox p.shosaiA:hover{
	opacity:0.8;
}

div.serviceBox p.shosaiC {
	display: flex;
	position:absolute;
	justify-content: center;
	align-items: center;
	width: 100%;
	top:350px;
	max-width: 320px;
	height:50px;
	left: 355px;
	margin: 0 auto;
	padding: 1.0em 1.0em;
	border: 1px solid #d6d6d6;
	background: linear-gradient(to right, #ffffff 50%, #222222 50%);
	background-size: 200% auto;
	box-sizing: border-box;
	color: #222222;
	font-size: 24px;
	text-decoration: none;
	text-align: center;
	transition: .3s;
	position: relative;
  }
  div.serviceBox p.shosaiC:after {
	content: "";
	position: absolute;
	right: -5px;
	bottom: -5px;
	width: 100%;
	height: 100%;
	border-right: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
  }
  div.serviceBox p.shosaiC:hover {
	color: #ffffff;
	background-position: -100% 0;
  }

  div.serviceBox p.shosaiD {
	display: flex;
	position:left;
	justify-content: center;
	align-items: center;
	width: 100%;
	top:350px;
	max-width: 320px;
	height:50px;
	right: 360px;
	margin: 0 auto;
	padding: 1.0em 1.0em;
	border: 1px solid #d6d6d6;
	background: linear-gradient(to right, #222222 50%, #ffffff 50%);
	background-size: 200% auto;
	box-sizing: border-box;
	color: #ffffff;
	font-size: 24px;
	text-decoration: none;
	text-align: center;
	transition: .3s;
	position: relative;
  }
  div.serviceBox p.shosaiD:after {
	content: "";
	position: absolute;
	right: -5px;
	bottom: -5px;
	width: 100%;
	height: 100%;
	border-right: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
  }
  div.serviceBox p.shosaiD:hover {
	color: #222222;
	background-position: -100% 0;
  }

div.serviceBox p.shosaiB {
	position:absolute;
	top:320px;
	width:320px;
	height:50px;
	background:url(../img/kuwashiku4.png) no-repeat;
	left:800px;
	color:#fff;
	line-height:50px;
	text-indent:90px;
}
div.serviceBox p.shosaiB:hover{
	opacity:0.8;
}


img.example2 {
    width: 100%;
    height: 100%;
}

img.example3 {
    width: 100%;
    height: 100%;
}

.xexample{
    display: block;
    position: relative;
}
.xexample img{
    width: 100%;
    height: auto;
    display: block;
}

.xexample>span{
    position: absolute;
    left: 50%;
    top: 85%;
    transform: translate(-50%,-50%);
    display: block;
    width: 250px;
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.705);
    border: 1px solid #FFF;
    padding: 15px;
    text-align: center;
    color: #ffffff;
    font-size: 70%;
    font-weight: bold;
    transition: .3s;
}
.xexample:hover>span{
    background: rgba(255,255,255,1);
    color: #333;
}

.top-left {
	position: absolute;
	font-size: 6vw;
	top: 35%;
	left: 4%;
	text-shadow: 5px 7px 8px #000000;
}

.top-left2 {
	position: absolute;
	font-size: 2vw;
	top: 52%;
	left: 9em;
	text-shadow: 5px 7px 8px #000000;
}

#main p {
	margin:30px 0 30px 0;
 }

#main2 p {
   margin:0 0 50px 0;
}

#main div.section {
	margin: 0;
}

#main h3 {
   margin-bottom:3px;
   padding-left:15px;
   font-size:36px;
   font-weight:bold;
   background:url("../img/slk_aicon1.png") 0 50% no-repeat;
}

#main2 h3 {
	margin-bottom:3px;
	padding-left:15px;
	font-size:36px;
	font-weight:bold;
	background:url("../img/slk_aicon1.png") 0 50% no-repeat;
 }

 #main2 h4 {
	margin-bottom:3px;
	padding-left:15px;
	font-size:36px;
	font-weight:bold;
 }

#main2 div.section {
   margin:0 0 50px 0;
}

#main2 dt {
   margin-bottom:3px;
}

#main2 dd {
   padding:0;
   margin:0;
   text-indent: 20px;
   background-size: cover;
   background:#535353;
}

.sample {
  width: 1200px;
  height: 200px;
  border: solid 1px;
  overflow: auto;
}

/*==================================================
スーッ（枠線が伸びて出現）
===================================*/

/*枠線が伸びて出現*/

#main table {
	width:1000px;
	border-collapse: collapse;
 }
 
 #main table th {
	width:22%;
	padding:5px;
	font-size:24px;
	text-align:center;
	border:2px solid #ddd;
	background:#004043;
 }
 
 #main table td {
	padding:5px;
	font-size:48px;
	text-align:center;
	border:2px solid #ddd;
 }

#main2 table {
	width:1000px;
	border-collapse: collapse;
 }
 
 #main2 table th {
	width:22%;
	padding:5px;
	font-size:24px;
	text-align:center;
	border:2px solid #ddd;
	background:#004043;
 }
 
 #main2 table td {
	padding:5px;
	font-size:24px;
	text-align:center;
	border:2px solid #ddd;
 }

.lineTrigger{
	position: relative; /* 枠線が書かれる基点*/
	opacity:0;
	width:1000px;
	border-collapse: collapse;
  }
  
  .lineTrigger.lineanime{
	animation-name:lineAnimeBase;
	animation-duration:1s;
	animation-fill-mode:forwards;
  }
  
  @keyframes lineAnimeBase{
	from {
	  opacity:0;
	}
  
	to {
	  opacity:1;  
  }
  }
  
  /*上下線*/
  .lineTrigger::before,
  .lineTrigger::after{
	position: absolute;
	content:"";
	width:0;
	height:2px;
	background:#ddd;/* 枠線の色*/
  }
  
  /*左右線*/
  .line2::before,
  .line2::after{
	position: absolute;
	content:"";
	width: 2px;
	height:0;
	background:#ddd;/* 枠線の色*/
  }
  
  /*上線*/
  .lineTrigger::before {
	top:0;
	left:0;
  }
  
  .lineTrigger.lineanime::before {
	animation: lineAnime .3s linear 0s forwards;/*表示されて0秒後に上線が0.5秒かけて表示*/
  }
  
  /*右線*/
  .line2::before{ 
	top:0;
	right:0;
  }
  
  .lineTrigger.lineanime .line2::before {
	animation: lineAnime2 .3s linear .3s forwards;/*表示されて0.5秒後に右線が0.5秒かけて表示*/
  }
  
  /*下線*/
  .lineTrigger::after { 
	bottom:0;
	right:0;
  }
  
  .lineTrigger.lineanime::after {
	animation: lineAnime .3s linear .6s forwards;/*表示されて1秒後に下線が0.5秒かけて表示*/
  }
  
  /*左線*/
  .line2::after{ 
	bottom:0;
	left:0;
  }
  
  .lineTrigger.lineanime .line2::after {
	animation: lineAnime2 .3s linear .9s forwards;/*表示されて1.5秒後に左線が0.5秒かけて表示*/
  }
  
  @keyframes lineAnime {
	0% {width:0%;}
	  100%{width:100%;}
  }
  
  @keyframes lineAnime2 {
	0% {height:0%;}
	  100%{height:100%;}
  }
  
  /*枠線内側の要素*/
  
  .lineTrigger.lineanime .lineinappear{
	animation: lineInnerAnime .3s linear 1.2s forwards;/*1.5秒後に中央のエリアが0.5秒かけて表示*/
	opacity: 0;/*初期値を透過0にする*/ 
  }
  
  @keyframes lineInnerAnime{
	0% {opacity:0;}
	  100% {opacity:1;}
  }

/*背景色が伸びて出現（共通）*/
.bgextend{
	animation-name:bgextendAnimeBase;
	animation-duration:1s;
	animation-fill-mode:forwards;
	position: relative;
	overflow: hidden;/*　はみ出た色要素を隠す　*/
	opacity:0;
  }
  
  @keyframes bgextendAnimeBase{
	from {
	  opacity:0;
	}
  
	to {
	  opacity:1;  
  }
  }
  
  /*中の要素*/
  .bgappear{
	animation-name:bgextendAnimeSecond;
	animation-duration:1s;
	animation-delay: 0.6s;
	animation-fill-mode:forwards;
	opacity: 0;
  }
  
  @keyframes bgextendAnimeSecond{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
  }
  }

  .bgDUextend::before{
	animation-name:bgDUextendAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	  content: "";
	  position: absolute;
	  width: 100%;
	  height: 100%;
	  background-color: #314472;/*伸びる背景色の設定*/
  }
  @keyframes bgDUextendAnime{
	0% {
	  transform-origin:bottom;
	  transform:scaleY(0);
	}
	50% {
	  transform-origin:bottom;
	  transform:scaleY(1);
	}
	50.001% {
	  transform-origin:top;
	}
	100% {
	  transform-origin:top;
	  transform:scaleY(0);
	}
  }

/* ========PAGETOP CUSTOMIZE========= */
#pageTop {
   margin:10px 0;
   text-align:right;
}

#pageTop a {
   padding-left:22px;
   background:url("../img/pagetop2.png") 0 50% no-repeat;
   background-size:20%;
}


/* ========FOOTMENU CUSTOMIZE======== */
#footMenu ul {
   margin:0 0 10px 0;
   padding:10px 0 0 0;
   color:#000000;
   text-align:center;
   background:url("../img/dotline.png") 0 0 repeat-x;
}

#footMenu li {
   display:inline;
   margin:0 0 0 10px;
   list-style:none;
}

#footMenu li a {
   padding-left:20px;
   background: url("../img/footmenu.png") 0 50% no-repeat;
}

/* ========FOOTER CUSTOMIZE======== */
.copyright {
   padding:10px 0;
   font-style:normal;
   font-size:11px;
   color:#000000;
   text-align:center;
   background:url("../images/bg_footer_right.gif") 100% 0 no-repeat;
}


@media(max-width:750px){
    .pc{
        display: none !important;
    }
}
@media(min-width: 751px) {
	.sp{
        display: none !important;
    }
}
/* ========topMENU CUSTOMIZE======== */
#header #topMenu ul {
	display: flex;
	position: relative;
	margin:0 0 10px 0;
	padding:0;
	color:#00f7ff;
	text-align:right;
 }
 
 #header #topMenu li {
	display:inline-block;
	margin:0px 0 0 20px;
	list-style:none;
 }
 
 #header #topMenu li a {
	margin:0;
	padding:30px 0 0 0;
	color:#ffffff;
	text-decoration:none;
 }
 
 #header #topMenu li a:hover {
	color:#0172AB;
 }


/* 共通スタイル */
  
  h1{
	margin: 0;
	font-size: 32px;
  }
  
  
  ul{
	list-style: none;
	padding: 0;
	margin: 0;
  }
  
  /* ヘッダー */
  
  .header__inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 120px;
	padding: 0 20px;
  }
  
  /* ハンバーガーメニュー */
  @media(max-width: 769px) {
  .hamburger-menu{
	display: flex;
	align-items: center;
	width: 32px;
	height: 32px;
	cursor: pointer;
	z-index: 10;
  }
  
  .hamburger-menu__line{
	display: block;
	width: 100%;
	height: 4px;
	border-radius: 4px;
	background-color: #FFF;
	position: relative;
	transition: all 0.5s;
  }
  .hamburger-menu__line::before,
  .hamburger-menu__line::after{
	content: '';
	display: block;
	width: 100%;
	height: 4px;
	border-radius: 4px;
	background-color: #FFF;
	position: absolute;
	transition: all 0.5s;
  }
  
  .hamburger-menu__line::before{
	transform: translateY(-12px);
  }
  .hamburger-menu__line::after{
	transform: translateY(12px);
  }
  
  .hamburger-menu.open .hamburger-menu__line{
	background-color: transparent;
  }
  .hamburger-menu.open .hamburger-menu__line::before{
	transform: rotate(45deg);
  }
  .hamburger-menu.open .hamburger-menu__line::after{
	transform: rotate(-45deg);
  }
}

  /* ナビゲーション */
  .nav-sp{
	box-sizing: border-box;
	position: absolute;
	top: 0;
	right: -300px;
	width: 300px;
	height: 100%;
	padding: 60px 10px 0;
	background-color: rgba(20,63,143,0.5);
	text-align: left;
	transition: right 0.5s;
  }
  
  .nav-sp.open{
	right: 0;
  }
  
  .nav-sp a{
	display: inline-block;
	padding: 5px 0;
  }
  /* ファーストビュー */
  .first-view{
	height: calc(100vh - 60px);
  }
  
  .first-view img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
  }
  .input-area {
	margin-bottom: 20px;
 }
 input[type="text"],input[type="email"],input[type="tel"],select {
	width: 600px;
	height: 30px;
 }
 textarea {
	width: 600px;
	height: 400px;
 }
 p {
	font-weight: bold;
	font-size: 20px;
 }
 .btn-border {
	display: inline-block;
	position: relative;
    left: 50%;
    transform: translateX(-50%);
	max-width: 300px;
	text-align: center;
	border: 2px solid #0172AB;
	font-size: 20px;
	margin: 10px;
	color: #0172AB;
	text-decoration: none;
	font-weight: bold;
	padding: 8px 30px;
	border-radius: 4px;
	transition: .4s;
 }
 .btn-border:hover {
	background-color: #0172AB;
	border-color: #0172AB;
	color: #FFF;
 }

 div.input-area h6 {
	font-size: 100px;
	color:#ffc4f2;
}