@charset "UTF-8";
/* CSS Document */

/*----------------------------------------------------
  #top
----------------------------------------------------*/

#top-head{
	width:100%;
	position: fixed;
	z-index: 1000;
}

.zig_line{
	background: url(../img/line.png) center center repeat-x;
	height: 20px;
	width: 85%;
	background-size: contain;
	margin: 0 auto;
	margin-bottom: 30px;
}



/* ----- メインビジュアル ----- */
#mainVisual {
	background: url(../img/mv1.jpg) center center no-repeat;
	background-size: cover;
	/* 表示画像の高さ ÷ 表示画像の幅 × 100 */
	position: relative;
}
@media (max-width: 768px) {
	#mainVisual {
		position: static;
	}
}

.mv_item{
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
@media (max-width: 768px) {
	.mv_item{
		top:45%;
	}
}
.mv_item p{
	color: #fff;
	margin-top: 20px;
    font-size: 23px;
    font-weight: bold;
    text-shadow: 1px 1px 3px #000;
    text-align: center;
    letter-spacing: 0.03em;
}
.colorfont{
	color:#09b8f1;
}

#mv_logo{
	text-align: center;
	height: auto;
}
#mv_logo img{
	width: 250px;
}


/* ----- MV下nav ----- */

#nav_pc{
	height: 70px;
	width:center;
	text-align: center;
}
#nav_pc a{
	color:#fff;
	vertical-align: middle;
}

#nav_pc ul{
	text-align: center;
	width: 100%;
	display: table;
	margin: 0 auto;
	font-size: 1.5em;
	height: 70px;
	background-color:#09b8f1;
	box-sizing:border-box;
}
#nav_pc ul li{
	display: table-cell;
	vertical-align: middle;
	border-right: 1px solid #4bc5ec;
	transition:.5s;
}
#nav_pc ul li:hover{
	background-color: #068cea;
	transition:.5s;
}
#nav_pc ul li a{
	height: 70px;
	line-height: 70px;
	display: block;
}
#nav_pc ul li a:hover{
	color:#fff;
}




/* ----- theme ----- */
#theme{
	background: url(../img/common/);
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	padding:40px 0;
	text-align: center;
}

.policy_img{
	width: 900px;
	margin:0 auto;
}
@media (max-width: 768px) {
	.policy_img{
		width: 100%;
	}
}
.policy_img img{
	width: 900px;
}
@media (max-width: 768px) {
	.policy_img img{
		width: 100%;
	}
}


.policy_read_txt{
	font-size: 1.4em;
	margin-top: 30px;
}
@media (max-width: 768px) {
	.policy_read_txt{
		margin-bottom: 60px;
	}
}

/* ----- face to face ----- */

#policy_area{
	padding: 70px 0 0 0;
}
@media (max-width: 768px) {
	#policy_area{
	padding: 10px 0 0 0;
	}
}


.txt_box {
	text-align: center;
	margin-bottom: 100px;
}
@media (max-width: 768px) {
	.txt_box {
		margin: 0 25px 20px;
	}
}

ul.policy_list {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
}
@media (max-width: 768px) {
	ul.policy_list {
		display: block;
	}
}
ul.policy_list li {
	width: 320px;
	height: 450px;
	padding: ;
	text-align: center;
}
@media (max-width: 768px) {
	ul.policy_list li {
		width: 100%;
		height:auto;
		margin: 0 auto 10px;
		border-right: none;
	}
}
ul.policy_list li:not(:nth-child(1)) {
	margin-left: 50px;
}
@media (max-width: 768px) {
	ul.policy_list li:not(:nth-child(1)) {
		margin-left: 0px;
	}
}

.policy_img_1{
	background: url(../img/policy_b.jpg) 0 0 no-repeat;
	background-size: contain;
	background-position: center;
	height:0;
	padding-top: 57%;	
}
.policy_img_2{
	background: url(../img/policy_a.png) 0 0 no-repeat;
	background-size: contain;
	background-position: center;
	height:0;
	padding-top: 57%;	
}
.policy_img_3{
	background: url(../img/policy_c.jpg) 0 0 no-repeat;
	background-size: contain;
	background-position: center;
	height:0;
	padding-top: 57%;	
}
@media (max-width: 768px) {
	.policy_img_1,.policy_img_2,.policy_img_3{
	width:90%;
	margin: 0 auto;
	}
}


.policy_ttl{
	font-size: 2em;
	font-weight: bold;
	margin-top: 40px;
	color:#09b8f1;
}
@media (max-width: 768px) {
	.policy_ttl{
		font-size: 2em;
		font-weight: bold;
		margin-top: 10px;
		color:#09b8f1;
	}
}
.policy_txt{
	font-size: 1.4rem;
	text-align: left;
	padding:10px 20px;
}

