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

/*--作業用*/
.outer-menu{display:;}
.loading {display: none;}
/*--------------------------------------------------------------------------ページ全体を包括*/
#wrapper {
width: 100%;
margin: 0 auto;
overflow: hidden;/* 作業用 */
}

.fixed{
	position:fixed;
	top: 0;
	left: 0;
}

a:hover img{opacity:1.00;filter:alpha(opacity=100);-ms-filter: "alpha( opacity=100 )";}

.loading {
  width: 100vw;
  height: 100vh;
  transition: all 2.0s;
  background-color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 150000;
  opacity: 1;
  visibility: visible;
}

.loading.is-active {
  opacity: 0;
  visibility: hidden;
}

.loading-animation {
  width: 100vw;
  height: 100vh;
  transition: all 1.5s;
  background-color:#FFF;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
}

.loading-animation.is-active {
  opacity: 1;
  visibility: visible;
}

.loading img {
	width: 576px;
	height: 513px;
}

body {
  animation: disableScroll .1s linear 1.0s both;
}

@media screen and (max-width:767px){
.loading img {
	width: 240px;
	height: 214px;
}
}
h1,h2,h3,h4,h5,h6 { font-weight: normal;}
/*--------------------------------------------------------------------------ヘッダー*/

header {
	position: fixed;
	width: 100%;
	height: auto;
	text-align: center;
	top: 0;
	left: 0;
	margin: 0 auto;
	z-index: 10000;
	transition: 0.5s;
	background-color: #FFF;
	box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.1);
}
header:hover {
	background-color: #FFF;
	box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.1);
}
header.scroll-nav {
  background: #FFF;
  box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.1);
}
.head {
	width: 100%;
	height: 110px;
	text-align: left;
	margin: 0 auto;
	padding: 0;
	line-height: 0;
}
h1{
	width: 328px;
	height: 60px;
	padding: 0;
	border: 0;
	margin-top: 25px;
	margin-left: 15px;
	margin-right: 0;
	margin-bottom: 0;
	position: absolute;
	z-index: 10000;
	transition: 0.4s;
}
h1 img{
	width: 328px;
	height: 60px;
}

/*　上に上がる動き　*/
#header.UpMove{
	animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime{
  from {
    opacity: 1;
	transform: translateY(0);
  }
  to {
    opacity: 0;
	transform: translateY(-90px);
  }
}

/*　下に下がる動き　*/
#header.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-90px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
}

#hmpoint {
	position: absolute;
	width:100%;
	height: 0;
	top: 120px;
	left: 0;
}

@media screen and (max-width:767px){
header {
	width: 100%;
	text-align: center;
	margin: 0 auto;
	top:0 !important;
	left:0 !important;
	background-color: #FFF;
	box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
}
.head {
	width: 100%;
	min-width: 340px;
	height: 70px;
	text-align: left;
	margin: 0 auto;
}
h1 {
	width: 267px;
	height: 40px;
	text-align: left;
	border: 0;
	font-size: 0px;
	line-height: 0px;
	margin-top: 15px;
	margin-left: 5px;
	margin-bottom: 0;
	position: relative;
	float: left;
	background-image: url(../web/object/hlogo02.png);
	background-size: cover;
}
h1 img{
	width: 219px;
	height: 40px;
	margin-top: 0px;
}
#header.UpMove{
	animation: none;
}
#header.DownMove{
	animation: none;
}
}


/* グローバルナビ　PC*/
#gNavi {
	position: absolute;
	width: 100%;
	height: 85px;
	margin-top: 15px;
	background-color: ;
}

#snv {
	width: 100%;
	height: 30px;
	float: right;
	margin-right: 20px;
	background-color: ;
}
#snv .Ig{
	width: 30px;
	height: 30px;
	float: right;
	transition: 0.4s;
}
#snv .Ig:hover{
	transform: rotate(15deg);
}

#snv .hcontact a{
	display: block;
	width: 150px;
	height: 30px;
	border-radius: 15px;
	transition: 0.4s;
	background-color: #322dc3;
	text-align: center;
	font-size: 16px;
	line-height: 30px;
	color: #fff;
	outline: 2px solid #322dc3;
	outline-offset: -2px;
	margin-right: 20px;
	float: right;
}
#snv .hcontact a:hover{
	background-color: #322dc3;
	color: #fff;
	border-radius: 5px;
	-webkit-box-shadow: 3px 3px 0 #09C;
    box-shadow: 3px 3px 0 #09C;
}

