@charset "UTF-8";

/* CSS Document */
/*Reset*/
html{
	font-size:62.5%;
	height:100%;
	width:100%;
}
body{
	width:100%;
	height:100%;
	margin: 0 auto;
	padding:0 0 0 0;
	background:#fff;
	font-family:"游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;

	color:#353535;
}

h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, caption, th, td, img, form {
	margin: 0;
	padding: 0;
	border: none;
	line-height:100%;
	font-style: normal;
	font-size: 100%;
	text-align:left;
	list-style-type:none;
	border-collapse:collapse;
	vertical-align:top;

}

body .mincho{
	font-family:"Roboto Slab" , Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}


.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	overflow:hidden;
	display: inline-block;
}
/* Hides from IE-mac \*/
* html .clearfix{height: 1%;}
*+html .clearfix{min-height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */

.s{
  background: url(../images/common/sprite.png) no-repeat 0 0;
  background-size:300px 300px;
  text-indent: 100%;
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
  white-space: nowrap;
}
.sb:before,
.sa:after{
  content: '';
  background:url(../images/common/sprite.png) no-repeat 0 0;
  background-size:300px 300px;
  text-indent: 100%;
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
}

.centering{
	text-align: center;
	
}

.inner_border{
	padding:20px;
	position:relative;

}
.inner_border:before{
	content:'';
	display:block;
	position:absolute;
	width:calc( 100% - 10px );
	height:calc( 100% - 10px);
	top:4px;
	left:4px;
	border:1px solid #fff;
}

.inner_border_2{
	padding:20px;
	position:relative;
}
.inner_border_2:before{
	content:'';
	display:block;
	position:absolute;
    width: calc( 100% - 19px );
    height: calc( 100% - 22px);
    top: 10px;
    left: 8px;
	border:1px solid #fff;
	z-index: 20;
}


.outer_border{

		margin:0 15px;
	border:1px solid #000436;

	position:relative;
	padding: 5px;
}
.outer_border:before{
	content:'';
	display:block;
	position:absolute;
    width: calc( 100% - 12px );
    height: calc( 100% - 12px);
    top: 5px;
    left: 6px;
	background:#fff;
	z-index: 0;
}
.outer_border_wrap{
	padding:30px 20px 40px 20px;
	position: relative;
	z-index: 2;
	background:url("../images/home/philosophy_sousyoku.png")no-repeat bottom;
	background: #000436;
}

.wallpaper{
	padding:20px 0 60px 0;
	background-size: 123px 43px;
}

/* TOP */
main{
	height:100%
}
p{
	word-wrap: break-word;
}
a{
	text-decoration: none;
}
#home #top{
	height: 100%;
	position:relative;
	padding:15px;
	box-sizing:border-box;
}
#top_images{
	height: 100%;
	width: 100%;
	position: absolute;
	left:0;
	top:0;
	overflow: hidden;
}
#top_images span{
	display: block;
	background-size:cover;
	position: absolute;
	height: 100%;
	width: 100%;
	left:0;
	top:0;
	opacity:0;
  	transition:all 0;
  	z-index: -1;
}
#top_images #top_image1{
	background-image:url(../images/index/top1.jpg);
	opacity: 0.6;
    display: block;
}
#top_images #top_image2{
	background-image:url(../images/index/top2.jpg);
}
#top_images #top_image3{
	background-image:url(../images/index/top3.jpg);
}

#top_images span.display_first{
	opacity: 1;
	transform:scale(1);
	animation:anime_top_image0 6000ms linear 0s;
	z-index: 2;
}
@keyframes anime_top_image0{
	0%{
		opacity:1;
		transform:scale(1);
	}
	50%{
		opacity:1;
	}
	100%{
		transform:scale(1.05);
		opacity:1;
	}
}
#top_images span.display{
	opacity: 0;
	transform:scale(1);
	animation:anime_top_image1 6000ms linear 0s;
	z-index: 2;
}
@keyframes anime_top_image1{
	0%{
		opacity:0;
		transform:scale(1);
	}
	50%{
		opacity:1;
	}
	100%{
		transform:scale(1.05);
		opacity:1;
	}
}

