@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/

html,body{	height:100%;}
html{
	font-size:62.5%;
    overflow-y: scroll;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form,figure{
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: 700;
	font-family:"Noto Sans JP","メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	text-align: left;
	color:#333;
	letter-spacing: 0.01;
}

input[type="text"],input[type="email"],input[type="tel"], button, textarea, select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select::-ms-expand {
	display: none;
}

a{
	text-decoration: none;
}

a img {
 transition: opacity 0.3s ease-out;
}

img{
	vertical-align: bottom;
	max-width: 100%;
}

.inr{
	max-width: 100%;
	width: 934px;
	margin: 0 auto;
}

section .inr>h2{
	font-size: 2.8rem;
	text-align: center;
	margin-bottom: 5rem;
}

section .inr>h2 br{
	display: none;
}

section .inr>h2 span.sml_tit{
	font-size: 1.6rem;
	display: block;
	color: #5D5FEF;
	margin-bottom: 1.2rem;
}

.sp{display: none!important;}


/*　ハンバーガーボタン　*/
.hamburger {
	display : block;
	position: fixed;
	right : 3%;
	top   : 20px;
	width : 40px;
	height: 40px;
	cursor: pointer;
	text-align: center;
	z-index: 9999;
  }
  .hamburger span {
	display : block;
	position: absolute;
	width   : 24px;
	height  : 2px ;
	left    : 6px;
	background : #000;
	-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 :#000;
	-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 :#000;
	-webkit-transform: rotate(45deg);
	-moz-transform   : rotate(45deg);
	transform        : rotate(45deg);
  }
  
  /* このクラスを、jQueryで付与・削除する */
  nav.globalMenuSp.active {
	opacity: 100;
  }

  .fade{
		animation-name:fadeUpAnime;
		animation-duration:0.8s;
		animation-fill-mode:forwards;
		opacity:0;
	}
  @keyframes fadeUpAnime{
	from {
	  opacity: 0;
	transform: translateY(100px);
	}
  
	to {
	  opacity: 1;
	transform: translateY(0);
	}
  }
  
  .anime{
	  opacity: 0;
  }

  .text{
	animation-name:fadea;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
	opacity:0;
}

@keyframes fadea{
	from {
	opacity: 0;
	transform: translateY(50px);
	}

	to {
	opacity: 1;
	transform: translateY(0);
	}
}

.topanime{
  opacity: 0;
}
  

@keyframes fade_pc{
	from {
	opacity: 0;
	transform: translateX(50px);
	}

	to {
	opacity: 1;
	transform: translateX(0);
	}
}

.top_fig{
  opacity: 0;
}

@media screen and (max-width: 960px){
	.inr{
		width: 94%;
	}

	section .inr>h2{
		font-size: 2.4rem;
		margin-bottom: 5rem;
		line-height: 1.4;
	}
	
}

@media screen and (max-width: 867px){
	section .inr>h2 br{
		display: block;
	}

	.sp{display: block!important;}
	.pc{display: none!important;}
}


/* ----------------------------------------------------------------------------------------------------
*  ヘッダー
* --------------------------------------------------------------------------------------------------*/
#hd{
	padding: 2rem 0;
	background: #F2F2FF;
	position: fixed;
	top: 0;
	z-index: 99;
	width: 100%;
}

#hd .inr{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#hd .gnav_r{
	display: flex;
	align-items: right;
}

#hd .gnav_l{
	display: flex;
	align-items: center;
}

#hd .gnav_l h1{
	width: 182px;
	margin-right: 4rem;
	padding: 0 0 0.4em;
}

/* nav */
#hd .gnav{
	display: flex;
	align-items: center;
}

#hd .gnav a{
	color: #000;
	font-size: 1.2rem;
	margin-right: 1.6rem;
	transition: .3s;
}

#hd .gnav a:hover{
	color: #5D5FEF;
}

/* お問い合わせ　ボタン */
.hd_contact_btn a{
	font-size: 1.4rem;
	padding: 0.8rem 2.4rem;
	background: #5D5FEF;
	border-radius: 4px;
	color: #fff;
	box-sizing: border-box;
	border:solid 2px #5D5FEF;
	transition: .3s;
}

.hd_contact_btn a:hover{
	color: #5D5FEF;
	background: #fff;
}

.gnav_wp{
	position: fixed;
	right: -100vw;
	transition: .5s;
}

@media screen and (max-width: 960px){
	.gnav_wp{
		width: 100%;
		height: 100vh;
		z-index: 999;
		top: 0;
		background: #fff;
		padding: 5rem 3%;
		box-sizing: border-box;
	}

	.gnav_wp h1{
		max-width: 70%;
		margin: 0 auto 5rem;
		padding: 0;
	}
	
	#hd .gnav_wp.active{
		right: 0;
		transition: .5s;
	}

	#hd .gnav_wp .gnav{
		display: block;
	}

	#hd .gnav_wp .gnav li a{ 
		display: block;
		text-align: center;
		font-size: 1.6rem;
		line-height: 3.2;
	}

	#hd .gnav_l h1{
		width: 160px;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  フッター
* --------------------------------------------------------------------------------------------------*/
#ft{
	background: #F2F2FF;
}

#ft .inr{
	padding: 5rem 0;
	position: relative;
}

#ft .inr figure{
	position: absolute;
	bottom: 0;
	right: 0;
}

#ft h1 img{
	width: 183px;
}

#ft ul{
	display: flex;
}

#ft ul li{
	margin-right: 2.4rem;
}

#ft ul a{
	color: #000;
	font-size: 1.4rem;
	display: block;
	margin-top: 3rem;
	transition: .3s;
}

#ft ul a:hover{
	color: #5D5FEF;
}

@media screen and (max-width: 768px){
	#ft ul a{
		font-size: 1.2rem;
	}

	#ft ul{
		display: block;
	}
}


/* ------------------------------
    clearfix
------------------------------ */

.cf:after{
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}

.cf {display: inline-block;}

/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */
