
*{
	font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
html{
	scroll-behavior: smooth;
}

body{
	color:#383838;
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
}
a{
	color:#00CCA3;
}
a:hover{
	text-decoration: underline;
}
input::placeholder {
	color: #CCCCCC;
}
input:-ms-input-placeholder {
	color: #CCCCCC;
}
input::-ms-input-placeholder {
	color: #CCCCCC;
}


.wrap{
	width: auto;
	margin:0 60px;
	min-width: 1100px;
}
.wrap--nopadding{
	width: 100%;
}
#content{
	overflow-x: hidden;
}

#content{
	margin-left: 80px;
}


/*********************************

header

*********************************/

header{
	position: fixed;
	transform: translateX(80px);
	left:-275px;
	height: 100%;
	background-color: #00CCA3;
	width: 275px;
	z-index: 9998;
	overflow-y: scroll;
	-ms-overflow-style: none;    /* IE, Edge 対応 */
    scrollbar-width: none;       /* Firefox 対応 */
}

header::-webkit-scrollbar {  /* Chrome, Safari 対応 */
        display:none;
    }

header.act{
	animation: navAct .3s ease-in-out .2s forwards;
}

header.off{
	animation: navOff .3s ease-in-out 0s forwards;
}

@keyframes navAct {
  0% {left:-275px;
	  transform: translateX(80px);
  }
  100% {
	  transform: translateX(0px);
	  left:0px;
  }
}

@keyframes navOff {
  0% {left:0px;
	  transform: translateX(0px);
  }
  100% {left:-275px;
	  transform: translateX(80px);
  }
}

header nav{
	/*margin-top: calc( 50vh - 220px);*/
	/*margin-left: 90px;*/
	position: relative;

	padding-top: 140px;
	padding-left: 42px;

}

header nav li{
	margin-bottom: 14px;
	opacity: 0;
}

header.act nav li{
	animation: navLi 0.3s ease 0.8s 1 forwards;
}
header.act nav li:nth-of-type(1){
	animation: navLi 0.5s ease 1.0s 1 forwards;
}
header.act nav li:nth-of-type(2){
	animation: navLi 0.5s ease 1.08s 1 forwards;
}
header.act nav li:nth-of-type(3){
	animation: navLi 0.5s ease 1.16s 1 forwards;
}
header.act nav li:nth-of-type(4){
	animation: navLi 0.5s ease 1.24s 1 forwards;
}
header.act nav li:nth-of-type(5){
	animation: navLi 0.5s ease 1.32s 1 forwards;
}
header.act nav li:nth-of-type(6){
	animation: navLi 0.5s ease 1.40s 1 forwards;
}
header.act nav li:nth-of-type(7){
	animation: navLi 0.5s ease 1.48s 1 forwards;
}
header.act nav li:nth-of-type(8){
	animation: navLi 0.5s ease 1.56s 1 forwards;
}
header.act nav li:nth-of-type(9){
	animation: navLi 0.5s ease 1.64s 1 forwards;
}
header.act nav li:nth-of-type(10){
	animation: navLi 0.5s ease 1.72s 1 forwards;
}


@-webkit-keyframes navLi {
  100% {
    opacity: 0;
  }
}
@keyframes navLi {
  100% {
    opacity: 1;
  }
}


header nav a{
   color:#fff;
   font-family: Helvetica,HelveticaNeuel,sans-serif;
   font-size: 20px;
}
header a:hover{
	text-decoration: none;
}
.header--main{
	margin-bottom: 50px;
}
.header--foot{
	position: absolute;
	bottom:15px;
}
.header--foot a{
	font-size: 14px;
}
.header--lang{
	position: absolute;
	right:23px;
	top:20px;
	margin-top: 0;
	padding-top: 0 !important;
	padding-right: 0 !important;
}
.header--lang ul{
	margin: 0;
	padding: 0;
}
.header--lang li{
	display: inline-block;
}
.header--lang li+li:before{
	content :"/";
	font-size: 10px;
	margin-left: -3px;
	margin-right: 3px;
	display: inline-block;
	position: relative;
	color: #FFFFFF;
}
.header--lang li.current a{
	color: #000000;
	font-weight: 400;
}
.header--lang a{
	font-size: 12px;
}


/*********************************

コンポーネント  c-*

*********************************/

