@charset "UTF-8";
/*====================================================================
 AI-CONSULTING WEB CSS2 2023-5-20
 Copyright NPRD K.Ishijima
======================================================================
 レスポンシブ
 topmovies (.mp4),
 Menu headr fixed,
 Footer fixed,
 section background fixed
 Reset.css ./css/reset.css
======================================================================*/
.f1{font-family: 'Kosugi Maru', sans-serif;}
.f2{font-family: 'Train One', cursive;}
.f3{font-family: 'BIZ UDPGothic', sans-serif;}
.f4{font-family: 'BIZ UDPGothic', sans-serif;}
.f5{font-family: 'Kiwi Maru', serif;}
.f6{font-family: 'Noto Sans JP', sans-serif;}
.f7{font-family: 'Zen Kaku Gothic New', sans-serif;}
.f8{font-family: 'Prompt', sans-serif;}
h1{font-size:3.0em;}
h2{font-size:2.2em;display:block;}
h3{font-size:1.8em;display:block;}
.fs12{font-size:1.2em}
.fs15{font-size:1.5em}
.fs18{font-size:1.8em}
.fs20{font-size:2.0em}
.fs23{font-size:2.3em}
.fs25{font-size:2.5em}
.fs30{font-size:3.0em}


*{border-sizing:border-box;}

body{
	background:#fff;
	line-height:1.5;
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
	/*letter-spacing:0.em;*/
	font-size:1em;
	font-size:16px;
}
.lt01{letter-spacing:0.1em;}
.lt02{letter-spacing:0.2em;}
.lt03{letter-spacing:0.3em;}
.lt04{letter-spacing:0.4em;}
.lt05{letter-spacing:0.5em;}

header,
.header-color {
	width:100%;
	padding:30px 4% 10px;
	background-color:transparent;
	position:fixed;
	top:0;
	display:flex;
	align-items:center;
	z-index:20;
}
/* ヘッダースクロールで背景色変化 */
.header-color.change-color{
	background-color:rgba(65, 65, 64, 0.4) !important;
	/*background-color:rgba(255, 255, 255, 0.8);	背景は白ベース*/
}
/**********************************************
 タイピングで出力 
***********************************************/

h2.typeing{
	width: 710px;
	font-weight: 500;
	letter-spacing: .1em;
	color: #fff;
	white-space: nowrap;
	overflow: hidden;
	border-right: 1px solid rgba(255,255,255,.5);
	animation: typing 10s steps(28), blink .5s steps(1) infinite alternate;
	background: linear-gradient(rgba(0, 0, 0, .2), rgba(0, 0, 0, .2));
	padding:5px 1%;
}
h2.typeing span{
	color:#ff0000;
}
@keyframes typing{
	0% {width: 0;}
}
@keyframes blink{
	50% {border-right-color: transparent;}
}

/*
h2.TextTyping{
	width: 41%;
	font-weight: 700;
	letter-spacing: .1em;
	color: #fff;
	white-space: nowrap;
	overflow: hidden;
	background: linear-gradient(rgba(0, 0, 0, .2), rgba(0, 0, 0, .2));
	padding:5px 1%;
}

.TextTyping span {
	display: none;
}
*/
/*文字列後ろの線の設定*/
/*.TextTyping::after {
	content: "|";
	animation: typinganime .8s ease infinite;
	animation-delay: 20s;
}

@keyframes typinganime{
	from{opacity:0}
	to{opacity:1}
}
*/
/***********************************************
 コンテンツ表示のタイムラグ 
***********************************************/

.fadenav{
	animation: fadeIn 5s ease 0s 1 normal;
}
	@keyframes fadeIn {
		from {
			opacity: 0;
			transform: translateY(-20px); /*-- フェード前の位置 --*/
			}
		to {
			opacity: 1;
			transform: translateY(0);/*-- フェードの位置 --*/
			}
		}
 
