@charset "UTF-8";
.full { width: 100%; }
.d-inline { display: inline-block; }
.al { text-align: left !important; }
.cap-image .cap.l_side { right: auto; left: 0; }
.pdl5 { padding-left : 5px;  }
.bg02 {
    background: #fff url(../location/img/bg02.jpg) no-repeat center top / cover;
    position: relative;
    padding: 110px 0 105px;
    z-index: 0;
}
@media screen and (max-width: 767px) {
    .bg02 {
        background: #fff url(../location/img/bg02_sp..jpg) no-repeat center top / cover;
        padding: 60px 0;
    }
}
.location-inner {
    width: calc(100% - 30px);
    max-width: 1000px;
    margin: 0 auto;
}
.headline .ttl {
    border-bottom: 1px solid #000;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 1.7;
    padding: 0 0 20px;
    margin: 0 0 30px;
}
.headline .ttl-small {
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 1.6;
    margin: 0 0 15px;
}
.headline .txt {
    font-size: 14px;
    letter-spacing: 0.01em;
    line-height: 1.7;
}
.head-title {
    margin: 0 0 75px;
    text-align: center;
}
.head-title .ttl-en {
    margin: 0 0 15px;
}
.head-title .ttl-en img {
    height: 20px;
}
.head-title .ttl-jp {
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 1.7;
}
.location-block + .location-block {
    margin-top: 120px;
}
.location-block .cap-rel {
    font-size: 10px;
    text-align: right;
    line-height: 1.4;
}
@media screen and (max-width: 1023px) {
    .location-block .cap-rel {
        font-size: 10px;
    }
}
@media (max-width: 767px) {
    .headline .ttl {
        font-size: 22px;
    }
    .headline .ttl-small {
        font-size: 22px;
    }
    .headline .txt {
        font-size: 16px;
        letter-spacing: 0.1em;
    }
    .location-block .cap-rel {
        font-size: 10px;
    }
    .location-block + .location-block {
        margin-top: 60px;
    }
    .head-title {
        margin: 0 0 30px;
    }
}

