@charset "UTF-8";
@font-face {}
html {
  font-size: 100%; /* ここをjQueryで書き換えます。 */
}

body {
  font-family: m-plus-1p, sans-serif;
  font-display: block; /* or 'block', 'fallback', 'optional' */
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  color: #231815;
  font-size: 1rem; /* remで指定（1rem = 16px） */
  line-height: 1;
}

.font_en {
  font-family: alternate-gothic-no-1-d, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.f_size_12 {
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  .f_size_12 {
    font-size: 12px;
    font-size: 2.8037383178vw;
  }
}

.f_size_14 {
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .f_size_14 {
    font-size: 14px;
    font-size: 3.2710280374vw;
  }
}

@media print {
  .no-break {
    page-break-inside: avoid;
  }
}
.animation, .pageredirect, html::after, html::before, .calendar .dayContainer .day span, .btnwrapper .parabtn::after {
  transition: all 0.5s ease-in-out 0.5s;
}

.displaynone {
  display: none !important;
}

body.nonscroll {
  position: relative;
  height: 100%;
  width: 100%;
  overflow: hidden;
}

.c_red {
  color: #FF6952;
}

.btn_anime {
  position: relative;
  overflow: hidden;
  transition: ease 0.2s;
}
.btn_anime span {
  z-index: 2;
  position: relative;
  width: 100%;
  height: 100%;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn_anime:before {
  height: 100%;
  width: 100%;
  bottom: -100%;
  left: 0;
  right: 0;
  position: absolute;
  content: "";
  display: block;
  z-index: 1;
  transition: 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
.btn_anime:hover {
  color: #fff;
}
.btn_anime:hover:before {
  bottom: 0%;
}
.btn_anime.c_white:hover {
  color: #231815 !important;
}
.btn_anime.c_white:before {
  background-color: #fff;
}
.btn_anime.c_black:hover {
  color: #fff;
}
.btn_anime.c_black:before {
  background-color: #231815;
}
.btn_anime.c_green:hover {
  color: #fff;
}
.btn_anime.c_green:before {
  background-color: #34CA9D;
}
.btn_anime.c_orange:hover {
  color: #fff;
}
.btn_anime.c_orange:before {
  background-color: #FFC400;
}
.btn_anime.c_blue:hover {
  color: #fff;
}
.btn_anime.c_blue:before {
  background-color: #0032b8;
}
.btn_anime.c_gray:hover {
  color: #fff;
}
.btn_anime.c_gray:before {
  background-color: #F6F8F8;
}

h1.c_red, h2.c_red, h3.c_red, h4.c_red, h5.c_red,
p.c_red {
  color: #FF6952;
}
h1 strong, h2 strong, h3 strong, h4 strong, h5 strong,
p strong {
  color: #FF6952;
  font-weight: normal;
}

img {
  vertical-align: bottom;
}

img.pc {
  display: block !important;
}
@media screen and (max-width: 768px) {
  img.pc {
    display: none !important;
  }
}

img.sp {
  display: none !important;
}
@media screen and (max-width: 768px) {
  img.sp {
    display: block !important;
  }
}

br.pc {
  display: block;
}
@media screen and (max-width: 768px) {
  br.pc {
    display: none;
  }
}

br.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  br.sp {
    display: block;
  }
}

.text-center {
  text-align: center !important;
}

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

.text-right {
  text-align: right;
}

.f_order1 {
  -webkit-box-ordinal-group: 1;
  -ms-flex-order: 1;
  -webkit-order: 1;
  order: 1;
}

.f_order2 {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 2;
  -webkit-order: 2;
  order: 2;
}

.f_order3 {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 3;
  -webkit-order: 3;
  order: 3;
}

.f_order4 {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 4;
  -webkit-order: 4;
  order: 4;
}

.mg_regular {
  margin-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .mg_regular {
    margin-bottom: 5vw;
  }
}

input[type=text],
input[type=email],
input[type=password] {
  box-sizing: border-box;
  width: 100%;
  height: 44px;
  padding: 0.5em 0.5em;
  background: #fff;
  border: 2px solid #0032b8;
  font-weight: 600;
  font-size: 13px;
  border-radius: 0px;
}
input[type=text].mini,
input[type=email].mini,
input[type=password].mini {
  width: 31%;
  margin-right: 0.5vw;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=password]::placeholder {
  color: #B5B5B5;
  font-weight: 400;
}
input[type=text]:disabled,
input[type=email]:disabled,
input[type=password]:disabled {
  background: #f4f4f4;
}
input[type=text] + .errormessage,
input[type=email] + .errormessage,
input[type=password] + .errormessage {
  display: none;
}
input[type=text].error,
input[type=email].error,
input[type=password].error {
  border: solid 1px #FF6952;
  color: #FF6952;
}
input[type=text].error + .errormessage,
input[type=email].error + .errormessage,
input[type=password].error + .errormessage {
  color: #FF6952;
  width: 100%;
  font-size: 11px;
  margin-top: 5px;
  display: block;
}
@media screen and (max-width: 768px) {
  input[type=text].error + .errormessage,
  input[type=email].error + .errormessage,
  input[type=password].error + .errormessage {
    font-size: 14px;
    font-size: 3.2710280374vw;
  }
}

div.dropdown {
  box-sizing: border-box;
  position: relative;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  width: 100%;
  height: 44px;
  background: #fff;
  border: 2px solid #0032b8;
}
div.dropdown.mini {
  width: 31%;
  margin-right: 2%;
}
div.dropdown::after {
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 5px;
  content: "";
  width: 30px;
  height: 100%;
  pointer-events: none;
}
div.dropdown select {
  font-size: 15px;
  cursor: pointer;
  padding: 0 0 0 10px;
  width: 100%;
  height: 39px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: none;
  background-color: transparent;
  background-image: url(../images/bnrarrow_blue.svg);
  background-size: 17%;
  background-position: right 5px center;
  background-repeat: no-repeat;
}
div.dropdown select:disabled {
  background-image: none;
}
@media screen and (max-width: 768px) {
  div.dropdown select {
    font-size: 18px;
    font-size: 4.2056074766vw;
    background-size: 17%;
  }
}
div.dropdown.disabled {
  pointer-events: none;
}
div.dropdown.disabled select {
  color: #B5B5B5;
}
div.dropdown.disabled::after {
  background-image: none;
}

.btnwrapper {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .btnwrapper {
    width: 100%;
    margin-bottom: 5vw;
    margin-top: 5vw;
  }
}
.btnwrapper .parabtn {
  position: relative;
  z-index: 1;
  text-align: center;
  margin: 0 auto;
  width: 45%; /*平行四辺形の横幅*/
  height: 52px; /*平行四辺形の高さ*/
  cursor: pointer;
  text-decoration: none;
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  .btnwrapper .parabtn {
    height: 40px;
  }
}
.btnwrapper .parabtn::after {
  transform: skewX(-8deg); /*平行四辺形の角度*/
  content: "";
  position: absolute;
  top: 6px;
  bottom: 0px;
  right: 0px;
  left: 3px;
  border: solid 1px #98B7E2;
  z-index: -2;
}
@media screen and (max-width: 768px) {
  .btnwrapper .parabtn::after {
    bottom: -5px;
    right: -5px;
  }
}
.btnwrapper .parabtn:hover::after {
  bottom: -5px;
  right: -5px;
}
.btnwrapper .parabtn::before {
  transform: skewX(-8deg); /*平行四辺形の角度*/
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background: #004DB8;
}
.btnwrapper .parabtn span {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  font-size: 14px;
  color: #fff;
  background-repeat: no-repeat;
  background-size: 20%;
  background-position: center left 10px;
}
@media screen and (max-width: 768px) {
  .btnwrapper .parabtn span {
    background-size: 30%;
  }
}
.btnwrapper .parabtn.c_black span {
  color: #fff;
}
.btnwrapper .parabtn.c_black::before {
  background-color: #000;
  border: 1px solid #231815;
}
.btnwrapper .parabtn.c_white span {
  color: #231815;
}
.btnwrapper .parabtn.c_white::before {
  background-color: #fff;
  border: 1px solid #231815;
}
.btnwrapper .parabtn.right span {
  background-repeat: no-repeat;
  background-position: center right 5px;
}
@media screen and (max-width: 768px) {
  .btnwrapper .parabtn.right span {
    background-position: center right 0px;
  }
}
.btnwrapper .parabtn.left span {
  background-repeat: no-repeat;
  background-position: center left 5px;
}
@media screen and (max-width: 768px) {
  .btnwrapper .parabtn.left span {
    background-position: center left 0px;
  }
}
.btnwrapper .parabtn.login span {
  background-image: url(../images/parabtn_login_white.svg);
  background-size: 25%;
  background-position: center left 10px;
  padding-left: 1em;
}
.btnwrapper .parabtn.add span {
  background-image: url(../images/btnicon_add_w.svg);
  background-size: 20%;
  background-position: center left 10px;
  padding-left: 1em;
}
.btnwrapper .parabtn.edit span {
  background-image: url(../images/btnicon_edit_w.svg);
  background-size: 20%;
  background-position: center left 10px;
  padding-left: 1em;
}
.btnwrapper .parabtn.next span {
  background-image: url(../images/parabtn_right_white.svg);
}
.btnwrapper .parabtn.prev span {
  background-image: url(../images/parabtn_left_blue.svg);
}
.btnwrapper .parabtn.prev.c_black span {
  background-image: url(../images/parabtn_left_white.svg);
}
.btnwrapper .parabtn.checkmark span {
  background-image: url(../images/btnicon_check_w.svg);
}
.btnwrapper .parabtn.checkmark.c_black span {
  background-image: url(../images/btnicon_check_w.svg);
}
.btnwrapper .parabtn.disabled {
  pointer-events: none;
}
.btnwrapper .parabtn.disabled::before {
  background-color: #F6F8F8 !important;
  border: 1px solid #CCCCCC !important;
}
.btnwrapper .parabtn.disabled span {
  color: #B5B5B5;
}
.btnwrapper .btn {
  cursor: pointer !important;
  box-sizing: border-box;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  position: relative;
  font-weight: normal;
  font-size: 14px;
  line-height: 23px;
  text-align: left;
  min-width: 140px;
  height: 44px;
  margin: 0 10px;
}
.btnwrapper .btn::before {
  content: "";
  position: absolute;
  top: 6px;
  bottom: -5px;
  right: -5px;
  left: 3px;
  border: solid 1px #98B7E2;
  z-index: -1;
}
.btnwrapper .btn.c_white {
  color: #231815;
  background: #fff;
  border: 1px solid #231815;
}
.btnwrapper .btn.c_blue {
  color: #fff;
  background: #004db8;
  border: 1px solid #0032b8;
}
.btnwrapper .btn.c_black {
  color: #fff;
  background: #231815;
  border: 1px solid #000;
}
.btnwrapper .btn.left {
  padding-right: 10px;
  justify-content: flex-end;
}
.btnwrapper .btn.left span {
  justify-content: flex-end;
}
.btnwrapper .btn.left::after {
  border-right: 1px solid #0032b8;
  display: block;
  content: "";
  height: 100%;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  left: 0;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: 2;
}
.btnwrapper .btn.right {
  padding-left: 10px;
  justify-content: flex-start;
}
.btnwrapper .btn.right span {
  justify-content: flex-start;
}
.btnwrapper .btn.right::after {
  border-left: 1px solid #0032b8;
  display: block;
  content: "";
  height: 100%;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  right: 0;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: 2;
}
.btnwrapper .btn.prev::after {
  background-image: url(../images/arrow_left_blue.svg);
  background-size: 20px;
}
.btnwrapper .btn.next::after {
  background-image: url(../images/arrow_right_white.svg);
  background-size: 20px;
}
.btnwrapper .btn.next.c_blue::after {
  background-image: url(../images/arrow_right_white.svg);
  background-size: 20px;
}
.btnwrapper .btn.checkmark::after {
  background-image: url(../images/btnicon_check_b.svg);
}
.btnwrapper .btn.checkmark.c_blue::after {
  background-image: url(../images/btnicon_check_w.svg);
}
.btnwrapper .btn.edit::after {
  background-image: url(../images/btnicon_edit_b.svg);
}
.btnwrapper .btn.edit.c_blue::after {
  background-image: url(../images/btnicon_edit_w.svg);
}
.btnwrapper .btn.login::after {
  background-image: url(../images/btnicon_login_w.svg);
}
.btnwrapper .btn.add::after {
  background-image: url(../images/btnicon_add_b.svg);
}
.btnwrapper .btn.add.c_blue::after {
  background-image: url(../images/btnicon_add_w.svg);
}

.checkwrapper {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .checkwrapper {
    width: 100%;
    margin-bottom: 5vw;
    margin-top: 5vw;
  }
}
.checkwrapper .check_item {
  margin: 0 5px 0 0;
}

.step {
  width: 100%;
  height: 40px;
  background: #f5f5f5;
  font-weight: normal;
  font-size: 14px;
  line-height: 23px;
  text-align: left;
  color: #000;
  position: relative;
  padding: 0 0 0 20%;
  padding-left: calc(20% + 15px);
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  line-height: 1em;
  margin-bottom: 22px;
}
@media screen and (max-width: 768px) {
  .step {
    font-size: 16px;
    font-size: 3.738317757vw;
  }
}
.step::before {
  content: "";
  position: absolute;
  left: 0;
  height: 100%;
  width: 20%;
  border-right: 1px dashed #C3C3C3;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: alternate-gothic-no-1-d, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
.step.step1::before {
  content: "STEP1";
}
.step.step2::before {
  content: "STEP2";
}
.step.step3::before {
  content: "STEP3";
}
.step.step4::before {
  content: "STEP4";
}
.step.step5::before {
  content: "STEP5";
}

.listtable {
  width: 100%;
  margin-bottom: 10px;
}
.listtable thead tr th {
  font-weight: 500;
  background-color: #C0D2E9;
  font-size: 14px;
  padding: 10px 10px;
}
@media screen and (max-width: 768px) {
  .listtable thead tr th {
    font-size: 14px;
    font-size: 3.2710280374vw;
  }
}
.listtable tbody tr td {
  box-sizing: border-box;
  padding: 10px 10px;
  vertical-align: middle;
  font-size: 13px;
  min-height: 45px;
  background-color: #F0F2F5;
}
@media screen and (max-width: 768px) {
  .listtable tbody tr td {
    font-size: 13px;
    font-size: 3.0373831776vw;
  }
}
.listtable tbody tr td h5 {
  font-size: 15px;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .listtable tbody tr td h5 {
    font-size: 15px;
    font-size: 3.5046728972vw;
  }
}
.listtable tbody tr td p {
  font-size: 13px;
  margin-bottom: 0;
  line-height: 1.1em;
}
@media screen and (max-width: 768px) {
  .listtable tbody tr td p {
    font-size: 13px;
    font-size: 3.0373831776vw;
  }
}
.listtable tbody tr td h5 + p {
  margin-top: 5px;
}
.listtable th, .listtable td {
  width: auto;
}
.listtable th.num, .listtable td.num {
  width: 15%;
  text-align: center;
}
.listtable th.num p, .listtable td.num p {
  text-align: center;
}
.listtable th.mini, .listtable td.mini {
  width: 25%;
  text-align: center;
}
.listtable th.mini p, .listtable td.mini p {
  text-align: center;
}
.listtable th input[type=text],
.listtable th input[type=email],
.listtable th input[type=password], .listtable td input[type=text],
.listtable td input[type=email],
.listtable td input[type=password] {
  box-sizing: border-box;
}
.listtable .memberid {
  width: 50%;
}
.listtable .memberid + .invitationcode {
  margin-left: 2px;
  width: calc(50% - 6px);
}

.listtable_v2 {
  width: 100%;
  margin-bottom: 30px;
  border: 2px solid #0032b8;
}
.listtable_v2 thead tr th {
  font-weight: 500;
  background-color: #F5F5F5;
  font-size: 14px;
  padding: 10px 10px;
  border: 1px solid #E6E6E6;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .listtable_v2 thead tr th {
    font-size: 14px;
    font-size: 3.2710280374vw;
  }
}
.listtable_v2 tbody tr td {
  box-sizing: border-box;
  padding: 5px 10px;
  vertical-align: middle;
  font-size: 13px;
  border: 1px solid #E6E6E6;
  height: 48px;
  background-color: #fff;
  position: relative;
}
@media screen and (max-width: 768px) {
  .listtable_v2 tbody tr td {
    font-size: 13px;
    font-size: 3.0373831776vw;
  }
}
.listtable_v2 tbody tr td h5 {
  font-size: 15px;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .listtable_v2 tbody tr td h5 {
    font-size: 15px;
    font-size: 3.5046728972vw;
  }
}
.listtable_v2 tbody tr td p {
  font-size: 13px;
  margin-bottom: 0;
  line-height: 1.1em;
}
@media screen and (max-width: 768px) {
  .listtable_v2 tbody tr td p {
    font-size: 13px;
    font-size: 3.0373831776vw;
  }
}
.listtable_v2 tbody tr td h5 + p {
  margin-top: 5px;
}
.listtable_v2 tbody tr td .dropdown {
  position: absolute;
  top: 0;
  left: 0;
  border: none;
  width: 100%;
  max-width: 100%;
  height: 100%;
  min-height: 46px;
}
.listtable_v2 th, .listtable_v2 td {
  width: auto;
}
.listtable_v2 th select, .listtable_v2 td select {
  font-size: 13px;
}
@media screen and (max-width: 428px) {
  .listtable_v2 th select, .listtable_v2 td select {
    font-size: 13px;
    font-size: 3.0373831776vw;
  }
}
.listtable_v2 th.num, .listtable_v2 td.num {
  width: 15%;
  text-align: center;
  white-space: nowrap;
}
.listtable_v2 th.num p, .listtable_v2 td.num p {
  text-align: center;
}
.listtable_v2 th.mini, .listtable_v2 td.mini {
  width: 25%;
  text-align: center;
}
.listtable_v2 th.mini p, .listtable_v2 td.mini p {
  text-align: center;
}
.listtable_v2 th.ticket, .listtable_v2 td.ticket {
  width: 20%;
  text-align: center;
}
.listtable_v2 th input[type=text],
.listtable_v2 th input[type=email],
.listtable_v2 th input[type=password], .listtable_v2 td input[type=text],
.listtable_v2 td input[type=email],
.listtable_v2 td input[type=password] {
  box-sizing: border-box;
}
.listtable_v2 .memberid {
  width: 50%;
}
.listtable_v2 .memberid + .invitationcode {
  margin-left: 2px;
  width: calc(50% - 6px);
}

.infortable {
  margin-bottom: 10px;
  width: 100%;
}
.infortable thead tr th {
  font-weight: 500;
  background-color: #C0D2E9;
  padding: 5px;
  font-size: 13px;
  font-weight: normal;
}
.infortable tbody tr td, .infortable tbody tr th {
  padding: 15px 10px;
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .infortable tbody tr td, .infortable tbody tr th {
    font-size: 14px;
    font-size: 3.2710280374vw;
  }
}
.infortable tbody tr th {
  background-color: #C0D2E9;
  min-width: 35%;
  text-align: left;
  font-weight: normal;
}
.infortable tbody tr td {
  vertical-align: middle;
  background-color: #F0F2F5;
}
.infortable tbody tr td p {
  line-height: 1.5em;
}
.infortable tbody tr td p:last-of-type {
  margin-bottom: 0;
}
.infortable tbody tr td .text {
  display: block;
  width: 100%;
  margin-bottom: 0.5em;
}
.infortable tbody tr td .text:last-child {
  margin-bottom: 0;
}
.infortable tbody tr td .text.red {
  color: #FF6952;
}
.infortable th, .infortable td {
  width: auto;
}
.infortable th.mini, .infortable td.mini {
  width: 27%;
  text-align: center;
}
.infortable th input[type=text],
.infortable th input[type=email],
.infortable th input[type=password], .infortable td input[type=text],
.infortable td input[type=email],
.infortable td input[type=password] {
  box-sizing: border-box;
}

.totaltable {
  width: 100%;
  margin-bottom: 10px;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .totaltable {
    font-size: 16px;
    font-size: 3.738317757vw;
  }
}
.totaltable tbody tr th, .totaltable tbody tr td {
  font-weight: 600;
  padding: 5px;
}
.totaltable tbody tr th {
  width: 60%;
  text-align: left;
}
.totaltable tbody tr td {
  width: 40%;
  text-align: right;
}
.totaltable tbody tr:nth-of-type(1) {
  font-size: 20px;
}

.calculation {
  width: 100%;
  margin-bottom: 20px;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .calculation {
    font-size: 16px;
    font-size: 3.738317757vw;
  }
}
.calculation tbody tr th, .calculation tbody tr td {
  font-weight: 600;
  padding: 7px 5px;
}
.calculation tbody tr th {
  width: 60%;
  text-align: left;
}
.calculation tbody tr td {
  width: 40%;
  text-align: right;
}
.calculation tbody tr.total {
  font-size: 18px;
}
.calculation tbody tr.total td, .calculation tbody tr.total th {
  border-top: 1px dotted #CCCCCC;
  padding-top: 15px;
}
.calculation tbody tr.discount {
  color: #FF6952;
}

.spreadsheettable {
  width: 100%;
  margin-bottom: 10px;
}
.spreadsheettable tbody tr td, .spreadsheettable tbody tr th {
  padding: 8px 10px;
  font-size: 13px;
}
.spreadsheettable tbody tr th {
  font-weight: 500;
  min-width: 55%;
  text-align: left;
  background-color: #F0F2F5;
}
.spreadsheettable tbody tr td {
  vertical-align: middle;
  background-color: #F0F2F5;
}
.spreadsheettable tbody tr td.quantity {
  width: 10%;
  text-align: center;
}
.spreadsheettable tbody tr td.quantity span {
  width: 100%;
}
.spreadsheettable tbody tr td.price {
  width: 30%;
  text-align: right;
}
.spreadsheettable tbody tr.total td, .spreadsheettable tbody tr.total th {
  font-weight: 600;
}

.bordertable {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 10px;
  position: relative;
}
.bordertable tr {
  border-bottom: 1px dashed #231815;
}
.bordertable tr th {
  padding: 10px 0;
  font-size: 12px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .bordertable tr th {
    font-size: 15px;
    font-size: 3.5046728972vw;
  }
}
.bordertable tr th.mini {
  width: 15%;
}
.bordertable tr td {
  vertical-align: middle;
  font-size: 13px;
  padding: 10px 0;
}
@media screen and (max-width: 768px) {
  .bordertable tr td {
    font-size: 13px;
    font-size: 3.0373831776vw;
    padding: 2vw 0;
  }
}
.bordertable tr td.time {
  font-family: alternate-gothic-no-1-d, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: initial;
  font-size: 28px;
  letter-spacing: 0em;
}
@media screen and (max-width: 768px) {
  .bordertable tr td.time {
    font-size: 28px;
    font-size: 6.5420560748vw;
  }
}
.bordertable tr td.time span {
  margin-top: 0.1em;
  display: block;
}
.bordertable tr td.mini {
  text-align: center;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .bordertable tr td.mini {
    font-size: 18px;
    font-size: 4.2056074766vw;
  }
}
.bordertable tr td.formarea {
  width: 160px;
}
@media screen and (max-width: 768px) {
  .bordertable tr td.formarea {
    width: 44%;
  }
}
.bordertable tr td.formarea .select {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  width: 100%;
  height: 39px;
  background: #fff;
  color: #004DB8;
  border: 2px solid #CCCCCC;
  font-size: 15px;
}
@media screen and (max-width: 768px) {
  .bordertable tr td.formarea .select {
    font-size: 15px;
    font-size: 3.5046728972vw;
  }
}
.bordertable tr td.formarea .select.selected {
  background: #004db8;
  border: 1px solid #0032b8;
  box-shadow: 0px 1px 3px rgba(0, 50, 184, 0.16);
  color: #fff;
}
.bordertable tr td.formarea .select.disabled {
  color: #B5B5B5;
  pointer-events: none;
}
.bordertable tr td.formarea .timebtn {
  cursor: pointer;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  width: calc(33.333% - 3px);
  height: auto;
  aspect-ratio: 1/1;
  background: #fff;
  border: 2px solid #CCCCCC;
  color: #004DB8;
  font-family: alternate-gothic-no-1-d, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 28px;
  float: left;
  margin: 0 1px;
  padding-top: 0.2em;
}
@media screen and (max-width: 768px) {
  .bordertable tr td.formarea .timebtn {
    font-size: 28px;
    font-size: 6.5420560748vw;
  }
}
.bordertable tr td.formarea .timebtn.selected {
  background: #004db8;
  border: 1px solid #0032b8;
  box-shadow: 0px 1px 3px rgba(0, 50, 184, 0.16);
  color: #fff;
}
.bordertable tr td.formarea .timebtn.disabled {
  color: #D6D6D6;
  opacity: 0.5;
}
.bordertable tr td h5 {
  font-size: 15px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .bordertable tr td h5 {
    font-size: 17px;
    font-size: 3.9719626168vw;
  }
}
.bordertable tr td p {
  font-size: 13px;
  margin-bottom: 0;
  line-height: 1em;
}
@media screen and (max-width: 768px) {
  .bordertable tr td p {
    font-size: 14px;
    font-size: 3.2710280374vw;
  }
}
.bordertable tr td h5 + p {
  margin-top: 5px;
}
.bordertable.ticket tr td {
  vertical-align: top;
}
.bordertable.ticket tr td.ticketname {
  width: 70%;
}
@media screen and (max-width: 768px) {
  .bordertable.ticket tr td.ticketname {
    width: 44%;
  }
}
.bordertable.ticket tr td.ticketname h5 {
  margin-bottom: 0.5em;
  font-weight: normal;
}
.bordertable.ticket tr td.ticketname h5 .shop_name {
  font-weight: bold;
}
.bordertable tbody#reserve_timetable td select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  width: 96%;
  height: 40px;
  background: #fff;
  border: 2px solid #0032b8;
  color: #004DB8;
  font-size: 16px;
  float: left;
  margin: 0 1px;
  padding: 0 8%;
  font-weight: bold;
  background-image: url(../images/arrow_down_blue.svg);
  background-repeat: no-repeat;
  background-position: center right 10px;
  background-size: 10%;
}
@media screen and (max-width: 768px) {
  .bordertable tbody#reserve_timetable td select {
    font-size: 16px;
    font-size: 3.738317757vw;
  }
}
.bordertable tbody#reserve_timetable td select.selected {
  background: #004db8;
  border: 1px solid #0032b8;
  color: #fff;
}
.bordertable tbody#reserve_timetable td select.reserved {
  background: #fff;
  border: 1px solid #fff;
  color: #fff;
  pointer-events: none;
}
.bordertable tbody#reserve_timetable td select.disabled {
  color: #D6D6D6;
  border: 2px solid #D6D6D6;
  background-image: none;
  pointer-events: none;
}