.c-navbtn{
	position: fixed;
	left:20px;
	top:20px;
	z-index: 9999;
	cursor: pointer;
}

.c-navbtn img{
	width: 40px;
}

.c-navbtn.act img{
	animation: navbtnAct .7s ease 0s 1 forwards;
}

.c-navbtn.off img{
	animation: navbtnOff .7s ease .4s 1 forwards;
}

@keyframes navbtnAct {
0% {transform:rotate(0deg);}
100% {transform:rotate(90deg);}
}

@keyframes navbtnOff {
0% {transform:rotate(0deg);}
100% {transform:rotate(-90deg);}
}

#ci_white{
	height: 32px;
	width:auto;
	margin-bottom: 20px;
	opacity: 0;
}
header.act #ci_white{
	animation: navLi 0.8s ease 0.4s 1 forwards;
}

.c-maintxt{
	color:#00CCA3;
	font-size: 34px;
	line-height: 2.08;
	font-weight: 400;
}

.c-maintxt span{
	display: inline-block;
	background-color: rgba(255,255,255,.2);
	padding: 3px 20px;
	margin-bottom: 5px;
	line-height: 1.5;
}
.c-txt{
	font-size: 22px;
	line-height: 2.27;
	color:#484848;
}

.c-txt span{
	color:#00CCA3;
}

.c-secttl{
	text-align: center;
}

.c-secttl--en{
	font-family: Helvetica,HelveticaNeuel,sans-serif;
	font-size: 40px;
	font-weight: 400;
	color:#00CCA3;
	margin-bottom: 5px;
}

.c-secttl--ja{
	font-size: 22px;
	font-weight: 400;
}

