@charset "utf-8";
/* このファイルはUTF-8のBOMなし(UTF-8N)で保存しています */

/**
 * CSS Information
 * ===============================================================
 *
 * Site URL:  http://
 * File name: contents.css
 * Summary:   ページ・コンテンツごとの固有スタイル
 * Author:    CrEa., Inc.
 *
 * -----------------------------------
 *
 * TOC:
 *     =1    home
 *
 * ===============================================================
*/

/** =1
 * ========================================
 * home .top
 * ========================================
 */

/*index*/
.top.index .mainImg {
  width: 100%;
  /* max-width: 1280px; */
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 1;
}

.mainImg img {
  width: 100%;
}

.mainImgNotes {
  position: absolute;
  top: 1%;
  left: 1%;
  max-width: 40%;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.75);
}

@media screen and (max-width: 767px) {
  .mainImgNotes {
    max-width: 75%;
    font-size: 0.8rem;
  }
}

/* 販売方法 */
.boxSales {
  background-color: #1baad1;
  padding-top: 10px;
  padding-bottom: 10px;
  text-align: center;
}
.boxSales .itemSales a {
  display: block;
  position: relative;
}
.boxSales .itemSales a::after {
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translate(-50%, 50%);
  min-width: 160px;
  padding: 0.5em 1.5em;
  border-radius: 9999px;
  background-color: #ffff19;
  box-sizing: border-box;
  color: #1baad1;
  font-weight: bold;
  font-size: 12px;
  line-height: 1.5;
  content: "↓ 詳しくはこちら";
  z-index: 1;
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  .boxSales {
    margin-bottom: 30px;
    padding-right: 20px;
    padding-left: 20px;
  }
  .boxSales .itemSales + .itemSales {
    margin-top: 5px;
  }
  .boxSales .itemSales img {
    padding: 0.3em;
  }
}
/* -- >>> styles for mideum &  wide layout ----- */
@media screen and (min-width: 768px) {
  .boxSales {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    max-width: 1280px;
    margin-left: auto;
    margin-bottom: 60px;
    margin-right: auto;
  }
  .boxSales .itemSales {
    width: 50%;
    max-width: 466px;
    padding: 0 16px;
    box-sizing: border-box;
  }
  .boxSales .itemSales img {
    width: 434px;
    padding: 0.5em;
  }
}

/* sectionIntro */
.sectionIntro {
  position: relative;
}
.sectionIntro #cancelAnnouncement {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .sectionIntro #cancelAnnouncement {
    margin-bottom: 40px;
  }
}
#cancelAnnouncement {
  border: 2px solid #333;
  /* margin: 0 0 20px 25px; */
  padding: 1em 1.5em;
  font-size: 1.4rem;
  margin-bottom: 2rem;
}
.cancelAnnouncementTtl {
  color: #333;
}

.discontinued {
  position: relative;
}
.discontinued:before {
  position: absolute;
  content: "中止となりました";
  display: inline-block;
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  text-align: center;
  /* -webkit- transform: translateY(-50%) translateX(-50%); */
  font-weight: bold;
  border: 1px solid #fff;
  padding: 0.5em 1em;
  color: #fff;
}
.top.discontinued:before {
  border: 1px solid transparent;
  padding: 0;
}
/* -- >>> styles for mideum &  wide layout ----- */
.discontinuedCover {
  width: 100%;
  height: 100%;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 1;
}
.top.discontinuedCover {
  background-color: rgba(0, 0, 0, 0.6);
}
.itemSales {
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .discontinued:before {
    font-size: 2rem;
  }
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  .discontinued:before {
    width: 80%;
  }
  .itemSales {
    /* padding: .5em; */
  }
}
/* カード */
.itemImage {
  border: 6px solid #333;
  background-image: url(/assets/kikaku-joshaken/img/ooedo_raisan/index/ooedo-raisan_bg_noise.webp);
  background-size: 30%;
  background-repeat: repeat;
  position: relative;
  padding: 60px 40px;
}

