﻿@charset "UTF-8";

/* ===== トップページ ===== */

#top_main {
	background-image:url(../img/top.png);
    background-repeat:  no-repeat;
    background-position:center center;
	margin:79px 0 20px;
}
#top_main_inner{
	min-height: 700px;
	position: relative;
	z-index: 4;
	max-width: 1350px;
	margin: 0 auto;
	padding: 0;

}
#top_main_txt{
	text-align: right !important;

}
#main_title{
	font-size: 32px;
	margin: 25px 0 10px;
	text-align: right;
	padding: 40px 40px 0 0;
}
#main_title span{
	 background-color: #fff;
	padding: 0 10px;
}

#award{
	width: 50%;
	background: #fff;
	border-radius: 15px;
	padding: 20px 30px 10px 30px;
	margin: 20px auto 30px;
	background-image: url('../img/trophy.png');
	background-position: right 1% top 1%;
	background-repeat: no-repeat;
	line-height: 1.7;
	border: 4px solid #dfb500;
}
#award_title{
	font-weight: bold;
	font-size: 23px;
	color: #0065D0;
	padding: 0;
	margin: 0;
}
#report{
	margin: 20px auto 50px;
}

#report a:hover{
	opacity:0.7;
	background:#fff;
}
#name{
	font-size: 44px;
	font-weight: bold;
	color: #454545;
	padding: 10px 40px 0 0;
}
#name span{
	 background-color: #fff;
	padding: 0 10px;
}
#sub_img{	
	background: url('../img/sub_bk.png') center center no-repeat;
    background-size: auto;
	height: 0;
	margin: 0;
	background-size: cover;
	padding-bottom: 22%;
	position: relative;
}

#sub{
	text-align: center;
	font-size: 23px;
	text-shadow:0px 0px 2px #fff;
	line-height: 150%;
	margin: 0 auto 40px;
	color:#2B2B2B;
	background: #fff;
}
#dl #left{
	float: left;
	width: 5%;
	padding: 5px 0 0 0 !important;
	margin: 0 !important;
}
#dl #right{
	float: right;
	font-size: 140%;
	width: 81%;
	padding: 0 !important;
	margin: 0 0 13px 0;
	line-height: 1.7;
	font-weight: bold;
}
#dl #right a:hover{
	color: #00549b;
}
#dl {
  position: relative;
  width: 600px;
  padding: 15px 40px;
  margin: 50px auto 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
overflow:hidden;
}
#dl::before,
#dl::after {
  position: absolute;
  top: 0;
  content: '';
  width: 20px;
  height: 100%;
  border-top: 1px solid #555;
  border-bottom: 1px solid #555;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;

}
#dl::before {
  left: 0;
  border-left: 1px solid #555;
}
#dl::after {
  right: 0;
  border-right: 1px solid #555;
}


#new{
	width: 960px;
	height: 220px;
	background: #1D1D1D;
	overflow: hidden;
	margin-bottom: 30px;
	margin: 0 auto;
}
#new:hover{
	opacity: 0.7;
}
.new_left{
	float: left;
	width: 480px;
}
.new_right{
	float: right;
	color: #fff;
	width: 472px;
	padding: 20px 20px;
}
.new_title{
	color: #E00003;
	font-style:italic;
}
.new_text{
	font-weight: bold;
	font-size: 150%;
	margin-bottom: 15px;
	line-height: 1.5;
}
.new_company{
	font-weight: bold;
	font-size: 120%;
}
.new_left img {
    line-height: 1;
    font-size: 0;
    vertical-align: top;
    height: auto;
    max-width: 100%;
}



@media screen and (max-width: 1100px)  {
#new #left{
	float: left;
	width: 15%;
	padding: 5px 0 0 0 !important;
	margin: 0 !important;
}
}
@media screen and (max-width: 736px)  {
#new {
	position: relative;
	width: 98%;
	}
