@charset "UTF-8";
/*******************************************************************************************************************
*
*　reset
*
*******************************************************************************************************************/
body {
  margin: 0;
  padding: 0;
}
body.overflow-hidden {
  overflow: hidden;
}

main *,
main *::before,
main *::after, header *,
header *::before,
header *::after, footer *,
footer *::before,
footer *::after {
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Helvetica", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  color: #B6B7B4;
  font-weight: 700;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
}
main article, main aside, main details, main figcaption, main figure, main footer, main header, main hgroup, main menu, main nav, main section, main main, header article, header aside, header details, header figcaption, header figure, header footer, header header, header hgroup, header menu, header nav, header section, header main, footer article, footer aside, footer details, footer figcaption, footer figure, footer footer, footer header, footer hgroup, footer menu, footer nav, footer section, footer main {
  display: block;
}
main ul, main li, header ul, header li, footer ul, footer li {
  list-style: none;
}
main blockquote, main q, header blockquote, header q, footer blockquote, footer q {
  quotes: none;
}
main blockquote::before, main blockquote::after, main q::before, main q::after, header blockquote::before, header blockquote::after, header q::before, header q::after, footer blockquote::before, footer blockquote::after, footer q::before, footer q::after {
  content: "";
  content: none;
}
main a, header a, footer a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  background: transparent;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  display: block;
  position: relative;
  z-index: 2;
  -webkit-transform: translateZ(1px);
          transform: translateZ(1px);
}
main address, header address, footer address {
  font-style: normal;
}
main ins, header ins, footer ins {
  color: #000;
  text-decoration: none;
}
main mark, header mark, footer mark {
  color: #000;
  font-style: italic;
  font-weight: bold;
}
main del, header del, footer del {
  text-decoration: line-through;
}
main table, header table, footer table {
  border-collapse: collapse;
  border-spacing: 0;
}
main hr, header hr, footer hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #444;
  margin: 1em 0;
  padding: 0;
}
main input, main select, header input, header select, footer input, footer select {
  vertical-align: middle;
}
main button, header button, footer button {
  margin: 0;
}
main a,
main a:link,
main a:visited, header a,
header a:link,
header a:visited, footer a,
footer a:link,
footer a:visited {
  text-decoration: none;
}
main img, header img, footer img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/*******************************************************************************************************************
*
* COMMON
*
*******************************************************************************************************************/
/*========================================== 
  Common (PC)
========================================== */
body {
  background: #2D2F33;
}

main .-tb,
main .-sp, header .-tb,
header .-sp, footer .-tb,
footer .-sp, .modaal_cont .-tb,
.modaal_cont .-sp {
  display: none !important;
}
main .-pc, header .-pc, footer .-pc, .modaal_cont .-pc {
  display: block !important;
}