header h1.logo{
	margin:0;
	padding:0;
	font-size:20px;
	width:180px;
}
a{
	text-decoration:none;
	color:#fff;
}
header ul{
	margin:0;
	display:flex;
}
header ul li{
	margin:0 0 0 30px;
	font-size:14px;
}
.main-visual{
	width:100%;
	display:flex;
	justify-content:center;
	align-items:center;
	height:100vh;
	overflow:hidden;
}

.main-visual::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: #27689b;
	opacity:0.8;
	clip-path: polygon(0 0 , 100% 0, 100% 8%, 0 8%);
}
.main-visual::after{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: #27689b;
	opacity:0.8;
	clip-path: polygon(0 8% , 100% 8%, 35% 8%, 0 80%);
}
#bg-video {
	display: block;
	min-width:100%;
	width: 100%;
	height: 100vh;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index:-1;
}
/*******************************************
 トップ画面の下へ・・・SCROLL
*******************************************/
.mouse {
	display: block;
	margin: 0 auto;
	width: 26px;
	height: 80px;
	border-radius: 13px;
	border: 2px solid #c0c0c0;
	position:absolute;
	top:80%;
	left:0;
	right:0;
	margin:auto;
}
.mouse span {
	display: block;
	margin: 6px auto;
	width: 6px;
	height: 6px;
	border-radius: 4px;
	background: #fff;
	border: 1px solid transparent;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-name: scroll;
	animation-name: scroll;
}

@-webkit-keyframes scroll {
	0% {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	}
	100% {
	opacity: 0;
	-webkit-transform: translateY(60px);
	transform: translateY(60px);
	}
}
@keyframes scroll {
	0% {
	opacity: 1;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
	}

	100% {
	opacity: 0;
	-webkit-transform: translateY(60px);
	-ms-transform: translateY(60px);
	transform: translateY(60px);
	}
}

nav {
	margin:0 0 0 auto;
}
.sp-nav{
	display:none;
}

@media screen and (max-width: 767px) {
	.pc-nav{
		display:none;
	}
	.sp-nav{
		Z-index:4;
		position:fixed;
		top:0;
		left:0;
		width:100%;
		height:100vh;
		display:block;
		width:100%;
		background: rgba(0, 0, 0, .8);
		opacity:0;
		transform:translateY(-100%);
		transition:all .2s ease-in-out;
	}
	header #hamburger{
		position:relative;
		display:block;
		width:30px;
		height:25px;
		margin:0 0 0 auto;
	}
	header #hamburger span{
		position:absolute;
		top:50%;
		left:0;
		display:block;
		width:100%;
		height:2px;
		background-color:#fff;
		transform:translateY(-50%);
	}
	header #hamburger::before{
		content:"";
		display:block;
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:2px;
		background-color:#fff;
	}
	header #hamburger::after{
		content:"";
		display:block;
		position:absolute;
		bottom:0;
		left:0;
		width:70%;
		height:2px;
		background-color:#fff;
	}
	/* スマホメニュー */
	.sp-nav ul{
		padding:0;
		display:flex;
		flex-direction:column;
		justify-content:center;
		align-items:center;
		height:100%;
	}
	.sp-nav li{
		margin:0;
		padding:0;
	}
	.sp-nav li span{
		font-size:15px;
		color:#fff;
	}
	.sp-nav li a, .sp-nav li span{
		display:block;
		padding:20px 0;
	}
	/* 閉じる基準となるli要素 */
	.sp-nav .close{
		position:relative;
		padding-left:20px;
	}
	/* バツ印線1 */
	.sp-nav .close::before{
		content:"";
		position:absolute;
		top:50%;
		left:0;
		display:block;
		width:16px;
		height:1px;
		background:#fff;
		transform:rotate(45deg);
	}
	/* バツ印線2 */
	.sp-nav .close::after{
		content:"";
		position:absolute;
		top:50%;
		left:0;
		display:block;
		width:16px;
		height:1px;
		background:#fff;
		transform:rotate(-45deg);
	}
	.toggle{
		transform:translateY(0);
		opacity: 1;
	}
	.main-visual{
		padding:0 4%;
	}
	.main-visual h2{
		liheight:1.6;
		text-align:center;
	}
	#bg-video {
		width: 100%;
		height: 100vh;
		object-fit: cover;
	}
	
	h2.typeing{
		width: 90%;
		font-size:1em;
	}
}

