html {
  font-size: 10px;
}

#contents * {
  font-family: "Noto Serif JP", serif;
  word-break: break-all;
  -moz-box-sizing: border-box;
       box-sizing: border-box;
}

#contents {
  color: #3e3a39;
  font-weight: 400;
}

.mv {
  background: url(../images/mv.jpg) no-repeat center/cover;
}

.intro_box:nth-of-type(1) {
  background: url(../images/intro_01.jpg) no-repeat top center/cover;
}

.intro_box:nth-of-type(2) {
  background: url(../images/intro_02.jpg) no-repeat top center/cover;
}

.intro_box:nth-of-type(3) {
  background: url(../images/intro_03.jpg) no-repeat top center/cover;
}

.intro_box:nth-of-type(4) {
  background: url(../images/intro_04.jpg) no-repeat top center/cover;
}

.intro_box:nth-of-type(5) {
  background: url(../images/intro_05.jpg) no-repeat top center/cover;
}

.gallery_list_content_item:nth-of-type(1) a {
  background: url(../images/gallery_01.jpg) no-repeat center/cover;
}

.gallery_list_content_item:nth-of-type(2) a {
  background: url(../images/gallery_02.jpg) no-repeat center/cover;
}

.gallery_list_content_item:nth-of-type(3) a {
  background: url(../images/gallery_03.jpg) no-repeat center/cover;
}

.gallery_list_content_item:nth-of-type(4) a {
  background: url(../images/gallery_04.jpg) no-repeat center/cover;
}

.gallery_list_content_item:nth-of-type(5) a {
  background: url(../images/gallery_05.jpg) no-repeat center/cover;
}

.gallery_list_content_item:nth-of-type(6) a {
  background: url(../images/gallery_06.jpg) no-repeat center/cover;
}

.gallery_list_content_item:nth-of-type(7) a {
  background: url(../images/gallery_07.jpg) no-repeat center/cover;
}

.gallery_list_content_item:nth-of-type(8) a {
  background: url(../images/gallery_08.jpg) no-repeat center/cover;
}

.gallery_list_content_item:nth-of-type(9) a {
  background: url(../images/gallery_09.jpg) no-repeat center/cover;
}

@media screen and (min-width: 769px), print {
  html.modal {
    height: 100%;
    overflow: hidden;
  }
  html.modal body {
    height: 100%;
    overflow: hidden;
  }
  html.modal body #container {
    height: 100%;
    position: relative;
  }
  html.fix {
    height: 100%;
  }
  html.fix body {
    height: 100%;
  }
  #contents {
    margin-bottom: 100px;
    min-width: 1258px;
  }
  .inner {
    width: 1258px;
  }
  .section_ttl {
    padding: 80px 0 38px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #000;
    font-weight: 500;
  }
  .section_ttl_01 {
    font-size: 5rem;
    letter-spacing: 5px;
  }
  .section_ttl_02 {
    font-size: 2.4rem;
    letter-spacing: 1px;
    margin-top: 14px;
  }
  /*--- mv -----------------------------------------------------------------------*/
  .mv {
    height: 47.5vw;
    position: relative;
  }
}

@media screen and (min-width: 769px) and (max-width: 1280px) {
  .mv {
    height: 608px;
  }
}

@media screen and (min-width: 769px), print {
  .mv_ttl {
    color: #fff;
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 1.3;
    position: absolute;
    bottom: 3.35714vw;
    left: 7.5vw;
  }
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .mv_ttl {
    bottom: 47px;
    left: 105px;
  }
}

