
h2 {
    font-family: var(--fontOrp);
    color: var(--Color4);
    font-size: 3.125rem;
    letter-spacing: 0.12em;
    line-height: 1.25em;
}


/*　-----------------------　メインビジュアル　-----------------------　*/

#MainVisual {
    padding-top: 70px;
    position: relative;
}
#MainVisual figure {
    width: 100%;
    height: calc(100dvh - 70px);
    background-image: url(../images/location/main.jpg);
    background-position: bottom center;
    background-size: cover;
}
#MainVisual figure img {
    width: 100%;
    height: calc(100vh - 70px);
    mix-blend-mode: multiply;
}
#MainVisual .main_logo {
    font-family: var(--fontCiz);
    position: absolute;
    top: 50%;
    transform: translateY(-45%);
    left: 8vw;
    color:#fff;
    font-size: max(2.5vw,30px);
    letter-spacing: 0.1em;
    filter: drop-shadow(0 0 5px #000);
    -webkit-filter: drop-shadow(0 0 5px #000);
}

/* ----------------------- */
/* 1000*/
/* ----------------------- */
@media screen and (max-width: 1000px) {


}

/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {

#MainVisual {
    padding-top: 70px;
    position: relative;
}
#MainVisual figure {
    width: 100%;
    height: calc(100dvh - 70px - 20vw);
    background-image: url(../images/location/main_sp.jpg);
}
#MainVisual figure img {
    width: 100%;
    height: calc(100vh - 70px - 20vw);
    mix-blend-mode: multiply;
}
#MainVisual figure figcaption {
    bottom:1%;
}
#MainVisual .main_logo {
    top: 18%;
    left:inherit;
    width: 100%;
    text-align: center;
    font-size:10vw;
}

}



/*　-----------------------　共通 2　-----------------------　*/

.shop_introduction {
    padding-top: 80px;
    padding-bottom: 80px;
    padding-left: calc((100% - 1000px) / 2);
    padding-right: calc((100% - 1000px) / 2);
}
.shop_introduction ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 40px;
}
.shop_introduction ul li {
    width: 300px;
}
.shop_introduction ul li div:nth-child(2) {
    margin-top: 10px;
}
.shop_introduction ul li h4 {
    margin-top: 0.5em;
    font-size: 1.1rem;
    color: var(--Color4);
}
.shop_introduction ul li p {
    font-size: 0.9rem;
    margin-top: 0.1em;
}
.shop_introduction ul li span {
    font-size: 80%;
}
.shop_column {
    background-color: var(--Color3);
    color: var(--Color2);
    width: 1000px;
    padding-top: 80px;
    padding-bottom: 80px;
    padding-left: calc((100% - 1000px) / 2);
    padding-right: calc((100% - 1000px) / 2);
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
#sec02 .shop_column {
    align-items: center;
}
.shop_column div,
.shop_column figure {
    width: 480px;
}
.shop_column > div h3 span {
    font-size: 60%;
}
.shop_column .shop_copy {
    margin-top: 40px;
    padding-bottom: 30px;
    
}
.shop_column .shop_detail {
    padding-top: 20px;
    font-size: 85%;
    border-top: 1px solid var(--Color2);
}

.edu_column .shop_introduction { /* 教育コラム対応 */
    padding-top: 20px;
    padding-bottom: 20px;
}
.edu_column .shop_introduction ul li h4 { /* 教育コラム対応 */
    font-size: 1rem;
    letter-spacing: 0;
    margin-top: 0.8em;
}
.edu_column .shop_introduction ul li p { /* 教育コラム対応 */
    margin-top: 0.5em;
}

/* ----------------------- */
/* 1000*/
/* ----------------------- */
@media screen and (max-width: 1000px) {

.shop_introduction {
    padding-top: 8vw;
    padding-bottom: 8vw;
    padding-left: 5%;
    padding-right: 5%;
}

.shop_introduction ul {
    row-gap: 4vw;
}
.shop_introduction ul li {
    width: 29vw;
}
.shop_introduction ul li div:nth-child(2) {
    margin-top: 1vw;
}
.shop_column {
    width: 90%;
    padding-top: 8vw;
    padding-bottom: 8vw;
    padding-left: 5%;
    padding-right: 5%;
}
.shop_column div,
.shop_column figure {
    width: calc(48vw - 5%);
}
.shop_column > div h3 span {
    font-size: 60%;
}
.shop_column .shop_copy {
    margin-top: 4vw;
    padding-bottom: 3vw;
    
}
.shop_column .shop_detail {
    padding-top: 2vw;
}

}