#new #left{
	float: left;
	width: 15%;
	padding: 5px 0 0 0 !important;
	margin: 0 !important;
}
}
.pattern{
	background: url("../img/road.jpg") repeat-x;
	height: 12px;
}
#sub img{
	width: 100%;
}
#sub_in{
	width: 80%;
	margin: 0 auto;
	padding: 40px 0 20px;
}
#sub_in ul{
	padding-bottom: 15px;
	overflow: hidden;
}
#sub_in ul li{
	width: 33%;
	float: left;
	list-style: none;
}
.sub_title{
	text-align: center;
	font-weight: bold;
	font-size: 33px;
	margin: 0 0 0 0;
}
#sub_txt{
	text-align: center;
	font-size: 23px;
	line-height: 1.7;
}
#sub_txt span{
	font-weight: bold;
	color: #01457a;
}
.title{
	width: 85%;
	margin: 20px auto 20px;
}
.title_b{
	font-size: 40px;
	font-weight: bold;
	margin: 0;
}

.title_s{
	font-size: 25px;
	margin: 0;
	color: #feab36
}
#sub_txt_line{
	border: 1.5px solid #D1D1D1;
	width: 100px;
	margin: 30px auto 20px;
}

#job{
	width: 75%;
	margin: 40px auto 20px;
	text-align: center;
	font-size: 70%;
	border-top: 1px solid #005da6;
	border-bottom: 1px solid #005da6;
	line-height: 1.8;
	background: #fff;
	padding: 0 30px 30px;
}

#job p{
	text-align: center;
	margin: 20px 0 10px;
	color: #3A3A3A;
}
#job p span{
	text-align: center;
	font-size: 120%;
	color: #005da6;
}

.create{
	width: 80%;
	margin: 0 auto 30px;
	overflow: hidden;
	background: #fff;
	padding: 0 0 30px;
	border: 5px solid #2E2E2E;
	border-radius: 10px;
}
.create_maintitle{
	text-align: center;
	font-size: 28px;
	font-weight: bold;
	padding: 5px 0 7px;
	margin-bottom: 30px;
	color: #fff;
	background: #2E2E2E;
}
.create_left{
	float: left;
	width: 55%;
	padding-left: 2%;
}
.create_left img{
	width: 100%;
}
.create_right{
	float: right;
	width: 43%;
	padding-right: 2%;
}
.create_title{
	font-weight: bold;
	font-size: 29px;
	color: #01457a;
	margin: 0 0 10px 0;
}
.create_txt{
	line-height: 1.8;
	font-size: 19px;
	margin: 5px 0 30px 0;
}


.func_btn{
	 display: inline-block;
	color: #474747;
	background: #fff;
	border: 1px solid #474747;
	border-radius: 30px;
	text-align: center;
	width: 250px;
	margin: 15px auto;
	font-size: 18px;
	font-weight: bold;
	padding: 10px 0;
}
.func_btn:hover{
	color: #fff;
	background: #474747;
	border: 1px solid #474747;
}


#type{
	width: 1000px;
	margin: 0 auto;
}
#type img{
	margin: 0 auto;
	text-align: center;
}
.box_sub{
	color: #3b3b3b;
	font-size: 130%;
	margin: 0 0 5px 0;
	font-weight: bold;
	font-style: italic;
}

h3.top{
	font-size:150%;
	line-height:150%;
	color: #005da6;
	font-weight: bold;
	padding-bottom: 15px;
	border-bottom: 1px solid #9B9B9B;
}

div.LeftBox{
	float:left;
	width:53%;
	line-height: 180%;
}
div.LeftBox2{
	float:left;
	width:44%;
	line-height: 180%;
}
div.LeftBox3{
	float:left;
	width:49%;
	line-height: 180%;
}
div.RightBox{
	float:right;
	width:44%;
	line-height: 180%;
}
div.RightBox2{
	float:right;
	width:53%;
	line-height: 180%;

}
div.RightBox3{
	float:right;
	width:49%;
	line-height: 180%;
}
div.RightBox3 img,div.LeftBox3 img{
	width: 100%;
}
div.CenterBox{
	width:100%;
	margin:auto 2%;
	padding-bottom: 10px;
}
div.CenterBox2{
	margin:0 auto;
	width:80%;
	line-height: 180%;
}
div.CenterBox3{
	width:80%;
	margin:0 auto;
	padding-bottom: 10px;
}

