@charset "UTF-8";

main {
    overflow: inherit;
    overflow:clip;
}

/* パンくず */
#bread_List {
  padding: 10px;
  font-size: 12px;
  box-sizing: border-box;
}

#bread_List li {
  position: relative;
  margin-right: 2em;
  color: #4f4f4f;
}

#bread_List li:not(:last-child)::after {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  right: -1.3em;
  width: 0.6em;
  height: 0.6em;
  border: 1px solid #4f4f4f;
  border-left: transparent;
  border-bottom: transparent;
  transform: translateY(-70%) rotate(45deg);
}

#bread_List a {
  display: block;
  padding-bottom: 2px;
  border-bottom: 1px solid #4f4f4f;
  transition: .3s;
}

#bread_List a:hover {
  border-bottom: 1px solid transparent;
}

#bread_List li>p {
  display: block;
  padding-bottom: 2px;
}

#main_Img {
  width: 100%;
  /*background-image: linear-gradient(to right bottom, #dbcdc3, #f8f2ee, #dbcdc3);*/
    background: #244156;
  text-align: center;
}

#main_Img h2 {
  font-size: min(4.5vw, 35px);
  line-height: 1.2;
  letter-spacing: 5px;
  color: #09455b;
    font-feature-settings: "palt";
    position: absolute;
    left: 0;
    right: 0;
    top: 20%;
    margin: 0 auto;
}

#main_Img span {
  font-size: 15px;
  letter-spacing: 0.2em;
}


