@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap");
/*=============================================================
 01_base
=============================================================*/
/*!  02_base
================================================ */
html {
  overflow: scroll;
  font-size: 62.5%;
}

body {
  width: 100%;
  position: relative;
  min-width: 320px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-size: 3.75vw;
  color: #000;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  text-align: justify;
}
@media print, screen and (min-width: 641px) {
  body {
    min-width: 1200px;
    width: 100%;
    font-size: 16px;
  }
}
@media print, screen and (min-width: 1801px) {
  body {
    font-size: 16px;
  }
}
body .fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}
body a {
  color: #000;
  text-decoration: none;
}
@media print, screen and (min-width: 641px) {
  body a[href^="tel:"] {
    pointer-events: none;
  }
}
@media print, screen and (min-width: 641px) {
  body a img {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }
}
@media print, screen and (min-width: 641px) {
  body a:hover {
    opacity: 0.8;
    animation: btn 0.5s;
  }
}
@keyframes btn {
  0% {
    opacity: 1;
  }
  10% {
    opacity: 0.4;
  }
  100% {
    opacity: 0.8;
  }
}

ul, ol, li {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

dl, dt, dd, h1, h2, h3, h4, h5, h6, p, section {
  margin: 0;
  padding: 0;
}

section {
  display: block;
}

a {
  text-decoration: none;
}

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

@media print, screen and (min-width: 641px) {
  .viewSp {
    display: none !important;
  }
}

.viewPc {
  display: none !important;
}
@media print, screen and (min-width: 641px) {
  .viewPc {
    display: block !important;
  }
}

.notice li {
  padding-left: 1em;
  text-indent: -1em;
}
.notice li::before {
  content: "※";
}
/*=============================================================
 02_layout
=============================================================*/
/*! animation
================================================ */
@keyframes fadeInLeftCloud {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInRightCloud {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes revealFromLeft {
  0% {
    opacity: 0;
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  100% {
    opacity: 1;
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*!  main
================================================ */
#content {
  position: relative;
  background-image: url(../img/global/sp/bottom_bg.png), url(../img/global/sp/repeat_bg.jpg);
  background-size: 100% auto, 100% auto;
  background-repeat: no-repeat, repeat;
  background-attachment: fixed, local;
  background-position: bottom center, top center;
  overflow: hidden;
}
@media print, screen and (min-width: 641px) {
  #content {
    background-image: url(../img/global/pc/bottom_bg.png), url(../img/global/pc/repeat_bg.jpg);
    background-size: 100% auto, 100% auto;
    background-repeat: no-repeat, repeat;
    background-attachment: fixed, local;
    background-position: bottom center, top center;
  }
}
#content::before {
  content: "";
  display: block;
  position: fixed;
  background: url(../img/kv/sp/logo_bg.png) no-repeat center center;
  background-size: contain;
  width: 92.8125vw;
  height: 100%;
  left: 3.59375vw;
  animation: revealFromLeft 1s ease-in-out forwards;
  animation-delay: 1s;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  #content::before {
    background: url(../img/kv/pc/logo_bg.png) no-repeat center center;
    background-size: contain;
    width: calc(100% - 148px);
    left: 74px;
  }
}

/* .kv
-------------------------------------------------*/
.kv {
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .kv {
    overflow: hidden;
  }
}
.kv .inner-contents {
  position: relative;
  margin: 0 auto;
  padding: 0;
}
@media print, screen and (min-width: 641px) {
  .kv .inner-contents {
    width: 1000px;
    min-height: 0;
    height: 1059px;
    margin: 0 auto;
    padding: 0;
  }
}
.kv h1 {
  position: absolute;
  top: 3.59375vw;
  right: 3.75vw;
  width: 56.875vw;
  z-index: 2;
  animation: fadeIn 1s ease-in-out forwards;
  animation-delay: 5s;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  .kv h1 {
    top: 23px;
    right: 0;
    width: 462px;
  }
}
.kv .kv_deco01 {
  position: absolute;
  animation: fadeInLeftCloud 1s ease-out forwards;
  left: 0;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  .kv .kv_deco01 {
    width: 1056px;
  }
}
.kv .kv_deco02 {
  position: absolute;
  animation: fadeInRightCloud 1s ease-out forwards;
  animation-delay: 0.5s;
  right: 0;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  .kv .kv_deco02 {
    width: 1094px;
  }
}
.kv .catch {
  animation-fill-mode: both;
  animation-delay: 1s;
  width: 31.484375vw;
  left: 3.75vw;
  position: absolute;
  z-index: 1;
  animation: fadeIn 1s ease-in-out forwards;
  animation-delay: 3.2s;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  .kv .catch {
    width: 229px;
    left: 13px;
  }
}
.kv .period {
  position: absolute;
  width: 35.546875vw;
  top: 107.5vw;
  right: 0.3125vw;
  z-index: 1;
  animation: fadeIn 1s ease-in-out forwards;
  animation-delay: 3.2s;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  .kv .period {
    top: 278px;
    right: 2px;
    width: 263px;
  }
}
.kv .btns {
  width: 89.0625vw;
  top: 138.75vw;
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  left: calc(50% - 44.53125vw);
  animation: fadeIn 1s ease-in-out forwards;
  animation-delay: 3.2s;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  .kv .btns {
    width: 1000px;
    top: 750px;
    left: 0;
  }
}
.kv .btns li {
  width: 43.75vw;
  margin-bottom: 1.5625vw;
}
@media print, screen and (min-width: 641px) {
  .kv .btns li {
    width: 482px;
    margin-bottom: 10px;
  }
}
.kv .btns li a {
  display: block;
}
.kv .sns {
  position: absolute;
  top: 168.75vw;
  right: calc(50% - 20.46875vw);
  width: 40.9375vw;
  z-index: 2;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  align-items: end;
  gap: 1px;
  animation: fadeIn 1s ease-in-out forwards;
  animation-delay: 3.2s;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  .kv .sns {
    right: 50%;
    transform: translateX(50%);
    flex-direction: column;
    align-items: center;
    top: 942px;
    gap: 1px;
  }
}
.kv .sns p {
  width: 14.765625vw;
}
@media print, screen and (min-width: 641px) {
  .kv .sns p {
    width: 95px;
  }
}
.kv .sns ul {
  display: flex;
  justify-content: center;
  gap: 2.1875vw;
}
@media print, screen and (min-width: 641px) {
  .kv .sns ul {
    gap: 12px;
  }
}
.kv .sns li {
  margin: 0;
  width: 6.25vw;
}
@media print, screen and (min-width: 641px) {
  .kv .sns li {
    margin: 0;
    width: 40px;
  }
}
.kv .illust {
  width: 100%;
  margin: 0;
  padding: 14.84375vw 0 0;
  animation: fadeIn 1s ease-in-out forwards;
  animation-delay: 2s;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  .kv .illust {
    width: 943px;
    padding: 47px 17px;
  }
}
.kv .goods {
  position: absolute;
  width: 34.6875vw;
  top: 87.5vw;
  left: 1.25vw;
}
@media print, screen and (min-width: 641px) {
  .kv .goods {
    width: 261px;
    top: 540px;
    left: 17px;
  }
}

/*共有
-------------------------------------------------*/
.type {
  margin: 0;
}
@media print, screen and (min-width: 641px) {
  .type {
    margin: 0;
  }
}
.type .inner-contents {
  padding: 20.15625vw 0 0;
}
@media print, screen and (min-width: 641px) {
  .type .inner-contents {
    width: 1000px;
    margin: 0 auto;
    padding: 150px 0 0;
  }
}
.type h2 {
  position: absolute;
  top: 4.6875vw;
  left: 3.59375vw;
}
@media print, screen and (min-width: 641px) {
  .type h2 {
    top: 42px;
    left: 50px;
  }
}
.type h2 + p {
  text-align: center;
  font-size: 32px;
  font-size: 5vw;
  font-weight: 700;
  line-height: 1.45;
  color: #37557b;
  margin: -0.9375vw auto 6.5625vw;
}
@media print, screen and (min-width: 641px) {
  .type h2 + p {
    width: 1000px;
    font-size: 26px;
    line-height: 1.34;
    margin: 3px 0 41px 0;
  }
}

/* .type01
-------------------------------------------------*/
.type01 {
  position: relative;
  z-index: 1;
  margin-top: 35.15625vw;
}
@media print, screen and (min-width: 641px) {
  .type01 {
    margin-top: 0;
  }
}
.type01 .inner-contents {
  background: url(../img/type01/sp/type01_bg.png) no-repeat top center;
  background-size: 100% 100%;
  position: relative;
  padding-bottom: 6.25vw;
}
@media print, screen and (min-width: 641px) {
  .type01 .inner-contents {
    background: url(../img/type01/pc/type01_bg.png) no-repeat top center;
    background-size: 100% auto;
    padding-bottom: 48px;
  }
}
.type01 .inner-contents::before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/type01/sp/deco.png) no-repeat;
  background-size: contain;
  width: 24.21875vw;
  height: 24.609375vw;
  top: -14.375vw;
  z-index: -1;
}
@media print, screen and (min-width: 641px) {
  .type01 .inner-contents::before {
    background: url(../img/type01/pc/deco.png) no-repeat;
    background-size: contain;
    width: 365px;
    height: 324px;
    top: -135px;
    left: -207px;
  }
}
.type01 h2 {
  width: 92.8125vw;
}
@media print, screen and (min-width: 641px) {
  .type01 h2 {
    width: 898px;
  }
}
.type01 h2 + p {
  width: 100%;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .type01 h2 + p {
    width: 1000px;
    font-size: 26px;
  }
}
.type01 h2 + p strong {
  color: #fff;
}
.type01 h2 + p::before {
  content: "";
  position: absolute;
  display: block;
  background: url(../img/type01/sp/title_line01.png) no-repeat top center;
  background-size: contain;
  width: 92.34375vw;
  height: 2.734375vw;
  top: 32.1875vw;
  left: 3.4375vw;
}
@media print, screen and (min-width: 641px) {
  .type01 h2 + p::before {
    background: url(../img/type01/pc/title_line01.png) no-repeat top center;
    background-size: contain;
    width: 799px;
    height: 23px;
    top: 83px;
    left: 100px;
  }
}
.type01 .fair {
  position: relative;
  width: 92.65625%;
  margin: 0 auto;
  padding-top: 4.375vw;
  display: flex;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 641px) {
  .type01 .fair {
    display: block;
    width: 1026px;
    min-height: 512px;
    margin: 0 0 0 50px;
    padding: 28px 0 48px;
  }
}
.type01 .fair-box01 {
  width: 83.125vw;
  margin: 1.40625vw auto 4.0625vw;
}
@media print, screen and (min-width: 641px) {
  .type01 .fair-box01 {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 0 25px;
  }
}
.type01 .fair-box01 p {
  margin-bottom: 2.5vw;
  font-size: 22px;
  font-size: 3.4375vw;
  font-weight: 700;
  line-height: 1.55;
  color: #37557b;
}
@media print, screen and (min-width: 641px) {
  .type01 .fair-box01 p {
    margin-bottom: 14px;
    font-size: 22px;
  }
}
.type01 .fair-box01 h3 {
  width: 100%;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  .type01 .fair-box01 h3 {
    width: 535px;
    margin: 3px 0 0 0;
  }
}
.type01 .fair-prize {
  width: 99.0625vw;
  margin: 1.5625vw -3.5% 0;
  order: 2;
}
@media print, screen and (min-width: 641px) {
  .type01 .fair-prize {
    position: absolute;
    top: 23px;
    right: 63px;
    width: 556px;
    margin-bottom: 0;
  }
}
.type01 .fair-prize .notice01 {
  width: -moz-fit-content;
  width: fit-content;
  margin: -0.625vw 0 0 3.28125vw;
}
@media print, screen and (min-width: 641px) {
  .type01 .fair-prize .notice01 {
    margin: 4px 0 0 76px;
  }
}
.type01 .fair-prize .notice01 li {
  font-size: 18px;
  font-size: 2.8125vw;
  line-height: 1.44;
  color: #fff;
}
@media print, screen and (min-width: 641px) {
  .type01 .fair-prize .notice01 li {
    font-size: 12px;
    line-height: 1.67;
  }
}
.type01 .fair-lineup {
  background: url(../img/type01/sp/frame.png) no-repeat;
  background-size: 100% 100%;
  width: 100%;
  margin: 0 auto 0;
  padding: 4.21875vw 3.4375vw 4.84375vw;
}
@media print, screen and (min-width: 641px) {
  .type01 .fair-lineup {
    background: url(../img/type01/pc/frame.png) no-repeat;
    background-size: 100% 100%;
    width: 487px;
    margin: 0;
    padding: 33px 24px;
    box-sizing: border-box;
  }
}
.type01 .fair-lineup .lineup {
  margin-bottom: 4.0625vw;
  margin-bottom: 0.78125vw;
}
@media print, screen and (min-width: 641px) {
  .type01 .fair-lineup .lineup {
    margin-bottom: 1px;
  }
}
.type01 .fair-lineup .lineup dt {
  position: relative;
  color: #e90000;
  padding: 0 0 2.34375vw;
  margin-bottom: 0.78125vw;
  border-bottom: solid 2px;
  -o-border-image: url(../img/type01/sp/title_line02.png) 0 0 8/8px 0 round;
     border-image: url(../img/type01/sp/title_line02.png) 0 0 8/8px 0 round;
  font-size: 28px;
  font-size: 4.375vw;
  font-weight: 700;
  line-height: 1.14;
}
@media print, screen and (min-width: 641px) {
  .type01 .fair-lineup .lineup dt {
    -o-border-image: url(../img/type01/pc/title_line02.png) 0 0 8/8px 0 round;
       border-image: url(../img/type01/pc/title_line02.png) 0 0 8/8px 0 round;
    padding: 0 0 14px;
    font-size: 22px;
    margin-bottom: 10px;
  }
}
.type01 .fair-lineup .lineup dt span {
  font-size: 20px;
  font-size: 3.125vw;
}
@media print, screen and (min-width: 641px) {
  .type01 .fair-lineup .lineup dt span {
    font-size: 18px;
  }
}
.type01 .fair-lineup .lineup dd {
  padding: 0.15625vw 0 0.328125vw;
  font-size: 24px;
  font-size: 3.75vw;
  font-weight: 700;
  line-height: 1.25;
  color: #37557b;
  border-bottom: dotted 2px #37557b;
}
@media print, screen and (min-width: 641px) {
  .type01 .fair-lineup .lineup dd {
    line-height: 1.285;
    padding: 3px 0;
    font-size: 14px;
  }
}
@media print, screen and (min-width: 641px) {
  .type01 .fair-lineup .lineup dd:nth-of-type(4) {
    display: flex;
    align-items: center;
  }
}
.type01 .fair-lineup .lineup dd span {
  font-size: 18px;
  font-size: 2.8125vw;
  font-weight: 500;
}
@media print, screen and (min-width: 641px) {
  .type01 .fair-lineup .lineup dd span {
    font-size: 12px;
  }
}
.type01 .fair-lineup .lineup dd span.sub_title_12 {
  font-size: 24px;
  font-size: 3.75vw;
}
@media print, screen and (min-width: 641px) {
  .type01 .fair-lineup .lineup dd span.sub_title_12 {
    font-size: 12px;
  }
}
.type01 .fair-lineup .lineup dd span.sub_title_9 {
  font-size: 14px;
  font-size: 2.1875vw;
  line-height: 1em;
  margin-right: 1em;
}
@media print, screen and (min-width: 641px) {
  .type01 .fair-lineup .lineup dd span.sub_title_9 {
    font-size: 9px;
  }
}
.type01 .fair-lineup .lineup dd rt {
  font-size: 30%;
}
@media print, screen and (min-width: 641px) {
  .type01 .fair-lineup .lineup dd rt {
    font-size: 50%;
  }
}
.type01 .fair-lineup .notice02 {
  color: #37557b;
  font-size: 18px;
  font-size: 2.8125vw;
}
@media print, screen and (min-width: 641px) {
  .type01 .fair-lineup .notice02 {
    font-size: 12px;
  }
}
.type01 .mark {
  position: relative;
  margin: 2.8125vw 3.75vw 0;
  padding: 8.28125vw 3.59375vw 7.65625vw;
  background: url(../img/type01/sp/mark_bg.png) 0 0/54px auto no-repeat;
  background-size: 100% auto;
}
@media print, screen and (min-width: 641px) {
  .type01 .mark {
    margin: 0 50px;
    padding: 63px 52px 72px;
    background: url(../img/type01/pc/mark_bg.png) 0 0 no-repeat;
    background-size: 100% auto;
  }
}
.type01 .mark h3 {
  position: absolute;
  width: 86.5625vw;
  left: -1.71875vw;
}
@media print, screen and (min-width: 641px) {
  .type01 .mark h3 {
    width: 476px;
    top: 68px;
    left: 0px;
  }
}
.type01 .mark p {
  font-size: 22px;
  font-size: 3.4375vw;
  font-weight: 700;
  line-height: 1.55;
  color: #37557b;
}
@media print, screen and (min-width: 641px) {
  .type01 .mark p {
    font-size: 22px;
  }
}
.type01 .mark p.marker {
  margin-top: 1.25vw;
  font-size: 38px;
  font-size: 5.9375vw;
  font-weight: 700;
  line-height: 1.35;
}
@media print, screen and (min-width: 641px) {
  .type01 .mark p.marker {
    margin-top: 0;
    font-size: 38px;
  }
}
.type01 .mark p.marker span {
  padding: 0 1.5625vw;
  background: linear-gradient(transparent 0%, #37557b 0%);
  font-weight: 700;
  color: #fcff00;
}
.type01 .mark-box {
  width: 82.1875vw;
  margin: 23.125vw auto 0 1.875vw;
}
@media print, screen and (min-width: 641px) {
  .type01 .mark-box {
    width: 590px;
    margin: 21px -42px 6px auto;
  }
}
.type01 .mark-box .logo {
  width: 100%;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  .type01 .mark-box .logo {
    margin: 0;
    padding: 0;
  }
}
.type01 .mark-box .belly-bands {
  width: 100%;
}
@media print, screen and (min-width: 641px) {
  .type01 .mark-box .belly-bands {
    width: 425px;
  }
}
.type01 .mark .btn {
  margin: 7.5vw auto 0;
  width: 77.5vw;
}
@media print, screen and (min-width: 641px) {
  .type01 .mark .btn {
    width: 720px;
    margin: 0 auto;
  }
}

/* .type02
-------------------------------------------------*/
.type02 {
  position: relative;
  z-index: 1;
  margin-top: 5.78125vw;
}
@media print, screen and (min-width: 641px) {
  .type02 {
    margin-top: 75px;
  }
}
.type02 .inner-contents {
  background: url(../img/type02/sp/type02_bg.png) no-repeat top center;
  background-size: 100% auto;
  padding: 19.0625vw 0 6.25vw;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .type02 .inner-contents {
    background: url(../img/type02/pc/type02_bg.png) no-repeat top center;
    background-size: contain;
    width: 1000px;
    margin: 0 auto;
    padding: 150px 0 57px;
  }
}
.type02 .inner-contents::before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/type02/sp/deco.png) no-repeat;
  background-size: contain;
  width: 26.875vw;
  height: 32.1875vw;
  top: -10.46875vw;
  right: 0;
  z-index: -1;
}
@media print, screen and (min-width: 641px) {
  .type02 .inner-contents::before {
    background: url(../img/type02/pc/deco.png) no-repeat;
    background-size: contain;
    width: 455px;
    height: 297px;
    top: -130px;
    right: -175px;
  }
}
.type02 .inner-contents h2 {
  width: 95.6081081081%;
  top: 5.46875vw;
  left: 0.46875vw;
}
@media print, screen and (min-width: 641px) {
  .type02 .inner-contents h2 {
    width: 912px;
    top: 48px;
    left: 38px;
  }
}
.type02 .inner-contents h2 + p {
  font-weight: bold;
  line-height: 1.4375;
  margin: 0 auto 11.71875vw;
  padding: 0 1em;
  position: relative;
  box-sizing: border-box;
}
@media print, screen and (min-width: 641px) {
  .type02 .inner-contents h2 + p {
    margin: 3px 0 3px;
    line-height: 1.38;
    padding: 0 50px;
  }
}
.type02 .inner-contents h2 + p strong {
  color: #fff;
}
.type02 .inner-contents h2 + p::before {
  content: "";
  position: absolute;
  display: block;
  background: url(../img/type01/sp/title_line01.png) no-repeat top center;
  background-size: contain;
  width: 92.34375vw;
  height: 2.734375vw;
  top: 60.9375vw;
  left: 3.4375vw;
}
@media print, screen and (min-width: 641px) {
  .type02 .inner-contents h2 + p::before {
    background: url(../img/type01/pc/title_line01.png) no-repeat top center;
    background-size: contain;
    width: 799px;
    height: 23px;
    top: 164px;
    left: 100px;
  }
}
.type02 .inner-contents .notice li {
  font-size: 18px;
  font-size: 2.8125vw;
  line-height: 1.56;
  color: #123b7e;
}
@media print, screen and (min-width: 641px) {
  .type02 .inner-contents .notice li {
    font-size: 14px;
    line-height: 1.5;
  }
}
.type02 .inner-contents .prize {
  position: relative;
  width: 92.5%;
  margin: 0 auto;
  padding: 10vw 8.28125vw 0;
  box-sizing: border-box;
  background: url(../img/type02/sp/prize_bg.png) no-repeat;
  background-size: contain;
}
@media print, screen and (min-width: 641px) {
  .type02 .inner-contents .prize {
    background: url(../img/type02/pc/prize_bg.png) no-repeat;
    background-size: contain;
    width: 900px;
    padding: 85px 146px 20px 146px;
    margin: 76px auto 0;
  }
}
.type02 .inner-contents .prize01 .prize-img {
  width: 100%;
}
.type02 .inner-contents .prize02 {
  background-color: #7fcef4;
  box-sizing: border-box;
  padding: 0 3.90625vw 3.90625vw;
}
@media print, screen and (min-width: 641px) {
  .type02 .inner-contents .prize02 {
    padding: 0 50px 50px;
  }
}
.type02 .inner-contents .prize02 .inner-prize {
  background: url(../img/type02/bg.jpg) repeat;
  background-size: 7.8125vw;
  box-sizing: border-box;
  padding: 0 3.90625vw 3.90625vw;
  border-radius: 0 0 10px 10px;
}
@media print, screen and (min-width: 641px) {
  .type02 .inner-contents .prize02 .inner-prize {
    padding: 0 46px 46px;
    background-size: 400px;
  }
}
.type02 .inner-contents .prize02 .inner-prize h3 {
  text-align: center;
  padding-top: 3.90625vw;
  height: 4.375vw;
}
@media print, screen and (min-width: 641px) {
  .type02 .inner-contents .prize02 .inner-prize h3 {
    padding-top: 25px;
    height: 24px;
  }
}
.type02 .inner-contents .prize02 .inner-prize h3 img {
  height: 100%;
  width: auto;
}
.type02 .inner-contents .prize02 .inner-prize .radius {
  background-color: #fff;
  border-radius: 10px;
  padding: 3.90625vw;
  margin-top: 1.5625vw;
  color: #37557b;
  font-size: 2.8125vw;
}
@media print, screen and (min-width: 641px) {
  .type02 .inner-contents .prize02 .inner-prize .radius {
    padding: 30px 50px;
    margin-top: 10px;
    font-size: 18px;
  }
}
.type02 .inner-contents .prize02 .inner-prize ol {
  list-style-type: decimal;
}
.type02 .inner-contents .prize02 .inner-prize ol li {
  list-style-type: decimal;
  margin-left: 1.5em;
  padding-left: 0.5em;
}
.type02 .inner-contents .prize02 .inner-prize ol li a {
  color: #e60012;
  font-weight: bold;
  text-decoration: underline;
}
.type02 .inner-contents .prize02 .inner-prize ol li::marker {
  font-weight: bold;
}
.type02 .inner-contents .prize02 .inner-prize ul li {
  font-size: 2.8125vw;
  margin-left: 1em;
  padding-left: 0.3em;
  position: relative;
}
.type02 .inner-contents .prize02 .inner-prize ul li a {
  color: #37557b;
  text-decoration: underline;
}
@media print, screen and (min-width: 641px) {
  .type02 .inner-contents .prize02 .inner-prize ul li {
    font-size: 14px;
  }
}
.type02 .inner-contents .prize02 .inner-prize ul li::before {
  content: "■";
  position: absolute;
  left: 0;
  top: 0.4em;
  margin-left: -1em;
  font-size: 2.1875vw;
}
@media print, screen and (min-width: 641px) {
  .type02 .inner-contents .prize02 .inner-prize ul li::before {
    font-size: 10px;
  }
}
.type02 .inner-contents .prize02 .inner-prize p.time {
  text-align: center;
  font-size: 3.75vw;
}
@media print, screen and (min-width: 641px) {
  .type02 .inner-contents .prize02 .inner-prize p.time {
    font-size: 24px;
  }
}
.type02 .inner-contents .prize02 .inner-prize p.time span {
  font-size: 4.375vw;
  font-weight: bold;
}
@media print, screen and (min-width: 641px) {
  .type02 .inner-contents .prize02 .inner-prize p.time span {
    font-size: 28px;
  }
}
.type02 .inner-contents .prize02 .inner-prize p.time span.bold {
  font-size: 5.3125vw;
  color: #e60012;
}
@media print, screen and (min-width: 641px) {
  .type02 .inner-contents .prize02 .inner-prize p.time span.bold {
    font-size: 34px;
  }
}
.type02 .inner-contents .prize02 .inner-prize p.ast {
  font-size: 2.5vw;
  margin-left: 1em;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .type02 .inner-contents .prize02 .inner-prize p.ast {
    font-size: 12px;
  }
}
.type02 .inner-contents .prize02 .inner-prize p.ast::before {
  content: "※";
  position: absolute;
  left: 0;
  margin-left: -1em;
}
.type02 .inner-contents .prize02 .inner-prize p a {
  color: #37557b;
  text-decoration: underline;
}
.type02 .inner-contents .prize02 .inner-prize .twitter-tweet {
  margin: 0 auto;
}