/*========================================== 
  HEADER (PC)
========================================== */
header {
  background: url("../img/common/header_bg_parts.png") center repeat;
  position: relative;
}
header .wrap {
  max-width: 1280px;
  margin: auto;
}
header .header_wrap {
  background: url("../img/common/header_bg.png") center no-repeat;
  background-size: auto;
  height: 257px;
  padding: 90px 0 29px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
header .menu {
  background: #000;
  width: 100%;
  position: absolute;
  top: 100%;
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
header .menu.active {
  opacity: 1;
  visibility: inherit;
}
header .menu .wrap {
  padding: 48px 0;
}
header .menu ul {
  padding: 0 6.484375%;
}
header .menu li {
  margin-top: 28px;
}
header .menu li:first-of-type {
  margin: 0;
}
header .menu li a {
  font-size: 24px;
  font-weight: 500;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
header .menu li a:hover {
  opacity: 0.7;
}
header .openbtn {
  position: relative;
  cursor: pointer;
  width: 32px;
  height: 28px;
  border-radius: 5px;
  margin-left: 6.484375%;
}
header .openbtn span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  position: absolute;
  left: 0;
  height: 3px;
  background: #fff;
  width: 100%;
}
header .openbtn span:nth-of-type(1) {
  top: 0;
}
header .openbtn span:nth-of-type(2) {
  top: 12.5px;
}
header .openbtn span:nth-of-type(3) {
  top: 25px;
}
header .openbtn.active span:nth-of-type(1) {
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  width: 100%;
}
header .openbtn.active span:nth-of-type(2) {
  opacity: 0;
}
header .openbtn.active span:nth-of-type(3) {
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  width: 100%;
}
header .logo {
  position: absolute;
  bottom: 23px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 160px;
}
header .header_contact {
  width: 31.25%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
header .header_contact p {
  font-size: 16px;
}
header .header_contact a {
  margin-top: 12px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
header .header_contact a:hover {
  opacity: 0.7;
}
.sns {
  position: absolute;
  top: 278px;
  right: 0;
  z-index: 2;
}
.sns .sns_wrap a {
  width: 56px;
  height: 56px;
  background: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.sns .sns_wrap a img {
  width: 24px;
}
.sns .sns_wrap a:hover {
  background: #C70019;
}
.sns .sns_wrap a + a {
  margin-top: 16px;
}
.sns .sns_wrap.active {
  position: fixed;
  top: 10px;
  right: 0;
}

/*========================================== 
  MAIN (PC)
========================================== */
main {
  position: relative;
  z-index: 1;
  overflow-x: hidden;
}
main h2, main h3 {
  text-align: center;
}
main .wrap {
  max-width: 1000px;
  margin: auto;
  padding: 0 20px;
  position: relative;
}
main .h2_ttl {
  font-family: "Roboto", sans-serif;
  font-size: 32px;
  color: #B6B7B4;
  padding-bottom: 20px;
  border-bottom: solid 1px #B6B7B4;
}
main .h2_ttl span {
  display: inline !important;
}
main .btn {
  text-align: center;
}
main .btn a {
  font-family: "Roboto", sans-serif;
  font-size: 20px;
  padding: 10px 38px;
  min-height: 42px;
  border: solid 1px #B6B7B4;
  display: inline-block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
main .btn a:hover {
  color: #fff;
  background: #C70019;
}
main .shoplist {
  background: #2D2F33 url("../img/top/shoplist_bg.png") center center/cover no-repeat;
  padding: 65px 0 72px;
}
main .shoplist .shop_list {
  padding: 25px 5px 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
  border-bottom: solid 1px #B6B7B4;
}
main .shoplist .shop_list::after {
  content: "";
  width: 32.8421052632%;
}
main .shoplist .shop_list li {
  width: 32.8421052632%;
  margin-top: 40px;
}
main .shoplist .shop_list li:nth-of-type(1), main .shoplist .shop_list li:nth-of-type(2), main .shoplist .shop_list li:nth-of-type(3) {
  margin-top: 0;
}
main .shoplist .shop_list .modaal-btn {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
main .shoplist .shop_list .modaal-btn:hover {
  opacity: 0.6;
}
main .shoplist .shop_list .shop_img,
main .shoplist .shop_list .open {
  aspect-ratio: 312/312;
}
main .shoplist .shop_list .shop_img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
main .shoplist .shop_list .shop_name {
  font-size: 20px;
  color: #fff;
  text-align: center;
  margin-top: 16px;
}
main .shoplist .shop_list .open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #393C41;
}
main .shoplist .shop_list .open figure {
  width: 40.3846153846%;
}
main .shoplist .shop_list .open p {
  font-size: 20px;
  color: #fff;
  background: #C70019;
  display: inline-block;
  padding: 4px 12px;
  margin-top: 17px;
}
main .shoplist .btn {
  margin-top: 33px;
}
main .map iframe {
  width: 100%;
  display: block;
}
main .appeal a {
  background: url("../img/common/appeal_bg.png") center center/cover no-repeat;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
main .appeal a:hover {
  opacity: 0.7;
}
main .appeal .wrap {
  max-width: 1280px;
  margin: auto;
  position: relative;
}
main .appeal .wrap::before {
  content: "";
  width: 34px;
  height: 34px;
  background: url("../img/common/appeal_btn.png") center center/contain no-repeat;
  position: absolute;
  right: 32px;
  bottom: 24px;
}
main .appeal .inner {
  max-width: 1120px;
  margin: auto;
  padding: 32px 80px 28px;
}
main .appeal h2 {
  font-size: 24px;
  color: #fff;
}
main .appeal h2 span {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 48px;
  color: #fff;
  display: block;
  text-shadow: 0px 0px 8px rgba(115, 0, 0, .75);
}
main .appeal p {
  font-size: 24px;
  font-weight: 500;
  color: #fff;
  text-align: center;
  margin-top: 14px;
}
main .backTopWrap {
  max-width: 100%;
  margin: auto;
  width: 131px;
  position: fixed;
  bottom: 0;
  right: 10px;
  z-index: 9;
}
main .backTop {
  position: absolute;
  bottom: 10px;
  right: 10px;
  cursor: pointer;
  overflow: hidden;
  z-index: 10;
}
main .backTop a {
  height: 100%;
  width: 100%;
}

.modaal-wrapper {
  background: rgba(57, 60, 65, .5) url("../../img/top/modal_bg.png") center center/cover repeat;
}

.modaal-inner-wrapper {
  padding-top: 0;
  padding-bottom: 60px;
}

.modaal-container {
  background: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  max-width: 960px;
}

.modaal-content-container {
  padding: 0;
}

.modaal_wrap {
  padding-top: 60px;
}

.modaal_cont {
  background: #000;
  border-radius: 8px;
  padding: 8px;
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Helvetica", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 700;
  color: #B6B7B4;
  -webkit-box-shadow: 0 4px 15px rgba(0, 0, 0, .2);
          box-shadow: 0 4px 15px rgba(0, 0, 0, .2);
}
.modaal_cont * {
  margin: 0;
  padding: 0;
}
.modaal_cont .modaal_inner {
  border-radius: 8px;
  border: solid 1px #2D2F33;
  padding: 32px 30px;
}
.modaal_cont h3 {
  font-size: 32px;
  font-weight: 500;
}
.modaal_cont tr {
  margin-top: 20px;
  display: block;
}
.modaal_cont p, .modaal_cont th, .modaal_cont td {
  font-size: 20px;
}
.modaal_cont th {
  color: #fff;
  vertical-align: top;
  width: 100px;
}
.modaal_cont .img_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 10px;
}
.modaal_cont .img_wrap figure {
  width: 48.8636363636%;
  margin-top: 20px;
}
.modaal_cont .img_wrap figure img {
  width: 100%;
}
.modaal_cont .map {
  margin-top: 30px;
}
.modaal_cont .map iframe {
  width: 100%;
}

.modaal-close {
  position: absolute;
  right: 0;
  top: 10px;
}

.modaal-close:after, .modaal-close:before {
  top: 50%;
  left: 50%;
  height: 34px;
}

.modaal-close:focus, .modaal-close:hover {
  background: none;
  border-radius: 0;
}

.modaal-close:focus:after, .modaal-close:focus:before, .modaal-close:hover:after, .modaal-close:hover:before {
  background: #fff;
}

.modaal-close:before {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}

.modaal-close:after {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.modaal-backstory_inner .heading {
  position: relative;
  padding-right: 130px;
}
.modaal-backstory_inner .heading p {
  font-size: 32px;
}
.modaal-backstory_inner h3 {
  max-width: 584px;
}
.modaal-backstory_inner img {
  width: 100%;
  vertical-align: bottom;
}
.modaal-backstory_inner .logo {
  width: 12.7272727273%;
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
}
.modaal-backstory_inner p, .modaal-backstory_inner figure {
  margin-top: 25px;
}

/*========================================== 
  FOOTER (PC)
========================================== */
footer {
  padding: 44px 0 20px;
  background: #393C41;
}
footer .wrap {
  max-width: 1160px;
  padding: 0 20px;
  margin: auto;
}
footer .inner {
  max-width: 750px;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
footer .logo_wrap {
  width: 50.4%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
footer .footer_logo {
  width: 42.8571428571%;
}
footer .footer_heaven {
  width: 44.1798941799%;
  position: relative;
}
footer .footer_heaven::before {
  content: "";
  background: #B6B7B4;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 50%;
  left: -24px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
footer .company {
  width: 42.6666666667%;
}
footer .company p {
  font-size: 16px;
  line-height: 1.5;
}
footer .copyright {
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  margin-top: 36px;
  padding-top: 20px;
  border-top: solid 1px #B6B7B4;
}
/*******************************************************************************************************************
*
* TEASER
*
*******************************************************************************************************************/
#teaser {
  padding: 133px 0 0;
}
#teaser h1 {
  width: 298px;
  margin: auto;
}
#teaser .inner {
  max-width: 840px;
  margin: auto;
  padding: 0 20px;
}
#teaser .txt_img {
  width: 368px;
  margin: 32px auto 0;
}
#teaser p {
  text-align: center;
}
#teaser .txt01 {
  font-size: 32px;
  line-height: 1.43;
  color: #fff;
  margin-top: 32px;
}
#teaser .txt02 {
  font-size: 72px;
  line-height: 1.44;
  color: #fff;
  margin-top: 10px;
}
#teaser .date {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 80px;
  color: #fff;
  margin-top: 37px;
}
#teaser .txt03 {
  font-family: "Roboto", sans-serif;
  font-size: 40px;
  color: #fff;
}
#teaser .txt04 {
  font-family: "Roboto", sans-serif;
  font-size: 24px;
  margin-top: 27px;
}
#teaser .txt05 {
  font-size: 20px;
  line-height: 1.4;
  text-align: left;
  margin-top: 28px;
}
#teaser .insta {
  padding: 34px 0;
  margin-top: 30px;
  border-top: solid 1px #B6B7B4;
  border-bottom: solid 1px #B6B7B4;
  text-align: center;
}
#teaser .insta .insta_txt {
  font-family: "Roboto", sans-serif;
  font-size: 24px;
  position: relative;
}
#teaser .insta .insta_icon {
  display: block;
  position: absolute;
  width: 36px;
  height: 36px;
  top: 50%;
  right: -56px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#teaser figure {
  margin-top: 55px;
}
#teaser figure + figure {
  margin: 0;
}
/*******************************************************************************************************************
*
* TOP
*
*******************************************************************************************************************/
#top .mv img {
  max-width: 100%;
  max-height: 100%;
}
#top .mv .swiper-slide img {
  width: 100%;
  height: auto;
}
#top .mv .swiper-button-next, #top .mv .swiper-rtl .swiper-button-prev {
  right: 18%;
}
#top .mv .swiper-button-prev, #top .mv .swiper-rtl .swiper-button-next {
  left: 18%;
}
#top .mv .swiper-button-next, #top .mv .swiper-button-prev {
  width: 28px;
  height: 28px;
  border-radius: 100%;
  background: #2D2F33;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#top .mv .swiper-button-next:hover, #top .mv .swiper-button-prev:hover {
  background: #C70019;
}
#top .mv .swiper-button-prev,
#top .mv .swiper-button-next {
  display: inline-block;
}
#top .mv .swiper-button-prev {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
#top .mv .swiper-button-prev::after,
#top .mv .swiper-button-next::after {
  content: "";
  width: 10px;
  height: 10px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  top: 0;
  left: 7px;
  bottom: 0;
  margin: auto;
}
#top .lead {
  background: #393C41 url("../img/top/lead_bg.png") center center/contain repeat;
  position: relative;
}
#top .lead::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 8px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(57, 60, 65, .2)), to(rgba(57, 60, 65, 0)));
  background: linear-gradient(180deg, rgba(57, 60, 65, .2) 0%, rgba(57, 60, 65, 0) 100%);
}
#top .lead .wrap {
  max-width: 1025px;
  margin: auto;
  padding: 0 40px;
}
#top .lead .inner {
  max-width: 920px;
  margin: auto;
  background: #393C41;
  padding: 30px 6.5217391304% 47px;
}
#top .lead h2 {
  width: 368px;
  margin: auto;
}
#top .lead .txt01 {
  font-family: "Roboto", sans-serif;
  font-size: 24px;
  text-align: center;
  margin-top: 27px;
}
#top .lead .txt02 {
  font-size: 20px;
  margin-top: 21px;
}
#top .lead .txt03 {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  color: #828282;
  line-height: 1.5;
  margin-top: 16px;
}
#top .lead a {
  margin-top: 30px;
}
#top .service {
  background: #F2F2F2;
  padding: 60px 0 80px;
}
#top .service .detail {
  margin-top: 40px;
  text-align: center;
}
#top .service .detail h3 {
  font-size: 24px;
  color: #2D2F33;
  display: inline-block;
  position: relative;
}
#top .service .detail h3 span {
  font-family: "Roboto", sans-serif;
  font-size: 48px;
  color: #2D2F33;
  font-weight: 500;
  display: block;
  margin-bottom: 9px;
}
#top .service .detail h3::before, #top .service .detail h3::after {
  content: "";
  width: 19.5918367347%;
  height: 93px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#top .service .detail h3::before {
  background: url("../img/top/service_icon01.png") center center/contain no-repeat;
  left: -24.4897959184%;
}
#top .service .detail h3::after {
  background: url("../img/top/service_icon02.png") center center/contain no-repeat;
  right: -24.4897959184%;
}
#top .service .detail .service_card {
  margin-top: 44px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#top .service .detail .service_card figure {
  width: 50%;
}
#top .service .detail .service_card .service_card_body {
  width: 45.4166666667%;
  text-align: left;
}
#top .service .detail .service_card dt, #top .service .detail .service_card dd {
  color: #C70019;
}
#top .service .detail .service_card dt {
  font-size: 20px;
}
#top .service .detail .service_card dd {
  font-size: 32px;
  font-weight: 900;
  margin-top: 16px;
}
#top .service .detail .service_card p {
  font-size: 16px;
  line-height: 1.5;
  color: #2D2F33;
  margin-top: 16px;
}
#top .service .detail .service_card.reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
#top .service .detail .service_card + .service_card {
  margin-top: 70px;
}
#top .service .payment {
  margin-top: 48px;
}
#top .service .payment h3 {
  font-family: "Roboto", sans-serif;
  font-size: 32px;
  position: relative;
}
#top .service .payment h3::before, #top .service .payment h3::after {
  content: "";
  width: 40%;
  height: 1px;
  background: #B6B7B4;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#top .service .payment h3::before {
  left: 0;
}
#top .service .payment h3::after {
  right: 0;
}
#top .service .payment .payment_card {
  background: #B6B7B4;
  border-radius: 8px;
  margin-top: 14px;
  padding: 48px 6.1458333333%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#top .service .payment .payment_card figure {
  width: 34.4418052257%;
}
#top .service .payment .payment_card .payment_card_body {
  width: 64.1330166271%;
}
#top .service .payment .payment_card p {
  font-size: 24px;
  line-height: 1.58;
  color: #2D2F33;
}
#top .service .payment .payment_card .sup {
  font-size: 16px;
  line-height: 1.5;
  color: #fff;
  margin-top: 9px;
}
/*******************************************************************************************************************
*
* SHOP
*
*******************************************************************************************************************/
#shop .shoplist {
  padding-bottom: 48px;
}
#shop .shoplist .shop_list {
  border: none;
}
#shop .shoplist .shoplist_box {
  margin-top: 23px;
}
#shop .shoplist .shoplist_box h3 {
  font-size: 32px;
  font-weight: 500;
}
#shop .shoplist .shoplist_box + .shoplist_box {
  margin-top: 16px;
}
/*******************************************************************************************************************
*
* FORM
*
*******************************************************************************************************************/
#form .form_cont {
  padding: 60px 0 80px;
}
#form h2 + p {
  color: #fff;
  line-height: 1.5;
  margin-top: 22px;
}
#form .form_box {
  background: #fff;
  border-radius: 8px;
  -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, .5);
          box-shadow: 0px 0px 8px rgba(0, 0, 0, .5);
  margin-top: 42px;
  padding: 47px 20px 40px;
}
#form .form_inner {
  max-width: 800px;
  margin: auto;
}
#form .form_txt {
  font-weight: 500;
  color: #1c1c1c;
}
#form form {
  margin-top: 32px;
}
#form form .form_item {
  padding: 40px 0;
  border-top: solid 1px #B6B7B4;
}
#form form dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#form form .contact_detail {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
#form form dt {
  width: 286px;
}
#form form dt p {
  font-size: 20px;
  font-weight: 500;
  color: #1C1C1C;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#form form dt .required {
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  background: #C70019;
  padding: 3px 17px;
  border-radius: 8px;
}
#form form dd {
  width: calc(100% - 340px);
}
#form form .sup {
  font-size: 16px;
  font-weight: 500;
  color: #1C1C1C;
  margin-top: 10px;
}
#form form .name dl + dl {
  margin-top: 24px;
}
#form form .name_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#form form .name_item dl {
  width: 48%;
}
#form form .name_item dl + dl {
  margin-top: 0;
}
#form form .name_item dt {
  width: 40px;
}
#form form .name_item dt p {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
#form form .name_item dd {
  width: calc(100% - 60px);
}
#form form input, #form form textarea {
  width: 100%;
  min-height: 44px;
  border: solid 1px #B6B7B4;
  padding: 0 10px;
  color: #1c1c1c;
  font-weight: 500;
}
#form form textarea {
  resize: vertical;
  padding: 10px;
}
#form form input[type=checkbox] {
  width: 20px;
}
#form form .optional {
  display: none;
}
#form form .check_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#form form .check_box .explan_txt {
  font-size: 16px;
  font-weight: 500;
  color: #1c1c1c;
  width: calc(100% - 36px);
}
#form form .submit_btn {
  padding-top: 40px;
  border-top: solid 1px #B6B7B4;
}
#form form .submit_btn p {
  width: 160px;
  margin: auto;
}
#form form .submit_btn input[type=submit] {
  font-size: 20px;
  font-weight: 500;
  color: #C70019;
  background: #fff;
  border-color: #C70019;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#form form .submit_btn input[type=submit]:disabled {
  opacity: .5;
}
#form form .submit_btn input[type=submit]:hover {
  color: #fff;
  background: #C70019;
}
/*******************************************************************************************************************
*
* COMPANY
*
*******************************************************************************************************************/
#company .company_cont {
  padding: 60px 0 120px;
}
#company .heave_logo {
  width: 286px;
  margin: 32px auto 0;
}
#company table {
  margin-top: 32px;
  border-top: solid 1px #B6B7B4;
  width: 100%;
}
#company tbody {
  display: block;
  width: 100%;
}
#company tr {
  display: block;
  padding: 24px 0;
  border-bottom: solid 1px rgba(182, 183, 180, .3);
}
#company tr:last-of-type {
  border: none;
}
#company th {
  width: 80px;
  font-weight: 500;
  text-align: left;
}
#company td {
  padding-left: 36px;
  font-weight: 400;
}
#company td p, #company td li {
  font-weight: 400;
}
#company .location {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#company .location td {
  padding-left: 0;
  margin-top: 14px;
}
#company .location .map {
  margin-top: 14px;
}
@media screen and (min-width: 768px) and (max-width: 980px) {
  header .header_contact p {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  /*========================================== 
    Common (SP)
  ========================================== */
  main .-pc,
  main .-tb, header .-pc,
  header .-tb, footer .-pc,
  footer .-tb, .modaal_cont .-pc,
  .modaal_cont .-tb {
    display: none !important;
  }
  main .-sp, header .-sp, footer .-sp, .modaal_cont .-sp {
    display: block !important;
  }
  main img, header img, footer img, .modaal_cont img {
    width: 100%;
    height: auto;
  }
  main a:hover, header a:hover, footer a:hover, .modaal_cont a:hover {
    opacity: 1;
  }
  /*========================================== 
    HEADER (SP)
  ========================================== */
  header {
    position: fixed;
    top: 0;
    left: 0;
    background: none;
    width: 100%;
    z-index: 10;
  }
  header .header_wrap {
    background: url("../img/common/header_bg-sp.png") center no-repeat;
    background-size: cover;
    height: 13.3333333333vw;
    padding: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  header .menu .wrap {
    padding: 12vw 0;
  }
  header .menu ul {
    padding: 0 10.1333333333vw;
  }
  header .menu li {
    margin-top: 4.5333333333vw;
  }
  header .menu li a {
    font-size: 4.2666666667vw;
  }
  header .menu li a:hover {
    opacity: 1;
  }
  header .openbtn {
    width: 5.8666666667vw;
    height: 5.3333333333vw;
    border-radius: 0;
    margin: 0 4vw 1.8666666667vw 0;
  }
  header .openbtn span {
    height: 0.8vw;
    background: #B6B7B4;
  }
  header .openbtn span:nth-of-type(1) {
    top: 0;
  }
  header .openbtn span:nth-of-type(2) {
    top: 2.1333333333vw;
  }
  header .openbtn span:nth-of-type(3) {
    top: 4.5333333333vw;
  }
  header .logo {
    bottom: 1.8666666667vw;
    width: 16.8vw;
  }
  header .header_contact {
    width: 100%;
  }
  header .header_contact p {
    font-size: 3.7333333333vw;
    font-weight: 500;
    line-height: 1.5;
    padding: 1.3333333333vw 10.6666666667vw;
    background: -webkit-gradient(linear, left bottom, left top, from(#393C41), to(#61656B));
    background: linear-gradient(0deg, #393C41 0%, #61656B 100%);
  }
  header .header_contact a {
    margin-top: 0;
  }
  header .header_contact a:hover {
    opacity: 1;
  }
  .sns {
    top: 24vw;
  }
  .sns .sns_wrap a {
    width: 10.1333333333vw;
    height: 10.1333333333vw;
  }
  .sns .sns_wrap a img {
    width: 4.2666666667vw;
  }
  .sns .sns_wrap a:hover {
    background: #000;
  }
  .sns .sns_wrap a + a {
    margin-top: 2.9333333333vw;
  }
  .sns .sns_wrap.active {
    top: 24vw;
  }
  .sns.top {
    top: 116.2666666667vw;
  }
  .sns.shop {
    top: 56.5333333333vw;
  }
  /*========================================== 
    MAIN (SP)
  ========================================== */
  main {
    max-width: 100%;
    margin: auto;
    padding-top: 13.3333333333vw;
  }
  main .wrap {
    padding: 0 10.1333333333vw;
  }
  main .h2_ttl {
    font-size: 7.2vw;
    padding-bottom: 3.7333333333vw;
  }
  main .h2_ttl span {
    font-size: 5.3333333333vw;
  }
  main .btn a {
    font-size: 4vw;
    padding: 1.8666666667vw 7.4666666667vw;
    min-height: 8.2666666667vw;
  }
  main .contact_box p {
    font-size: 3.7333333333vw;
    font-weight: 500;
    line-height: 1.5;
    padding: 1.3333333333vw 10.6666666667vw;
    background: -webkit-gradient(linear, left bottom, left top, from(#393C41), to(#61656B));
    background: linear-gradient(0deg, #393C41 0%, #61656B 100%);
  }
  main .shoplist {
    background: #2D2F33 url("../img/top/shoplist_bg-sp.png") center center/cover no-repeat;
    padding: 13.3333333333vw 0 12vw;
  }
  main .shoplist .shop_list {
    padding: 14.4vw 0 0;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    border: none;
    display: block;
  }
  main .shoplist .shop_list::after {
    content: none;
  }
  main .shoplist .shop_list li {
    width: 100%;
    margin-top: 3.7333333333vw;
  }
  main .shoplist .shop_list li:nth-of-type(1) {
    margin-top: 0;
  }
  main .shoplist .shop_list li:nth-of-type(2), main .shoplist .shop_list li:nth-of-type(3) {
    margin-top: 3.7333333333vw;
  }
  main .shoplist .shop_list .card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  main .shoplist .shop_list .shop_img {
    width: 36.5333333333vw;
    height: 36.5333333333vw;
  }
  main .shoplist .shop_list .shop_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  main .shoplist .shop_list .shop_name {
    width: calc(100% - 36.53333vw);
    font-size: 4.2666666667vw;
    text-align: left;
    margin-top: 0;
    padding: 2.6666666667vw;
    background: -webkit-gradient(linear, left bottom, left top, from(#393C41), to(#61656B));
    background: linear-gradient(0deg, #393C41 0%, #61656B 100%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  main .shoplist .shop_list .open {
    width: 36.5333333333vw;
    height: 36.5333333333vw;
  }
  main .shoplist .shop_list .open figure {
    width: 14.6666666667vw;
  }
  main .shoplist .shop_list .open p {
    font-size: 2.1333333333vw;
    padding: 0.8vw 1.3333333333vw;
    margin-top: 1.8666666667vw;
  }
  main .shoplist .btn {
    margin-top: 12.2666666667vw;
  }
  main .map iframe {
    height: 73.6vw;
  }
  main .appeal .wrap::before {
    width: 8.2666666667vw;
    height: 8.2666666667vw;
    right: 2.1333333333vw;
    bottom: 2.1333333333vw;
  }
  main .appeal .inner {
    max-width: 100%;
    padding: 2.6666666667vw 0;
  }
  main .appeal h2 {
    font-size: 4vw;
    text-align: left;
  }
  main .appeal h2 span {
    font-size: 8vw;
  }
  main .appeal p {
    display: none;
  }
  main .backTopWrap {
    width: 13.3333333333vw;
    right: 1.3020833333vw;
  }
  main .backTop {
    position: absolute;
    bottom: 0;
    right: 0;
    cursor: pointer;
    overflow: hidden;
    z-index: 10;
  }
  main .backTop a {
    height: 100%;
    width: 100%;
  }
  .modaal-inner-wrapper {
    padding: 0 9.8666666667vw 16vw;
  }
  .modaal_wrap {
    padding-top: 16vw;
  }
  .modaal_cont {
    padding: 0;
  }
  .modaal_cont .modaal_inner {
    border-radius: 2.1333333333vw;
    padding: 8vw 0 12.5333333333vw;
    border: none;
  }
  .modaal_cont h3 {
    font-size: 6.4vw;
    padding: 0 4vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .modaal_cont table {
    padding: 0 9.6vw;
  }
  .modaal_cont tr {
    margin-top: 8vw;
  }
  .modaal_cont tr:first-of-type {
    margin-top: 6.4vw;
  }
  .modaal_cont th {
    font-size: 4.8vw;
  }
  .modaal_cont p, .modaal_cont td {
    font-size: 3.7333333333vw;
  }
  .modaal_cont th {
    width: 100%;
    display: block;
  }
  .modaal_cont td {
    margin-top: 2.1333333333vw;
    display: block;
  }
  .modaal_cont .img_wrap {
    margin-top: 6.9333333333vw;
  }
  .modaal_cont .img_wrap figure {
    width: 100%;
    margin-top: 3.7333333333vw;
  }
  .modaal_cont .map {
    margin-top: 10.6666666667vw;
  }
  .modaal_cont .map iframe {
    height: 34.6666666667vw;
  }
  .modaal-close {
    top: 2.6666666667vw;
  }
  .modaal-close:after, .modaal-close:before {
    height: 9.0666666667vw;
  }
  .modaal-backstory_inner .heading {
    padding: 0 10.6666666667vw;
  }
  .modaal-backstory_inner .heading h3 {
    max-width: 100%;
    padding: 0;
    margin-top: 8.5333333333vw;
  }
  .modaal-backstory_inner .heading p {
    font-size: 3.7333333333vw;
    margin-top: 3.7333333333vw;
    padding: 0;
  }
  .modaal-backstory_inner .logo {
    width: 14.1333333333vw;
    position: relative;
    margin: auto;
  }
  .modaal-backstory_inner .heading + figure {
    margin-top: 6.1333333333vw;
  }
  .modaal-backstory_inner figure {
    margin-top: 13.3333333333vw;
  }
  .modaal-backstory_inner p {
    font-size: 3.7333333333vw;
    margin-top: 8.8vw;
    padding: 0 10.6666666667vw;
  }
  /*========================================== 
    FOOTER (SP)
  ========================================== */
  footer {
    padding: 4.5333333333vw 0 6.4vw;
  }
  footer .wrap {
    max-width: 100%;
    padding: 0 4.2666666667vw;
  }
  footer .inner {
    max-width: 100%;
    display: block;
  }
  footer .logo_wrap {
    width: 100%;
  }
  footer .footer_logo {
    width: 39.2vw;
  }
  footer .footer_heaven {
    width: 40.5333333333vw;
  }
  footer .footer_heaven::before {
    left: -5.8666666667vw;
  }
  footer .company {
    margin-top: 6.4vw;
    width: 100%;
  }
  footer .company p {
    font-size: 4.2666666667vw;
  }
  footer .copyright {
    font-size: 4.2666666667vw;
    margin-top: 6.4vw;
    padding-top: 5.3333333333vw;
  }
  #teaser {
    padding: 14.9333333333vw 0 0;
  }
  #teaser h1 {
    width: 48.5333333333vw;
  }
  #teaser .inner {
    max-width: 100%;
    padding: 0 4.2666666667vw;
  }
  #teaser .txt_img {
    width: 85.3333333333vw;
    margin: 11.4666666667vw auto 0;
  }
  #teaser .txt01 {
    font-size: 6.4vw;
    margin-top: 14.4vw;
  }
  #teaser .txt02 {
    font-size: 8.5333333333vw;
    margin-top: 7.2vw;
  }
  #teaser .date {
    font-size: 21.3333333333vw;
    margin-top: 11.4666666667vw;
  }
  #teaser .txt03 {
    font-size: 6.4vw;
  }
  #teaser .txt04 {
    font-size: 6.4vw;
    margin-top: 7.4666666667vw;
  }
  #teaser .txt05 {
    font-size: 5.3333333333vw;
    margin-top: 4.5333333333vw;
  }
  #teaser .insta {
    padding: 6.4vw 0;
    margin-top: 11.7333333333vw;
  }
  #teaser .insta .insta_txt {
    font-size: 6.4vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #teaser .insta .insta_icon {
    position: relative;
    width: 9.6vw;
    height: 9.6vw;
    top: 0;
    right: 0;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    margin-top: 2.6666666667vw;
  }
  #teaser figure {
    margin-top: 11.7333333333vw;
  }
  #top .mv .swiper-button-next, #top .mv .swiper-rtl .swiper-button-prev {
    right: 2.6666666667vw;
  }
  #top .mv .swiper-button-prev, #top .mv .swiper-rtl .swiper-button-next {
    left: 2.6666666667vw;
  }
  #top .mv .swiper-button-next, #top .mv .swiper-button-prev {
    width: 7.4666666667vw;
    height: 7.4666666667vw;
  }
  #top .mv .swiper-button-prev::after,
  #top .mv .swiper-button-next::after {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
    left: 1.8666666667vw;
  }
  #top .mv .swiper-slide {
    height: 128vw;
  }
  #top .mv .swiper-slide img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #top .mv .swiper-button-next:hover, #top .mv #top .mv .swiper-button-prev:hover {
    background: #2D2F33;
  }
  #top .lead {
    background-size: 33.0666666667vw;
  }
  #top .lead::before {
    left: 50%;
    bottom: -8px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
    height: 8px;
  }
  #top .lead .wrap {
    padding: 18.4vw 0;
  }
  #top .lead .inner {
    padding: 10.6666666667vw 10.6666666667vw 12vw;
  }
  #top .lead h2 {
    width: 53.8666666667vw;
  }
  #top .lead .txt01 {
    font-size: 3.4666666667vw;
    margin-top: 8.8vw;
  }
  #top .lead .txt02 {
    font-size: 2.9333333333vw;
    margin-top: 6.1333333333vw;
    text-align: center;
  }
  #top .lead .txt03 {
    font-size: 2.4vw;
    margin-top: 14.4vw;
  }
  #top .lead a {
    margin-top: 12.2666666667vw;
  }
  #top .service {
    padding: 12.2666666667vw 0;
  }
  #top .service .detail {
    margin-top: 9.8666666667vw;
  }
  #top .service .detail h3 {
    font-size: 3.7333333333vw;
  }
  #top .service .detail h3 span {
    font-size: 8.5333333333vw;
    margin-bottom: 5.3333333333vw;
  }
  #top .service .detail h3::before, #top .service .detail h3::after {
    width: 19.2vw;
    height: 19.2vw;
    top: -4.2666666667vw;
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  #top .service .detail h3::before {
    left: -21.3333333333vw;
  }
  #top .service .detail h3::after {
    right: -21.3333333333vw;
  }
  #top .service .detail .service_card {
    margin-top: 13.3333333333vw;
    display: block;
  }
  #top .service .detail .service_card figure {
    width: 100%;
  }
  #top .service .detail .service_card .service_card_body {
    width: 100%;
    margin-top: 5.3333333333vw;
  }
  #top .service .detail .service_card dt {
    font-size: 4.2666666667vw;
  }
  #top .service .detail .service_card dd {
    font-size: 7.4666666667vw;
    margin-top: 4.2666666667vw;
  }
  #top .service .detail .service_card p {
    font-size: 3.7333333333vw;
    line-height: 1.7;
    margin-top: 4.2666666667vw;
  }
  #top .service .detail .service_card + .service_card {
    margin-top: 13.3333333333vw;
  }
  #top .service .payment {
    margin-top: 12.2666666667vw;
  }
  #top .service .payment h3 {
    font-size: 8.5333333333vw;
    padding-bottom: 3.2vw;
    border-bottom: solid 1px #B6B7B4;
  }
  #top .service .payment h3::before, #top .service .payment h3::after {
    content: none;
  }
  #top .service .payment .payment_card {
    border-radius: 2.1333333333vw;
    margin-top: 12.5333333333vw;
    padding: 12.2666666667vw 10.1333333333vw;
    display: block;
  }
  #top .service .payment .payment_card figure {
    width: 100%;
    margin-top: 5.3333333333vw;
  }
  #top .service .payment .payment_card .payment_card_body {
    width: 100%;
  }
  #top .service .payment .payment_card p {
    font-size: 4.8vw;
    line-height: 1.5;
    text-align: center;
  }
  #top .service .payment .payment_card .sup {
    font-size: 3.7333333333vw;
    line-height: 1.7;
    margin-top: 5.3333333333vw;
    text-align: left;
  }
  #shop .shoplist {
    padding-bottom: 12vw;
  }
  #shop .shoplist .shop_list {
    border: none;
    padding-top: 9.3333333333vw;
  }
  #shop .shoplist .shoplist_box {
    margin-top: 9.6vw;
  }
  #shop .shoplist .shoplist_box h3 {
    font-size: 7.2vw;
    font-weight: 700;
  }
  #shop .shoplist .shoplist_box + .shoplist_box {
    margin-top: 9.6vw;
  }
  #shop .map {
    background: #2D2F33 url("../img/top/shoplist_bg-sp.png") center center/cover no-repeat;
    padding-bottom: 46px;
  }
  #form .form_cont {
    padding: 10.6666666667vw 0 18.1333333333vw;
  }
  #form .h2_ttl,
  #form .h2_ttl span {
    line-height: 1;
  }
  #form h2 + p {
    font-size: 3.2vw;
    line-height: 2;
    margin-top: 6.6666666667vw;
  }
  #form .form_box {
    border-radius: 2.1333333333vw;
    margin-top: 8.8vw;
    padding: 12.5333333333vw 11.2vw 11.2vw;
  }
  #form .form_txt {
    font-size: 3.2vw;
  }
  #form form {
    margin-top: 10.6666666667vw;
  }
  #form form .form_item {
    padding: 9.0666666667vw 0;
    display: block;
  }
  #form form dt {
    width: 100%;
  }
  #form form dt p {
    font-size: 4.2666666667vw;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  #form form dt .required {
    font-size: 2.4vw;
    height: 4.5333333333vw;
    padding: 0 2.6666666667vw;
    margin-left: 4.2666666667vw;
    border-radius: 1.0666666667vw;
    line-height: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #form form dd {
    width: 100%;
    margin-top: 3.7333333333vw;
  }
  #form form .sup {
    font-size: 3.2vw;
    margin-top: 0;
  }
  #form form .name dl {
    display: block;
  }
  #form form .name dl + dl {
    margin-top: 6.4vw;
  }
  #form form .name_item {
    display: block;
  }
  #form form .name_item dl {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  #form form .name_item dl + dl {
    margin-top: 3.7333333333vw;
  }
  #form form .name_item dt {
    width: auto;
    margin-right: 2.1333333333vw;
  }
  #form form .name_item dt p {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  #form form .name_item dd {
    width: calc(100% - 16vw);
    margin: 0;
  }
  #form form input, #form form textarea {
    min-height: 8vw;
    padding: 0 2.1333333333vw;
  }
  #form form textarea {
    resize: vertical;
    padding: 2.1333333333vw;
  }
  #form form input[type=checkbox] {
    width: 4.8vw;
  }
  #form form .check_box {
    margin-top: 5.8666666667vw;
    padding: 0 2.1333333333vw;
  }
  #form form .check_box .explan_txt {
    font-size: 3.2vw;
    width: calc(100% - 9.6vw);
  }
  #form form .submit_btn {
    padding-top: 7.4666666667vw;
  }
  #form form .submit_btn p {
    width: 32vw;
  }
  #form form .submit_btn input[type=submit] {
    font-size: 4vw;
  }
  #form form .submit_btn input[type=submit]:hover {
    color: #B6B7B4;
    background: #fff;
  }
  #company .company_cont {
    padding: 16vw 0 0;
  }
  #company .heave_logo {
    width: 57.6vw;
    margin: 8vw auto;
  }
  #company table {
    margin-top: 8.5333333333vw;
  }
  #company tbody {
    margin-top: 10.1333333333vw;
  }
  #company tr {
    padding: 6.4vw 0;
  }
  #company tr:last-of-type {
    padding-bottom: 0;
  }
  #company tr, #company th, #company td {
    text-align: left;
    display: block;
    font-size: 4.2666666667vw;
  }
  #company th {
    width: 100%;
  }
  #company td {
    margin-top: 4vw;
    padding: 0;
  }
  #company .map {
    width: 100vw;
    margin: 10.6666666667vw calc(50% - 50vw) 0;
  }
  #company .map iframe {
    height: 45.3333333333vw;
  }
}