@charset "UTF-8";
.page p, .page span, .page a, .page h2, .page h3 {
  line-height: 1.5;
}
.page a {
  display: block;
  -webkit-transition: all 0.3s ease-in 0s;
  transition: all 0.3s ease-in 0s;
}
.page a:hover {
  opacity: 0.6;
}
.page img {
  max-width: 100%;
  height: auto;
}
.page div, .page span, .page applet, .page object, .page iframe,
.page h1, .page h2, .page h3, .page h4, .page h5, .page h6, .page p,
.page blockquote, .page pre, .page a, .page abbr, .page acronym, .page address,
.page big, .page cite, .page code, .page del, .page dfn, .page em, .page img, .page ins, .page kbd, .page q, .page s, .page samp, .page small, .page strike, .page strong, .page sub, .page sup, .page tt, .page var, .page b, .page u, .page i, .page center,
.page dl, .page dt, .page dd, .page ol, .page ul, .page li,
.page fieldset, .page form, .page label, .page legend,
.page table, .page caption, .page tbody, .page tfoot, .page thead, .page tr, .page th, .page td,
.page article, .page aside, .page canvas, .page details, .page embed, .page figure, .page figcaption, .page footer, .page header, .page hgroup,
.page menu, .page nav, .page output, .page ruby, .page section, .page summary, .page time, .page mark, .page audio, .page video, .page picture {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.page article, .page aside, .page details, .page figcaption, .page figure, .page footer, .page header, .page hgroup, .page menu, .page nav, .page section, .page summary, .page picture {
  display: block;
}
.page *, .page *:before, .page *:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
.page button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.l-wrap {
  overflow: initial;
}

@media screen and (min-width: 769px) {
  .view--pc {
    display: block;
  }
  .view--sp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .view--pc {
    display: none;
  }
  .view--sp {
    display: block;
  }
}
.page {
  overflow: hidden;
  background: #fff;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "sans-serif";
  /*=============================
   共通
  =============================*/
  /*=============================
   kv
  =============================*/
  /*=============================
   statement
  =============================*/
  /*=============================
   content
  =============================*/
  /*=============================
   flag_ship_store
  =============================*/
  /*=============================
   shop
  =============================*/
  /*=============================
   door
  =============================*/
}
.page__inner {
  margin: auto;
  max-width: 980px;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  .page__inner {
    padding: 0 20px;
  }
}
@media screen and (max-width: 768px) {
  .page__inner {
    width: 89.6vw;
  }
}
@media screen and (max-width: 768px) {
  .page .pc-br {
    display: none;
  }
}
.page .sp-br {
  display: none;
}
@media screen and (max-width: 768px) {
  .page .sp-br {
    display: inline;
  }
}
@media screen and (max-width: 768px) {
  .page .view-pc {
    display: none;
  }
}
.page .view-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .page .view-sp {
    display: block;
  }
}
.page .hiragino {
  font-family: "Hiragino Mincho Pro";
}
.page .btn {
  max-width: 413px;
  font-size: 24px;
  font-weight: 600;
  border: 2px solid #000;
  background: #fff;
  margin: 50px auto 0;
  padding: 30px 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .btn {
    max-width: 53.8vw;
    font-size: 3.1vw;
    padding: 3.9vw 0;
    margin-top: 5.2vw;
    border: 0.3vw solid #000;
  }
}
.page .btn::after {
  content: "";
  background-image: url(/ec/img/usr/pg/campaign/shinycolors-aoyama/btn_arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 48%;
  right: 5%;
  width: 28px;
  height: 7px;
}
@media screen and (max-width: 768px) {
  .page .btn::after {
    top: 46%;
    right: 8%;
    width: 3.6vw;
    height: 0.9vw;
  }
}
.page .btn.not-active {
  opacity: 0.75;
  background: #cacaca;
  pointer-events: none;
}
.page .kv h1 {
  min-width: 1920px;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  text-align: center;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  .page .kv h1 {
    min-width: 190vw;
  }
}
@media screen and (max-width: 768px) {
  .page .kv h1 {
    min-width: 100%;
  }
}
.page .kv h1 img {
  margin: auto;
}
.page .statement {
  text-align: center;
  background-image: url(/ec/img/usr/pg/campaign/shinycolors-aoyama/statement_bg_pc.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  padding: 85px 0;
}
@media screen and (max-width: 768px) {
  .page .statement {
    background-image: url(/ec/img/usr/pg/campaign/shinycolors-aoyama/statement_bg_sp.png);
    padding: 9.8vw 0;
  }
}
.page .statement_icon {
  max-width: 704px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .statement_icon {
    max-width: 87.6vw;
  }
}
.page .statement_text {
  text-align: center;
  font-size: 22px;
  margin-top: 46px;
}
@media screen and (max-width: 768px) {
  .page .statement_text {
    font-size: 3.1vw;
    margin-top: 6vw;
  }
}
.page .statement_text p {
  font-weight: 600;
  color: #272727;
}
.page .content {
  padding: 80px 0;
  background-image: url(/ec/img/usr/pg/campaign/shinycolors-aoyama/background.png);
  background-position: center top;
}
@media screen and (max-width: 768px) {
  .page .content {
    padding: 9.1vw 0;
  }
}
.page .content .anchor_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 980px;
  width: 100%;
  margin: 0 auto 100px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .page .content .anchor_list {
    max-width: 90.2vw;
    margin-bottom: 9.1vw;
  }
}
.page .content .anchor_item {
  width: 49%;
}
.page .content .order, .page .content .member, .page .content .full_custom, .page .content .simple_custom, .page .content .completion, .page .content .value, .page .content .benefits {
  max-width: 980px;
  width: 100%;
  text-align: center;
  margin: 0 auto 100px;
}
@media screen and (max-width: 768px) {
  .page .content .order, .page .content .member, .page .content .full_custom, .page .content .simple_custom, .page .content .completion, .page .content .value, .page .content .benefits {
    max-width: 90.1vw;
    margin-bottom: 9.1vw;
  }
}
.page .content .order .step_title {
  font-size: 33px;
  font-weight: bold;
  padding: 6px 0;
  color: #fff;
  background: #00488E;
}
@media screen and (max-width: 768px) {
  .page .content .order .step_title {
    font-size: 4.2vw;
    padding: 0.8vw 0;
  }
}
.page .content .order .step_arrow {
  max-width: 143px;
  width: 100%;
  margin: 32px auto;
}
@media screen and (max-width: 768px) {
  .page .content .order .step_arrow {
    width: 18.6vw;
    margin: 3.1vw auto;
  }
}
.page .content .order .print_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 20px;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .page .content .order .print_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 2.1vw;
    max-width: 81.3vw;
    margin-bottom: 0;
  }
}
.page .content .order .print_item {
  max-width: 420px;
  width: 49%;
  margin-right: 2%;
}
@media screen and (max-width: 768px) {
  .page .content .order .print_item {
    max-width: 100%;
    width: 79.9vw;
    margin-right: 0;
    margin-top: 4.2vw;
  }
}
.page .content .order .print_item:nth-of-type(2) {
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .page .content .order .print_item:nth-of-type(1) {
    margin-top: 0;
  }
}
.page .content .order .print_item .new {
  font-size: 26px;
  font-weight: 600;
  color: #FF0707;
  border: 2px solid #FF0707;
  padding: 6px 0;
  text-align: center;
  margin-bottom: 10px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .page .content .order .print_item .new {
    padding: 0.5vw 0;
    font-size: 2.6vw;
    margin-bottom: 1.7vw;
  }
}
.page .content .order .set {
  padding: 8px 12px 17px;
  border: 1px solid #008CCD;
  background: #F5F8FC;
}
@media screen and (max-width: 768px) {
  .page .content .order .set {
    padding: 0.8vw 1.7vw 1.7vw;
  }
}
.page .content .order .set_title {
  font-size: 25px;
  font-weight: 800;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  .page .content .order .set_title {
    font-size: 2.6vw;
  }
}
@media screen and (max-width: 768px) {
  .page .content .order .set_title {
    font-size: 2.2vw;
  }
}
.page .content .order .set_content {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -0.07em;
  margin-bottom: 10px;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  .page .content .order .set_content {
    font-size: min(2vw, 20px);
  }
}
@media screen and (max-width: 768px) {
  .page .content .order .set_content {
    font-size: 2.1vw;
  }
}
.page .content .order .set_member, .page .content .order .set_member_2line {
  background: #fff;
  border: #008CCE 1px solid;
  font-size: 24px;
  font-weight: 800;
  color: #008CCE;
  padding: 20px 0;
  margin-bottom: 10px;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  .page .content .order .set_member, .page .content .order .set_member_2line {
    font-size: min(2vw, 20px);
    padding: 14px 0;
    height: 65px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .page .content .order .set_member, .page .content .order .set_member_2line {
    font-size: 2vw;
    padding: 2vw 0;
  }
}
.page .content .order .set_member_2line {
  padding: 5px 0;
  line-height: 1.37;
  color: #00B8EE;
}
@media screen and (max-width: 768px) {
  .page .content .order .set_member_2line {
    padding: 0.7vw 0;
  }
}
.page .content .order .set .note_list {
  text-align: left;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .page .content .order .set .note_list {
    margin-bottom: 2.6vw;
  }
}
.page .content .order .set .note_list .note_item {
  font-size: 17px;
  line-height: 1.4;
  letter-spacing: -0.02em;
  font-weight: 500;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  .page .content .order .set .note_list .note_item {
    font-size: min(1.6vw, 17px);
  }
}
@media screen and (max-width: 768px) {
  .page .content .order .set .note_list .note_item {
    font-size: 2vw;
    letter-spacing: -0.05em;
    line-height: 1.5;
  }
}
.page .content .order .set .full {
  margin-bottom: 14px;
}
@media screen and (max-width: 768px) {
  .page .content .order .set .full {
    max-width: 277px;
    width: 100%;
    margin-bottom: 4.7vw;
  }
}
@media screen and (max-width: 768px) {
  .page .content .order .set .simple {
    margin-bottom: 1.3vw;
  }
}
.page .content .order .step_01 .first_arrival {
  font-size: 25px;
  margin-top: 10px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .page .content .order .step_01 .first_arrival {
    font-size: 4.2vw;
  }
}
.page .content .order .step_01 .announce {
  font-size: 28px;
  font-weight: bold;
  color: #E3007F;
}
@media screen and (max-width: 768px) {
  .page .content .order .step_01 .announce {
    font-size: 3.4vw;
  }
}
.page .content .order .step_01 .note {
  font-size: 24px;
  color: #E3007F;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .content .order .step_01 .note {
    font-size: 2.6vw;
  }
}
.page .content .order .step_05 {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .page .content .order .step_05 {
    margin-bottom: 7.2vw;
  }
}
.page .content .order .step_06_text {
  max-width: 884px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .content .order .step_06_text {
    max-width: 81.3vw;
  }
}
.page .content .order .step_06 .reception_btn {
  max-width: 653px;
  margin: 60px auto 0;
}
@media screen and (max-width: 768px) {
  .page .content .order .step_06 .reception_btn {
    max-width: 79.9vw;
    margin: 6.3vw auto 4.2vw;
  }
}
.page .content .order .step_06 .reception_btn_note {
  text-align: left;
  margin-top: 88px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  width: 88%;
  margin: 88px auto 0;
}
@media screen and (max-width: 768px) {
  .page .content .order .step_06 .reception_btn_note {
    width: 79.9vw;
    margin-top: 2vw;
    font-size: 2.9vw;
  }
}
.page .content .order .material .step_title {
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .page .content .order .material .step_title {
    margin-bottom: 3.1vw;
  }
}
.page .content .order .material_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .page .content .order .material_list {
    max-width: 59.9vw;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 2.1vw auto 1vw;
  }
}
.page .content .order .material_item {
  margin-right: 1%;
}
@media screen and (max-width: 768px) {
  .page .content .order .material_item {
    width: 28.6vw;
    margin-right: 2.6vw;
    margin-top: 1.3vw;
  }
}
@media screen and (max-width: 768px) {
  .page .content .order .material_item:nth-of-type(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .page .content .order .material_item:nth-of-type(-n+2) {
    margin-top: 0;
  }
}
.page .content .order .material_item p {
  font-size: 17px;
  line-height: 1.47;
  text-align: left;
  margin: 5px auto 10px;
  font-weight: 500;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  .page .content .order .material_item p {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .page .content .order .material_item p {
    font-size: 2vw;
    margin: 0.8vw auto 0;
  }
}
.page .content .completion .content_inner {
  padding: 50px 60px 60px;
}
@media screen and (max-width: 768px) {
  .page .content .completion .content_inner {
    padding: 3.9vw 5.2vw 2.6vw;
  }
}
.page .content .completion .content_inner .full_custom, .page .content .completion .content_inner .simple_custom {
  margin: 0 auto 30px;
}
@media screen and (max-width: 768px) {
  .page .content .completion .content_inner .full_custom, .page .content .completion .content_inner .simple_custom {
    margin-bottom: 2.5vw;
  }
}
.page .content .completion .content_inner .full_custom .title, .page .content .completion .content_inner .simple_custom .title {
  background: #008CCE;
  font-size: 33px;
  font-weight: bold;
  color: #fff;
  padding: 10px 0;
}
@media screen and (max-width: 768px) {
  .page .content .completion .content_inner .full_custom .title, .page .content .completion .content_inner .simple_custom .title {
    font-size: 3vw;
    padding: 0.8vw 0;
  }
}
.page .content .completion .content_inner .full_custom_list, .page .content .completion .content_inner .simple_custom_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border: 1px solid #008CCE;
  padding: 20px;
}
.page .content .completion .content_inner .full_custom_item, .page .content .completion .content_inner .simple_custom_item {
  width: 49.6%;
}
.page .content .completion .content_inner .simple_custom {
  margin-bottom: 0;
}
.page .content .completion .content_inner .note {
  margin-top: 13px;
  font-size: 16px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .page .content .completion .content_inner .note {
    margin-top: 1.3vw;
    font-size: 2vw;
    text-align: left;
  }
}
.page .content .value_info .item {
  font-size: 32px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .content .value_info .item {
    font-size: 3vw;
  }
}
.page .content .value_info .price {
  max-width: 610px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .content .value_info .price {
    max-width: 56vw;
  }
}
.page .content .value_info .gender {
  font-size: 25px;
  margin: 18px auto 40px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .page .content .value_info .gender {
    font-size: 2vw;
    margin: 0.9vw auto 4.9vw;
  }
}
@media screen and (max-width: 768px) {
  .page .content .value_info .note {
    font-size: 2.9vw;
  }
}
.page .content .value .original_btn .title {
  background: #00488E;
  color: #fff;
  font-size: 33px;
  padding: 10px 0;
  margin-bottom: 25px;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  .page .content .value .original_btn .title {
    font-size: 2.9vw;
  }
}
@media screen and (max-width: 768px) {
  .page .content .value .original_btn .title {
    font-size: 3vw;
    padding: 1vw 0;
    margin-bottom: 2.3vw;
  }
}
.page .content .value .original_btn .title_text {
  position: relative;
  font-weight: bold;
}
.page .content .value .original_btn .title_text::after {
  content: "";
  background-image: url(/ec/img/usr/pg/campaign/shinycolors-aoyama/first_arrival02.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 21%;
  right: 5%;
  width: 153px;
  height: 30px;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  .page .content .value .original_btn .title_text::after {
    width: 135px;
    height: 27px;
    top: 14%;
  }
}
@media screen and (max-width: 768px) {
  .page .content .value .original_btn .title_text::after {
    width: 17.6vw;
    top: 16%;
  }
}
.page .content .value .original_btn_info .text {
  font-size: 25px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .page .content .value .original_btn_info .text {
    font-size: 2.2vw;
    margin-bottom: 2.1vw;
  }
}
.page .content .value .original_btn_info img {
  max-width: 292px;
  width: 100%;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .page .content .value .original_btn_info img {
    max-width: 34.1vw;
    margin-bottom: 2.1vw;
  }
}
.page .content .value .original_btn_info .note {
  font-size: 15px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .page .content .value .original_btn_info .note {
    font-size: 2vw;
  }
}
.page .content .goods {
  max-width: 980px;
  background: #fff;
  margin: 0 auto 100px;
  text-align: center;
  padding: 54px 60px;
  -webkit-box-shadow: 0.1px 0.1px 4px #999999;
          box-shadow: 0.1px 0.1px 4px #999999;
}
@media screen and (max-width: 768px) {
  .page .content .goods {
    max-width: 90.1vw;
    padding: 5.2vw;
    margin-bottom: 13vw;
  }
}
.page .content .goods .title {
  font-size: 32px;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .page .content .goods .title {
    font-size: 4.2vw;
    margin-bottom: 5.2vw;
  }
}
.page .content .goods .title h2 {
  font-weight: bold;
}
.page .content .goods_member {
  font-size: 15px;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .page .content .goods_member {
    font-size: 2.9vw;
    margin-bottom: 3.1vw;
  }
}
.page .content .goods_section_title {
  max-width: 860px;
  width: 100%;
  margin: 0 auto 30px;
  background-color: #F29600;
  color: #fff;
  font-size: 26px;
  font-weight: bold;
  padding: 8px 0;
}
@media screen and (max-width: 768px) {
  .page .content .goods_section_title {
    max-width: 79.9vw;
    font-size: 4.2vw;
    padding: 1vw 0;
    margin-bottom: 2.1vw;
  }
}
.page .content .goods_section_title h3 {
  font-weight: bold;
  color: #fff !important;
}
.page .content .goods .btn_area_note {
  font-size: 20px;
  font-weight: bold;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .page .content .goods .btn_area_note {
    font-size: 3.1vw;
    margin-top: 2vw;
  }
}
.page .content .goods_section01, .page .content .goods_section02, .page .content .goods_section03, .page .content .goods_section04, .page .content .goods_section05 {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .page .content .goods_section01, .page .content .goods_section02, .page .content .goods_section03, .page .content .goods_section04, .page .content .goods_section05 {
    margin-bottom: 9.1vw;
  }
}
.page .content .goods_section03 .btn_area {
  margin-bottom: 57px;
}
@media screen and (max-width: 768px) {
  .page .content .goods_section03 .btn_area {
    margin-bottom: 9.4vw;
  }
}
.page .content .goods_section05 {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .page .content .goods_section05 {
    margin-bottom: 0;
  }
}
.page .content .goods_section05 .note {
  text-align: left;
  font-size: 18px;
  max-width: 680px;
  margin: 40px auto 0;
}
@media screen and (max-width: 768px) {
  .page .content .goods_section05 .note {
    margin: 5.2vw auto 0;
    font-size: 2.1vw;
    max-width: 93.8vw;
  }
}
.page .content .goods_section05 .note .text {
  text-align: center;
  font-size: 20px;
  margin-bottom: 20px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .page .content .goods_section05 .note .text {
    margin-bottom: 2.6vw;
    font-size: 2.3vw;
  }
}
.page .content .goods_section05 .note .limit {
  font-weight: 500;
}
.page .content .goods .lineup img {
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .content .goods .lineup img {
    width: 85.9vw;
  }
}
.page .content .goods_note {
  width: 540px;
  margin: 15px auto 0;
  font-size: 15px;
  line-height: 1.5;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .page .content .goods_note {
    width: 81.5vw;
    font-size: 2.7vw;
  }
}
.page .content .campaign {
  max-width: 736px;
  margin: 192px auto 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .content .campaign {
    width: 90.1vw;
    margin: 25vw auto 0;
  }
}
.page .content .top_img {
  max-width: 980px;
  width: 100%;
}
.page .content .content_inner {
  background: #fff;
  border: 4px solid #00488E;
  padding: 50px 60px 60px;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  .page .content .content_inner {
    padding: 50px 55px 60px;
  }
}
@media screen and (max-width: 768px) {
  .page .content .content_inner {
    padding: 3.9vw 3.9vw 5.2vw;
  }
}
.page .flag_ship_store {
  margin: 100px auto 64px;
}
@media screen and (max-width: 768px) {
  .page .flag_ship_store {
    margin: 11.1vw auto 8.3vw;
  }
}
.page .flag_ship_store .title {
  font-size: 32px;
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .page .flag_ship_store .title {
    font-size: 4.2vw;
    margin-bottom: 6.5vw;
  }
}
.page .flag_ship_store .title h2 {
  font-weight: bold;
}
.page .flag_ship_store .link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .page .flag_ship_store .link {
    max-width: 90.1vw;
    margin: 0 auto;
  }
}
.page .flag_ship_store .link .btn {
  max-width: 400px;
  width: 100%;
  text-align: center;
  margin: 0 30px;
}
@media screen and (max-width: 768px) {
  .page .flag_ship_store .link .btn {
    max-width: unset;
    margin: 0;
  }
}
@media screen and (max-width: 768px) {
  .page .flag_ship_store .link .btn:first-of-type {
    border-right: none;
  }
}
.page .term {
  text-align: center;
  margin: 60px auto 100px;
}
@media screen and (max-width: 768px) {
  .page .term {
    margin: 8.3vw auto 16.7vw;
  }
}
.page .term p {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .page .term p {
    font-size: 3.4vw;
  }
}
.page .shop {
  max-width: 860px;
  width: 100%;
  margin: 100px auto;
}
@media screen and (max-width: 768px) {
  .page .shop {
    max-width: 90.1vw;
    margin: 13vw auto;
  }
}
.page .shop .title {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .page .shop .title {
    font-size: 4.2vw;
    margin-bottom: 6.5vw;
  }
}
.page .shop .title h2 {
  font-weight: bold;
}
.page .shop nav {
  display: none;
}
.page .shop .nav-open {
  padding: 15px 60px;
  color: #000;
  font-size: 20px;
  font-weight: bold;
  background: #F0F0F0;
  position: relative;
  margin-bottom: 3px;
}
@media screen and (max-width: 768px) {
  .page .shop .nav-open {
    font-size: 2.3vw;
    padding: 2.3vw 7.8vw;
  }
}
.page .shop .nav-open::before { /* 閉じている時 */
  content: "＋";
  position: absolute;
  left: 20px;
}
@media screen and (max-width: 768px) {
  .page .shop .nav-open::before {
    left: 2.6vw;
  }
}
.page .shop .nav-open.active::before { /* 開いている時 */
  content: "－";
}
.page .shop_info {
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .page .shop_info {
    font-size: 2.3vw;
    padding: 2.3vw 2.6vw;
  }
}
.page .shop_link {
  margin-right: 30px;
}
.page .shop_name {
  font-size: 16px;
  font-weight: 500;
  border-bottom: 2px solid #F0F0F0;
}
@media screen and (max-width: 768px) {
  .page .shop_name {
    font-size: 2.3vw;
  }
}
.page .copyright p {
  font-size: 15px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .copyright p {
    font-size: 2.7vw;
  }
}
.page .door {
  margin: 100px auto;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .door {
    margin: 13vw auto;
  }
}
.page .door .title {
  font-size: 26px;
  font-weight: bold;
  margin: 0 auto 54px;
}
@media screen and (max-width: 768px) {
  .page .door .title {
    font-size: 3.4vw;
    margin-bottom: 7vw;
  }
}
.page .door .title h2 {
  font-weight: bold;
}
.page .door .bnr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 479px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .door .bnr {
    max-width: 62.4vw;
  }
}
.page .door .bnr .link {
  width: 50%;
}
.page .panel {
  margin: 100px auto 0;
  max-width: 980px;
  width: 96%;
  text-align: center;
}
.page .panel_heading {
  font-size: 32px;
  font-weight: bold;
  margin: 0 auto 35px;
}
@media screen and (max-width: 768px) {
  .page .panel_heading {
    font-size: 4.2vw;
    margin-bottom: 3.9vw;
  }
}
.page .panel_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 720px;
  width: 96%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 auto 40px;
}
@media screen and (max-width: 768px) {
  .page .panel_list {
    max-width: 89.6vw;
    width: 100%;
    margin-bottom: 5.2vw;
  }
}
.page .panel_item {
  width: 48%;
  margin-top: 35px;
}
@media screen and (max-width: 768px) {
  .page .panel_item {
    margin-top: 4.6vw;
  }
}
.page .panel_item:nth-of-type(-n+2) {
  margin-top: 0;
}
.page .panel_name {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .page .panel_name {
    font-size: 3.1vw;
    margin-bottom: 0.7vw;
  }
}
.page .panel_place {
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .panel_place {
    font-size: 3.1vw;
  }
}
.page .panel_place span {
  text-decoration: underline;
  text-underline-offset: 5px;
  vertical-align: baseline;
}
.page .panel_place span a {
  display: inline;
}
.page .panel_term {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .page .panel_term {
    font-size: 3.4vw;
  }
}