#snv .htel{
	width: 220px;
	height: 30px;
	margin-right: 20px;
	float: right;
	background-image: url(../web/object/htelac.png);
	background-position: left center;
	background-repeat: no-repeat;
	text-align: right;
	font-size: 30px;
	line-height: 30px;
	font-weight: 600;
	letter-spacing: 0px;
	color: #322dc3;
}

#snv .t1{
	width: auto;
	height: 15px; 
	font-size: 13px;
	line-height: 15px;
	text-align: right;
	margin-top: 13px;
	margin-right: 10px;
	float: right;
}

ul.gnv {
	width: auto;
	height: 45px;
	float: right;
	margin-top: 20px;
	margin-right: 20px;
	background-color: ;
}
ul.gnv li {
	width: auto;
	padding-left: 35px;
	padding-right: 0px;
	height: 45px;
	font-size: 18px;
	letter-spacing: 1px;
	line-height: 20px;
	float: right;
	text-align: center;
	list-style: none;
	font-weight: 500;
	display: block;
	transition: 0.4s;
	color: #000;
}

ul.gnv li a{
	display: inline-block;
	color: #000;
}
ul.gnv li a:hover{
	color: #322dc3;
	text-decoration:none;
}
ul.gnv li:hover{
	margin-top: -3px;
}

.arrow_u {
  width: 100%;
  position: relative;
  display: inline-block;
  padding-right:0px;
  text-decoration: none;
}
.arrow_u:after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-bottom: solid 2px #322dc3;
  border-right: solid 2px #322dc3;
  position: absolute;
  top: 45%;
  left: 45%;
  margin-top: 15px;
  transform: rotate(45deg);
  transition: 0.4s;
}
.arrow_u:hover:after {
  top: 70%;
}

.d_menu_cover{
    width: 100%;
	height: 5px;
    position: absolute;
	top: 0px;
	left: 0;
	margin: 0;
	z-index: 100;
	background-color: #FFF;
}
.dropdwn_menu{
    width: 100%;
	height: auto;
	padding-left: 0%;
	padding-right: 0%;
    display: none;
    position: absolute;
	top: 110px;
	left: 0;
	margin: 0;
	padding-top: 0px !important;
	padding-bottom: 0px !important;
	background-color: ;
	z-index: 100;
}
.dropdwn_menu01{
    width: 100%;
	height: 560px;
    display: none;
    position: absolute;
	top: 90px;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	padding-top: 0px !important;
	padding-bottom: 0px !important;
	z-index: 1;
	background-color: rgba(0,0,0,0.1);
}
.dropdwn_menu02{
	width: 100%;
	height: 560px;
    display: none;
    position: absolute;
	top: 90px;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	padding-top: 0px !important;
	padding-bottom: 0px !important;
	z-index: 1;
	background-color: rgba(0,0,0,0.1);
}

#dmenu {
	width: 1100px;
	height: auto;
	padding: 40px 50px 40px 50px;
	margin-top: 40px;
	margin-left: auto;
	margin-right: auto;
	background-color: #FFF;
	border-radius: 20px;
	box-shadow: 5px 5px 5px rgba(0,0,0,0.2);
}
#dmenu:after{
	content: "";
	clear: both;
	display: block;
}

#dmenu_ttl{
	width: 240px;
	height: auto;
	float: left;
}
#dmenu_ttl .t1{
	width: 100%;
	height: auto;
	float: left;
	font-size: 35px;
	line-height: 35px;
	text-align: left;
	font-weight: 600;
	letter-spacing: 0px;
	color: #322dc3;
	margin-top: 20px;
}
#dmenu_ttl .t2{
	width: 100%;
	height: auto;
	float: left;
	font-size: 15px;
	line-height: 15px;
	text-align: left;
	font-weight: 600;
	letter-spacing: 1px;
	color: #322dc3;
	margin-top: 20px;
}
#dmenu_menu{
	display: flex;
    flex-direction: row;
	flex-wrap:wrap;
	justify-content:space-between;
	width: 770px;
	height: auto;
	float: left;
	padding-left: 79px;
	border-left: 1px solid #ccc;
}
#dmenu_menu .thumb{
	width: 230px;
	height: auto;
	min-height: 170px;
	font-size: 16px;
	line-height: 20px;
	text-align: center;
	margin: 15px 0 15px 0;
	transition: 0.4s;
}
#dmenu_menu .thumb img{
	width: 230px;
	height: 140px;
	border-radius: 8px;
	margin-bottom: 10px;
	outline: 1px solid #ddd;
	outline-offset: -1px;
	transition: 0.4s;
}
#dmenu_menu .thumb2{
	width: 230px;
	height: auto;
	min-height: 170px;
	font-size: 15px;
	line-height: 20px;
	text-align: center;
	margin: 15px 0 15px 0;
	transition: 0.4s;
}
#dmenu_menu .thumb2 img{
	width: 230px;
	height: 140px;
	border-radius: 8px;
	margin-bottom: 10px;
	outline: 1px solid #ddd;
	outline-offset: -1px;
	transition: 0.4s;
}
#dmenu_menu .thumb:hover img{
	transform: scale(1.03);
}
#dmenu_menu .thumb:hover{
	color: #322dc3;
}
#dmenu .empty{
	width: 230px;
	height: auto;
	min-height: 170px;
}



