@charset "UTF-8";
/*--------------------------------------------------------------
# Variables (Colors, Fonts, sizes)
--------------------------------------------------------------*/
/*
 ***********************
 *    IMPORT FONTS     *
 ***********************
*/
@import url("https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap");
/* Import Google Font
 *
 * @import url('https://fonts.googleapis.com/css?family=Roboto');
 *
*/
/*--------------------------------------------------------------
# Normalize & Print
--------------------------------------------------------------*/
/*
 ***********************
 * RESET AND NORMALIZE *
 ***********************
*/
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, address,
big, code, del, dfn, em, img, q, s, samp, small, strong, sub, sup, tt, var, b, u, i, dl,
dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr,
th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu,
main, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
  margin: 0;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  text-align: center;
  line-height: 1.75;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

figure {
  margin: 1em 40px;
}

img {
  border-style: none;
  max-width: 100%;
  vertical-align: middle;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

[hidden] {
  display: none;
}

[clear] {
  clear: both;
}

/* Box Model */
*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* A better looking default horizontal rule */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 *******************
 *  PRINT STYLES  *
 *  DONT TOUCH!!  *
 *******************
*/
@media print {
  *, *:before, *:after, *:first-letter, *:first-line {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a, a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  h2, h3 {
    page-break-after: avoid;
  }
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/**Optionally add Bootstrap to your project**/
/* @import "~bootstrap/scss/bootstrap"; */
/*
 *******************
 * PAGE MAIN STYLE *
 *******************
*/
body {
  background: #fff;
  user-select: none;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #404260;
}

/* HEADER */
.header {
  color: #fff;
  z-index: 10;
}

.header-nav > li a {
  color: #fff;
  text-decoration: none;
  position: relative;
  display: block;
}

.header-nav > li a:hover {
  color: #deaf46;
}

.header-nav > li a::before {
  content: '';
  display: inline-block;
  width: 7.73333vw;
  height: 4.93333vw;
  background: url(../images/bullet.png) no-repeat left center;
  background-size: contain;
  margin-right: .5em;
}

.nav-toggle {
  position: fixed;
  width: 9.6vw;
  height: 9.06667vw;
  top: 2.4vw;
  right: 2.4vw;
  background: url(../images/nav-toggle.png) no-repeat left top;
  background-size: cover;
  cursor: pointer;
  z-index: 11;
}

.nav-toggle.active {
  background-position: left bottom;
}

@media all and (max-width: 667px) {
  .header {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #900713;
    padding: 18.13333vw 6.66667vw 23.33333vw;
  }
  .header-nav > li {
    font-size: 5.33333vw;
    text-align: left;
  }
  .header-nav > li:nth-child(n+2) {
    margin-top: 1.5em;
  }
  .header-sticky {
    display: none !important;
  }
}

@media all and (min-width: 668px) {
  .header {
    display: block !important;
    background-color: #351503;
    position: relative;
  }
  .header .header-nav {
    justify-content: center;
  }
  .header-nav {
    display: flex;
  }
  .header-nav > li {
    margin: 0 1em;
    font-size: 13px;
  }
  .header-nav > li a {
    padding: 15px 0;
  }
  .header-nav > li a::before {
    width: 18px;
    height: 12px;
  }
  .nav-toggle {
    display: none !important;
  }
  .header-sticky {
    position: fixed;
    z-index: 12;
    left: 0;
    top: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #351503;
    justify-content: center;
    transition: transform 1s ease-in-out;
    transform: translateY(-200%);
  }
  .header-sticky.show {
    transform: translateY(0);
  }
  .header-sticky .header-nav {
    width: 480px;
    flex: 0 0 auto;
  }
  .header-sticky .header-nav.-primary {
    justify-content: flex-end;
  }
  .header-sticky .header-nav.-secondary {
    justify-content: flex-start;
  }
  .header-emblem {
    width: 116px;
    height: 82px;
    margin: 0 1em;
  }
}

/* SECTIONS */
.has-crown-top {
  padding-top: 35.6vw !important;
}

.has-crown-bottom {
  padding-bottom: 25.6vw !important;
}

@media all and (min-width: 668px) {
  .has-crown-top {
    padding-top: calc(8.125vw + 40px) !important;
  }
  .has-crown-bottom {
    padding-bottom: 8.125vw !important;
  }
  .spon {
    display: none;
  }
}

@media all and (max-width: 667px) {
  .pcon {
    display: none;
  }
}

body.fixed {
  position: fixed;
  left: 0;
  right: 0;
  margin: auto;
}

a:hover img {
  opacity: .9;
}

.stage {
  width: 100%;
  overflow: hidden;
}

.stage-inner {
  height: 132.26667vw;
  background: url(../images/bg-stage-sp.jpg) no-repeat center top;
  background-size: cover;
  position: relative;
}

.stage .curtains {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.stage .curtains .curtain-left,
.stage .curtains .curtain-right {
  width: 28.66667vw;
  height: 98.53333vw;
  background: url(../images/curtain-sp.png) no-repeat left top;
  background-size: contain;
}

.stage .curtains .curtain-right {
  transform: scale(-1, 1);
}

.stage .emblem {
  margin: 0 auto 2.13333vw;
  width: 40.13333vw;
}

.stage .todays {
  z-index: 2;
  position: relative;
}

.stage .h-todays {
  width: 61.86667vw;
  margin: 0 auto 2.13333vw;
}

.stage .frame-todays {
  margin: 0 auto 4.53333vw;
  position: relative;
  text-align: center;
  padding: 0 7%;
}

.stage .frame-todays .inner {
  display: inline-block;
  position: relative;
}

.stage .frame-todays .inner::after {
  content: '';
  position: absolute;
  top: 0;
  left: 4.53333vw;
  width: 14.66667vw;
  height: 15.46667vw;
  background: url(../images/pcry-ambassador.png) no-repeat 0 0;
  background-size: contain;
}

.stage .frame-todays img {
  width: auto;
  height: 73.33333vw;
  max-height: 73.33333vw;
  border: 8px solid #fff;
}

.stage .user-todays {
  font-size: 3.73333vw;
  margin: 0;
  color: #fff;
}

.stage .user-todays a {
  color: #fff;
}

.stage .user-todays a:hover {
  color: #ccc;
}

@media all and (max-width: 667px) {
  .stage .curtains .curtain-top-left,
  .stage .curtains .curtain-top-right {
    display: none;
  }
  .stage .curtains .curtain-top-right {
    transform: scale(-1, 1);
  }
}

@media all and (min-width: 668px) {
  .stage {
    background: linear-gradient(180deg, #611805 468px, #481203 470px);
  }
  .stage-inner {
    min-width: 1100px;
    max-width: 1280px;
    height: 692px;
    margin: 0 auto;
    background: url(../images/bg-stage.jpg) no-repeat center top;
    background-size: cover;
  }
  .stage .curtains {
    right: 0;
    margin: auto;
  }
  .stage .curtains > * {
    flex: 1 0 auto;
  }
  .stage .curtains .curtain-left,
  .stage .curtains .curtain-right {
    width: 185px;
    height: 640px;
    background: url(../images/curtain.png) no-repeat left top;
    background-size: 100% 100%;
  }
  .stage .curtains .curtain-top-left,
  .stage .curtains .curtain-top-right {
    width: 264px;
    height: 137px;
    background: url(../images/curtain-top.png) no-repeat left top;
    background-size: 100% 100%;
  }
  .stage .curtains .curtain-top-right {
    order: 4;
  }
  .stage .curtains .curtain-right {
    order: 5;
  }
  .stage .curtains::after {
    content: '';
    width: 202px;
    order: 3;
  }
  .stage .emblem {
    margin: 0 auto 16px;
    width: 257px;
  }
  .stage .h-todays {
    width: 320px;
    margin: 0 auto 14px;
  }
  .stage .frame-todays {
    margin: 0 auto 55px;
    padding: 0;
  }
  .stage .frame-todays .inner::after {
    left: 20px;
    width: 63px;
    height: 67px;
  }
  .stage .frame-todays img {
    height: 316px;
    max-height: 316px;
  }
  .stage .user-todays {
    font-size: 16px;
  }
  .movie-stage {

	}
}
  .movie-stage {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
     margin: 0 auto 1em;
}
@media all and (min-width: 668px) {
.movie-stage {
	position: absolute;
    top: 0;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 485px;
	padding-top: 273px;}
}

.movie-stage > iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.thanks {
  background: #f3e7d2 url(../images/bg-thanks.png) repeat-y center top;
  padding: 12.53333vw 0 0;
  position: relative;
  z-index: 6;
}

.thanks::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -25.6vw;
  width: 100%;
  height: 25.6vw;
  background: url(../images/crown-thanks-sp.png) no-repeat 0 0;
  background-size: contain;
}

.thanks .im-thanks {
  margin-top: 6vw;
  padding-top: 4.66667vw;
  position: relative;
  background: url(../images/im-thanks-sp.png) no-repeat center top;
  background-size: contain;
  height: 93.33333vw;
}

.thanks .h-thanks {
  width: 84.26667vw;
  margin: 0 auto;
}

.thanks .bal1 {
  position: absolute;
  left: 13.73333vw;
  top: 32.93333vw;
  width: 8.93333vw;
  height: 15.73333vw;
  background: url(../images/bal1.png) no-repeat 0 0;
  background-size: contain;
}

.thanks .bal2 {
  position: absolute;
  left: 1.2vw;
  top: 21.33333vw;
  width: 12.8vw;
  height: 23.06667vw;
  background: url(../images/bal2.png) no-repeat 0 0;
  background-size: contain;
}

.thanks .bal3 {
  position: absolute;
  right: 1.86667vw;
  top: 34.66667vw;
  width: 10.66667vw;
  height: 14.53333vw;
  background: url(../images/bal3.png) no-repeat 0 0;
  background-size: contain;
}

.thanks .bal4 {
  position: absolute;
  right: 6.66667vw;
  top: 22.26667vw;
  width: 13.2vw;
  height: 18.13333vw;
  background: url(../images/bal4.png) no-repeat 0 0;
  background-size: contain;
}

.thanks .tx-thanks {
  padding: 10vw 10vw 0;
}

.thanks .tx-thanks p + p {
  margin-top: 1.5em;
}

.bt-campaign {
  width: 80.26667vw;
  margin: 0 auto;
}

@media all and (min-width: 668px) {
  .thanks {
    background-size: auto;
    padding-top: 45px;
  }
  .thanks::after {
    bottom: -8.125vw;
    height: 8.125vw;
    background: url(../images/crown-thanks.png) no-repeat 0 0;
    background-size: contain;
  }
  .thanks .im-thanks {
    margin-top: 4px;
    padding-top: 60px;
    background: url(../images/im-thanks.png) no-repeat center top;
    background-size: contain;
    height: 800px;
    width: 1130px;
    margin-left: auto;
    margin-right: auto;
  }
  .thanks .h-thanks {
    width: 695px;
  }
  .thanks .bal1 {
    left: 196px;
    top: 254px;
    width: 96px;
    height: 169px;
  }
  .thanks .bal2 {
    left: 62px;
    top: 131px;
    width: 138px;
    height: 247px;
  }
  .thanks .bal3 {
    right: 28px;
    top: 274px;
    width: 114px;
    height: 156px;
  }
  .thanks .bal4 {
    right: 80px;
    top: 140px;
    width: 142px;
    height: 195px;
  }
  .thanks .tx-thanks {
    padding: 50px 0 0;
    width: 850px;
    margin: 0 auto;
  }
  .thanks .tx-thanks p + p {
    margin-top: 1.5em;
  }
  .bt-campaign {
    width: 353px;
  }
}

.history {
  background: url(../images/bg-history.png) repeat 0 0;
  background-size: 30%;
  position: relative;
  z-index: 1;
}

@media all and (min-width: 668px) {
  .history {
    background-size: auto;
  }
}

.h-history {
  width: 97.33333vw;
  margin: 0 auto 2em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.h-history-cat {
  width: 22.13333vw;
}

.h-history-dog {
  width: 25.6vw;
}

.h-history > span {
  width: 46.4vw;
}

.lead-history {
  margin-bottom: 2em;
}

@media all and (min-width: 668px) {
  .h-history {
    width: 682px;
  }
  .h-history-cat {
    width: 153px;
  }
  .h-history-dog {
    width: 177px;
  }
  .h-history > span {
    width: 291px;
  }
}

.box-history {
  width: 89.33333vw;
  margin: 18.66667vw auto 0;
  position: relative;
  background: #c0dce2 url(../images/bg-box-history-sp.png) no-repeat center 2.4vw;
  background-size: 79.06667vw 16.53333vw;
  border-radius: 20px;
  padding: 0 3.33333vw 6.66667vw;
}

.box-history + .box-history {
  margin-top: 24.53333vw;
}

.box-history + .box-history::before {
  content: '';
  position: absolute;
  width: 100%;
  left: 0;
  top: -24.53333vw;
  height: 24.53333vw;
  background: url(../images/dotline.png) no-repeat center center;
  background-size: auto 90%;
}

.h-year {
  width: 43.2vw;
  margin: 0 auto -1em;
  position: relative;
  top: -12.53333vw;
}

@media all and (min-width: 668px) {
  .box-history {
    width: 900px;
    margin-top: 96px;
    background: #c0dce2 url(../images/bg-box-history.png) no-repeat center 4px;
    background-size: auto;
    border-radius: 27px;
    padding: 0 45px 30px;
  }
  .box-history + .box-history {
    margin-top: 140px;
  }
  .box-history + .box-history::before {
    top: -140px;
    height: 140px;
    background-size: auto 90%;
    background-position: center 10px;
  }
  .h-year {
    width: 214px;
    top: -64px;
  }
}

.cont-2011 {
  display: flex;
  flex-direction: column;
}

.cont-2011 .im-2011a {
  width: 72.8vw;
}

.cont-2011 .im-2011b {
  align-self: flex-end;
  margin-top: 1em;
  width: 75.46667vw;
}

.cont-2011 .im-2011c {
  margin: 1em auto 0;
  width: 76.93333vw;
}

@media all and (min-width: 668px) {
  .cont-2011 {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .cont-2011 .im-2011a {
    width: 285px;
  }
  .cont-2011 .im-2011b {
    width: 296px;
    margin-top: 0;
    align-self: auto;
  }
  .cont-2011 .im-2011c {
    width: 301px;
    margin-top: -70px;
  }
}

.cont-2012 {
  display: flex;
  flex-direction: column;
}

.cont-2012 .im-2012-primary {
  display: flex;
  justify-content: space-between;
}

.cont-2012 .im-2012a,
.cont-2012 .im-2012b {
  width: 48%;
}

.cont-2012 .im-2012c {
  width: 76.53333vw;
  margin-top: 2em;
  margin-bottom: 29.6vw;
  align-self: flex-end;
  position: relative;
}

.cont-2012 .im-2012c::after {
  content: '';
  position: absolute;
  left: -8.66667vw;
  bottom: -29.6vw;
  width: 32.26667vw;
  height: 35.2vw;
  background: url(../images/im-2012d.png) no-repeat 0 0;
  background-size: contain;
}

@media all and (min-width: 668px) {
  .cont-2012 {
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .cont-2012 .im-2012-primary {
    width: 389px;
  }
  .cont-2012 .im-2012a {
    width: 50%;
  }
  .cont-2012 .im-2012b {
    width: 50%;
    align-self: flex-end;
  }
  .cont-2012 .im-2012c {
    width: 378px;
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 94px;
    padding-bottom: 76px;
  }
  .cont-2012 .im-2012c::after {
    left: 0;
    bottom: 0;
    width: 144px;
    height: 155px;
  }
}

.cont-2013 {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cont-2013 .im-2013a {
  width: 66.8vw;
}

.cont-2013 .im-2013b {
  width: 73.6vw;
  margin-top: 1em;
}

@media all and (min-width: 668px) {
  .cont-2013 {
    flex-direction: row;
    justify-content: center;
  }
  .cont-2013 .im-2013a {
    width: 280px;
    margin-right: 40px;
  }
  .cont-2013 .im-2013b {
    width: 293px;
    margin-top: 0;
  }
}

.cont-2014 {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cont-2014 .im-2014a {
  width: 76.53333vw;
}

.cont-2014 .im-2014b {
  width: 79.06667vw;
  margin-top: 1em;
}

@media all and (min-width: 668px) {
  .cont-2014 {
    flex-direction: row;
    justify-content: center;
  }
  .cont-2014 .im-2014a {
    width: 298px;
    margin-right: 40px;
  }
  .cont-2014 .im-2014b {
    width: 313px;
    margin-top: 0;
  }
}

.cont-2015 {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cont-2015 .im-2015a {
  width: 76.8vw;
}

.cont-2015 .im-2015b {
  width: 79.06667vw;
  margin-top: 1em;
}

@media all and (min-width: 668px) {
  .cont-2015 {
    flex-direction: row;
    justify-content: center;
  }
  .cont-2015 .im-2015a {
    width: 291px;
    margin-right: 40px;
  }
  .cont-2015 .im-2015b {
    width: 300px;
    margin-top: 0;
  }
}

.cont-2016 {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cont-2016 .im-2016a {
  width: 76.66667vw;
}

.cont-2016 .im-2016b {
  width: 76vw;
  margin-top: 2em;
}

@media all and (min-width: 668px) {
  .cont-2016 {
    flex-direction: row;
    justify-content: center;
  }
  .cont-2016 .im-2016a {
    width: 264px;
    margin-right: 40px;
  }
  .cont-2016 .im-2016b {
    width: 426px;
    margin-top: 0;
  }
  .cont-2016 .im-2016b .img {
    width: 301px;
    margin: 1em auto 0;
  }
}

.cont-2018 {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cont-2018 .im-2018a {
  width: 73.2vw;
}

.cont-2018 .im-2018b {
  width: 72.66667vw;
  margin-top: 1em;
}

@media all and (min-width: 668px) {
  .cont-2018 {
    flex-direction: row;
    justify-content: center;
  }
  .cont-2018 .im-2018a {
    width: 290px;
    margin-right: 40px;
  }
  .cont-2018 .im-2018b {
    width: 288px;
    margin-top: 0;
  }
}

.cont-2020 {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cont-2020 .im-2020a {
  width: 74.53333vw;
  margin-right: 4vw;
}

.cont-2020 .im-2020b {
  width: 68.53333vw;
  margin-top: 1em;
  margin-left: 5.33333vw;
}

.cont-2020 .im-2020c {
  width: 75.06667vw;
  margin-top: 1em;
}

@media all and (min-width: 668px) {
  .cont-2020 {
    flex-direction: row;
    justify-content: center;
  }
  .cont-2020 .im-2020a {
    width: 258px;
    margin-right: 30px;
  }
  .cont-2020 .im-2020b {
    width: 238px;
    margin-top: 28px;
    margin-right: 30px;
    margin-left: 0;
  }
  .cont-2020 .im-2020c {
    width: 260px;
    margin-top: 28px;
  }
}

.cont-2021 {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cont-2021 .im-2021a {
  width: 73.73333vw;
}

.cont-2021 .im-2021b {
  width: 82vw;
  margin-top: 1em;
}

.cont-2021 .im-2021c {
  width: 74.26667vw;
  margin-top: 1em;
}

.cont-2021 .im-2021d {
  width: 77.73333vw;
  margin-top: 1em;
}

.cont-2021 .im-2021e {
  width: 79.73333vw;
  margin-top: 1em;
}

.cont-2021 .im-2021f {
  width: 77.86667vw;
  margin-top: 1em;
}

@media all and (min-width: 668px) {
  .cont-2021 {
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .cont-2021 .im-2021a {
    width: 259px;
  }
  .cont-2021 .im-2021b {
    width: 287px;
    margin-top: 0;
  }
  .cont-2021 .im-2021c {
    width: 260px;
    margin-top: 0;
  }
  .cont-2021 .im-2021d {
    width: 250px;
    margin-top: 68px;
  }
  .cont-2021 .im-2021e {
    width: 256px;
    margin-top: 48px;
  }
  .cont-2021 .im-2021f {
    width: 250px;
    margin-top: 42px;
  }
}

.message {
  background-color: #dbeaf0;
  padding: 12.53333vw 0 0;
  position: relative;
  z-index: 5;
}

.message::before {
  content: '';
  position: absolute;
  left: 0;
  top: -25.6vw;
  width: 100%;
  height: 25.6vw;
  background: url(../images/crown-message-top-sp.png) no-repeat 0 bottom;
  background-size: contain;
}

.message::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -25.6vw;
  width: 100%;
  height: 25.6vw;
  background: url(../images/crown-message-sp.png) no-repeat 0 0;
  background-size: contain;
}

@media all and (min-width: 668px) {
  .message {
    padding-top: 45px;
  }
  .message::before {
    top: -8.125vw;
    height: 8.125vw;
    background: url(../images/crown-message-top.png) no-repeat 0 bottom;
    background-size: contain;
  }
  .message::after {
    bottom: -8.125vw;
    height: 8.125vw;
    background: url(../images/crown-message.png) no-repeat 0 0;
    background-size: contain;
  }
}

.h-message {
  display: flex;
  width: 94.93333vw;
  margin: 0 auto 2em;
  justify-content: space-between;
  align-items: center;
}

.h-message-dog {
  width: 31.46667vw;
}

.h-message-cat {
  width: 25.2vw;
}

.h-message > span {
  width: 51.2vw;
  margin: 10.66667vw -6.4vw 0 -10.4vw;
  position: relative;
  z-index: 3;
}

@media all and (min-width: 668px) {
  .h-message {
    width: 718px;
  }
  .h-message-dog {
    width: 215px;
  }
  .h-message-cat {
    width: 173px;
  }
  .h-message > span {
    width: 321px;
    margin: 68px auto 0;
  }
}

.lead-message {
  width: 80.53333vw;
  margin: 0 auto 2em;
}

.bt-message {
  width: 77.6vw;
  margin: 0 auto;
  cursor: pointer;
}

.bt-message:hover img {
  opacity: .9;
}

@media all and (min-width: 668px) {
  .lead-message {
    width: auto;
  }
  .bt-message {
    width: 280px;
  }
}

.modal-message {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  display: none;
}

.modal-shade {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  cursor: pointer;
}

.modal-inner {
  position: absolute;
  left: 0;
  right: 0;
  top: 50px;
  margin: auto;
  width: 93.33333vw;
  height: calc(100% - 75px);
  overflow-y: scroll;
  background-color: #dcebf1;
  border-radius: 15px;
  padding: 6.4vw;
}

.bt-close-modal {
  position: absolute;
  right: 3.33333vw;
  top: 7px;
  width: 35px;
  height: 35px;
  cursor: pointer;
}

.bt-close-modal::before, .bt-close-modal::after {
  content: '';
  height: 0;
  width: 100%;
  border-top: 3px solid #fff;
  position: absolute;
  left: 0;
  top: 49%;
}

.bt-close-modal::before {
  transform: rotate(45deg);
}

.bt-close-modal::after {
  transform: rotate(-45deg);
}

@media all and (min-width: 668px) {
  .modal-inner {
    width: 900px;
    padding: 60px 60px 0;
  }
  .modal-contents {
    margin-bottom: 60px;
  }
  .bt-close-modal {
    right: 0;
    left: 0;
    margin: auto;
    transform: translateX(420px);
  }
}

.list-messages {
  margin-bottom: 2em;
}

.box-message {
  display: flex;
  flex-direction: column;
}

.box-message + .box-message {
  margin-top: 26.66667vw;
  position: relative;
}

.box-message + .box-message::before {
  content: '';
  position: absolute;
  left: 0;
  top: -17.33333vw;
  width: 100%;
  height: 0;
  padding-top: 9.2%;
  background: url(../images/ribbon-divider.png) no-repeat center center;
  background-size: contain;
}

.tx-message {
  margin-top: 2em;
  text-align: left;
}

.bt-close-modal-inline {
  width: 54.26667vw;
  margin: 2em auto 0;
  cursor: pointer;
}

@media all and (min-width: 668px) {
  .box-message {
    flex-direction: row;
    align-items: center;
  }
  .box-message.-reverse {
    flex-direction: row-reverse;
  }
  .box-message + .box-message {
    margin-top: 155px;
  }
  .box-message + .box-message::before {
    top: -114px;
    width: 760px;
    right: 0;
    margin: auto;
  }
  .ph-message {
    width: 384px;
    flex: 0 0 auto;
    margin-right: 30px;
  }
  .-reverse .ph-message {
    margin-right: 0;
    margin-left: 30px;
  }
  .bt-close-modal-inline {
    width: 257px;
  }
}

.campaigns {
  background: #fff url(../images/bg-thanks.png) repeat-y center top;
  position: relative;
  z-index: 2;
}

.h-campaigns {
  width: 97.6vw;
  margin: 0 auto 2em;
  background: url(../images/bg-h-campaigns.png) no-repeat 0 0;
  background-size: contain;
  padding: 17.33333vw 6.26667vw 0 8.93333vw;
}

.lead-campaigns {
  margin: 0 2em 2em;
}

@media all and (min-width: 668px) {
  .h-campaigns {
    width: 757px;
    background-position: right top;
    background-size: 733px auto;
    padding: 138px 0 0;
  }
}

.box-campaign {
  width: 89.33333vw;
  margin: 22.66667vw auto 0;
  position: relative;
  border-radius: 20px;
  padding: 22vw 6.66667vw 6.66667vw;
  text-align: left;
}

.box-campaign::before {
  content: '';
  position: absolute;
  left: 7px;
  top: 7px;
  width: calc(100% - 14px);
  height: calc(100% - 14px);
  border: 2px dotted #1d2080;
  border-radius: 18px;
}

.box-campaign.-april {
  background-color: #ffe2de;
}

.box-campaign.-may {
  background-color: #deeccb;
}
.box-campaign.-june {
  background-color: #def6fc;
}
.box-campaign.-july {
  background-color: #ffeccb;
}
.box-campaign.-august {
  background-color: #ffd7aa;
}
.box-campaign.-september {
  background-color: #E2E9FF;
}
.box-campaign.-october {
  background-color: #FAD7B8;
}
.box-campaign.-november {
  background-color: #ECD8A6;
}
.box-campaign.-december{
background-color: #b0d2e1;
}
@media all and (min-width: 668px) {
  .box-campaign {
    width: 900px;
    margin-top: 84px;
    padding: 80px 110px 65px;
  }
}

.h-month {
  position: absolute;
}

.h-month.-april {
  left: 7px;
  top: -17.86667vw;
  width: 49.06667vw;
  height: 34.13333vw;
}

.h-month.-may {
  right: 7px;
  top: -13.33333vw;
  width: 56.8vw;
  height: 27.86667vw;
}

.h-month.-june {
  left: 7px;
  top: -8.33333vw;
  width: 56.8vw;
  height: 27.86667vw;
}

.h-month.-july {
  right: 7px;
  top: -13.33333vw;
  width: 56.8vw;
  height: 27.86667vw;
}

.h-month.-august {
  left: -14px;
  top: -15.33333vw;
  width: 56.8vw;
  height: 27.86667vw;
}
.h-month.-september {
  right: 7px;
  top: -13.33333vw;
  width: 56.8vw;
  height: 27.86667vw;
}
.h-month.-october {
  left: -14px;
  top: -15.33333vw;
  width: 56.8vw;
  height: 27.86667vw
}
.h-month.-november {
  right: 7px;
  top: -13.33333vw;
  width: 56.8vw;
  height: 27.86667vw;
}
.h-month.-december {
  left: -14px;
  top: -15.33333vw;
  width: 56.8vw;
  height: 27.86667vw
}

.catch-month {
  font-size: 4.93333vw;
  font-weight: bold;
  color: #1d2080;
  line-height: 1.4;
  margin-bottom: .5em;
}

.lead-month {
  margin-bottom: 1em;
}

.note {
  font-size: 84%;
  margin-bottom: 3em;
}
.note-white {
  font-size: 84%;
  margin-bottom: 1em;
}

@media all and (min-width: 668px) {
  .h-month.-april {
    left: 28px;
    top: -66px;
    width: 200px;
    height: 145px;
  }
  .h-month.-may {
    right: 40px;
    top: -41px;
    width: 214px;
    height: 105px;
  }
  .h-month.-june {
    left: 28px;
    top: -41px;
    width: 265px;
    height: 130px;
  }
  .h-month.-july {
    right: 40px;
    top: -41px;
    width: 234px;
    height: 115px;
  }
  .h-month.-august {
    left: 28px;
    top: -60px;
    width: 265px;
    height: 130px;
  }
  .h-month.-september {
    right: 40px;
    top: -41px;
    width: 234px;
    height: 115px;
  }
 .h-month.-october {
    left: 28px;
    top: -45px;
    width: 230px;
    height: 130px;
  }
  .h-month.-november {
    right: 40px;
    top: -41px;
    width: 234px;
    height: 115px;
  }
.h-month.-december {
    left: 28px;
    top: -45px;
    width: 230px;
    height: 130px;
  }
	
  .catch-month {
    font-size: 26px;
    text-align: center;
    margin-left: -50px;
    margin-right: -50px;
    margin-bottom: 1em;
  }
}

.presents {
  margin-top: 2em;
  display: flex;
  flex-direction: column;
}

.presents > li + li {
  margin-top: 2em;
}

.h-present {
  text-align: center;
  margin-bottom: 1em;
}

.present-set {
  display: flex;
  justify-content: center;
}

.present-set > li {
  width: 30%;
}

.present-set .im-present {
  padding-left: 18%;
  padding-right: 18%;
}

.im-present {
  text-align: center;
      margin: 0 auto 1em;
    width: 70%;
}

.tl-present {
  text-align: center;
  font-weight: bold;
}
.tl-present {
  text-align: center;
  font-weight: bold;
}
.box-campaign.-july ul.presents .im-present img{
	width:60%;
}


.bt-apply {
  width: 58.93333vw;
  margin: 2em auto 0;
  position: relative;
  z-index: 2;
}

@media all and (min-width: 668px) {
  .presents {
    flex-direction: row;
    justify-content: center;
  }
  .presents > li {
    width: 30%;
  }
  .presents > li.-nurmy {
  width:40%;
} 

  li.novpre {
  width:40%;
} 
  li.novpre > .im-present {
  width:70%;
  margin : 0 auto;
}
  li.decpre {
  width:45%;
  padding-right: 30px;
  padding-left: 30px;
} 

  li.decpre > .im-present {
  width:70%;
  margin : 0 auto;
}
	
	
  .presents > li + li {
    margin-top: 0;
  }
  .bt-apply {
    width: 280px;
  }
}

.limit{
        margin: 1em 0;
    line-height: 1.3;
/*    font-weight: bold;*/
    text-align: center;
}
.cp_end{
    color: red;
        margin: 1em 0;
    line-height: 1.3;
/*    font-weight: bold;*/
    text-align: center;
}


.box-on-going {
  margin-top: 16vw;
  background-color: #fff;
  border-radius: 12px;
  padding: 2em 1em 1em;
  position: relative;
}

.bd_dot{
  border-bottom:dotted 2px #c05d59;
    margin:0 auto 20px;
        text-align: center;
}
.bd_dot img{
  width:100%;
    padding:15px 0;
}
@media all and (min-width: 668px) {
.bd_dot img{
  width:80%;
}
}


.h-on-going {
  position: absolute;
  width: 51.73333vw;
  margin: 0 auto;
  top: -7.46667vw;
  left: 0;
  right: 0;
}

.link-on-going {
  text-align: center;
}

.link-on-going a {
  color: #404260;
}

.link-on-going a:hover {
  color: #4347d7;
}

.note-on-going {
  font-size: 84%;
  margin-top: 1em;
  text-align: center;
}

@media all and (min-width: 668px) {
  .box-on-going {
    width: 408px;
    margin: 80px auto 0;
  }
  .h-on-going {
    width: 195px;
    top: -28px;
  }
}

.coming-soon {
  width: 55.73333vw;
  margin: 2em auto 0;
}

@media all and (min-width: 668px) {
  .coming-soon {
    width: 210px;
  }
	.box-campaign.-november ul li:first-of-type {
	margin-right: 30px;}
}


.pcry {
  background-color: #fcefdb;
  padding: 12.53333vw 0 0;
  position: relative;
  z-index: 5;
}

.pcry::before {
  content: '';
  position: absolute;
  left: 0;
  top: -25.6vw;
  width: 100%;
  height: 25.6vw;
  background: url(../images/crown-pcry-top-sp.png) no-repeat 0 bottom;
  background-size: contain;
}

.pcry::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -25.6vw;
  width: 100%;
  height: 25.6vw;
  background: url(../images/crown-pcry-sp.png) no-repeat 0 0;
  background-size: contain;
}

@media all and (min-width: 668px) {
  .pcry {
    padding-top: 45px;
  }
  .pcry::before {
    top: -8.125vw;
    height: 8.125vw;
    background: url(../images/crown-pcry-top.png) no-repeat 0 bottom;
    background-size: contain;
  }
  .pcry::after {
    bottom: -8.125vw;
    height: 8.125vw;
    background: url(../images/crown-pcry.png) no-repeat 0 0;
    background-size: contain;
  }
}


.box-movie {
  width: 89.33333vw;
  margin: 0 auto 2em;
  background-color: #fff;
  border-radius: 20px;
  padding: 5.33333vw;
  text-align: left;
}

.h-movie {
  font-size: 4.66667vw;
  font-weight: bold;
  color: #1d2080;
  position: relative;
  background: url(../images/bg-dot.svg) repeat-x 0 bottom;
  background-size: 11px 4px;
  padding-bottom: 8px;
  text-align: left;
  margin-bottom: 1em;
}

.h-movie::before {
  content: '';
  width: 6.66667vw;
  height: 4.8vw;
  display: inline-block;
  background: url(../images/ic-movie.png) no-repeat center center;
  background-size: contain;
  margin-right: .5em;
  position: relative;
  top: 2px;
}

.lead-movie,
.tx-movie {
  margin-bottom: 1em;
}

.movie-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  margin-bottom: 1em;
}

.movie-container > iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.bt-movie {
  width: 57.06667vw;
  margin: 1em auto 0;
}

@media all and (min-width: 668px) {
  .box-movie {
    width: 900px;
    padding: 40px;
  margin: 0 auto 2em;
  }
  .h-movie {
    font-size: 23px;
  }
  .h-movie::before {
    width: 33px;
    height: 24px;
  }
  .contents-movie {
    padding-right: 515px;
    position: relative;
    min-height: 273px;
  }
  .movie-container {
    position: absolute;
    right: 0;
    top: 0;
    width: 485px;
    padding-top: 273px;
  }
  .bt-movie {
    width: 217px;
    margin-top: 2em;
  }
}

.box-club {
  width: 89.33333vw;
  margin: 2em auto;
  background: #fff url(../images/bg-club-sp.jpg) no-repeat left top;
  background-size: contain;
  border-radius: 20px;
  padding: 2.66667vw 5.33333vw 5.33333vw;
}

.h-club {
  width: 67.2vw;
  margin: 0 auto;
}

.list-club {
  text-align: left;
}

.list-club > li {
  position: relative;
  padding-left: 1em;
  font-weight: bold;
}

.list-club > li::before {
  content: '・';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}

.bt-detail {
  width: 57.06667vw;
  margin: 1em auto 0;
}

@media all and (min-width: 668px) {
  .box-club {
    width: 900px;
    background-image: url(../images/bg-club.jpg);
    padding: 20px 250px 40px;
  }
  .h-club {
    width: 363px;
  }
  .bt-detail {
    width: 217px;
    margin-top: 2em;
  }
}

.banners {
  width: 77.6vw;
  margin: 3em auto 0;
  display: flex;
  flex-direction: column;
}

.banners > li {
  text-align: left;
}

.banners > li a {
  color: #3d3a39;
  text-decoration: none;
}

.banners > li span {
  display: block;
}

.banners > li + li {
  margin-top: 2em;
}

.banners .caption {
  margin-top: .25em;
  font-size: 80%;
  line-height: 1.4;
}

@media all and (min-width: 668px) {
  .banners {
    width: 900px;
    flex-direction: row;
    justify-content: space-between;
  }
  .banners > li {
    width: 280px;
  }
  .banners > li + li {
    margin-top: 0;
  }
}

/* INVIEW */
/* FOOTER */
.footer {
  text-align: center;
  font-size: 3.46667vw;
  padding-bottom: 10vw;
}

@media all and (min-width: 668px) {
  .footer {
    font-size: 12px;
    padding-bottom: 40px;
  }
}

/*--------------------------------------------------------------
# Responsive Bug Fixes
--------------------------------------------------------------*/
/*
 *******************
 *  MEDIA QUERIES  *
 *******************
*/
/* EXTRA LARGE DISPLAY */
/* MEDIA FOR NOTEBOOK DISPLAY */
/* MEDIA FOR TABLET DISPLAY */
/* MEDIA FOR MEDIUM MOBILE DISPLAY */
/* MEDIA FOR LITTLE MOBILE DISPLAY */

/*# sourceMappingURL=style.css.map */