@charset "UTF-8";
.inner {
    width: calc(100% - 30px);
    max-width: 1000px;
    margin: 0 auto;
}
.ar { text-align: right; }
.cap-image .cap.cap-shadow {
    text-shadow: 0 0 8px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.75),0 0 5px rgba(0,0,0,.75),0 0 5px rgba(0,0,0,1),0 0 5px rgba(0,0,0,1);
}
.cap-image .cap.cap-bg {
    background-color: #231F20;
    left: 0;
    bottom: 0;
    padding: 3px;
}
.cap-image .cap.cap-white { color: #fff;}
.full { width: 100%;}
.notes {
    font-size: 10px;
    margin-bottom: 0;
}
.ttl-en {
    margin-bottom : 10px;
}
.ttl-en img {
    height: 14px;
    width: auto;
}
.ttl-jp {
    font-size: 31px;
    line-height: 1.5;
    margin-bottom: 10px;
    color: #231F20;
}
.txt-sm {
    font-size: 14px;
    letter-spacing: 0.04em;
    line-height: 2;
    margin-bottom: 0;
    color: #231F20;
}
.txt-sx {
    font-size: 10px;
    letter-spacing: 0.04em;
    line-height: 2;
    margin-bottom: 0;
    color: #231F20;
}
.ttl-sub {
    font-size: 23px;
    letter-spacing: 0;
    line-height: 2;
    margin: 0;
    color: #231f20;
}
.ttl-sub .num {
    font-size: 178%;
    line-height: 1;
}
.ttl-sub .medium {
    font-size: 104%;
    line-height: 1;
}
.ttl-sub .small { font-size: 60.8%;}
@media screen and (max-width: 1023px){
    .ttl-en img { height: 10px;}
    .ttl-jp { font-size: 23px;}
    .txt-sm {
        font-size: 10.5px;
        letter-spacing: 0;
    }
    .ttl-sub { font-size: 17px;}
}
@media screen and (max-width: 767px){
    .ttl-en { margin-bottom: 10px;}
    .txt-sx { font-size: 10px;}
}
.intro-park {
    background: linear-gradient(-60deg, #dbd5d4 0%,#ffffff 47%,#dbd5d4 100%);
    background-size: 63.5% 100%;
    background-repeat: no-repeat;
    background-position: top right;
}
.intro-block {
    display: flex;
    gap: 7%;
}
.intro-block .img { width: 39.5%;}
.intro-block .img .cap-image { height: 100%;}
.intro-block .img .cap-image img {
    height: 100%;
    object-fit: cover;
    object-position: bottom center;
}
.intro-block .desc {
    flex: 1;
    display: flex;
    align-items: center;
    padding: 10px 8.2% 10px 0;
}
.intro-block .desc .cont { width: 100%;}
.intro-block .ttl-en img { height: 16px;}
.intro-photo {
    display: grid;
    grid-template-columns: 58% 1fr 1fr;
    padding: 0;
    margin: 30px 0 0;
}
.intro-photo .item:nth-child(1){
    grid-row: 1/3;
    grid-column: 1/2;
}
.intro-photo .item:nth-child(2){
    grid-row: 1/2;
    grid-column: 2/4;
}
.intro-photo .item:nth-child(3){
    grid-row: 2/3;
    grid-column: 2/3;
}
.intro-photo .item:nth-child(4){
    grid-row: 2/3;
    grid-column: 3/4;
}
.intro-photo .cap-image { height: 100%;}
.intro-photo .cap-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.intro-environment {
    background: url(../location/img/intro_bg.jpg) no-repeat center center/cover;
    padding: 20px 0 0;
}
.intro-environment .ttl {
    font-size: 28px;
    letter-spacing: 0;
    margin-bottom: 15px;
    color: #fff;
    text-align: center;
    text-shadow: 0 0 10px rgba(92,107,55,1), 0 0 10px rgba(92,107,55,1), 0 0 10px rgba(92,107,55,1), 0 0 10px rgba(92,107,55,1);
}
.intro-environment .intro-gallery .intro-slider { margin-bottom: 15px;}
.intro-environment .intro-gallery .cap-image .cap.cap-under { padding: 10px;}
@media screen and (max-width: 1023px) {
    .intro-block { gap: 30px;}
    .intro-block .ttl-en img { height: 12px;}
    .intro-block .desc { padding: 10px 15px 10px 0;}
    .intro-environment .ttl { font-size: 21px;}
}
@media screen and (max-width: 767px) {
    .intro-park { background-size: 100% 100%;}
    .intro-block {
        gap: 0;
        flex-wrap: wrap;
    }
    .intro-block .img { width: 100%;}
    .intro-block .desc { padding: 30px 15px 50px;}
    .intro-photo { 
        grid-template-columns: 70.9% auto;
        margin-top: 20px;
    }
    .intro-photo .item { grid-area: auto !important;}
    .intro-photo .item:nth-child(1) { grid-area: 1/1/1/3 !important;}
    .intro-photo .item:nth-child(2) { grid-area: 2/1/4/1 !important;}
    .intro-photo .item:nth-child(4) { grid-area: 3/2/3/3 !important;}
}
/* sec-ideal */
.sec-ideal { position: relative;}
.sec-ideal .desc {
    position: absolute;
    top: 6%;
    z-index: 1;
    text-align: center;
    width: 100%;
}
@media screen and (max-width: 767px) {
    .sec-ideal .desc { top: 20px;}
}
.item-location { text-align: center;}
.item-location .img { margin: 0 0 10px;}
.item-location .ttl {
    font-size: 12px;
    letter-spacing: 0.04em;
    line-height: 1.8;
    margin: 0;
}
.item-location .sub {
    font-size: 12px;
    letter-spacing: 0.04em;
    line-height: 1.8;
    margin: 0;
}
.location-block {
    display: grid;
    grid-template-columns: 590px auto;
    gap: 30px 55px;
    padding-left: calc((100vw - 1015px)/2);
    align-items: center;
}
.location-block .col-left { padding-bottom: 15px;}
.location-block .col-right { height: 100%;}
.location-block .col-right .img { height: 100%;}
.location-block .col-right .img img {
    height: 100%;
    object-fit: cover;
}
.location-block .cont { padding: 30px 0;}
.location-block .ttl-en {
    text-align: left;
    margin: 0 0 30px;
}
.location-block .ttl-jp { margin: 0 0 30px;}
@media screen and (max-width: 1023px) {
    .location-block {
        padding-left: 15px;
        grid-template-columns: 60% auto;
        gap: 30px;
    }
}
@media screen and (max-width: 1000px) {
    .item-location .ttl,
    .item-location .sub { font-size: 10px;}
}
@media screen and (max-width: 767px) {
    .item-location .img { margin: 0 0 5px;}
    .location-block {
        grid-template-columns: auto !important;
        padding: 0 15px !important;
    }
    .location-block .col-left { padding-bottom: 0;}
    .location-block .col-right .img {
        height: auto;
        width: calc(100% + 30px);
        margin-left: -15px;
    }
    .location-block .ttl-en { margin: 0 0 15px;}
    .location-block .ttl-jp { margin: 0 0 15px;}
}

.shopping-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
}
.shopping-gallery .item {
    position: relative;
    z-index: 0;
}
.shopping-gallery .item .lbl {
    width: 100%;
    position: absolute;
    z-index: 1;
    top: 50%;
    transform: translateY(-50%);
    padding: 0 19%;
}
.shopphing-area {
    background: #DBD5D4;
    background: linear-gradient(-59deg, rgba(219, 213, 212, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(219, 213, 212, 1) 100%);
    padding: 20px 0;
}
.shopphing-area .list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px 10px;
    text-align: center;
}
.shopphing-area .list dl {
    background: #fff;
    margin: 0;
}
.shopphing-area .list dl dt {
    font-size: 14px;
    letter-spacing: 0.04em;
    line-height: 1;
    background: #d3c8b5;
    padding: 5px;
    margin: 0 0 5px;
}
.shopphing-area .list dl dd {
    font-size: 12px;
    padding: 8px 5px 6px;
    letter-spacing: 0;
    line-height: 1.4;
}
.shopphing-area .list dl dd + dd { border-top: 1px dashed #231f20;}
.shopphing-locale { padding: 35px 0 65px;}
.shopphing-locale .list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}
@media screen and (max-width: 1000px) {
    .shopphing-area .list dl dd {
        font-size: 10px;
        padding: 8px 0px 6px;
        letter-spacing: -0.02em;
    }
}
@media screen and (max-width: 767px) {
    .shopping-gallery,
    .shopphing-locale .list,
    .shopphing-area .list {
        grid-template-columns: repeat(2, 1fr);
    }
    .shopphing-area { padding: 20px 0 35px;}
    .shopphing-area .list dl dt {
        font-size: 12px;
        padding: 5px 5px 3px;
    }
}
/* sec-education */
.sec-education { padding: 0 0 100px;}
.sec-education .edu-bg {
    background: #DBD5D4;
    background: linear-gradient(-59deg, rgba(219, 213, 212, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(219, 213, 212, 1) 100%);
}
.sec-education .location-block {
    padding-left: 0;
    grid-template-columns: auto 590px;
    padding-right: calc((100vw - 1015px)/2);
    border-bottom: 1px solid #231f20;
}
.sec-education .location-block .col-left { order: 2; }
.sec-education .location-block .ttl-jp { letter-spacing: -0.02em; }
.education-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px 0;
}
.education-locale { padding: 40px 0 35px;}
.education-locale .title {
    font-size: 22px;
    letter-spacing: 0;
    line-height: 2;
    margin: 0 0 10px;
    text-align: center;
}
.education-locale .list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
}
.sec-education .list-bdr .item {
    border-bottom: 1px dashed #6d6e71;
    padding: 0 0 5px;
}
.education-bnr {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 25px;
    padding-top: 35px;
}
.education-bnr .list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}
.education-bnr .img {
    position: relative;
    z-index: 0;
    margin: 0 0 15px;
}
.education-bnr .img .lbl {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    padding: 0 36%;
    z-index: 1;
}
@media screen and (max-width: 1023px) {
    .sec-education .location-block {
        padding-left: 0;
        padding-right: 15px;
        grid-template-columns: auto 60%;
    }
}
@media screen and (max-width: 767px) {
    .sec-education { padding: 0 0 40px;}
    .sec-education .location-block .cont { padding-top: 0; }
    .education-locale .list,
    .education-gallery { grid-template-columns: repeat(2, 1fr);}
    .education-locale .list {
        gap: 25px;
    }
    .education-locale { padding: 30px 0 60px;}
    .education-locale .title { font-size: 16px;}
    .sec-education .location-block { padding-bottom: 40px !important;}
    .education-bnr { 
        grid-template-columns: auto;
        gap: 50px;
    }
    .education-bnr .img {
        width: calc(100% + 30px);
        margin-left: -15px;
    }
    .education-gallery { padding: 0 15px;}
}
/* sec-life*/
.sec-life {
    color: #231f20;
    padding-bottom: 100px;
}
.life-img { margin-bottom: 40px;}
.cont-box {
    display: grid;
    grid-template-columns: repeat(2 , 1fr);
    gap: 8%;
    margin-top: 35px;
}
.cont-box .item + .item { margin-top: 21px;}
.life-ttl {
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0;
    border-bottom: 1px solid #231f20;
    margin-bottom: 8px;
}
.life-list {
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: -0.5px;
    margin: 0;
    padding: 0;
}
.life-list li {
    display: flex;
    justify-content: flex-start;
}
.life-list li span:nth-child(1) {
    display: inline-block;
    flex: 1;
}
.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: 12%;
    min-width: 45px;
}
.life-list li span:nth-child(4) {
    width: 12.5%;
}
@media screen and (max-width: 1023px){
    .cont-box .item + .item { margin-top: 16px;}
    .life-ttl,
    .life-list { font-size: 12px;}
}
@media screen and (max-width: 767px){
    .sec-life {
        padding-bottom: 40px;
    }
    .life-img { margin-bottom: 30px;}
    .cont-box .col-right,
    .cont-box .item + .item { margin-top: 20px;}
    .cont-box {
        grid-template-columns: auto;
        gap: 0;
        margin-top: 30px;
    }
}