#body { margin-left:auto; margin-right:auto;}

/* header */
#header.menuclose #header-title {opacity:0; transition: .5s; overflow:hidden;}
#gnavi-sp{display:none;}
#gnavi-pc {position:relative; top:0;width:100%;max-width:1280px;}
#gnavi-pc > ul {display: flex; justify-content: space-between; align-items: start; gap: 0;}
#gnavi-pc > ul > :first-child {margin-right: auto;}

#gnavi-pc > ul > :not(:first-child) {
  margin-left: 0;
  margin-top:1vw;
}

#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 {transform: scale(1.1);}
#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;
}

.flex-pc {display:flex;position:relative;padding: 5vw;}
#mainvisual{width:50%; flex-basis: 50%; padding-top: 69%; z-index:1; overflow:visible;
background:#FFF;
border: 0.4rem solid #fff;
border-radius: 2rem;
box-shadow: 0 0 .2rem #fff,
            0 0 .2rem #fff,
            0 0 2rem #ff298d,
            0 0 0.8rem #ff298d,
            0 0 2.8rem #ff298d,
            inset 0 0 2rem #ff298d;
}
#mainvisual .mv-img { padding: 1vw;border-radius:1.5rem; }
#mainvisual h1{position:absolute; top: 60%; left:122%; width:60%; z-index:1; }
#detail{width:50%; flex-basis: 50%;}
#detail #catchcopy {}

/* mainvisual */
#mainvisual .mv-img{

}
#mainvisual .mv-img img{
height:auto;
object-fit: cover;
object-position: 0;
}


.slidehint{display:none;}

#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);
}


