@charset "UTF-8";
html {
    font-size: 13px;
}
body {
    letter-spacing: 0.1em;
    background: url("../img/common/bg.jpg");
    width: 100vw;
    overflow-x: hidden;
}
a {
    opacity: 1.0;
    transition: 0.2s;
}
a:hover {
    opacity: .7;
    transition: 0.2s;
}
header h1 {
    position: absolute;
    left: 7.46666vw;
    top: 7.46666vw;
    z-index: 1000;
}

header.darken h1.toppage{
    display: none;
}
header.darken h1.under{
    display: block;
}
header h1.on {
    position: fixed;
}
header h1 img {
    width: 28.8vw;
}
header .gnav {
    position: fixed;
    right: 64px;
    top: 64px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    line-height: 3;
    display: none;
}
header .gnav li {
    line-height: 3.0;
}
header .sns {
    display: flex;
    gap: 12px;
    margin-top: 7.2vw;
    justify-content: center;
}
header .sns img {
    width: 9vw;
}
header ul.item {
    position: fixed;
    right: 5.46666vw;
    top: 6.866666vw;
    z-index: 999;
    width: 10vw;
    height: 10vw;
}
header .item li {
    position: absolute;
    height: 1px;
}
header.scr ul.item, header.darken ul.item, body.under ul.item {
    mix-blend-mode: difference;
}
header .blockRight .footerYes {
    display: none;
}
header .item li:nth-child(1) {
    right: 4vw;
    top: 2vw;
    width: 3.43666vw;
    transform: rotate(0);
    transition: 0.4s;
}
header .item li:nth-child(2) {
    right: 2vw;
    top: 3.666vw;
    width: 5.46666vw;
    transform: rotate(0);
    transition: 0.4s;
}
header .item li:nth-child(3) {
    right: 4vw;
    top: 5.33333vw;
    width: 3.43666vw;
    transform: rotate(0);
    transition: 0.4s;
}
header .item.on li:nth-child(1) {
    transform: rotate(45deg);
    width: 5.46666vw;
    transition: 0.4s;
    right: 2vw;
    top: 3.6666vw;
}
header .item.on li:nth-child(2) {
    width: 0;
    right: 4vw;
    transition: 0.2s;
}
header .item.on li:nth-child(3) {
    transform: rotate(-45deg);
    width: 5.46666vw;
    transition: 0.4s;
    right: 2vw;
    top: 3.6666vw;
}
header .spnav {
    position: fixed;
    width: 100vw;
    height: 100vh;
    height: 100svh;
    padding: 16vw 6.66666vw;
    z-index: 990;
    overflow: scroll;
    opacity: 0;
    transition: 0.4s;
    pointer-events: none;
    left: 0;
    top: 0;
}
header h1.on.toppage {
    display: block !important;
}
header h1.on.under {
    display: none !important;
}
header .spnav.on {
    pointer-events: auto;
    opacity: 1.0;
    transition: 0.4s;
}
footer {
    background: #1c2125;
    margin-top: 24vw;
}
footer .inner {
    width: 86.66666vw;
    margin: 0 auto;
    padding: 13.86666vw 0;
}
footer .blockLeft {
    width: 86.6666vw;
    text-align: center;
}
footer .blockLeft ul {
    display: flex;
    gap: 12px;
    margin-top: 32px;
    justify-content: center;
}
footer .blockLeft ul li img {
    width: 9vw;
}
footer .blockLeft a {
    text-decoration: underline;
}
footer .blockRight, header .blockRight {
    width: 86.6666vw;
    text-align: left;
    margin-top: 12.8vw;
}
footer .accordion ul, header .accordion ul {
    margin-top: 0vw;
}
footer .accordion li, header .accordion li {
    opacity: 0;
    line-height: 2.5;
    height: 0;
    transition: 0.5s;
    padding-left: 2.16666vw;
}
footer .accordion .on li, header .accordion .on li {
    opacity: 0.7;
    line-height: 2.5;
    height: 2.5em;
    transition: 0.5s;
    margin-bottom: 0;
}
footer .blockRight div.child.on li:last-child, header .blockRight div.child.on li:last-child {
    margin-bottom: 5.666666vw;
    transition: 0.5s;
}
footer .blockRight .sns{
    display: flex;
    gap: 12px;
    justify-content: center;
}
footer .blockRight .sns img{
    width: 9vw;
}