.availability {
  display: block;
  margin: auto;
  width: 18px;
  height: 18px;
}
.availability.spacious {
  background-image: url(../images/availability_icons_spacious.svg);
}
.availability.available {
  background-image: url(../images/availability_icons_available.svg);
}
.availability.limited {
  background-image: url(../images/availability_icons_limited.svg);
}
.availability.unavailable {
  background-image: url(../images/availability_icons_unavailable.svg);
}

.check {
  display: none;
}
.check:checked + label:after {
  opacity: 1;
}

.check_item {
  width: 36px;
  height: 36px;
  position: relative;
  margin: auto;
}
.check_item label {
  position: relative;
  font-size: 28px;
  cursor: pointer;
  color: #121212;
  width: 36px;
  height: 36px;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
.check_item label:before, .check_item label:after {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  width: 22px;
  height: 22px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}
.check_item label:before {
  margin: auto;
  background-image: url(../images/chechbox_off.svg);
}
.check_item label:after {
  margin: auto;
  background-image: url(../images/chechbox_on.svg);
  opacity: 0;
}
.check_item.disabled label {
  opacity: 0.3;
  pointer-events: none;
}
.Registered {
  height: 36px;
  position: relative;
  margin: auto;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}

hr.line {
  border: none;
  border-bottom: 1px dashed #B5B5B5;
  margin: 20px 0;
}

.section_liner {
  border-bottom: 1px dashed #B5B5B5;
  padding-bottom: 15px;
  margin: 0px 0 25px 0;
}

.section_nonliner {
  padding-bottom: 15px;
  margin: 0px 0 25px 0;
}

.hrliner {
  border: none;
  border-bottom: 1px dashed #B5B5B5;
  padding-bottom: 10px;
  margin: 0px 0 30px 0;
}

.mini .btn {
  display: -webkit-flex;
  display: flex;
  margin: auto;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  width: 68px;
  height: 39px;
  background: #fff;
  border: none;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.08);
  color: #004DB8;
}
.mini .btn::before {
  content: "";
  width: 16px;
  height: 16px;
  margin-right: 5px;
  background-position: center;
}
.mini .btn.edit::before {
  background-image: url(../images/minibtnicon_edit_blue.svg);
}
.mini .btn.edit::before {
  background-image: url(../images/minibtnicon_edit_blue.svg);
}
.mini .btn.reference::before {
  background-image: url(../images/minibtnicon_search_blue.svg);
}
.mini .btn.delete {
  color: #FF6952;
}
.mini .btn.delete::before {
  background-image: url(../images/minibtnicon_delete.svg);
}
.mini .dropdown {
  margin: auto;
  position: relative;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  width: 68px;
  height: 39px;
  background: #fff;
  border: none;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.08);
}
.mini .dropdown::after {
  position: absolute;
  top: 0;
  right: 5px;
  content: "";
  width: 20px;
  height: 100%;
  pointer-events: none;
}
.mini .dropdown select {
  padding: 0 0 0 10px;
  width: 100%;
  height: 39px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: none;
  background-color: transparent;
  background-image: url(../images/bnrarrow_blue.svg);
  background-size: 35%;
  background-position: right 5px center;
  background-repeat: no-repeat;
}
.mini .dropdown select:disabled {
  background-image: none;
}

