.main{
width: 95%;
margin: 0px auto;
}
/*画面全体の設定*/
body,
html {
  height: 100%;
  margin: 0 auto;
}

h2{
font-family: 'Noto Serif JP', serif;
}

p{
font-family: 'Noto Sans JP', sans-serif;
}

a{
font-family: century-gothic, sans-serif;
font-weight: bold;
}

/*固定する背景*/
.parallax-bg {
/*  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;*/
}
/*各背景の画像*/
.block01 {
  background-image: url("../topImage/top_main01.png");
  background-size: cover;
  background-position: 30%;
  }
/*.block02 {
  background-image: url('画像のURL');
}
.block03 {
  background-image: url('');
}*/
/*.block04 {
  background-image: url('../topImage/top_bg01.jpg');
  background-position: 30%;
  background-size: cover;
}*/
/*.block05 {
  background-image: url("../image/top_bg02.png");
  background-size: cover;
}*/
/*.block06 {
  background-image: url('画像のURL');
}
.block07 {
  background-image: url('画像のURL');
}*/

/*フェード*/
.list-mv02{
	opacity: 0;
    transition: 1.0s;
}
.mv02{
	opacity: 1.0;
}



.block01{
margin: 0;
padding: 0;
width: 100%;
height: 100vh;
overflow: hidden;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
/*-webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
   -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;*/
box-sizing: border-box;
-ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.block01 .top_header{
width: 100%;
margin: 0px auto;
padding: 0;
}
.block01 .logo{
height: auto;
width: 200px;
position: relative;
top: 0px;
left: 20px;
z-index: 10;
font-family: "Century Gothic", sans-serif;
float: left;
}
.block01 .logo a{
display: block;
height: 100%;
width: 100%;
color: #000;
text-decoration: none;
font-weight: bold;
letter-spacing: 10px;
font-family: "Century Gothic", sans-serif;
}

.block01 .top_header .top_head_menu{
display: none;
}
.block01 .top_header .top_head_menu li{
text-align: center;
padding: 0;
margin: 0px;
width: 100%;
height: 100%;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
   -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
}
.block01 .top_header .top_head_menu li a{
display: block;
height: 100%;
width: 100%;
text-decoration: none;
color: #fff;
font-size: 13px;
padding: 20px 0px;
}
.block01 .top_header .top_head_menu li a:hover{
color: #fff000;
}

.block01 .top_header .top_head_menu li.com_btn{
background: #fff000;
color: #000;
}
.block01 .top_header .top_head_menu li.com_btn a{
display: block;
height: 100%;
width: 100%;
color: #000;
padding: 20px 10px;
}

.block01 .main_catch{
height: auto;
width: 100%;
text-align: center;
position: relative;
z-index: 10;
font-size: 34px;
font-weight: bold;
letter-spacing: 10px;
margin: 10px auto 0px auto;
font-family: "Century Gothic", sans-serif;
}
.block01 .main_catch img{
width: 100%;
}


/*
==========================================================
slide
==========================================================
*/

.wideslider {
	width: 100%;
	text-align: left;
	position: relative;
	overflow: hidden;
}

.wideslider ul,
.wideslider ul li {
	float: left;
	display: inline;
	overflow: hidden;
	margin:0px;
	padding:0px;
}

.wideslider ul li img {
	width: 100%;
	display: none;
}

.wideslider_base {
	top: 0;
	position: absolute;
}
.wideslider_wrap {
	top: 0;
	position: absolute;
	overflow: hidden;

}
.slider_prev,
.slider_next {
	top: 0;
	overflow: hidden;
	position: absolute;
	z-index: 100;
	cursor: pointer;
}
.slider_prev {background: #fff url(/commonImage/prev.jpg) no-repeat right center;}
.slider_next {background: #fff url(/commonImage/next.jpg) no-repeat left center;}

.pagination {
	bottom: 10px;
	left: 0;
	width: 100%;
	height: 15px;
	text-align: center;
	position: absolute;
	z-index: 200;
}

.pagination a {
	margin: 0 5px;
	width: 15px;
	height: 15px;
	display: inline-block;
	overflow: hidden;
	background: #53B11A;
}
.pagination a.active {
	filter:alpha(opacity=100)!important;
	-moz-opacity: 1!important;
	opacity: 1!important;
}





.block02{
margin: 0;
padding: 30px 0px;
width: 100%;
height: auto;
background: url("../topImage/top_bg01.jpg") top;
overflow: hidden;
}

.block02 h2{
width: 90%;
margin: 80px auto 30px;
text-align: center;
}

.block02 h2 img{
width: 100%;
}

.block02 .img01{
width: 100%;
height: 270px;
background: url("../topImage/top_img02.jpg") center;
background-size: cover;
margin: 0px auto;
}
.block02 .caption01{
	width: 90%;
	margin: 50px auto 30px;
	padding: 0px;
}
.block02 .caption01 dt{
width: 100%;
text-align: left;
font-size: 22px;
font-weight: bold;
font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
margin: 20px auto 20px auto;
color: #00b2b3;
padding: 0;
}
.block02 .caption01 dd{
font-size: 14px;
line-height: 250%;
margin: 0px auto;
padding: 0;
width: 100%;
text-align: left;
}

.block02 .img02{
top: 30px;
width: 100%;
height: 200px;
background: url("../topImage/top_img03.jpg") center;
background-size: cover;
}

.block02 .caption02{
	width: 90%;
	margin: 50px auto;
	padding: 0px;
}
.block02 .caption02 dt{
width: 100%;
text-align: left;
font-size: 22px;
font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
font-weight: bold;
margin: 0px auto 20px auto;
}
.block02 .caption02 dt span{
color: #00b2b3;
}

.block02 .caption02 dd{
width: 100%;
font-size: 14px;
line-height: 200%;
margin: 0px auto 0px;
text-align: left;
}


.bg_img_japan{
margin: 0;
padding: 0;
width: 100%;
height: 300px;
min-height: 300px;
background: url("../topImage/top_bg02.jpg") no-repeat center;
background-size: cover;
display: -webkit-flex; /* Safari */
  display: flex;
  -webkit-flex-wrap: wrap; /* Safari */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-justify-content: space-between; /* Safari */
  justify-content:         space-between;
}


.block03{
margin: 0;
padding: 0;
width: 100%;
background: #fff;
}
.block03 .box{
text-align: left;
width: 100%;
margin: 0px auto;
}
.block03 .box h2{
width: 80%;
text-align: center;
margin: 70px auto 30px auto;
}
.block03 .box h2 img{
width:  100%;
}

.block03 .service_list{
width: 100%;
}
.block03 .service_list{
width: 90%;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
   -webkit-flex-wrap: wrap; /* Safari */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
   margin: 0px auto;
   padding: 0px;
}
.block03 .service_list li{
width: 100%;
padding: 0;
margin: 0px;
}
.block03 .service_list .sv01{
background: url("../topImage/top_img01_sv01.jpg") no-repeat;
background-size: 100%;
height: 345px;
}
.block03 .service_list .sv02{
background: url("../topImage/top_img01_sv02.jpg") no-repeat;
background-size: 100%;
height: 345px;
}
.block03 .service_list .sv03{
background: url("../topImage/top_img01_sv03.jpg") no-repeat;
background-size: 100%;
height: 345px;
}
.block03 .service_list .sv04{
background: url("../topImage/top_img01_sv04.jpg") no-repeat;
background-size: 100%;
height: 345px;
}
.block03 .service_list .sv05{
background: url("../topImage/top_img01_sv05.jpg") no-repeat;
background-size: 100%;
height: 345px;
}

.block03 a{
width: 100%;
height: 100%;
}

/* 通常時はホバー時の文字を非表示にする */
.block03 a .hover{
display: none;
width: 100%;
height: 100%;
background: hsla(0,0%,0%,0.4);
padding: 0px;
margin: 0;
}

/* ホバー時は通常時の文字を非表示にする */
.block03 a:hover .nomal{
display: none;
}
/* ホバー時に、ホバー時の文字を表示する */
.block03 a:hover .hover{
display: block;
height: 100%;
width: 100%;
background: hsla(0,0%,0%,0.4);
color: #fff;
-webkit-transition: 0.8s;
	-moz-transition: 0.8s;
	-o-transition: 0.8s;
	-ms-transition: 0.8s;
	transition: 0.8s;
padding: 15px 0px;
}
.block03 a:hover .hover dt{
width: 80%;
margin: 0px auto;
font-size: 14px;
border-bottom: 1px solid #fff;
padding-bottom: 5px;
}
.block03 a:hover .hover dd{
width: 80%;
margin: 0px auto;
font-size: 14px;
line-height: 300%;
border-bottom: 1px solid #fff;
padding: 0px;
}
/*
.block03 a:hover{
opacity: 0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}*/
.block03 .box p{
text-align: left;
margin: 0px 0px 30px 0px;
line-height: 240%;
}
.block03 .next:before{
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 170px;
  height: 1px;
  background-color: black;
}
.block03 .next:before {
  left:-170px;
}
.block03 .next{
float: right;
position: relative;
  display: inline-block;
  margin-bottom: 1em;
margin:  0px auto 0px ;
padding: 5px 10px;
width: 90px;
text-align: center;
border-left: 2px solid #000;
border-right: 2px solid #000;
}
.block03 a{
display: block;
text-decoration: none;
color: #000;
font-weight: bold;
}
.block03 a:hover{
color: #9C9C9C;
transition: .3s;
}

.block03 h3{
color: #00b2b3;
font-size: 25px;
font-weight: bold;
position: relative;
  padding: 0 10% 0px 0px;
  width: 90%;
  margin: 0px auto;
}
/*.block03 h3:before,*/
.block03 h3:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width:50%;
  height: 1px;
  background-color: #00b2b3;
}
.block03 h3:before {
  left:0;
}
.block03 h3:after {
  right: 0;
}
.block03 .flex{
width: 90%;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
   -ms-flex-wrap: wrap;
      flex-wrap: wrap;
   margin: 0px auto 50px auto;
   padding: 0px;
}
.block03 .flex dl{
width: 100%;
margin:30px 0px;
padding: 0;
}
.block03 .flex dl dt{
margin:0px 0px;
padding: 0;
}
.block03 .flex dl dt img{
width: 100%;
margin:0px 0px;
padding: 0;
}
.block03 .flex dl dd{
margin:0px 0px;
padding: 0;
font-size: 15px;
}
.block03 .flex h4{
color: #00b2b3;
font-size: 15px;
font-weight: bold;
}
.block03 .flex h4.ene{
background: url("../commonImage/spe_logo01.png") no-repeat left;
padding: 10px 0px 10px 150px; 
}
.block03 .flex h4.clo{
background: url("../commonImage/spe_logo02.png") no-repeat left;
padding: 10px 0px 10px 30px;
}


.block04{
margin: 0;
width: 100%;
padding: 40px 0;
background: #efefef;
box-sizing: border-box;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
-webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
overflow: hidden;
}
.block04 .box{
width: 90%;
margin: 40px auto;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
-webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
   -ms-flex-wrap: wrap;
      flex-wrap: wrap;
overflow: hidden;
}
.block04 .box h2{
width: 70%;
text-align: left;
margin: 10px auto 30px auto;
}
.block04 .box h2 img{
width: 100%;
}
.block04 .news{
width: 100%;
border-top: solid 1px #bdbdbd;
margin: 0px 0px;
padding: 10px 0px 0px 0px;
}
.block04 .news li{
margin: 0px 0px 10px;
padding: 10px 20px 20px ;
border-bottom: solid 1px #bdbdbd;
text-align: left;
font-size: 12px;
}



.block05{
margin: 0;
width: 100%;
padding: 40px 0;
background: #fff000;
box-sizing: border-box;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
-webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
   -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
overflow: hidden;
}
.block05 .box{
width: 90%;
margin: 40px auto;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
-webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
   -ms-flex-wrap: wrap;
      flex-wrap: wrap;
overflow: hidden;
}
.block05 .box h2{
width: 70%;
text-align: center;
margin: 30px auto 30px auto;
}
.block05 .box h2 img{
width: 100%;
}
.block05 .contact_box{
width: 100%;
margin: 0px 0px;
padding: 10px 0px 20px 0px;
}
.block05 .contact_box dt{
margin: 0px;
padding: 0px 0px 0px;
text-align: center;
}
.block05 .contact_box dd{
margin: 0px;
padding: 0px 0px 0px;
text-align: center;
font-size: 22px;
line-height: 100%;
}
.block05 .contact_box dd p{
font-size: 13px;
margin: 0px;
padding: 0;
text-align: center;
}

.block06{
margin: 0;
width: 100%;
box-sizing: border-box;
background: #fff;
    display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
     -ms-flex-direction: column;
         flex-direction: column;
         -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
   -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
}
.block06 h2{
margin: 50px auto 30px;
letter-spacing: 10px;
width: 80%;
}
.block06 h2 img{
width: 100%;
}
.block06 .group_box{
width: 90%;
margin: 0px auto 100px;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
-webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
   -ms-flex-wrap: wrap;
      flex-wrap: wrap;
overflow: hidden;
padding: 0;
text-align: center;
border-top: solid #eee 1px;
}
.block06 .group_box li{
width: 100%;
text-align: center;
font-size: 15px;
padding: 20px 0px;
margin: 0;
border-bottom: solid #eee 1px;
}
.block06 .group_box li img{
max-height: 130px;
}
.block06 .group_box li p{
text-align: center;
}