#photo{
	margin-top: 80px;
}
.employee{
	width:100%;
}
.employee li{
	float:left;
	width:25%;
	height: auto;
}
@media (max-width: 768px) {
	.employee li{
		float:left;
		width:50%;
		padding: 60px 0;
	}
}
#employee_1{
	background: url(../img/shain_1.jpg);
	background-size: cover;
	background-position: center;
	height: 0;
	padding-top: 18%;
}
#employee_2{
	background: url(../img/shain_2.jpg);
	background-size: cover;
	background-position: center;
	height: 0;
	padding-top: 18%;
}
#employee_3{
	background: url(../img/shain_3.jpg);
	background-size: cover;
	background-position: center;
	height: 0;
	padding-top: 18%;
}
#employee_4{
	background: url(../img/shain_4.jpg);
	background-size: cover;
	background-position: center;
	height: 0;
	padding-top: 18%;
}
.photo_txt{
	text-align: center;
}







/* ----- サービス ----- */
#services{
	background: url(../img/top/);
	background-size: cover;
	background-position: center;
	padding: 20px 0;

}
.service_ctn{
	width:1040px;
	margin: 0 auto;
}
@media (max-width: 768px) {
	.service_ctn{
	width:100%;
	}
}
.service_1_pic{
	float:right;
}
.service_2_pic{
	float:left;
}
@media (max-width: 768px) {
	.service_1_pic,
	.service_2_pic{
	float:none;
	}
}
.service_1_pic img,
.service_2_pic img{
	width: 600px;
}
@media (max-width: 768px) {
	.service_1_pic img,
	.service_2_pic img{
	width: 100%;
	}
}

.service_ttl{
	font-size: 3.5em;
	font-weight: bold;
	color:#09b8f1;
	line-height: 1.3em;
}
@media (max-width: 768px) {
	.service_ttl{
	font-size: 3.2em;
	text-align: center;
	}
}
.service_sub_ttl{
	font-size: 1.6em;
	font-weight: bold;
	color:#222;
	margin-top: 5px;
}
@media (max-width: 768px) {
	.service_sub_ttl{
	text-align: center;
	}
}
.service_1_txtbox{
	float: left;
	width: 400px;    
}
.service_2_txtbox{
	float: right;
	width: 400px;    
}
@media (max-width: 768px) {
	.service_1_txtbox,
	.service_2_txtbox{
	float: none;
	width: 100%;
	margin: 0 auto;
	margin-top: 20px;
	}
}

.service_txt{
	text-align: left;
    color: #000;
    margin-top: 20px;
    font-size: 1.4rem;
}
@media (max-width: 768px) {
	.service_txt{
	width:90%;
	margin: 0 auto;
	margin-top: 20px;
	}
}


.service_2_ctn{
	margin-top:100px;
}
@media (max-width: 768px) {
	.service_2_ctn{
	margin-top:50px;
	}
}
.message_btn_area a.cleargo_btn {
	width: 550px;
}
@media (max-width: 768px) {
	.message_btn_area a.cleargo_btn {
		width: 90%;
	}
}


