@charset "UTF-8";
html {
    font-size: 13px;
}
body {
    letter-spacing: 0.1em;
    width: 100vw;
    overflow-x: hidden;
    opacity: 1.0;
}
a {
    opacity: 1.0;
    transition: 0.2s;
}
a:hover {
    opacity: .7;
    transition: 0.2s;
}
header{
    border-top: none!important;
}
header h1 {
    position: absolute;
    left: 7.46666vw;
    top: 5.6vw;
    z-index: 1000;
}

header h1.toppage{
    display:none;
}
header h1.under{
    display:block;
}
.lp header h1.toppage{
    display:block;
}
.lp header h1.under{
    display:none;
}

.toppage header h1.toppage{
    display: none;
}
.toppage > p{
    width: 85.33333vw;
    margin-left:auto;
    margin-right:auto;
}
header h1.on {
    position: fixed;
}
header h1 img {
    width: 28.8vw;
    height: 16vw;
    object-fit: contain;
    object-position: left;
}
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,footer .sns {
    display: flex;
    gap: 12px;
    margin-top: 7.2vw;
    justify-content: center;
}
header .sns img,footer .sns img{
    width: 9vw;
}

footer .address{
    text-align: center;
    max-width: 86.66666vw;
    margin: 6.4vw auto 6.4vw;
}
footer .address a{
    text-decoration: underline;
}
header ul.item:before{
    content:"";
    position: absolute;
    background: #fff;
    width: 11.733333vw;
    height: 11.733333vw;
    border-radius: 50%;
    box-shadow: rgba(239,237,229,1.0) 2px 2px 4px;
    transition: 0.4s;
}

header ul.item.on:before{
    box-shadow: rgba(239,237,229,0) 2px 2px 4px;
    transition: 0.4s;
}

header ul.item li{
    height:1.5px;
    border-radius: 2px
}

header ul.item li:nth-child(1){width: 3.73333vw; left: 3.2vw; top:3.6vw;}
header ul.item li:nth-child(2){width: 5.33333vw; left: 3.2vw; top:5.35vw;}
header ul.item li:nth-child(3){width: 3.73333vw; left: 3.2vw; top:7.1vw;}

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;
    left: 1.8vw;
    top: 5.1666vw;
}
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;
    left: 1.8vw;
    top: 5.1666vw;
}
header .spnav {
    position: fixed;
    background: #fff;
    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: none !important;
}
header h1.on.under {
    display: block !important;
}
header .spnav.on {
    pointer-events: auto;
    opacity: 1.0;
    transition: 0.4s;
}
footer {
    background: #ffffff;
    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: 12.8vw auto 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 h2 {
    padding-top: 14.93333vw;
    margin-bottom: 32px;
    text-align: center;
}
footer h2 img {
    width: 25.666vw;
}

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;
}
footer .blockRight div.child:before, header .blockRight div.child:before {
    content: "";
    position: absolute;
    right: 4.266666vw;
    top: 6.7555vw;
    width: 1px;
    height: 4.26666vw;
    transition: 0.15s;
}
footer .blockRight div.single:after, header .blockRight div.single:after {
    content: "";
    position: absolute;
    background: url("/img/common/arrow.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;
}
p.copy span {
    opacity: 0.5;
    padding: 0 0 21.333333vw;
    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;
}

section.btn1 a{
background: #ffffff;
    position: relative;
    height: 12.8vw;
    padding-left: 9.6vw;
    padding-right: 16.4vw;
    border-radius: 12.8vw;
    display: inline-block;
    line-height: 12.8vw;
    text-align: center;
    font-weight: 500;
}

section.btn1 a:after{
    content:"";
    width:7px;
    height: 12px;
    background: url("/img/common/arrow_white.svg") no-repeat;
    background-position: 50% 50%;
    position: absolute;
    right: 7.1666vw;
    top: 4.5vw;
}

section.btn1 a:before{
    content: "";
    position: absolute;
    border-radius: 50%;
    width: 7.4666vw;
    height: 7.4666vw;
    right: 4.26666vw;
    top:2.4vw;
}


section.btn2 a{
    padding: 16px 24px;
    display: block;
    text-align: center;
    border-radius: 8vw;
    font-weight: 500;
    position: relative;
}
section.btn2 a:after{
    position: relative;
    content: "";
    background: url(../img/common/arrow2.svg) no-repeat;
    background-size: cover;
    width: 6.93333vw;
    height:1.0666vw;
    display:inline-block;
    vertical-align: middle;
    margin-top: -1.3vw;
}

section.btn1,section.btn2,section.btn3{
    max-width: 85.3333vw;
    margin-left:auto;
    margin-right: auto;
    display:flex;
    justify-content: center;
    margin-top: 7.2vw;
}

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

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

.pagetop.posUp{
    bottom: 13.133333vw;
}

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

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

.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%;
}

#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;
}