@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@500;700&display=swap");
/*-----------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
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, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }
  q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none; }

a img {
  border: none; }

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

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*-------------------------------------------------------------
アニメーション
-------------------------------------------------------------*/
.fade {
  animation-fill-mode: both; }

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(60px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
@keyframes fadeZoom {
  0% {
    opacity: 0;
    transform: scale(0.7); }
  60% {
    opacity: 1;
    transform: scale(1.05); }
  70% {
    opacity: 1;
    transform: scale(0.9); }
  80% {
    opacity: 1;
    transform: scale(1.02); }
  90% {
    opacity: 1;
    transform: scale(0.96); }
  100% {
    opacity: 1;
    transform: scale(1); } }
@keyframes liner {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0; }
  30% {
    transform: scale(1, 1);
    transform-origin: 0 0; }
  70% {
    transform: scale(1, 1);
    transform-origin: 0 100%; }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%; } }
/* --------------------------------------------------
 *    ヘッダー・フッター
-------------------------------------------------- */
.header {
  width: calc(100% - 4rem);
  z-index: 9;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5rem 2rem;
  position: relative; }
  .header .header-logo {
    max-width: 12rem;
    height: auto;
    width: 100%; }
    .header .header-logo img {
      width: 100%;
      height: auto; }
  .header .sec-outer {
    flex-grow: 1; }
  .header .box-contact {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 0;
    max-width: 100%;
    text-align: right;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2rem;
    margin: auto; }
    .header .box-contact .btn {
      width: 3.4rem;
      height: 3.4rem;
      padding: 0;
      margin: 0 0 0 0.425rem; }
      .header .box-contact .btn:before {
        content: "";
        display: inline-block;
        width: 1.6rem;
        height: 1.6rem;
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto; }
      .header .box-contact .btn span {
        display: none; }
      .header .box-contact .btn.shop:before {
        background-image: url(../img/common/icon-cart.png); }
      .header .box-contact .btn.shop:hover:before {
        background-image: url(../img/common/icon-cart_over.png); }
      .header .box-contact .btn.contact:before {
        width: 1.9rem;
        background-image: url(../img/common/icon-contact.png); }
      .header .box-contact .btn.contact:hover:before {
        background-image: url(../img/common/icon-contact_over.png); }
    .header .box-contact .sns {
      display: none; }
    .header .box-contact #nav-open {
      margin: 0 0 0 1.5rem; }
  @media (min-width: 376px) {
    .header .header-logo {
      max-width: 13.8rem; }
    .header .box-contact .btn {
      width: 3.9rem;
      height: 3.9rem;
      margin: 0 0 0 1rem; }
      .header .box-contact .btn:before {
        width: 2rem;
        height: 2rem; }
      .header .box-contact .btn.contact:before {
        width: 2.4rem; } }
  @media (min-width: 470px) {
    .header .box-contact .sns {
      display: block;
      margin-left: 1rem;
      width: 3.9rem;
      flex-shrink: 0; } }
  @media (min-width: 1270px) {
    .header {
      width: calc(100% - 4rem);
      height: auto;
      padding: calc(4rem / 2); }
      .header .header-logo {
        max-width: 17.8rem;
        width: 50%;
        margin-right: 2rem; }
      .header .box-contact {
        position: absolute;
        right: calc(4rem / 2); }
        .header .box-contact .btn {
          width: inherit;
          height: inherit;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 1.4rem;
          padding: 1.2rem 2.4rem;
          margin: 0;
          text-align: center; }
          .header .box-contact .btn:before {
            content: none; }
          .header .box-contact .btn span {
            display: block;
            position: relative;
            padding-right: 2.8rem;
            font-weight: bold; }
            .header .box-contact .btn span:after {
              content: "";
              display: inline-block;
              width: 2.4rem;
              height: 2.4rem;
              background-position: center;
              background-repeat: no-repeat;
              background-size: contain;
              margin-left: 0.5rem;
              position: absolute;
              top: 0;
              bottom: 0;
              right: 0;
              margin: auto; }
          .header .box-contact .btn + .btn {
            margin-left: 2rem; }
          .header .box-contact .btn.shop span:after {
            background-image: url(../img/common/icon-cart.png); }
          .header .box-contact .btn.shop:hover span:after {
            background-image: url(../img/common/icon-cart_over.png); }
          .header .box-contact .btn.contact span:after {
            width: 2.5rem;
            background-image: url(../img/common/icon-contact.png); }
          .header .box-contact .btn.contact:hover span:after {
            background-image: url(../img/common/icon-contact_over.png); }
        .header .box-contact .sns {
          display: block;
          margin-left: 2rem;
          width: 4.2rem;
          flex-shrink: 0; }
      .header #nav-open {
        display: none;
        position: absolute; } }

.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%; }

#nav-drawer {
  position: absolute;
  width: 100%;
  top: 0;
  right: 0; }
  @media (min-width: 769px) {
    #nav-drawer {
      position: static; } }

/*チェックボックス等は非表示に*/
.nav-unshown {
  display: none; }

/*アイコンのスペース*/
#nav-open,
#nav-close-btn {
  display: inline-block;
  width: 3.3rem;
  height: 2.7rem;
  vertical-align: middle;
  cursor: pointer;
  /*ハンバーガーアイコンをCSSだけで表現*/
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2rem;
  margin: auto; }
  #nav-open span,
  #nav-open span:before,
  #nav-open span:after,
  #nav-close-btn span,
  #nav-close-btn span:before,
  #nav-close-btn span:after {
    position: absolute;
    height: 0.2rem;
    /*線の太さ*/
    width: 3.3rem;
    /*長さ*/
    border-radius: 0;
    background: #000000;
    display: block;
    content: '';
    cursor: pointer; }
  #nav-open span:before,
  #nav-close-btn span:before {
    bottom: -1.2rem; }
  #nav-open span:after,
  #nav-close-btn span:after {
    bottom: -2.4rem; }
  @media (min-width: 769px) {
    #nav-open,
    #nav-close-btn {
      display: none; } }

/*閉じる用の薄黒カバー*/
#nav-close {
  display: none;
  /*はじめは隠しておく*/
  position: fixed;
  z-index: 100;
  top: 0;
  /*全体に広がるように*/
  right: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0.8;
  transition: .3s ease-in-out; }

#nav-close-btn {
  display: none;
  position: absolute;
  top: 2rem;
  right: 2rem;
  text-align: center;
  z-index: 99999;
  margin: 0; }
  #nav-close-btn span {
    bottom: 1.8rem;
    transform: rotate(45deg);
    background-color: #fff; }
    #nav-close-btn span:before {
      content: none; }
    #nav-close-btn span:after {
      background-color: #fff;
      bottom: 0rem;
      transform: rotate(90deg); }
  @media (min-width: 769px) {
    #nav-close-btn {
      display: none; } }

/*中身*/
#nav-content {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
  /*最前面に*/
  width: 100%;
  /*右側に隙間を作る*/
  max-width: 100%;
  /*最大幅*/
  height: 100%;
  max-height: 100%;
  background: #42AFD7;
  /*背景色*/
  transition: .6s ease-in-out;
  /*滑らかに表示*/
  transform: translateY(-200%);
  /*左に隠しておく*/
  padding: 3em 0;
  box-sizing: border-box; }
  @media (orientation: portrait) and (min-height: 600px) {
    #nav-content {
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 0; } }
  @media (min-width: 769px) {
    #nav-content {
      display: block;
      position: static;
      max-width: none;
      max-height: none;
      background-color: transparent;
      transform: translateY(0);
      padding: 0;
      margin-top: 0; } }
  #nav-content .box-btn {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 2rem - 5rem);
    margin: 0 -1rem;
    padding: 0 2.5rem; }
    #nav-content .box-btn .item {
      width: calc(100% / 2 - 2rem);
      padding: 0.5rem 1rem; }
    #nav-content .box-btn a {
      background-color: #fff;
      font-size: 1.2rem;
      color: #bf3602;
      text-align: center;
      margin: 0;
      padding: 1rem; }
      #nav-content .box-btn a.insta {
        padding: 0.8rem 1rem; }
        #nav-content .box-btn a.insta span:before {
          width: 1.4rem;
          height: 1.6rem;
          background-image: url(../../img/common/icon-insta.png); }
        #nav-content .box-btn a.insta:after {
          content: none; }
    @media (min-width: 820px) {
      #nav-content .box-btn {
        display: none; } }
  #nav-content .head-menu {
    display: block; }
    #nav-content .head-menu .menu-item {
      width: calc(100% - 5rem);
      margin: 0 2.5rem;
      text-align: center;
      position: relative; }
      #nav-content .head-menu .menu-item > a {
        text-decoration: none;
        color: #fff;
        padding: 1.1rem 0;
        font-size: 1.8rem;
        display: inline-block;
        position: relative; }
      #nav-content .head-menu .menu-item input {
        display: none; }
        #nav-content .head-menu .menu-item input:checked + label + .ac-cont {
          max-height: 9999px;
          transition: 1s ease-in-out; }
        #nav-content .head-menu .menu-item input:checked + label:before {
          transform: rotate(-180deg);
          transition: .3s ease-in-out; }
        #nav-content .head-menu .menu-item input:checked + label:after {
          transform: rotate(360deg);
          transition: .3s ease-in-out; }
      #nav-content .head-menu .menu-item label {
        display: block;
        padding: 1.6rem;
        position: absolute;
        top: 0;
        right: 0;
        margin: 0; }
        #nav-content .head-menu .menu-item label span {
          display: block;
          width: 1.4rem;
          height: 1.4rem;
          cursor: pointer;
          padding: 0;
          box-sizing: border-box;
          color: #fff;
          border: 0.1rem solid #fff;
          border-radius: 999em; }
          #nav-content .head-menu .menu-item label span:before {
            content: "";
            display: inline-block;
            width: 0.6rem;
            height: 0.1rem;
            background-color: #fff;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            margin: auto;
            transition: .3s ease-in-out; }
          #nav-content .head-menu .menu-item label span:after {
            content: "";
            display: inline-block;
            width: 0.6rem;
            height: 0.1rem;
            background-color: #fff;
            position: absolute;
            transform: rotate(90deg);
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            margin: auto;
            transition: .3s ease-in-out; }
        @media (min-width: 820px) {
          #nav-content .head-menu .menu-item label {
            display: none; } }
      #nav-content .head-menu .menu-item .ac-cont {
        max-height: 0;
        overflow: hidden;
        background: #ffe2e2;
        margin: 0 -2.5rem -0.1rem;
        padding: 0 2.5rem;
        box-sizing: border-box; }
      #nav-content .head-menu .menu-item .menu-item-sub {
        border-bottom: 1px solid #f57171; }
        #nav-content .head-menu .menu-item .menu-item-sub:last-child {
          border: none; }
        #nav-content .head-menu .menu-item .menu-item-sub a {
          display: block;
          padding: 1.8rem 0;
          font-size: 1.2rem;
          color: #000000;
          text-decoration: none; }
    @media (min-width: 769px) {
      #nav-content .head-menu {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 2rem 0;
        border-radius: 1rem;
        background-color: #42AFD7;
        margin: -5.5rem calc(4rem / 2) 0; }
        #nav-content .head-menu .menu-item {
          width: auto;
          margin: 0; }
          #nav-content .head-menu .menu-item:before {
            content: "";
            display: inline-block;
            width: 0.1rem;
            height: 2.6rem;
            background-color: #fff;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            margin: auto; }
          #nav-content .head-menu .menu-item:first-child:before {
            content: none; }
          #nav-content .head-menu .menu-item > a {
            display: block;
            font-family: "Crimson Text", sans-serif;
            font-size: 1.5rem;
            padding: 0 2rem; }
            #nav-content .head-menu .menu-item > a:after {
              position: absolute;
              bottom: -1rem;
              left: 50%;
              content: '';
              width: 0;
              height: 0.1rem;
              background-color: #fff;
              transition: .3s;
              transform: translateX(-50%); }
            #nav-content .head-menu .menu-item > a:hover:after {
              width: 30%; } }
    @media (min-width: 940px) {
      #nav-content .head-menu {
        justify-content: space-around;
        padding: 2.6rem 2rem; }
        #nav-content .head-menu .menu-item {
          width: calc(100% / 5);
          border: none;
          line-height: 1;
          position: relative; }
          #nav-content .head-menu .menu-item > a {
            padding: 0 1rem; } }
    @media (min-width: 1152px) {
      #nav-content .head-menu {
        max-width: calc(110rem - 4rem);
        margin: -5.5rem auto 0; } }

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close-btn {
  display: block; }