/* ----- 代表メッセージ ----- */
#message_area {
	background: url(../img/ceo.jpg) 0 0 no-repeat;
	background-size: cover;
	background-position: center;
	/* 表示画像の高さ ÷ 表示画像の幅 × 100 */
	height:560px;
	margin-top: 100px;
}
@media (max-width: 768px) {
	#message_area {
	background: url();
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	height: 0;
	padding: 50px 0 ;
	/* 表示画像の高さ ÷ 表示画像の幅 × 100 */
	}
}
#message_area {
	position: relative;
}
.ceo_sp_img{
	display: none;
}
@media (max-width: 768px) {
	.ceo_sp_img{
	width: 100%;
	display: block;
	background: url(../img/ceo.jpg) 0 0 no-repeat;
	background-size: contain;
	height: 0;
	padding-top: 80%;
	margin-top: 100px;
	}
}
.message_detail_box {
	width: 35%;
	min-width: 380px;
	padding: 20px 30px 30px 30px;
	position: absolute;
	bottom: 60px;
	right: 40px;
	background-color: #ddd;
}
@media (max-width: 768px) {
	.message_detail_box {
		width: 100%;
		min-width: 100%;
		padding: 60px 0;
		bottom: 0px;
		right: 0px;
		background-color: transparent;
	}
}
.message_detail_ttl h2 {
	margin-top: 50px;
}
@media (max-width: 768px) {
	.message_detail_ttl h2 {
		margin-top: 0px;
	}
}
.message_detail_ttl p.sub_ttl_txt {
}
@media (max-width: 768px) {
	.message_detail_ttl p.sub_ttl_txt {
		margin-bottom: 20px;
	}
}
@media (max-width: 768px) {
	.message_inner {
		width: auto;
		top: 100%;
		right: 0;
		left: 0;
		margin: 0 20px;
	}
}
.message_detail_box p.message_ttl {
	text-align: center;
	font-size: 1.4rem;
}
@media (max-width: 768px) {
	.message_detail_box p.message_ttl {
		font-size: 1.4rem;
	}
}
.message_detail_box p.message_name {
	text-align: right;
	font-family: "ヒラギノ明朝 ProN W6";
	font-size: 1.8rem;
	color: #fff;
}
@media (max-width: 768px) {
	.message_detail_box p.message_name {
		font-size: 1.4rem;
	}
}
/* ----- メッセージボタン ----- */
.message_btn_area {
	margin-top: 50px;
	margin-bottom: 50px;
}
@media (max-width: 768px) {
	.message_btn_area {
		margin-top: 20px;
		margin-bottom: 10px;
	}
}
.message_btn_area a {
	position: relative;
	z-index: 2;
	width: 90%;
	text-align: center;
	line-height: 50px;
	display: block;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	margin: 0 auto;
	color: #fff;
	background-color: #09b8f1;
	overflow: hidden;
	box-shadow: 0 3px 0 #ccc, 0 0 0 rgba(0, 0, 0, 0.2);
	transition: 0.2s ease;
}
@media (max-width: 768px) {
	.message_btn_area a {
		width: 95%;
	}
}
.message_btn_area a:hover {
	top: 2px;
	color:#fff;
	background: #068cea;
	box-shadow: 0 0 0 #ccc, 0 0 0 rgba(0, 0, 0, 0.2);
	letter-spacing: 0.3em;
}

/* ----- エントリーボタン ----- */
.entry_btn a {
	border: 1px solid #f39800;
	color: #f39800;
}
.entry_btn a:hover {
	color: #fff;
}
.entry_btn a::after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transform: scale(.5);
	transform: scale(.5);
}
.entry_btn a:hover::after {
	background: #f39800;
	-webkit-transform: scale(1);
	transform: scale(1);
}

.guideline_btn a, .entry_btn a {
	width: 250px;
	text-align: center;
	border-radius: 5px;
	line-height: 50px;
	display: block;
	font-size: 1.8rem;
	margin: 0 auto;
	position: relative;
	z-index: 2;
	overflow: hidden;
}
.guideline_btn a::before,
.guideline_btn a::after,
.entry_btn a::before,
.entry_btn a::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.guideline_btn a,
.guideline_btn a::before,
.guideline_btn a::after,
.entry_btn a::before,
.entry_btn a::after {
	-webkit-box-sizeing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}


/* ----- aboutus ----- */


.aboutus_area {
	background: url(../img/contact_bg.jpg) 0 0 no-repeat;
	background-size: cover;
	background-position: center;
	/* 表示画像の高さ ÷ 表示画像の幅 × 100 */
	padding-top: 3%;
	padding-bottom: 10%;
	height: 400px;
}
@media (max-width: 768px) {
	.aboutus_area {
	background: url(../img/contact_bg.jpg) 0 0 no-repeat;
	background-size: cover;
	background-position: center;
	/* 表示画像の高さ ÷ 表示画像の幅 × 100 */
	padding-top: 3%;
	padding-bottom: 80px;
	height: auto;
	}
}





.aboutus_area h2 {
}
.aboutus_area p.sub_ttl_txt {
	margin-bottom: 20px;
}
.aboutus_area p.aboutus_ttl {
	text-align: center;
	margin: 0 10px;
	font-size: 1.4rem;
}
@media (max-width: 768px) {
	.aboutus_area p.aboutus_ttl {
	}
}

/* ----- 会社概要ボタン ----- */
.aboutus_btn{
	margin-top: 60px;
}
@media (max-width: 768px) {
	.aboutus_btn{
		margin-top: 30px;
	}
}

.service_btn{
	margin-top: 50px;
	margin-bottom: 120px;
}
@media (max-width: 768px) {
	.service_btn{
		margin-top: 30px;
		margin-bottom: 80px;
	}
}