/*ロケーション*/
.loc_Area {
    width: 100%;
    margin: 0 auto;
}
.loc_Area h2 {
    text-align: center;
    margin: 30px auto 70px;
    width: 90%;
    font-size: 30px;
    color: #5a5a5a;
}
.loc_Area .mainttl {
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    overflow: hidden;
}
.loc_Area .mainttl li {
    position: relative;
}
.loc_Area .mainttl .img {
    width: 65%;
}
.loc_Area .mainttl .img p {
    position: absolute;
    right: 10px;
    bottom: 10px;
    color: #fff;
    font-size: 22px;
}
.loc_Area .mainttl .img p strong {
    font-size: 200%;
    margin: 0 0.1em;
}
.loc_Area .mainttl .img p small {
    font-size: 12px;
}
.loc_Area .mainttl .txt {
    width: 35%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.loc_Area .mainttl .txt img {
    width: 65%;
    max-width: 300px;
}

.loc_Area.on_Box .mainttl .txt {
    background: #3d3e3e;
}
.loc_Area.off_Box .mainttl .txt {
    background: #9bc4e5;
}

.loc_Area .loc_Box h3.onfttl {
    margin-right: auto;
    margin-left: 0;
    margin-bottom: 20px;
    height: 10svw;
    position: relative;
}
.loc_Area .loc_Box h3.onfttl img {
    max-width: 100%;
    max-height: 100%;
}
.loc_Area .loc_Box h3.onfttl p {
    position: absolute;
    left: 7svw;
    top: 50%;
    transform: translateY(-50%);
    font-size: 30px;
    color: #5a5a5a;
}

.loc_Area .loc_Box .sticky_Area {
    width: 1200px;
    max-width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
}
.loc_Area .loc_Box .sticky_Area .text {
    width: 45%;
    position: sticky;
    top: 50%;
    transform: translateY(-50%);
    margin-top: 20svh;
}
.loc_Area .loc_Box .sticky_Area .text p {
    line-height: 3;
}
.loc_Area .loc_Box .sticky_Area .img {
    width: 50%;
}
.loc_Area .loc_Box .sticky_Area .img ul {
    flex-wrap: wrap;
}
.loc_Area .loc_Box .sticky_Area .img ul li {
    margin-bottom: 1px;
    position: relative;
}
.loc_Area .loc_Box .sticky_Area .img ul li .for {
    position: absolute;
    left: 10px;
    top: 10px;
    color: #fff;
    font-size: 25px;
    letter-spacing: 0.2em;
}
.loc_Area .loc_Box .sticky_Area .img .flex1-1 {
    width: 100%;
}
.loc_Area .loc_Box .sticky_Area .img .flex2-1 {
    width: 50%;
}
.loc_Area .loc_Box .sticky_Area .img .flex3-2 {
    width: 57%;
}
.loc_Area .loc_Box .sticky_Area .img .flex3-1 {
    width: 42.3%;
}
.loc_Area .loc_Box .sticky_Area .img .flex2-1.min {
    width: 50%;
}
.loc_Area .loc_Box .sticky_Area .img .min {
    background: #3d3e3e;
    display: flex;
    justify-content: center;
    align-items: center;
}
.loc_Area .loc_Box .sticky_Area .img .min img {
    width: 85%;
    max-width: 250px;
}
.loc_Area .loc_Box .sticky_Area .arrow {
    width: 50px;
    margin: 15px auto;
}

.loc_Area .loc_Box .sticky_Area .minarea {
    margin: 10px auto 40px;
}
.loc_Area .loc_Box .sticky_Area .minarea h3 {
    color: #6997bc;
    line-height: 1.6;
    font-size: 21px;
    margin-bottom: 15px;
}
.loc_Area .loc_Box .sticky_Area .minarea h3.bigcopy {
    text-align: center;
    margin: 30px auto 0;
    font-size: 25px;
}
.loc_Area .loc_Box .sticky_Area .minarea p {
    line-height: 1.8;
    font-size: 14px;
    margin-bottom: 10px;
}
.loc_Area .loc_Box .sticky_Area .minarea p.min {
    background: none;
    text-align: left;
    justify-content: flex-start;
    align-items: baseline;
    display: block;
    line-height: 1.3;
}
.loc_Area .loc_Box .sticky_Area .minarea p.min strong {
    font-size: 150%;
}
.br_white1 {
    border-right: 1px solid #fff;
}


.loc_Area .loc_Box .access {
    width: 1200px;
    max-width: 90%;
    margin: 80px auto;
}

.loc_Area .loc_Box .riben {
    width: 1200px;
    max-width: 90%;
    margin: 80px auto;
}
.loc_Area .loc_Box .riben .riben_copy {
    font-size: 25px;
    color: #5a5a5a;
    text-align: center;
    margin-bottom: 30px;
}
.loc_Area .loc_Box .riben ul {
    flex-wrap: wrap;
    gap:4%;
    justify-content: space-between;
}
.loc_Area .loc_Box .riben ul li {
    width: 30%;
}
.loc_Area .loc_Box .riben ul li figure {
    margin-bottom: 10px;
}
.loc_Area .loc_Box .riben ul li h3 {
    font-size: 17px;
    line-height: 1.6;
    margin-bottom: 5px;
}
.loc_Area .loc_Box .riben ul li p {
    font-size: 14px;
}


/*ライフインフォメーション*/
.lifeinfo_Area {
    width: 1200px;
    max-width: 90%;
    margin: 80px auto;
}
.lifeinfo_Area h2 {
    text-align: center;
    line-height: 1.6;
    color: #6997bc;
    font-size: 30px;
}

.locList {
    width: 1200px;
    max-width:100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.locList li {
    width: 47%;
}
.locList li h4 {
    display:flex;
    align-items:center;
    color: #231815;
    font-weight: 600;
    font-size: 18px;
    margin-top: 40px;
    margin-bottom: 20px;
}
.locList li h4 small {
    font-size: 12px;
    margin-left: 10px;
}
.locList li h4:after {
    content:"";
    margin-left:5px;
    border-top:1px solid #231815; 
    flex-grow:1;
}
.locList li dl {
    background: url(../img/dotted.jpg) repeat-x;
    background-size: 4px;
    background-position: center;
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
}
.locList li dl dt {
    background: #fff;
    font-size: 14px;
    font-weight: normal;
    padding-right: 10px;
}
.locList li dl dd {
    background: #fff;
    font-size: 12px;
    padding-left: 10px;
    font-weight: normal;
}


@media only screen and (max-width: 768px) {

    /* パンくず */
    #bread_List {
        display: none;
    }

    
    /*メインビジュアル*/
    #main_Img {
    }
    
    
    /*メインコンテンツ*/
    .loc_Area h2 {
        margin: 30px auto;
        font-size: 25px;
        line-height: 1.8;
    }
    .loc_Area .mainttl .txt {
        width: 100%;
        order: 1;
        padding: 40px 0;
    }
    .loc_Area .mainttl .txt img {
        max-width: 150px;
    }
    .loc_Area .mainttl .img {
        width: 100%;
        order: 2;
    }
    .loc_Area .mainttl .img p {
        font-size: 16px;
    }
    
    .loc_Area .loc_Box h3.onfttl {
        height: 80px;
    }
    .loc_Area .loc_Box h3.onfttl p{
        font-size: 20px;
    }
    
    .loc_Area .loc_Box .sticky_Area .text {
        width: 100%;
        position: relative;
        top: inherit;
        transform: none;
        margin-top: 0px;
        margin-bottom: 30px;
        font-size: 14px;
        text-align: center;
    }
    .loc_Area .loc_Box .sticky_Area .text p {
        line-height: 2.5;
    }
    .loc_Area .loc_Box .sticky_Area .img {
        width: 100%;
    }
    .loc_Area .loc_Box .sticky_Area .minarea p {
        font-size: 13px;
    }
    
    .loc_Area .loc_Box .access {
        margin: 30px auto;
    }
    
    .loc_Area .loc_Box .riben {
        margin: 50px auto;
    }
    .loc_Area .loc_Box .riben .riben_copy {
        font-size: 20px;
        line-height: 1.5;
    }
    .loc_Area .loc_Box .riben ul li {
        width: 100%;
        margin-bottom: 30px;
    }
    
    
    /*ライフインフォ*/
    .lifeinfo_Area h2 {
        font-size: 18px;
    }
    .locList li {
        width: 100%;
    }
    .locList li h4 {
        font-size: 18px;
        line-height: 1.6;
    }
    .locList li dl dt {
        font-size: 12px;
        max-width: 60%;
    }

}