.itemImage::before {
  content: "";
  display: block;
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  border: solid 2px #333;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  pointer-events: none;
}

.sectionIntro .boxWrap {
  padding-top: 90px;
}

.sectionIntro .boxDetailTitle {
  display: inline-block;
  font-size: 4rem;
  font-weight: 900;
}

.sectionIntro .boxDetailText {
  font-size: 2rem;
}

.sectionIntro .boxCard {
  margin-bottom: 40px;
}

.sectionIntro .boxCardTitle {
  font-size: 2rem;
  margin-bottom: 40px;
}

.sectionIntro .boxCard .listCard {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-inline: 35px;
}
.sectionIntro .boxCard .listCardItem {
  box-sizing: border-box;
  /* transform: rotate(3deg); */
}
.sectionIntro .boxCard .listCardItem img {
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
  width: 100%;
  margin-bottom: 10px;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  .itemImage {
    padding: 40px 15px;
  }

  .sectionIntro .boxWrap {
    padding-top: 60px;
  }

  .sectionIntro .boxDetailTitle {
    font-size: 2.6rem;
  }

  .sectionIntro .boxDetailText {
    font-size: 1.4rem;
  }

  .sectionIntro .boxCard {
    margin-bottom: 40px;
  }

  .sectionIntro .boxCardTitle {
    font-size: 1.8rem;
    margin-bottom: 30px;
  }

  .sectionIntro .boxCard .listCard {
    display: flex;
    margin: -5px;
    row-gap: 30px;
  }

  .boxCardTitle span:first-child::before {
    left: -1rem;
    border-width: 0 0 24px 21px;
  }

  .sectionIntro .boxCard .listCardItem {
    width: 85%;
    max-width: 350px;
  }
}
/* -- >>> styles for medium &  wide layout ----- */
@media screen and (min-width: 768px) {
  .sectionIntro .boxCard .listCard {
    margin: -10px;
  }
  .sectionIntro .boxCard .listCardItem {
    width: 33.33%;
    width: calc(1 / 3 * 100%);
    padding: 20px;
  }
}
@media screen and (min-width: 768px) {
  .salesImg {
    /* width: 90%!important; */
  }
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
}
/* -- >>> styles for mideum &  wide layout ----- */
@media screen and (min-width: 768px) {
}

.sectionIntro .boxIntro {
  color: #e9473f;
  padding: 20px 0 70px 0;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  width: 100vw;
  background-color: #fff;
}
.sectionIntro .boxIntro .itemImage {
  text-align: center;
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  .sectionIntro .boxIntro {
    padding: 10px 0 30px 0;
  }
  .sectionIntro .boxIntro .itemText .text {
    font-size: 1.6rem;
  }
}
/* -- >>> styles for mideum &  wide layout ----- */
@media screen and (min-width: 768px) {
  .sectionIntro .boxIntro .itemImage {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
  }
  .sectionIntro .boxIntro .itemImage .image {
    width: 48%;
    max-width: 292px;
  }
  .sectionIntro .boxIntro .itemImage .image + .image {
    margin-left: 4%;
  }
}

.sectionIntro .boxSet .ttlBoxSet {
  position: relative;
  z-index: 1;
}
.sectionIntro .boxSet .cntBoxSet {
  background-color: #ffffb2;
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  .sectionIntro .boxSet {
    margin-bottom: 40px;
  }

  .boxSet.boxA {
    margin-bottom: 35px;
  }
  .sectionIntro .boxSet .ttlBoxSet {
    margin-bottom: 19px;
  }
  .sectionIntro .boxSet .ttlBoxSet img {
    width: 135px;
  }
  .sectionIntro .boxSet .cntBoxSet {
    border-radius: 8px;
    padding: 20px;
  }
}
/* -- >>> styles for mideum &  wide layout ----- */
@media screen and (min-width: 768px) {
  .sectionIntro .boxSet .ttlBoxSet {
    max-width: 120px;
    margin: 0 auto 20px;
  }
  .sectionIntro .boxSet .cntBoxSet {
    display: -webkit-box;
    display: flex;
    padding: 30px;
    border-radius: 16px;
  }
  .sectionIntro .boxSet .cntBoxSet .itemCard {
    width: 33.33%;
    width: calc(1 / 3 * 100%);
  }
}