@media screen and (min-width: 769px), print {
  /*--- ttl_area -----------------------------------------------------------------------*/
  .ttl-area {
    padding: 42px 0 54px;
  }
  .ttl-area .ttl-area_txt {
    line-height: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-weight: 400;
  }
  .ttl-area .ttl-area_txt_01 {
    font-size: 2.8rem;
    padding: 14px 24px;
    border: 1px solid #3e3a39;
  }
  .ttl-area .ttl-area_txt_02 {
    margin-left: 72px;
  }
  .ttl-area .ttl-area_txt_02 img {
    width: 280px;
  }
  /*--- nav-area -----------------------------------------------------------------------*/
  .nav-area {
    background: url(../images/nav-area_bg.png) repeat-x;
  }
  .nav-area_list {
    height: 140px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .nav-area_list_item {
    width: -webkit-calc(100% / 5);
    width: -moz-calc(100% / 5);
    width: calc(100% / 5);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
  }
  .nav-area_list_item::before {
    content: '';
    display: block;
    width: 1px;
    height: 100px;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    border-left: 1px solid #fff;
  }
  .nav-area_list_item:first-of-type::after {
    content: '';
    display: block;
    width: 1px;
    height: 100px;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    border-left: 1px solid #fff;
  }
  .nav-area_list_item a {
    color: #fff;
    will-change: opacity;
  }
  .nav-area_list_item a:hover {
    opacity: .55;
  }
  .nav-area_list_item_txt {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 100%;
  }
  .nav-area_list_item_txt_01 {
    font-size: 3rem;
  }
  .nav-area_list_item_txt_02 {
    font-size: 1.8rem;
    font-weight: 500;
    margin-top: 12px;
  }
  /*--- intro -----------------------------------------------------------------------*/
  .intro_box {
    width: 100%;
    height: 53.42857vw;
    min-height: 748px;
    position: relative;
  }
  .intro_box:not(:first-of-type) {
    margin-top: 100px;
  }
  .intro_box:nth-of-type(odd) .intro_box_card {
    right: 5.71429vw;
  }
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .intro_box:nth-of-type(odd) .intro_box_card {
    right: 80px;
  }
}

@media screen and (min-width: 769px), print {
  .intro_box:nth-of-type(even) .intro_box_card {
    left: 5.71429vw;
  }
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .intro_box:nth-of-type(even) .intro_box_card {
    left: 80px;
  }
}

@media screen and (min-width: 769px), print {
  .intro_box:nth-of-type(4) .intro_box_card_txt {
    margin-left: 60px;
  }
  .intro_box_card {
    background: rgba(255, 255, 255, 0.8);
    width: 460px;
    height: 500px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .intro_box_card_ttl {
    padding-bottom: 34px;
    position: relative;
  }
  .intro_box_card_ttl::after {
    content: '';
    display: block;
    width: 380px;
    height: 1px;
    background: #3e3a39;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
  .intro_box_card_ttl_01 {
    margin-top: 48px;
    font-size: 4rem;
    font-weight: 400;
    display: block;
    text-align: center;
    line-height: 1;
  }
  .intro_box_card_ttl_02 {
    margin-top: 36px;
    font-size: 2.4rem;
    font-weight: 500;
    display: block;
    text-align: center;
    line-height: 1.4;
  }
  .intro_box_card_ttl_02.row2 {
    margin-top: 16px;
  }
  .intro_box_card_txt {
    font-size: 2rem;
    font-weight: 500;
    line-height: 2;
    margin-top: 30px;
    margin-left: 40px;
  }
  /*--- plan -----------------------------------------------------------------------*/
  .plan .section_ttl {
    padding-bottom: 0;
  }
  .plan_list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .plan_list_item {
    width: 100%;
    padding: 0 26px;
  }
  .plan_list_item img {
    width: 100%;
  }
  /*--- panorama -----------------------------------------------------------------------*/
  .panorama .section_ttl {
    padding-top: 14px;
  }
  .panorama_view {
    width: 1260px;
    height: 748px;
    margin: 0 auto;
  }
  .panorama_view iframe {
    width: 100%;
    height: 100%;
  }
  /*--- gallery -----------------------------------------------------------------------*/
  .gallery_list_content {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .gallery_list_content_item {
    width: 376px;
    height: 251px;
  }
  .gallery_list_content_item:nth-of-type(n+4) {
    margin-top: 82px;
  }
  .gallery_list_content_item a {
    display: block;
    width: 100%;
    height: 100%;
  }
  /*--- info -----------------------------------------------------------------------*/
  .info_map-area_map {
    height: 730px;
  }
  .info_map-area_map iframe {
    height: 100%;
    width: 100%;
  }
  .info_map-area_link {
    text-align: center;
    margin-top: 38px;
  }
  .info_map-area_link a {
    will-change: opacity;
  }
  .info_map-area_link a:hover {
    opacity: .55;
  }
  .info_map-area_link_item {
    font-size: 1.8rem;
  }
  .info_address-area {
    margin-top: 84px;
    margin-left: 50px;
  }
  .info_address-area_ttl {
    font-size: 2.8rem;
    font-weight: 600;
  }
  .info_address-area_list {
    margin-top: 46px;
  }
  .info_address-area_list_item {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    line-height: 1.3;
  }
  .info_address-area_list_item:not(:first-of-type) {
    margin-top: 38px;
  }
  .info_address-area_list_item_ttl {
    font-size: 2.4rem;
    font-weight: 600;
    width: 200px;
    padding-right: 88px;
  }
  .info_address-area_list_item_txt {
    font-size: 2.4rem;
    width: -webkit-calc(100% - 200px);
    width: -moz-calc(100% - 200px);
    width: calc(100% - 200px);
  }
  /*--- contact -----------------------------------------------------------------------*/
  .contact .contact_list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 942px;
    margin: auto;
  }
  .contact .contact_list_item {
    color: #000;
    border: 1px solid #000;
    width: 464px;
    height: 120px;
    background-color: #fff;
  }
  .contact .contact_list_item.tel {
    pointer-events: none;
  }
  .contact .contact_list_item_txt {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
  }
  .contact .contact_list_item_txt_01 {
    display: block;
    font-size: 3.2rem;
    font-weight: 600;
    margin-top: 10px;
    letter-spacing: 2px;
  }
  .contact .contact_list_item_txt_02 {
    display: block;
    font-size: 2.4rem;
    margin-top: 8px;
  }
  /*--- fancybox -----------------------------------------------------------------------*/
  .fancybox-wrap {
    width: 100% !important;
    top: auto !important;
    left: auto !important;
    height: 100% !important;
  }
  .fancybox-wrap .fancybox-skin {
    padding: 0 !important;
    width: auto !important;
    height: 100% !important;
    background: transparent;
  }
  .fancybox-wrap .fancybox-inner {
    width: auto !important;
    height: auto !important;
  }
  .fancybox-wrap .fancybox-close:before, .fancybox-wrap .fancybox-close:after {
    -moz-box-shadow: 1px 0 10px rgba(0, 0, 0, 0.6);
         box-shadow: 1px 0 10px rgba(0, 0, 0, 0.6);
  }
  .fancybox-wrap .fancybox-prev,
  .fancybox-wrap .fancybox-next {
    width: 26px;
    height: 60px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    left: 20px;
  }
  .fancybox-wrap .fancybox-prev span,
  .fancybox-wrap .fancybox-next span {
    background: none;
    visibility: visible;
    display: block;
    width: 100%;
    height: 100%;
    left: 0;
  }
  .fancybox-wrap .fancybox-prev span:before, .fancybox-wrap .fancybox-prev span:after,
  .fancybox-wrap .fancybox-next span:before,
  .fancybox-wrap .fancybox-next span:after {
    content: "";
    display: block;
    width: 1px;
    height: 30px;
    background-color: #fff;
    display: block;
    position: absolute;
    left: 12px;
    -moz-box-shadow: 1px 0 10px rgba(0, 0, 0, 0.6);
         box-shadow: 1px 0 10px rgba(0, 0, 0, 0.6);
  }
  .fancybox-wrap .fancybox-prev span:before,
  .fancybox-wrap .fancybox-next span:before {
    -webkit-transform: rotate(-40deg);
       -moz-transform: rotate(-40deg);
        -ms-transform: rotate(-40deg);
            transform: rotate(-40deg);
    top: 22px;
  }
  .fancybox-wrap .fancybox-prev span:after,
  .fancybox-wrap .fancybox-next span:after {
    -webkit-transform: rotate(40deg);
       -moz-transform: rotate(40deg);
        -ms-transform: rotate(40deg);
            transform: rotate(40deg);
  }
  .fancybox-wrap .fancybox-next {
    right: 20px;
    left: auto;
  }
  .fancybox-wrap .fancybox-next span:before {
    -webkit-transform: rotate(40deg);
       -moz-transform: rotate(40deg);
        -ms-transform: rotate(40deg);
            transform: rotate(40deg);
    top: 22px;
  }
  .fancybox-wrap .fancybox-next span:after {
    -webkit-transform: rotate(-40deg);
       -moz-transform: rotate(-40deg);
        -ms-transform: rotate(-40deg);
            transform: rotate(-40deg);
  }
  .fancybox-wrap .fancybox-image, .fancybox-wrap .fancybox-iframe {
    margin: auto;
  }
  .fancybox-wrap .fancybox-outer {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
  }
  .fancybox-wrap .fancybox-image {
    opacity: 0;
  }
  .fancybox-wrap .fancybox-close {
    width: 46px;
    height: 46px;
    top: 22px;
    right: 22px;
    background: none;
    display: block;
  }
  .fancybox-wrap .fancybox-close:before, .fancybox-wrap .fancybox-close:after {
    left: 22px;
    top: -8px;
    content: "";
    display: block;
    width: 1px;
    height: 60px;
    background-color: #fff;
    display: block;
    position: absolute;
  }
  .fancybox-wrap .fancybox-close:before {
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .fancybox-wrap .fancybox-close:after {
    -webkit-transform: rotate(-45deg);
       -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .fancybox-wrap .fancybox-title-over-wrap {
    padding: 0;
    width: 100%;
    min-height: 100px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: left;
    background: rgba(0, 0, 0, 0.6);
  }
  .fancybox-wrap .fancybox-title-over-wrap::after {
    content: '';
    min-height: inherit;
    font-size: 0;
  }
  .fancybox-wrap .fancybox-title-over-wrap .fancybox-title-over-inner {
    padding: 20px 50px;
    white-space: pre-wrap;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 1.8;
  }
  footer #page_top {
    z-index: 8000;
  }
}

@media screen and (max-width: 768px) {
  html.modal {
    height: 100%;
    overflow: hidden;
  }
  html.modal body {
    height: 100%;
    overflow: hidden;
  }
  #contents {
    padding-top: 9.375vw;
  }
  .section_ttl {
    padding: 6.51042vw 0 7.8125vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #000;
    font-weight: 500;
    position: relative;
  }
  .section_ttl::before {
    content: '';
    display: block;
    width: 79.16667vw;
    height: 1px;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
  .section_ttl_01 {
    font-size: 6.38021vw;
    letter-spacing: 0.26042vw;
  }
  .section_ttl_02 {
    font-size: 3.125vw;
    margin-top: 4.94792vw;
  }
  /*--- mv -----------------------------------------------------------------------*/
  .mv {
    height: 74.07143vw;
    position: relative;
  }
  .mv_ttl {
    font-size: 4.16667vw;
    color: #fff;
    font-weight: 500;
    position: absolute;
    bottom: 4.42708vw;
    left: 8.33333vw;
  }
  /*--- ttl_area -----------------------------------------------------------------------*/
  .ttl-area {
    padding: 5.20833vw 0 6.77083vw;
  }
  .ttl-area .ttl-area_txt {
    line-height: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-weight: 400;
  }
  .ttl-area .ttl-area_txt_01 {
    font-size: 2.73438vw;
    padding: 1.5625vw 2.60417vw;
    border: 1px solid #3e3a39;
  }
  .ttl-area .ttl-area_txt_02 {
    margin-top: 6.77083vw;
  }
  .ttl-area .ttl-area_txt_02 img {
    width: 36.45833vw;
  }
  /*--- intro -----------------------------------------------------------------------*/
  .intro_box {
    width: 100%;
    padding-top: 53.38542vw;
    -moz-background-size: 100% auto !important;
         background-size: 100% auto !important;
    position: relative;
  }
  .intro_box_card {
    background: #fff;
    padding-bottom: 9.63542vw;
  }
  .intro_box_card_ttl_01 {
    font-size: 6.38021vw;
    font-weight: 400;
    display: block;
    text-align: center;
    line-height: 1.36;
    margin-top: 3.64583vw;
  }
  .intro_box_card_ttl_02 {
    font-size: 3.125vw;
    font-weight: 500;
    display: block;
    margin-top: 2.08333vw;
    text-align: center;
    line-height: 1.4;
  }
  .intro_box_card_txt {
    font-size: 2.86458vw;
    font-weight: 500;
    line-height: 1.8;
    margin-top: 3.90625vw;
    text-align: center;
  }
  /*--- plan -----------------------------------------------------------------------*/
  .plan {
    padding-bottom: 2.60417vw;
  }
  .plan .section_ttl {
    padding-bottom: 3.90625vw;
  }
  .plan_list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .plan_list_item {
    width: 100%;
  }
  .plan_list_item img {
    width: 100%;
  }
  /*--- panorama -----------------------------------------------------------------------*/
  .panorama {
    margin-bottom: 10.41667vw;
  }
  .panorama_view {
    width: 100%;
    height: 0;
    padding-bottom: 117.1875vw;
    position: relative;
    overflow: hidden;
  }
  .panorama_view iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  /*--- gallery -----------------------------------------------------------------------*/
  .gallery {
    padding-bottom: 10.41667vw;
  }
  .gallery .inner {
    width: -webkit-calc((48.04688vw * 2) + 1.30208vw);
    width: -moz-calc((48.04688vw * 2) + 1.30208vw);
    width: calc((48.04688vw * 2) + 1.30208vw);
  }
  .gallery_list_content {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .gallery_list_content_item {
    width: 48.04688vw;
    height: 48.04688vw;
  }
  .gallery_list_content_item:nth-of-type(n+3) {
    margin-top: 1.30208vw;
  }
  .gallery_list_content_item a {
    display: block;
    width: 100%;
    height: 100%;
  }
  /*--- info -----------------------------------------------------------------------*/
  .info {
    padding-bottom: 7.8125vw;
  }
  .info_map-area {
    width: -webkit-calc((48.04688vw * 2) + 1.30208vw);
    width: -moz-calc((48.04688vw * 2) + 1.30208vw);
    width: calc((48.04688vw * 2) + 1.30208vw);
    margin: auto;
  }
  .info_map-area_map {
    height: 97.65625vw;
  }
  .info_map-area_map iframe {
    height: 100%;
    width: 100%;
  }
  .info_map-area_link {
    text-align: center;
    margin-top: 3.38542vw;
  }
  .info_map-area_link_item {
    font-size: 2.34375vw;
  }
  .info_address-area {
    margin-top: 7.29167vw;
    padding-left: 1.30208vw;
  }
  .info_address-area_ttl {
    font-size: 3.125vw;
    text-align: center;
    font-weight: 600;
  }
  .info_address-area_list {
    margin-top: 5.98958vw;
    margin-left: 5.98958vw;
  }
  .info_address-area_list_item {
    margin: auto;
    width: 65.10417vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    line-height: 1.4;
  }
  .info_address-area_list_item:not(:first-of-type) {
    margin-top: 3.90625vw;
  }
  .info_address-area_list_item_ttl {
    font-weight: 600;
    font-size: 2.60417vw;
    width: 16.92708vw;
    padding-right: 3.90625vw;
  }
  .info_address-area_list_item_txt {
    font-size: 2.60417vw;
    width: -webkit-calc(100% - 16.92708vw);
    width: -moz-calc(100% - 16.92708vw);
    width: calc(100% - 16.92708vw);
  }
  /*--- contact -----------------------------------------------------------------------*/
  .contact {
    padding-bottom: 6.77083vw;
  }
  .contact .contact_list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 53.25521vw;
    margin: auto;
  }
  .contact .contact_list_item {
    color: #000;
    border: 1px solid #000;
    width: 100%;
    height: 16.66667vw;
    background-color: #fff;
  }
  .contact .contact_list_item_txt {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
  }
  .contact .contact_list_item_txt_01 {
    display: block;
    font-size: 3.90625vw;
    font-weight: 600;
    margin-top: 2.34375vw;
    letter-spacing: 0.52083vw;
  }
  .contact .contact_list_item_txt_02 {
    display: block;
    font-size: 2.99479vw;
    margin-top: 0.78125vw;
  }
  /*--- fancybox -----------------------------------------------------------------------*/
  .fancybox-wrap {
    width: 100% !important;
    height: 100% !important;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    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;
    position: relative;
    top: 0 !important;
    left: 0 !important;
    overflow: hidden;
  }
  .fancybox-wrap.modalImg_sp_horizontal {
    overflow-y: scroll;
    overflow-x: hidden;
  }
  .fancybox-wrap.modalImg_sp_horizontal .fancybox-inner {
    position: absolute;
    top: 0;
  }
  .fancybox-wrap .fancybox-skin {
    padding: 0 !important;
    width: 100% !important;
    height: 100% !important;
    position: static;
    background: transparent;
    -moz-box-shadow: 0 0 0 0;
         box-shadow: 0 0 0 0;
  }
  .fancybox-wrap .fancybox-outer {
    height: 100% !important;
    width: 100% !important;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .fancybox-wrap .fancybox-inner {
    height: auto !important;
    width: 100% !important;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .fancybox-wrap .fancybox-prev,
  .fancybox-wrap .fancybox-next {
    width: 26px;
    height: 45px;
    margin: auto 0;
    left: 20px;
    -webkit-transition: none !important;
    -moz-transition: none !important;
    transition: none !important;
    top: 0;
    bottom: 0;
  }
  .fancybox-wrap .fancybox-prev span,
  .fancybox-wrap .fancybox-next span {
    background: none;
    visibility: visible;
    display: block;
    width: 100%;
    height: 100%;
    left: 0;
  }
  .fancybox-wrap .fancybox-prev span:before, .fancybox-wrap .fancybox-prev span:after,
  .fancybox-wrap .fancybox-next span:before,
  .fancybox-wrap .fancybox-next span:after {
    content: "";
    display: block;
    width: 1px;
    height: 24px;
    background-color: #fff;
    display: block;
    position: absolute;
    left: 12px;
    -moz-box-shadow: 1px 0 10px rgba(0, 0, 0, 0.6);
         box-shadow: 1px 0 10px rgba(0, 0, 0, 0.6);
  }
  .fancybox-wrap .fancybox-prev span:before,
  .fancybox-wrap .fancybox-next span:before {
    -webkit-transform: rotate(-40deg);
       -moz-transform: rotate(-40deg);
        -ms-transform: rotate(-40deg);
            transform: rotate(-40deg);
    top: 18px;
  }
  .fancybox-wrap .fancybox-prev span:after,
  .fancybox-wrap .fancybox-next span:after {
    -webkit-transform: rotate(40deg);
       -moz-transform: rotate(40deg);
        -ms-transform: rotate(40deg);
            transform: rotate(40deg);
  }
  .fancybox-wrap .fancybox-next {
    right: 20px;
    left: auto;
  }
  .fancybox-wrap .fancybox-next span:before {
    -webkit-transform: rotate(40deg);
       -moz-transform: rotate(40deg);
        -ms-transform: rotate(40deg);
            transform: rotate(40deg);
    top: 18px;
  }
  .fancybox-wrap .fancybox-next span:after {
    -webkit-transform: rotate(-40deg);
       -moz-transform: rotate(-40deg);
        -ms-transform: rotate(-40deg);
            transform: rotate(-40deg);
  }
  .fancybox-wrap .fancybox-close {
    width: 36px;
    height: 36px;
    top: 10px;
    right: 10px;
    background: none;
    display: block;
  }
  .fancybox-wrap .fancybox-close:before, .fancybox-wrap .fancybox-close:after {
    left: 18px;
    top: -6px;
    content: "";
    display: block;
    width: 1px;
    height: 45px;
    background-color: #fff;
    display: block;
    position: absolute;
    -moz-box-shadow: 1px 0 10px rgba(0, 0, 0, 0.6);
         box-shadow: 1px 0 10px rgba(0, 0, 0, 0.6);
  }
  .fancybox-wrap .fancybox-close:before {
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .fancybox-wrap .fancybox-close:after {
    -webkit-transform: rotate(-45deg);
       -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .fancybox-wrap .fancybox-image {
    opacity: 0;
    -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
         box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
  }
  .fancybox-wrap .fancybox-title-over-wrap {
    opacity: 0;
    width: 100%;
    background: transparent;
    padding: 0;
  }
  .fancybox-wrap .fancybox-title-over-inner {
    background: rgba(0, 0, 0, 0.6);
    padding: 3.90625vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: left;
    white-space: pre-wrap;
    font-size: 3.125vw;
    line-height: 1.6;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
  }
}
