@charset "UTF-8";
.arial { font-family: Arial, Helvetica, sans-serif; }
.f-bold { font-weight: bold; }
.cap-image .cap.w { color: #fff; }
.ar { text-align: right; }
.full { width: 100%; }
.inner {
    margin: auto;
    padding-right: 15px;
    padding-left: 15px;
    max-width: 1030px;
}
.location-title {
    margin: 0 0 80px;
    text-align: center;
}
.location-title .ttl {
    font-size: clamp(20px,1.875vw,27px);
    letter-spacing: 0.075em;
    line-height: 1.4;
    margin: 0 0 25px;
}
.location-title .txt {
    font-size: 15px;
    letter-spacing: 0.01em;
    line-height: 2;
}
@media screen and (max-width: 767px) {
    .location-title { margin: 0 0 50px; }
    .location-title .ttl {
        letter-spacing: 0.01em;
        font-size: 20px;
    }
    .location-title .ttl .large { font-size: 110%; line-height: 1; }
}

.location-block {
    padding: clamp(40px,4.861111vw,70px) 0;
}
.location-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding: 0;
    gap: 40px 34px;
}
.location-list .img { margin-bottom: clamp(10px, 1.0416666666666666667vw, 15px); }
.location-list .ttl {
    font-size: clamp(14px,1.18055vw,17px);
    line-height: 1.5;
    text-align: center;
}
.location-list .ttl .small {
    font-size: 82%;
}

.location-head {
    padding: clamp(50px, 6.9444444vw, 100px) 0;
}
.location-head .location-title { margin-bottom: 0; }

.location-image {
    position: relative;
    z-index: 0;
}
.location-image .ttl {
    font-size: 19px;
    text-shadow: 0px 0px 10px rgba(0,0,0,0.75);
    letter-spacing: 0.05em;
    color: #fff;
    line-height: 1.4;
    position: absolute;
    z-index: 1;
    right: 7.5%;
    bottom: 14.5%;
}
.location-image .cap-image .cap-under { padding-right: 5px; }
@media screen and (max-width: 767px) {
    .location-image .ttl {
        position: static;
        text-shadow: unset;
        color: #000;
        margin-top: 20px;
        text-align: center;
    }
    .location-list .ttl .small {
        font-size: 100%;
    }
}

.location-grandnature {
    background: url(../location/img/bg01.jpg) no-repeat bottom center / 100% auto;
    padding-top: clamp(30px,12.5vw,180px);
    padding-bottom: clamp(50px,11.805555vw,170px);
}
.location-grandnature .image-map {
    max-width : 850px;
    margin: 0 auto 40px;
}
.location-grandnature .gallery-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    text-align: center;
}
.location-grandnature .gallery-list .item:nth-child(4) {
    grid-area: 2/1/2/4;
}
.location-grandnature .gallery-list .ttl {
    font-size: clamp(14px,1.18055vw,17px);
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-top: 20px;
}
@media screen and (max-width: 767px) {
    .location-grandnature {
        background: url(../location/img/bg01_sp.jpg) no-repeat bottom center / 100% auto;
        padding-top: 30px !important;
    }
    .location-grandnature .image-map {
        width: 100vw;
        margin-left: -15px;
    }
    .location-grandnature .image-map .cap-image .cap.cap-under { padding-right: 5px; }
    .location-grandnature .gallery-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 10px;
    }
    .location-grandnature .gallery-list .item:nth-child(1) {
        grid-area: 1/1/1/3;
    }
    .location-grandnature .gallery-list .item:nth-child(4) {
        grid-area: 3/1/3/3;
    }
}

.location-favourite {
    padding-top: clamp(40px,12.5vw,160px);
}
.location-favourite .favourite-wrap {
    background: #000;
    color: #fff;
    padding: clamp(30px,5.208333vw,75px) 0;
}
.location-favourite .location-list { column-gap: 10px; }
@media screen and (max-width: 767px) {
    .location-favourite { padding-bottom: 30px; }
    .location-favourite .location-list {
        row-gap: 25px;
    }
    .location-favourite .location-list .ttl { letter-spacing: -0.04em; }
}