.sectionIntro .boxExtra {
  display: flex;
  align-items: end;
  justify-content: space-between;
  padding-inline: 40px;
}

.sectionIntro .boxExtraDaishi {
  display: flex;
  flex-direction: column;
}

.sectionIntro .boxExtraSensu {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  .sectionIntro .boxExtra {
    flex-wrap: wrap;
    padding-inline: 0;
    justify-content: center;
  }

  .sectionIntro .boxExtraDaishi {
    flex-direction: column-reverse;
    gap: 10px;
    margin-bottom: 40px;
  }

  .sectionIntro .boxExtraDaishi figcaption {
    font-size: 1.5rem;
    position: relative;
    inset: auto;
  }

  .sectionIntro .boxExtraSensu {
    flex-direction: column-reverse;
    gap: 10px;
  }

  .sectionIntro .boxExtraSensu figcaption {
    font-size: 1.5rem;
  }

  .sectionIntro .boxExtraSensu img {
    width: 80%;
    margin-inline: auto;
  }
}

.sectionIntro .boxEvent {
  display: grid;
}

/* -- >>> styles for mideum &  wide layout ----- */
@media screen and (min-width: 768px) {
  .sectionIntro .boxEvent {
    display: grid;
    grid-template-columns: 164px auto;
    gap: 15px 40px;
    justify-content: center;
  }

  .sectionIntro .boxEvent .boxEventImage {
    grid-column: 1/2;
    grid-row: 1/3;
  }
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  .sectionIntro .boxEvent {
    gap: 20px;
  }
  .sectionIntro .boxEventTitle {
    text-align: center;
  }

  .sectionIntro .boxEvent .btn {
    width: 100%;
    padding-inline: 1em;
  }
}


/* sectionCart */
.sectionCart {
  border: 6px solid currentColor;
  text-align: center;
  position: relative;
  z-index: 10;
  background-image: url(/assets/kikaku-joshaken/img/ooedo_raisan/index/ooedo-raisan_bg_noise.webp);
  background-size: 30%;
  background-repeat: repeat;
  padding: 50px 20px;
  position: relative;
  color: #333;
}

.sectionCart::before {
  content: "";
  display: block;
  width: calc(100% - 12px) ;
  height: calc(100% - 12px);
  border: solid 2px #333;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  pointer-events: none;
}

.sectionCart .itemSet {
  display: inline-block;
  width: 100%;
}
.sectionCart .itemNum {
  width: 100%;
}
.sectionCart .itemNum:nth-child(n+2) {
  margin-top: 20px;
}

.sectionCart .itemNum dt,
.sectionCart .itemNum dd {
  display: inline-block;
  vertical-align: top;
}
.sectionCart .itemBtn {
  transition: opacity 300ms ease-in-out;
}
.sectionCart .itemBtn.is-disabled {
  opacity: 0.6;
}
.sectionCart .itemBtn .btn.yellow.disabled {
  opacity: 1 !important;
}

.sectionCart .itemBtn.icon-cart {
  position: relative;
}

.sectionCart .itemBtn.icon-cart::before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 2em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  color: #333;
  font-weight: 900;
  font-size: 20px;
  font-size: 2rem;
  content: "\f07a";
  pointer-events: none;
  /* transition: all 300ms ease-in-out; */
}
.sectionCart .itemBtn.icon-cart.is-disabled::before {
  /* opacity: 0.4; */
  /* background: #9d7796; */
}
.sectionCart .itemBtn.icon-cart .btn {
  padding-left: 4.5em;
}
.sectionCart .itemBtn.is-disabled div.btn {
  line-height: 1.2;
  cursor: default;
}
.sectionCart .title {
  font-weight: bold;
  text-align: left;
}
.sectionCart .title small {
  font-weight: bold;
}