/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {

.shop_introduction {
    width: 90%;
    padding-top: 8vw;
    padding-bottom: 8vw;
    padding-left: 5%;
    padding-right: 5%;
}
.shop_introduction p {
    margin-top: 2.5vw;
    margin-bottom: 8vw;
}
.shop_introduction ul {
    display: block;
    row-gap: 5vw;
}
.shop_introduction ul li {
    width: 85%;
    margin: 0 auto 5vw;
}
.shop_introduction ul li div:nth-child(2) {
    margin-top: 10px;
}
.shop_column {
    width: 90%;
    padding-top: 8vw;
    padding-bottom: 8vw;
    padding-left: 5%;
    padding-right: 5%;
    display: block;
}
.shop_column div,
.shop_column figure {
    width: 100%;
}
.shop_column .shop_copy {
    margin-top: 5vw;
    padding-bottom: 4vw;
}
.shop_column .shop_detail {
    padding-top: 2.5vw;
    margin-bottom: 5vw;
}


.edu_column .shop_introduction { /* 教育コラム対応 */
    padding-top: 2vw;
    padding-bottom: 2vw;
}
}




/*　-----------------------　共通 1　-----------------------　*/

.cap {font-size: 65%;}
sup {font-size: 50%;}

/* -------- */
.sec_ttl {
    padding-top: 80px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.sec_ttl.flex_end {
    align-items:stretch;
}
.sec_ttl.flex_end > figure {
    display: flex;
    align-items: flex-end;
}
.sec_ttl.flex_end > figure > div {
    width: 100%;
}

.sec_ttl > div {
    width: 460px;
    margin-left: calc((100% - 1000px) / 2);
    display: flex;
    align-content: space-between;
    flex-wrap: wrap;
    margin-top: 1em;
}
.sec_ttl h2::after {
    content: "";
    display: block;
    width: 2.3em;
    border-bottom: 1px solid var(--Color4);
    margin: 0.5em 0;
}
.sec_ttl h3 {
    margin-bottom: 1em;
}
.sec_ttl figure {
    width: calc(500px + ((100% - 1000px) / 2));
}
.sec_ttl_txt {
    margin-bottom: 2em;
}
.sec_ttl.flex_end .sec_ttl_txt {
    margin-bottom: 0;
}

/* -------- */

.w1000 {
    width: 1000px;
    margin: auto;
    padding-top: 80px;
    padding-bottom: 40px;
    display: flex;
    justify-content: space-between;
}
.w1000.r500 {
    padding-top: 20px;
}
/* -------- */

.h3_color {
    color: var(--Color4);
    font-size: 1.32rem;
    margin-bottom: 1em;
}

/* -------- */
.left_img img {
    width: calc(50vw + 493px);
}


/* ----------------------- */
/* 1000*/
/* ----------------------- */
@media screen and (max-width: 1000px) {

.sec_ttl {
    padding-top: 8vw;
    gap: 2vw;
    align-items: flex-end;
}
.sec_ttl  > div {
    width: 48vw;
    margin-left: 5%;
}
.sec_ttl > figure {
    width: 50vw;
}
.sec_ttl_txt {
    margin-bottom: 0;
}
/* -------- */

.w1000 {
    width: 90%;
    padding-top: 6vw;
    padding-bottom: 8vw;
    gap:4vw;
}
.w1000.r500 {
    padding-top: 1.5vw;
}

/* -------- */
.left_img {
    text-align: center;
}
.left_img img {
    width: 95vw;
}


}

/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {

.sec_ttl {
    padding-top: 10vw;
    margin-top: 10vw;
    display: block;
    padding: 0 2.5%;
}
.sec_ttl.flex_end {
    display: flex;
    flex-direction: column;
}
.sec_ttl > div {
    width: 90%;
    margin: 0 auto;
    display: block;
}
.sec_ttl > figure {
    width: 100%;
    margin-top: 5vw;
}
/* -------- */

.w1000 {
    width: 90%;
    padding-top: 6vw;
    padding-bottom: 8vw;
    display: block;
}
.w1000.r500 {
    padding-top: 1.5vw;
}


}




/*　-----------------------　HISTORY　-----------------------　*/


#HISTORY {
    background-color: var(--Color5);
}

.HISTORY_main {
    text-align: center;
}
.HISTORY_main h2 {
    padding: 1em 0 0 0;
}

.HISTORY_main h2::after {
    content: "";
    display: block;
    width: 100px;
    border-bottom: 1px solid var(--Color4);
    margin: 0.5em auto 0;
}
.HISTORY_main h3 {
    margin: 2em 0;
}