.title_pricename {
  padding: 0 10px;
  margin: 10px 1px 0px 1px;
  display: -webkit-flex;
  display: flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: flex-start;
  height: 40px;
  background: #C0D2E9;
  box-sizing: border-box;
  font-weight: 400;
  font-size: 14px;
  border: 1px solid #fff;
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  .title_pricename {
    font-size: 14px;
    font-size: 3.2710280374vw;
  }
}
.title_pricename.total {
  background-color: #3271C6;
  color: #fff;
}
.title_pricename.total + .spreadsheettable tr.total th, .title_pricename.total + .spreadsheettable tr.total td {
  padding: 10px;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .title_pricename.total + .spreadsheettable tr.total th, .title_pricename.total + .spreadsheettable tr.total td {
    font-size: 16px;
    font-size: 3.738317757vw;
  }
}

.memberselect {
  width: 65%;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  line-height: 1em;
  height: 39px;
  cursor: pointer;
  padding: 0px 0px 0px 0px;
  border: 1px solid #D6D6D6;
  position: relative;
  font-size: 14px;
  background-color: #fff;
  width: 100%;
  margin: 0 0 1em 0;
}
.memberselect span {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  border-right: 1px solid #D6D6D6;
  height: 100%;
  padding-right: 13px;
  white-space: nowrap;
}
.memberselect select {
  border: 1px solid #D6D6D6;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #fff;
  border: none;
  height: 100%;
  width: 100%;
  background-color: transparent;
  background-image: url(../images/bnrarrow_blue.svg);
  background-size: 20px;
  background-position: right 5px bottom 5px;
  background-repeat: no-repeat;
  box-sizing: border-box;
  padding: 0 1em;
  font-size: 14px;
  font-weight: bold;
  text-align: left;
}
.memberselect + P {
  text-align: center;
}