.sectionCart .formSales:has(+div),
.sectionCart .formSalesCancel:has(+div) {
  padding-bottom: 30px;
}

.sectionCart .formSales+div,
.sectionCart .formSalesCancel+div {
  border-top: solid 1px currentColor;
  padding-top: 30px;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  .sectionCart {
    padding: 20px;
  }
  .sectionCart .itemSet + .itemSet {
    margin-top: 10px;
  }
  .sectionCart .itemBtn {
    display: inline-block;
    margin-top: 10px;
  }
  .sectionCart .itemBtn.icon-cart::before {
    font-size: 1.75rem;
  }
  .sectionCart .itemNum dd {
    width: 100%;
  }
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 768px) {
  .sectionCart .itemNum dd {
    margin-left: 1em;
  }
  .sectionCart {
    padding: 40px 20px;
    line-height: 1.5;
  }
  .sectionCart .itemSet + .itemSet {
    margin-left: 24px;
  }
  .sectionCart .itemNum,
  .sectionCart .itemBtn {
    display: inline-block;
    vertical-align: middle;
  }
  .sectionCart .itemBtn {
    margin-top: 30px;
    /* margin-left: 32px; */
  }
}

/* sectionSummary */
.sectionSummary {
  padding: 30px;
  /* border-radius: 16px; */
  border: 1px solid #fff;
  /* background-color: #e1f4fa; */
}
.sectionSummaryTitle {
  margin-bottom: 4px;
  padding: 0.5em 0.75em;
  border-radius: 4px;
  background-color: #1baad1;
  color: #fff;
  font-weight: bold;
  line-height: 1.4;
}
.sectionSummary .listSummary .title {
  background-color: #fff;
  color: #333;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  .sectionSummary {
    padding: 10px;
  }
}

.sectionSummary .listNotice li {
  padding-left: 1em;
}
.sectionSummary .listNotice li::before {
  display: inline-block;
  text-indent: -1em;
  content: "※";
}

.listSummary .listNoticeItem {
  padding-left: 1em;
}
.listSummary .listNoticeItem::before {
  display: inline-block;
  text-indent: -1em;
  content: "※";
}

/** =2
 * ========================================
 * cart ~ order
 * ========================================
 */

/* boxBtnForm */
.boxBtnForm {
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  .boxBtnForm {
    margin: -0.25em;
  }
  .boxBtnForm .btn {
    min-width: 70%;
    margin: 0.25em;
    padding-right: 1em;
    padding-left: 1em;
  }
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 768px) {
  .boxBtnForm {
    margin: -6px;
  }
  .boxBtnForm .btn {
    min-width: 292px;
    margin: 6px;
  }
}

/* boxBtnReturn */
.boxBtnReturn {
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 768px) {
  .boxBtnReturn .btn {
    min-width: 216px;
  }
}

/* [ boxCart ]
  ------------------------------ */
.boxCart {
  overflow: hidden;
  border: 1px solid #b0bbbf;
  border-radius: 8px;
  background-color: #fff;
}

.boxCart .blockItem {
  position: relative;
}
.boxCart .blockItem + .blockItem {
  border-top: 1px dashed #b0bbbf;
}
.boxCart .blockItem .itemText .subtotal {
  margin-top: 1em;
  padding-top: 1em;
  border-top: 1px solid #b0bbbf;
}
.boxCart .blockItem .itemBtn {
  position: absolute;
  top: 0;
  right: 0;
}
.boxCart .blockItem .itemBtn .far {
  color: #b0bbbf;
}