.aboutus_btn a,
.service_btn a{
	width: 700px;
	text-align: center;
	line-height: 50px;
	display: block;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	margin: 0 auto;
	background: #09b8f1;
	color: #fff;
	position: relative;
	z-index: 2;
	overflow: hidden;
	box-shadow: 0 3px 0 #ccc, 0 0 0 rgba(0, 0, 0, 0.2);
    transition: 0.2s ease;
}
.aboutus_btn a:hover,
.service_btn a:hover{
	top: 2px;
	color:#fff;
	background: #068cea;
	box-shadow: 0 0 0 #ccc, 0 0 0 rgba(0, 0, 0, 0.2);
	letter-spacing: 0.3em;
}
@media (max-width: 768px) {
	.aboutus_btn a,
	.service_btn a{
	width: 90%;
	text-align: center;
	line-height: 50px;
	display: block;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	margin: 0 auto;
	background: #09b8f1;
	color: #fff;
	position: relative;
	z-index: 2;
	overflow: hidden;
	box-shadow: 0 3px 0 #ccc, 0 0 0 rgba(0, 0, 0, 0.2);
    transition: 0.2s ease;
	}
}


	
.aboutus_box {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	padding: 0 100px;
	margin-bottom: 150px;
}
@media (max-width: 768px) {
	.aboutus_box {
		display: block;
		padding: 0 20px;
		margin-bottom: 100px;
	}
}
.access_box, 
.contact_box {
	width: 100%;
	text-align: center;
	margin-top: 130px;
}
@media (max-width: 768px) {
	.access_box, 
	.contact_box {
	text-align: center;
	margin-top: 50px;
	}
}
p.access_ttl,
p.contact_ttl {
	font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	font-size: 4.4em;
	letter-spacing: 0.02em;
	color:#000;
	font-weight: bold;
}
@media (max-width: 768px) {
	p.access_ttl,
	p.contact_ttl {
	font-size: 3.5em;
	}
}

p.aboutus_outline {
	font-size: 1.4rem;
	margin-top: 20px;
}





/* ----- Access・Contact Us ----- */

.map_btn, 
.contact_btn {
	margin-top: 50px;
}
.map_btn a ,
.contact_btn a {
	border: 1px solid #333;
	color: #333;
}
.map_btn a, 
.contact_btn a {
	width: 250px;
	text-align: center;
	line-height: 50px;
	display: block;
	font-size: 1.5rem;
	margin: 0 auto;
	position: relative;
	z-index: 2;
	overflow: hidden;
}
.map_btn a::before,
.map_btn a::after,
.contact_btn a::before,
.contact_btn a::after  {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.map_btn a,
.map_btn a::before,
.map_btn a::after,
.contact_btn a,
.contact_btn a::before,
.contact_btn a::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.map_btn a:hover,
.contact_btn a:hover {
	border: 1px solid #09b8f1;
	color: #fff;
	letter-spacing: 0.1em;
}
.map_btn a::after,
.contact_btn a::after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transform: scale(.5);
	transform: scale(.5);
}
.map_btn a:hover::after,
.contact_btn a:hover::after {
	background-color: #09b8f1;
	-webkit-transform: scale(1);
	transform: scale(1);
}


.rotateY {
	font-size: 5em;
 	text-align: center;
	-webkit-animation: animeY 3s linear infinite;
	animation: animeY 3s linear infinite;
}

@-webkit-keyframes animeY {
	0%	{ -webkit-transform: rotateY(-0deg); }
	100%	{ -webkit-transform :rotateY(360deg); }
}
@keyframes animeY {
	0%	{ transform: rotateY(-0deg); }
	100%	{ transform :rotateY(360deg); }
}



table.cle_tbl{font-size: 14px !important;border-top: 1px solid #777;max-width: 900px;width: 100%;margin-top: 10px;box-sizing: border-box;}
table.cle_tbl th{width:5em;border-left:1px solid #777; border-bottom: 1px solid #777;background: #eee;padding: 15px;vertical-align: middle;box-sizing: border-box;}
table.cle_tbl td{border-left:1px solid #777; border-bottom: 1px solid #777; border-right: 1px solid #777;padding: 15px;box-sizing: border-box;}
.att{width: 100%;max-width:800px;margin: 10px auto 0;font-size: 1.4rem;text-indent: -1em;padding-left: 1em;}
.attention{font-size: 14px;margin-top: 5px;}

@media(max-width: 768px){
	table.cle_tbl{width: 90%;}
	table.cle_tbl th{display: block;width: 100%;border-right:1px solid #777;font-size: 1.4rem; }
	table.cle_tbl td{display: block;font-size: 1.4rem;}
	.attention{padding-left: 5%;}
}



/* レスポンシブの設定 */
/* モバイル */
@media (max-width: 768px) {
	
}