

h2 {
    font-family: var(--fontOrp);
    color: var(--Color4);
    font-size: 3.125rem;
}


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

#MainVisual {
    padding-top: 70px;
    position: relative;
}
#MainVisual figure {
    width: 100%;
    height: calc(100dvh - 70px);
    background-image: url(../images/access/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/access/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;
    line-height: 1.2;
}
.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;
}
.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: 5vw;
}
.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 {display: flex;width: calc(50vw + 493px);}
.left_img img {}
.left_img figure:not(:last-of-type) {margin-right: 0.3%;}


/* ----------------------- */
/* 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 {
    width: 90%;
    margin: 8vw auto;
}


}

/* ----------------------- */
/* 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: 96%;
    padding-top: 6vw;
    padding-bottom: 8vw;
    display: block;
}
.w1000.r500 {
    padding-top: 1.5vw;
}

/* -------- */
.left_img {
    width: 96%;
}

}




/*　-----------------------　POSITION　-----------------------　*/

#POSITION {
    padding-top: 40px;
}

.POSITION_content {
    display: flex;
    justify-content: space-between;
    padding-bottom: 7vw;
    flex-wrap: wrap;
    align-items: center;
}

.POSITION_content > figure {
    width: 58%;
}
.POSITION_content > div {
    width: 37.5%;
    padding-right: 2.5%;
    color: var(--Color4);
}
.POSITION_content h3 {
    margin-bottom: 1.2em;
}

.POSITION_content figcaption {
    text-align: center;
    display: inline-block;
    white-space: nowrap;
    position: absolute;
    bottom: 3%;
    left: 4%;
}
.POSITION_content figcaption img {
    width: 4vw;
    margin: auto;
}

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

.POSITION_content {
}


}
/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {
.POSITION_content > figure,
.POSITION_content > div {
    width: 100%;
    padding: 0 2.5%
}
.POSITION_content h3 {
    margin-top: 1em;
}
.POSITION_content figcaption img {
    width: 10vw;
}
}






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

.supplement {
    background-color: var(--Color5);
    padding: 40px 0;
}
.supplement > div {
    width: 1000px;
    margin: auto;
    display: flex;
    justify-content: space-between;
}
.supplement > div > div {
    width: 70.5%;
}

.supplement > div > figure {
    width: 27.2%;
}
.supplement > div > figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom right;
}
.supplement 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,
.supplement > div > figure {
    width: 100%;
}
.supplement > div > figure {
    margin-top: 1em;
}
}











#TRAIN .w1000.p1 figure{
    width: 100%;
}

#TRAIN .w1000.p1 .lb_cap.pc {
	left: 0;
}

/*　-----------------------　train_access　-----------------------　*/
.train_access,
.car_access {
    width: 1000px;
    margin: 80px auto;
}
.acc_h3 {
    border-bottom: 1px solid var(--Color1);
}
.acc_list {
    margin: 40px auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px 80px;
}

.acc_list li{
    width: 26%;
}

/* ----------------------- */
/* 1000*/
/* ----------------------- */
@media screen and (max-width: 1000px) {
.train_access,
.car_access {
    width: 90%;
    margin: 8vw auto;
}
.acc_list {
    margin: 4vw auto;
    gap: 3vw 2vw;
}
.acc_list li {
    width: 28vw;
}

}


/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {
.train_access,
.car_access {
    width: 90%;
    margin: 10vw auto;
}
.acc_list {
    margin: 5vw auto;
    gap: 4vw;
}
.acc_list li {
    width: calc(50% - 2vw);
}
figure figcaption.ann{
    bottom: -10.5vw;
    margin-bottom:5vw ;
}

}
