@charset "utf-8";

/* reset.css */
*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role="list"],ol[role="list"]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}

body {
    max-width: 1680px;
    margin: auto;
background: #fff;}
img{
	max-width: 100%;
	height: auto;
}

.f-now-gb{
	font-family:"NOW-GB"
}
.f-now-ge{
	font-family:"NOW-GE"
}
.f-bilo{
	font-family: bilo,sans-serif;
	font-style: normal;
}

/* Bilo ExtraLight */
.fw-300{
	font-weight: 300;
}

/* Bilo Light */
.fw-400{
	font-weight: 400;
}

/* Bilo Regular */
/* Bilo Medium */
.fw-500{
	font-weight: 500;
}

/* Bilo Bold */
.fw-700{
	font-weight: 700;
}

/* Bilo ExtraBold */
.fw-800{
	font-weight: 800;
}

/* Bilo Black */
.fw-900{
	font-weight: 900;
}

.logo_svg svg {
    fill:#06172d;
}
.logo_svg {
	width: 175px;
    height: 65px;
}
#menu_modal_logo {
    fill: #F9E8D2;
    width: 175px;
    height: 65px;
    margin: 20px auto 0;
    mix-blend-mode: difference;
}
#menu_modal_logo svg {
    width: 100%;
    height: 100%;
}

.menu {
    display: flex;
    align-items: center;
    background: #cccccc36;
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
}

.menu_line img {
    display: inline;
    width: 14px;
    margin-right: 5px;
    transform: translate(0,2px);
    /* box-sizing: content-box; */
}

.menu_line a {
    font-size: 11px;
    text-decoration: none;
    color: #fff;
    background: #EE781F;
    /* display: block; */
    text-align: center;
    height: 40px;
    padding: 0 15px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    line-height: 1.4;
}

.menu_tel a {
    color: #fff;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    width: 40px;
    height: 40px;
    border: solid 1px;
    border-radius: 50%;
    text-decoration: none;
}
.menu_btn {
    background: #06172D;
    padding: 10px;
}
.menu_btn button {
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    width: 40px;
    height: 40px;
    border: solid 1px;
    border-radius: 50%;
    appearance: none;
    background: transparent;
    -webkit-appearance: none;
}

#menu_sp{
	position: fixed;
	bottom: 30px;
	right: 10px;
	left: 10px;
	text-align: right;
}
#menu_sp .menu {
    display: inline-flex;
    padding-left: 10px;
}
#menu_sp .menu_tel {
    margin: 0 10px;
}
#menu_logo{
	position: fixed;
	top: 20px;
	left: 20px;
	mix-blend-mode: difference;
}

.btn_close {
    display: none;
}

body[open] .btn_open{
    display: none; 
}
body[open] .btn_close{
    display: block; 
}
body[open] #menu_modal{
	visibility: visible;
}
body[open] #menu_modal>div>div>div{
	visibility: visible;
}

body[open] .menu{
	background: transparent;
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
}

body[open] #menu_modal_content {
	transition-delay: 0.3s;
	clip-path: inset(0 0 -10px 0);
}

body[open] .menu_btn button{
	
background: #fff;color: #06172D;}

#menu_modal_content {
	will-change: clip-path;
	transition: clip-path 0.8s;
	clip-path: inset(0 100% -10px 0);
}

#menu_modal {
    visibility: hidden;
	position: fixed;
    left: 0;
    right: 0;
    top: 0;
	bottom: 0;
	height: 100%;
	width: 100%;
    max-width: 1680px;
    margin: auto;
	transition: visibility .3s;
	pointer-events: none;
}
.menu_btn button {
	cursor: pointer;
}
#menu_modal>div{
	height: 100%;
	padding: 10px 10px 30px;
	position: relative;
	z-index: 1;
}
#menu_modal>div>div {
    max-width: 668px;
    margin-left: auto;
    text-align: center;
	height: 100%;
	position: relative;
}
#menu_modal>div>div>div{
	height: 100%;
    overflow-y: auto;
	visibility: hidden;
	pointer-events: auto;
}
#menu_modal>div>div::before {
    z-index: -1;
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: auto;
    width: auto;
    background: #06172D;
	transform: scale(0);
    transition: transform .3s;
    will-change: transform;
    transform-origin: right bottom;
}
body[open] #menu_modal>div>div::before{
	transform: scale(1);
}

#menu_modal_ttl {
    margin-top: 160px;
    margin-bottom: 60px;
	display: inline-block;
    color: #fff;
    padding: 5px 25px;
    position:relative;
    z-index: 1;
    font-size: 16px;
}