#top_images span.hide{
	opacity:1;
	transform:scale(1.1);
	animation:anime_top_image2 linear 3000ms 0s;

}
@keyframes anime_top_image2{
	0%{
		opacity:1;
		transform:scale(1.05);
	}

	100%{
		opacity:0;
		transform:scale(1.075);
	}
}


/* -----------------------------

タイトル

----------------------------- */
.h{	
	position: relative;
	color: #fff;
	margin: 200px 0 0;
	z-index: 5;
}
.h__logo{
	max-width: 300px;
	margin: 50px 0 0 0;
}
.h__ttl{
	font-size: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: a-otf-ud-reimin-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
	color: #ffffff;
}
.h__subttl{
	margin: 20px 0 0;
	font-size:20px;
	line-height: 1.3;
	text-align: center;
	margin: 30px 0 0;
	font-family: a-otf-ud-reimin-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
}
.logo_wrap{
	z-index: 30;
}
.logo{
	margin: 0;
	position: absolute;
	z-index: 30;
	width: 150px;
	top: 25px;
	left: 20px;
}


/* トップスクロール */

#home #top #scroll{
	position:absolute;
	top:93%;
	left:50%;
    margin:-74px 0 0 -4px;
	z-index: 2;
	display: inline-block;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	text-decoration: none;
	padding-top: 50px;
}


div#scroll img{
	width: 80%;
	height: auto;
}

/* トップスクロール　縦線 */

#scroll span {
	position: absolute;
	top: 110px;
	left: 25%;

	display: inline-block;
    width: 1px;
    height: 80px;
    background-color:#ffffff;
	/*
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	margin-left: -12px;
	*/
	-webkit-transform: rotate(-45deg);
	transform: rotate(0deg);
	-webkit-animation: sdb 1.5s infinite;
	animation: sdb 3s infinite;
	box-sizing: border-box;
}




/* トップスクロールのアニメーション */