/* .type03
-------------------------------------------------*/
.type03 {
  position: relative;
  z-index: 1;
  margin-top: 5.78125vw;
}
@media print, screen and (min-width: 641px) {
  .type03 {
    margin-top: 75px;
  }
}
.type03 .inner-contents {
  background: url(../img/type03/sp/type03_bg.png) no-repeat top center;
  background-size: 100% auto;
  padding: 19.0625vw 0 6.25vw;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .type03 .inner-contents {
    background: url(../img/type03/pc/type03_bg.png) no-repeat top center;
    background-size: 1000px 539px;
    width: 1000px;
    margin: 0 auto;
    padding: 150px 0 57px;
  }
}
.type03 .inner-contents::before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/type03/sp/deco.png) no-repeat;
  background-size: contain;
  width: 24.21875vw;
  height: 24.609375vw;
  top: -14.375vw;
  right: 0;
  z-index: -1;
}
@media print, screen and (min-width: 641px) {
  .type03 .inner-contents::before {
    background: url(../img/type03/pc/deco.png) no-repeat;
    background-size: contain;
    width: 365px;
    height: 324px;
    top: -135px;
    right: -207px;
  }
}
.type03 .inner-contents h2 {
  width: 95.6081081081%;
  top: 5.46875vw;
  left: 0.46875vw;
}
@media print, screen and (min-width: 641px) {
  .type03 .inner-contents h2 {
    width: 899px;
    top: 20px;
    left: 50px;
  }
}
.type03 .inner-contents p {
  font-weight: bold;
  line-height: 1.4375;
  margin: 0 auto;
  padding: 0 1em 0.5em;
  position: relative;
  box-sizing: border-box;
}
@media print, screen and (min-width: 641px) {
  .type03 .inner-contents p {
    margin: 3px 0 3px;
    line-height: 1.38;
    padding: 0 10px 10px;
  }
}
.type03 .inner-contents p.ast {
  font-size: 2.8125vw;
  font-weight: normal;
  color: #fff;
  text-align: center;
  padding-bottom: 1em;
}
.type03 .inner-contents p.ast::before {
  content: "";
  position: absolute;
  display: block;
  background: url(../img/type01/sp/title_line01.png) no-repeat top center;
  background-size: contain;
  width: 92.34375vw;
  height: 2.734375vw;
  top: 10.9375vw;
  left: 3.4375vw;
}
@media print, screen and (min-width: 641px) {
  .type03 .inner-contents p.ast::before {
    background: url(../img/type01/pc/title_line01.png) no-repeat top center;
    background-size: contain;
    width: 799px;
    height: 23px;
    top: 64px;
    left: 100px;
  }
}
@media print, screen and (min-width: 641px) {
  .type03 .inner-contents p.ast {
    font-size: 12px;
    padding-bottom: 85px;
  }
}
.type03 .inner-contents p strong {
  color: #fff;
}
.type03 .inner-contents .btn {
  margin: 7.5vw auto 0;
  width: 77.5vw;
}
@media print, screen and (min-width: 641px) {
  .type03 .inner-contents .btn {
    width: 720px;
    margin: 0 auto;
  }
}