div.LeftBox img,div.RightBox img,div.LeftBox2 img,div.RightBox2 img,div.CenterBox3 img{
	width:100%;
}
.box_menu_in{
	margin: 2% 8%;
	overflow: hidden;
	font-size: 19px;
}



/* 全体設定 */
* {
  box-sizing: border-box;
  }

/* ポップアップウインドウの設定 */
.popup {
  background-color: #efefef;
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, .8);
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 70vw;
  height: 55vw;
  overflow-y: scroll;
  font-size: 18px;
}
/* チェックボックスの初期設定 */
#popup-on{
  display: none;
}
/* チェックされたらポップアップウインドウを開く */
#popup-on:checked + .popup{
  display: block;
}

/* 閉じるアイコン（右上） */
.icon-close{
  background: #000;
  color: #fff;
  font-size: 30px;
  padding: 0 10px;
  position: absolute;
  right: 0;
}

/* 閉じるボタン */
.btn-close{
  background: #000;
  border-radius: 10px;
  color: #fff;
  padding: 10px;
  cursor: pointer;
  margin: 10px auto;
  width: 95%;
  text-align: center;
}

/* 開くボタン */
.btn-open{
  border-radius: 10px;
  color: #fff;
  padding: 10px;
  cursor: pointer;
  margin: 10px auto;
  width: 95%;
  text-align: center;
}

/* ポップアップの内容 */
.popup-content{
  margin: 40px auto 40px auto;
  width: 90%;
}
.anc_title{
	text-align: center;
	font-size: 22px;
	color: #4a4787;
}
#thanks{
	font-size: 130%;
	text-align: center;
	margin: 150px 0 20px 0;
	font-weight: bold;
}
@media only screen and (max-width: 1100px){
	.create{
		width: 96%;
	}
}

/*#sub_title p{
	padding: 100px 0 0 0;
	text-align: center;
	font-weight: bold;
	color: #fff;
	font-size: 38px;
	text-shadow:0px 0px 8px #45569a;
	margin: 0;
}*/
#cp{
	background: #162a6b;
	color: #fff;
	text-align: center;
	padding: 30px 0;
	font-size: 130%;
}
.cp_btn{
	text-align: center;
	padding: 5px 20px;
	border: 2px solid #fff;
	width: 190px;
	font-size: 18px;
	font-weight: bold;
	 border-radius: 20px;        /* CSS3草案 */  
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 20px;   /* Firefox用 */  
}
.cp_btn:hover{
	background: #fff;
	color: #162a6b;
}
a .cp_btn{
	text-decoration: none;
	color: #fff;
}

#step{

	width: 1300px;
	margin: 0 auto;
	position: relative;
}
#step_in{
	background-image:url(../img/step_bg.png);
    background-repeat:  no-repeat;
    background-position:center;
	text-align: center;
	height: 870px;
}
#step img:hover{
	opacity: 0.7;
}
#step1{
	position: absolute;
	right: 50px;
	top: -20px;
}
#step2{
	position: absolute;
	left: 50px;
	top: 150px;
}
#step3{
	position: absolute;
	right: 50px;
	top: 350px;
}
#step4{
	position: absolute;
	left: 50px;
	top: 520px;
}

