@charset "utf-8";

.error {
  color: #ff3333;
  font-weight: 700;
}
input[type="text"].error,
input[type="email"].error,
input[type="tel"].error {
  border: 1px #ff3333 solid !important;
}
.selectinner {
  position: relative;
}
.selectinner label.error {
  position: absolute;
  left: 0;
  top: 100%;
  white-space: nowrap;
  z-index: 1;
}
.formdate {
  position: relative;
}
.formdate label.error {
  position: absolute;
  left: 0;
  top: 100%;
  white-space: nowrap;
  z-index: 1;
}
select.error {
  border: 1px #ff3333 solid !important;
}
@media (max-width: 800px) {
  .selectinner label.error {
    position: relative;
    left: auto;
    top: auto;
    white-space: normal;
  }
  .selectinner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .formdate label.error {
    position: relative;
    left: auto;
    top: auto;
    white-space: normal;
    z-index: 1;
  }
}

/* wrapper
----------------------------------------------- */
#wrapper {
  overflow: hidden;
  background: #ededed;
}

.inner {
  max-width: 1020px;
  margin: 0 auto;
  padding: 0 20px;
}
.home {
  background: #f8f8f8;
}
.home .bai,
.details .bai {
  background: #1635a0;
}
.magazbai {
  background: #fff;
}
.dibufu {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 19;
  transform: translateY(100%);
  transition: all 0.3s;
}
.show .dibufu {
  transform: translateY(0);
  transition: all 0.3s;
}
.digao {
  height: 260px;
}

@media (max-width: 800px) {
  .digao {
    height: 26vh;
  }
}
@media (max-width: 375px) {
  .digao {
    height: 23vh;
  }
}

.tingzi {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
}
/* header
----------------------------------------------- */
#header {
  position: relative;
  width: 100%;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.16);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.16);
  -ms-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.16);
  -o-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.16);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.16);
  z-index: 99;
}
#header .headerin {
  background: #1635a0;
  padding: 0 20px;
  position: relative;
}
#header .headerin .headermess {
  height: 90px;
  max-width: 980px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 99;
}
#header .headerin .logobox {
  flex-shrink: 0;
  margin-right: 10px;
}
#header .headerin .logocap {
  line-height: 1.1;
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #fff;
}
#header .headerin .logoin {
  display: flex;
  align-items: center;
  column-gap: 3px;
}
#header .headerin .headerlink {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 5px 15px 5px 45px;
  z-index: 100;
}
#header .headerin .headerlink .linin {
  display: flex;
  align-items: stretch;
  column-gap: 10px;
}
#header .headerin .headertel {
  padding: 5px 0 5px 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
#header .headerin .headertel:before {
  position: absolute;
  content: "";
  background: url(../img/common/pic_header.svg) center center no-repeat;
  width: 67px;
  height: 74px;
  left: -34px;
  bottom: 0;
  z-index: 0;
}
#header .headerin .headertel .telcont {
  display: flex;
  align-items: center;
  justify-content: right;
  padding-right: 50px;
  margin-bottom: 5px;
}
#header .headerin .headertel .teltit {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  margin-right: 8px;
}
#header .headerin .headertel .teltime {
  font-size: 13px;
  line-height: 1.3;
  font-weight: 500;
  color: #fff;
}
#header .headerin .headertel .telnum a {
  display: block;
  padding-left: 35px;
  position: relative;
  font-size: 32px;
  color: #ffe752;
  font-weight: 700;
  line-height: 1;
}
#header .headerin .headertel .telnum a:before {
  position: absolute;
  content: "";
  background: url(../img/common/ico_tel.svg) center center no-repeat;
  background-size: 30px 30px;
  width: 30px;
  height: 30px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
}

#header .headerin .headerbtn a {
  display: block;
  text-align: right;
}
#header .gnavi {
  background: #fff;
}
#header .gnavi .gnaviin {
  display: flex;
  align-items: stretch;
}
#header .gnavi .gnaviin li {
  width: 25%;
  position: relative;
}
#header .gnavi .gnaviin li + li:before {
  position: absolute;
  content: "";
  width: 2px;
  height: 70px;
  left: -1px;
  top: 50%;
  transform: translateY(-50%);
  border-left: 2px #fff dotted;
  z-index: 1;
}
#header .gnavi .gnaviin li a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 73px;
  position: relative;
}
#header .gnavi .gnaviin li a:hover {
  background: #dce9ff;
}
#header .gnavi .gnaviin li.on a {
  background: #dce9ff;
}
#header .gnavi .gnaviin li .gnavitxt {
  font-size: 16px;
  letter-spacing: 0.05em;
  font-weight: 700;
}
#header .gnavi .gnaviin li a img {
  margin-right: 8px;
}
#header .headerin .logoico02 {
  width: 112px;
  margin-left: 20px;
}
@media (max-width: 1280px) {
  #header .headerin .headerbtn a img {
    width: 300px;
  }
}
@media (max-width: 1000px) {
  #header .headerin .headerlink {
    padding: 5px 10px 5px 30px;
  }
  #header .headerin .headerlink .linin {
    column-gap: 5px;
  }
  #header .headerin .headertel {
    padding: 5px 0 5px 20px;
  }
  #header .headerin .headertel:before {
    position: absolute;
    content: "";
    background: url(../img/common/pic_header.svg) center center no-repeat;
    background-size: 50px 55px;
    width: 50px;
    height: 55px;
    left: -24px;
    bottom: 0;
    z-index: 0;
  }
  #header .headerin .headertel .teltit {
    font-size: 12px;
    margin-right: 5px;
  }
  #header .headerin .headertel .teltime {
    font-size: 10px;
  }
  #header .headerin .headertel .telnum a {
    padding-left: 25px;
    font-size: 22px;
  }
  #header .headerin .headertel .telnum a:before {
    background: url(../img/common/ico_tel.svg) center center no-repeat;
    background-size: 20px 20px;
    width: 27px;
    height: 27px;
  }

  #header .headerin .headerbtn a img {
    width: 250px;
  }
  #header .headerin .logoico01 {
    width: 180px;
  }
  #header .headerin .logoico02 {
    width: 90px;
  }
}
#header .headerother {
  position: absolute;
  right: 15px;
  top: 20px;
  display: none;
}
@media (max-width: 1024px) {
  #header .headerin .headerlink {
    display: none;
  }
  #header .gnavi {
    display: none;
  }
  #header .headerin {
    padding: 0 15px;
  }
  #header .headerin .headermess {
    height: 63px;
  }
  #header .headerin .logocap {
    font-size: 12px;
  }
  #header .headerin .logoin {
    column-gap: 2px;
  }
  #header .headerin .logoico01 {
    width: 162px;
  }
  #header .headerin .logoico02 {
    width: 70px;
  }
  #header .headerother {
    display: block;
  }
}
.navbar-toggle {
  display: block;
  width: 40px;
  height: 23px;
  position: relative;
  z-index: 99;
}
.navbar-toggle span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 0;
  background-color: #fff;
  width: 40px;
  height: 1px;
}
.navbar-toggle.on span {
  background-color: #fff;
}
#header .navbar-toggle span:nth-of-type(1) {
  top: 0;
}

#header .navbar-toggle span:nth-of-type(2) {
  top: 11px;
}

#header .navbar-toggle span:nth-of-type(3) {
  top: 22px;
}

#header .navbar-toggle.on span:nth-of-type(1) {
  top: 0;
  transform: translateY(11px) rotate(-45deg);
}

#header .navbar-toggle.on span:nth-of-type(2) {
  opacity: 0;
}
#header .navbar-toggle.on span:nth-of-type(3) {
  top: 22px;
  transform: translateY(-11px) rotate(45deg);
}
.navbar-collapse {
  position: fixed;
  left: 0;
  top: 0;
  height: 100vh;
  width: 100%;
  background: #317de0;
  background-size: 100% auto;
  padding: 50px 0 0;
  z-index: 90;
  display: none;
}
.navbarin {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
.navbarbox {
  width: 100%;
  padding: 0 30px;
}
.navbarbox .navlist li + li {
  margin-top: 35px;
}
.navbarbox .navlist li {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 500;
}
.navbarbox .navlist li a {
  display: block;
  color: #fff;
}
.navbarbox .navbtn {
  max-width: 270px;
  margin: 80px auto 0;
}
.navbarbox .navbtn a {
  display: flex;
  height: 80px;
  font-size: 17px;
  padding: 0 15px 0 0;
  color: #fff;
  font-weight: 500;
  align-items: center;
  justify-content: center;
  background: #202020;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  -ms-border-radius: 50px;
  -o-border-radius: 50px;
  border-radius: 50px;
}
.navbarbox .navbtn a img {
  margin-right: 20px;
  width: 28px;
}

@media (max-width: 280px) {
  #header .headerlogo {
    width: 90px;
  }
  #header .headerbtn {
    margin-right: 20px;
  }
}

/* footer
----------------------------------------------- */
#footer {
  background: #fff;
  padding: 12px 20px;
}
#footer .footerin {
  display: flex;
  justify-content: center;
  align-items: center;
}
#footer .footerin .footertel a {
  padding-left: 52px;
  font-size: 53px;
  line-height: 1.3;
  color: #d4001e;
  display: block;
  pointer-events: none;
  position: relative;
}
#footer .footerin .footertel a:before {
  position: absolute;
  content: "";
  background: url(../img/common/ico_tel.svg) center center no-repeat;
  width: 41px;
  height: 41px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
}
#footer .footerin .footertime {
  margin: 0 26px 0 22px;
  font-size: 16px;
  letter-spacing: 0.05em;
  text-align: center;
}
#footer .footerin .footerlogo {
  text-align: center;
}
.footernotes {
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  background: #1635a0;
  font-size: 12px;
  line-height: 39px;
}
@media (max-width: 1024px) {
  #footer .footerin {
    flex-direction: column;
  }
  #footer .footerin .footertime {
    margin: 10px 0;
  }
  #footer .footerin .footertel a {
    pointer-events: inherit;
  }
}
@media (max-width: 800px) {
  #footer {
    padding: 10px 20px 20px;
  }
  #footer .footerin .footertel a {
    padding-left: 40px;
    font-size: 41px;
    line-height: 1.1;
  }
  #footer .footerin .footertel a:before {
    transform: translateY(-55%);
    background: url(../img/common/ico_tel.svg) center center no-repeat;
    background-size: 33px 33px;
    width: 33px;
    height: 33px;
  }
  #footer .footerin .footertime {
    margin: 0 0 5px 0;
    font-size: 14px;
  }
  #footer .footerin .footerlogo {
    width: 150px;
  }
}
@media (max-width: 320px) {
  #footer .footerin .footertel a {
    font-size: 35px;
  }
}

/* anchor
----------------------------------------------- */
.anchor {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
}