.daily-block .b-ttl {
    border-bottom: 1px solid #000000;
    font-size: clamp(14px, 1.4583333333333333333vw, 16px);
    line-height: 1.7;
    padding-bottom: 5px;
}
.daily-block .b-ttl .small { font-size: 87.5%; }
.daily-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding: 0;
    gap: clamp(50px, 4.1666666666666666667vw, 60px);
}
.daily-list .img { margin-bottom: 5px;}
.daily-list .info dl {
    border-bottom: solid 1px #000000;
    display: flex;
    position: relative;
    align-items: flex-start;
    justify-content: center;
    font-size: 14px;
    line-height: 1.5;
    margin-top: 0px;
    padding: 5px 0;
}
.daily-list .topic {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.09em;
    padding: 17px 0 12px;
}
.daily-list .info dt {
    display: flex;
    width: 48%;
}
.daily-list .info dd {
    display: flex;
    text-align: right;
}
.daily-list .info dd span:nth-child(1),
.daily-list .info dd span:nth-child(2),
.daily-list .info dd span:nth-child(3) {
    display: inline-block;
    text-align: right;
    width: 35px;
}
.daily-list .info dd span:nth-child(2) { width: 50px;}
.daily-list .info dd span:nth-child(3) {width: 57px;}
.daily-list .info dl.bigger {
    flex-wrap: wrap;
    justify-content: center;
    font-size: clamp(15px, 1.1805555555555555556vw, 17px);
    line-height: 1.7;
    padding: 12px 0;
    column-gap: 15px;
}
.daily-list .info dl.bigger dt {
    flex: initial;
    width: auto !important;
}
.daily-list .info dl.bigger .lbl {
    display: flex;
    justify-content: center;
    font-size: clamp(14px, 1.1111111111111111111vw, 16px);
    text-align: center;
    margin: 3px 0 12px;
    width: 100%;
    gap: 10px;
}
.daily-list .info dl.bigger dd span {
    width: auto !important;
}
.daily-list .info dl.bigger .lbl span {
    background-color: #fff;
    display: block;
    text-align: center;
    padding: 5px;
    width: 50% !important;
}
.daily-list .location-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 25px;
    gap: 10px;
}
.daily-list .location-list .ttl {
    text-align: left;
}
.daily-list .location-list .img { margin: 0 0 5px; }
.daily-list:not(.col3) .item:nth-child(2) .info dt { width: 46%;}
.daily-list.col3 {
    column-gap: clamp(15px, 1.3888888888888888889vw, 20px);
    grid-template-columns: repeat(3, 1fr);
    row-gap: 20px;
}
.daily-list.col3 .info dt { width: 47%;}
.daily-list.col3 .info dl:nth-child(1) { border-top: 1px solid #000000;}
.daily-list.col3 .img { margin-bottom: 25px;}
@media screen and (max-width: 1023px) {
    .daily-list .info dt,
    .daily-list:not(.col3) .item:nth-child(2) .info dt { width: 56%;}
    .daily-list.col3 .info dt {
        width: calc(100% - 115px);
        letter-spacing: -0.03em;
    }
    .daily-list .info dl { letter-spacing: -0.05em; }
}
@media screen and (max-width: 767px) {
    .location-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px 10px;
    }
    .daily-list { grid-template-columns: 1fr !important; gap: 25px; }
    .daily-list .img {
        margin-bottom: 0;
    }
    .daily-list .photo-list { margin-top: 50px;}
    .daily-list .info dd span:nth-child(1),
    .daily-list .info dd span:nth-child(2),
    .daily-list .info dd span:nth-child(3) { width: 35px;}
    .daily-list .info dd span:nth-child(3) { width: 55px;}
    .daily-list .info dd span:nth-child(2) { width: 50px;}
    .daily-list .info dt {
        width: calc(90% - 120px);
        letter-spacing: -0.05em;
    }
    .daily-list .info dl.bigger { font-size: 17px;}
    .daily-list:not(.col3) .item:nth-child(2) .info dt {
        width: calc(90% - 120px);
    }
    .daily-list:not(.col3) .item:nth-child(2) .info dd span { width: auto !important; }
    .daily-list.col3 .info dt {
        width: calc(83% - 140px);
        letter-spacing: 0;
    }
    .daily-list.col3 .info dl { justify-content: flex-start;}
    .daily-list .info dl.bigger .lbl {
        flex-wrap: wrap;
        font-size: 16px;
        margin: 15px 0 12px;
    }
    .daily-list .info dl.bigger .lbl span { width: 100% !important;}
    .daily-list .location-list .ttl {
        text-align: center;
    }
    .daily-block .b-ttl .small {
        font-size: 100%;
        display: block;
        margin-top: 7px;
    }
}