.boxCart .blockTotal {
  border-top: 1px solid #b0bbbf;
  background-color: #ebf0f2;
  text-align: right;
}
.boxCart .blockTotal .textSubtotal,
.boxCart .blockTotal .textShipping,
.boxCart .blockTotal .textTotal {
  display: inline-block;
}
.boxCart .blockTotal .textSubtotal {
  margin-right: 1em;
}
.boxCart .blockTotal .textTotal {
  font-size: 16px;
  font-size: 1.6rem;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  .boxCart .blockItem {
    padding: 2.5em 20px 1em;
  }
  .boxCart .blockItem .itemImage {
    text-align: center;
  }
  .boxCart .blockItem .itemImage img {
    width: 186px;
  }
  .boxCart .blockItem .itemText {
    padding-top: 1em;
  }
  .boxCart .blockItem .itemBtn {
    top: 10px;
    right: 10px;
  }

  .boxCart .blockTotal {
    padding: 1em 20px;
  }
  .boxCart .blockTotal .textTotal {
    display: block;
  }
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 768px) {
  .boxCart .blockItem {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    padding: 1.5em 30px;
  }
  .boxCart .blockItem .itemImage {
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
    width: 186px;
  }
  .boxCart .blockItem .itemText {
    -webkit-flex-grow: 1;
    flex-grow: 1;
    padding-left: 24px;
  }
  .boxCart .blockItem .itemBtn {
    top: 1.25em;
    right: 30px;
  }

  .boxCart .blockTotal {
    padding: 1em 30px;
  }
  .boxCart .blockTotal .textShipping {
    margin-right: 2em;
  }
}
/* [ boxCard ]
  ------------------------------ */
.boxCardDaishiTitle {
  padding: 0.3em 0.3em;
}

.boxCardDaishiImage {
  position: relative;
  margin-bottom: 25px;
  text-align: center;
}
.boxCardDaishiImage img {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.boxCardDaishiImageCaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateY(100%);
  padding-top: 10px;
  font-weight: 300;
  letter-spacing: 0.15em;
  line-height: 1;
  font-weight: 600;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  .boxCardDaishi {
    margin-top: 40px;
    margin-bottom: 50px;
  }
  .boxCardDaishiTitle {
    font-size: 2.2rem;
    text-align: center;
    transform: translateX(-1rem);
  }
  .boxCardDaishiTitle::before {
    left: -0.5rem;
    border-width: 0 0 24px 21px;
  }
  .boxCardDaishiText {
    margin-bottom: 20px;
  }
  .boxCardDaishiImageWrap {
    background-size: 255px !important;
    padding: 0 6.25%;
  }
  .boxCardDaishiImageBg {
    background-color: #fff;
    padding: 25px;
  }
  .boxCardDaishiImage + .boxCardDaishiImage {
    padding-top: 15px;
  }
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 768px) {
  .boxCardDaishi {
    margin-top: 100px;
    margin-bottom: 110px;
  }
  .boxCardDaishiTextWrap {
    margin-bottom: 35px;
    text-align: center;
  }
  .boxCardDaishiTitle {
    font-size: 2.8rem;
  }
  .boxCardDaishiText {
    font-size: 1.6rem;
  }
  .boxCardDaishiImageBg {
    display: flex;
    justify-content: space-between;
    gap: 35px;
  }
  .boxCardDaishiImage {
    width: calc(440 / 900 * 100%);
  }
  .boxCardDaishiImageWrap {
    background-size: 450px auto !important;
    padding: 0 40px;
  }
}
.boxCardDaishiImageWrap {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

.boxCardDaishiImageWrapInner {
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
}
.boxCardDaishiImageBg {
  background-color: #fff;
  padding: 30px 40px;
  background-image: url(/assets/kikaku-joshaken/img/ooedo_raisan/index/bg_card_daishi.jpg);
  background-size: contain;
}
/** =2-1
   * cart
   * ----------------------------------
   */

/** =2-2
   * auth
   * ----------------------------------
   */

/* [ login ]
    ------------------------------ */
.boxLogin {
}
.boxLoginContent {
  padding: 20px;
  border-radius: 8px;
  background-color: #e1f4fa;
}
.boxLogin .btn {
  width: 100%;
  padding-top: 0.7em;
  padding-bottom: 0.7em;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  .boxLogin + .boxLogin {
    margin-top: 20px;
  }
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 768px) {
  .boxLogin {
    float: left;
    width: 48%;
    width: -webkit-calc(430/900 * 100%);
    width: calc(430 / 900 * 100%);
    margin-left: 4%;
    margin-left: -webkit-calc(40/900 * 100%);
    margin-left: calc(40 / 900 * 100%);
  }
  .boxLogin:nth-child(2n + 1) {
    margin-left: 0;
  }
}

/* member */
.boxLogin.member .itemForm {
  margin-bottom: 10px;
}
.boxLogin.member .itemForm .text input {
  border-top: none;
  border-radius: 0;
}
.boxLogin.member .itemForm .text:first-child input {
  border-top: 1px solid #b0bbbf;
  border-radius: 4px 4px 0 0;
}
.boxLogin.member .itemForm .text:last-child input {
  border-radius: 0 0 4px 4px;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 768px) {
}

/** =2-3
   * order
   * ----------------------------------
   */

/* [ customer ]
     ------------------------------ */
.formCustomer {
  margin-bottom: 40px;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 768px) {
}

/* [ shipping ]
    ------------------------------ */
.formShipping {
}
.boxAnotherDestination {
  border-radius: 4px;
  background-color: #e1f4fa;
}
#js-watchCheckboxDestinationTarget {
  display: none;
}
#js-watchCheckboxDestinationTarget.is-open {
  display: block;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  .formShipping {
    margin-bottom: 30px;
  }
  .boxAnotherDestination {
    padding: 0.75em 1.25em;
  }
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 768px) {
  .formShipping {
    margin-bottom: 40px;
  }
  .boxAnotherDestination {
    padding: 1.5em 2em;
    text-align: center;
  }
}