.cp {
  padding-top: 30px;
  /*----------------------------------------------------
  	title
  ----------------------------------------------------*/
  /*----------------------------------------------------
  	content
  ----------------------------------------------------*/
}
@media screen and (max-width: 768px) {
  .cp {
    padding: 3.9vw 0;
  }
}
.cp .inner {
  width: 92%;
  max-width: 980px;
  margin: auto;
}
.cp p {
  line-height: 1.5;
}
.cp .title {
  width: 100%;
  background: #f0f0f0;
  padding: 30px 0;
  margin: 0 auto 30px;
  border: 1px #ccc solid;
}
.cp .title h1 {
  font-size: 36px;
  font-weight: 600;
  text-align: center;
  line-height: 1.1;
}
@media screen and (max-width: 768px) {
  .cp .title h1 {
    font-size: 3.1vw;
    line-height: 1.3;
    margin: 0;
  }
}
.cp .content {
  width: 100%;
}
.cp .content__list dt {
  font-size: 18px;
  font-weight: 600;
  margin: 20px 0 0;
}
@media screen and (max-width: 768px) {
  .cp .content__list dt {
    font-size: 2.3vw;
  }
}
.cp .content__list dd {
  font-size: 16px;
  margin: 5px 0 0;
}
@media screen and (max-width: 768px) {
  .cp .content__list dd {
    font-size: 1.8vw;
  }
}
.cp .content__list dd p {
  font-size: 16px;
  margin-top: 3px;
}
@media screen and (max-width: 768px) {
  .cp .content__list dd p {
    font-size: 1.8vw;
  }
}
.cp .content__list dd p:first-child {
  margin: 0;
}
.cp .content__list dd a {
  text-decoration: underline;
  color: #0000EF;
}
.cp .content__list dd .top {
  font-size: 16px;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .cp .content__list dd .top {
    font-size: 1.8vw;
  }
}
.cp .content__list dd .note {
  margin-top: 0;
}
.cp .content__list dd .contact {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .cp .content__list dd .contact_link {
    font-size: 1.7vw;
  }
}

.page .ajax_area .preset_price_area {
  color: rgb(0, 0, 0);
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .page .ajax_area .preset_price_area {
    font-size: 3.6vw;
  }
}
.page .ajax_area a.cartinbtn {
  width: 80%;
  font-size: 14px;
  background-color: #009FE8;
  margin: 10px auto 0;
}
@media screen and (max-width: 768px) {
  .page .ajax_area a.cartinbtn {
    width: 90%;
    font-size: 2.9vw;
    margin: 2.6vw auto 0;
  }
}
.page .ajax_area .stock_exist {
  width: 80%;
  font-size: 16px;
  margin: 10px auto 0;
}
@media screen and (max-width: 768px) {
  .page .ajax_area .stock_exist {
    width: 90%;
    font-size: 3.5vw;
    margin: 2vw auto 0;
  }
}