.c-mainimgbg{
	z-index:1;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.c-maintxt{
	z-index: 2;
	position: relative;
}


/*********************************

mv  top--main

*********************************/

.top--main{
	background-color: #000000;
	/*background: #111111 url(../images/bg-main.jpg) no-repeat 50% 50% / cover;*/
	height: 100vh;
	position: relative;
}

.top--main--inner{
	position: absolute;
	top:40vh;
	text-align: center;
	color:#Fff;
	width: 100%;
}
@media ( max-width: 767px){
	.top--main--inner{
		top:calc( 50vh - 130px);
	}
}

.top--main--inner h1 img{
	width: 259px;
	margin-bottom: 40px;
}

.top--main--inner .txt{
	font-family: Helvetica,HelveticaNeuel,sans-serif;
	font-size: 32px;
	font-weight: bold;
	line-height: 0.8;
	text-align: center;
	margin-bottom: 60px;
	/*text-shadow:0px 2px 4px #000;*/
}

.top--main .info{
	font-size: 12px;
	line-height: 1.8;
	font-family: lft-etica, sans-serif;
	font-weight: 400;
	letter-spacing: .04em;
	position: absolute;
	bottom: 50px;
	right: 50px;
	color:#fff;
	text-align: right;
}

.top--main .info a{
	color:#fff;
	text-decoration: underline;
}

/*********************************
mission
*********************************/
.mission{
	text-align: center;
	padding-top: 0px;
	margin-bottom: 200px;
	min-height: 100vh;
	display: flex;
	align-items: center;
}
.mission .c-secttl{
	margin-bottom: 80px;
}
.mission--maintxt{
	margin-bottom: 60px;
}

/*********************************
vision
*********************************/
.vision{
	padding-top: 0px;
	margin-bottom: 150px;

	min-height: 100vh;
	display: flex;
	align-items: center;
}
.vision--main{
	position: relative;
	background: #111111;
	padding-left: 90px;
	height: 585px;
	margin:40px 0 70px;
}
.vision .c-mainimgbg{
	background: #111111 url(../images/bg-vision@2x.jpg) no-repeat 50% 50% / cover;
}
.vision--main .txt{
	padding-top: 200px;
}
.vision--main span.l1{
	margin-left: 25px;}
.vision--main span.l2{}
.vision--main span.l3{
	margin-left: 85px;
}
.vision--txt{
	text-align: center;
}

/*********************************

business

*********************************/
.business{
	padding-top: 50px;
	margin-bottom: 200px;

	min-height: 100vh;
	display: flex;
	align-items: center;
	min-width: 1000px;

}

.business--main{
	position: relative;
	background: #111111;
	padding-left: 90px;
	height: 585px;
	margin:40px 0 70px;
}

.business .c-mainimgbg{
	background: #111111 url(../images/bg-business@2x.jpg) no-repeat 50% 50% / cover;
}
.business--main .txt{
	padding-top: 200px;
}
.business--main span.l1{
	margin-left: 55px;}
.business--main span.l2{}
.business--main span.l3{
	margin-left: 140px;
}

.business--tab{
	display: flex;
	justify-content: space-between;
	margin-bottom: 100px;
	margin-left: 30px;
	margin-right: 30px;
}

.business--tab li{
	font-family: 'Noto Sans JP', sans-serif;
	width: 48%;
	text-align: center;
}
.business--tab li h3{
	font-size: 24px;
	font-weight: 500;
}

.business--tab li p{
	font-size: 18px;
	font-weight: 500;
}

.business--tab li:first-child{
	background-color: #00CCA3;
	color:#fff;
	height: 100px;
	padding: 20px 0;
	position: relative;
}

.business--tab li:first-child::after{
	content:"";
	width: 0;
    height: 0;
    border-style: solid;
    border-width: 21px 12px 0 12px;
    border-color: #00CCA3 transparent transparent transparent;
    display: block;
    position: absolute;
    bottom: -21px;
    left: 0;
    right: 0;
    margin:0 auto;
}

.business--txt{
	text-align: center;
	margin-bottom: 130px;
}

.business--txt p:first-child{
	font-size: 24px;
	color:#00CCA3;
	margin-bottom: 25px;
}

.business--txt p:last-child{
	font-size: 22px;
	line-height: 1.45;
}

.business--tab li:last-child{
	border: 1px solid #BEC0C2;
	transition: all 0.3s;
}

.business--tab li:last-child a{
	display: block;
	height: 60px;
	padding: 20px 0;
	color: #383838;
	transition: all 0.3s;
}
.business--tab li:last-child:hover{
	color: #FFFFFF;
	background-color: #00CCA3;
	border-color: #00CCA3;
}
.business--tab li:last-child:hover a{
	color: #FFFFFF;
}

.business--list{
	padding-top: 70px;
	padding-left: 40px;
	padding-right: 40px;
	display: flex;
}

.business--list--box{
	position: relative;
	width: 25%;
	border-right: 1px solid #BEC0C2;
	padding-right: 15px;
	margin-right: 20px;
}

.business--list--box:last-child{
	border-right: none;
	padding-right: 0px;
	margin-right: 0px;
}

.business--list--box .case{
	position: absolute;
	color: #00CCA3;
	font-weight: 500;
	left: calc( 50% - 40px);
	top: -100px;
}
.business--list--box .case span{
	display: block;
	text-align: center;
	font-size: 1.1rem;
	font-family: Helvetica, sans-serif;
	line-height: 1;
}
.business--list--box .case strong{
	display: block;
	text-align: center;
	font-size: 3.6rem;
	font-family: Helvetica, sans-serif;
	line-height: 1;
}
.business--list--box .txt{
   color: #00CCA3;
   font-size: 17px;
   line-height: 1.666;
   font-family: 'Noto Sans JP', sans-serif;
   font-weight: 500;
   min-height: 50px;
   margin-bottom: 40px;
   text-align: center;
}

.business--list--box .img{
	margin-bottom: 20px;
	text-align: center;
	min-width: 150px;
	height: 130px;
}

.business--list--box img{
	max-width: 100%;
}

.business--list--box dt{
	color: #00CCA3;
	font-size: 18px;
	line-height: 1.4;
	text-align: center;
	font-weight: 500;
	font-family: Helvetica,HelveticaNeuel,sans-serif;
	min-height: 58px;
	margin-bottom: 10px;
}
.business--list--box dt.line1{
	padding-top: 15px;

}
.business--list--box dd{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	line-height: 1.7;
	color: #000;
	min-height: 194px;
	margin-bottom: 30px;
}

.business--list--box a{
	display: block;
	border: 1px solid #707070;
	text-align: center;
	padding: 10px 0;
	margin-right: 5px;
	font-size: 15px;
	color: #383838;
	transition: all 0.3s;
}
.business--list--box a:hover{
	color: #FFFFFF;
	background-color: #00CCA3;
	border-color: #00CCA3;
}

/*********************************
team
*********************************/
.team{
	padding-top: 50px;
	margin-bottom: 100px;

	min-height: 100vh;
	display: flex;
	align-items: center;
	min-width: 1000px;
}

.team--main{
	position: relative;
	background: #111111;
	padding-right: 90px;
	height: 585px;
	margin:40px 0 0px;
}
.team .c-mainimgbg{
	background: #111111 url(../images/bg-team@2x.jpg) no-repeat center bottom;
	background-size: auto 150%;
}

.team--main .txt{
	padding-top: 200px;
	text-align: right;
}
.team--main span.l1{
	margin-right: 20px;}
.team--main span.l2{}
.team--main span.l3{
	margin-right: 50px;
}
.team_content_logo{
	position: absolute;
	width: auto;
	height: 470px;
	left: calc(50% - 240px);
	top: calc(50% - 225px);
}
@media (max-width: 767px){
	.team_content_logo{
		width: 55%;
		height: auto;
		left: calc(10% + 0px);
		/*top: calc(50% - 55px);*/
		top: 160px;
		z-index: 0;
	}
}
/*********************************

profile

*********************************/
.profile{
	padding-top: 50px;
	margin-bottom: 100px;
}
.profile_outer {
	width: 100%;
	overflow: hidden;
	height: 700px;
	margin-top: 90px;
}

/* FLEX */
#wrap_flex {
	/* display: flex; */
	height: 100%;
	position: relative;
	width: max-content;
	background: #FAFAFA;
}