/* .pagetop
-------------------------------------------------*/
.pagetop {
  position: relative;
  z-index: 1;
  width: 22.734375vw;
  margin: 6.40625vw auto 0;
}
@media print, screen and (min-width: 641px) {
  .pagetop {
    width: 106px;
    margin-top: 37px;
  }
}
@media print, screen and (min-width: 641px) {
  .pagetop a img {
    backface-visibility: visible;
    -webkit-backface-visibility: visible;
  }
}

/* .content-copyright
-------------------------------------------------*/
.content-copyright {
  position: relative;
  padding: 5.625vw 10.15625vw 10.78125vw;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .content-copyright {
    padding: 54px 0 58px;
  }
}
.content-copyright .illustrator {
  margin-bottom: 5.15625vw;
  color: #37557b;
  font-size: 18px;
  font-size: 2.8125vw;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .content-copyright .illustrator {
    margin-bottom: 36px;
    font-size: 14px;
  }
}
.content-copyright .bnr {
  width: 30.3921568627%;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  .content-copyright .bnr {
    width: 155px;
  }
}
.content-copyright .bnr a {
  display: block;
}

/*!  footer
================================================ */
/* footer
-------------------------------------------------*/
footer {
  position: relative;
  padding: 7.96875vw 0 8.59375vw;
  background-color: #000;
}
@media print, screen and (min-width: 641px) {
  footer {
    padding: 18px 0 41px;
  }
}
footer .deco {
  position: absolute;
  left: 50%;
  width: 92.109375vw;
  top: -77.1875vw;
  transform: translateX(-50%);
}
@media print, screen and (min-width: 641px) {
  footer .deco {
    width: 1000px;
    top: -350px;
  }
}
footer .logo {
  width: 43.90625%;
  margin: 0 auto 1.25vw;
}
@media print, screen and (min-width: 641px) {
  footer .logo {
    width: 281px;
    margin-bottom: 12px;
  }
}
footer .logo a {
  display: block;
}
footer .copyright {
  font-size: 25px;
  font-size: 3.90625vw;
  line-height: 1.5;
  color: #fff;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  footer .copyright {
    font-size: 12px;
  }
}