#menu_modal_ttl::after{
  content: '';
  position: absolute;
  left:0;
  top: 0;
  
  transform: skewX(-15deg);/* transform-origin: center; */
  
  z-index: -1;
  width:100%;
  height:100%;
  background: #1F79EE;
}
#menu_modal_desc {
	font-size: 16px;
	color: #fff;
	line-height: 3;
	padding-bottom: 20px;
}
#menu_modal_desc>div{
	display: inline-block;
	text-align: left;
}
#menu_modal_desc ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#menu_modal_desc ul li {
    padding: 0;
    margin: 0;
}

#menu_modal_desc ul li a {
    color: #fff;
    text-decoration: none;
}
.go_link {
	visibility: hidden;
	position: relative;
}
.future_item img {
	max-width: 100%;
	height: auto;
}

.logo_svg a {
	display: block;
	height: 100%;
	width: auto;
}

@media(max-height: 849.98px) and ( min-width:1000px ){
	#menu_modal_ttl {
	    margin-top: 120px;
	    margin-bottom: 20px;
	    font-size: 14px;
	}
	#menu_modal_desc {
		font-size: 14px;
	}
}
@media(max-height: 699.98px) and ( min-width:1000px ){
	#menu_modal_ttl {
	    font-size: 13px;
	}
	#menu_modal_desc {
		font-size: 13px;
		line-height: 2.8;
	}
}

@media( min-width: 768px){
	.sp{
		display: none;
	}
	.pc{
		display: block;
	}
	

	.menu_tel a{
		border-radius: 30px;
		width: auto;
		padding: 0 20px;
		height: 60px;
		font-size: 30px;
	}
	.menu_line a{
		padding: 0 20px;
		height: 60px;
		font-size: 13px;
		line-height: 1.5;
	}
	.menu_line img{
		width: 16px;
		transform: translate(0,3px);
		margin-right: 8px;
	}
	.menu_btn{
		padding:20px;
	}
	.menu_btn button{
		width:60px;
		height: 60px;
	}

	#menu_sp{
		position: fixed;
		left: 0;
		right: 0;
		bottom: auto;width: 100%;
		max-width: 1680px;
		margin: auto;
	}
	#menu_sp .menu {
	    padding-left: 20px;
		margin-left: auto;
	}
	#menu_sp .menu_tel {
	    margin: 0 20px;
	}
	
	#menu_modal>div {
	    padding: 60px;
	}

	#future_items {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.future_item {
		width: 38%;
	}
	
	.future_item.future_item_fix {
		width: 23.7%;
	}
}

@media( min-width:1000px ){
	#menu_modal>div>div::before{
		transform-origin: right top;
	}
	#menu_sp>div{
		padding: 60px 60px 0;
	}
	#menu_logo{
	    left: 0;
	    right: 0;
	    bottom: auto;
	    width: 100%;
	    max-width: 1680px;
	    margin: auto;
	}
	#menu_logo>div{
		padding: 60px 60px 0;
	}
	.go_link {
		top: -150px;
	}
}

@media( max-width:999.98px ){
	#menu_modal_ttl{
		margin-top: 20px;
		margin-bottom: 20px;font-size: 16px;
	}
	#menu_modal_desc{
		margin-top: 20px;
		font-size: 16px;
	}
	#menu_modal>div>div>div{
		padding-bottom: 80px;
	}
	
	body[open] #menu_logo{
		display:none;
	}
}

@media( min-width: 768px) and ( max-width:999.98px ){
	#menu_sp{
		display: block;
		text-align: right;
	}
	
	#menu_sp{
		right: 20px;
		left: 20px;
		bottom: 20px;
	width: auto;}
	#menu_sp .menu {
	    padding-left: 20px;
	}	
	#menu_sp .menu_tel {
	    margin: 0 20px;
	}
	#menu_modal>div {
	    padding: 20px;
	}

	#menu_modal .sp{
		display:block;
		margin-top: 60px;
	}
	#menu_modal>div>div>div{
		display: flex;
		flex-direction: column;
	}
	#menu_modal_content {
	    flex: 1 1 auto;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.go_link {
		top: -70px;
	}
}
@media( max-width:767.98px ){
	.sp{
		display: block;
	}
	.pc{
		display: none;
	}
	#menu_modal>div>div {
	    max-width: 500px;
	}

	#menu_modal_ttl{
		margin-top: 40px;
		margin-bottom: 20px;font-size: 14px;
	}
	#menu_modal_desc{
		margin-top: 20px;
		font-size: 12px;
	}
	#menu_modal>div>div>div{
		padding-bottom: 50px;
	}
	
	.logo_svg {
		width: auto;
	    height: 40px;
	}
	.logo_svg img{
		width:auto;
		height:100%;
	}
	.go_link {
		top: -70px;
	}
	
}
@media( max-width:374.98px ){
	.menu_line a {
	    font-size: 10px;
	    height: 40px;
	    padding: 0 10px;
	    border-radius: 20px;
	}
}