div.news{
	padding:1%;
	width:70%;
	margin:2% auto;
	text-align:center;
	font-size:120%;
	background:#dfbc24;
}
div.news span{
	padding:5px 10px;
	text-align:center;
	font-size:100%;
	background:#FFF;
	color:#ce0101;
	font-weight:bold;
}
#cate {
    height: 900px;
    width: 100%;
	background-image:url(../img/cate_img.jpg);
	background-color: #2f355f;
    background-repeat:  no-repeat;
    background-position:center center;
	color: #fff;
	padding: 20px 0;
}
#cate_in{
	width: 950px;
	margin: 0 auto;
	overflow: hidden;
}
#cate_txt{
	text-align: center;
	margin: 40px auto 70px;
	font-size: 120%;
}
.cate01,.cate02,.cate03,.cate04{
	width: 390px;
}
.cate01,.cate03{
	float: left;
}
.cate02,.cate04{
	float: right;
}
#cate .parenthesis {
  position: relative;
  padding: 10px 5px;
  margin: 0 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
	color: #fff;
}
#cate .parenthesis:hover {
	background: rgba(255,255,255,0.3);
}


#cate .parenthesis p{
	margin: 0;
	text-align: center;
}
#cate .parenthesis p a{
	text-decoration: none;
	color: #FFFFFF;
}
#cate .parenthesis::before,
#cate .parenthesis::after {
  position: absolute;
  top: 0;
  content: '';
  width: 7px;
  height: 100%;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#cate .parenthesis::before {
  left: 0;
  border-left: 1px solid #fff;
}
#cate .parenthesis::after {
  right: 0;
  border-right: 1px solid #fff;
}



#parth_title{
	font-weight: bold;
	font-size: 170%;
	text-align: center;
	padding: 0 0 30px 0;
}
#parth{
	padding: 50px 0;
	background: #e3e5e9;
}

#parth_img ul{
	overflow: hidden;
	width: 1200px;
	margin: 0 auto;
	padding: 0;
}
#parth_img li{
	float: left;
	list-style-type: none;
	width: 300px;
	color: #535353;
}
@media screen and (min-width: 737px)  {
#step_sp{
	display: none;
}

}
@media screen and (max-width: 736px)  {
#sub_in{
	width: 100%;
}
.create_left,.create_right{
	padding: 0 2%;
}
.create_left,.create_right{
	width: 100%;
}
.RightBox,.RightBox2{
	width: 98% !important;
	margin: 1% 0 0 1% !important;
}
.LeftBox,.LeftBox2{
	display:block;
	width:98% !important;
	margin: 1% 0 0 1% !important;
}
#top_main_txt{
	margin: 0 auto;
	z-index: 1;
}
#job{
	width: 90%;
	padding: 10px;
}
div.LeftBox img,div.RightBox img,div.LeftBox2 img,div.RightBox2 img{
	width:100%;
}
	#step{
		display: none;
	}	

#top_main {
	widows: 98%;
	margin: 70px 0 50px 0 !important;
	background-image:none;
}
#name{

	font-size: 210%;
}
#top_main_inner{
	min-height: 400px;
}
	#case_top{
		width: auto;
	}
	#case_top{
	height: 450px;
}
	#case_left{
	position: absolute;
	left: 15px;
	bottom: 0;
		right: 0;
}
#step_last{
	float: none !important;
}
#step img{
	width: 50%;
}
#step{
	text-align: center;
	height: 870px;
	margin: 0 auto;
	width: 100%;
}
#step_in{
	width: 60%;
	background-image:url(../img/step_bg.png);
    background-repeat:  no-repeat;
    background-position:center;
	margin: 0 auto;
	}

#step1{
	position: absolute;
	right: 0;
	top: 206px;
}
#step2{
	position: absolute;
	left: 0;
	top: 200px;
}
#step3{
	position: absolute;
	right: 0;
	top: 400px;
}
#step4{
	position: absolute;
	left: 0;
	top: 570px;
}
#step_sp{
	width: 90%;
	background-image:url(../img/step_bg_sp.png);
    background-repeat:  no-repeat;
    background-position:center;
	margin: 0 auto;
	height: 700px;
	}
}
@media screen and (min-width: 737px) and (max-width: 1099px){
#top_main {
	widows: 98%;
	margin: 70px 0 0 0 !important;
	background-image:none;
	height: auto;
}
#main_title{
	width: 96%;
	margin: 0 2%;
}
#name{
	width: 96%;
	margin: 0 2%;
	font-size: 250%;
}
}
@media only screen and (max-width: 1100px){
#main_title,#main_title_sub{
	margin-left: 10px;
}
	