/* [ payment ]
    ------------------------------ */
.formPayment {
  border-top: 1px solid #b0bbbf;
  border-bottom: 1px solid #b0bbbf;
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  .formPayment {
    margin-bottom: 20px;
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 768px) {
  .formPayment {
    margin-bottom: 30px;
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/* [ mail magazine ]
    ------------------------------ */
.formMailmagazine {
  border-bottom: 1px solid #b0bbbf;
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  .formMailmagazine {
    margin-bottom: 20px;
    padding-top: 10px;
    padding-bottom: 30px;
  }
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 768px) {
  .formMailmagazine {
    margin-bottom: 30px;
    padding-top: 10px;
    padding-bottom: 40px;
  }
}

/* [ confirm ]
     ------------------------------ */
.boxConfirm:first-child {
  margin-top: 0;
}
.boxConfirmContent {
  border: 1px solid #b0bbbf;
  border-radius: 8px;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  .boxConfirm {
    margin-top: 20px;
  }
  .boxConfirmContent {
    padding: 1em 20px;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 768px) {
  .boxConfirm {
    margin-top: 30px;
  }
  .boxConfirmContent {
    padding: 1.5em 30px;
    font-size: 16px;
    font-size: 1.6rem;
  }
}

/** =3
 * ========================================
 * multipay（外部サイト）
 * ========================================
 */
#multipay {
}

#multipay .innerSiteTitle .metroLogo {
  display: inline-block;
  width: 72px;
  margin-right: 1em;
  vertical-align: baseline;
}
#multipay .innerSiteTitle .text {
  position: relative;
  font-weight: inherit;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  #multipay .innerSiteTitle .text {
    top: -5px;
  }
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 768px) {
  #multipay .innerSiteTitle {
    font-size: 18px;
    font-size: 1.8rem;
  }
  #multipay .innerSiteTitle .text {
    top: -1px;
  }
}