.title_calendar {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  align-content: center;
  position: relative;
  margin-bottom: 10px;
  justify-content: center;
}
.title_calendar h3.calendartrigger {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1em;
  height: 39px;
  cursor: pointer;
  padding: 0px 50px 0px 10px;
  border: 1px solid #D6D6D6;
  position: relative;
  font-size: 14px;
  width: 50%;
}
@media screen and (max-width: 768px) {
  .title_calendar h3.calendartrigger {
    width: calc(100% - 110px);
    font-size: 15px;
    font-size: 3.5046728972vw;
  }
}
.title_calendar h3.calendartrigger::after {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  content: "";
  width: 38px;
  height: 38px;
  background-image: url(../images/icon_calendartrigger.svg);
  margin-left: 8px;
  background-size: 24px;
  background-position: center center;
  background-repeat: no-repeat;
  aspect-ratio: 1/1;
  border-left: 1px dotted #D6D6D6;
}
.title_calendar .btn {
  min-width: 50px;
  height: 39px;
  cursor: pointer;
  position: absolute;
  background-size: 28px;
  background-position: center center;
  background-repeat: no-repeat;
  border: 1px solid #D6D6D6;
}
.title_calendar .btn.prev {
  background-image: url(../images/arrow_prev_w.svg);
  top: 15px;
  left: 15px;
}
.title_calendar .btn.prev {
  background-image: url(../images/arrow_left_blue.svg);
  top: 0px;
  bottom: 0;
  left: 0px;
  margin-right: 5px;
}
.title_calendar .btn.next {
  background-image: url(../images/arrow_right_blue.svg);
  top: 0px;
  bottom: 0;
  right: 0px;
  margin-left: 5px;
}
.title_calendar .datepicker {
  border-radius: 10px;
  box-shadow: 0px 1px 15px rgba(0, 0, 0, 0.1);
  border: 2px solid #F3F5F6;
  position: absolute;
  top: 0;
  z-index: 2;
  background-color: #fff;
  padding: 1% 2%;
  display: none;
  opacity: 0;
}
.title_calendar .datepicker .title_calendar {
  justify-content: center;
}
.title_calendar .datepicker h3 {
  height: 40px;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.title_calendar .datepicker .btn {
  border: none;
}
.title_calendar .datepicker.active {
  display: block;
  opacity: 1;
  z-index: 7;
}
.title_calendar .datepicker .calendar {
  padding: 0px 0px 10px 0px;
}

.calendar {
  font-family: alternate-gothic-no-1-d, sans-serif;
  font-weight: 400;
  font-style: normal;
  padding: 10px 0;
}
.calendar .weekdays {
  width: 100%;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .calendar .weekdays {
    font-size: 16px;
    font-size: 3.738317757vw;
  }
}
.calendar .weekdays .day {
  width: 14.285%;
  text-align: center;
  padding: 5px 0;
}
.calendar .dayContainer {
  width: 100%;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}
.calendar .dayContainer .day {
  width: 14.285%;
  text-align: center;
  padding: 2px 2px;
  font-family: alternate-gothic-no-1-d, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: initial;
}
.calendar .dayContainer .day span {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 0px;
  background: #fff;
  border: 1px solid #CCCCCC;
  color: #004DB8;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .calendar .dayContainer .day span {
    font-size: 26px;
    font-size: 6.0747663551vw;
  }
}
.calendar .dayContainer .day span.disabled {
  color: #D6D6D6;
}
.calendar .dayContainer .day span.selected {
  background: #004db8;
  border: 1px solid #0032b8;
  box-shadow: 0px 1px 3px rgba(0, 50, 184, 0.16);
  color: #fff;
}
.calendar .dayContainer .day span:hover {
  box-shadow: 0px 1px 3px rgba(0, 50, 184, 0);
  background-color: #F6F8F8;
  color: #B5B5B5;
}
.calendar .dayContainer .day.anothermonth span {
  color: #B5B5B5;
  background: #fff;
  border: 1px solid #fff;
  box-shadow: none;
}

.couponlist {
  margin-bottom: 30px;
}
.couponlist .couponadd {
  margin-bottom: 15px;
  display: block;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.couponlist .couponadd button {
  position: absolute;
  top: 2px;
  right: 2px;
  z-index: 2;
  cursor: pointer !important;
  box-sizing: border-box;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  font-weight: normal;
  font-size: 14px;
  line-height: 23px;
  text-align: left;
  height: 40px;
  padding: 0 1em;
  font-weight: 600;
  background-color: #004DB8;
  color: #fff;
  border: none;
  border-left: 2px solid #B5B5B5;
}
.couponlist .couponadd .errormessage {
  width: 100%;
}
.couponlist input {
  border: 2px solid #ACACAC;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
}
.couponlist .coupon {
  display: -webkit-flex;
  display: flex;
  flex-wrap: nowrap;
  background: #fff;
  border: 2px solid #004DB8;
  cursor: pointer;
  margin-bottom: 15px;
}
.couponlist .coupon .radio {
  width: 15%;
  border-right: 1px dashed #B5B5B5;
  background-image: url(../images/coupon_radio.svg);
  background-position: center center;
  background-size: 18px;
  background-repeat: no-repeat;
}
.couponlist .coupon.selected .radio {
  border-right: 1px dashed #fff;
  background-image: url(../images/coupon_radio_selected.svg);
  background-color: #004DB8;
}
.couponlist .coupon:last-of-type {
  margin-bottom: 0;
}
.couponlist .coupon .couponcontents {
  width: 100%;
  padding: 10px 20px;
}
.couponlist .coupon .couponcontents h4 {
  font-weight: normal;
  letter-spacing: 0.2em;
  font-size: 18px;
  line-height: 23px;
  text-align: left;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .couponlist .coupon .couponcontents h4 {
    font-size: 18px;
    font-size: 4.2056074766vw;
  }
}
.couponlist .coupon .couponcontents h5 {
  font-weight: normal;
  font-size: 13px;
  line-height: 23px;
  text-align: left;
  color: #2b2b2b;
}
@media screen and (max-width: 768px) {
  .couponlist .coupon .couponcontents h5 {
    font-size: 13px;
    font-size: 3.0373831776vw;
  }
}
.couponlist .coupon .couponcontents p {
  font-weight: normal;
  font-size: 13px;
  line-height: 17px;
  text-align: left;
  color: #2b2b2b;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .couponlist .coupon .couponcontents p {
    font-size: 13px;
    font-size: 3.0373831776vw;
  }
}

.attentionlist li {
  margin-bottom: 0.5em;
  line-height: 1.6em;
  list-style: none;
  padding-left: 1.3em;
  position: relative;
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .attentionlist li {
    font-size: 15px;
    font-size: 3.5046728972vw;
  }
}
.attentionlist li::before {
  display: inline-block;
  position: absolute;
  left: 0;
  content: "※";
}

.message {
  display: none;
  margin-bottom: 15px;
  background-color: #fff;
  border: 1px solid #CCCCCC;
  padding: 10px;
  font-size: 13px;
}
.message.active {
  display: block;
}
@media screen and (max-width: 768px) {
  .message {
    font-size: 13px;
    font-size: 3.0373831776vw;
  }
}
.message p:last-of-type {
  margin-bottom: 0;
}
.message.alert {
  background-color: #FF6952;
  border-color: #FF6952;
  color: #fff;
  font-weight: 600;
}
.message.checkout {
  background-color: #fff5e6;
  color: #a66300;
  border: none;
  padding: 15px;
}
.message.checkout h4 {
  font-weight: 600;
  margin-bottom: 0.5em;
}
.message.checkout p {
  line-height: 1.6em;
}

.loadwrapper {
  display: -webkit-flex;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.9);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 101;
}
@media screen and (max-width: 768px) {
  .loadwrapper {
    height: 100vh;
  }
}