footer h2 {
    margin-bottom: 32px;
}
footer h2 img {
    width: 60vw;
}
footer .blockRight div:first-child, header .blockRight div:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}
footer .blockRight div, header .blockRight div {
    position: relative;
    vertical-align: top;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
footer .blockRight li, header .blockRight li {
    list-style: none;
}
footer .blockRight div.child:after, header .blockRight div.child:after {
    content: "";
    position: absolute;
    right: 2.13333vw;
    top: 8.8888vw;
    width: 4.26666vw;
    height: 1px;
    background: #fff;
}
footer .blockRight div.child:before, header .blockRight div.child:before {
    content: "";
    position: absolute;
    right: 4.266666vw;
    top: 6.7555vw;
    width: 1px;
    height: 4.26666vw;
    background: #fff;
    transition: 0.15s;
}
footer .blockRight div.single:after, header .blockRight div.single:after {
    content: "";
    position: absolute;
    background: url(/img/common/arrow_white.svg) no-repeat right;
    background-size: cover;
    width: 1.6875vw;
    height: 3vw;
    right: 3.3vw;
    top: 8vw;
}
footer .blockRight div.child strong a, header .blockRight div.child strong a {
    pointer-events: none;
}
footer .blockRight div strong a, header .blockRight div strong a {
    display: block;
    padding: 5.666666vw 2.13333vw;
}
footer .blockRight div.child.on:before, header .blockRight div.child.on:before {
    height: 0;
    top: 8vw;
    transition: 0.15s;
}
p.copy {
    font-size: 12px;
    width: 100vw;
    text-align: center;
    margin-top: 0 !important;
    padding-bottom: 20vh
}
p.copy span {
    opacity: 0.5;
    padding: 16px 0;
    display: block;
}
.fullBlock + footer {
    margin-top: 0 !important;
}
header .language {
    display: flex;
    font-size: 13px;
    justify-content: center;
    margin-top: 7.2vw;
}
.language li {
    opacity: 0.3;
}
.language li:nth-child(2):before, .language li:nth-child(3):before {
    content: "/";
}
.language.active1 li:nth-child(1) {
    opacity: 1.0;
}
.language.active2 li:nth-child(2) {
    opacity: 1.0;
}
.language.active3 li:nth-child(3) {
    opacity: 1.0;
}

.fixedBtn{
    position: fixed;
    display:flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    z-index:900;
    left:0;
    bottom:0;
    text-align: center;
}
.fixedBtn li{
    width: 100%;
    background: #fff;
    height: 10vh;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.fixedBtn li img{
    height: 3vh;
}

.pagetop{
    position: fixed;
    right:6.4vw;
    bottom:2.133333vw;
    z-index:100;
    width: 14.93333vw;
    height: 14.93333vw;
    border-radius: 4px;
    opacity:0;
    transition: 0.5s;
}

.pagetop.on{
    opacity: 1.0;
    bottom: 5.6vw;
    transition: 0.5s;
}

.pagetop:before{
    content: "";
    position: absolute;
    right: 50%;
    top: 5.0333vw;
    margin-right: -1.12666vw;
    background: url(../img/common/arrow_white.svg) no-repeat;
    width: 2.25333vw;
    height: 4.16666vw;
    transform: rotate(-90deg);
}
.pagetop a{
    display:block;
    width: 100%;
    height: 100%;
}
.pagetop.posUp{
    bottom: 13.133333vw;
}

.pagetop.posUp.on{
    bottom: 16.6vw;
    transition: 0.5s;
}

.pagetop.posUp2{
    margin-bottom: 10vh;
}


#wpadminbar{
    display:none;
}

.fixedBtn {
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw!important;
    z-index: 985;
    left: 0;
    bottom: 0;
    text-align: center;
    background: #fff;
    margin:0!important;
}
.fixedBtn li {
    width: 100%;
    background: #fff;
    height: 10vh;
    list-style: none!important;
    padding: 0!important;
}
.fixedBtn li a{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    gap: 0.5rem;
}
.fixedBtn li img {
    height: 4.5vw;
}