/* alert */
#multipay .barAlert {
  padding: 0.75em 1em;
  background-color: #faffb4;
}

/* error */
#multipay .error {
  color: #cc334c;
  font-weight: bold;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  #multipay .listError.fa-ul {
    margin-left: 20px;
  }
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 768px) {
  #multipay .listError.fa-ul {
    margin-left: 24px;
  }
}

/* [ formCredit ]
     ------------------------------ */
.formCredit {
}
.formCredit select {
  display: inline-block;
  height: 46px;
  padding: 0 2.75em 0 1.25em;
  border: 1px solid #b0bbbf;
  border-radius: 4px;
  box-sizing: border-box;
  background-color: #fff;
  font-size: 16px;
  font-size: 1.6rem;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 768px) {
}

/** =4
 * ========================================
 * faq
 * ========================================
 */

.Strikethrough {
  text-decoration: line-through;
}
#faq .tabNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 6%;
}
#faq .tabNav li {
  width: 33.33%;
  width: -webkit-calc(1/3 * 100%);
  width: calc(1 / 3 * 100%);
  min-height: 60px;
  border: 1px solid #1baad1;
  border-top: none;
  border-left: none;
}
#faq .tabNav a {
  position: relative;
  display: block;
  height: 100%;
  padding: 10px 0;
  text-align: center;
  color: #1baad1;
  line-height: 1.2;
  font-size: 90%;
}
#faq .tabNav li:nth-child(-n + 3) {
  border-top: 1px solid #1baad1;
}
#faq .tabNav li:nth-child(3n + 1) {
  border-left: 1px solid #1baad1;
}
#faq .tabNav a.active {
  color: #fff;
  background: #1baad1;
}
#faq .tabNav span {
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -40%);
  font-weight: bold;
}
#faq .sectionFaq {
  opacity: 0;
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-in-out;
}
#faq .sectionFaq.active {
  opacity: 1;
  position: static;
  pointer-events: auto;
}
#faq .sectionFaq01 {
  display: block;
}
#faq .faqDl > dt {
  font-weight: bold;
  font-size: 110%;
}
#faq .faqDl > dd + dt {
  margin-top: 0.75em;
}
#faq .faqDl > dt:before {
  content: "Q. ";
  font-weight: bold;
  color: #1baad1;
}
#faq .faqDl > dd {
  padding-left: 1.5em;
}
#faq .faqDl em {
  text-decoration: underline;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  #faq .tabNav {
    flex-wrap: wrap;
  }
  #faq .tabNav li {
    width: 50%;
    min-height: 60px;
    border-top: none;
  }
  #faq .tabNav li:nth-child(-n + 3) {
    border-top: none;
  }
  #faq .tabNav li:nth-child(3n + 1) {
    border-left: none;
  }
  #faq .tabNav li:nth-child(-n + 2) {
    border-top: 1px solid #1baad1;
  }
  #faq .tabNav li:nth-child(2n + 1) {
    border-left: 1px solid #1baad1;
  }
}

/* 送料・配達について */
#faq .boxFaqImage {
  text-align: center;
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  #faq .boxFaqImage .image + .image {
    margin-top: 15px;
  }
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 768px) {
  #faq .boxFaqImage {
    display: -webkit-flex;
    display: flex;
    margin-right: -10px;
    margin-left: -10px;
  }
  #faq .boxFaqImage .image {
    width: 50%;
    padding-right: 10px;
    padding-left: 10px;
    box-sizing: border-box;
  }
}

/* 水天宮前駅特設ブースについて */
#faq .boxMapStation {
  position: relative;
  border: 1px solid #1baad1;
}
#faq .boxMapStation .caption {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.25em 0.75em;
  background-color: #1baad1;
  color: #fff;
  font-weight: bold;
}
#faq .boxMapStation dt.caption::before {
  display: none;
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  #faq .boxMapStation {
    padding: 30px 10px 10px;
  }
  #faq .boxMapStation .caption {
    font-size: 12px;
  }
}
/* -- >>> styles for mideum &  wide layout ----- */
@media screen and (min-width: 768px) {
  #faq .boxMapStation {
    padding: 50px 20px 20px;
  }
}