.loader {
  width: 26px;
  height: 26px;
  border: 5px solid #FFF;
  border-bottom-color: #004DB8;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}
@media screen and (max-width: 768px) {
  .loader {
    width: 10vw;
    height: 10vw;
    border-radius: 50em;
  }
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.breadcrumb {
  display: flex;
  gap: 0 10px;
  list-style: none;
  padding: 10px 10px 10px 10px;
  border-radius: 3px;
  overflow: hidden;
  background-color: #edf2f6;
  font-size: 0.8em;
  margin-bottom: 15px;
}
.breadcrumb li {
  display: flex;
  align-items: center;
  position: relative;
  padding-right: 20px;
}
.breadcrumb li:first-child a::before {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 4px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M11.7%207.5%204%2013.8v6.8c0%20.4.3.7.7.7h4.7c.4%200%20.7-.3.7-.7v-4c0-.4.3-.7.7-.7h2.7c.4%200%20.7.3.7.7v4c0%20.4.3.7.7.7h4.7c.4%200%20.7-.3.7-.7v-6.8l-7.7-6.3h-.9zm12.1%204.4L20.3%209V3.2c0-.3-.2-.5-.5-.5h-2.3c-.3%200-.5.2-.5.5v2.9L13.3%203c-.7-.6-1.8-.6-2.5%200L.2%2011.8c-.2.2-.3.5-.1.7l1.1%201.3c.2.2.5.2.7.1l9.8-8.1h.6l9.8%208.1c.2.2.5.1.7-.1l1.1-1.3c.2-.2.1-.5-.1-.6z%22%20style%3D%22fill%3A%23555%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  vertical-align: text-bottom;
  content: "";
}
.breadcrumb li:not(:last-child)::before, .breadcrumb li:not(:last-child)::after {
  position: absolute;
  width: 0;
  height: 0;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  content: "";
}
.breadcrumb li:not(:last-child)::before {
  right: 0;
  border-left: 15px solid #c6cdd3;
}
.breadcrumb li:not(:last-child)::after {
  right: 1px;
  border-left: 15px solid #edf2f6;
}
.breadcrumb a {
  color: #555;
  text-decoration: none;
  border-bottom: none;
  display: -webkit-flex;
  display: flex;
  align-items: center;
}

.badge {
  display: inline-block;
  color: #fff;
  padding: 0.2rem 0.2rem;
  border-radius: 2px;
  font-size: 10px;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .badge {
    font-size: 10px;
    font-size: 2.3364485981vw;
  }
}
.badge.bg-blue {
  background-color: #3bc9e5;
}
.badge.bg-red {
  background-color: #e74c3c;
}
.badge.bg-green {
  background-color: #6ae840;
}
.badge.bg-yellow {
  background-color: #e5dd3b;
}

span.icon_Required {
  display: inline-block;
  margin-left: 5px;
}
span.icon_Required::after {
  content: "必須";
  display: inline-block;
  font-size: 13px;
  line-height: 1em;
  color: #0032b8;
  border: 2px solid #0032b8;
  padding: 3px 4px;
}

select.dropdown {
  border: 2px solid #0032b8;
  font-size: 15px;
  cursor: pointer;
  padding: 0 0 0 10px;
  width: 100%;
  height: 44px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: transparent;
  background-image: url(../images/bnrarrow_blue.svg);
  background-size: 20px;
  background-position: right 5px bottom 5px;
  background-repeat: no-repeat;
  box-sizing: border-box;
}
select.dropdown:disabled {
  background-image: none;
}
@media screen and (max-width: 768px) {
  select.dropdown {
    font-size: 16px;
    font-size: 3.738317757vw;
  }
}
select.dropdown.mini {
  width: 32%;
}
select.dropdown.mini:nth-of-type(1) {
  margin-right: 2%;
}
select.dropdown.mini:nth-of-type(2) {
  margin-right: 2%;
}
select.dropdown.half {
  width: 49%;
}
select.dropdown.half:nth-of-type(1) {
  margin-right: 2%;
}
select.dropdown.quad {
  width: 24%;
  margin-right: 1%;
}
select.dropdown.quad:last-child {
  margin-right: 0;
}
select.dropdown + .errormessage {
  display: none;
}
select.dropdown.error {
  border: solid 1px #FF6952;
  color: #FF6952;
}
select.dropdown.error + .errormessage {
  color: #FF6952;
  width: 100%;
  font-size: 11px;
  margin-top: 5px;
  display: block;
}
@media screen and (max-width: 768px) {
  select.dropdown.error + .errormessage {
    font-size: 14px;
    font-size: 3.2710280374vw;
  }
}

.progressbar {
  counter-reset: step;
  width: 100%;
  font-weight: 500;
  margin: 0 0 30px auto;
  display: -webkit-flex;
  display: flex;
}
@media screen and (max-width: 768px) {
  .progressbar {
    font-size: 22px;
    font-size: 5.1401869159vw;
    margin: 0 0 10vw auto;
  }
}
.progressbar li {
  list-style-type: none;
  width: 33.3333%;
  font-size: 12px;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  color: #B5B5B5;
}
.progressbar li:before {
  width: 30px;
  height: 30px;
  content: counter(step);
  counter-increment: step;
  line-height: 30px;
  border: 2px solid #B5B5B5;
  display: block;
  text-align: center;
  margin: 0 auto 10px auto;
  border-radius: 50%;
  background-color: white;
  position: relative;
  z-index: 2;
}
.progressbar li:after {
  width: 100%;
  height: 2px;
  content: "";
  position: absolute;
  background-color: #7d7d7d;
  top: 15px;
  left: -50%;
  z-index: 1;
}
.progressbar li:first-child:after {
  content: none;
}
.progressbar li.active {
  color: #0032b8;
}

.progressbar li.active:before {
  border-color: #0032b8;
}

.progressbar li.active + li:after {
  background-color: #0032b8;
}

.loadinganime {
  width: 40px;
  aspect-ratio: 2;
  --_g: no-repeat radial-gradient(circle closest-side,#0086d1 90%,#0000);
  background: var(--_g) 0% 50%, var(--_g) 50% 50%, var(--_g) 100% 50%;
  background-size: 33.3333333333% 50%;
  animation: l3 1s infinite linear;
  margin: 0 auto;
  position: sticky;
  top: calc(50vh - 30px);
}

@keyframes l3 {
  20% {
    background-position: 0% 0%, 50% 50%, 100% 50%;
  }
  40% {
    background-position: 0% 100%, 50% 0%, 100% 50%;
  }
  60% {
    background-position: 0% 50%, 50% 100%, 100% 0%;
  }
  80% {
    background-position: 0% 50%, 50% 50%, 100% 100%;
  }
}
html {
  position: relative;
}
html::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  height: 100vh;
  width: 50vw;
  background-color: #fff;
  z-index: 1000;
}
@media screen and (max-width: 768px) {
  html::before {
    height: 50vh;
    width: 100vw;
  }
}
html::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  height: 100vh;
  width: 50vw;
  background-color: #fff;
  z-index: 1000;
}
@media screen and (max-width: 768px) {
  html::after {
    height: 50vh;
    width: 100vw;
    top: auto;
  }
}

html.wf-active::before,
html.loading-delay::before {
  width: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  html.wf-active::before,
  html.loading-delay::before {
    width: 100vw;
    height: 0;
  }
}
html.wf-active::after,
html.loading-delay::after {
  width: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  html.wf-active::after,
  html.loading-delay::after {
    width: 100vw;
    height: 0;
  }
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video, input {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
  position: relative;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

html {
  height: 100vh;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  font-style: normal;
  color: #004DB8;
}

body {
  position: relative;
  height: 100vh;
}

main {
  display: -webkit-flex;
  display: flex;
  height: 100vh;
}
@media screen and (max-width: 768px) {
  main {
    height: auto;
  }
}
main article.column_left, main article.column_right {
  width: 50%;
  min-height: 100vh;
}
@media screen and (max-width: 768px) {
  main article.column_left, main article.column_right {
    width: 100%;
    height: auto;
  }
}
main article.column_left {
  position: fixed;
  top: 0;
  left: 0;
  background-image: url(../../images/bgimg.jpg);
  background-size: cover;
  background-position: center top;
}
@media screen and (max-width: 768px) {
  main article.column_left {
    display: none;
    position: relative;
  }
}
main article.column_left .bgcolor {
  background: rgba(0, 8, 31, 0.65);
  height: 100vh;
  width: 100%;
  position: absolute;
}
main article.column_left section {
  height: 100vh;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
main article.column_left .title {
  text-align: center;
}
main article.column_left .title h2 {
  width: 193.39px;
  height: 120.85px;
  background: transparent;
  margin: auto;
}
main article.column_left .title h2 img {
  width: 100%;
}
main article.column_left .title h3 {
  width: 314px;
  height: 50px;
  background: rgba(0, 8, 31, 0.65);
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: normal;
  font-size: 20px;
  line-height: 23px;
  text-align: left;
  color: #fff;
  margin-top: 30px;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  main article.column_left .title h3 {
    font-size: 20px;
    font-size: 4.6728971963vw;
  }
}
main article.column_left .title p {
  font-weight: normal;
  font-size: 14px;
  line-height: 23px;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 768px) {
  main article.column_left .title p {
    font-size: 14px;
    font-size: 3.2710280374vw;
  }
}
main .column_right {
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 768px) {
  main .column_right {
    position: relative;
  }
}

header {
  position: relative;
  padding: 30px 0 30px 0;
  top: 0;
  width: 100%;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  z-index: 100;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  header {
    padding: 9vw 0 4vw 0;
  }
}
header h1 {
  display: block;
  margin: auto;
}
@media screen and (max-width: 768px) {
  header h1 {
    margin: 0;
  }
}
header h1 a {
  width: 180px;
  height: 45px;
  padding: 5px 15px;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-left: none;
  border: none;
  padding: 15px;
  border-radius: 50em;
  background-color: rgba(255, 255, 255, 0.95);
}
@media screen and (max-width: 768px) {
  header h1 a {
    box-shadow: 0px 1px 3px rgba(0, 50, 184, 0.16);
    background: #fff;
    width: 155px;
    height: 45px;
    border-radius: 0px 50em 50em 0px;
    padding-right: 10px;
    left: 0;
  }
}
header h1 a img {
  width: 80%;
  height: auto;
}
@media screen and (max-width: 768px) {
  header h1 a img {
    width: 150px;
    width: 80%;
  }
}
header .headermenu {
  position: absolute;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  right: 25px;
  top: 30px;
}
@media screen and (max-width: 768px) {
  header .headermenu {
    right: 4vw;
    top: 9vw;
  }
}
header .headermenu span, header .headermenu a {
  box-sizing: border-box;
}
header .headermenu .menureserve {
  margin-right: 5px;
  width: 45px;
  height: 45px;
  background: #0032b8;
  border: 2px solid #0032b8;
  border-radius: 50em;
  background-image: url(../images/menu_reserve.svg);
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  header .headermenu .menureserve {
    margin-right: 1vw;
  }
}
header .headermenu .menuopen {
  width: 45px;
  height: 45px;
  background: #fff;
  border: 2px solid #000;
  border-radius: 50em;
  background-image: url(../images/menu_open.svg);
  cursor: pointer;
}
header .mypagemenu {
  display: none;
}

.pagetitle {
  font-weight: 500;
  margin: 0 0 30px auto;
  font-size: 22px;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .pagetitle {
    font-size: 22px;
    font-size: 5.1401869159vw;
    margin: 0 0 3vw auto;
    letter-spacing: 0.05em;
  }
}

.sectiontitle {
  font-weight: 500;
  margin: 0 0 30px auto;
  font-size: 13px;
  letter-spacing: 0.2em;
  color: #004DB8;
  border: 2px solid #004db8;
  padding: 0.8em;
  font-weight: 600 !important;
}
@media screen and (max-width: 768px) {
  .sectiontitle {
    font-size: 13px;
    font-size: 3.0373831776vw;
    margin: 0 0 3vw auto;
    letter-spacing: 0.05em;
  }
}

.hrliner + .pagetitle {
  margin-top: 30px !important;
}

.content {
  max-width: 480px;
  margin: 30px auto 250px auto;
  width: 90%;
}
@media screen and (max-width: 768px) {
  .content {
    max-width: 90%;
    margin: 3vh auto 6vh auto;
  }
}
.content > h4 {
  margin-bottom: 1em;
  font-weight: 400;
}
.content .linertitle {
  font-weight: 500;
  margin: 20px 0 20px auto;
  font-size: 18px;
  letter-spacing: 0.2em;
  text-align: center;
  display: -webkit-flex;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .content .linertitle {
    font-size: 20px;
    font-size: 4.6728971963vw;
    margin: 5vw 0 5vw auto;
    letter-spacing: 0.05em;
  }
}
.content .linertitle::before {
  margin-right: 0.8em;
}
.content .linertitle::after {
  margin-left: 0.8em;
}
.content .linertitle::before, .content .linertitle::after {
  content: "";
  flex-grow: 1;
  border-top: 1px dashed #444;
  display: block;
}
.content p {
  font-weight: normal;
  font-size: 13px;
  line-height: 23px;
  text-align: left;
  margin-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .content p {
    font-size: 15px;
    font-size: 3.5046728972vw;
    margin-bottom: 1.6em;
    line-height: 1.6em;
  }
}
.content p.red {
  color: #FF6952;
}
.content ul.supp {
  font-weight: normal;
  font-size: 12px;
  line-height: 23px;
  text-align: left;
  margin-bottom: 1em;
  padding-left: 1.5em;
}
@media screen and (max-width: 768px) {
  .content ul.supp {
    font-size: 13px;
    font-size: 3.0373831776vw;
    margin-bottom: 1.6em;
    line-height: 1.6em;
  }
}
.content dl.form {
  margin-bottom: 35px;
}
@media screen and (max-width: 768px) {
  .content dl.form {
    margin-bottom: 20px;
  }
}
.content dl.form dt {
  font-weight: normal;
  font-size: 14px;
  line-height: 23px;
  text-align: left;
  color: #000;
  font-weight: 500;
  margin-bottom: 5px;
  display: -webkit-flex;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .content dl.form dt {
    font-size: 14px;
    font-size: 3.2710280374vw;
  }
}
.content dl.form dt span.column {
  width: 49%;
  box-sizing: border-box;
}
.content dl.form dt span.column:nth-of-type(1) {
  margin-right: 2%;
}
.content dl.form dd {
  margin-bottom: 20px;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}
.content dl.form dd:last-of-type {
  margin-bottom: 0;
}

footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  right: 0;
  left: 0;
  background-color: #004DB8;
}
@media screen and (max-width: 768px) {
  footer {
    position: relative;
    top: initial;
    width: 100%;
    left: 0;
    right: 0;
    padding: 2vh 0 0vh 0;
  }
}
footer h4 {
  text-align: center;
  padding: 2vh 0 2vh 0;
}
@media screen and (max-width: 768px) {
  footer h4 {
    display: none;
  }
}
footer h4 img {
  height: 80px;
  width: auto;
  display: block;
  margin: auto;
}
@media screen and (max-width: 768px) {
  footer h4 img {
    height: 8vh;
  }
}
footer p {
  font-size: 12px;
  color: #fff;
  text-align: center;
  padding: 1vh 0 2vh 0;
}
@media screen and (max-width: 768px) {
  footer p {
    font-size: 12px;
    font-size: 2.8037383178vw;
  }
}

.mypagemenu ul li {
  border-bottom: 1px dashed #231815;
}
.mypagemenu ul li a {
  display: block;
  list-style: none;
  padding: 20px 10px;
  vertical-align: middle;
  font-size: 13px;
  text-decoration: none;
  color: #231815;
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  .mypagemenu ul li a {
    font-size: 16px;
    font-size: 3.738317757vw;
  }
}

.globalnav {
  position: fixed;
  padding: 30px 25px;
  right: 0;
  top: 0;
  margin: auto;
  width: 50%;
  height: 100vh;
  background-color: #F0F2F5;
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  transition-property: all;
  transition-duration: 0.25s;
  transition-timing-function: ease;
  overflow-y: scroll;
}
@media screen and (max-width: 768px) {
  .globalnav {
    left: 0;
    width: 100%;
    position: fixed;
    padding: 9vw 4vw;
  }
}
.globalnav.active {
  opacity: 1;
  pointer-events: initial;
}
.globalnav .gnheader {
  position: relative;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
}
.globalnav .gnheader h2 {
  width: 100px;
  top: -10px;
  left: 0;
}
@media screen and (max-width: 768px) {
  .globalnav .gnheader h2 {
    left: 8%;
  }
}
.globalnav .gnheader h2 a {
  border: none;
  text-decoration: none;
}
.globalnav .gnheader .menuclose {
  right: 0px;
  top: 0px;
  display: block;
  width: 45px;
  height: 45px;
  border: 2px solid #000;
  border-radius: 50em;
  background-image: url(../images/menu_close.svg);
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .globalnav .gnheader .menuclose {
    right: 0;
  }
}
.globalnav .navcontents {
  max-width: 340px;
  margin: 0px auto 0px auto;
  padding: 30px 0;
}
@media screen and (max-width: 768px) {
  .globalnav .navcontents {
    max-width: 86%;
    padding: 2vw 0;
    margin: 2vw auto auto auto;
  }
}
.globalnav .navcontents .menu li {
  list-style: none;
  display: block;
  width: 100%;
}
.globalnav .navcontents .menu li a, .globalnav .navcontents .menu li span {
  font-size: 16px;
  padding: 20px 10px;
  width: 100%;
  display: block;
  box-sizing: border-box;
  color: #231815;
  font-weight: 500;
  background-position: right 15px center;
  background-repeat: no-repeat;
  background-image: url(../images/arrow_right_blue.svg);
  background-size: 20px;
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease;
  border-bottom: #C0D2E9 2px solid;
}
@media screen and (max-width: 768px) {
  .globalnav .navcontents .menu li a, .globalnav .navcontents .menu li span {
    font-size: 16px;
    font-size: 3.738317757vw;
    padding: 4vw 2vw;
  }
}
.globalnav .navcontents .menu li a:hover,
.globalnav .navcontents .menu li span:hover {
  color: #231815;
  background-position: right 5px center;
}

.shoplist .shop {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: #fff;
  border: 2px solid #0032b8;
  margin-bottom: 10px;
  position: relative;
  padding: 5px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .shoplist .shop {
    width: auto;
  }
}
.shoplist .shop::after {
  position: absolute;
  content: "";
  display: block;
  width: 30px;
  aspect-ratio: 1/1;
  height: auto;
  background-image: url(../images/bnrarrow_blue.svg);
  right: 5px;
  bottom: 5px;
}
.shoplist .shop img {
  width: 110px;
  height: auto;
}
@media screen and (max-width: 768px) {
  .shoplist .shop img {
    width: 28%;
  }
}
.shoplist .shop .title {
  width: calc(100% - 125px);
}
@media screen and (max-width: 768px) {
  .shoplist .shop .title {
    width: calc(70% - 10px);
  }
}
.shoplist .shop .title h3 {
  letter-spacing: 0.3em;
  font-weight: 500;
  font-size: 18px;
  color: #000;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .shoplist .shop .title h3 {
    font-size: 18px;
    font-size: 4.2056074766vw;
  }
}
.shoplist .shop .title h3 small {
  font-size: 14px;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .shoplist .shop .title h3 small {
    font-size: 12px;
    font-size: 2.8037383178vw;
  }
}
.shoplist .shop .title h5 {
  font-weight: 500;
  font-size: 20px;
  color: #98B7E2;
  letter-spacing: 0.1em;
  margin-top: 5px;
  font-family: alternate-gothic-no-1-d, sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 768px) {
  .shoplist .shop .title h5 {
    font-size: 18px;
    font-size: 4.2056074766vw;
  }
}
.shoplist .menu {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 348/60;
  background: #fff;
  border: 2px solid #0032b8;
  margin-bottom: 10px;
  position: relative;
  padding: 15px 5px;
  box-sizing: border-box;
  cursor: pointer;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .shoplist .menu {
    width: auto;
  }
}
.shoplist .menu.half {
  aspect-ratio: 348/30;
}
.shoplist .menu::after {
  position: absolute;
  content: "";
  display: block;
  width: 30px;
  aspect-ratio: 1/1;
  height: auto;
  background-image: url(../images/bnrarrow_blue.svg);
  right: 5px;
  bottom: 5px;
}
.shoplist .menu .title {
  width: 95%;
}
.shoplist .menu .title h3 {
  letter-spacing: 0em;
  margin-bottom: 0.25em;
  font-weight: 500;
  font-size: 18px;
  color: #000;
}
@media screen and (max-width: 768px) {
  .shoplist .menu .title h3 {
    font-size: 18px;
    font-size: 4.2056074766vw;
  }
}
.shoplist .menu .title h3 em {
  font-size: 13px;
  font-style: normal;
}
@media screen and (max-width: 768px) {
  .shoplist .menu .title h3 em {
    font-size: 13px;
    font-size: 3.0373831776vw;
  }
}
.shoplist .menu .title h5 {
  font-weight: 500;
  margin-top: 0.25em;
  font-size: 13px;
  color: #638ac1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .shoplist .menu .title h5 {
    font-size: 14px;
    font-size: 3.2710280374vw;
  }
}
.shoplist .menu.addicon {
  padding: 5px 5px;
}
.shoplist .menu.addicon .title {
  width: 100%;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.shoplist .menu.addicon .title::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: top left;
  width: 40px;
  height: 40px;
  margin-right: 5px;
}
.shoplist .menu.addicon .title h3 {
  width: 100%;
}
.shoplist .menu.addicon.signup .title::before {
  background-image: url(../images/menuicon_signup.svg);
}
.shoplist .menu.addicon.nightplan .title::before {
  background-image: url(../images/menuicon_nightplan.svg);
}
.shoplist .menu p {
  text-align: left;
  width: 95%;
  margin-bottom: 0;
}
.shoplist .menu .formset {
  height: 0px;
  overflow: hidden;
  width: 100%;
}
.shoplist .menu .formset .form {
  width: 95%;
  margin: 0px auto 10px auto;
}
.shoplist .menu .formset .form dd {
  margin-bottom: 5px;
}
.shoplist .menu .formset .btnwrapper {
  margin: 0 auto 0 auto;
}
.shoplist .menu .formset .btnwrapper .parabtn::before {
  transform: none;
}
.shoplist .menu .formset .btnwrapper .parabtn::after {
  transform: none;
  display: none;
}
.shoplist .menu.loginform_active {
  padding: 17px 5px;
}
@media screen and (max-width: 768px) {
  .shoplist .menu.loginform_active {
    padding: 7px 5px;
  }
}
.shoplist .menu.loginform_active::after {
  display: none;
}
.shoplist .menu.loginform_active .formset {
  height: auto;
  padding-bottom: 10px;
}
.shoplist .menu.loginform_active .formset p {
  margin: 10px auto 0px auto;
}
.shoplist .menu > span.overray {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 5;
}
.shoplist .menu > span.overray h5 {
  color: #FF6952;
  font-weight: 500;
  margin: 0px auto 0px auto;
  font-size: 13px;
  letter-spacing: 0.2em;
  color: #FF6952;
  padding: 0.8em;
  font-weight: 600 !important;
  width: 80%;
  margin: auto;
  text-align: center;
  position: sticky;
}
@media screen and (max-width: 768px) {
  .shoplist .menu > span.overray h5 {
    font-size: 13px;
    font-size: 3.0373831776vw;
    margin: 0 auto 0vw auto;
    letter-spacing: 0.05em;
  }
}
.shoplist .menu > span.overray h5 a {
  color: #FF6952;
}

.courselist .course {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 348/60;
  background: #fff;
  border: 2px solid #0032b8;
  margin-bottom: 10px;
  position: relative;
  padding: 15px 5px;
  box-sizing: border-box;
  cursor: pointer;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .courselist .course {
    width: auto;
  }
}
.courselist .course::after {
  position: absolute;
  content: "";
  display: block;
  width: 30px;
  aspect-ratio: 1/1;
  height: auto;
  background-image: url(../images/bnrarrow_blue.svg);
  right: 5px;
  bottom: 5px;
}
.courselist .course .title {
  width: 95%;
}
.courselist .course .title h3 {
  letter-spacing: 0em;
  margin-bottom: 0.25em;
  font-weight: 500;
  font-size: 18px;
  color: #000;
}
@media screen and (max-width: 768px) {
  .courselist .course .title h3 {
    font-size: 18px;
    font-size: 4.2056074766vw;
  }
}
.courselist .course .title h3 em {
  font-size: 13px;
  font-style: normal;
}
@media screen and (max-width: 768px) {
  .courselist .course .title h3 em {
    font-size: 13px;
    font-size: 3.0373831776vw;
  }
}
.courselist .course .title h5 {
  font-weight: 500;
  margin-top: 0.25em;
  font-size: 13px;
  color: #638ac1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .courselist .course .title h5 {
    font-size: 14px;
    font-size: 3.2710280374vw;
  }
}
.courselist .course .title.icon {
  padding-left: 15%;
}
.courselist .course.jizen {
  padding: 20px 5px;
}
.courselist .course.jizen img {
  max-width: 95%;
  margin-top: 10px;
}
.courselist .course.jizen p {
  text-align: left;
  width: 95%;
  margin-bottom: 0;
}
.courselist .course p {
  text-align: left;
  width: 95%;
  margin-bottom: 0;
}
.courselist .course .form {
  width: 95%;
  margin: 10px auto 10px auto;
}
.courselist .course .form dd {
  margin-bottom: 5px;
}
.courselist .course .btnwrapper {
  margin: 0 auto 0 auto;
}
.courselist .course .btnwrapper .parabtn::before {
  transform: none;
}
.courselist .course .btnwrapper .parabtn::after {
  transform: none;
  display: none;
}
.courselist .course .formset {
  height: 0px;
  overflow: hidden;
  width: 100%;
}
.courselist .course.loginform_active .formset {
  height: auto;
}