.HISTORY_content {
    display: flex;
    justify-content: space-between;
    padding-bottom: 7vw;
    flex-wrap: wrap;
}

.HISTORY_content .content_wrap {
    width: 48%;
}
.HISTORY_content .content_wrap.txt img {
    margin-top: 1.5em;
}
.HISTORY_content .content_wrap.imgs > figure {
    margin-bottom: 1.0em;
}
.HISTORY_content .imgs.content_wrap ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.HISTORY_content .imgs.content_wrap ul li {
    width: 48%;
}
/* ----------------------- */
/* 1000*/
/* ----------------------- */
@media screen and (max-width: 1000px) {

.HISTORY_content .content_wrap {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

.oldMap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap:4%;
}
.noTB {
    display: none;
}

}
/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {
.HISTORY_content .content_wrap {
    width: 100%;
    padding-top: 1em;
}
.noTB {
    display: block;
}
.HISTORY_content .content_wrap.imgs > img {
    margin-bottom: 1.5em;
}

}





/*　-----------------------　SHOPPING　-----------------------　*/


#SHOPPING .w1000.p1 {padding-bottom:0;}
#SHOPPING .w1000.p2 {padding-top: 0;display: block;}

#SHOPPING .r500 > div:last-child {
    width: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#SHOPPING .r500 > div:first-of-type {
    width: 460px;
}
#SHOPPING .bgcolor {
    background-color: var(--Color5);
}
#SHOPPING .bgcolor p {
    font-size: 0.7rem;
    padding: 0.8em;
}
#SHOPPING figure.w100 {
    width: 100%;
    margin-top: 1em;
}
#SHOPPING .sec_ttl.flex_end .sec_ttl_txt {
    display: flex;
    align-items: stretch;
    flex-direction: column;
    justify-content:space-between;
    align-content: space-between;
    margin-top: 0;
}

/* ----------------------- */
/* 1000*/
/* ----------------------- */
@media screen and (max-width: 1000px) {

#SHOPPING .r500 > div:last-child,
#SHOPPING .r500 > div:first-of-type {
    width: 50%;
}
#SHOPPING .r500 {
    gap:5%;
}
#SHOPPING .r500 span.cap {
    display: block;
}
#SHOPPING .bgcolor p {
    font-size: 0.8rem;
}

}

/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {
#SHOPPING .r500 > div:last-child,
#SHOPPING .r500 > div:first-of-type {
    width: 100%;
}
#SHOPPING .r500 {
    gap:none;
}
#SHOPPING .bgcolor {
    margin-top: 1.5em;
}

#SHOPPING .sec_ttl.flex_end .sec_ttl_txt {order: 2}
#SHOPPING .sec_ttl.flex_end figure {order: 1}
}



/*　-----------------------　補足コンテンツ　-----------------------　*/

.supplement {
    background-color: var(--Color5);
    padding: 40px 0;
}
.supplement > div {
    width: 1000px;
    margin: auto;
    display: flex;
    justify-content: space-between;
}
.supplement > div > * {
    width: 48%;
}
.supplement > div > div {
    display: flex;
    align-items: center;
}
.supplement > div > div > div > h3{
    margin-bottom: 1em;
}


/* ----------------------- */
/* 1000*/
/* ----------------------- */
@media screen and (max-width: 1000px) {

.supplement > div {
    width: 95vw;
    margin: auto;
}

}

/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {
.supplement > div {
    flex-direction:column;
}
.supplement > div > div {
    margin-bottom: 1.2em;
}
.supplement > div > div > .cap{
    margin-bottom: 1em;
}
.supplement > div > * {
    width: 100%;
}
}





/*　-----------------------　教育コラム　-----------------------　*/
.edu_column {
    background-color: var(--Color5);
    padding: 40px 0;
}
.edu_column_head {
    display: flex;
    justify-content: space-between;
    width: 1000px;
    margin: 0 auto 40px auto;
}

.edu_column_head > div {
    width: 54.4%;
}
.edu_column_head > figure {
    width: 41.6%;
}
.edu_column_head > div p{
    font-size: 90%;
    margin: 2em 0;
}
.edu_column_head > figure > div > img:first-of-type {
    margin: 0 0 15px auto;
    width: 65%;
}
.edu_column_head > figure {
    display: flex;
    align-items: flex-end;
}
.edu_column_head > figure > div {
    width: 100%;
}
.edu_column_head img.svg {
  filter: drop-shadow(1px 1px 5px rgba(0,0,0,0.8));
  -webkit-filter: drop-shadow(1px 1px 5px rgba(0,0,0,0.8));
}