/* main-page */
.main-page {
    height: 370px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding: 150px 15px 100px;
}
.main-page .cont {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
.main-page .cont .ttl {
    margin: 0 0 30px;
    text-align: left;
}
.main-page .cont .ttl img {
    height: 20px;
    width: auto;
}
.main-page .cont .txt {
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 1.75;
}
@media screen and (max-width: 767px) {
    .main-page {
        height: 220px;
        padding: 50px 15px 30px;
        justify-content: flex-end;
    }
    .main-page .cont .txt {
        font-size: 15px;
    }
    .main-page .cont .ttl img {
        height: 26px;
    }
}

.img01 {
    width: 100%;
    max-width: 310px;
    margin: 75px auto;
}
.img02 { margin: 45px 0 0; }
.img-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin: 0 0 30px;
}
.img-list01 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-top: 30px;
}
.img-list01 .item:nth-child(1) {
    width: 40.4%;
}
.img-list01 .item:nth-child(2) {
    width: 53.4%;
}
.img-list01 .headline .ttl-small {
    letter-spacing: 0;
}
.img-list01 .headline .txt {
    letter-spacing: 0.04em;
    margin: 0 0 30px;
}
.block-grid {
    display: grid;
    grid-template-columns: auto 680px;
    gap: 20px;
    margin: 70px 0 0;
}
.block-grid .col02 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px;
}
.gallery-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin: 75px 0 0;
}
.gallery-list01 {
    display: grid;
    grid-template-columns: 54.8% auto;
    gap: 57px 67px;
    margin-top: 110px;
}
.gallery-list01 .item:nth-child(1) {
    grid-area: 1/1/3/1;
}
.gallery-list01 .box01 {
    display: grid;
    grid-template-columns: auto;
    gap: 5px;
}
.gallery-list01 .box01 .imgs:nth-child(2) {
    max-width: 218px;
}
.gallery-list01 .box02 .box-imgs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px;
}
.gallery-list01 .headline {
    padding-left: 15px;
}
@media screen and (max-width: 767px) {
    .gallery-list01 .headline {
        padding-left : 0;
        padding-bottom : 10px;
    }
}
.gallery-list02 {
    display: grid;
    gap: 5px;
    grid-template-columns: 43.1% auto;
    align-items: flex-end;
    margin-top: -55px;
}
.headline02 .txt {
    width: 34%;
}
.gallery-list02 .item:nth-child(1) {
    display: grid;
    grid-template-columns: 41.6% auto;
    gap: 5px;
    padding-bottom: calc(114 / 386 * 100%);
}
.gallery-list02 .gallery-cap {
    grid-area: 2/1/3/3;
    /* padding-right: 122px; */
    margin-top: 40px;
    margin-bottom: 0;
}
.gallery-list02 .item:nth-child(2) {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    padding-bottom: calc(220 / 608 * 100%);
}
.gallery-list02 .item:nth-child(2) .imgs-large {
    width: 80%;
}
.gallery-list02 .item:nth-child(2) .imgs-small01 {
    width: 39.9%;
    position: absolute;
    bottom: 0;
    left: -120px;
}
.gallery-list02 .item:nth-child(2) .imgs-small02 {
    width: 41.7%;
    position: absolute;
    top: -78px;
    right: 0;
}
.gallery-list02 .item:nth-child(2) .imgs-small03 {
    width: 45%;
    position: absolute;
    bottom: 0;
    right: 0;
}
.headline03 {
    width: 35%;
    margin-left: auto;
}
.gallery-list03 {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: -150px;
}
.gallery-list03 .item:nth-child(1) {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    justify-content: space-between;
    align-items: flex-end;
    position: relative;
    z-index: 0;
    width: 58.3%;
}
.gallery-list03 .item:nth-child(1) .imgs-large {
    width: 87.8%;
    margin-left: auto;
}
.gallery-list03 .item:nth-child(1) .imgs-small01 {
    width: 36.8%;
    position: absolute;
    bottom: 90px;
    left: 0;
}
.gallery-list03 .item:nth-child(1) .imgs-small02 {
    width: 36.8%;
    margin-left: 23.1%;
}
.gallery-list03 .item:nth-child(1) .imgs-small03 {
    width: 52.3%;
    margin-right: -19.1%;
}
.gallery-list03 .item:nth-child(2) {
    width: 30%;
    position: relative;
    z-index: 0;
}
.gallery-list03 .item:nth-child(2) .imgs-small {
    width: 74.8%;
    position: absolute;
    left: -36%;
    z-index: 1;
    bottom: 73.8%;
}
.gallery-list03 .item:nth-child(2) .gallery-cap {
    margin: calc(35 / 300 * 100%) 0 calc(53 / 300 * 100%);
    letter-spacing: -0.05em;
}
.gallery-cap { margin: 0 0 20px; }
.block-map {
    background: url(../location/img/bg_map.jpg) no-repeat top center / cover;
    padding: 76px 0 168px;
}
@media screen and (max-width: 1023px){
    .block-grid {
        grid-template-columns: auto;
        margin-top: 40px;
        gap: 10px;
    }
    .block-grid .col02 .cap { text-align: left; }
    .img-list01 .item:nth-child(1) {
        width: calc(46.6% - 30px);
    }
    .gallery-list02 {
        margin-top: 0;
    }
    .gallery-list01 {
        gap: 30px;
    }
    .gallery-list02 .gallery-cap {
        padding-right: 30px;
    }
    .gallery-list02 .item:nth-child(2) .imgs-small01 {
        left: -30px;
    }
    .img-list01 {
        padding-top: 0;
    }
    .img-list01 .item:nth-child(1) {
        width: 100%;
    }
    .img-list01 .item:nth-child(2) {
        margin-top: 60px;
        width: 100%;
    }
    /* .img-list01 .item:nth-child(2) .img-large img {
        width: calc(100% + 30px);
        margin-left: -15px;
        max-width: unset;
    } */
    .img-list01 .item:nth-child(2) .img-small {
        width: 78.9%;
        margin: 15px auto 0;
    }
    .gallery-list03 .item:nth-child(2) .imgs-small {
        bottom: 60%;
    }
}
@media screen and (max-width: 767px) {
    .block-map {
        padding: 70px 0 0;
    }
    .img01 {
        width: calc(100% + 30px);
        max-width: unset;
        margin: 30px auto 70px;
        margin-left: -15px;
    }
    .img02 {
        margin: 20px 0 0 -15px;
        width: calc(100% + 30px);
    }
    .img-list {
        grid-template-columns: auto;
        margin: 0 0 30px -15px;
        gap: 7px;
        width: calc(100% + 30px);
    }
    .img-list .cap {
        padding-right: 10px;
    }
    .img-list01 .item:nth-child(2) .img-large img {
        width: calc(100% + 30px);
        margin-left: -15px;
        max-width: unset;
    }
    .block-grid .col02 {
        grid-template-columns: repeat(2, 1fr);
    }
    .block-grid .col02 .item:nth-child(1) {
        grid-area: 1/1/1/3;
    }
    .gallery-list {
        grid-template-columns: repeat(2, 1fr);
        margin: 40px 0 0 -15px;
        width: calc(100% + 30px);
    }
    .gallery-cap .cap {
        letter-spacing: -0.1em;
        text-align: left;
    }
    .map-image {
        width: calc(100% + 30px);
        margin-left: -15px;
    }
    .gallery-list01 {
        grid-template-columns: auto;
        margin-top: 60px;
        gap: 0;
    }
    .gallery-list01 .item:nth-child(1) {
        grid-area: auto;
        width: calc(100% + 30px);
        margin-left: -15px;
        order: 2;
        margin-top: 10px;
    }
    .gallery-list01 .item:nth-child(2) {
        order: 1;
    }
    .gallery-list01 .item:nth-child(3) {
        order: 3;
        padding-left: 33%;
        margin-top: -21%;
    }
    .gallery-list01 .item:nth-child(3) .box02 {
        display: flex;
        flex-direction: column-reverse;
    }
    .gallery-list01 .item:nth-child(3) .box02 .gallery-cap .cap {
        text-align: right;
    }
    .gallery-list01 .box01 .imgs:nth-child(2) {
        max-width: 38.4%;
        margin-top: -37px;
    }
    .gallery-list01 .box01 .imgs:nth-child(2) .cap {
        right: auto;
        left: 5px;
    }
    .gallery-list01 .gallery-cap {
        margin: 0 0 5px;
    }
    .headline02 .txt {
        width: 100%;
    }
    .headline03 {
        width: 100%;
        margin-bottom: 20px;
    }
    .gallery-list03 {
        margin-top: 0;
        flex-wrap: wrap;
        width: calc(100% + 30px);
        margin-left: -15px;
        gap: 5px;
    }
    .gallery-list03 .item:nth-child(1) {
        width: 100%;
        padding: 0 15px;
    }
    .gallery-list03 .item:nth-child(1) .imgs-large {
        width: 100%;
        margin-bottom: -20px;
    }
    .gallery-list03 .item:nth-child(1) .imgs-large .cap-image {
        width: calc(100% + 30px);
        margin-left: -15px;
    }
    .gallery-list03 .item:nth-child(1) .imgs-small01 {
        width: 53%;
        position: relative;
        bottom: 50px;
        /* left: 0; */
        /* top: 0; */
        order: 3;
        /* margin-right: auto; */
        display: flex;
    }
    .gallery-list03 .item:nth-child(1) .imgs-small01 .cap-image {
        width : 50%;
        margin-right: 5px;
    }
    .gallery-list03 .item:nth-child(1) .imgs-small02 {
        width: 56%;
        margin-left: 0;
        position: absolute;
        right: 15px;
        bottom: -27px;
        z-index: 1;
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
    }
    .gallery-list03 .item:nth-child(1) .imgs-small02 .cap-image {
        width : 50%;
        margin-left: 5px;
    }
    .gallery-list03 .item:nth-child(1) .imgs-small03 {
        width: 44.8%;
        margin-right: 0;
    }
    .gallery-list03 .item:nth-child(2) {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 5px;
        padding: 0 15px;
    }
    .gallery-list03 .item:nth-child(2) .gallery-cap {
        grid-area: 1/2/3/4;
        padding-top: 40px;
    }
    .gallery-list03 .item:nth-child(2) .gallery-cap .cap {
        text-align: right;
    }
    .gallery-list03 .item:nth-child(2) .imgs-small {
        width: auto;
        position: relative;
        left: 0;
        z-index: 1;
        bottom: 0;
    }
}
.bg01 {
    background: #0f3233 url(../location/img/bg01.jpg) no-repeat top center / cover;
}
.sec-place {
    color: #fff;
    padding: 80px 0 95px;
}
.sec-place .headline .ttl { border-bottom: 1px solid #fff;}
.place-photo {
    display: grid;
    grid-template-columns: 69.8% auto;
    gap: 2%;
    margin: 60px 0 125px;
}
.place-photo .cap-under-right {
    color : #fff!important;
}
.place-comfort {
    display: grid;
    grid-template-columns: 38% 52.5%;
    gap: 20px;
    justify-content: space-between;
}
.place-comfort .img-big .item:nth-child(1) { margin-bottom: 10px;}

@media screen and (max-width: 767px) {
    .place-comfort .img-big .item:nth-child(1) {
        margin-bottom :calc(18 / 345 * 100%);
    }
}

.place-comfort .img-big .item:nth-child(2) {
   width: 51%;
   margin-left: auto;
}
.place-comfort .img-small {
    display: grid;
    grid-template-columns: 49% auto;
    column-gap: 50px;
    row-gap: 10px;
    margin: -98% -42.5% 0 0;
}
.place-comfort .img-small .item:nth-child(3){
    grid-row: 1/2;
    grid-column: 2/3;
    margin-top: 25%;
}
.place-comfort .img-small .item:nth-child(2){ margin: -30% -40% 0 43%;}
@media screen and (max-width: 1023px) {
    .place-comfort .img-small {  margin: -70% -42.5% 0 0;}
    .place-photo {  margin: 60px 0 100px;}
}
@media screen and (max-width: 767px) {
    .bg01 {
        background: #0f3233 url(../location/img/bg01_sp.jpg) no-repeat top center / cover;
    }
    .sec-place {
        padding: 60px 0 60px;
    }
    .place-photo {
        grid-template-columns: 47.5% auto;
        gap: 0;
        margin: 30px -15px 40px;
    }
    .place-comfort {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .place-comfort .img-big { margin: 0 -15px;}
    .place-comfort .img-big .item:nth-child(2) {
        width: 68%;
        margin: -5% auto 0 0;
    }
    .place-comfort .img-small {
        display: block;
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 10px;
        margin: -9% -15px 0;
    }
    .place-comfort .img-small .item:nth-child(1) {
        width: 57%;
        margin-left: auto;
        margin-top: -15px;
    }
    .place-comfort .img-small .item:nth-child(2) { margin: 0;}
    .place-comfort .img-small .item:nth-child(3) {
        max-width: 60%;
        margin: 6% auto 0;
    }
}

.life-information {
    padding: 150px 0;
}
.tab-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 0 30px;
}
.tab-list .item {
    cursor: pointer;
    position: relative;
}
.tab-list .item:before {
    background: #000;
    content: "";
    width: 1px;
    height: 16px;
    left: -1px;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
}
.tab-list .item:last-child:after {
    background: #000;
    content: "";
    width: 1px;
    height: 16px;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
}
.tab-list .item span {
    display: block;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0;
    padding: 7px 27px;
    transition: all 0.3s linear;
}
.tab-list .item:hover span {
    opacity: 0.7;
}
.tab-list .item.is-active:before {
    display: none;
}
.tab-list .item.is-active { pointer-events: none; }
.tab-list .item.is-active span {
    background: #000;
    color: #fff;
}
.tab-content {
    width: 100%;
    max-width: 824px;
    margin: 0 auto;
    position: relative;
    z-index: 0;
    overflow: hidden;
}
.cont-box {
    display: grid;
    grid-template-columns: repeat(2 , 1fr);
    gap: 30px;
}
.tab-content .cont {
    position: absolute;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s linear;
    top: 0;
    left: 0;
    right: 0;
}
.tab-content .cont.is-active {
    position: relative;
    opacity: 1;
    visibility: visible;
}
@media screen and (max-width: 767px) {
    .life-information {
        padding: 60px 0;
    }
    .cont-box {
        grid-template-columns: auto;
        gap: 0;
    }
}

.life-list {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: -0.5px;
    margin: 0;
    padding: 0;
}
.life-list li {
    display: flex;
    justify-content: flex-start;
    padding: 0 0 7px;
    margin: 0 0 7px;
    border-bottom: 1px solid #000;
}
.life-list li:last-child:not(.is-bdr) {
    border: none;
}
.life-list li span:nth-child(1) {
    display: inline-block;
    width: 62%;
}
.life-list li span:nth-child(2),
.life-list li span:nth-child(3),
.life-list li span:nth-child(4) {
    display: inline-block;
    text-align: right;
    width: 15%;
}
.life-list li span:nth-child(2) {
    width: 10%;
}
.life-list li span:nth-child(3) {
    width:13%;
}
@media screen and (max-width: 1023px){
    .life-flex {
        display: block;
    }
    .life-col {
        width: 100%;
    }
    .life-list {
        font-size: 12px;
    }
    .tab-list .item span {
        font-size: 14px;
        padding: 7px 20px;
    }
}
@media screen and (max-width: 767px){
    .life-map {
        margin: 0 -15px 30px;
    }
    .life-list:nth-child(1) li:last-child {
        border-bottom: 1px solid #000;
    }
    .life-list:nth-child(2) li:last-child {
        border-bottom: none !important;
    }
    .tab-list {
        display: grid;
        margin: 0 0 30px;
        grid-template-columns: repeat(4, 1fr);
        gap: 5px 0;
    }
    .tab-list .item span {
        font-size: 12px;
        padding: 7px 19px;
        margin: 0 0 5px;
        text-align: center;
    }
    .tab-list .item:nth-child(4n)::after {
        background: #000;
        content: "";
        width: 1px;
        height: 16px;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        position: absolute;
    }
}
@media screen and (max-width: 428px){
    .life-box {
        margin-top: 15px;
    }
    .life-box-ttl {
        font-size: 12px;
    }
    .life-list {
        font-size: 10.0px;
    }
}

.gallery-list .item {
    transition: all 0.5s linear;
    transition-delay: 0.15s;
    opacity: 0;
    visibility: hidden;
}
.gallery-list.scrollin .item {
    opacity: 1;
    visibility: visible;
}
.gallery-list .item:nth-child(2) { transition-delay: 0.3s; }
.gallery-list .item:nth-child(3) { transition-delay: 0.45s; }
.gallery-list .item:nth-child(4) { transition-delay: 0.6s; }
.gallery-list .item:nth-child(5) { transition-delay: 0.75s; }
.gallery-list .item:nth-child(6) { transition-delay: 0.9s; }