.member{
	transition: all 0.3s ease ;
	float: left;
	height: 700px;
}

.member:hover{
	transition: all 0.3s ease;
}

.member.popup_active{
	width: 340px !important;
}

/* #wrap_flex .member {
	 width:100px;

}*/

/*#wrap_flex.js-stable .member:hover {
	width: 340px !important;
} */

/*
#wrap_flex.js-stable .profile_wrap {
	display: none !important;
}*/
/* .profile_wrap.js-move{
	display: none;
} */


.member:hover{
	backface-visibility: hidden;
}
.member_img_1 {
	background-image: url("../images/member/01.jpg");
}
.member_img_2 {
	background-image: url("../images/member/02.jpg");
}
.member_img_3 {
	background-image: url("../images/member/03.jpg");
}
.member_img_4 {
	background-image: url("../images/member/04.jpg");
}
.member_img_5 {
	background-image: url("../images/member/05.jpg");
}
.member_img_6 {
	background-image: url("../images/member/06.jpg");
}
.member_img_7 {
	background-image: url("../images/member/07.jpg");
}
.member_img_8 {
	background-image: url("../images/member/08.jpg");
}
@media (max-width: 767px) {

	.member_img_1 {
		background-image: url("../images/member/01_sp.jpg");
	}
	.member_img_2 {
		background-image: url("../images/member/02_sp.jpg");
	}
	.member_img_3 {
		background-image: url("../images/member/03_sp.jpg");
	}
	.member_img_4 {
		background-image: url("../images/member/04_sp.jpg");
	}
	.member_img_5 {
		background-image: url("../images/member/05_sp.jpg");
	}
	.member_img_6 {
		background-image: url("../images/member/06_sp.jpg");
	}
	.member_img_7 {
		background-image: url("../images/member/07_sp.jpg");
	}
	.member_img_8 {
		background-image: url("../images/member/08_sp.jpg");
	}
}

.member_img {
	/* width: 100%;  */
	height: 100%;
	cursor: pointer;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	/* transition: all 0.5s; */

}

/*hoverで登場*/
.mark-wrap {
	padding-top: 27px;
	padding-left: 17px;
	display: flex;
	opacity: 0;

}

.profile_info {
	position: absolute;
	bottom: 0;
	width: 100%;
}

.mark-wrap li:not(:last-child) {
	margin-right: 7px;
}

.mark_cst {
	background-color: #00CCA3;
	width: 55px;
	height: 55px;
	border-radius: 50%;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 55px;
}

.mark_mtr {
	background-color: #FD6572;
	width: 55px;
	height: 55px;
	border-radius: 50%;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 55px;
}


.mark_dsn {
	background-color: #FFB52C;
	width: 55px;
	height: 55px;
	border-radius: 50%;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 55px;
}



.mark_sys {
	background-color: #4A94FF;
	width: 55px;
	height: 55px;
	border-radius: 50%;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 55px;
}