.edu_column > h3 {
    width: 1000px;
    margin: auto;
}
.edu_column ul.cap {
    width: 1000px;
    margin: 4em auto;
    text-align: right;
}
.edu_icon {
    position: absolute;
    top:0;
    right: 0;
    transform: translateY(-50%);
    width: 35%;
  filter: drop-shadow(1px 1px 5px rgba(0,0,0,0.8));
  -webkit-filter: drop-shadow(1px 1px 5px rgba(0,0,0,0.8));
}

br.br1000 {
    display: none;
}

/* ----------------------- */
/* 1000*/
/* ----------------------- */
@media screen and (max-width: 1000px) {



.edu_column_head ,
.edu_column > h3,
.edu_column ul.cap {
    width: auto;
    padding-left: 5%;
    padding-right: 5%;
}

.edu_column_head > div {
    width: 56%;
}
.edu_column_head > figure {
    width: 42%;
}
.edu_column ul.cap {
    text-align: left;
}
/*
.edu_column ul.cap li {
    margin-left: 1.1em;
    text-indent: -1.1em;
}
*/
.edu_column_head h3 {
    letter-spacing: 0;
}
br.br1000 {
    display: block;
}
.choutai {
    white-space: nowrap;
    transform-origin: top left;
    transform: scale(0.85,1);
}
}

/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {

.edu_column_head {
    flex-direction: column;
    width: auto;
    padding-left: 5%;
    padding-right: 5%;
    margin: 0 auto 40px auto;
}

.edu_column_head > div,
.edu_column_head > figure {
    width: auto;
}
.edu_column_head > figure > div > img:first-of-type {
    margin: 12vw auto 15px auto;
    width: 65%;
}

.edu_column h3 {
    text-align: center;
}
.edu_icon {
    position: absolute;
    top:5%;
    right:auto;
    left: 0;
    transform: translateX(-20%);
    width: 35%;
  filter: drop-shadow(1px 1px 5px rgba(0,0,0,0.8));
  -webkit-filter: drop-shadow(1px 1px 5px rgba(0,0,0,0.8));
}
}



/*　-----------------------　ライフインフォ　-----------------------　*/

#LifeInfo h2 {
    width: 1000px;
    margin: auto;
    padding: 120px 0 80px;
}
#LifeInfo .tabs {
    padding-bottom: 120px;
}
#LifeInfo ul.tab {
    display: flex;
    justify-content: space-between;
    height: 54px;
    width: calc(100% - (100% - 1000px));
    padding-left: calc((100% - 1000px) / 2);
    padding-right: calc((100% - 1000px) / 2);
    border-bottom: 1px solid var(--Color3);
}
#LifeInfo ul.tab li {
    width: 175px;
    height: 53px;
    background: var(--Color6);
    color: var(--Color2);
    border: 1px solid var(--Color6);
    border-bottom: 1px solid var(--Color6);
    letter-spacing: 0;
    line-height: 1;
}
#LifeInfo ul.tab li a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 15px;
}
#LifeInfo ul.tab li a span span {
    font-size: 65%;
}
#LifeInfo ul.tab li.active {
    color: var(--Color6);
    background-color: var(--Color2);
    border-bottom: 1px solid var(--Color2);
}
#LifeInfo .area {
    display: none;
    opacity: 0;
    background: var(--Color2);
    width: calc(100% - (100% - 1000px));
    padding-left: calc((100% - 1000px) / 2);
    padding-right: calc((100% - 1000px) / 2);
    margin-top: 60px;
}
#LifeInfo .area.is-active {
    display: block;
    opacity: 1;
    animation-name: displayAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}
#LifeInfo .area .life_info_inner {
    display: flex;
    justify-content: space-between;
}
#LifeInfo .area .life_info_inner .life_map {width: 67%;}
#LifeInfo .area .life_info_inner .life_info.pc {width: 30%;}

/* ----------------------- */
/* 1000*/
/* ----------------------- */
@media screen and (max-width: 1000px) {

#LifeInfo h2 {
    width: 90%;
    padding: 12vw 0 8vw;
}
#LifeInfo .tabs {
    padding-bottom: 12vw;
}
#LifeInfo ul.tab {
    height: 5.4vw;
    width: 90%;
    padding-left: 5%;
    padding-right: 5%;
}
#LifeInfo ul.tab li {
    width: 17.5vw;
    height: 5.3vw;
    line-height: 1.1;
    font-size: clamp(0.813rem, 0.192rem + 1.29vw, 1rem);
}
#LifeInfo ul.tab li span.sp {
    line-height: 0;
}
#LifeInfo ul.tab li a {
    padding-left: 1.5vw;
}
#LifeInfo .area {
    display: none;
    opacity: 0;
    background: var(--Color2);
    width: 90%;
    padding-left: 5%;
    padding-right: 5%;
    margin-top: 3vw;
}