.location-education { padding-bottom: 0 !important; }
.location-favourite .location-title,
.location-dailylife .location-title,
.location-shoping .location-title,
.location-education .location-title { margin-bottom: 40px; }
.location-education .daily-block {
    width: 100%;
    max-width: 660px;
    margin: 0 auto;
}
.location-education .daily-list {
    gap: 30px 20px;
}
.location-education .daily-list .info dl { justify-content: space-between; }
.location-education .daily-list .b-ttl {
    padding-bottom: 25px;
}
@media screen and (max-width: 767px) {
    .location-education .daily-list {
        gap: 15px;
    }
    .location-education .daily-list .item:nth-child(1) .b-ttl {
        border: none;
        padding: 0;
    }
    .location-education .daily-list .b-ttl {
        padding-bottom: 15px;
        text-align: center;
    }
    .location-education .daily-list .info dl {
        justify-content: flex-start;
    }
    .location-shoping .location-list .item:nth-child(1) {
        grid-area: 1/1/1/3;
    }
    .location-shoping .location-list .ttl { letter-spacing: -0.08em; }
}

.sec-life {
    background: rgba(0,0,0,0.05);
    padding: clamp(50px, 12.5vw, 120px) 0 clamp(50px, 10.416666666666666667vw, 90px);
}
.life-wrap {
    margin: 0 auto 0;
    width: calc(100% - 30px);
    max-width: 1000px;
}
.life-ttl {
    font-size: clamp(22px,2.083333vw,30px);
    letter-spacing: 0.05em;
    text-align: center;
    margin: 0 0 35px;
}
@media screen and (max-width: 767px) {
    .sec-life { padding-top: 0; }
    .life-wrap {
        margin: 0 auto 0;
        padding: 0 15px 0;
        width: 100%;
    }
    .life-ttl { margin: 0 0 40px;}
}

.life-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    width: 100%;
    max-width: 810px;
    gap: 40px;
}
.life-col { width: calc(50% - 20px);}
.life-box { margin-top: 35px;}
.life-box-ttl {
    border-bottom: 1px solid #000;
    font-size: 13px;
    margin: 0 0 10px;
    padding: 0 0 7px;
}
.life-list {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: -0.03em;
    margin: 0;
    padding: 0;
}
.life-list .sm {
    display: unset !important;
    font-size: 84%;
}
.life-list li {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
}
.life-list li + li { margin-top: 5px;}
.life-list li span:nth-child(1) {
    display: inline-block;
    width: 72%;
}
.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: 13%;
}
.life-map {
    margin: 0 auto clamp(40px, 6.5972222222222222222vw, 95px);
    width: 100%;
    max-width: 1000px;
}
@media screen and (max-width: 1023px) {
    .life-flex { display: block;}
    .life-col { width: 100%;}
}
@media screen and (max-width: 767px) {
    .life-map {
        width: 100vw;
        margin-left: -15px;
    }
}
@media screen and (max-width: 428px) {
    .life-box { margin-top: 30px;}
    .life-box-ttl { font-size: 12px;}
    .life-list {
        font-size: 12px;
        letter-spacing: -0.04em;
    }
}
@media screen and (max-width: 360px) {
    .life-list {
        font-size: 11px
    }
}