#nav-input:checked ~ #nav-close {
  display: block;
  margin: 0;
  /*カバーを表示*/ }

#nav-input:checked ~ #nav-content {
  transform: translateY(0);
  /*中身を表示*/
  overflow: auto; }

/* --------------------------------------------------
 *    フッター
-------------------------------------------------- */
.footer {
  background-color: #efefee;
  padding: 9.3rem 0 0;
  margin-top: 6rem;
  overflow: hidden;
  position: relative; }
  .footer .ft-cont {
    position: relative; }
  .footer .area-sns {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center; }
    .footer .area-sns .sns {
      display: block;
      width: 5rem;
      margin: 0 1rem; }
  .footer .grid-set .grid-left {
    padding-top: 0; }
  .footer .grid-set .grid-right {
    padding: 1.9rem 4.5rem;
    width: calc(100% - 9rem); }
  .footer .logo {
    max-width: 14.9rem;
    margin: 0 auto 1.9rem; }
  .footer .foot-menu {
    display: flex;
    flex-wrap: wrap; }
    .footer .foot-menu .menu-item {
      width: calc(100% / 2 );
      border-bottom: 0.1rem solid #cccccc;
      box-sizing: border-box; }
      .footer .foot-menu .menu-item:nth-child(2n) {
        border-left: 0.1rem solid #cccccc; }
      .footer .foot-menu .menu-item a {
        display: block;
        padding: 1rem;
        text-align: center;
        font-size: 1.4rem;
        text-decoration: none; }
        .footer .foot-menu .menu-item a.disabled {
          pointer-events: none;
          color: #ccc !important; }
    .footer .foot-menu .foot-menu-sub {
      display: none; }
    .footer .foot-menu:first-child .menu-item:nth-child(2n+1) {
      border-left: 0.1rem solid #cccccc; }
  .footer .sec-bnr {
    text-align: center; }
    .footer .sec-bnr img {
      max-width: 20rem; }
  .footer .copyright {
    padding: 1.9rem 0;
    background-color: #fff; }
    .footer .copyright p {
      text-align: center;
      font-size: 1.3rem;
      margin: 0; }
  .footer:before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 9.3rem;
    background-color: #fff;
    background-image: url(../img/common/bg-foot.png);
    background-position: top center;
    background-repeat: repeat-x;
    background-size: auto 100%;
    position: absolute;
    top: 0; }
  @media (min-width: 769px) {
    .footer {
      padding: 16.8rem 0 0;
      margin-top: 6rem; }
      .page .footer {
        border-top: 0.1rem solid #bf3602;
        margin-top: 5rem; }
      .footer .ft-cont {
        width: calc(100% - 4rem * 2);
        max-width: 110rem;
        padding: 0 4rem;
        margin: auto; }
      .footer .grid-set {
        justify-content: space-between;
        padding-top: 6rem;
        padding-bottom: 6rem; }
        .footer .grid-set .grid-left {
          display: flex;
          width: 66.82%;
          padding: 0 0 0 calc(4rem / 2); }
          .footer .grid-set .grid-left.pc {
            display: flex !important; }
        .footer .grid-set .grid-right {
          padding: 0;
          width: 33.18%; }
      .footer .logo {
        max-width: 18.2rem;
        margin: 0; }
      .footer .foot-menu {
        display: block;
        width: 33%; }
        .footer .foot-menu .menu-item {
          display: block;
          border: none;
          width: 100%; }
          .footer .foot-menu .menu-item:nth-child(2n) {
            border: none; }
          .footer .foot-menu .menu-item:first-child:before {
            content: none; }
          .footer .foot-menu .menu-item a {
            display: inline-block;
            padding: 0.7rem 0;
            text-align: left;
            color: #000000;
            text-decoration: none; }
            .footer .foot-menu .menu-item a:hover {
              text-decoration: underline; }
        .footer .foot-menu .foot-menu-sub {
          display: block;
          padding-left: 1em; }
          .footer .foot-menu .foot-menu-sub .menu-item-sub {
            position: relative;
            display: flex;
            align-items: center; }
            .footer .foot-menu .foot-menu-sub .menu-item-sub:before {
              content: "・";
              position: absolute;
              left: -1em; }
        .footer .foot-menu:first-child .menu-item:first-child {
          width: auto; }
        .footer .foot-menu:first-child .menu-item:nth-child(2n+1) {
          border-left: none; }
      .footer .sec-bnr {
        display: inline-block;
        width: 100%;
        margin-top: 2rem;
        text-align: left; }
      .footer .copyright {
        padding: 3rem 0; }
        .footer .copyright p {
          font-size: 1.4rem; }
      .footer:before {
        height: 16.8rem; } }

.pagetop {
  display: none;
  position: fixed;
  bottom: -999em; }
  @media (min-width: 769px) {
    .pagetop {
      display: none;
      width: 4.2rem;
      height: 4.2rem;
      position: fixed;
      bottom: 27rem;
      right: 2rem;
      left: auto;
      margin: 0; }
      .pagetop a {
        display: block;
        width: 100%;
        height: 100%;
        background-image: url(../img/common/btn-pagetop.png);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        transition: all 0.3s ease-in-out; }
        .pagetop a:hover {
          background-image: url(../img/common/btn-pagetop_over.png); } }

/* --------------------------------------------------
 *    ボタン
-------------------------------------------------- */
.mod-btn,
.sec-btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 1.7rem 0 0; }
  @media (min-width: 769px) {
    .mod-btn,
    .sec-btn {
      flex-direction: row;
      flex-wrap: wrap;
      margin: 2.7rem 0 0; } }

input[type="submit"],
.btn {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  appearance: none;
  text-decoration: none;
  display: inline-block;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1.5rem;
  color: #fff;
  background-color: #bf3602;
  padding: 1.0rem 3rem;
  margin: 1rem;
  text-align: center;
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
  border: 0.2rem solid #bf3602;
  border-radius: 99em;
  z-index: 0; }
  input[type="submit"].sub,
  .btn.sub {
    background-color: #009944;
    border: 0.2rem solid #009944; }
  input[type="submit"].sub2,
  .btn.sub2 {
    background-color: #42AFD7;
    border: 0.2rem solid #42AFD7; }
  input[type="submit"].back,
  .btn.back {
    background-color: #999;
    color: #fff;
    text-align: right;
    padding: 8.5rem 2.5rem;
    border: 0.2rem solid #999; }
  input[type="submit"].small,
  .btn.small {
    font-size: 1.3rem;
    width: auto;
    max-width: none;
    padding: 1rem 4.5rem;
    text-align: center; }
    input[type="submit"].small:before,
    .btn.small:before {
      content: none; }
  input[type="submit"].big,
  .btn.big {
    background-color: #009944;
    padding: 1.5rem 3.5rem; }
  input[type="submit"].shop,
  .btn.shop {
    background-color: #e60012;
    border-color: #e60012; }
  @media (min-width: 769px) {
    input[type="submit"],
    .btn {
      font-size: 1.6rem;
      max-width: 34rem;
      padding: 1.3rem 6rem;
      transition: all 0.3s ease-in-out; }
      input[type="submit"]:hover,
      .btn:hover {
        background-color: #fff;
        color: #bf3602; }
      input[type="submit"].sub:hover,
      .btn.sub:hover {
        color: #009944; }
      input[type="submit"].sub2:hover,
      .btn.sub2:hover {
        color: #42AFD7; }
      input[type="submit"].back,
      .btn.back {
        padding: 1.3rem 2.5rem; }
        input[type="submit"].back:hover,
        .btn.back:hover {
          color: #999; }
      input[type="submit"].small,
      .btn.small {
        font-size: 1.4rem; }
      input[type="submit"].big,
      .btn.big {
        padding: 1.3rem 2.5rem; } }
  input[type="submit"].fat,
  .btn.fat {
    padding: 3rem; }

input[type="submit"] {
  text-align: center;
  line-height: 1.2; }

/* --------------------------------------------------
 *    グリッド
-------------------------------------------------- */
.grid-set {
  display: flex;
  flex-direction: column;
  width: calc(100% + 4rem);
  margin: 0 calc(-4rem / 2); }
  .grid-set > [class^="grid"] {
    width: calc(100% - 4rem);
    padding: calc(4rem / 2) calc(4rem / 2); }
    .grid-set > [class^="grid"] p:first-child, .grid-set > [class^="grid"] [class^="ttl-"]:first-child {
      margin-top: 0; }
  @media (min-width: 769px) {
    .grid-set.reverse {
      flex-flow: row-reverse; } }
  .grid-set.wrap {
    flex-flow: wrap; }
  @media (min-width: 769px) {
    .grid-set {
      flex-direction: row;
      width: calc(100% + 4rem);
      margin: 0 calc(-4rem / 2); }
      .grid-set > [class^="grid"] {
        width: calc(100% - 4rem);
        padding: calc(4rem / 2) calc(4rem / 2); }
      .grid-set > .grid-2 {
        width: calc(100% / 2 - 4rem); }
      .grid-set > .grid-3_1 {
        width: calc(100% / 3 - 4rem); }
      .grid-set > .grid-main {
        width: calc(61.22% - 4rem); }
      .grid-set > .grid-sub {
        width: calc(38.77% - 4rem); } }

.fbm {
  display: block !important; }
  @media (min-width: 641px) {
    .fbm {
      display: none !important; } }

.fb {
  display: none !important; }
  @media (min-width: 641px) {
    .fb {
      display: block !important; } }

html {
  font-size: 10px;
  overflow: auto;
  height: 100%; }

body {
  color: #000000;
  position: relative;
  animation: fadeIn 2s ease 0s 1 normal; }
  body.scllfix {
    position: fixed;
    width: 100%;
    height: 100%; }

img {
  width: auto;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  backface-visibility: hidden; }

/* --------------------------------------------------
 *    レイアウト
-------------------------------------------------- */
main {
  overflow: hidden; }
  main.list {
    margin: 0; }

.container {
  width: calc(100% - 4rem);
  padding: 0 2rem;
  margin: auto; }
  @media (min-width: 769px) {
    .container {
      width: calc(100% - 4rem );
      max-width: 102rem;
      padding: 0 calc(4rem / 2); }
      .container-wide {
        max-width: 110rem; } }
  .container-wide {
    width: calc(100% - 8rem);
    padding: 2rem;
    margin: auto; }
    @media (min-width: 1152px) {
      .container-wide {
        max-width: calc(110rem - 8rem);
        width: calc(100% - 8rem);
        padding: 7rem 4rem;
        margin: auto; } }

[class^="area-"] {
  padding: 4rem 0; }
  [class^="area-"] p:first-child, [class^="area-"] [class^="ttl-"]:first-child {
    margin-top: 0; }
  @media (min-width: 769px) {
    [class^="area-"] {
      padding: 8.0rem 0; } }

[class^="sec-"] {
  margin: 4rem 0 0; }
  @media (min-width: 769px) {
    [class^="sec-"] {
      margin: 7rem 0 0; } }

/* --------------------------------------------------
 *    コンテンツ
-------------------------------------------------- */
.list {
  margin: 1.5rem 0; }
  .list li {
    line-height: 1.8;
    padding-left: 1em;
    position: relative; }
    .list li:before {
      content: "・";
      position: absolute;
      left: 0;
      color: #000000; }

.num-list {
  list-style: none;
  counter-reset: ol_li; }
  .num-list li {
    line-height: 1.8;
    padding-left: 1.5rem;
    position: relative; }
    .num-list li:before {
      margin-right: 0.6rem;
      counter-increment: ol_li;
      content: counter(ol_li);
      color: #bf3602;
      position: absolute;
      left: 0; }

/* キャンペーン用変数 */
.pc {
  display: block !important; }

.sp {
  display: none !important; }

@media only screen and (max-width: 768px) {
  .pc {
    display: none !important; }

  .sp {
    display: block !important; } }
main {
  background-color: #edeadc; }

h2 {
  text-align: center; }

.center {
  text-align: center; }

select {
  appearance: none;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEyIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+IDxwYXRoIGQ9Ik0xMC4yNzU2IDBMNi4zNDMxMiAzLjkzMjVMMi40MTAyMiAwTDAuODc2NDY1IDEuNTMzNzVMNi4zNDMxMiA3TDExLjgwOSAxLjUzMzc1TDEwLjI3NTYgMFoiIGZpbGw9IiM0QjRCNEIiLz4gPC9zdmc+");
  background-repeat: no-repeat;
  background-size: 13px auto;
  /* 画像のサイズ（幅 高さ）*/
  background-position: right 12px center;
  /* 画像の位置 */
  background-color: #fff;
  color: #000; }

.sec-btn {
  display: flex;
  flex-direction: column;
  padding: 12rem 0 0;
  justify-content: center;
  opacity: 0.5; }
  .sec-btn .mod-btn {
    font-size: 2.8rem;
    max-width: 50.7rem;
    margin-top: 10rem;
    position: relative;
    pointer-events: none; }
    .sec-btn .mod-btn:hover {
      pointer-events: none !important; }
    .sec-btn .mod-btn.post {
      pointer-events: none; }
      .sec-btn .mod-btn.post:hover {
        pointer-events: none !important;
        box-shadow: 0 10px 0 #f24c21; }
    @media (min-width: 769px) {
      .sec-btn .mod-btn {
        font-size: 3.4rem; } }

.btn-end {
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  color: #ff0000;
  margin-top: 4rem; }
  @media (min-width: 769px) {
    .btn-end {
      font-size: 2.2rem; } }

.sec-fav {
  margin: 6rem auto 0;
  max-width: 87.7rem; }
  @media (min-width: 769px) {
    .sec-fav {
      margin: 12rem auto 0; } }

.fade {
  opacity: 0;
  transition: all 0.7s; }
  .fade.fadeUp {
    opacity: 1; }
    .fade.fadeUp.fade-in {
      animation: fadeup forwards 1s; }

@keyframes fadeup {
  0% {
    transform: translateY(5rem);
    opacity: 0; }
  100% {
    transform: translateY(0);
    opacity: 1; } }
@keyframes milko_jump {
  0% {
    transform: translateY(0); }
  5% {
    transform: translateY(-10px); }
  10% {
    transform: translateY(0); }
  15% {
    transform: translateY(-10px); }
  20% {
    transform: translateY(0); } }
#campaign202511 {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.05rem;
  line-height: 2; }
  @media (min-width: 769px) {
    #campaign202511 {
      font-size: 18px; } }
  #campaign202511 [class^="ttl-"] {
    font-family: "Noto Sans JP", sans-serif; }
  #campaign202511 .txt-font {
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 400;
    color: #262626;
    rotate: 0.05deg; }
  #campaign202511 .ttl-02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
    gap: 0 3rem; }
    @media (min-width: 769px) {
      #campaign202511 .ttl-02 {
        flex-wrap: nowrap;
        justify-content: center; } }
    #campaign202511 .ttl-02 span {
      display: block; }
      #campaign202511 .ttl-02 span.ttl {
        order: 1;
        width: 100%; }
        @media (min-width: 769px) {
          #campaign202511 .ttl-02 span.ttl {
            order: 2;
            width: clamp(27rem, calc(566 / 1024 * 100vw), 56.6rem); } }
      #campaign202511 .ttl-02 span .center {
        display: block;
        font-size: 16px;
        font-weight: bold;
        text-align: center;
        line-height: normal;
        opacity: 0;
        transform: translateY(2rem);
        transition: opacity 1s 1.5s, transform 1s 1.5s;
        margin-top: 12px; }
        @media (min-width: 769px) {
          #campaign202511 .ttl-02 span .center {
            font-size: 24px;
            margin-top: 20px; } }
        #campaign202511 .ttl-02 span .center .blue {
          color: #00479d; }
        @media (min-width: 769px) {
          #campaign202511 .ttl-02 span .center br {
            display: none; } }
      #campaign202511 .ttl-02 span.lively:first-child {
        order: 2; }
        @media (min-width: 769px) {
          #campaign202511 .ttl-02 span.lively:first-child {
            order: 1; } }
      #campaign202511 .ttl-02 span.lively:last-child {
        order: 3; }
  #campaign202511 .txt-center {
    text-align: center; }
  #campaign202511 .mod-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 1rem;
    margin: 0 auto;
    width: 100%;
    padding: 0.75em 0;
    color: #fff;
    font-weight: 700;
    line-height: 1.46;
    text-decoration: none;
    transition: transform 0.3s, box-shadow 0.3s;
    position: relative; }
    @media (min-width: 769px) {
      #campaign202511 .mod-btn {
        padding: 1em 0; } }
    #campaign202511 .mod-btn:hover {
      transform: translateY(3px); }
    #campaign202511 .mod-btn span {
      font-size: 18px;
      font-weight: 700;
      letter-spacing: 0.03em;
      color: #fff;
      display: flex;
      align-items: center;
      gap: 12px;
      margin: 0; }
      @media (min-width: 1080px) {
        #campaign202511 .mod-btn span {
          font-size: 24px; } }
      #campaign202511 .mod-btn span::after {
        content: "";
        display: block;
        width: 30px;
        height: 30px;
        background-color: #fff;
        mask-image: url("data:image/svg+xml;charset=utf8,%20%3Csvg%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M0%2015C-9.87904e-08%2023.2844%206.71561%2030%2015%2030C23.2844%2030%2030%2023.2844%2030%2015C30%206.71561%2023.2844%209.87904e-08%2015%200C6.71561%20-9.87904e-08%209.87904e-08%206.71561%200%2015ZM16.7262%209.00029V15.9026L19.4985%2012.9889C20.1544%2012.2986%2021.2483%2012.2712%2021.9387%2012.9285C22.63%2013.5858%2022.6574%2014.6783%2021.9991%2015.3691L15.199%2022.5171C15.147%2022.5714%2015.0752%2022.6021%2015%2022.6021C14.9249%2022.6021%2014.853%2022.5714%2014.8011%2022.517L8.00039%2015.369C7.34262%2014.6782%207.36957%2013.5857%208.06086%2012.9284C8.75168%2012.2711%209.84516%2012.2985%2010.5015%2012.9889L13.2734%2015.9025V9.00023C13.2734%208.04621%2014.0459%207.27365%2014.9999%207.27365C15.954%207.27365%2016.7262%208.04621%2016.7262%209.00029Z%22%20fill%3D%22white%22%20%2F%3E%20%3C%2Fsvg%3E");
        mask-repeat: no-repeat;
        mask-position: 0 0;
        mask-size: contain; }
    #campaign202511 .mod-btn .icon {
      position: absolute;
      top: 50%;
      left: 32px;
      translate: 0 -50%; }
    #campaign202511 .mod-btn.post {
      background-color: #f24c21;
      box-shadow: 0 10px 0 #c02b05; }
      #campaign202511 .mod-btn.post:hover {
        box-shadow: 0 5px 0 #f24c21; }
    #campaign202511 .mod-btn.instagram {
      background-color: #059f47;
      box-shadow: 0 10px 0 #00632a; }
      #campaign202511 .mod-btn.instagram:hover {
        box-shadow: 0 5px 0 #059f47; }
    #campaign202511 .mod-btn.web {
      background-color: #00479d;
      box-shadow: 0 10px 0 #004380; }
      #campaign202511 .mod-btn.web:hover {
        box-shadow: 0 5px 0 #00479d; }
  #campaign202511 .fv-area .period {
    background-color: #00479d;
    padding: 1rem 2rem; }
    #campaign202511 .fv-area .period img {
      width: 100%;
      max-width: 105.8rem;
      margin: auto; }
  #campaign202511 .present-area {
    background-color: #dff2fc;
    padding: 5rem 0 10rem; }
    @media (min-width: 769px) {
      #campaign202511 .present-area {
        padding: 10rem 0; } }
    #campaign202511 .present-area > .inner {
      margin: auto;
      max-width: calc(98.9rem + (2.4rem * 2));
      padding: 0 2.4rem; }
    #campaign202511 .present-area .ttl-present {
      margin-bottom: 40px;
      position: relative; }
      #campaign202511 .present-area .ttl-present .confetti-l,
      #campaign202511 .present-area .ttl-present .confetti-r,
      #campaign202511 .present-area .ttl-present .milko-l,
      #campaign202511 .present-area .ttl-present .milko-r {
        display: block;
        position: absolute;
        z-index: 1;
        left: 0;
        right: 0;
        margin: auto;
        opacity: 0; }
      #campaign202511 .present-area .ttl-present .confetti-l {
        width: clamp(4rem, calc(96 / 1024 * 100vw), 9.6rem);
        right: clamp(30rem, calc(520 / 1024 * 100vw), 52rem);
        top: -2rem;
        transform: translate(-7rem, 8rem);
        transition: opacity 1s 0.8s, transform 1s 0.8s; }
      #campaign202511 .present-area .ttl-present .confetti-r {
        width: clamp(4rem, calc(98 / 1024 * 100vw), 9.8rem);
        left: clamp(30rem, calc(520 / 1024 * 100vw), 52rem);
        top: -2rem;
        transform: translate(7rem, 8rem);
        transition: opacity 1s 0.8s, transform 1s 0.8s; }
      #campaign202511 .present-area .ttl-present .milko-l {
        width: clamp(7rem, calc(131 / 1024 * 100vw), 13.1rem);
        right: clamp(29rem, calc(680 / 1024 * 100vw), 68rem);
        top: 2rem;
        transform: translate(-7rem, 3rem);
        transition: opacity 1s 0.5s, transform 1s ease-in-out 0.5s; }
        @media (min-width: 769px) {
          #campaign202511 .present-area .ttl-present .milko-l {
            top: 6rem; } }
      #campaign202511 .present-area .ttl-present .milko-r {
        width: clamp(7rem, calc(127 / 1024 * 100vw), 12.7rem);
        left: clamp(29rem, calc(680 / 1024 * 100vw), 68rem);
        top: 2rem;
        transform: translate(7rem, 3rem);
        transition: opacity 1s 0.5s, transform 1s ease-in-out 0.5s; }
        @media (min-width: 769px) {
          #campaign202511 .present-area .ttl-present .milko-r {
            top: 6rem; } }
      #campaign202511 .present-area .ttl-present .ttl {
        display: block;
        margin: auto;
        width: clamp(27rem, calc(566 / 1024 * 100vw), 56.6rem);
        opacity: 0;
        transform: translateY(2rem);
        transition: opacity 1s, transform 1s; }
        #campaign202511 .present-area .ttl-present .ttl img {
          transform: translateY(-2rem); }
          @media (min-width: 769px) {
            #campaign202511 .present-area .ttl-present .ttl img {
              transform: translateY(0); } }
      #campaign202511 .present-area .ttl-present .info {
        opacity: 0;
        transform: translateY(2rem);
        transition: opacity 1s 1.3s, transform 1s 1.3s; }
        #campaign202511 .present-area .ttl-present .info img {
          width: 86.2rem; }
      #campaign202511 .present-area .ttl-present.fadeUp .ttl,
      #campaign202511 .present-area .ttl-present.fadeUp .info,
      #campaign202511 .present-area .ttl-present.fadeUp .center,
      #campaign202511 .present-area .ttl-present.fadeUp .confetti-r,
      #campaign202511 .present-area .ttl-present.fadeUp .confetti-l,
      #campaign202511 .present-area .ttl-present.fadeUp .milko-l,
      #campaign202511 .present-area .ttl-present.fadeUp .milko-r {
        opacity: 1;
        transform: translate(0); }
    #campaign202511 .present-area .txt-present {
      display: flex;
      justify-content: center;
      flex-direction: column;
      margin: 4rem 0 9.2rem; }
    #campaign202511 .present-area .present-list {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      gap: 4px 20px; }
      #campaign202511 .present-area .present-list > .item {
        width: 100%;
        position: relative; }
        #campaign202511 .present-area .present-list > .item img {
          border-radius: 16px;
          border: 5px solid #00a0e9;
          box-sizing: border-box; }
          @media (min-width: 769px) {
            #campaign202511 .present-area .present-list > .item img {
              border-radius: 28px; } }
        #campaign202511 .present-area .present-list > .item:nth-child(1) {
          grid-area: 1 / 1 / 3 / 2; }
        #campaign202511 .present-area .present-list > .item:nth-child(2) {
          grid-area: 1 / 2 / 2 / 3; }
        #campaign202511 .present-area .present-list > .item:nth-child(3) {
          grid-area: 2 / 2 / 3 / 3; }
    @media only screen and (min-width: 768px) {
      #campaign202511 .present-area {
        padding: 6rem 0 14rem; } }
    #campaign202511 .present-area .read {
      text-align: center;
      color: #fff;
      background-color: #ff0000;
      padding: 4rem 0;
      margin-bottom: 8rem; }
      #campaign202511 .present-area .read .ttl {
        font-size: 2rem; }
      #campaign202511 .present-area .read p {
        font-size: 1.5rem; }
      @media only screen and (min-width: 540px) {
        #campaign202511 .present-area .read .ttl {
          font-size: 3rem; }
        #campaign202511 .present-area .read p {
          font-size: 1.7rem; } }
      @media only screen and (min-width: 768px) {
        #campaign202511 .present-area .read .ttl {
          font-size: 4.5rem; }
        #campaign202511 .present-area .read p {
          font-size: 2.8rem; } }
  #campaign202511 .commodity-area {
    position: relative;
    background-color: #fff; }
    #campaign202511 .commodity-area .container {
      padding: 100px 0;
      position: relative;
      z-index: 2; }
    #campaign202511 .commodity-area .commodity-list-area {
      background-color: #fffcd1;
      padding: 64px 72px;
      border-radius: 24px;
      border: 5px solid #00479d;
      margin-top: 54px; }
  #campaign202511 .list-indent {
    font-size: 14px;
    background-color: #fdefec;
    border-radius: 10px;
    padding: 24px; }
    @media (min-width: 769px) {
      #campaign202511 .list-indent {
        font-size: 16px; } }
    #campaign202511 .list-indent > .item {
      text-indent: -1em;
      padding-left: 1em; }
  #campaign202511 .area-form {
    background-color: #fffcd1; }
    #campaign202511 .area-form::before {
      content: "";
      display: block;
      height: 46px;
      width: 100%;
      background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzEiIGhlaWdodD0iMzEiIHZpZXdCb3g9IjAgMCAzMSAzMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTE1LjUgMzAuMzAzN0MyMy43ODQ0IDMwLjMwMzcgMzAuNSAyMy41ODgxIDMwLjUgMTUuMzAzN0MzMC41IDcuMDE5MzIgMjMuNzg0NCAwLjMwMzcxMSAxNS41IDAuMzAzNzExQzcuMjE1NjEgMC4zMDM3MTEgMC41IDcuMDE5MzIgMC41IDE1LjMwMzdDMC41IDIzLjU4ODEgNy4yMTU2MSAzMC4zMDM3IDE1LjUgMzAuMzAzN1pNOS41MDAyOSAxMy41Nzc1TDE2LjQwMjYgMTMuNTc3NUwxMy40ODg5IDEwLjgwNTJDMTIuNzk4NiAxMC4xNDkzIDEyLjc3MTIgOS4wNTU0NSAxMy40Mjg1IDguMzY1MDRDMTQuMDg1OCA3LjY3Mzc1IDE1LjE3ODMgNy42NDYzMyAxNS44NjkxIDguMzA0NTdMMjMuMDE3MSAxNS4xMDQ3QzIzLjA3MTQgMTUuMTU2OCAyMy4xMDIxIDE1LjIyODUgMjMuMTAyMSAxNS4zMDM3QzIzLjEwMjEgMTUuMzc4OCAyMy4wNzE0IDE1LjQ1MDcgMjMuMDE3MSAxNS41MDI2TDE1Ljg2OSAyMi4zMDMzQzE1LjE3ODIgMjIuOTYxMSAxNC4wODU3IDIyLjkzNDEgMTMuNDI4NCAyMi4yNDI5QzEyLjc3MTEgMjEuNTUyIDEyLjc5ODUgMjAuNDU4NiAxMy40ODg5IDE5LjgwMjJMMTYuNDAyNSAxNy4wMzA0TDkuNTAwMjMgMTcuMDMwNEM4LjU0NjIxIDE3LjAzMDQgNy43NzM2NSAxNi4yNTc4IDcuNzczNjUgMTUuMzAzOEM3Ljc3MzY1IDE0LjM0OTcgOC41NDYyMSAxMy41Nzc1IDkuNTAwMjkgMTMuNTc3NVoiIGZpbGw9IndoaXRlIi8+IDwvc3ZnPg==") repeat-x center;
      position: absolute;
      z-index: 1;
      left: 0;
      top: -46px; }
    #campaign202511 .area-form .end {
      text-align: center; }
      #campaign202511 .area-form .end .ttl {
        font-size: 2.4rem;
        font-weight: bold;
        color: #ff0000;
        margin-top: 4rem; }
        #campaign202511 .area-form .end .ttl span {
          display: inline-block; }
      #campaign202511 .area-form .end p {
        font-size: 1.5rem;
        margin-top: 2rem; }
      @media (min-width: 769px) {
        #campaign202511 .area-form .end .ttl {
          font-size: 2.8rem;
          margin-top: 4rem; }
        #campaign202511 .area-form .end p {
          font-size: 1.8rem;
          margin-top: 4rem; } }
    #campaign202511 .area-form .container {
      position: relative;
      z-index: 2; }
    #campaign202511 .area-form .ttl-form .lively {
      display: none; }
      @media (min-width: 769px) {
        #campaign202511 .area-form .ttl-form .lively {
          display: block;
          width: clamp(64px, calc(78 / 1024 * 100vw), 78px); } }
    #campaign202511 .area-form .sec-form {
      border: solid 4px #00479d;
      border-radius: 16px;
      background-color: #fff;
      padding: 3.2rem 1.6rem 3rem; }
      @media (min-width: 769px) {
        #campaign202511 .area-form .sec-form {
          border-radius: 24px;
          padding: 6.9rem 6.2rem 6rem; } }
    #campaign202511 .area-form .check {
      margin-bottom: 1rem; }
      #campaign202511 .area-form .check span {
        font-size: 2rem;
        color: #ff0000;
        font-weight: bold; }
        @media (min-width: 769px) {
          #campaign202511 .area-form .check span {
            font-size: 3rem; } }
    #campaign202511 .area-form .list-form {
      display: flex;
      flex-direction: column;
      gap: 3.6rem 0;
      margin: 3.6rem 0 5.8rem; }
      #campaign202511 .area-form .list-form > .item {
        border-top: solid 1px #d9d9d9;
        padding-top: 3.6rem; }
        #campaign202511 .area-form .list-form > .item .req {
          display: inline-block;
          color: #fff;
          line-height: 1;
          background-color: #f24c21;
          border-radius: 0.5rem;
          margin-left: 0.6rem;
          padding: 0.3rem 0.9rem 0.5rem; }
        #campaign202511 .area-form .list-form > .item dt {
          margin-bottom: 3.2rem; }
        #campaign202511 .area-form .list-form > .item.col-2 {
          display: flex;
          flex-direction: column;
          align-items: baseline;
          gap: 3.2rem 0; }
          @media (min-width: 769px) {
            #campaign202511 .area-form .list-form > .item.col-2 {
              flex-direction: row; } }
          #campaign202511 .area-form .list-form > .item.col-2 dt,
          #campaign202511 .area-form .list-form > .item.col-2 dd {
            flex: 1; }
          #campaign202511 .area-form .list-form > .item.col-2 dt {
            margin-bottom: 0; }
            @media (min-width: 769px) {
              #campaign202511 .area-form .list-form > .item.col-2 dt {
                max-width: 20%; } }
          #campaign202511 .area-form .list-form > .item.col-2 dd {
            width: 100%; }
        #campaign202511 .area-form .list-form > .item .col-2 {
          display: flex;
          flex-direction: column;
          gap: 1.2rem; }
          @media (min-width: 769px) {
            #campaign202511 .area-form .list-form > .item .col-2 {
              flex-direction: row; } }
          #campaign202511 .area-form .list-form > .item .col-2 > * {
            flex: 1; }
        #campaign202511 .area-form .list-form > .item .address {
          flex-direction: column;
          gap: 3.2rem 0; }
        #campaign202511 .area-form .list-form > .item .age {
          align-items: baseline;
          flex-direction: column; }
          #campaign202511 .area-form .list-form > .item .age .box {
            display: flex;
            align-items: end; }
          #campaign202511 .area-form .list-form > .item .age span {
            padding-left: 0.5rem; }
          #campaign202511 .area-form .list-form > .item .age input {
            width: 8em; }
        #campaign202511 .area-form .list-form > .item .purchase div {
          display: flex;
          align-items: flex-end;
          gap: 1.2rem; }
          #campaign202511 .area-form .list-form > .item .purchase div input {
            width: 10em; }
        #campaign202511 .area-form .list-form > .item .file .list-file {
          flex-direction: column;
          gap: 1.9rem 0;
          margin-top: 1.2rem; }
        #campaign202511 .area-form .list-form > .item .file label {
          display: flex;
          align-items: center;
          gap: 1.2rem;
          padding: 0 1.6rem;
          border: solid 1px #b5b5b5;
          border-radius: 0.5rem;
          height: 6.4rem;
          margin-top: 1.5rem; }
          #campaign202511 .area-form .list-form > .item .file label .select {
            flex: 0 0 113px;
            background-color: #d9d9d9;
            border-radius: 0.5rem;
            padding: 0.2rem 0.5em; }
            @media (min-width: 769px) {
              #campaign202511 .area-form .list-form > .item .file label .select {
                flex: 0 0 135px; } }
          #campaign202511 .area-form .list-form > .item .file label .name {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap; }
        #campaign202511 .area-form .list-form > .item .file input {
          display: none; }
        #campaign202511 .area-form .list-form > .item .course div {
          display: grid;
          grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
          gap: 1.4rem 1.6rem; }
          @media (min-width: 769px) {
            #campaign202511 .area-form .list-form > .item .course div {
              grid-template-columns: repeat(auto-fill, minmax(35rem, 1fr)); } }
        #campaign202511 .area-form .list-form > .item .course label {
          display: flex;
          align-items: center;
          border: solid 1px #b5b5b5;
          border-radius: 0.5rem;
          height: 6.4rem;
          padding: 0 0.5rem;
          cursor: pointer; }
          @media (min-width: 769px) {
            #campaign202511 .area-form .list-form > .item .course label {
              padding: 0 0 0 2.7rem; } }
          #campaign202511 .area-form .list-form > .item .course label span {
            display: flex;
            align-items: center;
            gap: 0 1.2rem;
            line-height: 1.375; }
            #campaign202511 .area-form .list-form > .item .course label span::before {
              content: "";
              flex-shrink: 0;
              display: block;
              width: 2rem;
              height: 2rem;
              border: solid 1px #b5b5b5;
              border-radius: 50%; }
        #campaign202511 .area-form .list-form > .item .course input {
          display: none; }
        #campaign202511 .area-form .list-form > .item .course input:checked + label span::before {
          background-color: #00479d; }
        #campaign202511 .area-form .list-form > .item .applications select {
          width: 10em; }
        #campaign202511 .area-form .list-form > .item .trigger .list-checkbox {
          display: grid;
          grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
          gap: 1.4rem 1.6rem; }
          @media (min-width: 769px) {
            #campaign202511 .area-form .list-form > .item .trigger .list-checkbox {
              grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr)); } }
          #campaign202511 .area-form .list-form > .item .trigger .list-checkbox label {
            display: flex;
            align-items: center;
            border: solid 1px #b5b5b5;
            border-radius: 0.5rem;
            height: 6.4rem;
            padding-left: 2.7rem;
            cursor: pointer; }
            #campaign202511 .area-form .list-form > .item .trigger .list-checkbox label span {
              display: flex;
              align-items: center;
              gap: 0 1.2rem;
              line-height: 1.375; }
              #campaign202511 .area-form .list-form > .item .trigger .list-checkbox label span::before {
                content: "";
                flex-shrink: 0;
                display: block;
                width: 2rem;
                height: 2rem;
                border: solid 1px #b5b5b5;
                border-radius: 2px; }
          #campaign202511 .area-form .list-form > .item .trigger .list-checkbox input {
            display: none; }
          #campaign202511 .area-form .list-form > .item .trigger .list-checkbox input:checked + label span::before {
            background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxMyAxMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjc1MTMgMy41MjM0OEwwLjE2Nzk2OSA1LjEwNjgxTDQuOTE3OTcgOS44NTY4MUwxMi44MzQ2IDEuOTQwMTRMMTEuMjUxMyAwLjM1NjgxMkw0LjkxNzk3IDYuNjkwMTVMMS43NTEzIDMuNTIzNDhaIiBmaWxsPSIjMDA0NzlEIi8+IDwvc3ZnPg==");
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center; }
        #campaign202511 .area-form .list-form > .item .other-text {
          margin-top: 3.7rem; }
    #campaign202511 .area-form input[type="text"], #campaign202511 .area-form input[type="mail"], #campaign202511 .area-form input[type="tel"] {
      font-size: 1.4rem;
      width: 100%;
      border: solid 1px #b5b5b5;
      border-radius: 0.5rem;
      box-sizing: border-box;
      padding: 2.5rem; }
      @media (min-width: 769px) {
        #campaign202511 .area-form input[type="text"], #campaign202511 .area-form input[type="mail"], #campaign202511 .area-form input[type="tel"] {
          font-size: 1.6rem; } }
    #campaign202511 .area-form select {
      font-size: 1.4rem;
      width: 100%;
      border: solid 1px #b5b5b5;
      border-radius: 0.5rem;
      box-sizing: border-box;
      padding: 2.5rem; }
      @media (min-width: 769px) {
        #campaign202511 .area-form select {
          font-size: 1.6rem; } }
    #campaign202511 .area-form .receipt {
      background-color: #f0f5fa;
      border-radius: 10px;
      padding: 20px;
      margin-top: 20px; }
      @media (min-width: 769px) {
        #campaign202511 .area-form .receipt {
          padding: 40px;
          margin-top: 40px; } }
      #campaign202511 .area-form .receipt .img {
        max-width: 82.8rem;
        margin: 3rem auto 3rem; }
        @media (min-width: 769px) {
          #campaign202511 .area-form .receipt .img {
            margin: 7.6rem auto 5.4rem; } }
      #campaign202511 .area-form .receipt .txt-comment {
        margin-bottom: 16px; }
        @media (min-width: 769px) {
          #campaign202511 .area-form .receipt .txt-comment {
            text-align: center;
            margin-bottom: 32px; } }
        #campaign202511 .area-form .receipt .txt-comment .txt-strong {
          color: #e4007f; }
      #campaign202511 .area-form .receipt .list-indent {
        background-color: #fff;
        padding: 16px; }
        @media (min-width: 769px) {
          #campaign202511 .area-form .receipt .list-indent {
            padding: 24px; } }
      #campaign202511 .area-form .receipt .list-num {
        display: flex;
        flex-direction: column;
        justify-content: center;
        flex-wrap: wrap;
        gap: 1em 6rem;
        padding: 1.2rem;
        counter-reset: number 0;
        margin-bottom: 3rem;
        background-color: #00479d; }
        @media (min-width: 769px) {
          #campaign202511 .area-form .receipt .list-num {
            flex-direction: row; } }
        #campaign202511 .area-form .receipt .list-num > .item {
          display: flex;
          align-items: center;
          gap: 0 1rem;
          font-size: 1.8rem;
          font-weight: 700;
          letter-spacing: 0.08em;
          color: #fff; }
          @media (min-width: 769px) {
            #campaign202511 .area-form .receipt .list-num > .item {
              font-size: 2.2rem; } }
          #campaign202511 .area-form .receipt .list-num > .item::before {
            counter-increment: number 1;
            content: counter(number);
            font-size: 1.4rem;
            text-align: center;
            line-height: 2rem;
            color: #00479d;
            width: 2rem;
            height: 2rem;
            background-color: #fff;
            border-radius: 50%; }
            @media (min-width: 769px) {
              #campaign202511 .area-form .receipt .list-num > .item::before {
                line-height: 2.8rem;
                width: 2.8rem;
                height: 2.8rem;
                font-size: 1.8rem; } }
      #campaign202511 .area-form .receipt .list-caution {
        margin-top: 32px;
        border: solid 3px #f24c21;
        border-radius: 10px;
        overflow: hidden; }
        #campaign202511 .area-form .receipt .list-caution dt {
          font-size: 18px;
          font-weight: 700;
          letter-spacing: 0.08em;
          line-height: 1.45;
          color: #fff;
          text-align: center;
          background-color: #f24c21;
          padding: 1.6rem 0;
          margin: 0; }
          @media (min-width: 769px) {
            #campaign202511 .area-form .receipt .list-caution dt {
              font-size: 22px; }
              #campaign202511 .area-form .receipt .list-caution dt br {
                display: none; } }
        #campaign202511 .area-form .receipt .list-caution dd {
          font-size: 14px;
          letter-spacing: 0.03em;
          display: flex;
          flex-wrap: wrap;
          gap: 0.5em 1em;
          background-color: #fff;
          padding: 2.2rem 2.4rem; }
          @media (min-width: 769px) {
            #campaign202511 .area-form .receipt .list-caution dd {
              font-size: 16px;
              justify-content: center; } }
    #campaign202511 .area-form .list-item {
      display: flex;
      flex-direction: column;
      gap: 5.2rem 0; }
      #campaign202511 .area-form .list-item > .item {
        display: flex;
        flex-direction: column;
        gap: 1em; }
        @media (min-width: 970px) {
          #campaign202511 .area-form .list-item > .item {
            display: grid;
            align-items: center;
            grid-template-columns: repeat(4, 1fr); } }
        #campaign202511 .area-form .list-item > .item dt {
          width: 16rem;
          letter-spacing: 0.04em;
          line-height: 1.375;
          margin-bottom: 0; }
          #campaign202511 .area-form .list-item > .item dt span {
            display: block;
            font-size: 1.4rem; }
        @media (min-width: 970px) {
          #campaign202511 .area-form .list-item > .item dd {
            margin-left: 0; } }
        #campaign202511 .area-form .list-item > .item dd .amount {
          align-self: center;
          margin-right: 2rem; }
        #campaign202511 .area-form .list-item > .item dd .num {
          align-self: flex-end;
          margin-left: 1.2rem; }
        #campaign202511 .area-form .list-item > .item dd select {
          width: 100%;
          max-width: 6em;
          align-self: center;
          padding: 1em; }
    #campaign202511 .area-form .btn-send {
      display: flex;
      justify-content: center;
      flex-direction: column;
      gap: 2rem; }
      @media (min-width: 769px) {
        #campaign202511 .area-form .btn-send {
          flex-direction: row;
          gap: 3rem; } }
      #campaign202511 .area-form .btn-send .mod-btn {
        max-width: 100%;
        border: none;
        margin: 0;
        min-height: 80px;
        font-size: 1.8rem; }
        #campaign202511 .area-form .btn-send .mod-btn span {
          font-size: 1.8rem;
          font-weight: 700;
          letter-spacing: 0.03em;
          color: #fff;
          display: flex;
          align-items: center;
          gap: 12px;
          margin: 0;
          padding-left: 2rem; }
          #campaign202511 .area-form .btn-send .mod-btn span::after {
            content: "";
            display: block;
            width: 30px;
            height: 30px;
            background-color: #fff;
            mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzEiIGhlaWdodD0iMzEiIHZpZXdCb3g9IjAgMCAzMSAzMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTE1LjUgMzAuMzAzN0MyMy43ODQ0IDMwLjMwMzcgMzAuNSAyMy41ODgxIDMwLjUgMTUuMzAzN0MzMC41IDcuMDE5MzIgMjMuNzg0NCAwLjMwMzcxMSAxNS41IDAuMzAzNzExQzcuMjE1NjEgMC4zMDM3MTEgMC41IDcuMDE5MzIgMC41IDE1LjMwMzdDMC41IDIzLjU4ODEgNy4yMTU2MSAzMC4zMDM3IDE1LjUgMzAuMzAzN1pNOS41MDAyOSAxMy41Nzc1TDE2LjQwMjYgMTMuNTc3NUwxMy40ODg5IDEwLjgwNTJDMTIuNzk4NiAxMC4xNDkzIDEyLjc3MTIgOS4wNTU0NSAxMy40Mjg1IDguMzY1MDRDMTQuMDg1OCA3LjY3Mzc1IDE1LjE3ODMgNy42NDYzMyAxNS44NjkxIDguMzA0NTdMMjMuMDE3MSAxNS4xMDQ3QzIzLjA3MTQgMTUuMTU2OCAyMy4xMDIxIDE1LjIyODUgMjMuMTAyMSAxNS4zMDM3QzIzLjEwMjEgMTUuMzc4OCAyMy4wNzE0IDE1LjQ1MDcgMjMuMDE3MSAxNS41MDI2TDE1Ljg2OSAyMi4zMDMzQzE1LjE3ODIgMjIuOTYxMSAxNC4wODU3IDIyLjkzNDEgMTMuNDI4NCAyMi4yNDI5QzEyLjc3MTEgMjEuNTUyIDEyLjc5ODUgMjAuNDU4NiAxMy40ODg5IDE5LjgwMjJMMTYuNDAyNSAxNy4wMzA0TDkuNTAwMjMgMTcuMDMwNEM4LjU0NjIxIDE3LjAzMDQgNy43NzM2NSAxNi4yNTc4IDcuNzczNjUgMTUuMzAzOEM3Ljc3MzY1IDE0LjM0OTcgOC41NDYyMSAxMy41Nzc1IDkuNTAwMjkgMTMuNTc3NVoiIGZpbGw9IndoaXRlIi8+IDwvc3ZnPg==");
            mask-repeat: no-repeat;
            mask-position: 0 0;
            mask-size: contain; }
        #campaign202511 .area-form .btn-send .mod-btn .icon {
          width: 40px; }
        @media (min-width: 769px) {
          #campaign202511 .area-form .btn-send .mod-btn {
            max-width: 48rem;
            font-size: 2.4rem; }
            #campaign202511 .area-form .btn-send .mod-btn span {
              font-size: 2.4rem;
              padding-left: 0; }
            #campaign202511 .area-form .btn-send .mod-btn .icon {
              width: 50px; } }
        #campaign202511 .area-form .btn-send .mod-btn::after {
          display: none; }
  #campaign202511 .area-back {
    background-color: #fff;
    padding: 7.3rem 0 9.3rem; }
    #campaign202511 .area-back a {
      color: #000; }
  #campaign202511 .formrun-system-show {
    color: #c02b05; }
  #campaign202511 .btn-default {
    font-size: 2rem;
    color: #fff !important;
    background-color: #161616;
    border: none;
    margin: 0;
    width: 100%; }
    #campaign202511 .btn-default:hover {
      color: #fff !important;
      background-color: #005bac; }
    @media (min-width: 769px) {
      #campaign202511 .btn-default {
        margin: 3rem 0 0; } }
  #campaign202511 .thanks {
    display: grid;
    grid-template-columns: 1fr;
    place-content: center;
    min-height: 100vh;
    background-color: #dff2fc; }
    #campaign202511 .thanks .area-thanks {
      padding: 11.8rem 3.2rem;
      position: relative; }
      #campaign202511 .thanks .area-thanks > .inner {
        background-color: #fff;
        border-radius: 2rem;
        max-width: 85.2rem;
        margin: auto;
        padding: 7.4rem 3rem;
        position: relative;
        z-index: 1; }
        #campaign202511 .thanks .area-thanks > .inner .ttl-thanks {
          width: fit-content;
          margin: 0 auto 2.4rem;
          padding-bottom: 2.7rem;
          border-bottom: solid 1px #898989;
          text-align: center; }
        #campaign202511 .thanks .area-thanks > .inner .text {
          margin-bottom: 4rem; }
          @media (min-width: 769px) {
            #campaign202511 .thanks .area-thanks > .inner .text {
              text-align: center; } }
        #campaign202511 .thanks .area-thanks > .inner .comment {
          font-size: 0.875em; }
          @media (min-width: 769px) {
            #campaign202511 .thanks .area-thanks > .inner .comment {
              text-align: center; } }
      #campaign202511 .thanks .area-thanks .box-lively-l,
      #campaign202511 .thanks .area-thanks .box-lively-r {
        position: absolute;
        z-index: 2;
        top: 42px; }
      #campaign202511 .thanks .area-thanks .box-lively-l {
        left: -3rem; }
        @media (min-width: 769px) {
          #campaign202511 .thanks .area-thanks .box-lively-l {
            left: 0; } }
        #campaign202511 .thanks .area-thanks .box-lively-l .confetti {
          width: clamp(5rem, calc(96 / 1024 * 100vw), 9.6rem);
          animation: confetti-l 1s both;
          animation-delay: 0.8s;
          opacity: 0; }
        #campaign202511 .thanks .area-thanks .box-lively-l .milko {
          width: clamp(7rem, calc(131 / 1024 * 100vw), 13.1rem);
          animation: milko-l 1s both;
          animation-delay: 0.5s;
          opacity: 0; }
      #campaign202511 .thanks .area-thanks .box-lively-r {
        right: -3rem; }
        @media (min-width: 769px) {
          #campaign202511 .thanks .area-thanks .box-lively-r {
            right: 0; } }
        #campaign202511 .thanks .area-thanks .box-lively-r .confetti {
          width: clamp(5rem, calc(98 / 1024 * 100vw), 9.8rem);
          animation: confetti-r 1s both;
          animation-delay: 0.8s;
          opacity: 0; }
        #campaign202511 .thanks .area-thanks .box-lively-r .milko {
          width: clamp(7rem, calc(127 / 1024 * 100vw), 12.7rem);
          animation: milko-r 1s both;
          animation-delay: 0.5s;
          opacity: 0; }
