@charset "utf-8";

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
@media screen and (max-width: 768px) {
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/*================*/
br.lsize {
    display: none;
}

/*================*/
html {
    font-size: 3.2vw;
}

/*================*/
.spotbutton {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 100%;
    height: 9vw;
    text-align: center;
    background-color: rgba(255,255,255,1);
}
.spotbutton p {
    position: relative;
    padding: 1vw 0 0 0;
    line-height: 1.0;
    font-size: 3.4vw;
    color: rgba(0,0,0,1);
    font-weight: 700;
    text-indent: 2vw;
}
.spotbutton p span {
    display: block;
}
.spotbutton i {
    position: absolute;
    left: 0;
    top: 0;
    width: 2vw;
    height: 100%;
}
.spotbutton.color01 i {
    background-color: rgba(122,222,168,1);
}
.spotbutton.color02 i {
    background-color: rgba(249,189,213,1);
}
.spotbutton.color03 i {
    background-color: rgba(109,195,232,1);
}
.spotbutton.curr i {
    width: 100%;
}

/*================*/
.basis {
    position: relative;
    width: 100%;
    height: 100%;
}

/*================*/
header {
    position: absolute;
    left: 0;
    top: calc(var(--height-header-ssize) * -1);
    width: 100%;
    height: var(--height-header-ssize);
    background-color: rgba(255,255,255,0.7);
    z-index: 1;
    transition-property: top;
    transition-duration: 0.3s;
    transition-timing-function: linear;
}
header.act {
    top: 0;
}
header .inner {
    height: 100%;
}
/*--------*/
.partition {
    position: absolute;
    left: 26vw;
    top: 15%;
    width: 0.3vw;
    height: 70%;
    background-color: rgba(184,184,184,1);
}
/*--------*/
header .area-logo {
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
}
header .area-logo .mysite {
    position: relative;
    width: 26vw;
    height: 100%;
}
header .area-logo .mysite .cell-fig {
    position: absolute;
    left: 3vw;
    top: 2.8vw;
    width: 20vw;
    aspect-ratio: 148/48;
}
header .area-logo .mysite .cell-fig figure {
    background-image: url(../../images/logo.svg);
}
header .area-logo .mysite a {
    opacity: 1;
}
/*--------*/
header .area-title {
    padding: 0 0 0 26vw;
}
header .area-title .thisis {
    padding: 3vw 0 0 3vw;
}
header .area-title .thisis p {
    width: 64vw;
    aspect-ratio: 440/48;
}
header .area-title .thisis p span {
    background-image: url(../images/txt_mysite.svg);
}

/*================*/
.layer-canvas {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
/*--------*/
.layer-canvas .area-field {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.layer-canvas .area-field .field-panorama {
    display: none;
}
.layer-canvas .area-field .field-panorama.curr {
    display: block;
}
/*--------*/
.layer-canvas .area-caption {
    position: absolute;
    left: 2vw;
    bottom: calc(var(--height-bottom-ssize) + 11vw);
    width: 0;
    height: 0;
}
.layer-canvas .area-caption .each {
    display: none;
    position: absolute;
    left: 0;
    top: 0;
    white-space: nowrap;
}
.layer-canvas .area-caption .each.curr {
    display: block;
}
.layer-canvas .area-caption .each p {
    padding: 1vw 2vw 1vw 2vw;
    font-size: 3.2vw;
    color: rgba(255,255,255,1);
    background-color: rgba(0,0,0,1);
}
/*--------*/
.layer-canvas .area-hand {
    display: none;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.4);
}
.layer-canvas .area-hand.appear {
    display: block;
}
.layer-canvas .area-hand .box-notice {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 60vw;
    aspect-ratio: 1/1;
    margin: calc(60vw / -2) 0 0 calc(60vw / -2);
}
.layer-canvas .area-hand .box-notice .cell-fig {
    width: 70%;
    aspect-ratio: 1/1;
    margin: 0 auto 0 auto;
}
.layer-canvas .area-hand .box-notice .cell-fig figure {
    background-image: url(../images/obj_hand.svg);
}
.layer-canvas .area-hand .box-notice .cell-txt {
    padding: 5vw 0 0 0;
    text-align: center;
}
.layer-canvas .area-hand .box-notice .cell-txt p {
    font-size: 3.4vw;
    color: rgba(255,255,255,1);
}

/*================*/
.layer-overview {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.layer-overview.conceal {
    display: none;
}
/*--------*/
.layer-overview .area-space {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow-x: auto;
}
.layer-overview .area-space .box-space {
    position: absolute;
    left: 0;
    top: 0;
    aspect-ratio: 3080/1640;
    height: 100%;
    background-image: url(../images/pic_main.webp);
    background-repeat: no-repeat;
    background-position: 50% 50%;
}
.layer-overview .area-space .box-space .spot {
    position: absolute;
    aspect-ratio: 1/1;
    opacity: 0;
    transform: translateY(-70vw);
    transition-property: transform;
    transition-duration: 0.2s;
    transition-timing-function: linear;
}
.layer-overview .area-space .box-space .spot.act {
    opacity: 1;
    transform: translateY(0);
}
.layer-overview .area-space .box-space .spot .pin {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0;
    height: 0;
}
.layer-overview .area-space .box-space .spot .pin span {
    position: absolute;
    left: -9.4vw;
    top: -14.9vw;
    width: 19vw;
    aspect-ratio: 1/1;
    background-image: url(../images/icon_mappin.svg);
    transition-property: top;
    transition-duration: 0.2s;
    transition-timing-function: linear;
}
.layer-overview .area-space .box-space .spot .btn {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0;
    height: 0;
    transform: scale(0,0);
    transition-property: transform;
    transition-duration: 0.3s;
    transition-timing-function: linear;
    transform-origin: 50% 50%;
}
.layer-overview .area-space .box-space .spot .btn.act {
    transform: scale(1,1);
}
.layer-overview .area-space .box-space .spot .btn .cell-btn {
    position: absolute;
    left: 4vw;
    top: -2vw;
    width: 25vw;
}
.layer-overview .area-space .box-space .spot .btn .cell-btn .spotbutton {
}
/* ++ */
.layer-overview .area-space .box-space {
    background-size: auto 100%;
}
.layer-overview .area-space .box-space .spot {
    left: 50%;
    height: 4%;
}
.layer-overview .area-space .box-space .spot.n1 {
    top: 40.6%;
    margin: 0 0 0 -73.3dvh;
}
.layer-overview .area-space .box-space .spot.n2 {
    top: 59.1%;
    margin: 0 0 0 -6.3dvh;
}
.layer-overview .area-space .box-space .spot.n3 {
    top: 69.1%;
    margin: 0 0 0 54.0dvh;
}
/* ++ */
/*--------*/
.layer-overview .area-note {
    position: absolute;
    right: 0;
    top: calc(var(--height-header-ssize) + 4vw);
    width: 72vw;
    background-color: rgba(0,0,0,0.7);
    transform: scale(0,1);
    transform-origin: 100% 50%;
    transition-property: transform;
    transition-duration: 0.6s;
    transition-timing-function: ease-in;
}
.layer-overview .area-note.act {
    transform: scale(1,1);
}
.layer-overview .area-note .box-note {
    padding: 3vw 0 3vw 4vw;
    white-space: nowrap;
}
.layer-overview .area-note .box-note p {
    position: relative;
    font-size: 3.4vw;
    color: rgba(255,255,255,1);
    opacity: 0;
    transition-property: opacity;
    transition-duration: 0.4s;
    transition-timing-function: linear;
}
.layer-overview .area-note .box-note p.act {
    opacity: 1;
}
/*--------*/
.layer-overview .area-arrow {
    position: absolute;
    left: 0;
    bottom: calc(var(--height-bottom-ssize) + 12vw);
    width: 100%;
    height: 0;
    transform: scale(0,1);
    transition-property: transform;
    transition-duration: 0.7s;
    transition-timing-function: cubic-bezier(0.7, 1.4, 1.0, 1.4);
}
.layer-overview .area-arrow.act {
    transform: scale(1,1);
}
.layer-overview .area-arrow .box-arrow {
    width: 90vw;
    aspect-ratio: 324/36;
    margin: 0 auto 0 auto;
}
.layer-overview .area-arrow .box-arrow figure {
    background-image: url(../images/obj_sidearrow.svg);
}

/*================*/
.layer-jump {
    position: absolute;
    left: 0;
    bottom: calc(var(--height-bottom-ssize) * -1);
    width: 100%;
    height: var(--height-bottom-ssize);
    background-color: rgba(0,0,0,0.7);
    transition-property: bottom;
    transition-duration: 0.3s;
    transition-timing-function: linear;
}
.layer-jump.act {
    bottom: 0;
}
/*--------*/
.layer-jump .area-select {
    width: 77vw;
    padding: 3vw 0 1vw 0;
    margin: 0 auto 0 3vw;
}
.layer-jump .area-select .box-select {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: stretch;
}
.layer-jump .area-select .box-select .each {
    width: 31%;
}
.layer-jump .area-select .box-select .each .spotbutton {
}
/*--------*/
.layer-jump .area-extra {
    position: absolute;
    right: 0;
    top: 0;
    width: auto;
    height: auto;
    padding: 3vw 3vw 0 0;
}
.layer-jump .area-extra .upto {
    width: 14vw;
    height: 9vw;
    text-align: center;
}
.layer-jump .area-extra .upto p {
    height: 100%;
    padding: 0.6vw 0 0 0;
    font-size: 4vw;
    font-weight: 700;
    color: rgba(255,255,255,1);
    background-color: rgba(0,0,0,0);
    border-radius: 9vw;
    border-style: solid;
    border-width: 0.5vw;
    border-color: rgba(255,255,255,1);
}
.layer-jump .area-extra .upto label {
    pointer-events: none;
    opacity: 0.3;
}
.layer-jump.enter .area-extra .upto label {
    pointer-events: auto;
    opacity: 1;
}
/*--------*/
.layer-jump .area-note {
}
.layer-jump .area-note .box-note {
    white-space: nowrap;
    text-align: center;
}
.layer-jump .area-note .box-note p {
    font-size: 3.2vw;
    color: rgba(188,188,188,1);
}

/*================*/
.layer-orientation {
    display: none;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,1);
    z-index: 1;
}
.layer-orientation .area-object {
    position: absolute;
    left: 0;
    top: 10%;
    width: 100%;
    height: 70%;
}
.layer-orientation .area-object figure {
    background-image: url(../images/obj_deviceorientation.svg);
    background-position: 50% 0;
    background-size: auto 100%;
}
.layer-orientation .area-note {
    position: absolute;
    left: 0;
    top: 82%;
    width: 100%;
    height: 0;
    text-align: center;
}
.layer-orientation .area-note p {
    font-size: 4dvh;
    font-weight: 700;
    color: rgba(255,255,255,1);
}

/*================*/
.layer-loading {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,1);
    z-index: 1;
}
/*--------*/
.layer-loading .area-object {
    position: absolute;
    left: 50%;
    top: 50%;
    opacity: 0;
    transition-property: opacity;
    transition-duration: 0.2s;
    transition-timing-function: linear;
}
.layer-loading .area-object.appear {
    opacity: 1;
}
.layer-loading .area-object .box-logo {
    aspect-ratio: 148/48;
}
.layer-loading .area-object .box-logo figure {
    background-image: url(../../images/logo_02.svg);
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
} @media screen and (max-width: 768px) and (orientation: portrait) {
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/*================*/
.layer-orientation {
    display: none;
}

/*================*/
.layer-loading {
}
.layer-loading .area-object {
    width: 50vw;
    height: 13vw;
    margin: calc(13vw / -2) 0 0 calc(50vw / -2);
}
.layer-loading .area-object .box-logo {
    width: 44vw;
    margin: 0 auto 0 auto;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
} @media screen and (max-width: 768px) and (orientation: landscape) {
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/*================*/
.layer-orientation {
    display: block;
}

/*================*/
.layer-loading {
}
.layer-loading .area-object {
    width: 50dvh;
    height: 13dvh;
    margin: calc(13dvh / -2) 0 0 calc(50dvh / -2);
}
.layer-loading .area-object .box-logo {
    width: 44dvh;
    margin: 0 auto 0 auto;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
} /* end of media query */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

