@charset "UTF-8";
/* =====================================================
▼ COLOR
===================================================== */
/*---------------------------------------------------------------------------*/
.key-visual { background: url(../img/location/location-kv.jpg) center center no-repeat; -moz-background-size: cover; background-size: cover; }

.section-location { background: #eeeeee; padding: 10rem 0; }

.section-location .section-title { margin-bottom: 3rem; }

@media screen and (max-width: 768px) { .section-location { padding: 16vw 0; }
  .section-location .section-title { margin-bottom: 8vw; } }

.head-txt { font-size: 1.6rem; text-align: center; margin-bottom: 3.5rem; }

@media screen and (max-width: 768px) { .head-txt { font-size: 3.46667vw; } }

.head-contact { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; background: #fff; max-width: 80rem; margin: 0 auto; }

.head-contact_img { line-height: 0; width: 50%; }

.head-contact_ctn { width: 50%; text-align: center; }

.head-contact_ctn h3 { font-size: 32px; line-height: 1.34375; letter-spacing: 0em; margin-bottom: 1rem; }

.head-contact_ctn a { display: inline-block; font-size: 41px; line-height: 1.04878; letter-spacing: 0em; color: #da0000; font-weight: bold; }

@media screen and (max-width: 768px) { .head-contact { display: block; }
  .head-contact_img { width: 100%; }
  .head-contact_img img { width: 100%; }
  .head-contact_ctn { width: 100%; padding: 5.33333vw; }
  .head-contact_ctn h3 { font-size: 6.4vw; margin-bottom: 2.66667vw; }
  .head-contact_ctn a { font-size: 8.53333vw; } }

.location-wrap { max-width: 88rem; margin: 10rem auto 6rem; }

@media screen and (max-width: 768px) { .location-wrap { margin: 16vw auto 10.66667vw; } }

.location-article + .location-article { margin-top: 7rem; }

@media screen and (max-width: 768px) { .location-article + .location-article { margin-top: 10.66667vw; } }

.location-article_title { font-size: 19px; line-height: 1.21053; letter-spacing: 0em; font-weight: bold; border-left: 4px solid #434343; padding: 0.5rem 0 0.5rem 1.7rem; margin-bottom: 2.5rem; }

@media screen and (max-width: 768px) { .location-article_title { font-size: 4.8vw; margin-bottom: 5.33333vw; padding: 1.33333vw 0 1.33333vw 2.66667vw; } }

@media screen and (min-width: 769px) { .location-article_list { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin: 0 0 0 -2.7rem; } }

.location-article_item { width: -webkit-calc(100%/3 - 2.7rem); width: -moz-calc(100%/3 - 2.7rem); width: calc(100%/3 - 2.7rem); margin: 0 0 0 2.7rem; background: #fff; -moz-border-radius: 1rem; border-radius: 1rem; text-align: center; }

@media screen and (max-width: 768px) { .location-article_item { width: 100%; margin: 0; }
  .location-article_item + .location-article_item { margin-top: 5.33333vw; } }

.location-article_item__title { font-size: 20px; line-height: 2.15; letter-spacing: 0em; font-weight: bold; background: #00a0e9; -moz-border-radius: 1rem 1rem 0 0; border-radius: 1rem 1rem 0 0; }

@media screen and (max-width: 768px) { .location-article_item__title { font-size: 4.8vw; } }

.location-article_item__content { padding: 2rem; }

@media screen and (max-width: 768px) { .location-article_item__content { padding: 5.33333vw; } }

.location-article_item__content__thumb { width: 100%; position: relative; margin-bottom: 1.2rem; line-height: 0; }

.location-article_item__content__thumb figure { width: 100%; height: 12rem; -moz-border-radius: 1rem; border-radius: 1rem; overflow: hidden; position: relative; }

.location-article_item__content__thumb figure img { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -webkit-transition: all .4s ease; -moz-transition: all .4s ease; transition: all .4s ease; }

.location-article_item__content__thumb span { display: inline-block; width: 3.6rem; height: 3.6rem; position: absolute; left: -0.8rem; top: -0.5rem; z-index: 2; }

@media screen and (max-width: 768px) { .location-article_item__content__thumb { margin-bottom: 2.66667vw; }
  .location-article_item__content__thumb figure { height: 33.33333vw; }
  .location-article_item__content__thumb figure img { width: 100%; }
  .location-article_item__content__thumb span { width: 8.53333vw; height: 8.53333vw; left: -2.13333vw; top: -1.33333vw; }
  .location-article_item__content__thumb span img { width: 100%; } }

.location-article_item__content__txt { font-size: 14px; line-height: 2.35714; letter-spacing: 0em; font-weight: bold; background: #00a0e9; -moz-border-radius: 1rem; border-radius: 1rem; }

@media screen and (max-width: 768px) { .location-article_item__content__txt { font-size: 3.2vw; } }

.location-article_item a { display: block; color: #fff; }

@media screen and (min-width: 769px) { .location-article_item a:hover .location-article_item__content__thumb figure img { -webkit-transform: translate(-50%, -50%) scale(1.03); -moz-transform: translate(-50%, -50%) scale(1.03); -ms-transform: translate(-50%, -50%) scale(1.03); transform: translate(-50%, -50%) scale(1.03); } }

.location-note { font-size: 17px; line-height: 1.64706; letter-spacing: 0em; font-weight: bold; text-align: center; }

@media screen and (max-width: 768px) { .location-note { font-size: 3.73333vw; text-align: left; } }

/** section-link **/
.section-link { padding: 10rem 0 12rem; }

@media screen and (min-width: 769px) { .section-link ul { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin: 0 0 0 -2.4rem; }
  .section-link ul li { width: -webkit-calc(100%/3 - 2.4rem); width: -moz-calc(100%/3 - 2.4rem); width: calc(100%/3 - 2.4rem); margin: 0 0 0 2.4rem; }
  .section-link ul li h3 { font-size: 2rem; margin-bottom: 1rem; }
  .section-link ul li a { display: inline-block; } }

@media screen and (max-width: 768px) { .section-link { padding: 13.33333vw 0 16vw; }
  .section-link ul { max-width: 82.66667vw; margin: 0 auto; }
  .section-link ul li + li { margin-top: 8vw; }
  .section-link ul li h3 { font-size: 4.26667vw; margin-bottom: 2.66667vw; }
  .section-link ul li img { width: 100%; } }