#LifeInfo .area .life_info_inner .life_map {width: 100%;}
.life_info.tb {
    margin-top: 4vw;
}
.life_info.pc {
    display: none;
}

}

/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {

#LifeInfo h2 {
    width: 90%;
    margin: auto;
    padding: 16vw 0 10vw;
	letter-spacing: 0;
}
#LifeInfo .tabs {
    padding-bottom: 16vw;
}
#LifeInfo ul.tab {
    display: block;
    height: auto;
    width: 90%;
    padding-left: 5%;
    padding-right: 5%;
    border-bottom: none;
}
#LifeInfo ul.tab li {
    width: 100%;
    height: 10vw;
    margin-bottom: 2.5vw;
    border: 1px solid var(--Color3);
    border-bottom: 1px solid var(--Color3);
    text-align: center;
    font-size: clamp(0.875rem, 0.461rem + 0.86vw, 1rem);
}
#LifeInfo ul.tab li a {
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    padding-left: 0;
}
#LifeInfo ul.tab li a br {
    display: none;
}
#LifeInfo ul.tab li a .sp {
    display: inline-block;
}
#LifeInfo ul.tab li a span span {
    font-size: 75%;
}
#LifeInfo ul.tab li.active {
    border-bottom: 1px solid var(--Color3);
}
#LifeInfo .area {
    display: none;
    opacity: 0;
    background: var(--Color2);
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-top: 8vw;
}
#LifeInfo .area.is-active {
    display: block;
    opacity: 1;
    animation-name: displayAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}
#LifeInfo .area .life_info_inner {
    display: block;
}

#LifeInfo .area .life_info_inner .life_info.pc {
    display: block;
	width: 90%;
    margin: 5vw auto 0 auto;
}

}















/* ----------------------- 横スクロール対応 ----------------------- */


.panoramaWrap{
	width: 100%;
	margin-left: auto;
	margin-right: auto;
    position: relative;
}
.slider {
	position: relative;
	width: 100%;
	height: 54vw;
	overflow: hidden;
}

.slider .box {
	position: absolute;
	top: 0;
	left: 0;
	width:180vw; /*  スライド範囲  */
	height:100%;
}
.slider .box:hover {
	cursor: grab;
}
.slider .box:active  {
	cursor: grabbing;
}

.slider .box img{
	width:auto;
	height:100%;
}
.slider .box img.viewimg{
	opacity: 0;
	transition: opacity .5s;
	position: absolute;
	top:0;left:0;
}
.slider .arrowl,
.slider .arrowr{
	position: absolute;
	top : 50% ;
	width : 34px ;
	cursor: pointer ;
	z-index : 6 ;
	transform: translateY(-50%);
}
.slider .arrowl{left : 10px;}
.slider .arrowr{right :10px ;}
.slider .arrowl:hover,
.slider .arrowr:hover{opacity: .7;}
.slider .arrowl img,
.slider .arrowr img{max-width: 100%;}

/* ---- */

.sliderWrap[data-time="daytime"] .box .daytime,
.sliderWrap[data-time="night"]   .box .night{opacity: 1;}


/* ----------------------- */
/* 1100*/
/* ----------------------- */
@media screen and (max-width: 1100px) {
}

/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {


.slider {
	width:100%;
	height: 15vh;
	padding-top:52%;
}

.slider .box{
	width:auto;
}

.slider .box img{
	width:auto;
	max-width: inherit;
	height:100%;
}

.sliderWrap .caption{
	text-align: left;
}

.slider .arrowl, .slider .arrowr{
	width:20px;
}

.panoramaWrap .annotation {
    position: absolute;
    bottom: 8%;
    right: 2%;
}

}

/* ----------------------- */

.scrollMark {
  position: absolute;
  bottom: 8%;
  left: 50%;
  transform: translateX(-50%);
  width: 150px;
  animation-name:scroll;
  animation-duration:2s;
  animation-timing-function:ease-in;
  animation-timing-function:ease-out;
  animation-iteration-count:infinite;
}

.scrollMark.scrollMarkRmv {
  display: none;
}

@keyframes scroll{
0%{opacity: 0;}
40%{opacity: 1;}
60%{opacity: 1;}
100%{opacity: 0;}
}


/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {
.scrollMark {
  width: 25%;
  bottom:3%;
}
}
