@charset "UTF-8";
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-width: 0;
  border-style: solid;
}

:where(html) {
  line-height: 1.15;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
}

:where(body) {
  margin: 0;
}

:where(main) {
  display: block;
}

:where(p, table, blockquote, address, pre, iframe, form, figure, dl) {
  margin: 0;
}

:where(h1, h2, h3, h4, h5, h6) {
  margin: 0;
  font-weight: inherit;
  font-size: inherit;
}

:where(ul, ol) {
  margin: 0;
  padding: 0;
  list-style: none;
}

:where(dt) {
  font-weight: bold;
}

:where(dd) {
  margin-left: 0;
}

:where(hr) {
  clear: both;
  overflow: visible;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin: 0;
  height: 0;
  border-top-width: 1px;
  color: inherit;
}

:where(pre) {
  font-size: inherit;
  font-family: monospace, monospace;
}

:where(address) {
  font-style: inherit;
}

:where(a) {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
}

:where(abbr[title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

:where(b, strong) {
  font-weight: bolder;
}

:where(code, kbd, samp) {
  font-size: inherit;
  font-family: monospace, monospace;
}

:where(small) {
  font-size: 80%;
}

:where(sub, sup) {
  position: relative;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}

:where(sub) {
  bottom: -0.25em;
}

:where(sup) {
  top: -0.5em;
}

:where(svg, img, embed, object, iframe) {
  vertical-align: bottom;
}

:where(button, input, optgroup, select, textarea) {
  -moz-appearance: none;
       appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  vertical-align: middle;
  text-align: inherit;
  text-transform: inherit;
  font: inherit;
  -webkit-appearance: none;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  cursor: pointer;
}

:where(button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled) {
  cursor: default;
}

:-moz-focusring {
  outline: auto;
}

:where(select:disabled) {
  opacity: inherit;
}

:where(option) {
  padding: 0;
}

:where(fieldset) {
  margin: 0;
  padding: 0;
  min-width: 0;
}

:where(legend) {
  padding: 0;
}

:where(progress) {
  vertical-align: baseline;
}

:where(textarea) {
  overflow: auto;
}

:where([type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button) {
  height: auto;
}

:where([type=search]) {
  outline-offset: -2px;
}

:where([type=search]::-webkit-search-decoration) {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

:where([type=number]) {
  -moz-appearance: textfield;
}

:where(label[for]) {
  cursor: pointer;
}

:where(details) {
  display: block;
}

:where(summary) {
  display: list-item;
}

:where([contenteditable]:focus) {
  outline: auto;
}

:where(table) {
  border-collapse: collapse;
  border-color: inherit;
}

:where(caption) {
  text-align: left;
}

:where(td, th) {
  padding: 0;
  vertical-align: top;
}

:where(th) {
  text-align: left;
  font-weight: bold;
}

:root {
  --hover: #f5fefe;
  --line: #9bc8e9;
  --primary: #015c9e;
  --secondary: #d7eff2;
  --tertiary: #f5fefe;
  --quaternary: #ffffff;
  --quinary: #ffffff;
}

html {
  font-size: 62.5%;
}

body {
  background-color: #fff;
  color: var(--primary);
  overflow-wrap: break-word;
  word-wrap: break-word;
  font-weight: 400;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", HelveticaNeue, sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 2;
  line-break: strict;
  background-color: var(--quaternary);
}
@media screen and (min-width: 641px) {
  body {
    min-width: 1140px;
    width: 100%;
  }
}
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.4;
}

:where(a) {
  color: #0092d6;
  text-decoration: underline;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.wrap {
  margin: 0 auto;
}
@media screen and (min-width: 641px) {
  .wrap {
    padding: 0 80px;
    max-width: 1140px;
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  .wrap {
    padding: 0 16px;
  }
}

.main {
  padding-bottom: 25px;
}

@media screen and (min-width: 641px) {
  .main {
    padding-top: 65px; 
  }
}
@media screen and (max-width: 640px) {
  .main {
    padding-top: 50px;
  }
}

.text-r {
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.text-c {
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

[data-dialog] {
  cursor: pointer;
}

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

.display-none-delivery {
  display: none !important;
}

@media screen and (min-width: 641px) {
  .pc-none {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .sp-none {
    display: none;
  }
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  background-color: var(--quinary);
  width: 100%;
  z-index: 999;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.25);
}
@media screen and (min-width: 641px) {
  .header {
    padding: 6px 85px;
  }
}
@media screen and (max-width: 640px) {
  .header {
    padding: 6px 0;
  }
}
.header-logo {
    float: left;
}
@media screen and (max-width: 640px) {
  .header-logo img {
    width: auto;
    height: 40px;
  }
}

.footer {
  padding: 20px 0 30px;
  text-align: center;
}
.footer-nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 10px;
}
.footer-nav-list-item {
  font-size: 1.2rem;
}
.footer-nav-list-item-link {
  color: #000;
  text-decoration: none;
}
.footer-copy {
  color: #000;
}
.ttl-page {
  background-image: url("../img/common/bg-pageTtl.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #fff;
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 641px) {
  .ttl-page {
    margin-bottom: 36px;
    padding: 16px 0;
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 640px) {
  .ttl-page {
    margin-bottom: 18px;
    padding: 12px 0;
    font-size: 2.0rem;
  }
}
.ttl-finish {
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 641px) {
  .ttl-finish {
    margin-bottom: 56px;
    margin-top: 56px;
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 640px) {
  .ttl-finish {
    margin-top: 36px;
    margin-bottom: 36px;
    font-size: 2.2rem;
  }
}
.ttl-confirm {
  padding: 8px;
  background-color: #a6ceeb;
  color: #fff;
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 641px) {
  .ttl-confirm {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 640px) {
  .ttl-confirm {
    font-size: 1.6rem;
  }
}
.ttl-deliveryService {
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 641px) {
  .ttl-deliveryService {
    margin-bottom: 40px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .ttl-deliveryService {
    margin-bottom: 20px;
    font-size: 2.0rem;
  }
}
.ttl-section {
  position: relative;
  margin-bottom: 12px;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-weight: 500;
}
@media screen and (min-width: 641px) {
  .ttl-section {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .ttl-section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
    font-weight: 700;
    font-size: 1.8rem;
    flex-direction: row;
  }
  .ttl-section-text-sm {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 641px) {
  .ttl-section .label-must {
    position: absolute;
    bottom: 0.25em;
    left: calc(100% + 14px);
  }
}
.ttl-section-contents {
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-weight: 500;
}
@media screen and (min-width: 641px) {
  .ttl-section-contents {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .ttl-section-contents {
    font-size: 1.8rem;
  }
}
.ttl-section-contents-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 641px) {
  .ttl-section-contents-item {
    gap: 12px;
    font-weight: 500;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .ttl-section-contents-item {
    gap: 8px;
    font-weight: 600;
    font-size: 1.7rem;
  }
}
.ttl-section-contents-item + .input-text {
  margin-top: 8px;
}
.ttl-section-contents-item + .input-select {
  margin-top: 12px;
}
.ttl-section-contents-item + .input-checkbox {
  margin-top: 12px;
}
.ttl-section-contents-item .label-must {
  font-size: 1.6rem;
  padding: 0 8px;
}
@media screen and (max-width: 640px) {
  .ttl-section-contents-item .label-must {
    font-size: 1.4rem;
    padding: 0 6px;
  }
}
.ttl-section-contents-item-card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 641px) {
  .ttl-section-contents-item-card {
    gap: 12px;
    font-weight: 500;
    font-size: 1.8rem;
    align-items: baseline;
  }
}
@media screen and (max-width: 640px) {
  .ttl-section-contents-item-card {
    gap: 8px;
    font-weight: 600;
    font-size: 1.7rem;
    align-items: center;
  }
}
.ttl-section-contents-item-card + .input-text {
  margin-top: 8px;
}
.ttl-section-contents-item-card + .input-select {
  margin-top: 12px;
}
.ttl-section-contents-item-card + .input-checkbox {
  margin-top: 12px;
}
.ttl-section-contents-item-card .label-must {
  font-size: 1.6rem;
  padding: 0 8px;
}
@media screen and (max-width: 640px) {
  .ttl-section-contents-item-card .label-must {
    font-size: 1.4rem;
    padding: 0 6px;
  }
}
.contents-txt {
  text-align: center;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (min-width: 641px) {
  .contents-txt {
    margin-bottom: 28px;
    font-size: 2.0rem;
  }
}
@media screen and (max-width: 640px) {
  .contents-txt {
    margin-bottom: 16px;
    font-size: 1.5rem;
  }
}

.not-supported-contents-txt {
  text-align: center;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (min-width: 641px) {
  .not-supported-contents-txt {
    margin-top: 56px;
    margin-bottom: 28px;
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 640px) {
  .not-supported-contents-txt {
    margin-top: 38px;
    margin-bottom: 22px;
    font-size: 1.6rem;
    padding: 0 20px;
  }
}

.campaign-info-title-txt {
  text-align: center;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (min-width: 641px) {
  .campaign-info-title-txt {
    margin-top: 56px;
    margin-bottom: 28px;
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 640px) {
  .campaign-info-title-txt {
    margin-top: 38px;
    margin-bottom: 22px;
    font-size: 1.6rem;
    padding: 0 20px;
  }
}

.campaign-info-contents-txt {
  font-weight: 300;
  line-height: 1.6;
}
@media screen and (min-width: 641px) {
  .campaign-info-contents-txt {
    margin-top: 56px;
    margin-bottom: 28px;
    font-size: 1.8rem;
    padding: 0 20%;
  }
}
@media screen and (max-width: 640px) {
  .campaign-info-contents-txt {
    margin-top: 38px;
    margin-bottom: 22px;
    font-size: 1.4rem;
    padding: 0 20px;
  }
}
.campaign-info-contents-txt_bold {
  font-weight: 500;
}

@media screen and (min-width: 641px) {
  .section {
    padding: 34px 32px 46px;
    border: 12px solid var(--secondary);
    background-color: var(--quinary);
  }
}
@media screen and (max-width: 640px) {
  .section {
    padding: 24px 16px;
    border: 4px solid var(--secondary);
    background-color: var(--quinary);
  }
}
@media screen and (min-width: 641px) {
  .section + .section {
    margin-top: 30px;
  }
}
@media screen and (max-width: 640px) {
  .section + .section {
    margin-top: 20px;
  }
}
.section-txt {
  text-align: center;
  font-weight: 500;
}
@media screen and (min-width: 641px) {
  .section-txt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .section-txt {
    font-size: 1.5rem;
    line-height: 1.6;
  }
}
.section-note {
  position: relative;
  padding-left: 1.25em;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .section-note {
    margin-top: 8px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 640px) {
  .section-note {
    margin-top: 4px;
    font-size: 1.3rem;
  }
  .section-note.text-r {
    margin-left: inherit;
    text-align: left;
  }
}
.section-note::before {
  content: "※";
  position: absolute;
  left: 0;
}
.section-note + .section-note {
  margin-top: 0;
}
.section-note-none {
  position: relative;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .section-note-none {
    margin-top: 4px;
    font-size: 1.6rem;
  }
  .section-note-none.font-large {
    font-size: 1.7rem;
  }
  .section-note-none.shift-right {
    left: 7%;
  }
}
@media screen and (max-width: 640px) {
  .section-note-none {
    margin-top: 6px;
    margin-bottom: 6px;
    font-size: 1.5rem;
  }
  .section-note-none.text-r {
    text-align: left;
  }
  .section-note-none.shift-right {
    left: 20%;
  }
}
.section-note-none + .section-note-none {
  margin-top: 0;
}
.section-contents {
  margin-inline: auto;
  max-width: 850px;
}
@media screen and (min-width: 641px) {
  .section-contents + .section-contents {
    margin-top: 50px;
  }
}
@media screen and (max-width: 640px) {
  .section-contents + .section-contents {
    margin-top: 40px;
  }
}
.section-contents.otherContents {
  border-top: 3px dashed var(--primary);
}
@media screen and (min-width: 641px) {
  .section-contents.otherContents {
    margin-top: 132px;
    padding-top: 72px;
  }
}
@media screen and (max-width: 640px) {
  .section-contents.otherContents {
    margin-top: 64px;
    padding-top: 36px;
  }
}
@media screen and (min-width: 641px) {
  .section-contents-item:first-of-type:not(:first-child) {
    margin-top: 24px;
  }
}
@media screen and (max-width: 640px) {
  .section-contents-item:first-of-type:not(:first-child) {
    margin-top: 20px;
  }
}
@media screen and (min-width: 641px) {
  .section-contents-item + .section-contents-item {
    margin-top: 16px;
  }
}
@media screen and (max-width: 640px) {
  .section-contents-item + .section-contents-item {
    margin-top: 12px;
  }
}
.section-contents-item-note {
  position: relative;
  padding-left: 1.25em;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .section-contents-item-note {
    margin-top: 8px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 640px) {
  .section-contents-item-note {
    margin-top: 4px;
    font-size: 1.2rem;
  }
  .ttl-section-contents-item + .section-contents-item-note {
    margin-top: 16px;
  }
  .ttl-section-contents-item-card + .section-contents-item-note {
    margin-top: 16px;
  }
}
.section-contents-item-note::before {
  content: "※";
  position: absolute;
  left: 0;
}
@media screen and (min-width: 641px) {
  .input-radio-type-05 + .section-contents-item-note {
    margin-top: 4px;
  }
}
[style="display: none;"] + .section-contents-item-note {
  margin-top: 0;
}
.section-contents-item-img {
  text-align: center;
}
.section-contents-item-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 641px) {
  .section-contents-item-header {
    gap: 16px;
    margin-top: 24px;
  }
}
@media screen and (max-width: 640px) {
  .section-contents-item-header {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 16px;
  }
}
.section-contents-item-header .error-message {
  display: block;
}
.section-contents-item-header + .input-text {
  margin-top: 12px;
}
.section-contents-item-header-body {
  margin-left: auto;
  width: 800px;
}
.section-contents-item-header-body .section-contents-item-flex {
  gap: 135px;
}
.section-contents-item-header-body-dt {
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 1.4;
}
.section-contents-item-header .section-note {
  margin-left: auto;
}
@media screen and (min-width: 641px) {
  .section-contents-item-zipsearch-header {
    padding-left:100px;
    padding-right:100px;
    gap: 16px;
  }
}
@media screen and (max-width: 640px) {
  .section-contents-item-zipsearch-header {
    display: inline;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.section-contents-item-zipsearch-header-left {
  text-align: left;
  float: left;
}
.section-contents-item-zipsearch-header-right {
  text-align: right;
}

.ttl-section-contents-item-zipsearch {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 641px) {
  .ttl-section-contents-item-zipsearch {
    gap: 12px;
    font-weight: 500;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .ttl-section-contents-item-zipsearch {
    gap: 8px;
    font-weight: 700;
    font-size: 1.8rem;
  }
}
.btn-address-zipsearch {
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  border: 1px solid var(--primary);
  background-color: #fbfbfb;
  color: var(--primary);
  text-decoration: none;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  max-width: 180px;
  width: 100%;
  font-weight: 500;
  height: 25px;
  border-radius: 15px;
}
@media screen and (min-width: 641px) {
  .btn-address-zipsearch {
    max-width: 220px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 640px) {
  .btn-address-zipsearch {
    max-width: 180px;
    font-size: 1.3rem;
  }
}
.section-contents-item-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 641px) {
  .section-contents-item-flex {
    gap: 56px;
  }
}
@media screen and (max-width: 640px) {
  .section-contents-item-flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 16px;
  }
}
.section-contents-item-flex.expiration_date {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (min-width: 641px) {
  .section-contents-item-flex + .section-contents-item-flex {
    margin-top: 32px;
  }
}
@media screen and (max-width: 640px) {
  .section-contents-item-flex + .section-contents-item-flex {
    margin-top: 16px;
  }
}
@media screen and (min-width: 641px) {
  .section-contents-item-flex-header {
    margin-left: auto;
    width: 650px;
  }
}
@media screen and (max-width: 640px) {
  .section-contents-item-flex-header {
    margin-top: 8px;
    width: 100%;
  }
}
@media screen and (min-width: 641px) {
  .section-contents-item-flex-body-item + .section-contents-item-flex-body-item {
    margin-top: 12px;
  }
}
@media screen and (max-width: 640px) {
  .section-contents-item-flex-body-item + .section-contents-item-flex-body-item {
    margin-top: 12px;
  }
}
@media screen and (min-width: 641px) {
  .section-contents-item-flex-body .section-contents-item-flex {
    gap: 135px;
  }
}
@media screen and (max-width: 640px) {
  .section-contents-item-flex-body .section-contents-item-flex {
    -webkit-box-flex: wrap;
        -ms-flex: wrap;
            flex: wrap;
    gap: 24px;
  }
}
.section-contents-item-flex-body-dt {
  margin-bottom: 1px;
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .section-contents-item-flex-body-dt {
    font-size: 2.0rem;
  }
}
@media screen and (max-width: 640px) {
  .section-contents-item-flex-body-dt {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 641px) {
  .section-contents-btn {
    margin-top: 30px;
  }
}
@media screen and (max-width: 640px) {
  .section-contents-btn {
    margin-top: 20px;
  }
}
.section-contents-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 641px) {
  .section-contents-flex {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 32px;
  }
  .section-contents-flex.col2 {
    gap: 40px;
  }
  .section-contents-flex.col2l {
    gap: 40px;
  }
  .section-contents-flex.col3 {
    gap: 30px;
  }
  .section-contents-flex.col4 {
    gap: 30px;
  }
}
@media screen and (max-width: 640px) {
  .section-contents-flex {
    gap: 16px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 16px;
  }
}
.ttl-section + .section-contents-flex {
  margin-top: 24px;
}
.section-contents-flex-item {
  position: relative;
}
.section-contents-flex-item.osusume::before {
  content: "";
  position: absolute;
  z-index: 1;
  background-image: url("../img/common/icon-osusume.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 641px) {
  .section-contents-flex-item.osusume::before {
    top: -70px;
    left: 0;
    margin: auto;
    width: 167px;
    height: 95px;
  }
}
@media screen and (max-width: 640px) {
  .section-contents-flex-item.osusume::before {
    top: -40px;
    left: -8px;
    width: 90px;
    height: auto;
    aspect-ratio: 167/95;
  }
}
@media screen and (min-width: 641px) {
  .col2 > .section-contents-flex-item {
    width: 310px;
  }
}
@media screen and (max-width: 640px) {
  .col2 > .section-contents-flex-item {
    width: 100%;
  }
}
@media screen and (min-width: 641px) {
  .col2l > .section-contents-flex-item {
    width: 370px;
  }
}
@media screen and (max-width: 640px) {
  .col2l > .section-contents-flex-item {
    width: 100%;
  }
}
@media screen and (min-width: 641px) {
  .col3 > .section-contents-flex-item {
    width: calc((100% + 30px) / 3 - 30px);
  }
}
@media screen and (max-width: 640px) {
  .col3 > .section-contents-flex-item {
    width: 100%;
  }
}
@media screen and (min-width: 641px) {
  .col4 > .section-contents-flex-item {
    width: calc((100% + 30px) / 4 - 30px);
  }
}
@media screen and (max-width: 640px) {
  .col4 > .section-contents-flex-item {
    width: 100%;
  }
}
@media screen and (min-width: 641px) {
  .section-btn {
    margin: 30px auto 0;
    width: 760px;
  }
  .btn-mt {
    margin-top: 30px;
  }
}
@media screen and (max-width: 640px) {
  .section-btn {
    margin: 20px auto 0;
    width: 100%;
  }
  .btn-mt {
    margin-top: 20px;
  }
}
.section-zip {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (min-width: 641px) {
  .section-zip {
    gap: 12px;
    margin-top: 10px;
    padding-left:100px;
    padding-right:100px;
  }
}
@media screen and (max-width: 640px) {
  .section-zip {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
    margin-top: 8px;
  }
}
@media screen and (min-width: 641px) {
  .section-zip-body {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
@media screen and (max-width: 640px) {
  .section-zip-body {
    width: 100%;
  }
  .section-zip-body .error-message {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (max-width: 640px) {
  .section-zip-btn {
    margin-inline: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media screen and (min-width: 641px) {
  .section-zip-note {
    padding-left:100px;
    padding-right:100px;
  }
}
@media screen and (min-width: 641px) {
  .deliveryResult {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult {
    margin-bottom: 22px;
  }
}
.deliveryResult-note {
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .deliveryResult-note {
    font-size: 1.5rem;
    margin-bottom: 30px;
    margin-left: 25px;
    margin-right: 25px;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-note {
    font-size: 1.3rem;
  }
}
.section-bottom-note {
  position: relative;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .section-bottom-note {
    font-size: 1.6rem;
    margin-top: 12px;
  }
}
@media screen and (max-width: 640px) {
  .section-bottom-note {
    margin-top: 12px;
    margin-bottom: 6px;
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 641px) {
  .section-timeout {
    padding: 20px 32px 10px;
    border: 12px solid var(--secondary);
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 640px) {
  .section-timeout {
    padding: 20px 16px 10px;
    border: 4px solid var(--secondary);
    margin-bottom: 32px;
  }
}
@media screen and (min-width: 641px) {
  .contents-errors-list {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .contents-errors-list {
    font-size: 1.3rem;
  }
}
.flow {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 641px) {
  .flow {
    gap: 80px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 24px;
    margin-top: 24px;
  }
}
@media screen and (max-width: 640px) {
  .flow {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 16px;
    margin-top: 16px;
  }
}
.flow::before {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  display: block;
  margin: auto;
  height: 1px;
  background-color: #c3c3c3;
}
@media screen and (min-width: 641px) {
  .flow::before {
    top: 27px;
    width: calc(100% - 470px);
  }
}
@media screen and (max-width: 640px) {
  .flow::before {
    top: 20px;
    width: calc(100% - 76px);
  }
}
.flow-item {
  position: relative;
  color: #c3c3c3;
  text-align: center;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .flow-item {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .flow-item {
    font-size: 1.2rem;
  }
}
.flow-item::before {
  content: "";
  display: block;
  border: 1px solid transparent;
  border-radius: 50%;
}
@media screen and (min-width: 641px) {
  .flow-item::before {
    margin: 0 auto 8px;
    width: 56px;
    height: 56px;
  }
}
@media screen and (max-width: 640px) {
  .flow-item::before {
    margin: 0 auto 8px;
    width: 40px;
    height: 40px;
  }
}
.flow-item::after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  display: block;
  margin: auto;
  border-radius: 50%;
  background-color: #c3c3c3;
}
@media screen and (min-width: 641px) {
  .flow-item::after {
    top: 19px;
    width: 18px;
    height: 18px;
  }
}
@media screen and (max-width: 640px) {
  .flow-item::after {
    top: 12px;
    width: 16px;
    height: 16px;
  }
}
.flow-item.current {
  color: var(--primary);
}
.flow-item.current::before {
  border-color: var(--primary);
}
.flow-item.current::after {
  background-color: var(--primary);
}

.deliveryAddress {
  text-align: center;
}
@media screen and (min-width: 641px) {
  .deliveryAddress {
    margin-top: 50px;

  }
}
@media screen and (max-width: 640px) {
  .deliveryAddress {
    margin-top: 40px;

  }
}
.deliveryAddress-ttl {
  display: inline-flex;
  line-height: 1.6;
  align-items: center;
}
.deliveryAddress-ttl-lbl {
  font-weight: 600;
  white-space: nowrap;
  display: inline-block;
}
@media screen and (min-width: 641px) {
  .deliveryAddress-ttl-lbl {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .deliveryAddress-ttl-lbl {
    font-size: 1.3rem;
    text-align: left;
  }
}

.deliveryAddress-ttl-txt {
  font-weight: 500;
}
@media screen and (min-width: 641px) {
  .deliveryAddress-ttl-txt {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 640px) {
  .deliveryAddress-ttl-txt {
    font-size: 1.8rem;
    text-align: left;
    line-height: 1.4;
  }
}
@media screen and (min-width: 641px) {
  .deliveryResult-home {
    padding-left: 100px;
    padding-right: 100px;
  }
}
.deliveryResult-home-body {
  margin-top: 20px;
  margin-bottom: 40px;
  background-color: var(--secondary);
  text-align: center;
}
@media screen and (min-width: 641px) {
  .deliveryResult-home-body {
    padding: 18px;
    border-radius: 21px;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-home-body {
    padding: 8px 8px;
    border-radius: 10px;
  }
}
.deliveryResult-ttl {
  font-weight: 500;
}
@media screen and (min-width: 641px) {
  .deliveryResult-ttl {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-ttl {
    font-size: 1.8rem;
    padding: 0 6px;
  }
  .deliveryResult-ttl img {
    width: 48px;
  }
}
.deliveryResult-body {
  display: inline-block;
  font-weight: 400;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .deliveryResult-body {
    margin-top: 18px;
    text-align: center;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-body {
    margin-top: 10px;
    text-align: left;
    font-size: 1.6rem;
  }
}
.deliveryResult-body-week-content {
  font-weight: 700;
}
@media screen and (min-width: 641px) {
  .deliveryResult-body-week-content {
    font-size: 1.8rem;
    margin-bottom: 10px;
    line-height: 1;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-body-week-content {
    font-size: 1.6rem;
    margin-bottom: 10px;
    line-height: 1.5;
  }
}
.deliveryResult-body-week {
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 641px) {
  .deliveryResult-body-week {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-body-week {
    font-size: 1.6rem;
    display: inline-block;
  }
}
.deliveryResult-body-week-home {
  font-weight: 600;
  line-height: 1;
}
@media screen and (min-width: 641px) {
  .deliveryResult-body-week-home {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-body-week-home {
    font-size: 1.6rem;
  }
}
.deliveryResult-body-week-txt {
  font-weight: 600;
  line-height: 1;
}
@media screen and (min-width: 641px) {
  .deliveryResult-body-week-txt {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-body-week-txt {
    font-size: 1.3rem;
    display: inline-block;
  }
}
.deliveryResult-body-error {
  color: #f70505;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .deliveryResult-body-error {
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-body-error {
    font-size: 2.4rem;
  }
}
.deliveryResult-body-bottom {
  margin-top: 14px;
  display: grid;
  align-items: center;
  font-weight: 400;
  line-height: 2.5;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .deliveryResult-body-bottom {
    margin-top: 12px;
    text-align: center;
    place-content: center;
    place-items: center;
    font-size: 2rem;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-body-bottom {
    margin-top: 8px;
    text-align: left;
    place-content: baseline;
    font-size: 1.8rem;
  }
}
.deliveryResult-body-bottom img {
  grid-row: 1 / 1;
  grid-column: 1 / 2;
}
@media screen and (min-width: 641px) {
  .deliveryResult-body-bottom-toell-img {
    width: auto;
    height: 42px;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-body-bottom-toell-img {
    width: auto;
    height: 38px;
  }
}
@media screen and (min-width: 641px) {
  .deliveryResult-body-bottom-home-img {
    width: 36px;
    height: auto;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-body-bottom-home-img {
    width: 33px;
    height: auto;
  }
}
.deliveryResult-body-bottom span {
  grid-row: 1 / 1;
  grid-column: 2 / 2;
}
@media screen and (max-width: 640px) {
  .deliveryResult-body-bottom-txt {
    width: 100%;
  }
}
.deliveryResult-body-bottom-homeDelivery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 8px;
  font-weight: 700;
}
@media screen and (min-width: 641px) {
  .deliveryResult-body-bottom-homeDelivery {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-body-bottom-homeDelivery {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 1.8rem;
    margin-bottom: 6px;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-body-bottom-homeDelivery-txt {
    width: 100%;
  }
}
.deliveryResult-body-homeDelivery {
  margin-top: 4px;
}
@media screen and (min-width: 641px) {
  .deliveryResult-body-homeDelivery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 16px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-body-homeDelivery {
    font-size: 2rem;
  }
}
.deliveryResult-body-homeDelivery-txt {
  line-height: 1;
  letter-spacing: 0px;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .deliveryResult-body-homeDelivery-txt {
    margin-left: 10px;
    font-size: 2.0rem;
    font-weight: 500;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-body-homeDelivery-txt {
    margin-left: 10px;
    font-size: 1.6rem;
    font-weight: 500;
  }
}
.deliveryResult-body-homeDelivery-price-amount {
  font-weight: 500;
  line-height: 1;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .deliveryResult-body-homeDelivery-price-amount {
    font-size: 2.2rem;
    margin-bottom: 18px;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-body-homeDelivery-price-amount {
    font-size: 1.8rem;
    margin-bottom: 16px;
  }
}
.deliveryResult-body-homeDelivery-price-text {
  font-weight: 600;
  line-height: 1;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .deliveryResult-body-homeDelivery-price-text {
    font-size: 2.2rem;
    margin-bottom: 18px;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-body-homeDelivery-price-text {
    font-size: 1.8rem;
    margin-bottom: 16px;
  }
}
.deliveryResult-body-homeDelivery-price {
  line-height: 1;
}
@media screen and (min-width: 641px) {
  .deliveryResult-body-homeDelivery-price {
    font-size: 2.0rem;
    font-weight: 500;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-body-homeDelivery-price {
    margin-top: 8px;
    font-size: 2.0rem;
    font-weight: 500;
  }
}
.deliveryResult-body-homeDelivery-price-small {
  font-weight: 600;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .deliveryResult-body-homeDelivery-price-small {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 640px) {
  .deliveryResult-body-homeDelivery-price-small {
    font-size: 1.4rem;
  }
}

.deliveryService-txt {
  margin-bottom: 8px;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .deliveryService-txt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .deliveryService-txt {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 641px) {
  .delivery-option-item {
    padding-left: 100px;
    padding-right: 100px;
  }
}

.selectedProduct {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
/*  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;*/
}
@media screen and (min-width: 641px) {
  .selectedProduct {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 24px;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
    margin-top: 2px;
  }
}
@media screen and (min-width: 641px) {
  .selectedProduct-body {
    width: 350px;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-body {
    width: 100%;
  }
}
.selectedProduct-body-item + .selectedProduct-body-item {
  margin-top: 18px;
}
.selectedProduct-body-item-bottle-ttl {
  text-align: left;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 5px;
}
@media screen and (min-width: 641px) {
  .selectedProduct-body-item-bottle-ttl {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-body-item-bottle-ttl {
    font-size: 1.9rem;
  }
}
.selectedProduct-body-item-bottle-txt {
  text-align: left;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .selectedProduct-body-item-bottle-txt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-body-item-bottle-txt {
    font-size: 1.7rem;
  }
}
@media screen and (min-width: 641px) {
  .selectedProduct-body-item-bottle-txt-en {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-body-item-bottle-txt-en {
    font-size: 2.4rem;
  }
}
.selectedProduct-body-item-bottle-txt-small {
  display: inline-block;
  margin-left: 8px;
}
@media screen and (min-width: 641px) {
  .selectedProduct-body-item-bottle-txt-small {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-body-item-bottle-txt-small {
    font-size: 1.6rem;
  }
}
.selectedProduct-body-item-server-ttl {
  text-align: left;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 5px;
}
@media screen and (min-width: 641px) {
  .selectedProduct-body-item-server-ttl {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-body-item-server-ttl {
    font-size: 1.8rem;
  }
}
.selectedProduct-body-item-server-txt {
  text-align: left;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .selectedProduct-body-item-server-txt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-body-item-server-txt {
    font-size: 1.7rem;
  }
}
@media screen and (min-width: 641px) {
  .selectedProduct-body-item-server-txt-head {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-body-item-server-txt-head {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 641px) {
  .selectedProduct-body-item-server-txt-en {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-body-item-server-txt-en {
    font-size: 1.6rem;
  }
}
.selectedProduct-body-item-server-txt-small {
  display: inline-block;
  margin-left: 8px;
}
@media screen and (min-width: 641px) {
  .selectedProduct-body-item-server-txt-small {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-body-item-server-txt-small {
    font-size: 1.2rem;
  }
}
.selectedProduct-body-message {
  position: relative;
  background-color: var(--secondary);
}
@media screen and (min-width: 641px) {
  .selectedProduct-body-message {
    margin: 0px 0px 16px;
    padding: 32px 24px 24px;
    border-radius: 10px;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-body-message {
    margin: 12px 0 24px;
    padding: 32px 16px 16px;
    border-radius: 10px;
  }
}
.selectedProduct-body-message-txt {
  text-align: center;
  font-weight: 900;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .selectedProduct-body-message-txt {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-body-message-txt {
    font-size: 2.2rem;
  }
}
.selectedProduct-body-message-txt-small {
  display: inline-block;
}
@media screen and (min-width: 641px) {
  .selectedProduct-body-message-txt-small {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-body-message-txt-small {
    font-size: 1.6rem;
  }
}
.selectedProduct-body-message-txt-strong {
  position: absolute;
  left: 18px;
  padding: 0 8px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #ff0));
  background: linear-gradient(transparent 50%, #ff0 50%);
}
@media screen and (min-width: 641px) {
  .selectedProduct-body-message-txt-strong {
    top: 14px;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-body-message-txt-strong {
    top: 10px;
    font-size: 1.6rem;
  }
}
.selectedProduct-body-list {
  padding-left: 1.25em;
  font-weight: 500;
}
@media screen and (min-width: 641px) {
  .selectedProduct-body-list {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-body-list {
    font-size: 1.6rem;
  }
}
.selectedProduct-body-list-item {
  list-style: disc;
  line-height: 1.4;
}
.selectedProduct-body-list-item + .selectedProduct-body-list-item {
  margin-top: 8px;
}
.selectedProduct-body-list-item-small {
  display: inline-block;
  margin-left: 8px;
}
@media screen and (min-width: 641px) {
  .selectedProduct-body-list-item-small {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-body-list-item-small {
    font-size: 1.2rem;
  }
}
.selectedProduct-img {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 641px) {
  .selectedProduct-img {
    width: 456px;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-img {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
    width: 100%;
  }
}
@media screen and (min-width: 641px) {
  .selectedProduct-img-item {
    width: 360px;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-img-item {
    width: 100%;
  }
}
.selectedProduct-img-item img {
  max-width: none;
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
}
.selectedProduct-img-thumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
@media screen and (min-width: 641px) {
  .selectedProduct-img-thumb {
    position: absolute;
    top: 0;
    right: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: calc(100% - 360px - 8px);
    height: 100%;
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-img-thumb {
    width: 100%;
    height: auto;
  }
}
.selectedProduct-img-thumb-item {
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .selectedProduct-img-thumb-item {
    height: calc((100% + 8px) / 4 - 8px);
  }
}
@media screen and (max-width: 640px) {
  .selectedProduct-img-thumb-item {
    width: calc((100% + 8px) / 4 - 8px);
  }
}
.selectedProduct-img-thumb-item img {
  max-width: none;
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 641px) {
  .plan {
    margin: 30px 0px 0px;
  }
}
@media screen and (max-width: 640px) {
  .plan {
    margin: 20px 0px 0px;
  }
}
.plan-contents {
  background-color: var(--primary);
  color: #fff;
}
@media screen and (min-width: 641px) {
  .plan-contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 16px 80px 16px 80px;
  }
}
@media screen and (max-width: 640px) {
  .plan-contents {
    padding: 16px;
  }
}
.plan-contents-header {
  text-align: center;
}
@media screen and (min-width: 641px) {
  .plan-contents-header {
    width: 50%;
  }
}
.plan-contents-header-ttl {
  font-weight: 500;
}
@media screen and (min-width: 641px) {
  .plan-contents-header-ttl {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .plan-contents-header-ttl {
    font-size: 2.0rem;
  }
}
.plan-contents-header-txt {
  font-weight: 300;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .plan-contents-header-txt {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 640px) {
  .plan-contents-header-txt {
    font-size: 1.6rem;
  }
}
.plan-contents-header-ttl-small {
  display: inline-block;
}
@media screen and (min-width: 641px) {
  .plan-contents-header-ttl-small {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .plan-contents-header-ttl-small {
    font-size: 1.4rem;
    margin-bottom: 12px;
  }
}
.plan-contents-body {
  text-align: center;
}
@media screen and (min-width: 641px) {
  .plan-contents-body {
    width: 50%;
  }
}
.plan-contents-body-txt {
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .plan-contents-body-txt {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 640px) {
  .plan-contents-body-txt {
    font-size: 2.2rem;
  }
}
.plan-contents-body-txt-small {
  display: inline-block;
  margin-left: 16px;
}
@media screen and (min-width: 641px) {
  .plan-contents-body-txt-small {
    font-size: 2.0rem;
  }
}
@media screen and (max-width: 640px) {
  .plan-contents-body-txt-small {
    font-size: 1.6rem;
  }
}
.plan-contents-body-txt-en {
  display: inline-block;
  margin-left: 2px;
}
@media screen and (min-width: 641px) {
  .plan-contents-body-txt-en {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 640px) {
  .plan-contents-body-txt-en {
    font-size: 2.2rem;
  }
}
.terms {
  max-width: 800px;
}
@media screen and (min-width: 641px) {
  .terms {
    margin: 24px auto 0;
  }
}
@media screen and (max-width: 640px) {
  .terms {
    margin: 12px auto 0;
  }
}
.terms-ttl {
  margin-bottom: 15px;
  color: var(--primary);
  text-align: center;
}
@media screen and (min-width: 641px) {
  .terms-ttl  {
    font-size: 1.8rem;
    margin-top: 30px;
  }
}
@media screen and (max-width: 640px) {
  .terms-ttl  {
    font-size: 1.4rem;
    margin-top: 20px;
  }
}
.terms-msg {
  color: var(--primary);
  text-align: center;
  font-weight: 500;
}
@media screen and (min-width: 641px) {
  .terms-msg  {
    margin-top: 25px;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .terms-msg  {
    margin-top: 20px;
    font-size: 1.4rem;
  }
}
.terms-dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.terms-contents {
  overflow-y: auto;
  height: 410px;
  border: 1.5px solid #ccc;
  color: #1a1a1a;
}
@media screen and (min-width: 641px) {
  .terms-contents {
    padding: 32px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 640px) {
  .terms-contents {
    padding: 16px;
    font-size: 1.2rem;
  }
}
.terms-contents ol {
  padding-left: 1.25em;
  list-style: decimal;
}
.terms-contents ol li {
  margin-bottom: 16px;
}
@media screen and (min-width: 641px) {
  .terms-contents p {
    margin-bottom: 8px;
    line-height: 2.0;
  }
}
@media screen and (max-width: 640px) {
  .terms-contents p {
    margin-bottom: 4px;
    line-height: 1.8;
  }
}
.terms-bottom {
  max-width: 800px;
}
@media screen and (min-width: 641px) {
  .terms-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 16px auto 0;
  }
}
@media screen and (max-width: 640px) {
  .terms-bottom {
    margin: 8px auto 0;
  }
}
.terms-note {
  position: relative;
  padding-left: 1.25em;
}
@media screen and (min-width: 641px) {
  .terms-note {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 640px) {
  .terms-note {
    font-size: 1.3rem;
  }
}
.terms-note::before {
  content: "※";
  position: absolute;
  left: 0;
}

@media screen and (min-width: 641px) {
  .confirm-section {
    margin-top: 54px;
  }
}
@media screen and (max-width: 640px) {
  .confirm-section {
    margin-top: 36px;
  }
}
.confirm-section-contents {
  margin-top: 24px;
}
.confirm-section-contents + .confirm-section-contents {
  margin-top: 0;
}
.confirm-table {
  width: 100%;
}
@media screen and (max-width: 640px) {
  .confirm-table {
    display: block;
  }
}
@media screen and (max-width: 640px) {
  .confirm-table-tbody {
    display: block;
  }
}
@media screen and (max-width: 640px) {
  .confirm-table-tr {
    display: block;
  }
}
.confirm-table-th {
  background-color: var(--tertiary);
  color: var(--primary);
  font-weight: 700;
}
@media screen and (min-width: 641px) {
  .confirm-table-th {
    padding: 20px;
    width: 256px;
    border-bottom: 1px solid var(--line);
    text-align: right;
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 640px) {
  .confirm-table-th {
    display: block;
    padding: 8px 12px;
    text-align: left;
    font-size: 1.3rem;
  }
}
.confirm-table-td {
  color: #444;
  font-weight: 500;
  overflow-wrap: break-word;
  word-break: break-all;
  background-color: var(--quinary);
}
@media screen and (min-width: 641px) {
  .confirm-table-td {
    padding: 20px;
    border-bottom: 1px solid var(--line);
    font-size: 2rem;
  }
}
@media screen and (max-width: 640px) {
  .confirm-table-td {
    display: block;
    padding: 8px 12px;
    font-size: 1.4rem;
  }
}
.confirm-txt {
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .confirm-txt {
    font-size: 2rem;
  }
}
@media screen and (max-width: 640px) {
  .confirm-txt {
    font-size: 1.6rem;
  }
}

::-webkit-input-placeholder {
  color: #999;
}

::-moz-placeholder {
  color: #999;
}

:-ms-input-placeholder {
  color: #999;
}

::-ms-input-placeholder {
  color: #999;
}

::placeholder {
  color: #999;
}

@media screen and (max-width: 640px) {
  textarea::placeholder {
   font-size: 1.4rem;
  }
}

.input-r {
  text-align: right;
}
@media screen and (min-width: 641px) {
  .input-note {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .input-note {
    font-size: 1.4rem;
  }
}
.input-error-txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
  margin-top: 8px;
  margin-bottom: 8px;
  color: #f70505;
  font-size: 1.4rem;
}
.input-error-txt::before {
  content: "";
  display: block;
  margin-top: 0.5em;
  width: 16px;
  height: 16px;
  background-image: url(../img/common/icon-important.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.input-text {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 8px;
  line-height: 1.2;
}
@media screen and (min-width: 641px) {
  .input-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .input-text {
    font-size: 1.6rem;
  }
}
.input-text.text-r {
  text-align: right;
}
.input-text.error input {
  border-color: #f70505;
  background-color: rgba(214, 8, 46, 0.05);
}
.input-text input {
  width: 100%;
  border: 1px solid var(--primary);
  background-color: #fbfbfb;
}
@media screen and (min-width: 641px) {
  .input-text input {
    padding: 0 20px;
    height: 56px;
    font-size: 1.8rem;
  }
  .input-text.w-small input {
    width: 27%;
  }
}
@media screen and (max-width: 640px) {
  .input-text input {
    padding: 0 10px;
    height: 40px;
    font-size: 1.6rem;
  }
  .input-text.w-small input {
    width: 60%;
  }
}
.input-text input:disabled {
  border-color: #a4a4a4;
  background-color: #dcdcdc;
  color: #a4a4a4;
  pointer-events: none !important;
}
.input-text input[readonly] {
  padding: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 1em;
  border: none;
  background-color: transparent;
}
.input-text input[size] {
  max-width: 100%;
  width: auto;
}
.input-text textarea {
  display: block;
  width: 100%;
  border: 1px solid var(--primary);
  background-color: #fbfbfb;
  line-height: 1.5;
  resize: vertical;
}
@media screen and (min-width: 641px) {
  .input-text textarea {
    padding: 20px;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .input-text textarea {
    padding: 10px;
    font-size: 1.6rem;
  }
}
.input-text textarea:disabled {
  border-color: #a4a4a4;
  background-color: #dcdcdc;
  color: #a4a4a4;
}
.input-radio-type-01 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 16px;
  -webkit-box-shadow: inset 0 0 0 1px var(--primary);
          box-shadow: inset 0 0 0 1px var(--primary);
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .input-radio-type-01 {
    height: 140px;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-01 {
    height: 90px;
  }
}
.input-radio-type-01-checked {
  background-color: var(--hover);
  -webkit-box-shadow: inset 0 0 0 4px var(--primary);
          box-shadow: inset 0 0 0 4px var(--primary);
}
.input-radio-type-01-txt {
  display: block;
  text-align: center;
  font-weight: 700;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  margin-bottom: 30px;
}
@media screen and (min-width: 641px) {
  .input-radio-type-01-txt {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-01-txt {
    font-size: 1.8rem;
    margin-bottom: 2px;
  }
}
@media screen and (min-width: 641px) {
  .input-radio-type-01-txt.zenkoku {
    font-size: 2.8rem;
  }
}
.input-radio-type-01-shoulder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #000;
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 641px) {
  .input-radio-type-01-shoulder {
    position: absolute;
    top: 24px;
    gap: 16px;
    font-size: 2rem;
  }
  .input-radio-type-01-shoulder img {
    width: 50px;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-01-shoulder {
    gap: 8px;
    margin-bottom: 8px;
    font-size: 1.4rem;
  }
  .input-radio-type-01-shoulder img {
    width: 40px;
  }
}
.input-radio-type-01 input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: absolute;
  display: block;
  margin: auto;
  border: 2px solid var(--primary);
  border-radius: 50%;
  background: #fff;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  pointer-events: none;
}
@media screen and (min-width: 641px) {
  .input-radio-type-01 input {
    right: 0;
    bottom: 20px;
    left: 0;
    width: 24px;
    height: 24px;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-01 input {
    top: 0;
    bottom: 0;
    left: 16px;
    width: 20px;
    height: 20px;
  }
}
.input-radio-type-01 input:checked {
  border-color: var(--primary);
  background-color: var(--primary);
  -webkit-box-shadow: inset 0 0 0 4px #fff;
          box-shadow: inset 0 0 0 4px #fff;
}
.input-radio-type-01 input:disabled {
  background-color: #a4a4a4;
}
.input-radio-type-02 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 16px;
  -webkit-box-shadow: inset 0 0 0 1px var(--primary);
          box-shadow: inset 0 0 0 1px var(--primary);
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .input-radio-type-02 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 430px;
    padding: 24px;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-02 {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 14px 22px 14px 24px;
  }
}
.input-radio-type-02-checked {
  background-color: var(--hover);
  -webkit-box-shadow: inset 0 0 0 4px var(--primary);
          box-shadow: inset 0 0 0 4px var(--primary);
}
@media screen and (min-width: 641px) {
  .input-radio-type-02-img-recommend-01 {
    display: inline-block;
    position: absolute;
    left: 1px;
    top: 2px;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-02-img-recommend-01 {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-02-recommend-02 {
    display: inline-block;
    margin-bottom: 8px;
  }
}
@media screen and (min-width: 641px) {
  .input-radio-type-02-recommend-02 {
    display: none;
  }
}
@media screen and (min-width: 641px) {
  .input-radio-type-02-img-recommend-02 {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-02-img-recommend-02 {
    display: inline-block;
  }
}
.input-radio-type-02-img {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 641px) {
  .input-radio-type-02-img {
    height: 210px;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-02-img {
    margin-left: 32px;
    width: 56px;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-02-body {
    width: calc(100% - 108px);
  }
}
.input-radio-type-02-ttl {
  display: block;
  font-weight: 700;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .input-radio-type-02-ttl {
    margin-top: 16px;
    text-align: center;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-02-ttl {
    text-align: left;
    font-size: 1.9rem;
  }
}
.input-radio-type-02-price {
  display: block;
  font-weight: 400;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .input-radio-type-02-price {
    margin-top: 8px;
    text-align: center;
    font-size: 2rem;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-02-price {
    margin-top: 4px;
    text-align: left;
    font-size: 2.0rem;
  }
}
.input-radio-type-02-price-tax {
  font-weight: 400;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .input-radio-type-02-price-tax {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-02-price-tax {
    font-size: 1.4rem;
  }
}
.input-radio-type-02-price-unit {
  font-weight: 400;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .input-radio-type-02-price-unit {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-02-price-unit {
    font-size: 1.4rem;
  }
}
.input-radio-type-02-number {
  display: block;
  margin-top: 4px;
  font-weight: 400;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .input-radio-type-02-number {
    text-align: center;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-02-number {
    text-align: left;
    font-size: 1.4rem;
  }
}
.input-radio-type-02-home-delivery {
  
  padding: 0 10px;
  background: #D7EFF2;
  border-radius: 10px;
  white-space: nowrap;
  margin-top: 6px;
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  
}
@media screen and (min-width: 641px) {
  .input-radio-type-02-home-delivery {
    display: flex;
    text-align: center;
    justify-content: center;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-02-home-delivery {
    display: inline-flex;
    text-align: left;
    justify-content: left;
    font-size: 1.4rem;
  }
}
.input-radio-type-02-not-home-delivery {
  
  padding: 0 10px;
  background: #E5E5E5;
  border-radius: 10px;
  white-space: nowrap;
  margin-top: 6px;
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  
}
@media screen and (min-width: 641px) {
  .input-radio-type-02-not-home-delivery {
    display: flex;
    text-align: center;
    justify-content: center;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-02-not-home-delivery {
    display: inline-flex;
    text-align: left;
    justify-content: left;
    font-size: 1.4rem;
  }
}
.input-radio-type-02-home-delivery-img {
  margin-right: 2px;
}
.input-radio-type-02 input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: absolute;
  display: block;
  margin: auto;
  border: 2px solid var(--primary);
  border-radius: 50%;
  background: #fff;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  pointer-events: none;
}
@media screen and (min-width: 641px) {
  .input-radio-type-02 input {
    right: 0;
    bottom: 24px;
    left: 0;
    width: 24px;
    height: 24px;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-02 input {
    top: 0;
    bottom: 0;
    left: 16px;
    width: 20px;
    height: 20px;
  }
}
.input-radio-type-02 input:checked {
  border-color: var(--primary);
  background-color: var(--primary);
  -webkit-box-shadow: inset 0 0 0 4px #fff;
          box-shadow: inset 0 0 0 4px #fff;
}
.input-radio-type-02 input:disabled {
  background-color: #a4a4a4;
}
.input-radio-type-03 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 16px;
  -webkit-box-shadow: inset 0 0 0 1px var(--primary);
          box-shadow: inset 0 0 0 1px var(--primary);
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .input-radio-type-03 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 12px 0;
    height: 510px;
    text-align: center;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-03 {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 14px 22px 12px 24px;
  }
}
.input-radio-type-03-checked {
  background-color: var(--hover);
  -webkit-box-shadow: inset 0 0 0 3px var(--primary);
          box-shadow: inset 0 0 0 3px var(--primary);
}
@media screen and (max-width: 640px) {
  .input-radio-type-03-recommend-01 {
    display: none;
  }
}
@media screen and (min-width: 641px) {
  .input-radio-type-03-recommend-01 {
    display: inline-block;
    margin-top: 8px;
    margin-bottom: 12px;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-03-norecommend-01 {
    display: none;
  }
}
@media screen and (min-width: 641px) {
  .input-radio-type-03-norecommend-01 {
    display: inline-block;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 641px) {
  .input-radio-type-03-img-recommend-01 {
    display: inline-block;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-03-img-recommend-01 {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-03-recommend-02 {
    display: inline-block;
    margin-bottom: 8px;
  }
}
@media screen and (min-width: 641px) {
  .input-radio-type-03-recommend-02 {
    display: none;
  }
}
@media screen and (min-width: 641px) {
  .input-radio-type-03-img-recommend-02 {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-03-img-recommend-02 {
    display: inline-block;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-03-server-info-01 {
    display: none;
  }
}
@media screen and (min-width: 641px) {
  .input-radio-type-03-server-info-01 {
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 12px;
  }
}
@media screen and (min-width: 641px) {
  .input-radio-type-03-img-server-info-01 {
    display: inline-block;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-03-img-server-info-01 {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-03-server-info-02 {
    display: inline-block;
    margin-bottom: 8px;
    margin-top: 8px;
  }
}
@media screen and (min-width: 641px) {
  .input-radio-type-03-server-info-02 {
    display: none;
  }
}
@media screen and (min-width: 641px) {
  .input-radio-type-03-img-server-info-02 {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-03-img-server-info-02 {
    display: inline-block;
  }
}
.input-radio-type-03-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 641px) {
  .input-radio-type-03-img {
    height: 230px;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-03-img {
    margin-left: 34px;
    width: 50px;
    height: 110px;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-03-body {
    width: calc(100% - 108px);
  }
}
.input-radio-type-03-ttl {
  display: block;
  font-weight: 700;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .input-radio-type-03-ttl {
    margin-top: 18px;
    text-align: center;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-03-ttl {
    text-align: left;
    font-size: 1.7rem;
  }
}
.input-radio-type-03-price {
  display: block;
  font-weight: 400;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .input-radio-type-03-price {
    margin-top: 8px;
    text-align: center;
    font-size: 2rem;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-03-price {
    margin-top: 8px;
    text-align: left;
    font-size: 2rem;
  }
}
.input-radio-type-03-tax {
  display: block;
  font-weight: 400;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .input-radio-type-03-tax {
    text-align: center;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-03-tax {
    text-align: left;
    font-size: 1.6rem;
  }
}
.input-radio-type-03 input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: absolute;
  display: block;
  margin: auto;
  border: 2px solid var(--primary);
  border-radius: 50%;
  background: #fff;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  pointer-events: none;
}
@media screen and (min-width: 641px) {
  .input-radio-type-03 input {
    right: 0;
    bottom: 24px;
    left: 0;
    width: 24px;
    height: 24px;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-03 input {
    top: 0;
    bottom: 0;
    left: 16px;
    width: 20px;
    height: 20px;
  }
}
.input-radio-type-03 input:checked {
  border-color: var(--primary);
  background-color: var(--primary);
  -webkit-box-shadow: inset 0 0 0 4px #fff;
          box-shadow: inset 0 0 0 4px #fff;
}
.input-radio-type-03 input:disabled {
  background-color: #a4a4a4;
}
.input-radio-type-04 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100px;
  border-radius: 16px;
  -webkit-box-shadow: inset 0 0 0 1px var(--primary);
          box-shadow: inset 0 0 0 1px var(--primary);
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.input-radio-type-04-txt {
  display: block;
  text-align: center;
  font-weight: 400;
  font-size: 2.8rem;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.input-radio-type-04 input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100px;
  display: block;
  margin: auto;
  width: 30px;
  height: 30px;
  border: 1px solid var(--primary);
  border-radius: 50%;
  background: #fff;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  pointer-events: none;
}
.input-radio-type-04 input:checked {
  border-color: var(--primary);
  background-color: var(--primary);
  -webkit-box-shadow: inset 0 0 0 4px #fff;
          box-shadow: inset 0 0 0 4px #fff;
}
.input-radio-type-04 input:disabled {
  background-color: #a4a4a4;
}
.input-radio-type-05 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .input-radio-type-05 {
    gap: 8px;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-05 {
    gap: 8px;
  }
}
.input-radio-type-05-txt {
  display: block;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  text-align: left;
  font-weight: 700;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .input-radio-type-05-txt {
    font-size: 2rem;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-05-txt {
    font-size: 1.8rem;
  }
}
.input-radio-type-05 input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  border: 1px solid var(--primary);
  border-radius: 50%;
  background: #fff;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  pointer-events: none;
}
@media screen and (min-width: 641px) {
  .input-radio-type-05 input {
    min-width: 22px;
    width: 22px;
    height: 22px;
    -webkit-transform: translateY(4px);
            transform: translateY(4px);
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-05 input {
    min-width: 20px;
    width: 20px;
    height: 20px;
    -webkit-transform: translateY(4px);
            transform: translateY(4px);
  }
}
.input-radio-type-05 input:checked {
  border-color: var(--primary);
  background-color: var(--primary);
  -webkit-box-shadow: inset 0 0 0 4px #fff;
          box-shadow: inset 0 0 0 4px #fff;
}
.input-radio-type-05 input:disabled {
  background-color: #a4a4a4;
}
.input-radio-type-06 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 16px;
  -webkit-box-shadow: inset 0 0 0 1px var(--primary);
          box-shadow: inset 0 0 0 1px var(--primary);
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.input-radio-type-06-checked {
  background-color: var(--hover);
  -webkit-box-shadow: inset 0 0 0 4px var(--primary);
          box-shadow: inset 0 0 0 4px var(--primary);
}
.input-radio-type-06-ttl {
  display: block;
  font-weight: 700;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .input-radio-type-06-ttl {
    text-align: center;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-06-ttl {
    text-align: left;
    font-size: 1.8rem;
  }
}
.input-radio-type-06 input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: absolute;
  display: block;
  margin: auto;
  border: 2px solid var(--primary);
  border-radius: 50%;
  background: #fff;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  pointer-events: none;
}
@media screen and (min-width: 641px) {
  .input-radio-type-06 input {
    right: 0;
    bottom: 20px;
    left: 0;
    width: 24px;
    height: 24px;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-06 input {
    top: 0;
    bottom: 0;
    left: 16px;
    width: 20px;
    height: 20px;
  }
}
.input-radio-type-06 input:checked {
  border-color: var(--primary);
  background-color: var(--primary);
  -webkit-box-shadow: inset 0 0 0 4px #fff;
          box-shadow: inset 0 0 0 4px #fff;
}
.input-radio-type-06 input:disabled {
  background-color: #a4a4a4;
}
@media screen and (min-width: 641px) {
  .input-radio-type-06-body {
    margin: 20px 0 28px;
  }
}
@media screen and (max-width: 640px) {
  .input-radio-type-06-body {
    width: calc(100% - 93px);
    margin: 16px 30px 12px auto;
  }
}
.input-checkbox {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .input-checkbox {
    gap: 8px;
  }
}
@media screen and (max-width: 640px) {
  .input-checkbox {
    gap: 8px;
  }
}
.input-checkbox-txt {
  display: block;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  color: inherit;
  text-align: left;
  font-weight: 700;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .input-checkbox-txt {
    font-size: 2rem;
  }
}
@media screen and (max-width: 640px) {
  .input-checkbox-txt {
    font-size: 1.8rem;
  }
}
.input-checkbox input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  display: block;
  border: 1px solid var(--primary);
  background: #fff;
  background-image: url(../img/common/icon-checked.png);
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-transform: translateY(4px);
          transform: translateY(4px);
  pointer-events: none;
}
@media screen and (min-width: 641px) {
  .input-checkbox input {
    min-width: 22px;
    width: 22px;
    height: 22px;
    background-size: 16px auto;
  }
}
@media screen and (max-width: 640px) {
  .input-checkbox input {
    min-width: 18px;
    width: 18px;
    height: 18px;
    background-size: 10px auto;
  }
}
.input-checkbox input.terms-disabled {
  border-color: #a4a4a4;
  background-color: #dcdcdc;
  background-image: none;
}
.input-checkbox input:checked {
  border-color: var(--primary);
  background-color: var(--primary);
}
.input-checkbox input:disabled {
  border-color: #a4a4a4;
  background-color: #dcdcdc;
  background-image: none;
}
.input-select {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 8px;
  line-height: 1.2;
}
.input-select.error select {
  border-color: #f70505;
  background-color: rgba(214, 8, 46, 0.05);
}
.input-select select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  width: 100%;
  border: 1px solid var(--primary);
  background-color: #fbfbfb;
  background-image: url(../img/common/arrow-select.png);
  background-position: right 12px center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 641px) {
  .input-select select {
    padding: 0 48px 0 20px;
    height: 56px;
    background-size: 16px auto;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .input-select select {
    padding: 0 32px 0 10px;
    height: 40px;
    background-size: 10px auto;
    font-size: 1.6rem;
  }
}
.input-select select:disabled {
  border-color: #a4a4a4;
  background-color: #dcdcdc;
  color: #a4a4a4;
}
.input-select select[data-non-disabled]:disabled {
  background-color: #fbfbfb;
}
.input-toggle {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.input-toggle input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  width: 52px;
  height: 24px;
  border: 1px solid #1a1a1a;
  border-radius: 100px;
  background-color: #fff;
  opacity: 0.2;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.input-toggle input::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2px;
  display: block;
  margin: auto;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #1a1a1a;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.input-toggle input:checked {
  border-color: var(--primary);
  background-color: var(--primary);
  opacity: 1;
}
.input-toggle input:checked::after {
  left: 28px;
  background-color: #fff;
}
.input-toggle label {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1;
}

.label-must {
  display: inline-block;
  padding: 0 8px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #ff0));
  background: linear-gradient(transparent 50%, #ff0 50%);
  white-space: nowrap;
  font-weight: 500;
  font-size: 1.8rem;
}
@media screen and (max-width: 640px) {
  .label-must {
    font-size: 1.5rem;
    padding: 0 6px;
  }
}
.label-free {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 12px;
  border-radius: 0px;
  background-color: var(--primary);
  color: #fff;
  font-weight: 600;
  line-height: 1;
}
@media screen and (min-width: 641px) {
  .label-free {
    margin-left: 20px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    height: 36px;
    font-size: 2.0rem;
  }
  .label-free-price {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 640px) {
  .label-free {
    margin-left: 20px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: 32px;
    font-size: 1.6rem;
  }
  .label-free-price {
    font-size: 1.8rem;
  }
}

.btn-submit {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 850px;
  width: 100%;
  background-color: #FF930E;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .btn-submit {
    height: 80px;
    border-radius: 14px;
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 640px) {
  .btn-submit {
    height: 64px;
    border-radius: 10px;
    font-size: 2.4rem;
  }
}
.btn-submit:disabled {
  opacity: 0.5;
  pointer-events: none;
}
.btn-specification {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  border: 1px solid var(--primary);
  border-radius: 100px;
  background-color: #fbfbfb;
  color: var(--primary);
  text-decoration: none;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .btn-specification {
    height: 46px;
    font-size: 2.0rem;
    width: 74%;
    font-weight: 500;
  }
}
@media screen and (max-width: 640px) {
  .btn-specification {
    height: 34px;
    font-size: 1.5rem;
    width: 100%;
    font-weight: 500;
  }
}
.btn-back {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  border: 2px solid #FF930E;
  border-radius: 6px;
  background-color: #fff;
  color: #FF930E;
  text-decoration: none;
  font-weight: 400;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .btn-back {
    width: 192px;
    height: 56px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .btn-back {
    width: 174px;
    height: 48px;
    font-size: 2rem;
  }
}
@media screen and (min-width: 641px) {
  .btn-submit + .btn-back {
    margin-top: 30px;
  }
}
@media screen and (max-width: 640px) {
  .btn-submit + .btn-back {
    margin-top: 25px;
  }
}
.btn-dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 600px;
  width: 100%;
  background-color: var(--primary);
  color: #fff;
  text-decoration: none;
  font-weight: 400;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .btn-dl {
    height: 50px;
    border-radius: 6px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .btn-dl {
    height: 40px;
    border-radius: 2px;
    font-size: 1.5rem;
  }
}
.btn-dl:disabled {
  opacity: 0.5;
  pointer-events: none;
}
.btn-index-back {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  border: 2px solid var(--primary);
  border-radius: 6px;
  background-color: #fff;
  color: var(--primary);
  text-decoration: none;
  font-weight: 400;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .btn-index-back {
    width: 192px;
    height: 56px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .btn-index-back {
    width: 174px;
    height: 48px;
    font-size: 2rem;
  }
}
.btn-input {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 5px;
  background-color: var(--primary);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .btn-input {
    width: 200px;
    height: 56px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 640px) {
  .btn-input {
    width: 200px;
    height: 40px;
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 641px) {
  .zipsearch-btn {
    width: 140px;
    height: 56px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 640px) {
  .zipsearch-btn {
    width: 140px;
    height: 40px;
    font-size: 1.6rem;
  }
}
.btn-input:disabled {
  opacity: 0.5;
  pointer-events: none;
}
.error-message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 640px) {
  .error-message {
    margin-top: 8px;
  }
}
.error-message:empty {
  display: none;
}
.error-message + .input-text {
  margin-top: 8px;
}
.error-message + .input-select {
  margin-top: 8px;
}
.error-message + .section-contents-item-flex {
  margin-top: 8px;
}
.error-message#error-payment_method {
  margin-bottom: 16px;
}
.error-message .formErrorContent {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #e85706;
  color: #fff;
  line-height: 1;
}
@media screen and (min-width: 641px) {
  .error-message .formErrorContent {
    padding: 8px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 640px) {
  .error-message .formErrorContent {
    padding: 4px;
    font-size: 1.2rem;
  }
}
.error-message .formErrorContent::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 20%;
  display: block;
  width: 0;
  height: 0;
  border-top: 10px solid #e85706;
  border-right: 8px solid transparent;
  border-bottom: 0;
  border-left: 8px solid transparent;
}
.option {
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.option-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 641px) {
  .option-item {
    gap: 40px;
  }
}
@media screen and (max-width: 640px) {
  .option-item {
    gap: 16px;
  }
}
@media screen and (min-width: 641px) {
  .option-item + .option-item {
    margin-top: 20px;
  }
}
@media screen and (max-width: 640px) {
  .option-item + .option-item {
    margin-top: 12px;
  }
}
@media screen and (max-width: 640px) {
  .option-item-img {
    min-width: 80px;
    width: 80px;
  }
}
.option-item-body-not-home-delivery {
  
  padding: 0px 10px;
  background: #E5E5E5;
  border-radius: 10px;
  white-space: nowrap;
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  
}
@media screen and (min-width: 641px) {
  .option-item-body-not-home-delivery {
    display: inline-flex;
    text-align: center;
    justify-content: center;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 640px) {
  .option-item-body-not-home-delivery {
    display: inline-flex;
    text-align: left;
    justify-content: left;
    font-size: 1.4rem;
  }
}
.option-item-body-ttl {
  font-weight: 700;
  line-height: 1.4;
}
.option-item-body-ttl-price {
  font-weight: 400;
}
.option-item-body-ttl-price-small {
  font-weight: 400;
}
@media screen and (min-width: 641px) {
  .option-item-body-ttl {
    margin-bottom: 10px;
    font-size: 1.8rem;
  }
  .option-item-body-ttl-price {
    font-size: 1.8rem;
  }
  .option-item-body-ttl-price-small {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 640px) {
  .option-item-body-ttl {
    margin-bottom: 8px;
    font-size: 1.6rem;
  }
  .option-item-body-ttl-price {
    font-size: 1.6rem;
  }
  .option-item-body-ttl-price-small {
    font-size: 1.3rem;
  }
}
.option-item-body-txt {
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .option-item-body-txt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .option-item-body-txt {
    font-size: 1.4rem;
  }
}
.option-item-body-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}

.homeDelivery {
  margin: 40px 0;
  background-color: var(--secondary);
}
@media screen and (min-width: 641px) {
  .homeDelivery {
    padding: 24px;
    border-radius: 21px;
  }
}
@media screen and (max-width: 640px) {
  .homeDelivery {
    padding: 16px;
    border-radius: 10px;
  }
}
.homeDelivery-ttl {
  font-weight: 500;
}
@media screen and (min-width: 641px) {
  .homeDelivery-ttl {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .homeDelivery-ttl {
    font-size: 1.8rem;
  }
}
.homeDelivery-body {
  margin-top: 16px;
  margin-bottom: 16px;
}

@media screen and (min-width: 641px) {
  .spec-table {
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  .spec-table {
    width: 90%;
  }
}
.spec-table-th {
  padding: 8px;
  border: 1px solid #fff;
  background-color: var(--primary);
  color: #fff;
  vertical-align: middle;
  text-align: center;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .spec-table-th {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 640px) {
  .spec-table-th {
    font-size: 1.2rem;
  }
}
.spec-table-th:empty {
  background-color: transparent;
}
.spec-table-tbody .spec-table-th {
  background-color: #8baecf;
}
.spec-table-td {
  padding: 8px;
  border: 1px solid #fff;
  text-align: center;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .spec-table-td {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 640px) {
  .spec-table-td {
    font-size: 1.2rem;
  }
}
:nth-child(odd) > .spec-table-td {
  background-color: #e0e0e0;
}
:nth-child(even) > .spec-table-td {
  background-color: #f0f0f0;
}
.spec-note {
  position: relative;
  margin-top: 16px;
  padding-left: 1.25em;
  line-height: 1.4;
}
@media screen and (min-width: 641px) {
  .spec-note {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 640px) {
  .spec-note {
    font-size: 1.2rem;
  }
  .spec-note.text-r {
    text-align: left;
  }
}
.spec-note::before {
  content: "※";
  position: absolute;
  left: 0;
}
.spec-link {
  margin-top: 16px;
}
@media screen and (min-width: 641px) {
  .spec-link {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 640px) {
  .spec-link {
    font-size: 1.2rem !important;
  }
}

.dialog {
  display: none;
  font-family: "Noto Sans JP", HelveticaNeue, sans-serif !important;
  color: #000000;
}
@media screen and (min-width: 641px) {
  .dialog-contents {
    padding: 40px;
  }
}
@media screen and (max-width: 640px) {
  .dialog-contents {
    padding: 35px 20px;
  }
}
@media screen and (min-width: 641px) {
  .dialog-contents-zip {
    padding: 20px;
  }
}
@media screen and (max-width: 640px) {
  .dialog-contents-zip {
    padding: 35px 20px;
  }
}
.dialog-contents-body {
  overflow-x: hidden;
  overflow-y: auto;
  max-height: calc(80dvh - 110px);
}
.dialog-ttl {
  margin-bottom: 16px;
  color: var(--primary);
  text-align: center;
  font-weight: 700;
  font-size: 2rem;
}
@media screen and (min-width: 641px) {
  .dialog-txt {
    text-align: center;
    font-size: 2.0rem;
  }
}
@media screen and (max-width: 640px) {
  .dialog-txt {
    text-align: center;
    font-size: 1.5rem;
  }
}
.dialog-img {
  text-align: center;
}
.dialog::-ms-backdrop {
  background-color: rgba(0, 0, 0, 0.5);
  animation: fadeIn 0.75s;
}
.dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-animation: fadeIn 0.75s;
          animation: fadeIn 0.75s;
}
.dialog-close {
  position: absolute;
  overflow: hidden;
  width: 24px;
  height: 24px;
  background-color: var(--primary);
  text-indent: -9999px;
  cursor: pointer;
}
@media screen and (min-width: 641px) {
  .dialog-close {
    top: 10px;
    right: 10px;
  }
}
@media screen and (max-width: 640px) {
  .dialog-close {
    top: 8px;
    right: 8px;
  }
}
.dialog-close::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 16px;
  height: 2px;
  background-color: #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.dialog-close::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 16px;
  height: 2px;
  background-color: #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.dialog-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin-top: 20px;
  margin-inline: auto;
}
@media screen and (max-width: 640px) {
  .dialog-bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.dialog-bottom-btn-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 16px;
  height: 40px;
  border-radius: 4px;
  background-color: var(--primary);
  color: #fff;
  text-align: center;
  white-space: nowrap;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.5;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .dialog-bottom-btn-01 {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.dialog-bottom-btn-02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 16px;
  height: 40px;
  border-radius: 4px;
  background-color: var(--primary);
  color: #fff;
  text-align: center;
  white-space: nowrap;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.5;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 641px) {
  .dialog-bottom-btn-02 {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.dialog-contents-a{
  color: #0092d6 !important;
  
}

.dialog-contents-a-text{
  font-size: 1.6rem !important;
}

.accessory {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
@media screen and (min-width: 641px) {
  .accessory {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 640px) {
  .accessory {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.accessory-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-inline: auto;
  width: 200px;
}
.accessory-item-img {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.accessory-item-body {
  display: contents;
}
.accessory-item-ttl {
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
  margin-bottom: 8px;
  text-align: center;
  font-weight: 700;
  font-size: 1.6rem;
}
.accessory-item-txt {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 16px;
  text-align: center;
  font-size: 1.4rem;
}
.accessory-item-table {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  margin: 16px auto 0;
}
.accessory-item-table-th {
  text-align: left;
  font-weight: 400;
  font-size: 1.4rem;
}
.accessory-item-table-td {
  text-align: right;
  font-weight: 400;
  font-size: 1.4rem;
}

.topMv {
  display: block;
}

.tel_box {
  background: #f8f8f8;
  text-align: center;
  padding: 20px 0;
  width: 45%;
  min-width: 300px;
  margin: auto;
}
.tel_box .tel_ttl {
  font-size: 18px;
  font-weight: normal;
  margin-bottom: 10px;
}
.tel_box .tel_no {
  background: url(../img/common/free-tel.png) left center no-repeat;
  padding-left: 40px;
  font-size: 32px;
  color: #16438d;
  text-decoration: none;
  margin-bottom: 30px;
}
.tel_box p {
  font-size: 15px;
}

/******* メディアクエリ での制御 *******/
/* :hoverが使える端末を想定 */
@media (hover: hover) {
  :where(a):hover {
    text-decoration: none;
  }
  .footer-nav-list-item-link:hover {
    color: var(--primary);
  }
  .selectedProduct-img-thumb-item:hover {
    opacity: 0.7;
  }
  .input-radio-type-01:hover {
    background-color: var(--hover);
  }
  .input-radio-type-02:hover {
    background-color: var(--hover);
  }
  .input-radio-type-03:hover {
    background-color: var(--hover);
  }
  .input-radio-type-06:hover {
    background-color: var(--hover);
  }
  .btn-submit:hover {
    opacity: 0.7;
  }
  .btn-specification:hover {
    opacity: 0.7;
  }
  .btn-address-zipsearch:hover {
    opacity: 0.7;
  }
  .btn-back:hover {
    opacity: 0.7;
  }
  .btn-dl:hover {
    opacity: 0.7;
  }
  .btn-index-back:hover {
    opacity: 0.7;
  }
  .btn-input:hover {
    opacity: 0.7;
  }
  .dialog-bottom-btn-01:hover {
    opacity: 0.7;
  }
  .dialog-bottom-btn-02:hover {
    opacity: 0.7;
  }
}
/* :hoverが使えない端末を想定 */
@media (hover: none) {
  :where(a):active {
    text-decoration: none;
  }
  .footer-nav-list-item-link:active {
    color: var(--primary);
  }
  .selectedProduct-img-thumb-item:active {
    opacity: 0.7;
  }
  .input-radio-type-01:active {
    background-color: var(--hover);
  }
  .input-radio-type-02:active {
    background-color: var(--hover);
  }
  .input-radio-type-03:active {
    background-color: var(--hover);
  }
  .input-radio-type-06:active {
    background-color: var(--hover);
  }
  .btn-submit:active {
    opacity: 0.7;
  }
  .btn-specification:active {
    opacity: 0.7;
  }
  .btn-address-zipsearch:active {
    opacity: 0.7;
  }
  .btn-back:active {
    opacity: 0.7;
  }
  .btn-dl:active {
    opacity: 0.7;
  }
  .btn-index-back:active {
    opacity: 0.7;
  }
  .btn-input:active {
    opacity: 0.7;
  }
  .dialog-bottom-btn-01:active {
    opacity: 0.7;
  }
  .dialog-bottom-btn-02:active {
    opacity: 0.7;
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.fadeInDown {
  opacity: 0;
}
.fadeInDown.animated {
  -webkit-animation: fadeInDown;
          animation: fadeInDown;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.fadeIn {
  opacity: 0;
}
.fadeIn.animated {
  -webkit-animation: fadeIn;
          animation: fadeIn;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.fadeInUp {
  opacity: 0;
}
.fadeInUp.animated {
  -webkit-animation: fadeInUp;
          animation: fadeInUp;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.fadeInRight {
  opacity: 0;
}
.fadeInRight.animated {
  -webkit-animation: fadeInRight;
          animation: fadeInRight;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.delay-1 {
  -webkit-animation-delay: 0.1s !important;
          animation-delay: 0.1s !important;
}
.delay-2 {
  -webkit-animation-delay: 0.2s !important;
          animation-delay: 0.2s !important;
}
.delay-3 {
  -webkit-animation-delay: 0.3s !important;
          animation-delay: 0.3s !important;
}
.delay-4 {
  -webkit-animation-delay: 0.4s !important;
          animation-delay: 0.4s !important;
}
.delay-5 {
  -webkit-animation-delay: 0.5s !important;
          animation-delay: 0.5s !important;
}
.delay-6 {
  -webkit-animation-delay: 0.6s !important;
          animation-delay: 0.6s !important;
}
.delay-7 {
  -webkit-animation-delay: 0.7s !important;
          animation-delay: 0.7s !important;
}
.delay-8 {
  -webkit-animation-delay: 0.8s !important;
          animation-delay: 0.8s !important;
}
.delay-9 {
  -webkit-animation-delay: 0.9s !important;
          animation-delay: 0.9s !important;
}
.delay-10 {
  -webkit-animation-delay: 1s !important;
          animation-delay: 1s !important;
}