@media screen and (max-width:767px){
#gNavi { display:none;}
#hmpoint { display:none;}
#hcontact{ display:none;}
}

@media screen and (min-width:768px){
#HMmenu{ display: none;}
}

/*ハンバーガーメニュー モバイル*/
@media screen and (max-width:767px){

#HMmenu {
	position: fixed;
	width: 40px;
	height: 40px;
    top: 15px;
    right: 5px;
    z-index: 100000;
}

input[type="checkbox"] {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}
.hamburger {
  display: block;
  width: 40px;
  height: 40px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  z-index: 10000;
  border-radius: 3px;
  background-color: #322dc3;
}
.hamburger span,
.hamburger span::before,
.hamburger span::after {
  position: absolute;
  display: block;
  content: "";
  width: 50%;
  height: 2px;
  border-radius: 2px;
  background-color: #fff;
  transition: all 0.5s;
}
.hamburger span::before {
  width: 100%;
  top: -6px;
}
.hamburger span::after {
	width: 100%;
  bottom: -6px;
}
input[type="checkbox"]:checked + .hamburger span {
  background-color: transparent;
}
input[type="checkbox"]:checked + .hamburger span::before {
  top: 0;
  transform: rotate(45deg);
}
input[type="checkbox"]:checked + .hamburger span::after {
  bottom: 0;
  transform: rotate(-45deg);
}

.nav {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0px;
  right: -120%;
  background-color: rgba(255,255,255,1.0);
  color: #fff;
  padding: 75px 0 0 0;
  transition: all 0.5s;
  z-index: 9999;
}
input[type="checkbox"]:checked ~ .nav {
  right: 0;
}
#acd-menu dt {
	position: relative;
	height: 42px;
	line-height: 42px;
	padding: 0 0px 0 20px;
	border-bottom: 1px solid #bbb;
	font-size: 18px;
	letter-spacing: 1px;
	color: #fff;
	cursor: pointer;
	text-align: left;
}
#acd-menu .empty {
	position: relative;
	height: 42px;
	line-height: 42px;
	padding: 0 0px 0 20px;
	background-color: ;
	border-bottom: 1px dotted #999;
	font-size: 18px;
	letter-spacing: 1px;
	color: #fff;
	cursor: pointer;
}
#acd-menu .empty a{
	display: block;
	color: #322dc3;
}
#acd-menu dt a {
	color: #322dc3;
}
#acd-menu dt::before {
	content: '＋';
	position: absolute;
	top: 0px;
	right: 30px;
	width: 0;
	height: 0;
	color: #322dc3;
	font-size: 20px;
}
#acd-menu dt.empty::before {
	content: '〉';
	position: absolute;
	top: 0px;
	right: 25px;
	width: 0;
	height: 0;
    color:#322dc3;
	font-size: 18px;
	font-weight: 500;
}
#acd-menu .open::before {
	content: '－';
	position: absolute;
	top: 0px;
	right: 30px;
	width: 0;
	height: 0;
	color: #322dc3;
	font-size: 20px;
}
#acd-menu dd ul li {
	list-style: none;
}
#acd-menu dd ul li a {
	display: block;
	position: relative;
	height: 40px;
	line-height: 40px;
	padding: 0 30px 0 20px;
	background-color: #FAFAFA;
	border-bottom: 1px dashed #999;
	font-size: 17px;
	color:#000;
	text-align: left;
}
#acd-menu dd ul li a::before {
	content: '〉';
	position: absolute;
	top: 0px;
	right: 25px;
	width: 0;
	height: 0;
    color: #333;
	font-size: 16px;
	font-weight: bold;
}
#hmsub {
	width: 90%;
	height: auto;
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
}
#hmsub .lt{
	width: 100%;
	height: auto;
	font-size: 15px;
	line-height: 25px;
	text-align: left;
	color:#333;
	float: left;
}
#hmsub .lt a{
	color:#333;
}
#hmsns {
	width: 100%;
	height: auto;
	display: flex;
	justify-content: center;
	margin-top: 30px;
	margin-left: auto;
	margin-right: auto;
	float: left;
}
#hmsns img{
	width: 30px;
	height: 30px;
	margin-left: 10px;
	margin-right: 10px;
}
#hmlogo {
	width: 100%;
	height: auto;
	margin-top: 25px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	float: left;
}
#hmlogo p{
	width: 100%;
	font-size: 14px;
	line-height: 20px;
	color: #333;
	text-align: center;
}
#hmlogo img{
	width: 240px;
	padding-bottom: 15px;
}

}