/*!  shoplist
================================================ */
#shoplist {
  padding: 6.25vw 0 3.125vw;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  #shoplist {
    padding: 42px 0 30px;
  }
}
#shoplist .inner {
  margin: 0 3.75vw;
}
@media print, screen and (min-width: 641px) {
  #shoplist .inner {
    width: 1000px;
    margin: 0 auto;
  }
}
#shoplist .logo {
  width: 41.25vw;
  margin: 0 auto 3.4375vw;
}
@media print, screen and (min-width: 641px) {
  #shoplist .logo {
    width: 235px;
    margin: 0 auto 18px;
  }
}
#shoplist h1 {
  font-size: 38px;
  font-size: 5.9375vw;
  margin-bottom: 7.5vw;
  color: #37557b;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  #shoplist h1 {
    font-size: 45px;
    margin-bottom: 40px;
  }
}
#shoplist h1 span {
  background-color: #caf7f7;
  padding: 0 2.34375vw 0 0;
}
@media print, screen and (min-width: 641px) {
  #shoplist h1 span {
    padding: 0 20px 0 0;
  }
}
#shoplist .notice {
  font-size: 26px;
  font-size: 4.0625vw;
  background-color: #ffebe6;
  border-radius: 4.6875vw;
  padding: 7.5vw 5vw;
  color: #030303;
  margin-bottom: 9.0625vw;
}
@media print, screen and (min-width: 641px) {
  #shoplist .notice {
    font-size: 20px;
    padding: 42px 50px;
    border-radius: 30px;
    margin-bottom: 78px;
  }
}
#shoplist .navigation {
  border-radius: 4.6875vw 4.6875vw 0 0;
  margin-bottom: 9.0625vw;
  background-color: #fff;
}
@media print, screen and (min-width: 641px) {
  #shoplist .navigation {
    margin-bottom: 76px;
    border-radius: 30px 30px 0 0;
  }
}
#shoplist .navigation h2 {
  font-size: 30px;
  font-size: 4.6875vw;
  border-radius: 4.6875vw 4.6875vw 0 0;
  background-color: #e60012;
  color: #fff;
  text-align: center;
  padding: 1.875vw 0;
}
@media print, screen and (min-width: 641px) {
  #shoplist .navigation h2 {
    font-size: 22px;
    border-radius: 30px 30px 0 0;
    padding: 10px 0;
  }
}
#shoplist .navigation ul {
  font-size: 0;
  padding: 6.25vw 6.25vw 0;
}
@media print, screen and (min-width: 641px) {
  #shoplist .navigation ul {
    padding: 46px 50px 28px;
  }
}
#shoplist .navigation ul li {
  display: inline-block;
  margin-bottom: 6.25vw;
  margin-left: 2.34375vw;
}
@media print, screen and (min-width: 641px) {
  #shoplist .navigation ul li {
    margin-left: 34px;
    margin-bottom: 20px;
  }
}
#shoplist .navigation ul li a {
  position: relative;
  font-size: 26px;
  font-size: 4.0625vw;
  padding-right: 3.90625vw;
  color: #030303;
  text-decoration: underline;
}
@media print, screen and (min-width: 641px) {
  #shoplist .navigation ul li a {
    font-size: 18px;
    padding-right: 18px;
  }
}
#shoplist .navigation ul li a::after {
  content: "";
  width: 2.8125vw;
  height: 1.71875vw;
  background: url("../img/shoplist/sp/icon.png") no-repeat top center;
  background-size: contain;
  position: absolute;
  bottom: 1.25vw;
  right: 0;
}
@media print, screen and (min-width: 641px) {
  #shoplist .navigation ul li a::after {
    width: 13px;
    height: 7px;
    bottom: 7px;
    background: url("../img/shoplist/pc/icon.png") no-repeat top center;
    background-size: contain;
  }
}
#shoplist .block {
  padding-bottom: 9.375vw;
  border-bottom: 2px solid #030303;
  margin-bottom: 9.375vw;
}
@media print, screen and (min-width: 641px) {
  #shoplist .block {
    padding-bottom: 45px;
    margin-bottom: 25px;
  }
}
#shoplist .block h2 {
  font-size: 30px;
  font-size: 4.6875vw;
  color: #fff;
  line-height: 1;
  text-align: center;
  background-color: #37557b;
  padding: 2.65625vw 0;
}
@media print, screen and (min-width: 641px) {
  #shoplist .block h2 {
    font-size: 22px;
    padding: 16px 0;
  }
}
#shoplist .block table {
  width: 100%;
  border-spacing: 0;
}
#shoplist .block table tr {
  display: block;
  line-height: 1;
  padding: 2.34375vw 0 2.8125vw 5.625vw;
  background-color: #ffebe6;
  font-size: 26px;
  font-size: 4.0625vw;
  color: #030303;
}
@media print, screen and (min-width: 641px) {
  #shoplist .block table tr {
    font-size: 22px;
    padding: 10px 0 10px 50px;
  }
}
#shoplist .block table tr:nth-of-type(2n) {
  background-color: #fff;
}
#shoplist .text2 {
  font-size: 26px;
  font-size: 4.0625vw;
  font-weight: bold;
  color: #030303;
  margin-bottom: 12.5vw;
}
@media print, screen and (min-width: 641px) {
  #shoplist .text2 {
    font-size: 14px;
    margin-bottom: 40px;
    text-align: center;
  }
}
#shoplist .btnBack {
  width: 22.8125vw;
  margin: 0 auto 9.0625vw;
}
@media print, screen and (min-width: 641px) {
  #shoplist .btnBack {
    width: 105px;
    margin: 0 auto 24px;
  }
}
#shoplist .bnr {
  width: 24.21875vw;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  #shoplist .bnr {
    width: 155px;
    margin: 0 auto;
  }
}

