@media screen and (max-width: 768px) {
  .sp {
    display: block !important;
  }
  .pc {
    display: none !important;
  }
}
@media screen and (min-width: 769px) {
  .pc {
    display: block;
  }
  .sp {
    display: none !important;
  }
}
:root {
  --blue: #004b83;
  --sky: #299CD2;
}

.smn {
  line-height: 1.5;
}
.smn img {
  width: 100%;
  vertical-align: top;
}
.smn a {
  text-decoration: none;
}
.smn .inner {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}
.smn ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.smn ul li {
  margin: 0;
}

.smnHd {
  padding-top: 41px;
  padding-bottom: 41px;
  font-size: 40px;
  font-weight: bold;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  background: url(../images/menu/menu_hd_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}

.smnTop {
  text-align: center;
}

.smnEn {
  font-family: "Cormorant Garamond", serif;
  font-size: 19px;
  font-weight: bold;
  font-style: italic;
  line-height: 1.2;
  font-optical-sizing: auto;
  color: var(--sky);
}

.smnTtl {
  position: relative;
  padding-bottom: 24px;
  font-family: "Zen Old Mincho", serif;
  font-size: 32px;
  line-height: 1.5;
  font-weight: bold;
}
.smnTtl::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 45px;
  height: 5px;
  background: url(../images/menu/menu_ttl_icon.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.smnTtl__hd {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 80px;
  font-family: "Zen Old Mincho", serif;
  font-size: 32px;
  font-weight: bold;
  color: #fff;
  background: url(../images/menu/menu_ttl_bg.jpg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.smnTtl__hd::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 45px;
  height: 3px;
  background: #fff;
}

.smnAnc {
  margin-top: 85px;
}

.smnAnc__links {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 24px;
  padding: 40px 80px;
  background: #f6f8fb;
}

.smnAnc__link {
  position: relative;
  width: calc((100% - 72px) / 4);
  padding: 11px 34px 11px 0;
  border-bottom: 1px solid var(--blue);
  font-size: 18px;
  font-weight: 500;
  color: var(--blue);
}
.smnAnc__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url(../images/icon/anchor.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

@media (min-width: 1921px) {
  .smn .inner {
    max-width: 1440px;
    padding: 0 22.5px;
  }
  .smnHd {
    padding-top: 46.125px;
    padding-bottom: 46.125px;
    font-size: 45px;
  }
  .smnEn {
    font-size: 21.375px;
  }
  .smnTtl {
    padding-bottom: 27px;
    font-size: 36px;
  }
  .smnTtl::after {
    width: 50.625px;
    height: 5.625px;
  }
  .smnTtl__hd {
    height: 90px;
    font-size: 36px;
  }
  .smnTtl__hd::after {
    width: 50.625px;
    height: 3.375px;
  }
  .smnAnc {
    margin-top: 95.625px;
  }
  .smnAnc__links {
    gap: 27px;
    padding: 45px 90px;
  }
  .smnAnc__link {
    width: calc((100% - 81px) / 4);
    padding: 12.375px 38.25px 12.375px 0;
    font-size: 20.25px;
  }
  .smnAnc__link::after {
    width: 27px;
    height: 27px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1280px) {
  .smn .inner {
    max-width: 100vw;
    padding: 0 1.5625vw;
  }
  .smnHd {
    padding-top: 3.203125vw;
    padding-bottom: 3.203125vw;
    font-size: 3.125vw;
  }
  .smnEn {
    font-size: 1.484375vw;
  }
  .smnTtl {
    padding-bottom: 1.875vw;
    font-size: 2.5vw;
  }
  .smnTtl::after {
    width: 3.515625vw;
    height: 0.390625vw;
  }
  .smnTtl__hd {
    height: 6.25vw;
    font-size: 2.5vw;
  }
  .smnTtl__hd::after {
    width: 3.515625vw;
    height: 0.234375vw;
  }
  .smnAnc {
    margin-top: 6.640625vw;
  }
  .smnAnc__links {
    gap: 1.875vw;
    padding: 3.125vw 6.25vw;
  }
  .smnAnc__link {
    width: calc((100% - 5.625vw) / 4);
    padding: 0.859375vw 2.65625vw 0.859375vw 0;
    font-size: 1.40625vw;
  }
  .smnAnc__link::after {
    width: 1.875vw;
    height: 1.875vw;
  }
}
@media (max-width: 768px) {
  .smn .inner {
    max-width: 341.3333333333vw;
    width: 100%;
    margin: 0 auto;
    padding: 0 5.3333333333vw;
  }
  .smnHd {
    padding-top: 8.8vw;
    padding-bottom: 8.8vw;
    font-size: 6.4vw;
    background: url(../images/menu/menu_hd_bg_sp.png);
    background-repeat: no-repeat;
    background-size: cover;
  }
  .smnEn {
    font-size: 4.2666666667vw;
  }
  .smnTtl {
    padding-bottom: 4.2666666667vw;
    font-size: 6.4vw;
  }
  .smnTtl::after {
    width: 12vw;
    height: 1.3333333333vw;
  }
  .smnTtl__hd {
    height: 18.6666666667vw;
    font-size: 6.4vw;
    background: url(../images/menu/menu_ttl_bg_sp.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
  .smnTtl__hd::after {
    width: 12vw;
    height: 0.8vw;
  }
  .smnAnc {
    margin-top: 0;
    background: #f6f8fb;
  }
  .smnAnc__links {
    gap: 4.2666666667vw;
    padding: 5.3333333333vw 0 8vw;
  }
  .smnAnc__link {
    width: calc((100% - 4.2666666667vw) / 2);
    padding: 3.7333333333vw 0vw;
    font-size: 3.7333333333vw;
  }
  .smnAnc__link::after {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
    background: url(../images/icon/anchor.svg);
    background-repeat: no-repeat;
    background-size: cover;
  }
}
.smnPc {
  margin-top: 100px;
}
.smnPc .inner {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
}

.smnPc__flex {
  margin: 50px auto 0;
  gap: 10px;
}

.smnPc__read {
  font-size: 14px;
}

.smnPc__tax {
  margin-left: auto;
  font-size: 16px;
  font-weight: bold;
  white-space: nowrap;
}

.smnPc__main {
  max-width: 900px;
  width: 100%;
  margin: 10px auto 0;
}

.smnPc__ttl {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  height: 60px;
  padding: 0 16px;
  font-size: 22px;
  font-weight: bold;
  color: #fff;
  background: var(--blue);
}

table.smnPc__tb {
  width: 100%;
  margin: 0;
  border: none;
}
table.smnPc__tb th {
  padding: 16px;
  border: 1px solid #c9c8c7;
  border-left: none;
  border-right: none;
  background: #e3e8f1;
  font-size: 16px;
  font-weight: bold;
}
table.smnPc__tb th .noto {
  display: block;
  margin-top: 4px;
  font-size: 14px;
  font-weight: 400;
}
table.smnPc__tb td {
  padding: 23px 0 23px 23px;
  border: 1px solid #c9c8c7;
  border-left: none;
  border-right: none;
  vertical-align: middle;
  text-align: right;
}
table.smnPc__tb td .lot {
  font-size: 14px;
  font-weight: 400;
}
table.smnPc__tb td .num {
  font-size: 26px;
  font-weight: bold;
}
table.smnPc__tb td .yen {
  font-size: 14px;
  font-weight: bold;
}

.smnPc__note {
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.5;
}

.smnPay {
  margin-top: 100px;
}
.smnPay .inner {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
}

.smnPay__main {
  border: 1px solid #f2e100;
}

.smnPay__hd {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 76px;
  border-bottom: 1px solid #f2e100;
  font-size: 24px;
  font-weight: bold;
  color: var(--blue);
  background: #fdfad6;
}

.smnPay__box {
  padding: 23px 24px 30px;
}

.smnPay__read {
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
}

.smnPay__img {
  margin: 30px auto 0;
  width: 660px;
}

.smnPay__flex {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 760px;
  margin: 30px auto 0;
}

.smnPay__li {
  width: 50%;
}

.smnPay__sub {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 300px;
  height: 30px;
  margin: 0 auto;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  background: #299cd2;
}

.smnPay__logo.smnPay__logo01 {
  width: 360px;
  margin: 16px auto 0;
}
.smnPay__logo.smnPay__logo02 {
  width: 204px;
  margin: 12px auto 0;
}

@media (min-width: 1921px) {
  .smnPc {
    margin-top: 112.5px;
  }
  .smnPc .inner {
    max-width: 1012.5px;
  }
  .smnPc__flex {
    margin: 56.25px auto 0;
    gap: 11.25px;
  }
  .smnPc__read {
    font-size: 15.75px;
  }
  .smnPc__tax {
    font-size: 18px;
  }
  .smnPc__main {
    max-width: 1012.5px;
    margin: 11.25px auto 0;
  }
  .smnPc__ttl {
    height: 67.5px;
    padding: 0 18px;
    font-size: 24.75px;
  }
  table.smnPc__tb th {
    padding: 18px;
    font-size: 18px;
  }
  table.smnPc__tb th .noto {
    margin-top: 4.5px;
    font-size: 15.75px;
  }
  table.smnPc__tb td {
    padding: 25.875px 0 25.875px 25.875px;
  }
  table.smnPc__tb td .lot {
    font-size: 15.75px;
    font-weight: 400;
  }
  table.smnPc__tb td .num {
    font-size: 29.25px;
  }
  table.smnPc__tb td .yen {
    font-size: 15.75px;
  }
  .smnPc__note {
    margin-top: 22.5px;
    font-size: 15.75px;
  }
  .smnPay {
    margin-top: 112.5px;
  }
  .smnPay .inner {
    max-width: 1012.5px;
  }
  .smnPay__hd {
    height: 85.5px;
    font-size: 27px;
  }
  .smnPay__box {
    padding: 25.875px 27px 33.75px;
  }
  .smnPay__read {
    font-size: 18px;
  }
  .smnPay__img {
    margin: 33.75px auto 0;
    width: 742.5px;
  }
  .smnPay__flex {
    width: 855px;
    margin: 33.75px auto 0;
  }
  .smnPay__sub {
    width: 337.5px;
    height: 33.75px;
    border-radius: 56.25px;
    font-size: 18px;
  }
  .smnPay__logo.smnPay__logo01 {
    width: 405px;
    margin: 18px auto 0;
  }
  .smnPay__logo.smnPay__logo02 {
    width: 229.5px;
    margin: 13.5px auto 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1280px) {
  .smnPc {
    margin-top: 7.8125vw;
  }
  .smnPc .inner {
    max-width: 70.3125vw;
  }
  .smnPc__flex {
    margin: 3.90625vw auto 0;
    gap: 0.78125vw;
  }
  .smnPc__read {
    font-size: 1.09375vw;
  }
  .smnPc__tax {
    font-size: 1.25vw;
  }
  .smnPc__main {
    max-width: 70.3125vw;
    margin: 0.78125vw auto 0;
  }
  .smnPc__ttl {
    height: 4.6875vw;
    padding: 0 1.25vw;
    font-size: 1.71875vw;
  }
  table.smnPc__tb th {
    padding: 1.25vw;
    font-size: 1.25vw;
  }
  table.smnPc__tb th .noto {
    margin-top: 0.3125vw;
    font-size: 1.09375vw;
  }
  table.smnPc__tb td {
    padding: 1.796875vw 0 1.796875vw 1.796875vw;
  }
  table.smnPc__tb td .lot {
    font-size: 1.09375vw;
    font-weight: 400;
  }
  table.smnPc__tb td .num {
    font-size: 2.03125vw;
  }
  table.smnPc__tb td .yen {
    font-size: 1.09375vw;
  }
  .smnPc__note {
    margin-top: 1.5625vw;
    font-size: 1.09375vw;
  }
  .smnPay {
    margin-top: 7.8125vw;
  }
  .smnPay .inner {
    max-width: 70.3125vw;
  }
  .smnPay__hd {
    height: 5.9375vw;
    font-size: 1.875vw;
  }
  .smnPay__box {
    padding: 1.796875vw 1.875vw 2.34375vw;
  }
  .smnPay__read {
    font-size: 1.25vw;
  }
  .smnPay__img {
    margin: 2.34375vw auto 0;
    width: 51.5625vw;
  }
  .smnPay__flex {
    width: 59.375vw;
    margin: 2.34375vw auto 0;
  }
  .smnPay__sub {
    width: 23.4375vw;
    height: 2.34375vw;
    border-radius: 3.90625vw;
    font-size: 1.25vw;
  }
  .smnPay__logo.smnPay__logo01 {
    width: 28.125vw;
    margin: 1.25vw auto 0;
  }
  .smnPay__logo.smnPay__logo02 {
    width: 15.9375vw;
    margin: 0.9375vw auto 0;
  }
}
@media (max-width: 768px) {
  .smnPc {
    margin-top: 16vw;
  }
  .smnPc__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
        -ms-flex-flow: column;
            flex-flow: column;
    gap: 2.6666666667vw;
    margin: 10.6666666667vw auto 0;
  }
  .smnPc__read {
    font-size: 3.7333333333vw;
  }
  .smnPc__tax {
    font-size: 3.7333333333vw;
    font-weight: bold;
    margin-left: auto;
  }
  .smnPc__main {
    max-width: 240vw;
    margin: 2.6666666667vw auto 0;
  }
  .smnPc__ttl {
    height: 13.3333333333vw;
    padding: 0 3.2vw;
    font-size: 4.8vw;
  }
  table.smnPc__tb tr {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
        -ms-flex-flow: column;
            flex-flow: column;
  }
  table.smnPc__tb th {
    padding: 3.7333333333vw 4.2666666667vw;
    font-size: 4.8vw;
    border: 1px solid #c9c8c7;
    border-bottom: none;
  }
  table.smnPc__tb th .noto {
    display: inline;
    margin-top: 0;
    font-size: 3.7333333333vw;
  }
  table.smnPc__tb td {
    padding: 2.1333333333vw;
    border: 1px solid #c9c8c7;
    border-top: none;
  }
  table.smnPc__tb td .lot {
    font-size: 3.7333333333vw;
  }
  table.smnPc__tb td .num {
    padding-left: 2.6666666667vw;
    font-size: 6.9333333333vw;
  }
  table.smnPc__tb td .yen {
    padding-left: 0.8vw;
    font-size: 3.7333333333vw;
  }
  .smnPc__note {
    margin-top: 4.2666666667vw;
    font-size: 3.2vw;
    line-height: 1.5;
  }
  .smnPay {
    margin-top: 16vw;
  }
  .smnPay .inner {
    max-width: 240vw;
  }
  .smnPay__hd {
    height: 13.3333333333vw;
    font-size: 4.8vw;
  }
  .smnPay__box {
    padding: 6.6666666667vw 4.8vw 7.2vw;
  }
  .smnPay__read {
    font-size: 4vw;
  }
  .smnPay__img {
    margin: 5.3333333333vw auto 0;
    width: 56vw;
  }
  .smnPay__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
        -ms-flex-flow: column;
            flex-flow: column;
    gap: 8vw;
    width: 100%;
    margin: 8vw auto 0;
  }
  .smnPay__li {
    width: 100%;
  }
  .smnPay__sub {
    width: 80vw;
    height: 8vw;
    border-radius: 13.3333333333vw;
    font-size: 4.2666666667vw;
  }
  .smnPay__logo.smnPay__logo01 {
    width: 57.6vw;
    margin: 4.2666666667vw auto 0;
  }
  .smnPay__logo.smnPay__logo02 {
    width: 57.8666666667vw;
    margin: 4vw auto 0;
  }
}
.smnPc__main {
  max-width: unset;
}/*# sourceMappingURL=price.css.map */