/*--------------------------------------------------------------------------フッター*/

footer {
	position: relative;
	width: 100%;
	height: auto;
	margin-top: 0px;
	margin-left: auto;
	margin-right: auto;
	clear: both;
	float: left;
	z-index: 1;
	border-top: 1px solid #CCC;
}
footer:after{
	content: "";
	clear: both;
	display: block;
}

#foot {
	position: relative;
	width: 100%;
	height:auto;
	padding-top: 80px;
	padding-bottom: 80px;
	margin: 0 auto;
}
#foot:after{
	content: "";
	clear: both;
	display: block;
}
#footbox {
	position: relative;
	width: 1200px;
	height: auto; 
	margin: 0 auto;
}
#footbox .flogo {
	width: 330px;
	height: auto;
	float: left;
	text-align: left;
}
#foot .flogo img{
	width: 328px;
	height: 60px;
}
#foot .flogo p{
	width: 100%;
	height: auto;
	text-align: left;
	font-size: 13px;
	line-height: 20px;
	margin-top: 15px;
}
#flink{
	width: 100%;
	height: auto;
	margin-top: 20px;
	display:flex;
	justify-content: flex-start;
}
#flink .sns{
	width: 35px;
	height: 35px;
	margin-left: 15px;
	margin-right: 15px;
	margin-top: 12px;
}
#flink .sns img{
	width: 35px;
	height: 35px;
}
#flink .banner{
	width: 240px;
	height: 80px;
	margin-left: 0px;
}
#flink .banner img{
	width: 240px;
	height: 80px;
}



#foot .sitemap {
	width: 720px;
	height: 160px;
	font-size: 13px;
	line-height: 20px;
	margin-left: 150px;
	float: left;
	display: flex;
	justify-content: space-between;
}
#foot .t1{
	width: auto;
	height: auto;
	float: left;
	text-align: left;
}
#foot .t1 a{ color: #000;}
#foot .t2{
	width: auto;
	height: auto;
	float: left;
	text-align: left;
}
#foot .t2 a{ color: #000;}


#foot li{
	width: 100%;
	height: auto;
	font-size: 14px;
	line-height: 27px;
	list-style:none;
}
#foot li a{
	color: #000;
	transition: 0.4s;
}
#foot li a:hover{
	color: #322dc3;
}


#cr{
	position: relative;
	width: 100%;
	height: 50px;
	text-align: center;
	font-size: 11px;
	line-height: 50px;
	color: #fff;
	background-color: #222;
}
#cr .ac{
	position: absolute;
	bottom:0;
	right: 10px;
	width: 148px;
	height: 50px;
}




@media screen and (max-width:767px){
footer {
	position: relative;
	width: 100%;
	height: auto;
	margin-top: 0px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 0px;
}

#foot {
	position: relative;
	width: 100%;
	height:auto;
	padding-top: 25px;
	padding-bottom: 25px;
	margin: 0 auto;
	border-top: 1px solid #CCC;
}
#foot:after{
	content: "";
	clear: both;
	display: block;
}
#footbox {
	position: relative;
	width: 340px;
	height: auto;
	margin: 0 auto;
}
#footbox .flogo {
	width: 340px;
	height: auto;
	float: left;
	text-align: center;
	margin-top: 0px;
}
#foot .flogo img{
	width: 262px;
	height: 48px;
}
#foot .flogo p{
	width: 100%;
	height: auto;
	text-align: center;
	font-size: 13px;
	line-height: 18px;
	margin-top: 15px;
}
#flink{
	width: 100%;
	height: auto;
	margin-top: 20px;
	justify-content: center;
}
#flink .sns{
	width: 30px;
	height: 30px;
	margin-left: 10px;
	margin-right: 10px;
	margin-top: 12px;
}
#flink .sns img{
	width: 30px;
	height: 30px;
}
#flink .banner{
	width: 165px;
	height: 55px;
	margin-left: 10px;
}
#flink .banner img{
	width: 165px;
	height: 55px;
}
#foot .sitemap { display:none;}

#cr{
	width: 100%;
	height: 25px;
	text-align: center;
	font-size: 10px;
	line-height: 25px;
	color: #fff;
}
#cr .ac{ display:none;}

}
