@charset "utf-8";

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
@media screen and (min-width: 769px), print {
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/*================*/
br.ssize {
    display: none;
}

/*================*/
html {
    font-size: 16px;
}

/*================*/
.spotbutton {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 100%;
    height: 40px;
    text-align: center;
    background-color: rgba(255,255,255,1);
}
.spotbutton p {
    position: relative;
    padding: 6px 0 0 0;
    line-height: 1.0;
    font-size: 14px;
    color: rgba(0,0,0,1);
    font-weight: 700;
    text-indent: 7px;
}
.spotbutton p span {
    display: block;
}
.spotbutton i {
    position: absolute;
    left: 0;
    top: 0;
    width: 7px;
    height: 100%;
    transition-property: width;
    transition-duration: 0.2s;
    transition-timing-function: linear;
}
.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%;
}
.spotbutton:hover i {
    width: 100%;
}

/*================*/
.basis {
    position: relative;
    width: 100%;
    height: 100%;
}

/*================*/
header {
    position: absolute;
    left: 0;
    top: calc(var(--height-header-lsize) * -1);
    width: 100%;
    height: var(--height-header-lsize);
    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: 200px;
    top: 15%;
    width: 1px;
    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: 200px;
    height: 100%;
}
header .area-logo .mysite .cell-fig {
    position: absolute;
    left: 30px;
    top: 20px;
    width: 146px;
    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-logo .mysite a:hover {
    opacity: 0.3;
}
/*--------*/
header .area-title {
    padding: 0 0 0 200px;
}
header .area-title .thisis {
    padding: 23px 0 0 25px;
}
header .area-title .thisis p {
    width: 440px;
    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: 25px;
    top: calc(var(--height-header-lsize) + 25px);
    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: 5px 10px 5px 10px;
    font-size: 16px;
    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: 240px;
    aspect-ratio: 1/1;
    margin: calc(240px / -2) 0 0 calc(240px / -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: 20px 0 0 0;
    text-align: center;
}
.layer-canvas .area-hand .box-notice .cell-txt p {
    font-size: 14px;
    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%;
}
.layer-overview .area-space .box-space {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    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;
    cursor: pointer;
    opacity: 0;
    transform: translateY(-400px);
    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: -35px;
    top: -56px;
    width: 70px;
    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: 20px;
    top: -5px;
    width: 130px;
}
.layer-overview .area-space .box-space .spot .btn .cell-btn .spotbutton {
}
.layer-overview .area-space .box-space .spot:hover .pin span {
    top: calc(-54px - 8px);
}
.layer-overview .area-space .box-space .spot:hover .btn .cell-btn .spotbutton i {
    width: 100%;
}
/* ++ */
.layer-overview .area-space .box-space {
    background-size: 100% auto;
}
.layer-overview .area-space .box-space .spot {
    top: 50%;
    width: 2%;
}
.layer-overview .area-space .box-space .spot.n1 {
    left: 11%;
    margin: -4.9% 0 0 0;
}
.layer-overview .area-space .box-space .spot.n2 {
    left: 46.8%;
    margin: 4.9% 0 0 0;
}
.layer-overview .area-space .box-space .spot.n3 {
    left: 79%;
    margin: 10.5% 0 0 0;
}
/* ++ */
/*--------*/
.layer-overview .area-note {
    position: absolute;
    right: 0;
    top: calc(var(--height-header-lsize) + 40px);
    width: 420px;
    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: 20px 0 20px 40px;
    white-space: nowrap;
}
.layer-overview .area-note .box-note p {
    position: relative;
    font-size: 16px;
    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 {
    display: none;
}

/*================*/
.layer-jump {
    position: absolute;
    left: 0;
    bottom: calc(var(--height-bottom-lsize) * -1);
    width: 100%;
    height: var(--height-bottom-lsize);
    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: min(600px, 42%);
    padding: 22px 0 0 0;
    margin: 0 auto 0 auto;
}
.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: 32%;
}
.layer-jump .area-select .box-select .each .spotbutton {
}
/*--------*/
.layer-jump .area-extra {
    position: absolute;
    right: 0;
    top: 0;
    width: auto;
    height: auto;
    padding: 22px 22px 0 0;
}
.layer-jump .area-extra .upto {
    width: 60px;
    height: 40px;
    text-align: center;
}
.layer-jump .area-extra .upto p {
    height: 100%;
    padding: 3px 0 0 0;
    font-size: 16px;
    font-weight: 700;
    color: rgba(255,255,255,1);
    background-color: rgba(0,0,0,0);
    border-radius: 40px;
    border-style: solid;
    border-width: 2px;
    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-extra .upto label:hover p {
    color: rgba(0,0,0,1);
    background-color: rgba(255,255,255,1);
}
/*--------*/
.layer-jump .area-note {
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
}
.layer-jump .area-note .box-note {
    width: 220px;
    padding: 20px 0 0 20px;
    white-space: nowrap;
}
.layer-jump .area-note .box-note p {
    font-size: 12px;
    color: rgba(188,188,188,1);
}

/*================*/
.layer-orientation {
    display: none;
}

/*================*/
.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%;
    width: 200px;
    height: 50px;
    margin: calc(50px / -2) 0 0 calc(200px / -2);
    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 {
    width: 170px;
    aspect-ratio: 148/48;
    margin: 0 auto 20px auto;
}
.layer-loading .area-object .box-logo figure {
    background-image: url(../../images/logo_02.svg);
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
} /* end of media query */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