@keyframes milko-l {
  0% {
    opacity: 0;
    transform: translate(-20px, 10px); }
  100% {
    opacity: 1;
    transform: translate(0, 0); } }
@keyframes milko-r {
  0% {
    opacity: 0;
    transform: translate(20px, 10px); }
  100% {
    opacity: 1;
    transform: translate(0, 0); } }
@keyframes confetti-l {
  0% {
    opacity: 0;
    transform: translate(10px, 10px); }
  100% {
    opacity: 1;
    transform: translate(40px, -10px); } }
@keyframes confetti-r {
  0% {
    opacity: 0;
    transform: translate(10px, 10px); }
  100% {
    opacity: 1;
    transform: translate(-40px, -10px); } }
    #campaign202511 .thanks .area-prev a {
      color: #000; }

#campaign202511 {
  box-sizing: border-box; }
  @media (min-width: 560px) {
    #campaign202511 .sp_only {
      display: none; } }
  #campaign202511 .ttl-01 {
    text-align: center;
    margin-bottom: 16px; }
  #campaign202511 .ttl-border {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 24px; }
    #campaign202511 .ttl-border::before, #campaign202511 .ttl-border::after {
      flex-grow: 1;
      content: "";
      display: block;
      width: 100%;
      height: 1px;
      background-color: #898989; }
    #campaign202511 .ttl-border span {
      flex-shrink: 0;
      font-size: 18px;
      font-weight: 700;
      line-height: 1.35;
      color: #00479d;
      text-align: center; }
      @media (min-width: 769px) {
        #campaign202511 .ttl-border span {
          font-size: 28px; } }
      @media (min-width: 769px) {
        #campaign202511 .ttl-border span br {
          display: none; } }
  #campaign202511 .sec-cmn {
    margin: 0 0 40px 0; }
    @media (min-width: 769px) {
      #campaign202511 .sec-cmn {
        margin: 0 0 20px 0; } }
  #campaign202511 .mod-info .txt {
    font-size: 18px;
    font-weight: 500;
    text-align: center; }
    @media (min-width: 769px) {
      #campaign202511 .mod-info .txt {
        font-size: 24px; } }
    @media (min-width: 769px) {
      #campaign202511 .mod-info .txt br {
        display: none; } }
    #campaign202511 .mod-info .txt .blue {
      color: #00479d; }
    #campaign202511 .mod-info .txt .num {
      font-size: 32px; }
      @media (min-width: 769px) {
        #campaign202511 .mod-info .txt .num {
          font-size: 44px; } }
  #campaign202511 .container {
    width: 100%;
    padding: 50px 16px;
    box-sizing: border-box; }
    @media (min-width: 769px) {
      #campaign202511 .container {
        max-width: calc(1123px + (24px * 2));
        padding: 100px 24px; } }
  #campaign202511 .area-present {
    background-color: #dff2fc;
    padding: 0; }
    #campaign202511 .area-present .mod-info .ttl {
      max-width: 857px;
      margin: auto; }
    #campaign202511 .area-present .present-list {
      display: grid;
      grid-template-columns: 1fr;
      gap: 20px;
      margin-top: 20px; }
      @media (min-width: 769px) {
        #campaign202511 .area-present .present-list {
          gap: 10px 20px;
          grid-template-columns: 1fr 1fr;
          grid-template-rows: 1fr 1fr;
          margin-top: 40px; } }
      #campaign202511 .area-present .present-list > .item {
        width: 100%;
        position: relative; }
        #campaign202511 .area-present .present-list > .item img {
          border-radius: 16px;
          border: 5px solid #00a0e9;
          box-sizing: border-box; }
          @media (min-width: 769px) {
            #campaign202511 .area-present .present-list > .item img {
              border-radius: 28px; } }
        #campaign202511 .area-present .present-list > .item:nth-child(1) {
          grid-area: 1 / 1 / 2 / 2; }
          @media (min-width: 769px) {
            #campaign202511 .area-present .present-list > .item:nth-child(1) {
              grid-area: 1 / 1 / 3 / 2; } }
        #campaign202511 .area-present .present-list > .item:nth-child(2) {
          grid-area: 2 / 1 / 3 / 2; }
          @media (min-width: 769px) {
            #campaign202511 .area-present .present-list > .item:nth-child(2) {
              grid-area: 1 / 2 / 2 / 3; } }
        #campaign202511 .area-present .present-list > .item:nth-child(3) {
          grid-area: 3 / 1 / 4 / 2; }
          @media (min-width: 769px) {
            #campaign202511 .area-present .present-list > .item:nth-child(3) {
              grid-area: 2 / 2 / 3 / 3; } }
    #campaign202511 .area-present .txt-note {
      text-align: right;
      margin-top: 1em; }
  #campaign202511 .area-commodity {
    padding: 0;
    background-color: #fff; }
    #campaign202511 .area-commodity .mod-info .txt {
      font-weight: bold; }
    #campaign202511 .area-commodity .sec-detail {
      width: 100%;
      margin: 40px auto 0;
      background-color: #fffcd1;
      border: solid 5px #00479d;
      border-radius: 16px;
      position: relative;
      box-sizing: border-box; }
      @media (min-width: 769px) {
        #campaign202511 .area-commodity .sec-detail {
          width: calc(993 / 1366 * 100vw);
          max-width: 993px;
          border-radius: 24px; } }
      #campaign202511 .area-commodity .sec-detail .lively-character {
        width: calc(28 / 375 * 100vw);
        max-width: 80px;
        position: absolute;
        top: clamp(-80px, calc((-43 / 375) * 100vw), -43px);
        left: 10px; }
        @media (min-width: 769px) {
          #campaign202511 .area-commodity .sec-detail .lively-character {
            width: calc(80 / 1366 * 100vw);
            max-width: 80px;
            top: clamp(-115px, calc((-115 / 1366) * 100vw), 0px);
            left: 75px; } }
      #campaign202511 .area-commodity .sec-detail .lively-item {
        width: calc(328 / 1366 * 100vw);
        max-width: 328px;
        position: absolute;
        top: -50px;
        right: 15px; }
        @media (min-width: 769px) {
          #campaign202511 .area-commodity .sec-detail .lively-item {
            right: 85px; } }
      #campaign202511 .area-commodity .sec-detail > .inner {
        padding: 24px; }
        @media (min-width: 769px) {
          #campaign202511 .area-commodity .sec-detail > .inner {
            padding: 64px 72px; } }
        @media (min-width: 769px) {
          #campaign202511 .area-commodity .sec-detail > .inner img {
            width: calc(421 / 1366 * 100vw);
            max-width: 421px; } }
  #campaign202511 .area-apply {
    background-color: #dff2fc;
    padding: 0; }
    #campaign202511 .area-apply .mod-info {
      margin-bottom: 1.5rem; }
      #campaign202511 .area-apply .mod-info .txt {
        font-size: 2rem;
        font-weight: bold; }
        @media (min-width: 769px) {
          #campaign202511 .area-apply .mod-info .txt {
            font-size: 2.2rem; } }
    #campaign202511 .area-apply .sec-lead {
      margin: 0; }
      @media (min-width: 769px) {
        #campaign202511 .area-apply .sec-lead .txt {
          text-align: center; } }
      #campaign202511 .area-apply .sec-lead .txt br {
        display: none; }
        @media (min-width: 769px) {
          #campaign202511 .area-apply .sec-lead .txt br {
            display: block; } }
    #campaign202511 .area-apply .sec-announce {
      margin-bottom: 6rem; }
      #campaign202511 .area-apply .sec-announce .ttl-border {
        margin-bottom: 2.3rem; }
        #campaign202511 .area-apply .sec-announce .ttl-border span {
          font-size: 2.4rem;
          line-height: 1.58; }
      #campaign202511 .area-apply .sec-announce p {
        font-size: 1.8rem; }
        #campaign202511 .area-apply .sec-announce p.comment {
          font-size: 1.4rem; }
    #campaign202511 .area-apply .sec-kinds {
      display: flex;
      flex-direction: column;
      gap: 2.4rem;
      margin-bottom: 4rem; }
      @media (min-width: 769px) {
        #campaign202511 .area-apply .sec-kinds {
          flex-direction: row;
          justify-content: center;
          gap: 16px;
          margin-bottom: 64px; } }
      #campaign202511 .area-apply .sec-kinds .mod-btn {
        flex: 1;
        flex-direction: row;
        padding: 1em 0;
        filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.25)); }
        @media (min-width: 769px) {
          #campaign202511 .area-apply .sec-kinds .mod-btn {
            max-width: 480px;
            margin: 0; } }
        #campaign202511 .area-apply .sec-kinds .mod-btn span {
          margin-left: 30px; }
    #campaign202511 .area-apply .sec-apply {
      background-color: #fff;
      border: solid 4px;
      border-radius: 16px;
      overflow: hidden;
      margin-bottom: 32px; }
      @media (min-width: 769px) {
        #campaign202511 .area-apply .sec-apply {
          border-radius: 24px;
          margin-bottom: 64px; } }
      #campaign202511 .area-apply .sec-apply > .inner {
        padding: 2.4rem 2rem; }
        @media (min-width: 769px) {
          #campaign202511 .area-apply .sec-apply > .inner {
            padding: 5.4rem 5.2rem 8rem; } }
        #campaign202511 .area-apply .sec-apply > .inner .box-btn {
          display: flex;
          justify-content: center;
          margin-top: 32px; }
          @media (min-width: 769px) {
            #campaign202511 .area-apply .sec-apply > .inner .box-btn {
              margin-top: 64px; } }
          #campaign202511 .area-apply .sec-apply > .inner .box-btn .mod-btn {
            max-width: 480px;
            min-height: 60px;
            padding: 0;
            filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.25)); }
            @media (min-width: 769px) {
              #campaign202511 .area-apply .sec-apply > .inner .box-btn .mod-btn {
                min-height: 80px; } }
            #campaign202511 .area-apply .sec-apply > .inner .box-btn .mod-btn span {
              font-size: 16px; }
              @media (min-width: 769px) {
                #campaign202511 .area-apply .sec-apply > .inner .box-btn .mod-btn span {
                  font-size: 24px; } }
            #campaign202511 .area-apply .sec-apply > .inner .box-btn .mod-btn.btn-download {
              display: flex;
              flex-direction: row;
              align-items: center;
              gap: 8px; }
              @media (min-width: 769px) {
                #campaign202511 .area-apply .sec-apply > .inner .box-btn .mod-btn.btn-download {
                  gap: 12px; } }
              #campaign202511 .area-apply .sec-apply > .inner .box-btn .mod-btn.btn-download span::after {
                display: none; }
              #campaign202511 .area-apply .sec-apply > .inner .box-btn .mod-btn.btn-download .icon {
                width: 20px;
                position: relative;
                top: auto;
                left: auto;
                translate: 0 0; }
                @media (min-width: 769px) {
                  #campaign202511 .area-apply .sec-apply > .inner .box-btn .mod-btn.btn-download .icon {
                    width: 26px;
                    height: 22px; } }
            #campaign202511 .area-apply .sec-apply > .inner .box-btn .mod-btn.btn-entry .icon {
              width: 32px;
              height: 33px;
              left: 20px; }
              @media (min-width: 769px) {
                #campaign202511 .area-apply .sec-apply > .inner .box-btn .mod-btn.btn-entry .icon {
                  width: 51px;
                  height: 50px;
                  left: 32px; } }
            #campaign202511 .area-apply .sec-apply > .inner .box-btn .mod-btn.btn-entry span {
              margin-left: 32px; }
              @media (min-width: 769px) {
                #campaign202511 .area-apply .sec-apply > .inner .box-btn .mod-btn.btn-entry span {
                  margin-left: 50px; } }
      #campaign202511 .area-apply .sec-apply .ttl-apply {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px; }
        @media (min-width: 769px) {
          #campaign202511 .area-apply .sec-apply .ttl-apply {
            gap: 16px; } }
        #campaign202511 .area-apply .sec-apply .ttl-apply .txt {
          font-size: 26px;
          font-weight: 700;
          color: #fff;
          letter-spacing: 0.1em;
          line-height: 1.05;
          text-align: center;
          padding: 1.8rem 0; }
          @media (min-width: 769px) {
            #campaign202511 .area-apply .sec-apply .ttl-apply .txt {
              font-size: 40px;
              padding: 24px 0; } }
          #campaign202511 .area-apply .sec-apply .ttl-apply .txt .small {
            font-size: 22px; }
            @media (min-width: 769px) {
              #campaign202511 .area-apply .sec-apply .ttl-apply .txt .small {
                font-size: 30px; } }
        #campaign202511 .area-apply .sec-apply .ttl-apply .icon {
          width: 28px;
          height: 29px; }
          @media (min-width: 769px) {
            #campaign202511 .area-apply .sec-apply .ttl-apply .icon {
              width: 58px;
              height: 59px; } }
      #campaign202511 .area-apply .sec-apply .list-num {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        flex-direction: column;
        gap: 0 6rem;
        padding: 1.2rem;
        counter-reset: number 0;
        margin-bottom: 3rem; }
        @media (min-width: 769px) {
          #campaign202511 .area-apply .sec-apply .list-num {
            flex-direction: row; } }
        #campaign202511 .area-apply .sec-apply .list-num > .item {
          display: flex;
          align-items: center;
          gap: 0 1rem;
          font-size: 1.8rem;
          font-weight: 700;
          letter-spacing: 0.08em;
          color: #fff; }
          @media (min-width: 769px) {
            #campaign202511 .area-apply .sec-apply .list-num > .item {
              font-size: 2.2rem; } }
          #campaign202511 .area-apply .sec-apply .list-num > .item::before {
            counter-increment: number 1;
            content: counter(number);
            font-size: 1.4rem;
            text-align: center;
            line-height: 2rem;
            width: 2rem;
            height: 2rem;
            background-color: #fff;
            border-radius: 50%; }
            @media (min-width: 769px) {
              #campaign202511 .area-apply .sec-apply .list-num > .item::before {
                font-size: 1.8rem;
                line-height: 2.8rem;
                width: 2.8rem;
                height: 2.8rem; } }
      #campaign202511 .area-apply .sec-apply .list-step {
        display: grid;
        grid-template-rows: repeat(3, auto);
        gap: 5rem;
        margin-top: 32px; }
        @media (min-width: 769px) {
          #campaign202511 .area-apply .sec-apply .list-step {
            grid-template-rows: auto;
            grid-template-columns: repeat(3, 1fr);
            margin-top: 40px; } }
        #campaign202511 .area-apply .sec-apply .list-step > .item .img {
          margin-bottom: 2.4rem; }
          #campaign202511 .area-apply .sec-apply .list-step > .item .img img {
            width: 100%;
            height: 100%;
            object-fit: contain; }
        #campaign202511 .area-apply .sec-apply .list-step > .item .text {
          font-size: 1.6rem; }
          @media (min-width: 769px) {
            #campaign202511 .area-apply .sec-apply .list-step > .item .text {
              font-size: 1.8rem; } }
        #campaign202511 .area-apply .sec-apply .list-step > .item .btn-paper {
          display: flex;
          align-items: center;
          gap: 8px;
          font-size: 14px;
          font-weight: 700;
          color: #f24c21;
          margin-top: 16px; }
          @media (min-width: 769px) {
            #campaign202511 .area-apply .sec-apply .list-step > .item .btn-paper {
              font-size: 16px; } }
          #campaign202511 .area-apply .sec-apply .list-step > .item .btn-paper::after {
            content: "";
            display: block;
            width: 22px;
            height: 19px;
            background-color: #f24c21;
            mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2222%22%20height%3D%2219%22%20viewBox%3D%220%200%2022%2019%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clip0_14402_18719)%22%3E%3Cpath%20d%3D%22M10.0737%2011.2491C10.209%2011.4289%2010.3914%2011.5275%2010.587%2011.5275C10.7827%2011.5275%2010.9651%2011.4285%2011.1003%2011.2491L14.8058%206.33435C14.9443%206.15082%2014.9824%205.97269%2014.9137%205.83327C14.8446%205.69384%2014.6809%205.61685%2014.4517%205.61685H13.0327C12.6484%205.61685%2012.3361%205.30263%2012.3361%204.916V0.861939C12.3361%200.402471%2011.9647%200.0283203%2011.5081%200.0283203H9.66551C9.20889%200.0283203%208.83748%200.402471%208.83748%200.861939V4.91641C8.83748%205.30305%208.52479%205.61727%208.14097%205.61727H6.7219C6.49276%205.61727%206.32898%205.69426%206.2599%205.83368C6.19125%205.97311%206.2293%206.15123%206.36785%206.33519L10.0733%2011.2499L10.0737%2011.2491Z%22%20fill%3D%22%23F24C21%22%2F%3E%3Cpath%20d%3D%22M18.4144%2010.6162V15.2483H2.76204V10.6162H0V16.9693C0%2017.5532%200.471921%2018.028%201.05221%2018.028H20.1243C20.7045%2018.028%2021.1765%2017.5532%2021.1765%2016.9693V10.6162H18.4144Z%22%20fill%3D%22%23F24C21%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_14402_18719%22%3E%3Crect%20width%3D%2221.1765%22%20height%3D%2218%22%20fill%3D%22white%22%20transform%3D%22translate(0%200.0283203)%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E");
            mask-position: center;
            mask-size: contain;
            mask-repeat: no-repeat; }
        @media (min-width: 769px) {
          #campaign202511 .area-apply .sec-apply .list-step > .item:not(:last-child) {
            position: relative; }
            #campaign202511 .area-apply .sec-apply .list-step > .item:not(:last-child)::before {
              content: "";
              display: block;
              width: 1.8rem;
              height: 2.8rem;
              mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2218%22%20height%3D%2228%22%20viewBox%3D%220%200%2018%2028%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.1407%2012.3946C18.1062%2013.1944%2018.1062%2014.6752%2017.1407%2015.475L3.52585%2026.7531C2.22213%2027.8331%200.249999%2026.9059%200.249999%2025.2129L0.25%202.65662C0.25%200.963695%202.22213%200.0364659%203.52585%201.11643L17.1407%2012.3946Z%22%20fill%3D%22%23F24C21%22%2F%3E%3C%2Fsvg%3E");
              mask-repeat: no-repeat;
              mask-position: 0 0;
              mask-size: 100%;
              position: absolute;
              right: -3.3rem;
              top: 0;
              bottom: 0;
              margin: auto;
              transform: rotate(0deg); } }
      #campaign202511 .area-apply .sec-apply .list-caution {
        margin-top: 32px;
        border: solid 3px #f24c21;
        border-radius: 10px;
        overflow: hidden; }
        #campaign202511 .area-apply .sec-apply .list-caution dt {
          font-size: 18px;
          font-weight: 700;
          line-height: 1.45;
          color: #fff;
          text-align: center;
          background-color: #f24c21;
          padding: 16px 0;
          margin: 0; }
          @media (min-width: 769px) {
            #campaign202511 .area-apply .sec-apply .list-caution dt {
              font-size: 22px;
              letter-spacing: 0.08em; }
              #campaign202511 .area-apply .sec-apply .list-caution dt br {
                display: none; } }
        #campaign202511 .area-apply .sec-apply .list-caution dd {
          font-size: 14px;
          letter-spacing: 0.03em;
          display: flex;
          flex-wrap: wrap;
          gap: 0.5em 1em;
          background-color: #fff;
          padding: 2.2rem 2.4rem; }
          @media (min-width: 769px) {
            #campaign202511 .area-apply .sec-apply .list-caution dd {
              font-size: 16px;
              justify-content: center; } }
      #campaign202511 .area-apply .sec-apply .list-terms {
        border: solid 1px #8b8b8b;
        margin-top: 5.3rem; }
        #campaign202511 .area-apply .sec-apply .list-terms dt {
          font-size: 2rem;
          font-weight: 700;
          line-height: 1.58;
          color: #fff;
          text-align: center;
          background-color: #8b8b8b;
          padding: 1.6rem 0; }
          @media (min-width: 769px) {
            #campaign202511 .area-apply .sec-apply .list-terms dt {
              font-size: 2.4rem; } }
        #campaign202511 .area-apply .sec-apply .list-terms dd {
          background-color: #fff;
          padding: 2.8rem 1rem 0;
          height: 27rem;
          overflow-y: scroll; }
          #campaign202511 .area-apply .sec-apply .list-terms dd > .inner {
            max-width: 71rem;
            margin: auto; }
      #campaign202511 .area-apply .sec-apply .list-note {
        display: flex;
        flex-direction: column;
        gap: 32px 0; }
        @media (min-width: 769px) {
          #campaign202511 .area-apply .sec-apply .list-note {
            gap: 64px 0; } }
        #campaign202511 .area-apply .sec-apply .list-note > .item .ttl-border {
          margin-bottom: 2.3rem; }
          #campaign202511 .area-apply .sec-apply .list-note > .item .ttl-border span {
            background-color: #fff; }
        #campaign202511 .area-apply .sec-apply .list-note > .item .box-cont {
          font-size: 1.6rem; }
          @media (min-width: 769px) {
            #campaign202511 .area-apply .sec-apply .list-note > .item .box-cont {
              font-size: 1.8rem; } }
          @media (min-width: 769px) {
            #campaign202511 .area-apply .sec-apply .list-note > .item .box-cont .img {
              max-width: 82.8rem;
              margin: 7.6rem auto 5.4rem; } }
          #campaign202511 .area-apply .sec-apply .list-note > .item .box-cont .date {
            font-size: 2rem; }
            @media (min-width: 769px) {
              #campaign202511 .area-apply .sec-apply .list-note > .item .box-cont .date {
                font-size: 2.6rem; } }
            #campaign202511 .area-apply .sec-apply .list-note > .item .box-cont .date strong {
              font-size: 2.6rem;
              color: #000; }
              @media (min-width: 769px) {
                #campaign202511 .area-apply .sec-apply .list-note > .item .box-cont .date strong {
                  font-size: 3.5rem; } }
          #campaign202511 .area-apply .sec-apply .list-note > .item .box-cont .txt-comment {
            margin-bottom: 2.3rem; }
            @media (min-width: 769px) {
              #campaign202511 .area-apply .sec-apply .list-note > .item .box-cont .txt-comment {
                text-align: center; } }
            #campaign202511 .area-apply .sec-apply .list-note > .item .box-cont .txt-comment .txt-strong {
              color: #e4007f; }
          #campaign202511 .area-apply .sec-apply .list-note > .item .box-cont .list-indent {
            background-color: #f0f5fa; }
      #campaign202511 .area-apply .sec-apply.post {
        border-color: #f24c21; }
        #campaign202511 .area-apply .sec-apply.post .accent {
          color: #f24c21; }
        #campaign202511 .area-apply .sec-apply.post .ttl-apply {
          background-color: #f24c21; }
        #campaign202511 .area-apply .sec-apply.post .ttl-border span {
          color: #f24c21; }
        #campaign202511 .area-apply .sec-apply.post .list-step > .item::before {
          background-color: #f24c21; }
        @media (min-width: 769px) {
          #campaign202511 .area-apply .sec-apply.post .list-step > .item .img {
            height: 28.5rem; } }
        #campaign202511 .area-apply .sec-apply.post .list-num {
          background-color: #f24c21; }
          #campaign202511 .area-apply .sec-apply.post .list-num > .item::before {
            color: #f24c21; }
        #campaign202511 .area-apply .sec-apply.post .list-indent {
          background-color: #fdefec !important; }
      #campaign202511 .area-apply .sec-apply.instagram {
        border-color: #059f47; }
        #campaign202511 .area-apply .sec-apply.instagram .accent {
          color: #059f47; }
        #campaign202511 .area-apply .sec-apply.instagram .ttl-apply {
          background-color: #059f47; }
        #campaign202511 .area-apply .sec-apply.instagram .ttl-border span {
          color: #059f47; }
        #campaign202511 .area-apply .sec-apply.instagram .list-step > .item::before {
          background-color: #059f47; }
        #campaign202511 .area-apply .sec-apply.instagram .list-step > .item .img {
          height: 30.2rem; }
        #campaign202511 .area-apply .sec-apply.instagram .list-num {
          background-color: #059f47; }
          #campaign202511 .area-apply .sec-apply.instagram .list-num > .item::before {
            color: #059f47; }
      #campaign202511 .area-apply .sec-apply.web {
        border-color: #00479d; }
        #campaign202511 .area-apply .sec-apply.web .accent {
          color: #00479d; }
        #campaign202511 .area-apply .sec-apply.web .ttl-apply {
          background-color: #00479d; }
        #campaign202511 .area-apply .sec-apply.web .ttl-border span {
          color: #00479d; }
        #campaign202511 .area-apply .sec-apply.web .list-step > .item::before {
          background-color: #00479d; }
        @media (min-width: 769px) {
          #campaign202511 .area-apply .sec-apply.web .list-step > .item .img {
            height: 28.5rem; } }
        #campaign202511 .area-apply .sec-apply.web .list-num {
          background-color: #00479d; }
          #campaign202511 .area-apply .sec-apply.web .list-num > .item::before {
            color: #00479d; }
        #campaign202511 .area-apply .sec-apply.web .sec-entry {
          display: flex;
          flex-direction: column;
          justify-content: center;
          opacity: 0.5; }
          #campaign202511 .area-apply .sec-apply.web .sec-entry .mod-btn {
            font-size: 2.2rem;
            text-align: center;
            max-width: 50.7rem;
            margin-top: 10rem;
            position: relative;
            pointer-events: none; }
            #campaign202511 .area-apply .sec-apply.web .sec-entry .mod-btn:hover {
              pointer-events: none; }
            #campaign202511 .area-apply .sec-apply.web .sec-entry .mod-btn.web:hover {
              pointer-events: none;
              box-shadow: 0 5px 0 #004380; }
            @media (min-width: 769px) {
              #campaign202511 .area-apply .sec-apply.web .sec-entry .mod-btn {
                font-size: 3.4rem; }
                #campaign202511 .area-apply .sec-apply.web .sec-entry .mod-btn br {
                  display: none; } }
            #campaign202511 .area-apply .sec-apply.web .sec-entry .mod-btn .milko {
              height: 12rem;
              position: absolute;
              top: -10rem;
              left: 0;
              right: 0;
              margin: auto;
              pointer-events: none; }
              #campaign202511 .area-apply .sec-apply.web .sec-entry .mod-btn .milko img {
                width: 100%;
                height: 100%;
                object-fit: contain; }
    #campaign202511 .area-apply .sec-cmn .ttl-03 {
      font-size: 18px;
      line-height: 1.63;
      margin-bottom: 16px; }
      @media (min-width: 769px) {
        #campaign202511 .area-apply .sec-cmn .ttl-03 {
          font-size: 22px; } }
    #campaign202511 .area-apply .sec-note,
    #campaign202511 .area-apply .sec-information,
    #campaign202511 .area-apply .sec-contact {
      margin: 20px 0; }
      @media (min-width: 769px) {
        #campaign202511 .area-apply .sec-note,
        #campaign202511 .area-apply .sec-information,
        #campaign202511 .area-apply .sec-contact {
          margin: 40px 0; } }
    #campaign202511 .area-apply .sec-contact .tel {
      font-size: 24px;
      font-weight: 800;
      line-height: 1.21; }
      @media (min-width: 769px) {
        #campaign202511 .area-apply .sec-contact .tel {
          font-size: 32px; } }
    #campaign202511 .area-apply .sec-contact .reception {
      line-height: 2.43; }
    #campaign202511 .area-apply .sec-contact .note {
      margin-top: 16px; }