.menulist .menu {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 348/60;
  background: #fff;
  border: 2px solid #0032b8;
  margin-bottom: 10px;
  position: relative;
  padding: 15px 5px;
  box-sizing: border-box;
  cursor: pointer;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .menulist .menu {
    width: auto;
  }
}
.menulist .menu.half {
  aspect-ratio: 348/30;
}
.menulist .menu::after {
  position: absolute;
  content: "";
  display: block;
  width: 30px;
  aspect-ratio: 1/1;
  height: auto;
  background-image: url(../images/bnrarrow_blue.svg);
  right: 5px;
  bottom: 5px;
}
.menulist .menu .title {
  width: 95%;
}
.menulist .menu .title h3 {
  letter-spacing: 0em;
  margin-bottom: 0.25em;
  font-weight: 500;
  font-size: 18px;
  color: #000;
}
@media screen and (max-width: 768px) {
  .menulist .menu .title h3 {
    font-size: 18px;
    font-size: 4.2056074766vw;
  }
}
.menulist .menu .title h3 em {
  font-size: 13px;
  font-style: normal;
}
@media screen and (max-width: 768px) {
  .menulist .menu .title h3 em {
    font-size: 13px;
    font-size: 3.0373831776vw;
  }
}
.menulist .menu .title h5 {
  font-weight: 500;
  margin-top: 0.25em;
  font-size: 13px;
  color: #638ac1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .menulist .menu .title h5 {
    font-size: 14px;
    font-size: 3.2710280374vw;
  }
}
.menulist .menu.addicon {
  padding: 5px 5px;
}
.menulist .menu.addicon .title {
  width: 100%;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.menulist .menu.addicon .title::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: top left;
  width: 40px;
  height: 40px;
  margin-right: 5px;
}
.menulist .menu.addicon .title h3 {
  width: 100%;
}
.menulist .menu.addicon.kantan .title::before {
  background-image: url(../images/menuicon_kantan.svg);
}
.menulist .menu.addicon.signup .title::before {
  background-image: url(../images/menuicon_signup.svg);
}
.menulist .menu.addicon.nightplan .title::before {
  background-image: url(../images/menuicon_nightplan.svg);
}
.menulist .menu.addicon.login .title::before {
  background-image: url(../images/menuicon_login.svg);
}
.menulist .menu.addicon.streserve .title::before {
  background-image: url(../images/menuicon_streserve.svg);
}
.menulist .menu.addicon.streserve .title em {
  color: #FF6952;
}
.menulist .menu.addicon.streserve .title em span {
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .menulist .menu.addicon.streserve .title em span {
    font-size: 18px;
    font-size: 4.2056074766vw;
  }
}
.menulist .menu.addicon.school .title::before {
  background-image: url(../images/menuicon_school.svg);
}
.menulist .menu.addicon.tel_narumi .title::before {
  background-image: url(../images/menuicon_telnarumi.svg);
}
.menulist .menu.addicon.tel_moriyama .title::before {
  background-image: url(../images/menuicon_telmoriyama.svg);
}
.menulist .menu.addicon.tel_yokkaichi .title::before {
  background-image: url(../images/menuicon_telyokkaichi.svg);
}
.menulist .menu p {
  text-align: left;
  width: 95%;
  margin-bottom: 0;
}
.menulist .menu .formset {
  height: 0px;
  overflow: hidden;
  width: 100%;
}
.menulist .menu .formset .form {
  width: 95%;
  margin: 0px auto 10px auto;
}
.menulist .menu .formset .form dd {
  margin-bottom: 5px;
}
.menulist .menu .formset .btnwrapper {
  margin: 0 auto 0 auto;
}
.menulist .menu .formset .btnwrapper .parabtn::before {
  transform: none;
}
.menulist .menu .formset .btnwrapper .parabtn::after {
  transform: none;
  display: none;
}
.menulist .menu.loginform_active {
  padding: 17px 5px;
}
@media screen and (max-width: 768px) {
  .menulist .menu.loginform_active {
    padding: 7px 5px;
  }
}
.menulist .menu.loginform_active::after {
  display: none;
}
.menulist .menu.loginform_active .formset {
  height: auto;
  padding-bottom: 10px;
}
.menulist .menu.loginform_active .formset p {
  margin: 10px auto 0px auto;
}
.menulist .menu > span.overray {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 5;
}
.menulist .menu > span.overray h5 {
  color: #FF6952;
  font-weight: 500;
  margin: 0px auto 0px auto;
  font-size: 13px;
  letter-spacing: 0.2em;
  color: #FF6952;
  padding: 0.8em;
  font-weight: 600 !important;
  width: 80%;
  margin: auto;
  text-align: center;
  position: sticky;
}
@media screen and (max-width: 768px) {
  .menulist .menu > span.overray h5 {
    font-size: 13px;
    font-size: 3.0373831776vw;
    margin: 0 auto 0vw auto;
    letter-spacing: 0.05em;
  }
}
.menulist .menu > span.overray h5 a {
  color: #FF6952;
}
.menulist.grid {
  display: -webkit-flex;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.menulist.grid .menu {
  width: calc(50% - 3px);
  margin-bottom: 0;
}
.menulist.grid .menu::after {
  display: none;
}

.paymentlist .payment {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 348/60;
  background: #fff;
  border: 2px solid #0032b8;
  margin-bottom: 10px;
  position: relative;
  padding: 10px 5px;
  box-sizing: border-box;
  cursor: pointer;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .paymentlist .payment {
    width: auto;
  }
}
.paymentlist .payment::after {
  position: absolute;
  content: "";
  display: block;
  width: 30px;
  aspect-ratio: 1/1;
  height: auto;
  background-image: url(../images/bnrarrow_blue.svg);
  right: 5px;
  bottom: 5px;
}
.paymentlist .payment .title {
  width: 95%;
}
.paymentlist .payment .title h3 {
  letter-spacing: 0em;
  margin-bottom: 0.25em;
  font-weight: 500;
  font-size: 18px;
  color: #000;
}
.paymentlist .payment .title h3.flex {
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  font-size: 20px;
  align-items: flex-end;
}
@media screen and (max-width: 768px) {
  .paymentlist .payment .title h3.flex {
    font-size: 18px;
    font-size: 4.2056074766vw;
  }
}
.paymentlist .payment .title h3.flex span:nth-of-type(1) {
  color: #FF6952;
  font-size: 30px;
}
@media screen and (max-width: 768px) {
  .paymentlist .payment .title h3.flex span:nth-of-type(1) {
    font-size: 26px;
    font-size: 6.0747663551vw;
  }
}
@media screen and (max-width: 768px) {
  .paymentlist .payment .title h3 {
    font-size: 18px;
    font-size: 4.2056074766vw;
  }
}
.paymentlist .payment .title h3 em {
  font-size: 13px;
  font-style: normal;
}
@media screen and (max-width: 768px) {
  .paymentlist .payment .title h3 em {
    font-size: 13px;
    font-size: 3.0373831776vw;
  }
}
.paymentlist .payment .title h5 {
  font-weight: 500;
  margin-top: 0.25em;
  font-size: 13px;
  color: #638ac1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .paymentlist .payment .title h5 {
    font-size: 14px;
    font-size: 3.2710280374vw;
  }
}
.paymentlist .payment .title.icon {
  padding-left: 15%;
}
.paymentlist .payment.jizen {
  padding: 15px 5px;
}
.paymentlist .payment.jizen img {
  max-width: 95%;
  margin-top: 10px;
  margin-bottom: 5px;
  max-height: 45px;
}
.paymentlist .payment.jizen p {
  text-align: center;
  width: 95%;
  margin-bottom: 0;
}
.paymentlist .payment p {
  text-align: center;
  width: 95%;
  margin-bottom: 0;
}
.paymentlist .payment .form {
  width: 95%;
  margin: 10px auto 10px auto;
}
.paymentlist .payment .form dd {
  margin-bottom: 5px;
}
.paymentlist .payment .btnwrapper {
  margin: 0 auto 0 auto;
}
.paymentlist .payment .btnwrapper .parabtn::before {
  transform: none;
}
.paymentlist .payment .btnwrapper .parabtn::after {
  transform: none;
  display: none;
}
.paymentlist .payment .formset {
  height: 0px;
  overflow: hidden;
  width: 100%;
}
.paymentlist .payment.loginform_active .formset {
  height: auto;
}