.profile_wrap {
	position: relative;
	height: 100%;
	/* width: inherit; */
	/*opacity: 0;*/
	background: linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 30%, rgba(0,0,0,.6) 100%);
}

.profile_role {
	color: #00CCA3;
	font-size: 16px;
	font-weight: 700;
	margin-left: 15px;
	margin-bottom: 20px;
	opacity: 0;
}

.profile_name {
	color: #00CCA3;
	font-size: 40px;
	font-weight: 700;
	line-height: calc(50/40);
	margin-left: 15px;
	margin-bottom: 26px;
	opacity: 0;
}
.profile_info{
}
.profile_datail {
	display: block;
	border: 1px solid #707070;
	background-color: rgba(56, 56, 56, .7);
	color: #fff;
	text-align: center;
	margin: 0 15px 37px;
	width: auto;
	height: 58px;
	line-height: 58px;
	opacity: 0;
	transition: all 0.3s;
}

.member .profile_datail:hover{
	background-color: rgba(56, 56, 56, .2);
	/*border-color: rgba(56, 56, 56, .2);*/
	/*color: #00CCA3;*/
	/*background-color: rgba(255,255,255,.8);*/
	/*border-color: rgba(255,255,255,.8);*/
	/*border-color: #FFFFFF;*/
}


/*ポップアップ*/

.profile_popup {
	display: none;
	/*height: 700px;*/
	height: 700px;
	max-height: 700px;
	overflow-y: scroll;
	background-color: rgba(255, 255, 255, .83);
	padding: 70px 110px 35px 60px;
	box-sizing: border-box;
	margin-left: 340px;
	position: relative;
	z-index: 100;
	top: 0;
	position: absolute;
	width: calc(70vw);
}

.profile_popup p {
	color: #000;
	font-size: 15px;
	line-height: 2.0;
}

.profile_popup.active {
	display: block;
}

.modal {
	display: none;
	/*height: 100vh;*/
	position: fixed;
	top: 0;
	/*width: 100%;*/
}

.modal__bg {
	background: rgba(0, 0, 0, 0.8);
	height: 100vh;
	position: absolute;
	width: 100%;
}

.modal__content {
	background: #fff;
	left: 50%;
	padding: 40px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 60%;
	display: none;
}

.js-active-profiie {
	display: block;
}

.btn-modal-close {
	position: absolute;
	right: 50px;
	top: 10px;
}

.btn-modal-close span {
	position: relative;
	display: inline-block;
	width: 55px;
	height: 55px;
	border-radius: 50%;
	background-color: #383838;
	cursor: pointer;
}

.btn-modal-close span::before,
.btn-modal-close span::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 40px;
	height: 2px;
	/* margin: -8% 0 0 -42%; */
	background-color: #FFFFFF;
}

.btn-modal-close span::before {
	transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}

.btn-modal-close span::after {
	transform: translateX(-50%) translateY(-50%) rotate(45deg);
}


/* .member:hover .member_img {
	width: 340px !important;
} */

.hideki_grid {
	/*display: grid;*/
	/*grid-template-columns: 50% 20px 50%;*/
	/*grid-template-rows: 200px 200px;*/
	margin-bottom: 45px;
	display: flex;
	justify-content: space-between;
}

.hideki_grid img{
	width: 100%;
}

.hideki_grid1{
	width:63%
	/*grid-column: 1 / 2;*/
	/*grid-row: 1 / 3;*/
}

.hideki_grid1 img{
width: 100%;
height: auto;
}

.hideki_grid2{
	width:27%
	/*grid-column: 3 / 4;*/
	/*grid-row: 1 / 2;*/
}

.hideki_grid2 img,
.hideki_grid3 img{
	width: 100%;
	/*max-width: 250px;*/
	display: block;
}

p.profile_img_disc{
	font-size: 13px;
	font-family: axis,sans-serif;
	margin-top: 5px;
	line-height: 1.5;
	font-weight: 700;
}

.profile_popup_content{
	font-size: 15px;
	font-family: axis,sans-serif;
	line-height: 2;
	overflow-y: scroll;
	height: 100%;
	padding-right: 30px;
	padding-bottom: 35px;
}

.profile_popup_content p{
	margin-bottom: 20px;
}
.profile_popup_content >p:not(:last-of-type){
	/*margin-bottom: 40px;*/
}