#main_sp {
  width: 100%;
  height: 0;
  padding-top: calc(677 / 1050 * 100%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
  background: url(../img/top_sp.png) center center / cover no-repeat;
}
	
#main_sp img{
	width: 100%;
}
#main_title{
	font-size: 27px;
}

#sub_txt{
	font-size: 19px;
	width: 90%;
	margin: 10px 4% 20px;
	text-align: center;
}

#box_menu{
	padding: 0;
	margin: 30px 0;
}
.box_sub{
	font-size: 110%;
	margin: 0;
}
h3.top{
	font-size:130%;
	margin:0;
}
#parth_img ul{
	width: 100%;
}
#parth_img li{
	width: 50%;
}
.scale{
	height: auto !important;
}
	#parth_title{
		font-size: 21px;
	}
	.function_main_btn{
		margin: 0 auto;
	}
}
@media screen and (min-width: 1100px) {
#main_sp,#sub_txt_sp{
	display: none;
}
}
.scale{
	width: 300px;
	height: 202px;
    overflow: hidden;
}
.scale img {
    -moz-transition: -moz-transform 0.8s linear;
    -webkit-transition: -webkit-transform 0.8s linear;
    -o-transition: -o-transform 0.8s linear;
    -ms-transition: -ms-transform 0.8s linear;
    transition: transform 0.8s linear;
	height: 102%;
}
.scale img:hover {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

.function_main_btn {
    border: 1px solid #314073;
    padding: 7px 10px;
    width: 200px;
    font-size: 120%;
    color: #314073;
    border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    text-align: center;
	margin: 0 auto;
	text-decoration: none;
}
.function_main_btn:hover {
    color: #fff;
    background: #314073;
}
.case_main_btn {
    border: 1px solid #314073;
    padding: 7px 10px;
    width: 200px;
    font-size: 130%;
    color: #314073;
    border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    text-align: center;
	text-decoration: none;
	margin-top: 10px;
}
.case_main_btn:hover {
    color: #fff;
    background: #314073;
}

@media screen and (max-width: 736px) {
.slider {
    height: 100px;
	padding-bottom: 100%;
}
div.news{
	width:90%;
	font-size:90%;
	padding:3%;
	margin:0 auto;
}
div.news span{
	display:none;
}
}
.slider div.topcathche{
	float:right;
	margin-right:3%;
}
@media screen and (max-width: 960px) {
.slider div.topcathche{
	width:100%;
}
}
@media screen and (max-width: 736px) {
/*header.header_bc{
	background: url('../img/mainimage.jpg') center center no-repeat;
    background-attachment: scroll;
	height:0;
	margin: 0;
	background-size: cover;
	padding-bottom: 100%; 
	position: relative;
	color:#FFF;
}*/
}
h2.top{
	background: url('../img/icon_alogo.png') center 130px no-repeat;
	font-size:180%;
	text-align:center;
	/*font-family: 'Domine', serif;*/
	letter-spacing:0.1em;
	color: #fff;
	padding-top:30%;
	text-shadow: 1px 1px 1px #bba617,
                 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #fff
}
.movie{
	width:95%;
	margin:1% auto;
}

@media screen and (max-width: 736px) {
.slider div.topcathche{
	width:95%;
}
h2.top{
	background:none;
	font-size:180%;
	padding-top:20%;
}
}

h3 span{
	font-size:60%;
	line-height:150%;
	color: #8a8000;
	text-align: center;
}
h4.top{
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    background: #dfbc24;
	padding:1%;
	width:300px;
	text-align:center;
	font-size:120%;
}
@media screen and (max-width: 736px) {
h4.top{
	float:center;
	margin:0 auto;
}
}
p.lead{
    text-shadow: 1px 1px 3px #000;
	font-size:105%;
	font-weight:normal;
	text-align:center;
}
ul.top_button {
	margin:1% auto;
	justify-content: center;
    display:-webkit-box;
    display:-moz-box;
    display:box;
    display:-webkit-flex;
    display:flex;
}
ul.top_button li {
	list-style:none;
	margin-right:3%;
}
@media screen and (max-width: 736px) {
ul.top_button li {
	font-size:80%;
	letter-spacing:-0.05em;
}
}


ul li.buil{
	list-style:none;
	background: url('../img/icon_buil.png') left top no-repeat;
	padding:30px 0 0 150px;
	height:75px;
}
ul li.shop{
	list-style:none;
	background: url('../img/icon_shop.png') left top no-repeat;
	padding:30px 0 0 150px;
	height:60px;
}
ul li.house{
	list-style:none;
	background: url('../img/icon_house.png') left top no-repeat;
	padding:30px 0 0 150px;
	height:60px;
}
#main_slide li{
	margin:1px;
}
#main_slide li img{
	width:400px;
}
.newfuncBox{
	width:100%;
	margin: 1% auto;
}
.newfuncBox h3{
	font-size:120%;
	background-image:;
	letter-spacing:-0.01em;
	background: url(../img/newfunc/h3bc.gif) no-repeat 0 0;
	color:#432502;
}
 ul.newfuncBox{
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.newfuncBox li{
	float:left;
	width:27%;
	margin-right:2%;
	margin-bottom:1%;
	list-style:none;
	border:1px solid #b58048;
	padding:2%;
	background:#FFF;
}
.newfuncBox li img{
	width:100%;
}
.newfuncBox li a{
	float:right;
}
.newfuncBox li span{
	font-size:70%;
	color:#999;
}
@media screen and (max-width: 736px) {
.newfuncBox{
	padding:0;
}
.newfuncBox ul{
	margin:0 !important;
	width:100%;
	padding: 0;
}
.newfuncBox li{
	width:100%;
	margin:1%;
	padding:3%;
	clear:both;
	display:block;
}
}
h3.top_case{
	font-size:165%;
	text-align: left;
	font-weight:bold;
	letter-spacing:-0.03em;
}
p.case_com{
	font-size:120%;
	color:#8a8000;
}
@media screen and (max-width: 736px) {
h3.top_case{
	text-align: center;
	font-size: 130%;
}
p.case_com{
	text-align: center;
	margin:0;
	font-size: 110%;
}
}

.cover{
	background-size: cover;
	background: url(../img/cover.png);
	min-height: 100%;
}
body > div.cover {
  height: auto;
}
@media screen and (max-width: 736px) {
.cover{
	background:none;
}
}
div.topbottomp{
	font-size:140%;
	font-weight:normal;
	letter-spacing:0.03em;
	color:#FFF;
	background:#434343;
	padding:2%;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 1) inset;
}
@media screen and (max-width: 736px) {
div.topbottomp{
	font-size:120%;
}
}
.vide_pc{
	width: auto;
	height: 500px;
	opacity:1;
	z-index: -1;
	margin-top:5%;
}
@media screen and (max-width: 736px) {
.vide_pc{
	display:none;
}
}
ul.news{
    display:table;
    margin:0 auto;
}
ul.news li{
    display:table-cell;
}
@media screen and (max-width: 736px) {
h2.top{
	font-size:140%;
	margin:0 5%;
}

ul.top_button{
	width:100%;
	margin:0;
	padding:0;
}
ul.top_button li{
	height:auto;
	margin:0;
	width:50%;
	font-size:90%;
}
}

