@charset "UTF-8";
/* ======================
// Reset
====================== */
* {
  box-sizing: border-box;
}

html body,
html a {
  color: #000;
  font-size: 3.7333333333vw;
  letter-spacing: normal;
}
html body, html div, html p, html dl, html dt, html dd, html ul, html ol, html li, html h1, html h2, html h3, html h4, html h5, html h6 {
  margin: 0;
  padding: 0;
}
html body {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Lato", "メイリオ", Meiryo, sans-serif;
}
html h1, html h2, html h3, html h4, html h5, html h6 {
  font-weight: normal;
}
html ol, html ul {
  list-style: none;
}
html img {
  width: 100%;
  height: auto;
  vertical-align: top;
  border: 0;
}
html a {
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
html a::-moz-focus-inner {
  border: 0;
}

@media screen and (min-width: 768px) {
  html body,
  html a {
    font-size: min(1.25vw, 16px);
  }
}
/* ======================
// Base
====================== */
.contents {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto 0;
  background-color: #133d70;
}

/* 改行切り替え */
.pc {
  display: none;
}

.sp {
  display: inherit;
}

@media screen and (min-width: 768px) {
  .pc {
    display: inherit;
  }
  .sp {
    display: none;
  }
}
/* 注文ボタン */
.btn {
  text-align: center;
}
.btn a {
  display: inline-block;
  width: min(73.3333333333vw, 275px);
  padding: 18px 0;
  color: #fff;
  font-size: min(4vw, 15px);
  text-decoration: none;
  background-color: #e94e49;
  border: solid 1px #cc1816;
  border-radius: 30px;
}

@media screen and (min-width: 1280px) {
  .btn a {
    color: #fff;
    width: min(59.2vw, 222px);
    font-size: min(1.171875vw, 15px);
    transition-duration: 0.3s;
    transition-property: background-color, border, opacity;
  }
  .btn a:hover {
    color: #fff;
    text-decoration: none;
    background-color: #f55e5d;
    border: solid 1px #f55e5d;
    opacity: 0.7;
  }
}
/* ======================
// sec-01
====================== */
.sec-01 {
  position: relative;
}
.sec-01:before, .sec-01:after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
}
.sec-01:before {
  width: 100%;
  height: 100%;
  margin: auto;
  background-image: url("oyster_Kankan-sec-01_bg-01-sp.png");
  top: 0;
  left: 0;
  right: 0;
}
.sec-01:after {
  width: 55.7333333333vw;
  height: 45.6vw;
  background-image: url("oyster_Kankan-sec-01_bg-02-sp.png");
  bottom: 33.6vw;
  left: 0;
}
.sec-01 > * {
  position: relative;
  z-index: 1;
}
.sec-01 .visual {
  padding: 21.3333333333vw 0 190.6666666667vw;
  margin: 0 auto 10.4vw;
  text-align: center;
  position: relative;
}
.sec-01 .visual:before {
  content: "";
  width: 100%;
  height: 194.6666666667vw;
  margin: auto;
  background-image: url("oyster_Kankan-visual-sp.png");
  background-position: center bottom 0;
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
.sec-01 .visual .page-ttl {
  display: inline-block;
  width: 82vw;
  max-width: 670px;
  margin-left: 0;
}
.sec-01 .page-item {
  margin: 0 auto 9.3333333333vw;
}
.sec-01 .page-item .item-name {
  width: 56vw;
  max-width: 288px;
  margin: 0 auto 0;
  text-align: center;
}
.sec-01 .page-item .item-name .txt {
  display: inline-block;
}
.sec-01 .page-item .item-name .txt:not(:last-child) {
  margin: 0 auto 6.4vw;
}
.sec-01 .staff {
  padding: 0 8vw;
  color: #fff;
}
.sec-01 .staff .maker {
  display: inline-block;
  width: 52vw;
  padding: 0 0 3.7333333333vw;
  margin: 0 auto 4.2666666667vw;
  border-bottom: 1px solid #fff;
}
.sec-01 .staff .maker .head {
  margin: 0 auto 1.0666666667vw;
  text-indent: -0.5em;
}
.sec-01 .staff .maker .body .txt {
  font-size: 4.8vw;
  font-weight: 600;
}
.sec-01 .staff .maker .body .txt:not(:last-child) {
  margin: 0 auto 1.6vw;
}
.sec-01 .staff .message {
  margin: 0 auto 10.6666666667vw;
}
.sec-01 .staff .message .name {
  margin: 0 auto 2.6666666667vw;
  position: relative;
}
.sec-01 .staff .message .name:before {
  content: "";
  width: 30.9333333333vw;
  height: 35.7333333333vw;
  background-image: url("oyster_Kankan-sec-01_pict.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  right: 0.5333333333vw;
  bottom: 2.4vw;
}
.sec-01 .staff .message .name .en,
.sec-01 .staff .message .name .jp {
  display: block;
  font-weight: 700;
}
.sec-01 .staff .message .name .en {
  margin: 0 auto 0.2666666667vw;
}
.sec-01 .staff .message .name .jp {
  font-size: 4.8vw;
}
.sec-01 .staff .message .txt {
  line-height: 1.78;
}
.sec-01 .detail {
  padding: 0 8vw 94.9333333333vw;
  color: #fff;
}
.sec-01 .detail .movie {
  width: 100%;
  padding-top: 56.25%;
  margin: 0 auto 8.5333333333vw;
  position: relative;
}
.sec-01 .detail .movie .video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
}
.sec-01 .detail .lead {
  margin: 0 auto 5.8666666667vw;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 7.4666666667vw;
  font-weight: 600;
  text-align: center;
}
.sec-01 .detail .txt {
  line-height: 1.78;
}
.sec-01 .detail .txt .aside {
  display: block;
  padding: 5.3333333333vw 0 0 1em;
  font-size: 3.2vw;
  text-indent: -1em;
}

@media screen and (min-width: 768px) {
  .sec-01 {
    padding-bottom: min(32.1875vw, 412px);
  }
  .sec-01:before {
    background-image: url("oyster_Kankan-sec-01_bg-01-pc.png");
    background-position: top 0 right 0;
  }
  .sec-01:after {
    width: min(16.71875vw, 214px);
    height: min(22.734375vw, 291px);
    background-image: url("oyster_Kankan-sec-01_bg-02-pc.png");
    top: min(156.25vw, 2000px);
    bottom: auto;
    z-index: 2;
  }
  .sec-01 .visual {
    padding: min(5.15625vw, 66px) min(4.375vw, 56px) min(54.34375vw, 600px) 0;
    margin: 0 auto 0;
    text-align: right;
    position: relative;
  }
  .sec-01 .visual:before {
    height: min(68.203125vw, 873px);
    background-image: url("oyster_Kankan-visual-pc.png");
    background-position: center top 0;
    position: absolute;
    top: 0;
    bottom: auto;
  }
  .sec-01 .visual .page-ttl {
    width: min(36.34375vw, 460px);
    margin-left: 0;
    position: relative;
    z-index: 1;
  }
  .sec-01 .page-item {
    padding: 0 min(10.546875vw, 135px);
    margin: 0 auto min(2.03125vw, 26px);
  }
  .sec-01 .page-item .item-name {
    width: min(21.875vw, 280px);
    margin: 0;
    text-align: left;
  }
  .sec-01 .page-item .item-name .txt:not(:last-child) {
    margin: 0 auto min(1.875vw, 24px);
  }
  .sec-01 .staff {
    padding: 0 min(10.546875vw, 135px);
  }
  .sec-01 .staff .maker {
    width: min(18.359375vw, 235px);
    padding: 0 0 min(0.9375vw, 12px);
    margin: 0 auto min(1.25vw, 16px);
  }
  .sec-01 .staff .maker .head {
    margin: 0 auto min(0.78125vw, 10px);
    font-size: min(1.25vw, 16px);
  }
  .sec-01 .staff .maker .body .txt {
    font-size: min(1.5625vw, 20px);
  }
  .sec-01 .staff .maker .body .txt:not(:last-child) {
    margin: 0 auto min(0.625vw, 8px);
  }
  .sec-01 .staff .message {
    margin: 0 auto min(9.375vw, 120px);
  }
  .sec-01 .staff .message .name {
    margin: 0;
  }
  .sec-01 .staff .message .name:before {
    width: min(10.625vw, 136px);
    height: min(11.25vw, 144px);
    left: min(20.859375vw, 267px);
    right: auto;
    bottom: min(0.546875vw, 7px);
  }
  .sec-01 .staff .message .name .en {
    margin: 0 auto min(0.390625vw, 5px);
    font-size: min(1.09375vw, 14px);
  }
  .sec-01 .staff .message .name .jp {
    font-size: min(1.71875vw, 22px);
  }
  .sec-01 .staff .message .txt {
    width: min(44.6875vw, 572px);
    font-size: min(1.25vw, 16px);
    line-height: 2;
    position: absolute;
    bottom: 0;
    right: min(10.546875vw, 135px);
  }
  .sec-01 .detail {
    padding: 0 min(10.546875vw, 135px) 0;
    position: relative;
  }
  .sec-01 .detail .movie {
    width: min(52.734375vw, 675px);
    height: min(29.6875vw, 380px);
    padding: 0;
    margin: 0 0 0 auto;
  }
  .sec-01 .detail .movie .video {
    height: auto;
  }
  .sec-01 .detail .detail-unit {
    width: min(20.625vw, 264px);
    position: absolute;
    top: 0;
    left: min(10.546875vw, 135px);
  }
  .sec-01 .detail .lead {
    font-size: min(2.734375vw, 35px);
    margin: 0 auto min(1.25vw, 16px);
    text-align: left;
    line-height: 1.7;
    white-space: nowrap;
  }
  .sec-01 .detail .txt {
    line-height: 2;
    font-size: min(1.25vw, 16px);
  }
  .sec-01 .detail .txt .aside {
    font-size: min(0.9375vw, 12px);
    padding: min(1.25vw, 16px) 0 0 1em;
    line-height: 1.7;
  }
}
/* ======================
// sec-02
====================== */
.sec-02 {
  padding: 37.8666666667vw 0 104vw;
  color: #133d70;
  background-image: url("oyster_Kankan-sec-02_bg.jpg");
  position: relative;
}
.sec-02:before, .sec-02:after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
}
.sec-02 > * {
  position: relative;
  z-index: 1;
}
.sec-02:before {
  width: 100%;
  height: 100%;
  margin: auto;
  background-image: url("oyster_Kankan-sec-02_bg-01-sp.png");
  background-position: center 94.6666666667vw;
  top: 0;
  left: 0;
  right: 0;
}
.sec-02:after {
  width: 53.6vw;
  height: 53.6vw;
  background-image: url("oyster_Kankan-sec-02_bg-02-sp.png");
  bottom: 32.5333333333vw;
  left: 0;
}
.sec-02 .sec-head {
  position: relative;
}
.sec-02 .sec-head:before {
  content: "";
  width: 100%;
  height: 117.6vw;
  background-image: url("oyster_Kankan-sec-02_ph-01-sp.png");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: calc(100% - 6.9333333333vw);
}
.sec-02 .sec-head .sec-ttl {
  width: 81.6vw;
  max-width: 368px;
  margin: 0 auto 3.2vw;
  position: relative;
  left: 0.8vw;
  z-index: 1;
}
.sec-02 .sec-head .lead {
  padding: 0 8vw 87.4666666667vw;
  line-height: 1.8;
  position: relative;
}
.sec-02 .sec-head .lead:before {
  content: "";
  width: 92.8vw;
  height: 75.7333333333vw;
  background-image: url("oyster_Kankan-sec-02_ph-02-sp.png");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  bottom: 5.3333333333vw;
}
.sec-02 .unit {
  margin: 0 auto 12.2666666667vw;
}
.sec-02 .unit .box {
  position: relative;
}
.sec-02 .unit .box:before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
}
.sec-02 .unit .box:nth-child(1) {
  padding: 0 0 80vw;
}
.sec-02 .unit .box:nth-child(1):before {
  width: 84.5333333333vw;
  height: 66.1333333333vw;
  margin: auto;
  background-image: url("oyster_Kankan-sec-02_ph-03-sp.png");
  bottom: 6.9333333333vw;
  left: -0.5333333333vw;
  right: 0;
}
.sec-02 .unit .box:nth-child(2) {
  padding: 0 0 86.9333333333vw;
}
.sec-02 .unit .box:nth-child(2):before {
  width: 81.3333333333vw;
  height: 73.3333333333vw;
  margin: auto;
  background-image: url("oyster_Kankan-sec-02_ph-04-sp.png");
  bottom: 6.9333333333vw;
  left: -0.5333333333vw;
  right: 0;
}
.sec-02 .unit .box .head {
  margin: 0 auto 3.7333333333vw;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 7.4666666667vw;
  font-weight: 600;
  text-align: center;
}
.sec-02 .unit .box .txt {
  padding: 0 8vw;
  line-height: 1.78;
}
.sec-02 .purchase .ph {
  width: 73.0666666667vw;
  margin: 0 auto 7.4666666667vw;
}
.sec-02 .purchase .purchase-unit {
  padding: 0 8vw;
  margin: 0 auto 15.4666666667vw;
  color: #000;
}
.sec-02 .purchase .purchase-unit .txt {
  margin: 0 auto 8vw;
  line-height: 1.78;
}
.sec-02 .purchase .detail {
  color: #000;
  font-weight: 700;
}
.sec-02 .purchase .detail .maker {
  margin: 0 auto 1.6vw;
  font-size: 3.2vw;
}
.sec-02 .purchase .detail .name {
  padding: 2.6666666667vw 0;
  margin: 0 auto 1.6vw;
  font-weight: 700;
  border-top: 1px dotted #000;
  border-bottom: 1px dotted #000;
}
.sec-02 .purchase .detail .capacity {
  margin: 0 auto 3.2vw;
  font-size: 3.2vw;
}
.sec-02 .purchase .detail .price-area {
  margin: 0 auto 7.4666666667vw;
  font-size: 8vw;
  line-height: 1.2;
}
.sec-02 .purchase .detail .price-area .small {
  font-size: 3.7333333333vw;
}
.sec-02 .purchase .detail .price-area .small:nth-of-type(1) {
  display: inline-block;
  margin-right: 1.3333333333vw;
}
.sec-02 .purchase .detail .price-area .accent {
  display: inline-block;
  padding: 0.5333333333vw 1.6vw 0.5333333333vw 1.0666666667vw;
  margin: 0 0 0 3.7333333333vw;
  color: #cd3d2a;
  font-size: 3.2vw;
  font-weight: 400;
  line-height: 1;
  background-color: #fff;
  border: 1px solid #cd3d2a;
  position: relative;
  top: -1.3333333333vw;
}
.sec-02 .purchase .detail .price-area .in_tax {
  padding: 0.8vw 0 0;
  font-size: 3.7333333333vw;
  text-indent: -0.5em;
}
@media screen and (min-width: 768px) {
  .sec-02 {
    padding: 0 0 min(13.125vw, 168px);
  }
  .sec-02 > * {
    position: relative;
    z-index: 1;
  }
  .sec-02:before {
    width: 100%;
    height: 100%;
    margin: auto;
    background-image: url("oyster_Kankan-sec-02_bg-01-pc.png");
    background-size: contain;
    background-position: center min(43.125vw, 552px);
    top: 0;
    left: 0;
    right: 0;
  }
  .sec-02:after {
    display: none;
  }
  .sec-02 .sec-head {
    padding: 0 min(10.546875vw, 135px) 0;
    margin: 0 0 min(12.65625vw, 162px);
    background-image: url("oyster_Kankan-sec-01_bg-foot.png");
    background-repeat: no-repeat;
    background-size: 100% min(11.71875vw, 150px);
  }
  .sec-02 .sec-head:before {
    width: min(60.9375vw, 780px);
    height: min(55.78125vw, 714px);
    background-image: url("oyster_Kankan-sec-02_ph-01-pc.png");
    margin: auto;
    top: min(2.03125vw, 26px);
    bottom: 0;
    right: 0;
  }
  .sec-02 .sec-head:after {
    content: "";
    width: min(59.296875vw, 759px);
    height: min(49.21875vw, 630px);
    background-image: url("oyster_Kankan-sec-02_ph-02-pc.png");
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: min(46.09375vw, 590px);
    bottom: auto;
    left: 0;
  }
  .sec-02 .sec-head .sec-ttl {
    width: min(28.75vw, 368px);
    padding: min(14.84375vw, 190px) 0 0;
    margin: 0 0 min(1.875vw, 24px);
    left: 0;
  }
  .sec-02 .sec-head .lead {
    width: min(25vw, 320px);
    padding: 0;
    font-size: min(1.25vw, 16px);
    line-height: 2;
  }
  .sec-02 .sec-head .lead:before {
    display: none;
  }
  .sec-02 .unit {
    margin: 0 auto 0;
  }
  .sec-02 .unit .box:nth-child(1) {
    width: 100%;
    padding: 0 min(10.546875vw, 135px) 0 min(62.34375vw, 798px);
    margin: 0 min(8.203125vw, 105px) min(36.25vw, 464px) auto;
  }
  .sec-02 .unit .box:nth-child(1):before {
    width: min(55.625vw, 712px);
    height: min(44.296875vw, 567px);
    background-image: url("oyster_Kankan-sec-02_ph-03-pc.png");
    top: min(26.71875vw, 342px);
    bottom: auto;
    left: auto;
    right: min(6.25vw, 80px);
  }
  .sec-02 .unit .box:nth-child(2) {
    width: 100%;
    padding: 0 min(64.296875vw, 823px) 0 min(10.546875vw, 135px);
    margin: 0 0 min(10.78125vw, 138px) 0;
  }
  .sec-02 .unit .box:nth-child(2):before {
    width: min(52.734375vw, 675px);
    height: min(38.59375vw, 494px);
    background-image: url("oyster_Kankan-sec-02_ph-04-pc.png");
    top: min(15.9375vw, 204px);
    bottom: auto;
    left: auto;
    right: min(39.84375vw, 510px);
  }
  .sec-02 .unit .box:nth-child(3) {
    width: min(27.8125vw, 356px);
    margin: 0 min(10.15625vw, 130px) min(22.34375vw, 286px) auto;
  }
  .sec-02 .unit .box .head {
    margin: 0 auto min(1.40625vw, 18px);
    font-size: min(2.734375vw, 35px);
    text-align: left;
    line-height: 1.7;
  }
  .sec-02 .unit .box .txt {
    padding: 0;
    font-size: min(1.25vw, 16px);
    line-height: 2;
  }
  .sec-02 .purchase {
    display: flex;
    width: min(79.53125vw, 1018px);
    margin: 0 auto 0;
  }
  .sec-02 .purchase .ph {
    width: min(36.25vw, 464px);
    margin: 0;
    position: relative;
    top: min(1.5625vw, 20px);
  }
  .sec-02 .purchase .purchase-unit {
    width: calc(100% - min(36.25vw, 464px));
    padding: 0 0 0 min(4.375vw, 56px);
    margin: 0;
  }
  .sec-02 .purchase .purchase-unit .txt {
    line-height: 2;
    font-size: min(1.25vw, 16px);
    margin: 0 auto min(4.609375vw, 59px);
  }
  .sec-02 .purchase .detail {
    padding: 0;
  }
  .sec-02 .purchase .detail .maker {
    margin: 0 auto min(0.46875vw, 6px);
    font-size: min(1.09375vw, 14px);
  }
  .sec-02 .purchase .detail .name {
    padding: min(0.78125vw, 10px) 0;
    margin: 0 auto min(0.78125vw, 10px);
  }
  .sec-02 .purchase .detail .capacity {
    margin: 0 auto min(1.09375vw, 14px);
    font-size: min(0.9375vw, 12px);
  }
  .sec-02 .purchase .detail .price-area {
    margin: 0 auto min(3.4375vw, 44px);
    font-size: min(2.34375vw, 30px);
    line-height: 1.2;
  }
  .sec-02 .purchase .detail .price-area .small {
    font-size: min(1.09375vw, 14px);
  }
  .sec-02 .purchase .detail .price-area .small:nth-of-type(1) {
    margin-right: min(0.46875vw, 6px);
  }
  .sec-02 .purchase .detail .price-area .accent {
    padding: min(0.625vw, 8px) min(0.78125vw, 10px);
    margin: 0 0 0 min(1.40625vw, 18px);
    font-size: min(1.25vw, 16px);
    top: auto;
    bottom: min(0.625vw, 8px);
  }
  .sec-02 .purchase .detail .price-area .in_tax {
    padding: 0;
    font-size: min(3.7333333333vw, 14px);
    text-indent: -0.5em;
  }
  .sec-02 .purchase .detail .btn {
    text-align: left;
  }
  .sec-02 .purchase .detail .btn a {
    text-align: center;
  }
}
/* ======================
// sec-03
====================== */
.sec-03 {
  padding: 44.8vw 0 21.8666666667vw;
  color: #133d70;
  background-image: url("oyster_Kankan-sec-03_bg.jpg");
  position: relative;
}
.sec-03 > * {
  position: relative;
  z-index: 1;
}
.sec-03:before {
  content: "";
  width: 100%;
  height: 100%;
  margin: auto;
  background-image: url("oyster_Kankan-sec-03_bg-01-sp.png");
  background-position: center 128.5333333333vw;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.sec-03 .sec-head {
  position: relative;
}
.sec-03 .sec-head:before {
  content: "";
  width: 100%;
  height: 113.6vw;
  background-image: url("oyster_Kankan-sec-03_ph-01-sp.png");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: calc(100% + 5.3333333333vw);
}
.sec-03 .sec-ttl {
  width: 85.3333333333vw;
  max-width: 368px;
  margin: 0 auto 3.2vw;
  position: relative;
  left: -0.8vw;
  z-index: 1;
}
.sec-03 .lead {
  padding: 0 8vw 87.4666666667vw;
  line-height: 1.8;
  position: relative;
}
.sec-03 .lead:before {
  content: "";
  width: 93.0666666667vw;
  height: 76.5333333333vw;
  margin: auto;
  background-image: url("oyster_Kankan-sec-03_ph-02-sp.png");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 5.3333333333vw;
  right: 0;
}
.sec-03 .unit .box {
  position: relative;
}
.sec-03 .unit .box:before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
}
.sec-03 .unit .box:nth-child(1) {
  padding: 0 0 136.5333333333vw;
}
.sec-03 .unit .box:nth-child(1):before {
  width: 100vw;
  height: 118.6666666667vw;
  margin: auto;
  background-image: url("oyster_Kankan-sec-03_ph-03-sp.png");
  bottom: 7.4666666667vw;
  left: -0.5333333333vw;
  right: 0;
}
.sec-03 .unit .box:nth-child(1):after {
  content: "";
  width: 62.4vw;
  height: 50.4vw;
  margin: auto;
  background-image: url("oyster_Kankan-sec-03_bg-02-sp.png");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -10.1333333333vw;
  left: 0;
}
.sec-03 .unit .box:nth-child(2) {
  padding: 0 0 12.8vw;
}
.sec-03 .unit .box .head {
  margin: 0 auto 3.7333333333vw;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 7.4666666667vw;
  font-weight: 600;
  text-align: center;
}
.sec-03 .unit .box .txt {
  padding: 0 8vw;
  line-height: 1.78;
}
.sec-03 .unit .purchase .blow {
  width: 76vw;
  padding: 8vw 5.3333333333vw 10.1333333333vw;
  margin: 0 auto 8vw;
  background-image: url("oyster_Kankan-sec-03_blow_bg-sp.png");
  background-repeat: no-repeat;
  background-position: center 0;
  background-size: contain;
  border-radius: 5.3333333333vw;
  position: relative;
}
.sec-03 .unit .purchase .blow .head {
  width: 100%;
  max-width: 304px;
  margin: 0 auto 4.2666666667vw;
}
.sec-03 .unit .purchase .blow .lead {
  padding: 0;
  margin: 0 auto 3.2vw;
  color: #333;
  font-size: 4.8vw;
  font-weight: 700;
}
.sec-03 .unit .purchase .blow .lead:before {
  display: none;
}
.sec-03 .unit .purchase .blow .lead .red {
  display: block;
  color: #dc0000;
  text-shadow: 0 0 1px #dc0000;
}
.sec-03 .unit .purchase .blow .voice {
  color: #333;
}
.sec-03 .unit .purchase .blow .voice .voice-head {
  margin: 0 auto 4.2666666667vw;
  font-size: 3.7333333333vw;
  letter-spacing: -0.04em;
}
.sec-03 .unit .purchase .blow .voice .vooce-txt {
  line-height: 1.78;
  letter-spacing: -0.08em;
}
.sec-03 .unit .purchase .ph {
  width: 81.0666666667vw;
  margin: 0 auto 5.3333333333vw;
  position: relative;
  left: -1.0666666667vw;
}
.sec-03 .unit .purchase .purchase-unit {
  padding: 0 8vw;
  margin: 0 auto 9.6vw;
  color: #000;
}
.sec-03 .unit .purchase .purchase-unit .txt {
  line-height: 1.78;
}
.sec-03 .unit .purchase .detail {
  color: #000;
  font-weight: 700;
  padding: 0 8vw;
  margin: 0 auto 9.0666666667vw;
}
.sec-03 .unit .purchase .detail .maker {
  margin: 0 auto 1.6vw;
  font-size: 3.2vw;
}
.sec-03 .unit .purchase .detail .name {
  padding: 2.6666666667vw 0;
  margin: 0 auto 1.6vw;
  font-weight: 700;
  border-top: 1px dotted #000;
  border-bottom: 1px dotted #000;
}
.sec-03 .unit .purchase .detail .capacity {
  margin: 0 auto 3.2vw;
  font-size: 2.9333333333vw;
}
.sec-03 .unit .purchase .detail .price-area {
  margin: 0 auto 7.4666666667vw;
  font-size: 8vw;
  line-height: 1.2;
}
.sec-03 .unit .purchase .detail .price-area .small {
  font-size: min(3.7333333333vw, 14px);
}
.sec-03 .unit .purchase .detail .price-area .small:nth-of-type(1) {
  display: inline-block;
  margin-right: 1.3333333333vw;
}
.sec-03 .unit .purchase .detail .price-area .accent {
  display: inline-block;
  padding: 0.5333333333vw 1.6vw 0.5333333333vw 1.0666666667vw;
  margin: 0 0 0 3.7333333333vw;
  color: #cd3d2a;
  font-size: 3.2vw;
  font-weight: 400;
  line-height: 1;
  background-color: #fff;
  border: 1px solid #cd3d2a;
  position: relative;
  top: -1.3333333333vw;
}
.sec-03 .unit .purchase .detail .price-area .in_tax {
  padding: 0.8vw 0 0;
  font-size: 3.7333333333vw;
  text-indent: -0.5em;
}
.sec-03 .unit .other {
  margin: 0 auto 5.3333333333vw;
}
.sec-03 .foot-link {
  padding: 0 5.3333333333vw;
}
.sec-03 .foot-link .more {
  margin: 0 auto 5.3333333333vw;
  text-align: center;
}
.sec-03 .foot-link .more a {
  display: inline-block;
  width: 89.3333333333vw;
  max-width: 400px;
  padding: 18px 0;
  color: #fff;
  font-size: 4.2vw;
  font-weight: 700;
  text-decoration: none;
  background-color: #e94e49;
  border: solid 1px #cc1816;
}
.sec-03 .foot-link .back a {
  padding: 6px 16px 6px 32px;
  color: #fff;
  font-size: 3.7333333333vw;
  letter-spacing: 0.1em;
  text-decoration: none;
  background-color: #888888;
  border: 1px solid #888888;
  border-radius: 4px;
  position: relative;
}
.sec-03 .foot-link .back a:before {
  content: "";
  width: 6px;
  height: 6px;
  margin: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(-135deg);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 12px;
}