.modalwrap {
  position: absolute;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  left: 0;
  right: 0;
  top: 0;
  padding: 0px;
  width: 100%;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 100;
}
.modalwrap .modal {
  box-shadow: 0px 1px 3px rgba(0, 50, 184, 0.16);
  margin: auto 5vw;
  padding: 30px;
  width: calc(100% - 10vw);
  height: auto;
  background-color: rgb(255, 255, 255);
}
@media screen and (max-width: 768px) {
  .modalwrap .modal {
    padding: 5vw;
  }
}
.modalwrap .modal p {
  font-weight: normal;
  font-size: 13px;
  line-height: 23px;
  text-align: left;
  margin-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .modalwrap .modal p {
    font-size: 15px;
    font-size: 3.5046728972vw;
    margin-bottom: 1.6em;
    line-height: 1.6em;
  }
}

.privacy section {
  border: none;
  border-bottom: 1px dashed #B5B5B5;
  margin: 20px 0;
  padding-bottom: 20px;
}
.privacy section p:last-child {
  margin-bottom: 0;
}
.privacy h4 {
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0.08em;
  line-height: 2em;
  margin-bottom: 10x;
}
@media screen and (max-width: 768px) {
  .privacy h4 {
    font-size: 18px;
    font-size: 4.2056074766vw;
    margin-bottom: 0.5em;
  }
}
.privacy ol {
  font-weight: normal;
  font-size: 13px;
  line-height: 23px;
  text-align: left;
  margin-bottom: 1em;
  padding-left: 1.5em;
}
.privacy ol:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .privacy ol {
    font-size: 15px;
    font-size: 3.5046728972vw;
    margin-bottom: 1.6em;
    line-height: 1.6em;
  }
}
.privacy ol li {
  list-style-position: outside;
  margin-bottom: 0.5em;
}

.snslink {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
}
.snslink ul {
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  width: 100px;
}
.snslink ul li {
  list-style: none;
  width: 24px;
  aspect-ratio: 1/1;
  height: auto;
}
.snslink ul li a {
  width: 24px;
  cursor: pointer;
  display: block;
  border-bottom: none;
}
.snslink ul li a img {
  width: 100%;
}