@-webkit-keyframes sdb {
	0% {
		-webkit-transform: rotate(0deg) translate(0, 0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		-webkit-transform: rotate(0deg) translate(0px, 40px);
		opacity: 0;
	}
}
@keyframes sdb {
	0% {
		transform: rotate(0deg) translate(0, 0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		transform: rotate(0deg) translate(0px, 40px);
		opacity: 0;
	}
}


/* -----------------------------

ハンバーガー

----------------------------- */
.hgm__box{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
  }
  .hbm__img{
	max-width: 130px;
	margin: 0 10px 0 0;
  }

  .hamburger {
	display : block;
	position: fixed;
	z-index : 3;
	right : 20px;
	top   : 20px;
	width : 42px;
	height: 42px;
	cursor: pointer;
	text-align: center;
	z-index: 40;
  }
  .hamburger span {
	display : block;
	position: absolute;
	width   : 30px;
	height  : 2px ;
	left    : 6px;
	background : #ffffff;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition   : 0.3s ease-in-out;
	transition        : 0.3s ease-in-out;
  }
  .hamburger span:nth-child(1) {
	top: 10px;
  }
  .hamburger span:nth-child(2) {
	top: 20px;
  }
  .hamburger span:nth-child(3) {
	top: 30px;
  }
  
  /* スマホメニューを開いてる時のボタン */
  .hamburger.active span:nth-child(1) {
	top : 16px;
	left: 6px;
	background :rgb(0, 0, 0);
	-webkit-transform: rotate(-45deg);
	-moz-transform   : rotate(-45deg);
	transform        : rotate(-45deg);
  }
  
  .hamburger.active span:nth-child(2),
  .hamburger.active span:nth-child(3) {
	top: 16px;
	background :rgb(0, 0, 0);
	-webkit-transform: rotate(45deg);
	-moz-transform   : rotate(45deg);
	transform        : rotate(45deg);
  }
  
  /* メニュー背景　*/
  nav.globalMenuSp {
	position: fixed;
	z-index : 25;
	top  : 0;
	left : 0;
	color: #000000;
	background: #ffffff;
	text-align: center;
	width: 100%;
	transform: translateY(-100%);
	transition: all 0.6s;
  }
  
  nav.globalMenuSp ul {
	margin: 0 auto;
	padding: 30px 0;
	width: 100%;
  }
  
  nav.globalMenuSp ul li {
	list-style-type: none;
	padding: 0;
	width: 100%;
	transition: .4s all;
	text-align: center;
  }
  nav.globalMenuSp ul li:last-child {
	padding-bottom: 0;
  }
  nav.globalMenuSp ul li:hover{
	background :#ddd;
  }
  
  nav.globalMenuSp ul li a {
	display: block;
	color: rgb(0, 0, 0);
	padding: 1em 0 0 0;
	text-decoration :none;
  }
  
  /* クリックでjQueryで追加・削除 */
  nav.globalMenuSp.active {
	opacity: 100;
	display: block;
	transform: translateY(0%);
	z-index: 35;

  }


/* -----------------------------

企業理念

----------------------------- */
.rinen{
	text-align: center;
	background: #0b3259;
	padding: 20px;
}
.rinen__ttl{
	font-size: 25px;
	color: #ffffff;
	line-height: 1.2;
	font-family: a-otf-ud-reimin-pr6n, sans-serif;
	font-weight: 300;
	font-style: normal;
	text-align: center;
}
.rinen__big{
	font-size: 40px;
}
.rinen__txtbox{
	margin: 40px 0 0 0;
}
.rinen__txt{
	margin: 20px 10px 0;
	line-height: 1.8;
	font-size: 14px;
}
#home #philosophy{
	background-size:contain;
	padding:70px 0;
}
#home #philosophy #philosophy_sousyoku{
	position:absolute;
	top:15%;
	right:4%;
    margin:-42px 0 0 -53px;
}
#home #philosophy #philosophy_sousyoku2{
	position:absolute;
	top:17%;
	left:9%;
    margin:-50px 0 0 -42px;
}
#home #philosophy p{
	text-align:center;
	color: #fff;
}
#home #philosophy h3{
	font-size:25px;
	font-family:YuMincho, '游明朝', serif;
	font-weight:400;
	text-align:center;
	margin:30px 0;
}


/* -----------------------------

当社の強み

----------------------------- */
.strength{
	padding: 30px 0 0;
	margin: 0;
	text-align: center;
}
.strength__ttl{
	font-size: 22px;
	font-weight: bold;
	padding: 0 0 10px;
	color: #0b3259;
	margin: 50px 0 30px 0;
	border-bottom: solid 4px #0b3259;
	display: inline-block;
	position: relative;
}
.strength__ttl:after{
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 4px #2aa086;
	bottom: -4px;
	width: 50%;
}  
.p__ttl{
	margin: 10px 0 0;
	font-size: 30px;
	color: #fff;
	font-family: a-otf-ud-reimin-pr6n, sans-serif;
	font-weight: 300;
	font-style: normal;
}
.p__big{
	font-size: 50px;
}
.practices{
	margin: 15px;
}
.p_photo img{
	max-width: 100%;
}
.p__txt{
	margin: 10px 0 0;
}


#home #practices .practices{
	width: 100%;
	margin: 0 auto;
	background: #fff;
}
#home #practices .practices .p_text{
	padding: 20px 20px 30px;
	position: relative;
	color: #fff;
	background: #2aa086;
}


/* -----------------------------

アクセス

----------------------------- */
.access{
	text-align: center;
	background: #fff;
}
.access__ttl{
	font-size: 22px;
	font-weight: bold;
	padding: 0 0 10px;
	color: #0b3259;
	margin: 50px 0 30px 0;
	border-bottom: solid 4px #0b3259;
	display: inline-block;
	position: relative;
}
.access__ttl:after{
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 4px #2aa086;
	bottom: -4px;
	width: 50%;
}  
iframe{
	border: none;
	height: 250px;
}


#home #access h3{
	font-size: 24px;
	font-family:"ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	font-weight: normal;
	letter-spacing: 0.2rem;
	margin-bottom:20px;
}

