#body {max-width:1280px; margin-left:auto; margin-right:auto; padding:0 8vw;}

/* header */
#header{height:6vw; place-content: center;}
#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(5px,.8vw,15px);}
#gnavi-pc > ul li {flex-basis:calc(100% / 7); padding:.2em; transform: rotate(-3deg);}
#gnavi-pc > ul li:hover {transform: rotate(0deg);transition:.2s;}
#gnavi-pc > ul > li > a {
position: relative;
display: flex;
justify-content: center;
align-items: center;
text-decoration:none;
font-size:100%;
font-weight:600;
}
#gnavi-pc ul li a:hover {
font-weight:900;
}
#gnavi-pc > ul li.sns-link{width:50px;}

#gnavi-pc > ul > li > a {
    position: relative;
    margin-bottom: 0.2rem;
    padding: 1rem;
    border-left: .8vw solid #b2d5de;
    box-shadow: 2px 2px 3px rgba(200,200,200,.4);
    background: radial-gradient(circle,rgba(255, 255, 255, 1) 50%, rgba(245, 245, 245, 1) 100%);
}
#gnavi-pc > ul > li > a::before {
    position: absolute;
    right: -3px;
    bottom: 0px;
    width: 50%;
    height: 90%;
    background: linear-gradient(90deg,rgba(175, 175, 175, .8) 0%, rgba(175, 175, 175, .8) 100%);
    filter: blur(3px);
    z-index: -3;
    content: '';
    transform: rotate(4deg) skewX(4deg);;
}
}
#gnavi-pc > ul > li > a:hover {
    box-shadow: 5px 5px 10px rgba(150,150,150,.7);
    background-color: #f9f9f9;
}
#gnavi-pc > ul > li:nth-of-type(1) > a {
    border-left: .8vw solid #b2d5de;
}
#gnavi-pc > ul > li:nth-of-type(2) > a {
    border-left: .8vw solid #c5cde0;
}
#gnavi-pc > ul > li:nth-of-type(3) > a {
    border-left: .8vw solid #b2ded5;
}
#gnavi-pc > ul > li:nth-of-type(4) > a {
    border-left: .8vw solid #deb2c5;
}
#gnavi-pc > ul > li:nth-of-type(5) > a {
    border-left: .8vw solid #ded5b2;
}
#gnavi-pc > ul > li:nth-of-type(6) > a {
    border-left: .8vw solid #b2ded5;
}
#gnavi-pc > ul > li:nth-of-type(7) > a {
    border-left: .8vw solid #cbb2de;
}


#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 {

}