body.print {
  -webkit-font-smoothing: antialiased;
  font: 13px;
  *font-size: small;
  *font: x-small;
  padding: 20px;
  -webkit-print-color-adjust: exact;
  color-adjust: exact;
  line-height: 1.5em;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
@media print {
  body.print {
    -webkit-print-color-adjust: exact;
    width: 210mm; /* needed for Chrome */
  }
  @page {
    body.print {
      size: A4;
      margin: 12.7mm 9.7mm;
    }
  }
}
body.print .print_pages {
  /*A4縦*/
  width: 172mm;
  height: 251mm;
  height: auto;
  page-break-after: always;
  size: A4;
  padding: 10mm 10mm; /* 用紙の余白 */
  font-size: 11pt;
  margin: 1cm auto auto auto;
  box-shadow: 0px 1px 3px rgba(0, 50, 184, 0.16);
  background-color: #fff;
}
@media print {
  body.print .print_pages {
    box-shadow: none;
    border: none;
    padding: 0mm 0mm; /* 用紙の余白 */
    margin: 0;
    background-color: #fff;
    width: 100%;
    height: auto;
  }
}
body.print .print_pages .header {
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5cm;
}
body.print .print_pages .header h4 img {
  width: 3cm;
}
body.print .print_pages .header .date h5 {
  line-height: 1.3em;
  font-size: 3mm;
  text-align: right;
}
body.print .print_pages h1 {
  text-align: center;
  margin-bottom: 0.5cm;
}
body.print .print_pages .username {
  font-size: 4mm;
  margin-bottom: 0.5cm;
  padding-bottom: 0.1cm;
  border-bottom: 1px solid #000;
}
body.print .print_pages .flexlist {
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 3.3mm;
  align-items: flex-start;
  padding: 1mm 2mm;
}
body.print .print_pages .flexlist > * {
  width: calc(50% - 0.5cm);
}
body.print .print_pages .recipient-info {
  margin-bottom: 0.5cm;
}
body.print .print_pages .recipient-info h3 {
  padding: 1mm 2mm;
  font-size: 4mm;
  background-color: #f4f4f4;
  margin-bottom: 0.25cm;
}
body.print .print_pages .order-total {
  margin-bottom: 0.5cm;
}
body.print .print_pages .order-total h3 {
  padding: 1mm 2mm;
  font-size: 4mm;
  background-color: #f4f4f4;
  margin-bottom: 0.25cm;
}
body.print .print_pages .order-total .total tbody {
  font-size: 3.5mm;
}
body.print .print_pages .order-total .total tbody tr th {
  text-align: left;
}
body.print .print_pages .order-total .total tbody tr td {
  text-align: right;
}
body.print .print_pages .order-total .total tbody tr:last-of-type th, body.print .print_pages .order-total .total tbody tr:last-of-type td {
  border-bottom: 1px solid #000;
  padding: 0mm 0 3mm 0;
}
body.print .print_pages .order-total .total tfoot {
  font-size: 4mm;
}
body.print .print_pages .order-total .total tfoot tr th {
  text-align: left;
}
body.print .print_pages .order-total .total tfoot tr td {
  text-align: right;
}
body.print .print_pages .order-total .total tfoot tr:first-of-type th, body.print .print_pages .order-total .total tfoot tr:first-of-type td {
  padding: 3mm 0 0mm 0;
}
body.print .print_pages .order-total .breakdown {
  background-color: #f4f4f4;
  padding: 2mm;
}
body.print .print_pages .order-total .breakdown h4 {
  font-size: 3.5mm;
}
body.print .print_pages .order-total .breakdown .total {
  width: 100%;
}
body.print .print_pages .order-total .breakdown .total tbody {
  font-size: 3.5mm;
}
body.print .print_pages .order-total .breakdown .total tbody tr:last-of-type th, body.print .print_pages .order-total .breakdown .total tbody tr:last-of-type td {
  border-bottom: none;
}
body.print .print_pages .item-details {
  margin-bottom: 0.5cm;
}
body.print .print_pages .item-details h3 {
  padding: 1mm 2mm;
  font-size: 4mm;
  background-color: #f4f4f4;
  margin-bottom: 0.25cm;
}
body.print .print_pages .item-details h5.title_pricename {
  padding: 1mm 2mm;
  font-size: 3mm;
  background-color: #f4f4f4;
  margin: 0cm;
  border: 1px solid #ddd;
  border-bottom: none;
  box-sizing: border-box;
  height: auto;
}
body.print .print_pages .item-details .spreadsheettable {
  border: 1px solid #ddd;
  box-sizing: border-box;
  border-spacing: 0px;
}
body.print .print_pages .item-details .spreadsheettable tbody tr th, body.print .print_pages .item-details .spreadsheettable tbody tr td {
  font-size: 3mm;
  background-color: #fff;
  padding: 1mm 2mm;
}

.rule_wrapper {
  border: 1px solid #CCCCCC;
  padding: 1rem;
  border-radius: 4px;
  margin-bottom: 10px;
}
.rule_wrapper .rule {
  max-height: 12vw;
  overflow-y: scroll;
}
@media screen and (max-width: 768px) {
  .rule_wrapper .rule {
    max-height: 30vh;
  }
}
.rule_wrapper .rule h4, .rule_wrapper .rule h5, .rule_wrapper .rule h6 {
  margin-bottom: 0.5em;
  font-size: 13px;
  line-height: 23px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .rule_wrapper .rule h4, .rule_wrapper .rule h5, .rule_wrapper .rule h6 {
    font-size: 13px;
    font-size: 3.0373831776vw;
    margin-bottom: 1.6em;
    line-height: 1.6em;
  }
}
.rule_wrapper .rule p {
  font-weight: normal;
  font-size: 13px;
  line-height: 23px;
  text-align: left;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 768px) {
  .rule_wrapper .rule p {
    font-size: 13px;
    font-size: 3.0373831776vw;
    margin-bottom: 0.5em;
    line-height: 1.6em;
  }
}
.rule_wrapper .rule ul, .rule_wrapper .rule ol {
  font-size: 13px;
  line-height: 23px;
  text-align: left;
  margin-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .rule_wrapper .rule ul, .rule_wrapper .rule ol {
    font-size: 13px;
    font-size: 3.0373831776vw;
    line-height: 1.6em;
  }
}
.rule_wrapper .rule ul li, .rule_wrapper .rule ol li {
  margin-bottom: 0.5em;
}
@media screen and (max-width: 768px) {
  .rule_wrapper .rule ul li, .rule_wrapper .rule ol li {
    margin-bottom: 0.5em;
  }
}
.rule_wrapper .rule ol {
  padding-left: 1em;
}
.rule_wrapper .rule ul {
  padding-left: 1em;
}
.rule_wrapper .rule ul li {
  list-style: square;
}
.rule_wrapper .rule ul li ol {
  padding-left: 1.5em;
}
.rule_wrapper .rule ul li ol li {
  list-style: inherit;
}

.reserveinfo {
  padding: 0px;
  text-align: center;
  margin: 0 0 30px auto;
}
.reserveinfo.color_red {
  border-color: #FF6952;
  background-color: #FF6952;
  color: #fff;
}
.reserveinfo.color_orange {
  border-color: #FFC400;
  background-color: #FFC400;
  color: #000;
}
.reserveinfo.color_orange a.paymentAlert {
  background-color: transparent;
  color: #000;
}
.reserveinfo.color_blue {
  border-color: #004DB8;
  background-color: #004DB8;
  color: #fff;
}
.reserveinfo.color_green {
  border-color: #34CA9D;
  background-color: #34CA9D;
  color: #fff;
}
.reserveinfo h4 {
  font-weight: bold;
  font-size: 22px;
  letter-spacing: 0.1em;
  line-height: 1em;
  text-align: center;
  padding: 10px 10px 5px 10px;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .reserveinfo h4 {
    font-size: 22px;
    font-size: 5.1401869159vw;
  }
}
.reserveinfo h3 {
  font-weight: bold;
  font-size: 40px;
  letter-spacing: 0.2em;
  line-height: 1em;
  text-align: center;
  padding: 0px 10px 10px 10px;
}
@media screen and (max-width: 768px) {
  .reserveinfo h3 {
    font-size: 40px;
    font-size: 9.3457943925vw;
  }
}
.reserveinfo a.paymentAlert {
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 0.2em;
  line-height: 1em;
  text-align: center;
  padding: 10px 10px 10px 10px;
  background-color: #FF6952;
  color: #fff;
  letter-spacing: 0;
  display: none;
}
.reserveinfo a.paymentAlert.active {
  display: block;
}
@media screen and (max-width: 768px) {
  .reserveinfo a.paymentAlert {
    font-size: 16px;
    font-size: 3.738317757vw;
  }
}
.reserveinfo h5.paid {
  display: block;
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 0.2em;
  line-height: 1em;
  text-align: center;
  padding: 10px 10px 10px 10px;
  background-color: #0032b8;
  color: #fff;
  letter-spacing: 0;
  display: none;
}
.reserveinfo h5.paid.active {
  display: block;
}
@media screen and (max-width: 768px) {
  .reserveinfo h5.paid {
    font-size: 16px;
    font-size: 3.738317757vw;
  }
}

.countdown {
  background-color: #0153C4;
  border: 2px solid #0032B8;
  text-align: center;
  margin-bottom: 10px;
  aspect-ratio: 348/60;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}
.countdown h4 {
  width: 100%;
  font-weight: bold;
  font-size: 13px;
  letter-spacing: 0.2em;
  color: #fff;
  margin-bottom: 5px;
}
.countdown h3 {
  width: 100%;
  font-weight: bold;
  font-size: 28px;
  letter-spacing: 0.1em;
  color: #fff;
}

.sharebtn {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 15px;
}
.sharebtn li {
  width: 42px;
  height: 42px;
  aspect-ratio: 1/1;
  list-style: none;
  margin: 0 4px;
}
.sharebtn li a {
  display: block;
}
.sharebtn li img {
  width: 100%;
}

.floatfooter {
  padding: 5% 5%;
  background-color: #fff;
  margin-top: -2vh;
  margin-bottom: 0vh;
  position: sticky;
  bottom: 0;
}

.timeschedule {
  display: block;
  position: relative;
}
.timeschedule span.overray {
  position: absolute;
  display: block;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 5;
  min-height: 200px;
  padding: 5vw;
}
.timeschedule span.overray h5 {
  color: #FF6952;
  font-weight: 500;
  margin: 0px auto 0px auto;
  font-size: 13px;
  letter-spacing: 0.2em;
  color: #FF6952;
  border: 2px solid #FF6952;
  padding: 0.8em;
  font-weight: 600 !important;
  width: 80%;
  margin: auto;
  text-align: center;
  position: sticky;
}
@media screen and (max-width: 768px) {
  .timeschedule span.overray h5 {
    font-size: 13px;
    font-size: 3.0373831776vw;
    margin: 0 auto 3vw auto;
    letter-spacing: 0.05em;
  }
}
.timeschedule span.overray h5 a {
  color: #FF6952;
}

.pageredirect {
  position: absolute;
  height: 100%;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.95);
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 100;
  text-align: center;
  opacity: 0;
  visibility: hidden;
}
.pageredirect.active {
  opacity: 1;
  visibility: visible;
}
.pageredirect h4 {
  font-size: 13px;
  display: block;
  position: sticky;
  margin: auto;
  top: 50vh;
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .pageredirect h4 {
    font-size: 13px;
    font-size: 3.0373831776vw;
  }
}