#body {max-width:1024px; margin-left:auto; margin-right:auto;}


/* header */
#header.menuopen-big{}
#header.menuopen-small{}
#header.menuclose #header-title {opacity:0; transition: .5s; overflow:hidden;}
#header-sns {flex-basis:15%; margin:0 2%;}
#header-sns ul li {padding: 0 2rem;}
#header-sns ul{display: flex; justify-content: center;align-items: center; height:100%;}
#header-sns ul li {position:relative;}
#header-sns ul li a {white-space: nowrap; position:absolute; top:50%; left:50%; transform: translate(-50%, -50%); line-height:1;}
#gnavi-sp{display:none;}
#gnavi-pc {position:relative; top:0;width:100%;max-width:1024px;}
#gnavi-pc > ul {display: flex; justify-content: space-between; align-items: center; gap: 0 clamp(8px,1%,15px);}
#gnavi-pc > ul > li > a {
position: relative;
display: flex;
justify-content: center;
align-items: center;
}
#gnavi-pc ul li a:hover {
font-weight:800;
}
#gnavi-pc ul li a:after {
	display: block;
	position: absolute;
	content: '';
	width: 0%;
	height: 2px;
	margin: 0;
	bottom: -2px;
	background-color: #FFF;
	transition: .3s;
}
@-moz-document url-prefix() {
#gnavi-pc ul li a:after { margin-top: 2em; }
}
#gnavi-pc > ul li.sns-link{width:50px;}

#gnavi-pc ul li a:hover:after {width:100%;}
#gnavi-pc .submenu { position: relative; }
#gnavi-pc .submenu-container {
display:block;
visibility: hidden;
opacity: 0;
position: absolute;
left: -120px;
width: 240px;
min-height:120px;
padding:1rem 2rem;
margin-left:50%;
transform: translateY(-1em);
z-index: 2;
transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
border-radius: .5rem;
background: rgba(0,212,255,1);
box-shadow: 0rem .5rem 1rem rgba(0,0,0,0.16);
}
#gnavi-pc .submenu-container:before {
content:"";
position: absolute;
width: 0;
height: 0;
top: -10px;
left: 50%;
margin-left: -10px;
border-style: solid;
border-width: 0 10px 10px 10px;
border-color: transparent transparent rgba(0,212,255,1) transparent;
}
#header.menuopen-big .submenu-container {
top: 52px;
}
#header.menuopen-small .submenu-container {
top: 42px;
}
#gnavi-pc .submenu:focus .submenu-container,
#gnavi-pc .submenu:focus-within .submenu-container,
#gnavi-pc .submenu:hover .submenu-container {visibility: visible; opacity: 1;z-index: 3;transform: translateY(0%);transition-delay: 0s, 0s, 0.3s;
}
#gnavi-pc .gnavi-pc-child-contents ul {
margin:0 0 2rem;
}
#gnavi-pc .gnavi-pc-child-contents ul li {
text-align:left;
margin-top:1.5rem;
}
#gnavi-pc .gnavi-pc-child-contents ul li a {
display:block;
position: relative;
color:#039;
background-color:rgba(255,255,255,.7);
padding:.5em;
text-align:center;
font-size:135%;
}
#gnavi-pc .gnavi-pc-child-contents ul li a:hover {
background-color:rgba(255,255,255,.9);
}
#gnavi-pc .gnavi-pc-child-contents ul li a:after {
display:none;
}

/* mainvisual */
#mainvisual .mv-img{

}
#mainvisual .mv-img img{
height:auto;
object-fit: cover;
object-position: 0;
}

#link_banners {height:136px;}

#footer-menu-wrapper {
max-width:1024px;
padding: 30px 0 70px;
grid-template-columns: repeat(2, 1fr);
grid-template-rows: 1fr 3em 1fr;
grid-column-gap: 10px;
grid-row-gap: 10px;
}
#footer-logo { grid-area: 1 / 1 / 2 / 2; }
#footer-menu { grid-area: 1 / 2 / 2 / 3; }
#footer-sns { grid-area: 2 / 1 / 3 / 3; }
#copyright { grid-area: 3 / 1 / 4 / 3; }

#page-top {
right: calc((100% - 1024px) / 2);
}