/** =5
 * ========================================
 * flow
 * ========================================
 */
#flow .sectionFlow {
  line-height: 1.6;
}
#flow .sectionFlow .fill .fluorescence {
  background: linear-gradient(transparent 60%, #eab432 0%);
}
#flow .sectionFlow .column2 {
  width: 49%;
}
#flow .sectionFlow .fill {
  padding: 30px 40px;
  border-radius: 8px;
  background: #1baad1;
  color: #fff;
}
#flow .sectionFlow .frame {
  border: 3px solid #1baad1;
  border-radius: 8px;
}
#flow .sectionFlow .frame .title {
  margin-bottom: 0.75em;
  padding: 0.5em 1em;
  border-radius: 4px 4px 0 0;
  background: #1baad1;
  font-weight: bold;
  font-size: 1.8rem;
  text-align: center;
}
#flow .sectionFlow .frame .text {
  padding: 0 37px 17px;
}
#flow .sectionFlow .column2 .frame .text {
  padding-right: 22px;
  padding-left: 22px;
}
#flow .sectionFlow .grayFill {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  padding: 0.75em 1em;
  border-radius: 8px;
  background: #ebf0f2;
  text-align: center;
}
#flow .sectionFlow .grayFill .grayFillTitle {
  font-size: 1.8rem;
  font-weight: bold;
}
#flow .sectionFlow .arrow {
  font-size: 2rem;
  color: #1baad1;
  line-height: 2;
}
#flow .sectionFlow .arrow.long {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  position: relative;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
#flow .sectionFlow .arrow.long::after {
  display: block;
  position: absolute;
  top: 0.5em;
  bottom: 0.75em;
  left: 50%;
  border-left: 4px solid #1baad1;
  transform: translateX(-50%);
  content: "";
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 767px) {
  #flow .sectionFlow {
    font-size: 1.3rem;
  }
  #flow .sectionFlow .fill {
    padding: 1em 20px;
    border-radius: 4px;
  }
  #flow .sectionFlow .frame {
    border-radius: 4px;
  }
  #flow .sectionFlow .frame .title {
    margin-bottom: 0.75em;
    padding: 0.5em 1em;
    border-radius: 0;
    font-size: 1.4rem;
  }
  #flow .sectionFlow .frame .text {
    padding: 0 17px 1em;
  }
  #flow .sectionFlow .column2 .frame .text {
    padding-right: 12px;
    padding-left: 12px;
  }
  #flow .sectionFlow .grayFill {
    padding: 1em 10px;
    border-radius: 4px;
  }
  #flow .sectionFlow .grayFill .grayFillTitle {
    font-size: 1.4rem;
  }
  #flow .sectionFlow .grayFill .mb5 {
    margin-bottom: 0;
  }
  #flow .sectionFlow .grayFill .fs90per {
    font-size: 80%;
  }
  #flow .sectionFlow .title {
  }
  #flow .sectionFlow .title .titleBlock {
    font-size: 1.4rem;
  }
  #flow .sectionFlow .arrow {
    font-size: 2rem;
    line-height: 2;
  }
}

/** =6
 * ========================================
 * privacy
 * ========================================
 */

#privacy {
}

.sectionPrivacy:not(:last-of-type) {
  margin-bottom: 10%;
}

/* lowDl */
#privacy .lowDl > dt {
  font-weight: bold;
}
#privacy .lowDl > dt.h4Icon {
  margin-bottom: 0.5em;
}
#privacy .lowDl > dd + dt {
  margin-top: 1em;
}
#privacy .lowDl > dt + dd {
  padding-left: 1.25em;
}