/*!  webcast
================================================ */
#webcast {
  padding: 0 0 3.125vw;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  #webcast {
    padding: 0 0 30px;
    background: url(../img/webcast/pc/kv_bg.png) repeat-x top center;
    background-size: 1px 722px;
  }
}
#webcast .inner {
  margin: 0;
}
@media print, screen and (min-width: 641px) {
  #webcast .inner {
    width: 1000px;
    margin: 0 auto;
  }
}
#webcast .kv {
  position: relative;
}
@media print, screen and (min-width: 641px) {
  #webcast .kv {
    overflow: hidden;
  }
}
#webcast .kv .illust {
  width: 100%;
  margin: 0;
  padding: 0;
  animation: fadeIn 0.5s ease-in-out forwards;
  animation-delay: 0s;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  #webcast .kv .illust {
    width: 1000px;
    padding: 0;
  }
}
#webcast .kv h1 {
  position: absolute;
  top: 32.8125vw;
  right: 10.9375vw;
  width: 74.21875vw;
  z-index: 2;
  animation: fadeIn 0.5s ease-in-out forwards;
  animation-delay: 1s;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  #webcast .kv h1 {
    top: 190px;
    right: 256px;
    width: 475px;
  }
}
#webcast .kv .catch {
  animation-fill-mode: both;
  animation-delay: 1s;
  width: 88.59375vw;
  left: 5.625vw;
  top: 81.25vw;
  position: absolute;
  z-index: 1;
  animation: fadeIn 0.5s ease-in-out forwards;
  animation-delay: 1.5s;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  #webcast .kv .catch {
    width: 567px;
    left: 216px;
    top: 490px;
  }
}
#webcast .timeSchedule {
  margin: -12.8125vw auto 6.25vw;
  width: 92%;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  #webcast .timeSchedule {
    width: 1000px;
    margin: -75px auto 36px;
  }
}
#webcast .timeSchedule .item {
  width: 100%;
}
#webcast .timeSchedule .item h3 {
  margin-bottom: 0;
  background-color: #000;
  font-size: 4.375vw;
  font-weight: 600;
  line-height: 1.8;
  text-align: center;
  color: #fff;
}
@media print, screen and (min-width: 641px) {
  #webcast .timeSchedule .item h3 {
    font-size: 24px;
  }
}
#webcast .timeSchedule .item dl {
  display: flex;
  flex-wrap: wrap;
  background: #fff;
}
#webcast .timeSchedule .item dl dt {
  display: flex;
  align-items: center;
  width: 27%;
  padding: 0 1.5625vw;
  border-bottom: 2px solid #c5a86c;
  font-size: 5vw;
  font-weight: 600;
  line-height: 2;
  box-sizing: border-box;
}
@media print, screen and (min-width: 641px) {
  #webcast .timeSchedule .item dl dt {
    width: 16%;
    font-size: 28px;
    padding: 0 10px;
  }
}
#webcast .timeSchedule .item dl dd {
  display: flex;
  align-items: center;
  position: relative;
  width: 73%;
  margin: 0;
  padding: 2% 6% 2% 0;
  border-bottom: 2px solid #c5a86c;
  font-size: 4.375vw;
  font-weight: 600;
  line-height: 1.2;
  box-sizing: border-box;
}
@media print, screen and (min-width: 641px) {
  #webcast .timeSchedule .item dl dd {
    width: 84%;
    font-size: 24px;
    padding: 5px 30px 5px 0;
  }
}
#webcast .timeSchedule .item dl dd::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -5px;
  border-top: 10px solid transparent;
  border-left: 10px solid #fff;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  transform: translateY(-50%);
}
#webcast .timeSchedule .item dl dd a {
  display: block;
  width: 100%;
  padding: 12px 0;
  text-decoration: none;
  color: #000;
}
#webcast .timeSchedule .item dl dd a:hover {
  text-decoration: underline;
}
#webcast .timeSchedule .item:nth-child(1) dl dt {
  color: #e60012;
}
#webcast .timeSchedule .item:nth-child(1) dl dd::after {
  border-left: 10px solid #e60012;
}
#webcast .timeSchedule .item:nth-child(1) dl .marker {
  background-color: #f0e8f7;
}
#webcast .btn {
  margin: 0 auto 12.5vw;
  width: 92.5vw;
}
@media print, screen and (min-width: 641px) {
  #webcast .btn {
    width: 720px;
    margin: 0 auto 60px;
  }
}
#webcast .type01 {
  position: relative;
  z-index: 1;
  margin-top: 0;
  margin-bottom: 7.8125vw;
}
@media print, screen and (min-width: 641px) {
  #webcast .type01 {
    margin-top: 0;
    margin-bottom: 80px;
  }
}
#webcast .type01 .inner-contents {
  background: url(../img/webcast/sp/type01_bg.png) no-repeat top center;
  background-size: 100% 100%;
  position: relative;
  padding: 6.25vw 0 6.25vw;
}
@media print, screen and (min-width: 641px) {
  #webcast .type01 .inner-contents {
    background: url(../img/webcast/pc/type01_bg.png) no-repeat top center;
    background-size: 100% auto;
    padding: 50px 0 0;
  }
}
#webcast .type01 .inner-contents::before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/webcast/sp/deco.png) no-repeat;
  background-size: contain;
  width: 24.21875vw;
  height: 24.609375vw;
  top: -14.375vw;
  z-index: -1;
}
@media print, screen and (min-width: 641px) {
  #webcast .type01 .inner-contents::before {
    background: url(../img/webcast/pc/deco.png) no-repeat;
    background-size: contain;
    width: 365px;
    height: 324px;
    top: -94px;
    left: -207px;
  }
}
#webcast .type01 h2 {
  width: 97.03125vw;
  position: unset;
}
@media print, screen and (min-width: 641px) {
  #webcast .type01 h2 {
    width: 972px;
  }
}
#webcast .type01 h2 + p {
  width: 100%;
  position: relative;
  padding-top: 6.25vw;
  margin: 6.25vw 0 0;
  line-height: 1.3;
  color: #fff;
  background-color: #a178cb;
  padding-bottom: 6.25vw;
}
@media print, screen and (min-width: 641px) {
  #webcast .type01 h2 + p {
    width: 1000px;
    font-size: 26px;
    padding-top: 50px;
    margin: 50px 0 0;
    padding-bottom: 50px;
  }
}
#webcast .type01 h2 + p strong {
  color: #f9ff9d;
}
#webcast .type01 h2 + p::before {
  content: "";
  position: absolute;
  display: block;
  background: url(../img/type01/sp/title_line01.png) no-repeat top center;
  background-size: contain;
  width: 92.34375vw;
  height: 2.734375vw;
  top: 0;
  left: 3.4375vw;
}
@media print, screen and (min-width: 641px) {
  #webcast .type01 h2 + p::before {
    background: url(../img/type01/pc/title_line01.png) no-repeat top center;
    background-size: contain;
    width: 799px;
    height: 23px;
    top: 0;
    left: 100px;
  }
}
#webcast .btnBack {
  width: 22.8125vw;
  margin: 0 auto 9.0625vw;
}
@media print, screen and (min-width: 641px) {
  #webcast .btnBack {
    width: 105px;
    margin: 0 auto 24px;
  }
}
#webcast .bnr {
  width: 24.21875vw;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  #webcast .bnr {
    width: 155px;
    margin: 0 auto;
  }
}
#webcast .smart {
  display: block;
  box-sizing: border-box;
  margin-bottom: 3.125vw;
}
@media print, screen and (min-width: 641px) {
  #webcast .smart {
    margin-bottom: 20px;
  }
}
#webcast .smart .inner-contents {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background-color: #a178cb;
  align-items: center;
  border-radius: 20px;
  padding: 1vw 4vw;
}
@media print, screen and (min-width: 641px) {
  #webcast .smart .inner-contents {
    padding: 20px 40px;
    border-radius: 35px;
  }
}
#webcast .smart .inner-contents h4 {
  width: 50%;
  font-size: 4.6875vw;
  padding: 4vw 0;
  text-align: left;
  font-weight: 700;
  color: #fff;
  box-sizing: border-box;
}
@media print, screen and (min-width: 641px) {
  #webcast .smart .inner-contents h4 {
    padding: 10px;
    font-size: 32px;
  }
}
#webcast .smart .inner-contents dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 50%;
  margin: 0;
  box-sizing: border-box;
}
#webcast .smart .inner-contents dl dt {
  width: 10vw;
  font-size: 18px;
  font-size: 2.8125vw;
  padding: 1vw 0;
  border: 1px solid #fff;
  background-color: #fff;
  font-weight: 400;
  text-align: center;
  color: #a178cb;
}
@media print, screen and (min-width: 641px) {
  #webcast .smart .inner-contents dl dt {
    width: 90px;
    padding: 5px 0;
    font-size: 18px;
  }
}
#webcast .smart .inner-contents dl dd {
  width: calc(100% - 12vw);
  font-size: 24px;
  font-size: 3.75vw;
  margin: 0;
  font-weight: 700;
  color: #fff;
}
@media print, screen and (min-width: 641px) {
  #webcast .smart .inner-contents dl dd {
    font-size: 24px;
    width: calc(100% - 120px);
  }
}
#webcast .program {
  box-sizing: border-box;
  background: url(../img/webcast/sp/type02_bg.png) no-repeat top center;
  background-size: 100% 100%;
  padding: 6.25vw 0 0;
  margin-bottom: 3.125vw;
}
@media print, screen and (min-width: 641px) {
  #webcast .program {
    width: 1000px;
    margin: 0 auto 20px;
    padding: 30px 0px 0px;
    background: url(../img/webcast/pc/type02_bg.png) no-repeat top center;
    background-size: 100% auto;
  }
}
#webcast .program h4 {
  box-sizing: border-box;
  padding: 0 4vw 4vw;
  font-size: 5vw;
  font-weight: 700;
  color: #fff;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  #webcast .program h4 {
    padding: 0 50px 30px;
    font-size: 32px;
    text-align: left;
  }
}
#webcast .program .inner {
  background-color: #a178cb;
  padding-bottom: 3.125vw;
}
@media print, screen and (min-width: 641px) {
  #webcast .program .inner {
    padding-bottom: 40px;
  }
}
#webcast .program .inner .waku {
  box-sizing: border-box;
  display: block;
  justify-content: space-between;
  padding: 6.25vw 4.6875vw;
  background-color: #fff;
  border-radius: 15px;
  margin: 3.125vw;
  width: auto;
}
@media print, screen and (min-width: 641px) {
  #webcast .program .inner .waku {
    padding: 20px 30px;
    display: flex;
    margin: 0 40px 0;
  }
}
#webcast .program .inner .waku .cover {
  width: 65%;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  #webcast .program .inner .waku .cover {
    width: 30%;
    margin: 0;
  }
}
#webcast .program .inner .waku .cover .images {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 5px;
}
@media print, screen and (min-width: 641px) {
  #webcast .program .inner .waku .cover .images {
    margin-bottom: 5px;
    gap: 10px;
  }
}
#webcast .program .inner .waku .cover .images .item {
  border: 1px solid #a178cb;
}
#webcast .program .inner .waku .cover .images .item img {
  width: 100%;
}
#webcast .program .inner .waku .cover .copy {
  font-size: 1.875vw;
  text-align: left;
}
@media print, screen and (min-width: 641px) {
  #webcast .program .inner .waku .cover .copy {
    font-size: 10px;
  }
}
#webcast .program .inner .waku .detail {
  width: 100%;
}
@media print, screen and (min-width: 641px) {
  #webcast .program .inner .waku .detail {
    width: 68%;
  }
}
#webcast .program .inner .waku .detail dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px 0;
  margin-bottom: 1rem;
}
#webcast .program .inner .waku .detail dl dt {
  width: 10vw;
  padding: 1vw 0;
  border: 1px solid #a178cb;
  font-size: 2.8125vw;
  font-weight: 400;
  text-align: center;
  color: #a178cb;
}
@media print, screen and (min-width: 641px) {
  #webcast .program .inner .waku .detail dl dt {
    width: 90px;
    padding: 5px 0;
    font-size: 18px;
  }
}
#webcast .program .inner .waku .detail dl dd {
  width: calc(100% - 12vw);
  margin: 0;
  font-size: 3.75vw;
  font-weight: 700;
  color: #a178cb;
}
#webcast .program .inner .waku .detail dl dd span {
  font-size: 80%;
}
@media print, screen and (min-width: 641px) {
  #webcast .program .inner .waku .detail dl dd {
    width: calc(100% - 120px);
    font-size: 24px;
  }
}
#webcast .program .inner .waku .detail p {
  font-size: 3.125vw;
}
@media print, screen and (min-width: 641px) {
  #webcast .program .inner .waku .detail p {
    font-size: 16px;
  }
}

/*!  index > webcast
================================================ */
#webcast.index {
  padding-bottom: 0;
}
@media print, screen and (min-width: 641px) {
  #webcast.index {
    background: none;
    padding-bottom: 0;
  }
}
@media print, screen and (min-width: 641px) {
  #webcast.index .type01 {
    margin-bottom: 0;
  }
}
#webcast.index .btn {
  margin: 0 auto;
  width: 77.5vw;
  background-color: #a178cb;
}
@media print, screen and (min-width: 641px) {
  #webcast.index .btn {
    width: 720px;
    margin: 0 auto;
    padding: 0 140px 48px;
  }
}