@charset "UTF-8";
*{margin:0; padding:0}
li{list-style:none}
a{text-decoration:none}
img{border:none}
body{width:100%; margin:0 auto;background: #F5F5F7;overflow-x: hidden;}
html{	font-family: "SF Pro JP","SF Pro Text","SF Pro Icons","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック","Helvetica Neue","Helvetica","Arial",sans-serif;}
h1{font-style: normal;font-weight: 700;font-size: 56px;line-height: 60px;}
h2{font-style: normal;font-weight: 400;font-size: 31px;line-height: 35px;}
h3{font-style: normal;font-weight: 400;font-size: 21px;line-height: 24px;}
h4{font-style: normal;font-weight: 400;font-size: 16px;line-height: 24px;}
h5{font-size: 24px;line-height:1.5;font-weight: bold;}
h6{font-size: 16px;line-height:1.5;font-weight: lighter;}
p{font-style: normal;font-weight: 400;font-size: 21px;line-height: 20px;}
section{width: 100%;height: auto;max-width: 1500px;display: flex;margin: auto;}
input select { outline: none;}
.lt{display:block;}
.tb{display:none;}
.mb{display:none;}

footer{
	background-color: rgba(0, 0, 0, 0.02);
	color: #808080;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 25px 0px 5px;
	gap:6px;
}

nav {
  position: fixed;	
  display: flex;
  justify-content: center;
  align-items: center;
  height: 44px;
  width: 100%;	
  background-color: #1D1D1F;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  padding: 0 0px;
}

.logo img {
  height: 20px;
  padding: 4px 15px 0;
}

.menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu li {
  margin: 0 15px;
}

.menu li a {
  text-decoration: none;
  color: #fbfbfd;
  text-transform:none;
  font-size: 16px;
}

.sub-menu {
  display: none;
  position: absolute;
  top: 44px;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.85);
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
  justify-content: center;
  align-items: center;
	padding: 10px 0 20px;
}

.sub-menu li {
  margin: 0 10px;
  width: 180px;
  height: 330px;
}

.sub-menu li a {
  color: #fff;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.sub-menu li a img{
  width: 100%;
  height: 270px;
}

.sub-menu li a p{
  font-size: 20px;
  text-align: center;
  letter-spacing: .5px;
}


.hamburger-menu {
  display: none;
}

.hamburger {
  width: 30px;
  height: 2px;
  background-color: #fbfbfd;
  margin: 5px 15px;
  transition: all 0.3s ease-in-out;
}

.ttl{
	background: url("../img/ttl_bg.png");
	background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
	width: 100vw;
	height: 180px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ttl img{
	width: 80vw;
	max-width: 300px;
}

.main{
	width: 100vw;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 44px 0px 20px;
	gap: 12px;
}

.module-content{
	width: 100%;
	max-width: 1440px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.module-content a{
	color:rgba(59, 141, 237, 1);
}

.module-content img{
	width: 98%;
	max-width: 1000px;
}
.module-content p{
	text-align: center;
}

.box{
	width: 100%;
	height: 692px;
	background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 55px 0px 0px;
	gap: 12px;
}

.box h3{
	padding: 0px 20px;
}

.row{
	flex-direction: row;
}
.row h1{font-style: normal;font-weight: 700;font-size: 40px;line-height: 44px;}
.row h2{font-style: normal;font-weight: 400;font-size: 21px;line-height: 25px;}
.row h3{font-style: normal;font-weight: 400;font-size: 17px;line-height: 21px;}


.white{
	color: #fff;
}

@media screen and (max-width: 833px) {
	nav{
  	justify-content: space-between;
  align-items: flex-start;
	height: 36px;
	transition:0.3s;
	padding-top: 12px	
	}
  
	h1{font-style: normal;font-weight: 700;font-size: 48px;line-height: 52px;}
	h2{font-style: normal;font-weight: 400;font-size: 24px;line-height: 28px;}
	h3{font-style: normal;font-weight: 400;font-size: 19px;line-height: 23px;}
	p{font-style: normal;font-weight: 400;font-size: 19px;line-height: 23px;}
 
	.row h1{font-style: normal;font-weight: 700;font-size: 32px;line-height: 36px;}
	.row h2{font-style: normal;font-weight: 400;font-size: 19px;line-height: 23px;}
	.row h3{font-style: normal;font-weight: 400;font-size: 17px;line-height: 21px;}
	
	.box{height: 650px;}
	
  .menu {
	display: none;
	height: 100vh;
    flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding:60px 0 0 12px;
  }
  
  .menu li {
    margin: 10px 0;
	height: auto;
  }
  
.sub-menu {
  display: none;
  top: 0px;
  height: 100vh;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding:44px 0 20px 20px;
  width: 100vw;
    background: #070707;
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);

}
	
  .hamburger-menu {
    display: flex;
	flex-direction: column;
    justify-content: space-between;
  }
  
	
	
.sub-menu li {
  margin: 10px 0px;
  width: 100%;
}

.sub-menu li a {
  flex-direction: row;
  justify-content: flex-start;
}

.sub-menu li a img{
  width: 90px;
  height: 135px;
  margin-right: 10px;
}

.sub-menu li a p{
  text-align: left;
}
	
	
  nav.active {
    height: 100%;
  }
    
  .hamburger-menu.active .hamburger:first-child {
    transform: rotate(45deg) translate(4.25px, 4.25px);
  }
    
  .hamburger-menu.active .hamburger:last-child {
    transform: rotate(-45deg) translate(4.25px, -4.25px);
  }
}


@media (max-width:733px){
	
	h1{font-style: normal;font-weight: 700;font-size: 32px;line-height: 36px;}
	h2{font-style: normal;font-weight: 400;font-size: 19px;line-height: 23px;}
	h3{font-style: normal;font-weight: 400;font-size: 16px;line-height: 21px;}
	p{font-style: normal;font-weight: 400;font-size: 17px;line-height: 21px;}
	
	footer h4{text-align: center;font-style: normal;font-weight: 400;font-size: 12px;line-height: 18px;}
	
	.row{
	flex-direction: column;
}

	.box{height: 500px;padding-top: 40px;}


}