/*スクロールバーの横幅指定*/
.profile_popup_content::-webkit-scrollbar {
	width: 8px;
}
/*スクロールバーの背景色・角丸指定*/
/* .profile_popup_content::-webkit-scrollbar-track {
border-radius: 10px;
 background: #00CCA3;
} */
/*スクロールバーの色・角丸指定*/
.profile_popup_content::-webkit-scrollbar-thumb {
/* border-radius: 10px; */
background:#00CCA3;
}

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

.kevin_flex img{
	width: 48%;
	height: auto;
}

.kevin_flex img:first-child{
	margin-right: 20px;
}

.kevin_img_03{
	height: 240px;
	display:block;
	margin: 45px auto 30px;
}

.okada_img_01{
height: 460px;
	width:auto;
margin: 0 auto;
display: block;
}

.okada_img_02{
	height: 300px;
	margin: 0 auto;
	display: block;
}

.tsujimoto_img_01{
	width: 100%;
	max-width: 760px;
	display: block;
	margin: 0 auto;
}

.nojima_img_01{
	width: 100%;
	max-width: 790px;
	display: block;
	margin: 0 auto;
}

.tamara_img_01{
	width: 100%;
	display: block;
	margin: 0 auto;
	max-width: 750px;
	margin-bottom: 45px;
}
.masaki_flex,
.tamara_flex,
.hisada_flex{
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}
p+.masaki_flex,
p+.tamara_flex,
p+.hisada_flex {
	margin-top: 50px;

}
.masaki_flex>div{
	width: 45%;
	text-align: center;
}
.masaki_flex img{
	max-width: 100%;
}
.tamara_flex>div p{
	line-height: 1.5;
}
.tamara_flex>div:nth-of-type(1){
	width:75%;
}
.tamara_flex>div:nth-of-type(2){
	width:20%;
}
.tamara_flex img{
	max-width: 100%;
}
.hisada_flex>div{
	width:48%;
	text-align: center;
}
.hisada_flex img{}


.text-center{
	text-align: center;
}

/**********************"***********

company

*********************************/

.company{
	padding-top: 50px;
	margin-bottom: 150px;
}

.company--cont{
	width: 100%;
	max-width: 500px;
	margin:90px auto 150px;
	font-size: 18px;
	font-family: lft-etica, sans-serif;
}

.company--cont dl{
	display: flex;
	line-height: 2.3;
	margin-bottom: 20px;
}

.company--cont dt{
	width: 140px;
}

#googlemap{
	width: 100%;
}
#googlemap,
#map,
.company--map{
	height: 500px;
}

#map,
.company--map iframe{
	width: 100%;
	height: 100%;
}

/*********************************

contact

*********************************/

.contact{
	padding-top: 150px;
	padding-bottom: 50px;
	margin-bottom: 50px;
	min-height: 50vh;
	text-align: center;
}

.contact .txt{
	text-align: center;
	font-size: 22px;
	line-height: 1.8;
	margin-top: 50px;
	margin-bottom: 50px;
}


.btn{
	margin-top: 30px;
	border-radius: 100px;
	display: inline-block;
	padding: 15px 50px;
	font-size: 1.3rem;
	border: none;
	font-weight: 500;
}
.btn:hover{
	opacity: 0.7;
	text-decoration: none;
}
.btn.btn--primary{
	background: #00CCA3;
	color: #FFFFFF;
}
.btn.btn--back{
	background: #CCCCCC;
	color: #FFFFFF;
	margin-right: 50px;
}
@media (max-width: 767px){

	.btn{
		margin-top: 10px;
		padding: 15px 40px;
		font-size: 1rem;
	}
}
#footer{
	padding-top: 50px;
}
#footer nav ul{
	font-size: 0.9rem;
	text-align: center;
	padding-bottom: 30px;
}
#footer nav ul li{
	display: inline-block;
}
#footer nav a{
	color: #999999;
}
#footer nav a:hover{
	text-decoration: underline;
}

#copyright{
	text-align: center;
	padding-bottom: 10px;
	font-size: 0.9rem;
	color: #999999;
}



.base_content{
	width: 800px;
	margin: 50px auto;
	text-align: left;
}
.base_content h3{
	margin-top: 50px;
	font-weight: bold;
}
.aC{
	text-align: center;
}
#logo{
	margin-top: 40px;
	margin-bottom: 40px;
	text-align: center;
}
#logo img{
	height: 30px;
}