/* subcta
----------------------------------------------- */
.subcta {
  background: #fff;
  padding: 15px 20px 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 20px;
}
.subcta .ctatel a {
  padding-left: 52px;
  font-size: 53px;
  line-height: 1.3;
  color: #d4001e;
  display: block;
  pointer-events: none;
  position: relative;
}
.subcta .ctatel a:before {
  position: absolute;
  content: "";
  background: url(../img/common/ico_tel.svg) center center no-repeat;
  width: 41px;
  height: 41px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
}
.subcta .ctatime {
  font-size: 16px;
  letter-spacing: 0.05em;
  text-align: center;
}

@media (max-width: 1024px) {
  .subcta {
    flex-direction: column;
    padding: 15px 20px;
  }
  .subcta .ctatel a {
    pointer-events: inherit;
  }
}
@media (max-width: 800px) {
  .subcta {
    padding: 10px 20px;
    flex-direction: column;
    column-gap: 0;
  }
  .subcta .ctatel a {
    padding-left: 40px;
    font-size: 41px;
  }
  .subcta .ctatel a:before {
    background: url(../img/common/ico_tel.svg) center center no-repeat;
    background-size: 33px 33px;
    width: 33px;
    height: 33px;
    transform: translateY(-55%);
  }
  .subcta .ctatime {
    font-size: 14px;
  }
}
@media (max-width: 320px) {
  .subcta .ctatel a {
    font-size: 35px;
  }
}