.Contents {
	position:relative;
	width: 100%; /* コンテンツの横幅を指定する */
	overflow: hidden; /* コンテンツの表示を自動に設定（スクロール） */
	background:#27689b;
	height:100vh;
	/*clip-path: polygon(0 0% , 100% 100%, 100% 100%, 0 100%);
	z-index:-1;
	opacity:1;*/
	
}
.Contents h1{
	position:absolute;
	width:100%;
	text-align:center;
	color:#fff;
	margin:10vh 0 5vh;
	padding:10px 0;
	background: linear-gradient(rgba(0, 0, 0, .2), rgba(0, 0, 0, .2));
}
.Contents_box {
	position:absolute;
	top:25%;
	left:2%;
	margin:0 auto;
	width: 96%; /* コンテンツの横幅を指定する */
	height: 70vh; /* コンテンツの高さを指定する */
	border-radius: 50px;
	display:flex;
	overflow:hidden;
	background: linear-gradient(rgba(0, 0, 0, .8), rgba(0, 0, 0, .1));
	/*transition: 5s;
	background-image: url("../img/bg/sec01_bg.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;*/
}
@media screen and (max-width: 767px) {
	.Contents h1{
		font-size:1.1em;
		margin:2vh auto;
		padding:10px 0;;
	}
	.Contents_box {
		display:block;
		top:12vh;
		height:82vh;
	}
}
/*
.Contents_box::before{
	content:"";
	display: block;
	width: 160%;
	height: 100%;
	background-image: url("../img/bg/sec01_bg.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	webkit-animation: zoom 8s 1;
	animation: zoom 8s 1;
	animation-fill-mode: forwards;
	animation-delay: 1s;
	transition: 5s;
}*/
/*
@keyframes zoom {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.56);
	}
}
*/
.Contents_box h2{
	color:#fff;
	width:65%;
	height:90vh;
	padding:30px 80px 0 0;
	margin:0;
	font-size:2.5em;
	text-align:right;
	transition: 5s;
	background-image: url("../img/bg/sec01_bg.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.animation1{
	transform: scale(0.6, 0.6);
	-webkit-transform: scale(0.6, 0.6);
}
.animation1_run{
	transform: scale(1.3, 1.3);
	-webkit-transform: scale(1.3, 1.3);
}

/* フェードイン(初期値) */
.js-fadeUp {
	opacity: 0; /* 最初は非表示 */
	transform: translateY(30px); /* 下に30pxの位置から */
	transition: opacity 10s, transform 5s; /* 透過率と縦方向の移動を0.8秒 */
}
/* フェードイン(スクロールした後) */
.js-fadeUp.is-inview {
	opacity: 1; /* 表示領域に入ったら表示 */
	transform: translateY(0); /* 30px上に移動する */
	transition-delay: .5s; /* フェード開始を0.5秒遅らせる */
}
.Contents_box .cont_txt{
	padding:30px 30px;
	font-size:1.2em;
	width:35%;
	color:#fff;
	/*background:#1eaaff;
	opacity: 0.5;*/
}
@media screen and (max-width: 767px) {
	.Contents_box h2{
		width:96%;
		height:35vh;
		padding:0;
		margin:20px 0 0;
		text-align:center;
		font-size:2em;
	}
	.Contents_box .cont_txt{
		width:96%;
		margin:8px 0 0;
		height:90vh;
		padding:20px 10px 10px;
	}
}

/*-------------------------------------------------------------------
 AI BRAIN
--------------------------------------------------------------------*/
.sec01{
	position:relative;
	height:130vh;
	background:#fef4f4;
	margin:0 auto;
	padding:10vh 0 5vh;
}
.sec01::before{
	content:"";
	position:absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	clip-path: polygon(0 0% , 100% 0%, 100% 100%, 0 100%);
	background:#27689b;
}
.sec01::after{
	content:"";
	position:absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	clip-path: polygon(80% 0% , 100% 100%, 100% 100%, 0 0%);
	background:#fef4f4;
}
.sec01 .sec_box{
	position:relative;
	margin:0 auto;
	width: 96%; /* コンテンツの横幅を指定する */
	height: 113vh; /* コンテンツの高さを指定する */
	border-radius: 50px;
	background: linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .3)), url("../img/bg/test2_bg.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	overflow:hidden;
	z-index:2;
}
@media screen and (max-width: 767px) {
	.sec01{
		padding:10px 0;
		height:auto;
		overflow:hidden;
	}
	.sec01 .sec_box{
		/*height:296vh;*/
		height:2710px;	/*3197*/
		display:block;
		overflow:hidden;
	}
}
.sec01 .sec_box p{
	text-indent:1em;
}
.sec01 .sec_box h2{
	text-align:center;
	color:#fff;
	width:30%;
	height:30vh;
	margin:30px 0 0;
	font-size:2.5em;
}
.sec01 .cont_txt{
	padding:30px 10px 0;
	font-size:1em;
	width:65%;
	height:30vh;
	color:#fff;
}
.sec01 .sec_box .cont_txt h4{
	width:34%;
	font-size:1.2em;
	padding:10px 0 0;
	background: linear-gradient(transparent 60%, #9e9eff 30%);
}
@media screen and (max-width: 767px) {
	.sec01 .sec_box h2{
		text-align:center;
		color:#fff;
		width:90%;
		height:auto;
		margin:20px 0 0;
		font-size:2em;
	}
	.sec01 .cont_txt{
		padding:10px 5px;
		font-size:1.2em;
		width:90%;
		height:auto;
		margin:5px auto 10px;
	}
	.sec01 .sec_box .cont_txt h4{
		display:block;
		width:98%;
		text-align:center;
		font-size:1em;
		padding:10px 0;;
		background: linear-gradient(transparent 60%, #9e9eff 30%);
	}
	.sec01 .sec_box .cont_txt p{
	
	}
}
.sec01 .cont_under{
	position:relative;
	width:98%;
	max-height:80vh;
	height:80vh;
	color:#fff;
	margin:0 auto;
	padding:0;
	font-size:1em;
}
.sec01 .cont_under h3{
	position:absolute;
	top:0;
	width:98%;
	padding:15px 0;
	margin-bottom:20px;
	text-align:center;
	color:#fff;
	background: linear-gradient(rgba(0, 0, 0, .4), rgba(0, 0, 0, .4));
}
.sec01 .cont_under p{
	position:absolute;
	top:60px;
	width:98%;
	padding:10px 0;
}
@media screen and (max-width: 767px) {
	.sec01 .cont_under{
		height:auto;
		margin:0 auto;
		padding:0;
	}
	.sec01 .cont_under h3{
		padding:10px 0;
		font-size:1.4em;
	}
	.sec01 .cont_under p{
		top:50px;
	}
}
.sec01 .cont_under ul.flex{	/* Flexで横並びの整列 */
	position:absolute;
	top:100px;
	display:flex;
	display: -webkit-flex;
	width:98%;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	margin:20px auto 0;
	height:auto;
	background: linear-gradient(rgba(0, 0, 0, .4), rgba(0, 0, 0, .4));
	border-radius:0 0 30px 30px;
}
.sec01 .cont_under ul.flex li{
	width:22%;
	height:470px;
	margin:0 1.5%;
	padding:10px 0;
}
.sec01 .cont_under ul.flex li h4{
	text-align:center;
	padding:20px 0 10px;
	font-size:1.2em;
	background: linear-gradient(transparent 60%, #9e9eff 40%)
}
.sec01 .cont_under ul.flex li figure{
	text-align: center;
	width:100%;
	height:auto;
	padding:15px 0;
}
.sec01 .cont_under ul.flex li figure img{
	border-radius:10px;
}
.sec01 .cont_under ul.flex li p{
	padding:10px 5px;
}
#container section{
	width:100%;
	margin:0 auto;
}
@media screen and (max-width: 767px) {
	.sec01 .cont_under ul.flex{	/* Flexで横並びの整列 */
		top:160px;
		display:block;
		width:100%;
		margin:0 auto;
		height:auto;
		padding:0;
	}
	.sec01 .cont_under ul.flex li{
		display:block;
		width:100%;
		margin:0 auto;
		height:420px;
		margin-bottom:5px;
		padding:0 10px 5px;
	}
}
/*--------------------------------------------------------------------
 BUSINESS
---------------------------------------------------------------------*/
.contents2{
	width: 100%; /* コンテンツの横幅を指定する */
	overflow: auto; /* コンテンツの表示を自動に設定（スクロール） */
	background:#27689b;
}
.sec02{/* 背景固定しペース */
	position:relative;
	min-height:100vh;
	height:100vh;	/* スクロールさせるための高さ設定 */
	background-size:cover;
	background-attachment:fixed;	/* 背景画像を固定 */
	background-repeat:no-repeat;
	background-position:center center;
	z-index:1;
}
.sec02.bg_fix{			/* 背景画像 */
	background-image: url('../img/bg/sec02_bg.jpg');
}
.sec02 h2{
	padding:30px 0 0;
	text-align:center;
	color:#fff;
	font-size:2.5em;
}
.sec02 .bg_opc{
	width:96%;
	height:80vh;
	opacity:0.9;
	margin:30px auto 0;
	overflow:hidden;
	border-radius:50px;
	/*background:#fff;*/
}
.sec02 .bg_opc ul{
	display:flex;
	display: -webkit-flex;
	width:100%;
	height:auto;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	overflow:hidden;
	padding:30px 0;
}
.sec02 .bg_opc ul li{
	width:50%;
	height:55vh;
	background:#151515;
	color:#fff;
	margin:0 0.6%;
	border-radius:20px;
}
.sec02 .bg_opc ul li ul li{
	height:18vh;
	/*background:#fff;*/
	padding:10px;
	/*border-top:1px solid #fff;
	border-bottom:1px solid #fff;*/
}
.sec02 .bg_opc h4{
	width:94%;
	color:#fff;
	letter-spacing:0.2em;
	padding:20px 0 10px;
	margin: 0 auto 10px;
	text-align:center;
	font-size:1.2em;
	background: linear-gradient(transparent 60%, #9e9eff 40%)
}
.sec02 .bg_opc ul li p{
	line-height:2em;
	padding:0 20px;
}
@media screen and (max-width: 767px) {
	.sec02 h2{
		padding:20px 0;
		font-size:2em;
		margin:0;
	}
		.sec02 .bg_opc ul{
		display:block;
		padding:0;
		margin:0;
	}
	.sec02 .bg_opc ul li{
		width:100%;
		height:55vh;
		margin:0%;
		padding:0;
		border-radius:10px;
	}
	.sec02 .bg_opc ul li ul li{
		height:18vh;
		padding:10px;
		border-top:1px solid #fff;
		border-bottom:1px solid #fff;
	}
	.sec02 .bg_opc h4{
		width:100%;
		letter-spacing:0.2em;
		padding:30px 0 15px;
		margin: 0px auto 20px;
		font-size:1.2em;
		background: linear-gradient(transparent 85%, #9e9eff 70%)
	}
	.sec02 .bg_opc ul li p{
		line-height:2em;
		padding:0 20px;
	}
}
/*--------------------------------------------------------------------
 COMPANY
---------------------------------------------------------------------*/
.sec04{
	position:relative;
	width:100%;
	height:100vh;
	background:#fff;
	/*overflow:hidden;*/
	z-index:-1;
}
.sec04::after{
	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	clip-path: polygon(0 80% , 100% 8%, 100% 0%, 0% 0%);
	background:#27689b;
	z-index:2;
}
.sec04 h2{
	position:relative;
	text-align:center;
	padding:30px 0 0;
	font-size:2.5em;
	color:#fff;
	z-index:3;
}
.sec04 .comp_inner{
	position:absolute;
	width:96%;
	height:80vh;
	top:10vh;
	bottom:0;
	left:4%;
	right:0;
	margin:25px auto 0;
	/*clip-path: polygon(0 100% , 100% 0, 100% 0%, 0 0%);*/
	background:#fff;
	/*border-radius:50px;*/
	overflow:hidden;
	z-index:3;
	opacity:0.8;
}
.sec04 .comp_inner h4.gaiyo{
	width:74%;
	padding:30px 0;
	color:#111;
	letter-spacing:.5em;
	margin-left:10%;
}
@media screen and (max-width: 767px) {
	.sec04 h2{
		font-size:2em;
	}
	.sec04 .comp_inner{
		margin:0;
		padding:0;
		height:800px;
	}
	.sec04 .comp_inner h4.gaiyo{
		width:100%;
		padding:20px 0 10px;
		margin:0;
		text-align:center;
	}
}
dl.comp_list{
	position:relative;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;	
	width: 83%;
	float:right;
	margin-right:30px;
	color:#111;
	z-index:5;
}
dl.comp_list dt{
	padding: 5px;
	width: 120px;
	border-bottom: 2px solid #fff;
	margin-right:20px;
	margin-top:30px;
	font-weight:600;
	font-size:1.2em;
}
dl.comp_list dd{
	padding: 5px;
	margin-top:30px;
	width: calc(100% - 140px);
	border-bottom: 2px solid #fff;
	text-indent:1em;
	font-size:1.1em;
}
@media screen and (max-width: 767px) {
	dl.comp_list{
		display: block;
		width: 96%;
		float:none;;
		margin:0px;
	}
	dl.comp_list dt{
		padding:5px 0 5px 5px;
		width:100%;
		border:0;
		margin:5px 0;
		font-weight:600;
		font-size:1.2em;
	}
	dl.comp_list dd{
		width:100%;
		padding:5px 0 5px 5px;
		margin:0 0 30px;
		border-bottom: 1px solid #27689b;
		text-indent:0em;
		font-size:1.2em;
	}
}
/*----------------------------------------------------
 Contact 
------------------------------------------------------*/
.last_box{
	position:relative;
	width:100%;
	height:145vh;
	margin:0 auto;
	background-size:cover;
	padding:50px 0 80px;
}
.last_box::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: #27689b;
	clip-path: polygon(0 0 , 100% 0, 100% 8%, 0 8%);
}
.last_box::after{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: #27689b;
	/*opacity:0.8;*/
	clip-path: polygon(0 8% , 100% 8%, 55% 8%, 0 100%);
}
.last_box h2{
	position:relative;
	text-align:center;
	font-weight:700;
	background: linear-gradient(transparent 60%, yellow 30%);
	width:25%;
	margin:80px auto 0;
	padding:0px 0 0;
	border-radius:10px;
	z-index:10;
}
.last_box .inner{
	position:relative;
	width:90%;
	height:100vh;
	margin:30px auto;
	padding:30px 10px;
	/*background:#fff;
	opacity:0.8;*/
	font-size:16px;
	z-index:1;
}
.last_box .inner::before{
	content:'';
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	background-color: #27689b;
	/*opacity:0.8;*/
	clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
	z-index:1;
}
@media screen and (max-width: 767px) {
	.last_box{
		height:145vh;
		padding:0px;
	}
	.last_box h2{
		width:70%;
		margin:10px auto 0;
		padding:15px 0 10px;
		font-size:2em;
	}
}
.m_form{
	position:relative;
	width:85%;
	margin:0 auto;
	color:#000;
	z-index:3;
}
p.contact_txt{
	padding:20px 0;
	font-size:18px;
	font-weight:500;
	color:#fff
}
p.contact_txt::before{
	font-family: 'Font Awesome\ 5 Pro';
	content: "\f0e0";
	width: 1em;
	text-align: center;
	font-weight: bold;
	font-size:18px;
	line-height: 1;
	margin-right: 0.5em;
	color:#fff;
}
.m_form fieldset{
	border:0;
}
.m_form fieldset legend{
	font-weight:500;
	padding:20px;
	color:#fff;
	font-size:1.2em;
}
.m_form fieldset dl{
	padding:0 10px;
	
}
.m_form fieldset hr{
	border:1px dashed #0000ff;
	margin:10px 0;
}
.m_form fieldset dl dt{
	width:33%;
	/*background:#27689b;*/
	padding:20px 1%;
	margin:2px 1%;
	display:inline-block;
	/*border-radius:8px;*/
	font-weight:500;
	font-size:1.2em;
	color:#fff;
	font-family: 'Zen Kaku Gothic New', sans-serif;
}
.m_form fieldset dl dt em{
	background:#ff0000;
	padding:2px 5px;
	color:#fff;
	border-radius:10px;
	font-size:0.8em;
	float:right;
}
.m_form fieldset dl dt.textarea{
	vertical-align:top;
}
.m_form fieldset dl dd{
	display:inline-block;
	width:64%;
	box-sizing: border-box;
	padding:2px;
	/*width: calc(70% - 2em);*/
	border:none;
	line-height:2;
}
@media screen and (max-width: 767px) {
	.m_form{
		position:relative;
		width:100%;
		margin:0 auto;
	}
	p.contact_txt{
		width:100%;
		padding:0 0 30px;
		font-size:20px;
		font-weight:600;
		color:#111
	}
	.m_form fieldset{
		border:0;
	}
	.m_form fieldset legend{
		text-align:center;
		font-weight:600;
		letter-spacing:.3em;
	}
	.m_form fieldset dl{
		width:100%;
		padding:0px;
	}
	.m_form fieldset hr{
		border:1px dashed #0000ff;
		margin:0;
	}
	.m_form fieldset dl dt{
		width:100%;
		padding:10px 0;
		margin:0;
		display:block;
		font-weight:500;
		font-size:1.2em;
		color:#fff;
	}
	.m_form fieldset dl dt em{
		padding:0px 3px
		margin:0;
		border-radius:5px;
		font-size:0.7em;
		/*float:none;*/
	}
	.m_form fieldset dl dt.textarea{
		vertical-align:top;
	}
	.m_form fieldset dl dd{
		display:block;
		width:100%;
	}
}

.m_form fieldset input[type='text'],
.m_form fieldset input[type='email'],
.m_form fieldset input[type='tel']{
	width:100%;
	border:none;
	padding:10px 0 10px 10px;
	border-radius:8px;
	background:#fffafa;
}
.m_form fieldset textarea{
	width:100%;
	border:none;
	border-radius:8px;
	background:#fffafa;
}
.m_form .but{
	width:50%;
	margin:30px auto;
	padding:20px;
	/*background:#fff;*/
	display:flex;
	justify-content:center;
}
.m_form ::placeholder{
	color:#ccc;
}

.m_form .but input[type='reset'],
.m_form .but input[type='submit']{
	width:150px;
	padding:20px 0;
	margin:0 10px 0 20px;
	background:#27689b;
	color:#fff;
	border:none;
	border-radius:10px;
}
/******************************************************
 FOOTER
******************************************************/

/*-footer-*/
footer {
	width:100%;
	position:fixed;
	bottom:0px;
	height:70px;
	background:#27689b;	/*#27689b;*/
	z-index:999;
	opacity:0.8;
}
footer div.f_txt{
	padding:25px 0 30px;
	opacity:0.8;
	height:60px;
	text-align:center;
	color: #fff;
}
footer div.f_txt a{
	color:#fff;
}
footer div.f_txt a:hover{
	color:#47689b;
	background:#fff;
}