.sec-03 .unit .other:before {
  content: "";
  width: 100vw;
  height: 88vw;
  background-image: url(oyster_Kankan-sec-03_bg-03-sp.png);
  background-position: center;
  background-size: contain;
  position: absolute;
  bottom: -74vw;
  background-repeat: no-repeat;
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .sec-03 {
    padding: 0 0 min(57.0666666667vw, 50px);
  }
  .sec-03:before {
    background-image: url("oyster_Kankan-sec-03_bg-01-pc.png");
    background-position: center min(34.375vw, 440px);
    top: 0;
    left: 0;
    right: 0;
  }
  .sec-03 .sec-head {
    padding: 0 0 0 min(10.546875vw, 135px);
    margin: 0 0 min(15.9375vw, 204px);
  }
  .sec-03 .sec-head:before {
    width: min(62.65625vw, 802px);
    height: min(51.171875vw, 655px);
    background-image: url("oyster_Kankan-sec-03_ph-01-pc.png");
    top: 0;
    bottom: auto;
    right: 0;
    z-index: 2;
  }
  .sec-03 .sec-head:after {
    content: "";
    width: min(100vw, 1280px);
    height: min(9.609375vw, 123px);
    background-image: url("oyster_Kankan-sec-02_bg-foot.png");
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
  }
  .sec-03 .sec-ttl {
    width: min(28.75vw, 368px);
    padding: min(8.4375vw, 108px) 0 0;
    margin: 0 0 min(1.875vw, 24px);
    position: relative;
    left: 0;
    z-index: 1;
  }
  .sec-03 .sec-ttl:after {
    content: "";
    width: min(27.265625vw, 349px);
    height: min(12.5vw, 160px);
    background-image: url("oyster_Kankan-sec-02_bg-02-pc.png");
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: min(-3.4375vw, -44px);
    left: min(22.1875vw, 284px);
    z-index: 2;
  }
  .sec-03 .lead {
    width: 100%;
    font-size: min(1.25vw, 16px);
    padding: 0;
    padding-right: min(64.84375vw, 830px);
  }
  .sec-03 .lead:before {
    width: min(50.625vw, 648px);
    height: min(37.5vw, 480px);
    background-image: url("oyster_Kankan-sec-03_ph-02-pc.png");
    top: min(19.53125vw, 250px);
    bottom: auto;
    left: auto;
    right: min(43.75vw, 560px);
  }
  .sec-03 .unit .box:nth-child(1) {
    width: min(27.5vw, 352px);
    padding: 0;
    margin: 0 min(10.546875vw, 135px) min(10.625vw, 136px) auto;
  }
  .sec-03 .unit .box:nth-child(1):before {
    display: none;
  }
  .sec-03 .unit .box:nth-child(1):after {
    display: none;
  }
  .sec-03 .unit .box:nth-child(2) {
    width: min(32.421875vw, 415px);
    padding: 0 0 0 min(10.546875vw, 135px);
    margin: 0 auto min(31.25vw, 400px) 0;
  }
  .sec-03 .unit .box:nth-child(2):before {
    width: min(81.875vw, 1048px);
    height: min(43.75vw, 560px);
    margin: auto;
    background-image: url("oyster_Kankan-sec-03_ph-03-pc.png");
    top: min(17.03125vw, 218px);
    bottom: 0;
    left: min(9.296875vw, 119px);
  }
  .sec-03 .unit .box .head {
    margin: 0 auto min(1.25vw, 16px);
    font-size: min(2.734375vw, 35px);
    text-align: left;
    white-space: nowrap;
    line-height: 1.7;
  }
  .sec-03 .unit .box .txt {
    padding: 0;
    font-size: min(1.25vw, 16px);
    line-height: 2;
  }
  .sec-03 .unit .purchase {
    margin: 0 auto min(7.8125vw, 100px);
    position: relative;
  }
  .sec-03 .unit .purchase .blow {
    width: min(78.125vw, 1000px);
    padding: min(3.125vw, 40px) min(6.09375vw, 78px) min(4.6875vw, 60px);
    margin: 0 auto min(4.6875vw, 60px);
    background-image: url("oyster_Kankan-sec-03_blow_bg-pc.png");
    background-repeat: no-repeat;
    background-size: contain;
    border-radius: min(1.5625vw, 20px);
  }
  .sec-03 .unit .purchase .blow .head {
    width: min(52.34375vw, 670px);
    max-width: 670px;
    margin: 0 auto min(1.5625vw, 20px);
  }
  .sec-03 .unit .purchase .blow .lead {
    width: 100%;
    margin: 0 0 min(0.3125vw, 4px);
    font-size: min(1.71875vw, 22px);
  }
  .sec-03 .unit .purchase .blow .lead:before {
    display: none;
  }
  .sec-03 .unit .purchase .blow .lead .red {
    display: inline-block;
    margin-right: 12px;
  }
  .sec-03 .unit .purchase .blow .voice .voice-head {
    margin: 0 auto min(0.859375vw, 11px);
    font-size: min(1.25vw, 16px);
    letter-spacing: normal;
  }
  .sec-03 .unit .purchase .blow .voice .vooce-txt {
    font-size: min(1.25vw, 16px);
  }
  .sec-03 .unit .purchase .ph {
    width: min(37.03125vw, 474px);
    margin: 0;
    position: absolute;
    top: max(-40vw, -40px);
    left: min(10.9375vw, 140px);
  }
  .sec-03 .unit .purchase .purchase-unit,
  .sec-03 .unit .purchase .detail {
    width: min(37.5vw, 480px);
  }
  .sec-03 .unit .purchase .purchase-unit {
    padding: 0;
    margin: 0 0 min(1.875vw, 24px) min(51.71875vw, 662px);
  }
  .sec-03 .unit .purchase .purchase-unit .txt {
    font-size: min(1.25vw, 16px);
    line-height: 2;
  }
  .sec-03 .unit .purchase .detail {
    padding: 0;
    margin: 0 auto min(1.875vw, 24px) min(51.71875vw, 662px);
  }
  .sec-03 .unit .purchase .detail .maker {
    margin: 0 auto min(0.3125vw, 4px);
    font-size: min(1.09375vw, 14px);
  }
  .sec-03 .unit .purchase .detail .name {
    padding: min(0.625vw, 8px) 0;
    margin: 0 auto min(0.625vw, 8px);
  }
  .sec-03 .unit .purchase .detail .capacity {
    margin: 0 auto min(0.9375vw, 12px);
    font-size: min(0.9375vw, 12px);
  }
  .sec-03 .unit .purchase .detail .price-area {
    margin: 0 auto min(2.5vw, 32px);
    font-size: min(2.65625vw, 34px);
  }
  .sec-03 .unit .purchase .detail .price-area .small {
    font-size: min(1.09375vw, 14px);
  }
  .sec-03 .unit .purchase .detail .price-area .small:nth-of-type(1) {
    margin-right: min(0.390625vw, 5px);
  }
  .sec-03 .unit .purchase .detail .price-area .accent {
    padding: min(0.46875vw, 6px) min(0.9375vw, 12px);
    margin: 0 0 0 min(1.40625vw, 18px);
    font-size: min(1.25vw, 16px);
    top: min(-0.390625vw, -5px);
  }
  .sec-03 .unit .purchase .detail .price-area .in_tax {
    padding: min(0vw, 0px) 0 0;
    font-size: min(1.09375vw, 14px);
  }
  .sec-03 .unit .purchase .detail .btn {
    text-align: left;
  }
  .sec-03 .unit .purchase .detail .btn a {
    text-align: center;
  }
  .sec-03 .unit .other {
    /* width: min(78.125vw, 1000px);
    margin: 0 auto min(4.53125vw, 58px); */
    text-align: right;
    position: relative;
  }
  .sec-03 .unit .other:before {
    content: "";
    width: min(100vw, 1200px);
    height: min(16.5625vw, 210px);
    background-image: url("oyster_Kankan-sec-03_bg-02-pc.png");
    background-position: center;
    background-size: contain;
    position: absolute;
    top: 0;
    left: min(1vw, 50px);
    background-repeat: no-repeat;
  }
  .sec-03 .unit .other .blow {
    display: inline-block;
    width: min(32.03125vw, 410px);
    position: relative;
    z-index: 1;
  }
  .sec-03 .foot-link {
    padding: 0;
  }
  .sec-03 .foot-link .more {
    margin: 0 auto min(3.125vw, 40px);
    padding-top: min(5vw, 40px);
  }
  .sec-03 .foot-link .more a {
    width: min(55.859375vw, 715px);
    max-width: 715px;
    padding: min(1.875vw, 24px) 0;
    font-size: min(2.1875vw, 28px);
    background-image: url("oyster_Kankan-foot-link-arrow.png");
    background-repeat: no-repeat;
    background-size: min(1.5625vw, 20px);
    background-position: right min(2.5vw, 32px) center;
    transition-duration: 0.3s;
    transition-property: background-color, border, opacity;
  }
  .sec-03 .foot-link .more a:hover {
    text-decoration: none;
    background-color: #f55e5d;
    border: solid 1px #f55e5d;
    opacity: 0.7;
  }
  .sec-03 .foot-link .back {
    width: min(55.859375vw, 715px);
    margin: 0 auto 0;
  }
  .sec-03 .foot-link .back a {
    padding: 14px 16px 14px 32px;
    color: #fff;
    font-size: min(3.7333333333vw, 14px);
    letter-spacing: 0.1em;
    text-decoration: none;
    background-color: #888888;
    border: 1px solid #888888;
    border-radius: 4px;
    transition-duration: 0.3s;
    transition-property: opacity;
    position: relative;
  }
  .sec-03 .foot-link .back a:before {
    content: "";
    width: 6px;
    height: 6px;
    margin: auto;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(-135deg);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 12px;
  }
  .sec-03 .foot-link .back a:hover {
    opacity: 0.7;
  }
}
/* ======================
// footer
====================== */
.footer {
  padding: min(4.2666666667vw, 16px);
  text-align: center;
  background-color: #fff;
}
.footer .copyright {
  display: inline-block;
  font-size: min(3.4vw, 12px);
}/*# sourceMappingURL=202507_07.css.map */