#home #access .address{
	background-color:#2aa086;
	height:150px;
	color:white;
	position:relative;
	z-index: 5;
}
#home #access .right{
margin: 0 0 0 auto;
}
#home #access .address:before{
	content: '';
    position: absolute;
    left: 8px;
    top: 8px;
    right: 8px;
    bottom: 8px;
    margin: auto;
    border: 1px solid #fff;
}
#home #access .ad_text{
	width:310px;
	margin: 0;
	letter-spacing:0.03em;
	padding: 30px;
}
#home #access .ad_text p{
	margin-bottom:15px;
}
#home #access .ad_text ul{
	position: relative;
	font-size: 15px;

}
#home #access .ad_text ul li{
	position: relative;
	font-size: 1.4rem;
	line-height: 1.5;
	padding-top: 7px;
}
#home #access .ad_text ul li span{
    display: block;
	padding-left: 20px;
	letter-spacing: 0;
}

#home #access .ad_text ul li:before{
    content: "■";
	color: #fff;
	padding-right: 20px;
	position: absolute;
}



#home #access .map_2{
	margin-top:-300px;
	background-color:#E7E7E7;
	height:300px;
}
#home #access .address_2{
	background-color:#c3c758;
	width:370px;
	height:90px;
	color:white;
	padding:5px;
	position:relative;
	z-index: 10;
	margin-left: 600px;
}
#home #access .address_2:before{
content: '';
    position: absolute;
    left: 8px;
    top: 8px;
    right: 8px;
    bottom: 8px;
    margin: auto;
    border: 1px solid #fff;
}
#home #access .ad_text_2{
	width:210px;
	margin:0 auto;
	margin-top:55px;
}#home #access .ad_text p_2{
	margin-bottom:15px;
}


/* -----------------------------

フッター

----------------------------- */
.f{
	background: #0b3259;
	padding: 40px 0 0;
	text-align: center;
}
.f__ttlbox{
	display: flex;
	justify-content: center;
	align-items: center;
}
.f__ttlbox:hover{
	transition: 0.8s ;
	opacity: 0.5 ;
}
.f__ttlbox__img{
	max-width: 150px;
	margin: 0;
}
.f__txt{
	margin: 20px 0 0;
	text-align: center;
	font-size: 14px;
	color: #fff;
}
.f__btnbox{
	padding: 30px;
	margin-right: auto;
	margin-left: auto;
}
.f__btnbox__left{
	display: flex;
	justify-content: center;
	padding: 20px;
	background: #14b199;
	height: 30px;
	align-items: center;
	margin: 15px;
	box-shadow: #071a2d 3px 3px 6px;
	text-align: center;
}
.f__btnbox__left:hover{
	background: #0d6b5d;
	box-shadow: #071a2d 3px 3px 6px;
	transition: 0.8s ;
}
.f__btnbox__left__img{
	max-width: 30px;
	height: auto;
	margin: 0 10px 0 0;
}
.f__btnbox__left__txt{
	font-size: 18px;
	color: #fff;
	margin: 0;
}
.f__btnbox__right{
	display: flex;
	justify-content: center;
	padding: 20px;
	background: #14b199;
	height: 30px;
	align-items: center;
	margin: 15px;
	box-shadow: #071a2d 3px 3px 6px;
}
.f__btnbox__right:hover{
	background: #0d6b5d;
	box-shadow: #071a2d 3px 3px 6px;
	transition: 0.8s ;
}
.f__btnbox__right__img{
	max-width: 30px;
	height: auto;
	margin: 0 10px 0 0;
}
.f__btnbox__right__txt{
	font-size: 18px;
	color: #fff;
	margin: 0;
}
.f__pp{
	color: #fff;
}
.f__pp:hover{
	transition: 0.8s ;
	color: rgb(187, 187, 187);
}
.copyright{
	text-align: center;
	background: #102439;
	height: 30px;
	padding: 10px;
	margin: 30px 0 0;
}
.copyright p{
	color: #fff;
	text-align: center;
	margin: 0;
}