/* form
----------------------------------------------- */
.formtips {
  background: #ffd5d5;
  padding: 20px;
  margin-bottom: 30px;
}
.formtips p {
  font-size: 16px;
  color: #e50020;
  line-height: 26px;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 25px;
}
.formtips p:before {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  border: 8px solid transparent;
  border-bottom: 13px solid #e50020;
}
.formblock {
  padding: 0 0 100px;
}
.formhd {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 145px;
}
.formhd .hdlar {
  font-size: 32px;
  letter-spacing: 0.05em;
  color: #1635a0;
  font-weight: 700;
  line-height: 1.44;
}
.formhd .hdsml {
  font-size: 25px;
  line-height: 1.44;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.reservation .formhd .hdsml {
  font-size: 18px;
  padding-top: 10px;
}
.formbox {
  background: #fff;
  padding: 35px 40px 40px;
}
.formbox input[type="text"],
.formbox input[type="email"],
.formbox input[type="tel"] {
  background: #fff;
  padding: 5px 10px;
  border: 1px #d0d0d0 solid;
  width: 100%;
  height: 40px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}
.formagree {
  margin-top: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.formagree .agreeico {
  display: block;
  font-size: 0;
  margin-right: 13px;
}
.formagree .agreeico input[type="checkbox"] {
  width: 21px;
  height: 21px;
  background: #fff;
  border: 1px #d0d0d0 solid;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  position: relative;
}
.formagree .agreeico input[type="checkbox"]:checked:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: url(../img/common/ico_check.svg) center center no-repeat;
  z-index: 0;
}
.formagree .agreetxt {
  font-size: 16px;
}
.formagree .agreetxt a {
  color: #ff3c5d;
  text-decoration: underline;
}
.formagree .agreetxt a:hover {
  text-decoration: none;
}
.formagree + .error-container {
  text-align: center;
}
.formbtn {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 20px;
  margin-top: 50px;
}
.formbtn li input {
  width: 200px;
  height: 58px;
  cursor: pointer;
  text-align: center;
  background: #1635a0;
  font-family: "Noto Sans JP", sans-serif;
  color: #fff;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.05em;
  transition: all 0.5s !important;
  -moz-transition: all 0.5s !important; /* Firefox */
  -webkit-transition: all 0.5s !important; /* Chrome&Safari */
}
.formbtn li .btnconfirm {
  width: 290px;
}
.formbox .formin + .formin {
  margin-top: 40px;
}
.formbox .formtit {
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-bottom: 20px;
}
.formbox .formtab {
  width: 100%;
  border: 1px #b8b8b8 solid;
  background: #f6f4f3;
}
.formbox .formtab th,
.formbox .formtab td {
  vertical-align: middle;
  padding: 20px;
  font-weight: 500;
}
.formbox .formtab tr:first-child th,
.formbox .formtab tr:first-child td {
  padding-top: 30px;
}
.formbox .formtab tr:last-child th,
.formbox .formtab tr:last-child td {
  padding-bottom: 30px;
}
.formbox .formtab th {
  background: #939393;
  width: 164px;
}
.formbox .formtab .thtit {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
  color: #fff;
  letter-spacing: 0.05em;
}
.formbox .formtab .must {
  display: flex;
  background: #ff3c5d;
  width: 38px;
  height: 21px;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 14px;
  color: #fff;
  line-height: 1.2;
  letter-spacing: 0.05em;
  flex-shrink: 0;
}
.formbox .formtab .formdt {
  display: flex;
  align-items: center;
  column-gap: 30px;
}

.formbox .formtab label {
  display: flex;
  align-items: center;
  font-size: 16px;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-bottom: 15px;
}
.formbox .formtab label input[type="radio"] {
  margin-right: 10px;
  width: 20px;
  height: 20px;
  border: 1px #d0d0d0 solid;
  background: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  position: relative;
}
.formbox .formtab label input[type="radio"]:checked:before {
  position: absolute;
  content: "";
  background: #e50020;
  width: 12px;
  height: 12px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  z-index: 0;
}
.formrdate {
  display: flex;
  align-items: center;
  margin-top: 10px;
  position: relative;
}
.formrdate input[type="text"] {
  width: 100px;
}
.formrdatetx {
  font-size: 16px;
  letter-spacing: 0.05em;
  margin: 0 9px;
}
.formrdateri {
  position: absolute;
  left: 235px;
  bottom: 0;
  font-size: 16px;
}
.formbox .formtab .calendar {
  width: 205px;
  padding: 0 30px 0 20px;
  background: url(../img/reservation/calendar.svg) right 8px center no-repeat #fff;
}
.formbox .formtab .calendar::placeholder {
  font-size: 16px;
  color: #c7c7c7;
  font-family: "Noto Sans JP", sans-serif;
  text-align: left;
  font-weight: 400;
}
.formbox .formtab .formtime {
  display: flex;
  align-items: center;
}
.formbox .formtab .formtime .timetit {
  font-size: 16px;
  margin-right: 20px;
}
.formbox .formtab select {
  width: 150px;
  background: url(../img/reservation/ico_down.svg) right 10px center no-repeat #fff;
  padding: 0 25px 0 20px;
  border: 1px #d0d0d0 solid;
  height: 40px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}
.formbox .formtab select::-ms-expand {
  display: none;
}
.formbox .formradio {
  display: flex;
  flex-wrap: wrap;
  column-gap: 20px;
  margin-bottom: -15px;
}
.formbox .formradio label {
  display: flex;
  align-items: center;
  font-size: 16px;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-bottom: 15px;
}
.formbox .formradio label input[type="radio"] {
  margin-right: 10px;
  width: 20px;
  height: 20px;
  border: 1px #d0d0d0 solid;
  background: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  position: relative;
}
.formbox .formradio label input[type="radio"]:checked:before {
  position: absolute;
  content: "";
  background: #ff3c5d;
  width: 12px;
  height: 12px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  z-index: 0;
}
.formbox .areabox {
  padding: 0 !important;
}
.formbox textarea {
  padding: 20px;
  width: 100%;
  height: 200px;
  background: #f6f4f3;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}

@media (max-width: 800px) {
  .formblock {
    padding: 0 0 40px;
  }
  .formhd {
    min-height: 104px;
  }
  .formhd .hdlar {
    font-size: 26px;
    letter-spacing: 0.05em;
  }
  .formhd .hdsml {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .formbox {
    padding: 10px 15px 20px;
  }
  .formbox input[type="text"],
  .formbox input[type="email"],
  .formbox input[type="tel"] {
    padding: 5px 10px;
  }
  .formagree {
    margin-top: 35px;
  }
  .formagree .agreeico {
    margin-right: 10px;
  }
  .formagree .agreetxt {
    font-size: 15px;
    line-height: 1.4;
  }
  .formbtn {
    flex-direction: column;
    align-items: center;
    column-gap: 0;
    margin-top: 35px;
  }
  .formbtn li input {
    width: 165px;
    height: 47px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .formbtn li .btnconfirm {
    width: 250px;
  }
  .formbtn li + li {
    margin-top: 20px;
  }
  .formbox .formtit {
    font-size: 17px;
    line-height: 1.47;
    letter-spacing: 0.05em;
    margin-bottom: 10px;
  }
  .formbox .formtab th,
  .formbox .formtab td {
    display: block;
    padding: 5px 12px;
  }
  .formbox .formtab tr:first-child th {
    padding: 5px 12px;
  }
  .formbox .formtab tr:last-child th {
    padding: 5px 12px;
  }

  .formbox .formtab tr:first-child td {
    padding: 8px 12px;
  }
  .formbox .formtab tr:last-child td {
    padding: 8px 12px;
  }
  .formbox .formtab td {
    padding: 8px 12px;
  }
  .formbox .formtab th {
    width: auto;
  }
  .formbox .formtab .thtit {
    justify-content: flex-start;
    font-size: 15px;
  }
  .formbox .formtab .must {
    margin-left: 5px;
    width: 36px;
    height: 20px;
    font-size: 13px;
  }
  .formbox .formradio {
    margin-bottom: -10px;
  }
  .formbox .formradio label {
    margin-bottom: 10px;
  }
  .formbox textarea {
    padding: 10px 12px;
    height: 150px;
  }
  .formbox .formtab .formdt {
    flex-direction: column;
    align-items: flex-end;
    column-gap: 0;
  }
  .formbox .formtab .formdate {
    width: 100%;
    margin-bottom: 10px;
  }
  .formbox .formtab .calendar {
    width: 100%;
  }
  .formbox .formtab .formtime .timetit {
    font-size: 16px;
    margin-right: 10px;
  }
  .formbox .formtab .thtit br {
    display: none;
  }
  .footernotes {
    font-size: 10px;
    line-height: 1.2;
    padding: 10px 0;
  }
  .formtips p {
    font-size: 15px;
  }
  .reservation .formhd .hdsml {
    font-size: 15px;
  }
  .formrdate > div {
    flex: auto
  }
  .formrdate > div select {
    width: 100% !important;
  }
}

/* thanks
----------------------------------------------- */
.thanks {
  padding: 150px 0 0;
  height: calc(100vh - 130px);
}
.thanks .thankshd {
  text-align: center;
  font-size: 28px;
  line-height: 1.43;
  letter-spacing: 0.05em;
  margin-bottom: 80px;
  color: #1635a0;
}
.thanks .thanksbtn {
  display: flex;
  justify-content: center;
}
.thanks .thanksbtn a {
  background: #1635a0;
  width: 200px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  font-size: 22px;
  letter-spacing: 0.05em;
}

@media (max-width: 800px) {
  .thanks {
    padding: 130px 0 220px;
    height: calc(100vh - 95px);
  }
  .thanks .thankshd {
    font-size: 20px;
    margin-bottom: 30px;
  }
  .thanks .thanksbtn a {
    width: 165px;
    height: 47px;
    font-size: 18px;
    letter-spacing: 0.05em;
  }
}

/* estimation
----------------------------------------------- */
.estblock + .estblock {
  margin-top: 45px;
}
.estblock .esttit {
  display: flex;
  align-items: stretch;
  background: #f6f4f3;
  margin-bottom: 30px;
}
.estblock .esttit .titeng {
  background: #ffe752;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 145px;
  padding: 0 15px 0 0;
  clip-path: polygon(0 0, calc(100% - 20px) 0%, 100% 50%, calc(100% - 20px) 100%, 0 100%);
}
.estblock .esttit .titcont {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #e50020;
  padding: 10px 20px;
  display: flex;
  align-items: center;
}
.estblock .estdet {
  font-size: 16px;
  letter-spacing: 0.05em;
  margin-top: -10px;
}
.estblock .estupload {
  margin-top: 40px;
}
.estblock .estupload li + li {
  margin-top: 10px;
}
.estblock .estupload li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 8px;
}
.estblock .estupload li.on {
  background: #ffd5d5;
}
.estblock .estupload .uploadtxt {
  width: 100px;
  flex-shrink: 0;
  font-size: 16px;
  letter-spacing: 0.05em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.formbox .estupload .must {
  display: flex;
  background: #ca152f;
  width: 38px;
  height: 21px;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 14px;
  color: #fff;
  line-height: 1.2;
  letter-spacing: 0.05em;
  flex-shrink: 0;
}
.estblock .estpoint {
  width: 510px;
  margin-top: 50px;
  border: 1px #707070 solid;
  padding: 25px 25px 10px;
  position: relative;
}
.estblock .estpoint .pointtit {
  position: absolute;
  background: #fff;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  font-size: 16px;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
  padding: 0 10px;
  z-index: 0;
}
.estblock .estpoint .pointnote {
  font-size: 14px;
  line-height: 1.65;
}
.estblock .estpoint .pointimg {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: 15px;
}
.estblock .estpoint .pointimg li {
  max-width: 29%;
}
.estblock .estpoint .pointimg li img {
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
}
.estblock .estpoint .pointdet {
  text-align: center;
  font-size: 14px;
  margin-top: 10px;
}
.estblock .estnote {
  margin-top: 10px;
  color: #6f6f6f;
}
.estblock .estupload .uploadbox {
  display: flex;
  align-items: center;
  overflow: hidden;
  margin-left: 15px;
}
.estblock .estupload .uploadin {
  width: 164px;
  height: 25px;
  position: relative;
  text-decoration: none;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #9c9c9c;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  margin-right: 10px;
}
.estblock .estupload .inputFile {
  opacity: 0;
  position: absolute;
  overflow: hidden;
  right: 0;
  top: 0;
}
.estblock .estupload .fileInfo {
  position: relative;
}

@media (max-width: 800px) {
  .estblock + .estblock {
    margin-top: 50px;
  }
  .estblock .esttit {
    margin: 0 0 20px -15px;
    margin-bottom: 20px;
    background: none;
  }
  .estblock .esttit .titeng {
    width: 100px;
    padding: 5px 10px 5px 0;
    clip-path: polygon(0 0, calc(100% - 12px) 0%, 100% 50%, calc(100% - 12px) 100%, 0 100%);
  }
  .estblock .esttit .titeng img {
    width: 62px;
  }
  .estblock .esttit .titcont {
    font-size: 20px;
    line-height: 1.25;
    padding: 0 10px;
  }
  .estblock .estdet {
    font-size: 15px;
    letter-spacing: 0.05em;
    line-height: 1.4;
    margin-top: 0;
  }
  .estblock .estupload {
    margin-top: 20px;
  }
  .estblock .estupload li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  .estblock .estpoint {
    width: 100%;
    margin-top: 55px;
    padding: 25px 15px 10px;
  }
  .estblock .estpoint .pointnote {
    font-size: 13px;
    line-height: 1.5;
  }
  .estblock .estpoint .pointimg {
    column-gap: 10px;
    margin-top: 15px;
  }
  .estblock .estpoint .pointimg li {
    flex: 1;
    max-width: none;
  }
  .estblock .estpoint .pointimg li img {
    width: 100%;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
    border-radius: 15px;
  }
  .estblock .estpoint .pointdet {
    font-size: 14px;
    margin-top: 5px;
  }
  .estblock .estnote {
    font-size: 14px;
  }
  .estblock .estupload .uploadbox {
    flex-direction: column;
    align-items: flex-start;
  }
  .estblock .estupload .fileInfo {
    margin-top: 5px;
    word-break: break-all;
  }
}

/* top
----------------------------------------------- */
.topmain {
  background: #e5e8f2;
  text-align: center;
  position: relative;
}

.topmaintitle {
	position: absolute;
    left: 20.6%;
    top: 20%;
	/**width: 27%;**/
	color: #FF3C5D;
	font-size: 100px;
	font-weight: 700;
	text-align: right;
	font-family: "DIN2014";
	letter-spacing: 0;
}
.topmaintitle span {
	font-size: 37px;
}
.topmaintitle img{
	width: 100%;
}

.topmaintitle .topmaintitle-tax {
  font-size: 1vw;
  transform: translateY(0);
  margin: 0;
  text-align: left;
}

.topmain img,
.topmain picture {
  vertical-align: bottom;
  width: 100%;
  height: 100%;
  display: inline-block;
}

.comfix {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  background: #ffe752;
  padding: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 20px;
  transform: translateY(100%);
  transition: all 0.3s !important;
  -moz-transition: all 0.3s !important; /* Firefox */
  -webkit-transition: all 0.3s !important; /* Chrome&Safari */
  z-index: 9;
}
.show .comfix {
  transform: translateY(0);
  transition: all 0.3s !important;
  -moz-transition: all 0.3s !important; /* Firefox */
  -webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
.comfix .fixcta {
  background: #fff;
  padding: 0 15px 5px;
  height: 139px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.comfix .fixcta .ctatit {
  font-size: 24px;
  font-weight: 700;
}
.comfix .fixcta .ctatime {
  font-size: 15px;
  margin-bottom: 15px;
}
.comfix .fixcta .ctatel a {
  pointer-events: none;
  padding-left: 33px;
  font-size: 35px;
  line-height: 1;
  position: relative;
  letter-spacing: 0;
  color: #d4001e;
}
.comfix .fixcta .ctatel a:before {
  position: absolute;
  content: "";
  background: url(../img/common/ico_tel.svg) center content-box no-repeat;
  background-size: 28px 28px;
  width: 28px;
  height: 28px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
}
.comfix .fixbtn {
  display: flex;
  column-gap: 20px;
}
.comfix .fixbtn a {
  display: block;
}
@media (max-width: 1024px) {
	.topmaintitle{
		position: absolute;
		width: 80%;
		top: 10%;
		left: 13%;
	}
	.topmainimg{
		padding-top: 5%;
		background: #fff;
	}

  .comfix {
    padding: 16px 16px 25px;
    flex-direction: column;
    column-gap: 0;
  }
  .comfix .fixcta {
    width: 100%;
    padding: 5px;
    height: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
  }
  .comfix .fixcta .ctatit {
    font-size: 17px;
    margin-right: 10px;
  }
  .comfix .fixcta .ctatime {
    display: none;
  }
  .comfix .fixcta .ctatel a {
    pointer-events: inherit;
    padding-left: 30px;
    font-size: 29px;
    line-height: 1.2;
  }
  .comfix .fixcta .ctatel a:before {
    background: url(../img/common/ico_tel.svg) center content-box no-repeat;
    background-size: 25px 25px;
    width: 25px;
    height: 25px;
    transform: translateY(-55%);
  }
  .comfix .fixbtn {
    display: flex;
    width: 100%;
    justify-content: center;
    column-gap: 5px;
  }
}
@media (max-width: 320px) {
  .comfix .fixcta .ctatit {
    font-size: 15px;
    margin-right: 10px;
  }
  .comfix .fixcta .ctatel a {
    font-size: 24px;
  }
}

.topcta .ctabox {
  padding: 20px 45px;
}
.boxtake {
  margin-bottom: 22px;
  display: flex;
  justify-content: center;
}
.topcta .ctabox .boxin {
  background: #fff;
  padding: 10px 10px 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}
.topcta .ctabox .boxcont {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  position: relative;
}
.topcta .ctabox .boxflex {
  display: flex;
  align-items: center;
}
.topcta .ctabox .boxpic {
  position: absolute;
  right: calc(100% + 15px);
  width: 96px;
  bottom: -5px;
  z-index: 0;
}
.topcta .ctabox .boxtit {
  font-size: 27px;
  font-weight: 700;
  margin-right: 15px;
}
.topcta .ctabox .boxtime {
  font-size: 16px;
}
.topcta .ctabox .boxtel a {
  pointer-events: none;
  display: block;
  position: relative;
  padding-left: 53px;
  font-size: 55px;
  letter-spacing: 0;
  line-height: 1;
  color: #d4001e;
}
.topcta .ctabox .boxtel a:before {
  position: absolute;
  content: "";
  background: url(../img/common/ico_tel.svg) center center no-repeat;
  width: 42px;
  height: 42px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
}
.topcta .ctabox .boxbtn {
  display: flex;
  justify-content: space-between;
}
.topcta .ctabox .boxbtn li {
  max-width: 48%;
  position: relative;
  display: flex;
  justify-content: center;
  flex: 1;
}

.topcta .ctabox .boxbtn li .topctatel {
  position: absolute;
  right: 46px;
  bottom: 6px;
  color: #ffee00;
  font-weight: 700;
  font-size: 43px;
  text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.48);
}
.topcta .ctabox .boxbtn li .topctatel:before {
  content: "";
  background: url(../img/common/ico_tel.png) no-repeat center center / 100% auto;
  position: absolute;
  left: -50px;
  top: 10px;
  width: 46px;
  height: 45px;
}

.boxbtn .headertel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.boxbtn .headertel .telcont {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 5px;
}
.boxbtn .headertel .teltime {
  font-size: 17px;
  line-height: 1.3;
  font-weight: 500;
  color: #fff;
}
.boxbtn .headertel .telnum a {
  display: block;
  padding-left: 35px;
  position: relative;
  font-size: 50px;
  color: #ffe752;
  font-weight: 700;
  line-height: 1;
}
.boxbtn .headertel .telnum a:before {
  position: absolute;
  content: "";
  background: url(../img/common/ico_tel02.svg) center center no-repeat;
  background-size: 40px 40px;
  width: 40px;
  height: 40px;
  left: -15px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
}

.ctabox-annotation {
  color: #fff;
  font-weight: 400;
  font-size: 13px;
  margin-top: 15px;
  line-height: 1.6;
  text-indent: -1em;
  padding-left: 1em;
}

@media (max-width: 1024px) {
  .topcta .ctabox .boxbtn li .topctatel {
    right: 0;
    bottom: 10%;
    width: 100%;
    text-align: center;
    font-size: 35px;
    margin-right: 10px;
  }
  .topcta .ctabox .boxbtn li .topctatel:before {
    position: relative;
    left: 0;
    top: 0;
    width: 36px;
    height: 35px;
    display: inline-block;
    vertical-align: top;
    margin-top: 8px;
    margin-right: 10px;
  }
  .boxbtn .headertel .telnum a {
    font-size: 38px;
  }
  .boxtake a {
    display: block;
    width: 60%;
  }
  .boxtake a img {
    width: 100%;
  }
  .topcta .ctabox .boxbtn li a {
    display: block;
    width: 100%;
  }
  .topcta .ctabox .boxbtn li a img {
    width: 60%;
  }
  .ctabox-annotation {
    max-width: 60%;
    font-size: 12px;
    margin: 15px auto 0;
  }
}
@media (max-width: 490px) {
  .boxtake a {
    width: 100%;
  }
  .boxtake a img {
    width: 100%;
  }
  .topcta .ctabox .boxbtn li a img {
    width: 100%;
  }
  .topcta .ctabox .boxbtn li a {
    font-size: 34px;
  }

  .ctabox-annotation {
    max-width: 100%;
    font-size: 10px;
    margin: 10px auto 0;
  }
}
@media (max-width: 1024px) {
  .boxbtn .headertel .teltime {
    font-size: 14px;
  }
  .topcta .ctabox {
    padding: 20px 15px;
  }
  .topcta .ctabox .boxin {
    padding: 15px 10px;
    margin-bottom: 10px;
  }
  .topcta .ctabox .boxflex {
    position: relative;
  }
  .topcta .ctabox .boxpic {
    right: calc(100% + 5px);
    width: 50px;
    bottom: 0;
  }
  .topcta .ctabox .boxtit {
    font-size: 20px;
    margin-right: 5px;
  }
  .topcta .ctabox .boxtime {
    font-size: 12px;
  }
  .topcta .ctabox .boxtel a {
    pointer-events: inherit;
    padding-left: 40px;
    font-size: 40px;
  }
  .topcta .ctabox .boxtel a:before {
    background: url(../img/common/ico_tel.svg) center center no-repeat;
    background-size: 32px 32px;
    width: 32px;
    height: 32px;
  }
  .topcta .ctabox .boxbtn {
    flex-direction: column;
    align-items: center;
  }
  .topcta .ctabox .boxbtn li {
    width: 100%;
    max-width: none;
    text-align: center;
  }
  .topcta .ctabox .boxbtn li + li {
    margin-top: 10px;
  }
  .boxtake {
    margin-bottom: 15px;
  }
  .topcta .ctabox .boxbtn li .topctatel {
    display: none;
  }
}
@media (max-width: 420px) {
  .topcta .ctabox .boxbtn li img {
    width: 95%;
  }
}
@media (max-width: 320px) {
  .topcta .ctabox .boxtit {
    font-size: 16px;
  }
  .topcta .ctabox .boxtime {
    font-size: 10px;
  }
  .topcta .ctabox .boxtel a {
    font-size: 30px;
  }
}

.topblock {
  padding: 0 0 85px;
  position: relative;
}
.shengyin {
  background: #fff;
  padding-top: 80px;
}
.tophd {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px;
}

.tophd .hdtxt {
  font-size: 40px;
  color: #1635a0;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-left: 20px;
}
@media (max-width: 800px) {
  .topblock {
    padding: 0 0 40px;
  }
  .tophd {
    padding: 10px 20px;
    margin-bottom: 20px;
  }
  .tophd .hdico {
    text-align: center;
  }
  .tophd .hdico img {
    width: 70%;
  }
  .tophd .hdtxt {
    font-size: 22px;
    line-height: 1.3;
  }
}
.magazine {
  padding-top: 40px;
}
.magazmain {
  background: #317de0;
  max-width: 788px;
  margin: 0 auto;
  padding: 10px 20px 50px 20px;
  border-radius: 14px;
  position: relative;
  text-align: center;
}
.magaztitle {
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.3;
  margin: 25px 0;
  background: #1d63be;
  display: inline-block;
  padding: 5px 20px 10px;
}
.magaztitle span {
  text-decoration: underline;
  text-underline-offset: 8px;
  color: #ffe752;
}
.magazimg {
  display: flex;
  justify-content: center;
}
.magazmain .magazicon:nth-last-child(1) {
  position: absolute;
  left: 20px;
  top: 20px;
}
.magazmain .magazicon:nth-last-child(2) {
  position: absolute;
  right: 20px;
  top: 20px;
}
.magazmain .magazicon:nth-last-child(3) {
  position: absolute;
  right: 20px;
  bottom: 20px;
}
.magazmain .magazicon:nth-last-child(4) {
  position: absolute;
  left: 20px;
  bottom: 20px;
}
.topprice {
  margin-top: -10px;
}
.topprice .pricelist li + li {
  margin-top: 35px;
}
.topprice .pricelist li {
  background: #fff;
  padding: 25px 30px;
  display: flex;
  align-items: center;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
  border-radius: 15px;
  -webkit-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  -moz-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  -ms-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  -o-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
}
.topprice .pricelist .priceimg {
  flex-shrink: 0;
  margin-right: 35px;
}
.topprice .pricelist .pricein {
  flex: 1;
}
.topprice .pricelist .pricetit {
  border-left: 7px #9e9e9e solid;
  padding-left: 12px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.05em;
  color: #e50020;
  margin-bottom: 12px;
}
.topprice .pricelist .pricecont {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 13px;
}
.topprice .pricelist .pricetxt {
  font-size: 15px;
  letter-spacing: 0.05em;
  margin-right: 5px;
}
.topprice .pricelist .pricenum {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.topprice .pricelist .pricenum .mid {
  font-size: 26px;
}
.topprice .pricelist .pricenum .lar {
  font-size: 38px;
  line-height: 1;
}
.topprice .pricelist .pricenote {
  font-size: 14px;
  line-height: 1.45;
  color: #8c8c8c;
}
@media (max-width: 1024px) {
  .topprice {
    margin-top: 0;
  }
  .topprice .pricelist li + li {
    margin-top: 20px;
  }
  .topprice .pricelist li {
    padding: 15px 15px 20px;
    display: block;
  }
  .topprice .pricelist .priceimg {
    margin: 0 0 10px;
  }
  .topprice .pricelist .priceimg img {
    width: 100%;
  }
  .topprice .pricelist .pricein {
    flex: 1;
  }
  .topprice .pricelist .pricetit {
    border-left: 6px #9e9e9e solid;
    padding-left: 10px;
    font-size: 19px;
    letter-spacing: 0.05em;
  }
  .topprice .pricelist .pricecont {
    display: block;
    margin-bottom: 5px;
  }
  .topprice .pricelist .pricetxt {
    font-size: 14px;
    margin: 0;
  }
  .topprice .pricelist .pricenote {
    font-size: 11px;
  }
  .magazmain {
    padding: 10px 20px 40px 20px;
  }
  .magaztitle {
    padding: 7px 0;
    background: none;
  }
  .magaztitle span {
    display: block;
  }
  .magazicon img {
    width: 15px;
    height: 15px;
  }
  .magazmain .magazicon:nth-last-child(1) {
    left: 10px;
    top: 10px;
  }
  .magazmain .magazicon:nth-last-child(2) {
    right: 10px;
    top: 10px;
  }
  .magazmain .magazicon:nth-last-child(3) {
    right: 10px;
    bottom: 10px;
  }
  .magazmain .magazicon:nth-last-child(4) {
    left: 10px;
    bottom: 10px;
  }
}
@media (max-width: 767px) {
  .magaztitle {
    font-size: 18px;
    padding: 0;
  }
}
.wenti {
  padding-top: 110px;
  padding-bottom: 0;
}
.topfaq .faqlist li {
  background: #fff;
  border: 3px solid #212121;
}
.topfaq .faqlist li + li {
  margin-top: 20px;
}
.topfaq .faqlist .faqtit {
  padding: 25px 60px 20px 80px;
  position: relative;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.topfaq .faqlist .faqtit:before {
  position: absolute;
  content: "";
  background: url(../img/top/ico_q.png) center center no-repeat;
  width: 38px;
  height: 42px;
  left: 22px;
  top: 20px;
  z-index: 0;
}
.topfaq .faqlist .faqcont {
  border-top: 1px #1635a0 solid;
  padding: 20px 60px 35px 80px;
}
.topfaq .faqlist .faqtxt {
  font-size: 16px;
  letter-spacing: 0.05em;
}
@media (max-width: 1024px) {
  .wenti {
    padding-top: 70px;
  }
}
@media (max-width: 1024px) {
  .wenti {
    padding-top: 55px;
  }
  .topfaq .faqlist .faqtit {
    padding: 10px 15px 15px 46px;
    font-size: 18px;
  }
  .topfaq .faqlist .faqtit:before {
    background: url(../img/top/ico_q.png) center center no-repeat;
    background-size: 26px 30px;
    width: 26px;
    height: 30px;
    left: 15px;
    top: 12px;
  }
  .topfaq .faqlist .faqcont {
    padding: 10px 15px 15px;
  }
  .topfaq .faqlist .faqtxt {
    font-size: 15px;
    line-height: 1.4;
  }
}

.xiuli {
  background: #f1f9ff;
  padding-top: 110px;
}
.topflow .flwobox {
  background: #fff;
  position: relative;
}
.topflow .flwobox + .flwobox {
  margin-top: 45px;
}
.topflow .flwobox + .flwobox:before {
  position: absolute;
  content: "";
  background: url(../img/top/arrow_flow.svg) center center no-repeat;
  left: 0;
  bottom: calc(100% + 5px);
  width: 100%;
  height: 30px;
  z-index: 0;
}
.topflow .flwobox .flowtit {
  padding: 13px 35px;
  display: flex;
  align-items: center;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
  color: #1635a0;
  border-bottom: 1px #1635a0 solid;
  letter-spacing: 0.05em;
}
.topflow .flwobox .flowtit .titnum {
  width: 40px;
  height: 40px;
  letter-spacing: 0;
  background: #1635a0;
  margin-right: 10px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 29px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  border-radius: 50%;
}
.topflow .flwobox .flowcont {
  padding: 12px 12px 25px 35px;
  display: flex;
  flex-direction: row-reverse;
}
.topflow .flwobox .flowimg {
  flex-shrink: 0;
  margin-left: 25px;
}
.topflow .flwobox .flowin {
  flex: 1;
  padding: 5px 0 0;
}
.topflow .flwobox .flowtxt {
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.68;
}
.topflow .flwobox .flowwork {
  margin-top: 10px;
}
.topflow .flwobox .flowwork li + li {
  margin-top: 10px;
}
.topflow .flwobox .flowwork li {
  text-indent: -1.5em;
  padding-left: 1.5em;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
.topflow .flwobox .flowpoint {
  margin-top: 35px;
  border: 1px #1635a0 solid;
  border-radius: 5px;
  background: #fffce0;
  padding: 20px;
  max-width: 530px;
  position: relative;
}
.topflow .flwobox .flowpoint .pointcap {
  position: absolute;
  left: 10px;
  top: 0;
  transform: translateY(-50%);
  background: #1635a0;
  padding: 2px 10px;
  font-size: 16px;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-radius: 5px;
  z-index: 0;
}
.topflow .flwobox .flowpoint .pointtxt {
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.68;
}
.bluetext {
  font-size: 17px;
  color: #787878;
  margin-left: 23px;
}
.zhengbei {
  background: #f1f9ff;
  border-radius: 21px;
  padding: 17px 25px;
  max-width: 475px;
  margin-top: 23px;
  text-align: left;
}
.zhengbei .zhengbeiti {
  color: #1635a0;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 7px;
}
.zhengbei .zhengbeitx {
  font-size: 16px;
  margin-bottom: 12px;
  letter-spacing: 0.05em;
  line-height: 1.68;
}
.flowimgri {
  text-align: right;
}
.baozhang {
  margin-top: 27px;
}
.baozhangtop {
  display: flex;
}
.baozhangtopti {
  font-size: 34px;
  font-weight: 700;
  color: #1635a0;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
  padding-top: 40px;
}
.baozhangright {
  margin-left: 27px;
}
.baozhangbot {
  background: #fff;
  border-radius: 15px;
  border: 1px solid #1635a0;
  padding: 22px 24px;
}
.baozhangtitle {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #1635a0;
  line-height: 1.68;
}
.baozhangtxt {
  font-size: 16px;
  letter-spacing: 0.05em;
}
.flowin .zhengbei {
  display: none;
}
@media (max-width: 1024px) {
  .xiuli {
    padding-top: 70px;
  }
}
@media (max-width: 800px) {
  .xiuli {
    padding-top: 50px;
  }
  .baozhangtop {
    margin-bottom: 10px;
  }
  .baozhangright {
    margin-left: 18px;
  }
  .baozhangtopti {
    font-size: 21px;
    padding-top: 20px;
  }
  .baozhangtxt {
    font-size: 15px;
  }
}
@media (max-width: 1024px) {
  .topflow .flwobox .flowtit {
    font-size: 19px;
  }
  .topflow .flwobox .flowtit .titnum {
    width: 30px;
    height: 30px;
    margin-right: 7px;
    font-size: 23px;
  }
  .topflow .flwobox .flowcont {
    padding: 15px 15px 20px;
    display: block;
  }
  .topflow .flwobox .flowimg {
    margin: 0 0 15px;
  }
  .flowimgri .zhengbei {
    display: none;
  }
  .flowin .zhengbei {
    display: block;
  }
  .topflow .flwobox .flowimg img {
    width: 100%;
  }
  .topflow .flwobox .flowin {
    padding: 0;
  }
  .topflow .flwobox .flowtxt {
    font-size: 15px;
    letter-spacing: 0.03em;
    line-height: 1.4;
  }
  .topflow .flwobox .flowwork li {
    font-size: 15px;
    line-height: 1.4;
  }
  .topflow .flwobox .flowpoint {
    margin-top: 25px;
    padding: 20px;
    max-width: none;
  }
  .topflow .flwobox .flowpoint .pointtxt {
    font-size: 15px;
    line-height: 1.4;
  }
}

.topexample {
  margin-top: -20px;
}
.topexample .exalist {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  margin-bottom: -25px;
}
.topexample .exalist > li {
  width: 49%;
  padding: 20px 15px 25px;
  background: #fff;
  border: 2px #505050 solid;
  margin-bottom: 25px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
  border-radius: 15px;
  -webkit-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  -moz-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  -ms-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  -o-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
}
.topexample .exalist .exaba {
  display: flex;
  column-gap: 20px;
}
.topexample .exalist .exabatit {
  display: flex;
  align-items: flex-end;
  font-size: 23px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.05em;
  height: 37px;
}
.topexample .exalist .exabaimg {
  position: relative;
}
.topexample .exalist .exabain + .exabain .exabatit {
  font-size: 28px;
  color: #e50020;
}
.topexample .exalist .exabain + .exabain .exabaimg:before {
  position: absolute;
  content: "";
  left: -20px;
  top: 50%;
  transform: translateY(-50%);
  border-left: 14px #e50020 solid;
  border-right: 0;
  border-top: 13px solid transparent;
  border-bottom: 13px solid transparent;
  z-index: 0;
}
.topexample .exalist .exadet {
  margin-top: 15px;
}
.topexample .exalist .exadet li {
  display: flex;
  align-items: center;
}
.topexample .exalist .exadet li + li {
  margin-top: 7px;
}
.topexample .exalist .exadet .dettit {
  width: 88px;
  background: #4b4b4b;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 15px;
  color: #fff;
  line-height: 1.2;
  letter-spacing: 0.05em;
  margin-right: 10px;
  flex-shrink: 0;
}
.topexample .exalist .exadet .dettxt {
  font-size: 16px;
  letter-spacing: 0.05em;
}

@media (max-width: 800px) {
  .topexample {
    margin-top: 0;
  }
  .topexample .exalist {
    display: block;
    margin-bottom: -20px;
  }
  .topexample .exalist > li {
    width: auto;
    padding: 10px 12px 18px;
    margin-bottom: 20px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
  }
  .topexample .exalist .exaba {
    display: flex;
    column-gap: 13px;
  }
  .topexample .exalist .exabatit {
    font-size: 16px;
    height: 26px;
  }
  .topexample .exalist .exabain + .exabain .exabatit {
    font-size: 20px;
  }
  .topexample .exalist .exabain + .exabain .exabaimg:before {
    left: -13px;
    border-left: 10px #e50020 solid;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
  }
  .topexample .exalist .exadet {
    margin-top: 10px;
  }
  .topexample .exalist .exadet li + li {
    margin-top: 5px;
  }
  .topexample .exalist .exadet .dettit {
    width: 70px;
    height: 18px;
    font-size: 13px;
    margin-right: 5px;
  }
  .topexample .exalist .exadet .dettxt {
    font-size: 14px;
  }
}
.topfeature .fealist {
  display: flex;
  align-items: stretch;
  padding-top: 220px;
}
.topfeature .fealist li {
  width: calc((100% - 39px) / 4);
  margin-right: 13px;
  background: #fff;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  border-radius: 10px;
  padding: 15px 10px 20px;
  position: relative;
}
.topfeature .fealist li:nth-child(4n) {
  margin-right: 0;
}
.topfeature .fealist .feaimg {
  position: absolute;
  left: 0;
  text-align: center;
  bottom: 100%;
  z-index: 0;
}
.topfeature .fealist .feacap {
  position: absolute;
  right: 0;
  top: -13px;
  z-index: 1;
}
.topfeature .fealist .featit {
  font-size: 18px;
  font-weight: 700;
  color: #e50020;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}
.topfeature .fealist .featxt {
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media (max-width: 800px) {
  .topfeature .fealist {
    display: block;
    padding-top: 0;
  }
  .topfeature .fealist li {
    width: auto;
    margin-right: 0;
    min-height: 150px;
    padding: 12px 7px 16px 120px;
  }
  .topfeature .fealist li + li {
    margin-top: 25px;
  }
  .topfeature .fealist .feaimg {
    width: 120px;
    left: -10px;
    bottom: auto;
    top: 18px;
  }
  .topfeature .fealist .feacap {
    position: absolute;
    right: auto;
    left: 0;
    top: -30px;
    width: 110px;
  }
  .topfeature .fealist .featit {
    margin-bottom: 5px;
  }
}
@media (max-width: 320px) {
  .topfeature .fealist .featit {
    font-size: 16px;
  }
}

/* XXXXXXXXXX
----------------------------------------------- */

@media (max-width: 1024px) {
}
@media (max-width: 800px) {
}

/* jiage
----------------------------------------------- */
.jiage {
  background: #e0f2ff;
  padding: 45px 0;
}
.jiagetop {
  padding-top: 0;
}
.vehiclewarp {
  background: #e0f2ff;
  padding: 45px 0;
}

.vehiclemain li {
  display: flex;
  margin-bottom: 25px;
}
.vehicleleft {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-end;
  background: #317de0;
  padding: 25px;
  border-radius: 14px 0 0 14px;
  width: 40%;
}
.vehicleleti {
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  margin-left: 20px;
}
.vehicleright {
  display: flex;
  align-items: center;
  background: #fff;
  padding-left: 28px;
  width: 60%;
}
.vehicleriti {
  color: #1635a0;
  font-size: 18px;
  font-weight: 700;
  height: 46px;
  line-height: 44px;
  border: 1px solid #1635a0;
  padding: 0 13px;
  margin-right: 30px;
  position: relative;
  border-right: none;
}
.vehicleriti:before {
  content: "";
  position: absolute;
  right: -14px;
  top: -1px;
  width: 14px;
  height: 46px;
  background: url(../img/common/vehicleriti.png) no-repeat right top / 14px 100%;
}
.vehiclerijg {
  color: #ff3c5d;
  font-size: 60px;
  font-weight: 700;
  width: 253px;
  text-align: right;
}
.vehiclerijg span {
  font-size: 37px;
}
.vehicleritx {
  font-size: 15px;
  font-weight: 700;
  margin-left: 12px;
}
.jiagetxt {
  text-align: center;
  font-size: 20px;
  letter-spacing: 0.005em;
  color: #fff;
  background: #1635a0;
  line-height: 1.5;
  padding: 5px 0;
  margin-bottom: 15px;
}
.jiapcnav ul {
  display: flex;
  justify-content: right;
}
.jiapcnav li {
  font-size: 18px;
  font-weight: 700;
  background: #e6e6e6;
  border: 2px solid #3e3e3e;
  border-bottom: none;
  border-radius: 10px 10px 0 0;
  width: 41%;
  margin-right: 18px;
  text-align: center;
  line-height: 50px;
  height: 50px;
  color: #a0a0a0;
}
.jiapcnav li.on:nth-child(1) {
  background: #ffe2e6;
  color: #212121;
}
.jiapcnav li.on:nth-child(2) {
  background: #ffe6bb;
  color: #212121;
}

.jiapctop ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-left: 1px solid #3e3e3e;
}
.jiapctop ul li {
  color: #212121;
  font-size: 15px;
  line-height: 31px;
  height: 31px;
  background: #e6e6e6;
  border: 1px solid #3e3e3e;
  border-left: none;
  text-align: center;
  width: 16%;
}
.jiapctop ul li:nth-child(1),
.jiapctop ul li:nth-child(4),
.jiapctop ul li:nth-child(7) {
  width: 13%;
}
.jiapcbottom li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  border-right: 1px solid #c7c7c7;
}
.jiapcbottom .jiagepctxt {
  color: #e50020;
  font-size: 18px;
  line-height: 49px;
  height: 49px;
  border-bottom: 1px solid #c7c7c7;
  border-left: 1px solid #c7c7c7;
  text-align: center;
  width: 16%;
}
.jiapcbottom .jiagepctxt:nth-child(1) {
  color: #000;
}
.jiapcbottom .jiagepctxt:nth-child(1),
.jiapcbottom .jiagepctxt:nth-child(4),
.jiapcbottom .jiagepctxt:nth-child(7) {
  width: 13%;
}
.jiagenotes {
  color: #000;
  font-size: 14px;
  letter-spacing: 0.005em;
  padding: 20px 0;
}

.jiaspnav ul {
  display: flex;
  justify-content: space-between;
  border-bottom: 3px solid #212121;
  margin-bottom: 10px;
}
.jiaspnav li {
  font-size: 18px;
  font-weight: 700;
  background: #e6e6e6;
  border: 2px solid #3e3e3e;
  border-bottom: none;
  border-radius: 10px 10px 0 0;
  width: 48%;
  text-align: center;
  line-height: 36px;
  height: 36px;
}
.jiaspnav li.on:nth-child(1) {
  background: #ffe2e6;
  color: #212121;
}
.jiaspnav li.on:nth-child(2) {
  background: #ffe6bb;
  color: #212121;
}

.jiasptop ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-left: 1px solid #3e3e3e;
}
.jiasptop ul li {
  color: #212121;
  font-size: 13px;
  background: #e6e6e6;
  border: 1px solid #3e3e3e;
  border-left: none;
  width: 28%;
  height: 45px;
  line-height: 1.3;
  padding: 5px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.jiasptop ul li:nth-child(1) {
  width: 20%;
}
.jiaspbottom li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  border-right: 1px solid #c7c7c7;
}
.jiaspbottom .jiagesptxt {
  color: #e50020;
  font-size: 14px;
  line-height: 1.1;
  padding: 5px 0;
  height: 45px;
  border-bottom: 1px solid #c7c7c7;
  border-left: 1px solid #c7c7c7;
  width: 28%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.jiaspbottom .jiagesptxt:nth-child(1) {
  color: #000;
  width: 20%;
}
.jiagesp {
  display: none;
}
.pm50 {
  padding-bottom: 50px;
}

.chexing li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
}
.chexing li span {
  background: #ffffff;
  height: 50px;
  line-height: 48px;
  font-size: 15px;
  border-bottom: 1px solid #c7c7c7;
  border-left: 1px solid #c7c7c7;
  width: 21%;
}
.chexing li:nth-child(1) span {
  border-left: none;
  font-size: 18px;
  font-weight: 700;
}
.chexing li span:nth-child(1) {
  width: 16%;
}
.chexing li span:last-child {
  border-right: 1px solid #c7c7c7;
}
.chexing li:nth-child(1) span:nth-child(1) {
  background: none;
}
.chexing li:nth-child(1) span:nth-child(2) {
  background: #ffe57f;
}
.chexing li:nth-child(1) span:nth-child(3) {
  background: #90d79b;
}
.chexing li:nth-child(1) span:nth-child(4) {
  background: #99cfff;
}
.chexing li:nth-child(1) span:nth-child(5) {
  background: #ffbee3;
}
.chexing li:last-child span {
  background: #fffcd5;
  border-bottom: 1px solid #ff5673;
  border-left: 1px solid #ff5673;
  color: #ff3c5d;
  font-weight: 700;
  font-size: 17px;
}
.chexing li:last-child span:last-child {
  border-right: 1px solid #ff5673;
}
.chexing li:last-child span:nth-child(1) {
  font-size: 15px;
  font-weight: 500;
}
.chexing li:nth-last-child(2) span {
  border-bottom: 1px solid #ff5673;
}
@media (max-width: 1024px) {
  .jiapctop ul li {
    font-size: 12px;
  }
  .jiapcbottom .jiagepctxt {
    font-size: 14px;
    line-height: 39px;
    height: 39px;
  }
  .vehicleright {
    justify-content: space-between;
    padding-left: 22px;
  }
  .vehicleleft {
    padding: 20px 5px 20px 15px;
    justify-content: center;
  }
  .vehicleleti {
    font-size: 22px;
    margin-left: 10px;
  }
  .vehiclerijg {
    font-size: 60px;
    text-align: center;
    width: auto;
  }
  .vehiclerijg span {
    font-size: 26px;
  }
  .vehicleriti {
    font-size: 16px;
    margin-right: 15px;
  }
  .vehicleritx {
    margin-right: 30px;
    margin-left: 0;
    font-size: 13px;
  }
  .vehiclewarp {
    padding-bottom: 20px;
  }
}
@media (max-width: 1024px) {
  .jiage {
    padding-top: 10px;
    padding-bottom: 30px;
  }
  .vehiclewarp {
    padding: 20px 0;
  }

  .jiagetxt {
    font-size: 16px;
  }
  .jiagepc {
    display: none;
  }
  .jiagesp {
    display: block;
  }
  .jiagenotes {
    padding: 15px 0;
    font-size: 12px;
  }
  .jiaspnav li {
    color: #a0a0a0;
  }
  .pm50 {
    padding-bottom: 30px;
  }
  .vehicleleft {
    display: block;
    text-align: center;
    padding: 20px;
  }
  .vehicleleti {
    font-size: 20px;
    margin-left: 0;
    margin-bottom: 10px;
  }
  .vehicleright {
    display: block;
    text-align: center;
    padding: 10px;
  }
  .vehicleriti {
    display: inline-block;
    border: 1px solid #1635a0;
    border-bottom: none;
    height: 36px;
    line-height: 33px;
  }
  .vehicleriti:before {
    width: 100%;
    right: 0;
    top: 0;
    background: url(../img/common/vehicleriti_sp.png) no-repeat left bottom / 100% 12px;
  }
  .vehiclerijg {
    font-size: 44px;
  }
  .vehiclerijg span {
    font-size: 20px;
  }
  .vehicleritx {
    font-size: 12px;
    margin-right: 0;
  }
  .vehicleritx br {
    display: none;
  }
  .chexing {
    overflow-x: scroll;
  }
  .chexing ul {
    width: 980px;
  }
  .chexingbox .inner {
    padding-right: 0;
  }
  .chexingbox .jiagetxt {
    margin-right: 20px;
  }
  .chexingbox .jiagenotes {
    margin-right: 20px;
  }
}

/* repair
----------------------------------------------- */
.repair {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  margin-bottom: -25px;
  padding-top: 20px;
}
.repair li {
  width: 49%;
  padding: 20px 15px 25px;
  background: #fff4c9;
  border: 4px #212121 solid;
  margin-bottom: 25px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
  border-radius: 15px;
  -webkit-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  -moz-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  -ms-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  -o-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
}
.repair .repairtop {
  background: #bc2c40;
  font-size: 21px;
  color: #fff;
  padding: 7px 15px;
  margin-bottom: 10px;
}

.repair .repairmain {
  display: flex;
  column-gap: 20px;
}
.repimgico {
  height: 47px;
  display: flex;
  align-items: flex-end;
}
.repairmain .repairimg {
  position: relative;
}
.repairrig .repairimg:before {
  position: absolute;
  content: "";
  left: -20px;
  top: 50%;
  transform: translateY(-50%);
  border-left: 14px #e50020 solid;
  border-right: 0;
  border-top: 13px solid transparent;
  border-bottom: 13px solid transparent;
  z-index: 0;
}
@media (max-width: 1024px) {
}
@media (max-width: 800px) {
  .repair {
    display: block;
    margin-bottom: -20px;
  }
  .repair li {
    width: auto;
  }
  .repair .repairtop {
    font-size: 16px;
  }
  .repair .repairmain {
    justify-content: center;
  }
}

/* features
----------------------------------------------- */
.turestop {
  background: #cd2d43;
  position: relative;
  margin-bottom: 10px;
  border-bottom: 8px solid #802b2b;
  display: flex;
  position: relative;
}
.turestop .turestopic {
  color: #fff;
  font-size: 13px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.turestop .turestopti {
  border-left: 13px solid #212121;
  font-size: 30px;
  color: #fff;
  font-weight: 700;
  line-height: 1.6;
  padding: 5px 0 5px 20px;
}
.turesmain {
  padding: 20px;
  background: #fff4c9;
  border: 4px #212121 solid;
  margin-bottom: 35px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
  border-radius: 15px;
  -webkit-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  -moz-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  -ms-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  -o-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  display: flex;
  column-gap: 12px;
}
.turesrig {
  background: #fff;
  flex: 1;
  padding: 20px;
}
.turesrig .turestxt {
  font-size: 17px;
  letter-spacing: 0.025em;
  line-height: 1.6;
}
.tezhengwrap {
  background: #fff;
  padding: 110px 0 10px;
}
.tezhengmain li {
  background: #e9f6ff;
  box-shadow: 5px 5px 0 #cdddeb;
  border-radius: 15px;
  position: relative;
  padding: 34px 65px 34px 55px;
  display: flex;
  margin-bottom: 60px;
}
.tezhengleft {
  margin-right: 35px;
}
.tezhengright {
  flex: 1;
}
.tezhengxh {
  font-size: 90px;
  color: #ffe16d;
  font-weight: 400;
  font-style: italic;
  position: absolute;
  left: 12px;
  top: -47px;
}
.tezhengleftimg img {
  border-radius: 15px;
}
.tezhengrightti {
  color: #1635a0;
  font-size: 30px;
  font-weight: 700;
  border-bottom: 1px solid #1635a0;
  line-height: 1.8;
  letter-spacing: 0.025em;
  margin-bottom: 20px;
}
.tezhengrighttx {
  font-size: 17px;
  letter-spacing: 0.025em;
}

@media (max-width: 1024px) {
  .tezhengwrap {
    padding-top: 70px;
  }
  .turestop .turestopti {
    font-size: 24px;
  }
  .tezhengmain li {
    padding-right: 40px;
    padding-left: 35px;
  }
  .tezhengleft {
    flex: 1;
    margin-right: 20px;
  }
  .tezhengrightti {
    font-size: 25px;
  }
  .tezhengrighttx {
    font-size: 15px;
  }
}
@media (max-width: 1024px) {
  .tezhengwrap {
    padding-top: 55px;
  }
  .turesmain {
    display: block;
    padding: 10px;
  }
  .turestop .turestopti {
    font-size: 16px;
    padding: 5px 0 5px 10px;
  }
  .turesimg img {
    width: 100%;
    margin-bottom: 10px;
  }
  .turesrig {
    padding: 10px;
  }
  .turesrig .turestxt {
    font-size: 13px;
  }
  .features li:first-child .turestop {
    margin-bottom: 35px;
  }
  .turestop .turestopic {
    color: #212121;
    top: 60px;
    right: 0;
    font-size: 12px;
  }
  .tezhengmain li {
    display: block;
    padding: 20px;
    margin-bottom: 40px;
  }
  .tezhengleft {
    margin-right: 0;
    margin-bottom: 10px;
  }
  .tezhengleftimg {
    text-align: center;
  }
  .tezhengrightti {
    font-size: 21px;
    margin-bottom: 10px;
  }
}

/* staff
----------------------------------------------- */
.staff ul {
  display: flex;
  flex-wrap: wrap;
  column-gap: 5%;
}
.staff li {
  width: 30%;
  background: #c72d43;
  border-radius: 14px;
  position: relative;
  padding: 57px 43px 43px;
}
.staff li:nth-child(n + 4) {
  margin-top: 20px;
}
.staffbot .stafftit {
  font-size: 24px;
  letter-spacing: 0.1em;
  color: #fff;
  font-weight: 700;
  text-align: center;
  padding: 10px 0;
}
.staffbot .stafftxt {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-align: center;
}
.staffictop {
  width: 100%;
  display: flex;
  justify-content: space-between;
  position: absolute;
  left: 0;
  top: 0;
  padding: 20px 20px 0;
}
.stafficbot {
  width: 100%;
  display: flex;
  justify-content: space-between;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 0 20px 20px;
}
@media (max-width: 1024px) {
  .staffbot .stafftxt {
    font-size: 15px;
  }
}
@media (max-width: 800px) {
  .staff ul {
    display: block;
    margin-bottom: -20px;
  }
  .staff li {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 30px 20px;
    margin-bottom: 20px;
  }
  .staffimg {
    width: 40%;
  }
  .staffbot {
    width: 60%;
  }
  .staffictop {
    padding: 10px 10px 0;
  }
  .staffictop img {
    width: 15px;
    height: 15px;
  }
  .stafficbot {
    padding: 0 10px 10px;
  }
  .stafficbot img {
    width: 15px;
    height: 15px;
  }
}

/* mapnav
----------------------------------------------- */
.dianpu {
  background: #fff;
  padding-top: 110px;
}
.mapbotbox .mapnavic {
  padding-bottom: 70px;
}
.mapnavind .mapbotbox:nth-child(1) {
  padding-top: 70px;
}

.mapnav {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}
.mapnav li {
  background: #b7b7b7;
  color: #fff;
  font-size: 16px;
  border-radius: 35px;
  padding: 11px 0;
  width: 222px;
  text-align: center;
  position: relative;
  text-indent: 2em;
}
.mapnav li:nth-child(1) {
  margin-right: 25px;
}
.mapnav li img {
  position: absolute;
  left: 30px;
  top: 0;
  transform: translateY(50%);
}
.mapnav li:nth-child(1) img {
  top: 20%;
}
.mapnav li.on {
  background: #1635a0;
}

.mapnavic {
  display: flex;
  justify-content: center;
}
.mapnavic .mapnavictx {
  background: url(../img/common/icon_mapnav03.svg) left center no-repeat;
  font-size: 16px;
  padding-left: 20px;
  text-decoration: underline;
  text-underline-offset: 2px;
  letter-spacing: 0.1em;
  color: #1635a0;
}
.mapbotmain {
  display: flex;
}
.maprgic {
  color: #787878;
  font-size: 12px;
  margin-bottom: 5px;
}
.maprgic .maprgicbl {
  font-weight: 700;
  font-size: 20px;
  margin-left: 15px;
}
.mapbot .storemap {
  width: 100%;
  border: 3px solid #bfbfbf;
}
.mapbot .storemap iframe {
  height: 568px;
  width: 100%;
}
.mapleft {
  width: 54%;
}
.mapleft.gmap{
  width: 490px;
  height: 568px;
  border: 3px solid #bfbfbf;
}
.maprgiht {
  width: 43%;
  margin-left: auto;
}
/* --- 追加 ここから --- */
ul.maprgihtma {
	/*width: 454px;*/
	height: 65vh;
	overflow: auto;
}
/* --- 追加 ここまで --- */
.maprgihtma li {
  background: #def0ff;
  padding: 15px;
  margin-bottom: 25px;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
}
.maprgihtma li:hover {
  background: #b5dcff;
}
.mapimgtxt {
  display: flex;
  margin-bottom: 10px;
}

.mapimg img,
.exprimg img {
  width: 163px;
  height: 158px;
  object-fit: cover;
}

.mapimgtxt .mapimg {
  width: 163px;
  height: 158px;
}

.mapimgtxt .mapimg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mapimgdet {
  margin-left: 15px;
  flex: 1;
}
.mapimgdet .mapimadd {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 10px;
}
.mapimgdet .mapimtel {
  font-size: 13px;
}
.mapimgdet .mapimbut {
  display: block;
  text-align: center;
  background-image: linear-gradient(#fff, #d6d6d6);
  color: #1635a0;
  font-weight: 700;
  font-size: 16px;
  border: 2px solid #fff;
  border-radius: 10px;
  height: 40px;
  line-height: 36px;
  margin-top: 10px;
  position: relative;
}
.mapimgdet .mapimbut:before {
  position: absolute;
  content: "";
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  border-left: 6px #1635a0 solid;
  border-right: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  z-index: 0;
}
.maprgihtbt {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.maprgihtbt a {
  display: block;
  width: 49%;
}
.maprgihtbt .full-img {
  display: block;
  width: 100%;
}
.mapimgdetsp {
  display: none;
}
.fancybox-skin {
  background: #fff;
}
.maptitle {
  margin-bottom: 25px;
}
.maptitle .maptitletop {
  background: #e3e3e3;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  padding: 5px 0;
  margin-right: 60px;
}
.maptitle .maptitletop br {
  display: none;
}
.express {
  width: 100%;
}
.expredet li {
  background: #def0ff;
  padding: 20px 26px;
  margin-bottom: 25px;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  display: flex;
}
.expredet li:hover {
  background: #b5dcff;
}
.expredet .exprimg {
  margin-right: 20px;
}
.exprtitxt .exprtitle {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
}
.exprtitxt .exprtel {
  font-size: 14px;
  margin-bottom: 25px;
}
.exprtitxt .exprbtn {
  display: flex;
  align-items: center;
  column-gap: 10px;
}
.mapntan .maprgihtbt a {
  width: 100%;
  /* margin-top: -10px; */
}
.mapntan .mapimgdet .mapimbut {
  border: none;
  background: none;
}
.mapntan .mapimgdet .mapimbut:before {
  display: none;
}
.mapnavdial .mapimgdet .mapimtel a {
  font-size: 16px;
  color: #ff3c5d;
  font-weight: 700;
  border: 1px solid #ff3c5d;
  border-radius: 21px;
  margin-top: 5px;
  background: #fff;
  display: block;
  text-align: center;
  height: 30px;
  line-height: 28px;
  margin-bottom: 10px;
}
.mapimtel img {
  width: 16px;
  height: 16px;
  margin-right: 5px;
  padding-top: 7px;
}
.mapntan .maptop {
  margin-bottom: 20px;
}
.fancybox-close {
  right: 20px !important;
  top: 10px !important;
  background: url(../img/common/btn_end.svg) center center no-repeat !important;
  width: 66px !important;
  height: 77px !important;
}
.dpxiangqing {
  display: block;
  margin-top: 5px;
  display: none;
}
.mapntan .mapnavic {
  margin-bottom: 20px;
}
.duotle {
  display: none;
}
/* --- 追加 ここから --- */
.tel_sp{
	display: none!important;
}
.tel_pc{
	display: block!important;
}
/* --- 追加 ここまで --- */
@media (max-width: 1024px) {
  .dianpu {
    padding-top: 70px;
  }
  .maprgihtma li {
    padding: 10px;
  }
  .mapimgdet .mapimadd {
    font-size: 14px;
  }
  .mapimgdet .mapimtel {
    font-size: 12px;
  }
  .mapimgdet .mapimbut {
    font-size: 14px;
  }
  .mapimgdet .mapimbut:before {
    display: none;
  }
  .mapimgdet {
    margin-left: 10px;
  }
  .maptitle .maptitletop {
    font-size: 18px;
  }
  .exprtitxt .exprtel {
    margin-bottom: 15px;
  }
  .mapnavdial .mapimgdet .mapimtel a {
    font-size: 13px;
  }
  .mapnavdial .mapimgdet .mapimtel a {
    height: 28px;
    line-height: 26px;
  }
  .mapimtel img {
    padding-top: 5px;
  }
}
@media (max-width: 800px) {
  .dianpu {
    padding-top: 55px;
  }
  .maptop {
    margin-bottom: 30px;
  }
  .mapnav {
    justify-content: space-between;
  }
  .mapnav li {
    width: 49%;
    font-size: 14px;
  }
  .mapnav li:nth-child(1) {
    margin-right: 0;
  }
  .mapnav li img {
    left: 20px;
    width: 15px;
  }

  .maprgiht {
    width: 44%;
  }
  .mapbot .storemap iframe {
    height: 490px;
  }
  .expredet li {
    padding: 10px 16px;
  }
  .exprtitxt .exprtitle {
    font-size: 16px;
    margin-bottom: 5px;
  }
  .exprtitxt .exprtel {
    margin-bottom: 10px;
    font-size: 12px;
  }
  .mapnavdial .mapimgdet .mapimtel a {
    font-size: 12px;
  }
  .fancybox-close {
    width: 51px !important;
    height: 62px !important;
  }
}

@media (max-width: 1024px) {
  .mapimg img,
  .exprimg img {
    width: 41%;
    height: 22vw;
  }

  .mapimgtxt .mapimg {
    width: 41%;
    height: 22vw;
  }

  .mapimgdetpc .mapimtel {
    display: none;
  }
  .mapimgdet .mapimadd {
    font-size: 16px;
    margin-bottom: 0;
  }
  .mapimgdet .mapimtel {
    font-size: 15px;
  }
  .mapbot .storemap iframe {
    height: 300px;
  }
  .dpxiangqing {
    display: block;
  }
  .mapbotmain {
    display: block;
  }
  .mapleft {
    width: 100%;
    margin-bottom: 10px;
  }
  .mapimgdetsp {
    margin-left: 0;
    display: block;
  }
  .maprgiht {
    width: 100%;
  }
  .maprgihtbt {
    display: block;
  }
  .maprgihtbt a {
    margin-top: 10px !important;
    width: 100%;
    text-align: center;
  }
  .maprgihtbt a img {
    width: 70%;
  }
  .exprtitxt .exprbtn a:nth-child(1) {
    display: none;
  }
  .maptitle .maptitletop {
    font-size: 14px;
  }
  .maptitle .maptitletop br {
    display: block;
  }
  .expredet li {
    display: block;
    position: relative;
    padding: 10px;
  }
  .exprtitxt .exprtel {
    font-size: 15px;
    margin-top: 10px;
  }
  .expredet .exprimg {
    width: 41%;
  }
  .expredet .exprimg img {
    width: 100%;
  }
  .exprtitxt .exprtitle {
    position: absolute;
    right: 10px;
    top: 10px;
    width: 50%;
  }
  .exprtitxt .exprbtn {
    display: block;
  }
  .exprtitxt .exprbtn a {
    display: block;
    margin-top: 10px;
    width: 100%;
    text-align: center;
  }
  .mapntan .mapimgdet .mapimtel {
    font-size: 14px;
  }
  .mapnavdial .mapimgdet .mapimtel a {
    font-size: 19px;
  }
  .fancybox-close {
    background: url(../img/common/btn_end.svg) no-repeat left center / 100% 100% !important;
    width: 40px !important;
    height: 40px !important;
    right: 10px !important;
    top: 5px !important;
  }
  .maptitle .maptitletop {
    margin-right: 0;
  }
  .fancybox-outer {
    padding-top: 30px;
  }
  .duotle {
    display: block;
  }
}
@media (max-width: 480px) {
  .mapimg img,
  .exprimg img {
    width: 135px;
    height: 77px;
  }
  .mapimgtxt .mapimg {
    width: 135px;
    height: 77px;
  }
  .maprgihtbt a img {
    width: 100%;
  }
  .exprtitxt .exprbtn a img {
    width: 100%;
  }
  .exprtitxt .exprtel {
    margin-top: 50px;
  }

  .mapimgdet .mapimbut {
    font-size: 12px;
  }
}
/* details
----------------------------------------------- */
.detatop {
  background: #fff;
  padding: 20px 40px 30px;
  margin: 40px 0;
}
.detatop .detatopti {
  background: #dce9ff;
  color: #212121;
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  padding: 5px 0;
  margin-bottom: 20px;
}
.detatomain {
  display: flex;
}
.detatomain .detatoimg {
  margin-right: 40px;
}
.detatobot .detatotxt {
  font-size: 15px;
  letter-spacing: 0.005em;
  margin-bottom: 15px;
}
.detatobot .totxt {
  font-weight: 700;
  display: inline-block;
  width: 80px;
  border-right: 1px solid #000;
  margin-right: 15px;
}
.detatoico {
  margin-bottom: -20px;
}
.detatoico li {
  margin-bottom: 10px;
}
.detatoico li span {
  font-weight: 700;
  font-size: 17px;
  color: #fff;
  padding: 9px 22px;
  background: #317de0;
  position: relative;
  display: inline-block;
  border-radius: 6px;
}

@media (max-width: 1024px) {
  .detatop {
    margin: 30px 0;
  }
  .detatomain .detatoimg {
    margin-right: 20px;
  }
  .detatop {
    padding: 20px 20px 30px;
  }
}
@media (max-width: 1024px) {
  .detatop {
    padding: 10px 10px 20px;
  }
  .detatop .detatopti {
    margin-bottom: 10px;
    font-size: 20px;
  }
}
@media (max-width: 1024px) {
  .detatomain {
    display: block;
  }
  .detatomain .detatoimg {
    margin-right: 0;
    margin-bottom: 10px;
  }
  .detatobot .detatotxt {
    margin-bottom: 10px;
  }
  .detatomain .detatoimg img {
    width: 100%;
  }
  .detatoico {
    display: flex;
    flex-wrap: wrap;
    column-gap: 20px;
  }
}
@media (max-width: 490px) {
  .detatoico {
    column-gap: 10px;
  }
  .detatoico li span {
    font-size: 10px;
    padding: 5px 14px;
  }
}

.discount {
  background: url(../img/top/bj_discount.jpg) no-repeat left center / 100% 100%;
  padding-top: 43px;
}
.discount .topexample {
  margin-top: 0;
}
.discount .hdico {
  display: block;
  text-align: center;
}
.discmain ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.discmain ul li {
  width: 49%;
  margin-top: 10px;
}
.discmain .discbox {
  background: url(../img/top/bj_discmain.png) no-repeat left bottom / 100% 100%;
  border-bottom: none;
  padding: 20px 17px 30px;
}
.discmain .disctitle {
  background: #ff3c5d;
  color: #fff;
  font-size: 21px;
  font-weight: 700;
  text-align: center;
  padding: 7px 0;
}
.discmain .disctitle br {
  display: none;
}
.discmain .discleft {
  padding: 15px 30px;
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #000;
}
.discmain .discleft .discleftic {
  color: #ff3c5d;
  font-size: 17px;
  font-weight: 700;
}
.discmain .discrigh {
  padding: 15px 30px;
  font-size: 14px;
  letter-spacing: 0.05em;
  font-weight: 400;
}
.discmain .discrigh .discrighic {
  font-size: 16px;
  font-weight: 500;
}
@media (max-width: 1024px) {
  .discmain .disctitle {
    font-size: 18px;
    margin: 0 3px;
  }
}
@media (max-width: 800px) {
  .discount {
    background: url(../img/top/bj_discount_sp.jpg) no-repeat left center / 100% 100%;
  }
  .discmain ul {
    display: block;
  }
  .discmain .disctitle br {
    display: block;
  }
  .discmain ul li {
    width: 100%;
    margin-bottom: 20px;
  }
  .discmain .discrigh,
  .discmain .discleft {
    padding: 10px 20px;
  }
  .discmain .discrigh .discrighic {
    display: block;
  }
}

.voice {
  margin-bottom: -85px;
}
.voice li {
  display: flex;
  align-items: center;
  margin-bottom: 65px;
}
.voice li:nth-child(even) {
  flex-direction: row-reverse;
}
.voice li .voiceimg {
  margin-right: 50px;
}
.voice li:nth-child(even) .voiceimg {
  margin-left: 50px;
  margin-right: 0;
}
.voice li .voicerigh {
  position: relative;
  flex: 1;
  background: url(../img/repair/bj_voicetit01.png) no-repeat left center / 100% 100%;
  background: #e9f6ff;
  border-radius: 15px;
  box-shadow: 8px 8px 0 #cdddeb;
  padding: 15px 25px 15px 25px;
}
.voice li .voicerigh:before {
  position: absolute;
  background: url(../img/repair/bj_voicetit01.png) no-repeat left center / 100% 100%;
  content: "";
  width: 32px;
  height: 35px;
  left: -32px;
  top: 50px;
  z-index: 0;
}
.voice li:nth-child(even) .voicerigh {
  position: relative;
  background: #e9f6ff;
  border-radius: 15px;
  box-shadow: 8px 8px 0 #cdddeb;
  padding: 15px 25px 15px 25px;
}
.voice li:nth-child(even) .voicerigh:before {
  position: absolute;
  background: url(../img/repair/bj_voicetit02.png) no-repeat left center / 100% 100%;
  content: "";
  width: 32px;
  height: 35px;
  left: auto;
  right: -32px;
  top: 50px;
  z-index: 0;
}
.voicerigh .voicetxt {
  font-size: 17px;
  letter-spacing: 0.05em;
  line-height: 1.6;
}

@media (max-width: 1024px) {
  .voice li .voiceimg {
    margin-right: 30px;
  }
  .voice li:nth-child(even) .voiceimg {
    margin-left: 30px;
  }
}
@media (max-width: 1024px) {
  .voice {
    margin-bottom: -35px;
  }
  .voice li {
    align-items: flex-start;
    margin-bottom: 25px;
  }
  .voice li .voiceimg {
    width: 80px;
  }
  .voice li .voicerigh {
    padding: 10px 20px 20px 20px;
  }
  .voice li .voicerigh:before {
    background: url(../img/repair/bj_voicetit01_sp_a.png) no-repeat left center / 100% 100%;
    width: 24px;
    height: 22px;
    left: -24px;
    top: 30px;
  }
  .voice li:nth-child(even) .voicerigh {
    border-radius: 15px;
    box-shadow: 8px 8px 0 #cdddeb;
    padding: 10px 20px 20px 20px;
  }
  .voice li:nth-child(even) .voicerigh:before {
    background: url(../img/repair/bj_voicetit01_sp_b.png) no-repeat left center / 100% 100%;
    width: 24px;
    height: 22px;
    left: auto;
    right: -24px;
    top: 30px;
  }
}
@media (max-width: 320px) {
  .voice li .voiceimg {
    width: 70px;
  }
  .voice li .voicerigh {
    padding: 10px 10px 20px 10px;
  }
  .voice li:nth-child(even) .voicerigh {
    padding: 10px 10px 20px 10px;
  }
}
#mapnavtel,
#mapnavyue,
#mapnavdial {
  display: none;
}

/* 宇部カーケアセンター
----------------------------------------------- */

.is-hide {
  display: none !important;
}

.logocap.lp-ube {
  display: none;
}

.logocap.lp-ube.is-show {
  display: block;
}

#header .headerlink.lp-ube {
  display: none;
}

#header .headerlink.lp-ube.is-show {
  display: flex;
}

@media (max-width: 1024px) {
  #header .headerlink.lp-ube.is-show {
    display: none;
  }
}

.topmain.lp-ube {
  display: none;
}

.topmain.lp-ube.is-show {
  display: block;
}

.ctabox-annotation.lp-ube {
  display: none;
}

.ctabox-annotation.lp-ube.is-show {
  display: block;
}

.maprgihtbt.lp-ube {
	display: none;
}

.maprgihtbt.lp-ube.is-show {
	display: block;
}

.maprgihtbt .full-img {
  display: block;
  width: 100%;
}

.ctabox-annotation {
  display: none;
  color: #fff;
  font-weight: 400;
  font-size: 13px;
  margin-top: 15px;
  line-height: 1.6;
  text-indent: -1em;
  padding-left: 1em;
}

.ctabox-annotation.is-show {
  display: block;
}

@media (max-width: 1024px) {
  .ctabox-annotation {
    max-width: 60%;
    font-size: 12px;
    margin: 15px auto 0;
  }
}

@media (max-width: 490px) {
  .ctabox-annotation {
    max-width: 100%;
    font-size: 10px;
    margin: 10px auto 0;
  }
}