.news_list li{
	margin-bottom: 30px;
}
.news_list li span{
	color: #999999;
}

form table{
	width: 100%;
}
form table th,
form table td{
	padding: 10px;
	position: relative;
}
form table th{
	font-weight: bold;
	width: 20%;
	text-align: right;
	padding-right: 70px;
}
form table td{
	width: 80%;
}
input[type=text],
input[type=tel],
input[type=email],
textarea{
	width: 100%;
	padding: 10px;
	font-size: 1.0rem;
	border: 1px solid #CCCCCC;
}
.required{
	display: inline-block;
	background-color: #00CCA3;
	font-size: 12px;
	padding: 3px 3px;
	line-height: 12px;
	color: #FFFFFF;
	border-radius: 3px;
	margin-left: 10px;
	position: absolute;
	right: 30px;
	top: 17px;
}

@media (max-width: 767px) {

	.base_content{
		width: 100%;
	}
	form table th{
		padding-right: 30px;
		width: 30% ;
	}
	.required{
		display: inline-block;

		right: 0px;
		top: 17px;
	}
}

h1 img{
	-webkit-animation: blackblur 3s 1 alternate;
	animation: blackblur 3s 1 alternate;
}
.top--main--inner .txt span{
	color: transparent;
}
.top--main--inner .txt span:nth-of-type(0){
	/*opacity: 0.24;*/
	/*text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.72);*/
	-webkit-animation: blackblur 3s 1 alternate;
	animation: blackblur 3s 1 alternate;
}
.top--main--inner .txt span:nth-of-type(1){
	-webkit-animation: blackblur 3s 3.3s 1 forwards;
	animation: blackblur 3s 3.3s 1 forwards;
}
.top--main--inner .txt span:nth-of-type(2){
	-webkit-animation: blackblur 3s 3.6s 1 forwards;
	animation: blackblur 3s 3.6s 1 forwards;
}
.top--main--inner .txt span:nth-of-type(3){
	-webkit-animation: blackblur 3s 3.9s 1 forwards;
	animation: blackblur 3s 3.9s 1 forwards;
}
.top--main--inner .txt span:nth-of-type(4){
	-webkit-animation: blackblur 3s 4.2s 1 forwards;
	animation: blackblur 3s 4.2s 1 forwards;
}
.top--main--inner .txt span:nth-of-type(5){
	-webkit-animation: blackblur 3s 4.5s 1 forwards;
	animation: blackblur 3s 4.5s 1 forwards;
}
@-webkit-keyframes blackblur {
	0%    { opacity:1; text-shadow: 0 0 100px #FFFFFF; color: rgba(255,255,255,0); }
	60%   { opacity:1; text-shadow: 0 0 40px  #FFFFFF; color: rgba(255,255,255,0); }
	100%  { opacity:1; text-shadow: 0 0 1px  #FFFFFF; color: rgba(255,255,255,1); }
}
@keyframes blackblur {
	0%    { opacity:1; text-shadow: 0 0 100px #FFFFFF; color: rgba(255,255,255,0); }
	60%   { opacity:1; text-shadow: 0 0 40px  #FFFFFF; color: rgba(255,255,255,0);}
	100%  { opacity:1; text-shadow: 0 0 1px  #FFFFFF; color: rgba(255,255,255,1); }
}

#scrollhere{
	/*position: sticky;*/
	/*position: -webkit-sticky;*/
	position: absolute;
	width: 100px;
	text-align: center;
	color: #FFFFFF;
	bottom:60px;
	font-size: 12px;
	left: calc( 50% - 50px);
	opacity:0;
	display: inline-block;
	animation: scrollhere 1s ease 8s forwards;
	-webkit-animation: scrollhere 1s ease 8s forwards;
}
#scrollhere:after{
	position: absolute;
	content:"";
	top: 0;
	left: 45%;
	bottom: -30px;
	margin: auto;
	width: 8px;
	height: 8px;
	border-left: 1px solid #FFFFFF;
	border-bottom: 1px solid #FFFFFF;
	transform: rotate(-45deg);
}

@keyframes scrollhere {
	0%    {
		opacity:0;
		transform: translateY(50px);
		 }
	100%  {
		opacity:1;
		transform: translateY(0px);
	}
}
