@charset "UTF-8";
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 {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

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

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

.clearfix {
  display: inline-block; }

/* Hides from IE Mac */
* html .clearfix {
  height: 1%; }

.clearfix {
  display: block; }

/* ---------- 初期 ---------- */
body {
  letter-spacing: 0;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif !important; }

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  line-height: 0; }

a {
  text-decoration: none; }

strong {
  font-weight: bold; }

/* ---------- /共通部分 ---------- */
#jougetyuou {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto; }

#kadomaru {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px; }

#resbtn {
  -webkit-appearance: none; }

.ancr {
  position: relative;
  transition: 0.5s; }

.anca {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 10;
  cursor: pointer; }

.ancr:hover {
  opacity: 0.75;
  transition: 0.5s;
  cursor: pointer; }

/* ---------- /参考タグ部分 ---------- */
.wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.font_mont {
  font-family: "Montserrat", sans-serif; }

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-50%); } }
/* PC */
@media screen and (min-width: 901px) {
  .sponly {
    display: none !important; }

  header {
    width: 100%;
    position: fixed;
    top: 27px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10; }
    header .inner {
      width: 96.354%;
      margin: 0 auto;
      box-sizing: border-box;
      padding: 20px 30px;
      background: #FFD01C;
      border-radius: 100px;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      header .inner .logo {
        width: 125px; }
        header .inner .logo a {
          display: block;
          width: 100%; }
      header .inner nav ul {
        display: flex;
        justify-content: center; }
        header .inner nav ul li {
          font-size: 20px;
          font-weight: 900;
          margin: 0 20px; }
          header .inner nav ul li a {
            display: inline-block;
            line-height: 2em;
            color: #000; }
            header .inner nav ul li a:hover {
              text-decoration: underline; }
      header .inner .header_btn {
        width: 235px;
        font-size: 25px;
        font-weight: 900; }
        header .inner .header_btn a {
          display: block;
          width: 100%;
          line-height: 2em;
          color: #000;
          text-align: center;
          border-radius: 30px;
          border: solid 3px #000;
          background: #EA87BB;
          padding: 2px 0; } }
@media screen and (min-width: 901px) and (max-width: 1600px) {
  header .inner {
    padding: 20px 30px;
    padding: 1.25vw 1.875vw; }
    header .inner .logo {
      width: 125px;
      width: 7.812vw; }
      header .inner .logo a {
        display: block;
        width: 100%; }
    header .inner nav ul {
      display: flex;
      justify-content: center; }
      header .inner nav ul li {
        font-size: 20px;
        font-size: 1.25vw;
        font-weight: 900;
        margin: 0 1.25vw; }
        header .inner nav ul li a {
          display: inline-block;
          line-height: 2em;
          color: #000; }
          header .inner nav ul li a:hover {
            text-decoration: underline; }
    header .inner .header_btn {
      width: 235px;
      width: 14.6875vw;
      font-size: 1.56vw;
      font-weight: 900; }
      header .inner .header_btn a {
        display: block;
        width: 100%;
        line-height: 2em;
        color: #000;
        text-align: center;
        border-radius: 30px;
        border: solid 3px #000;
        background: #EA87BB;
        padding: 2px 0; } }
@media screen and (min-width: 901px) {
  #content {
    width: 100%;
    height: 100%;
    background: #FFE378;
    position: relative;
    display: flex;
    justify-content: space-between; }

  .pc_center {
    width: 100%; }
    .pc_center .main_cont {
      width: 100%;
      overflow: hidden; }
      .pc_center .main_cont img {
        width: 100%; }

  #mv {
    position: relative; }
    #mv .inner {
      width: 93.75%;
      padding: 166px 0 67px;
      display: flex;
      justify-content: flex-start;
      align-items: center; }
      #mv .inner .mv_img {
        width: 59.977%;
        margin-right: 4.5%; }
      #mv .inner .mv_cont {
        width: 35.643%;
        position: relative;
        z-index: 3; }
        #mv .inner .mv_cont .mv_ttl {
          width: 100%;
          margin-bottom: 36px; }
        #mv .inner .mv_cont .mv_icon {
          width: 70.762%;
          margin: 0 auto 36px; }
        #mv .inner .mv_cont .mv_btn {
          width: 403px;
          max-width: 100%;
          margin: 0 auto; }
          #mv .inner .mv_cont .mv_btn a {
            display: block;
            width: 100%;
            font-size: 31px;
            line-height: 2em;
            font-weight: 900;
            color: #000;
            text-align: center;
            padding: 12px 0;
            border-radius: 80px;
            border: solid 4px #000;
            background: #EA87BB;
            box-shadow: 3px 6px 0 #000;
            transition: 0.3s; }
            #mv .inner .mv_cont .mv_btn a:hover {
              opacity: 0.8; }
    #mv .mv_ob {
      width: 100%;
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: 2; }

  #media {
    margin-top: 40px;
    padding: 25px 0;
    background: #fff; }
    #media .media_ttl {
      font-size: 40px;
      letter-spacing: 0.07em;
      line-height: 1.56em;
      font-weight: 900;
      text-align: center;
      margin-bottom: 20px; }
      #media .media_ttl span {
        display: inline-block;
        width: 440px;
        background: url("../img/media_ttl_bg.png") no-repeat center;
        background-size: contain; }
    #media .media_boxes {
      width: 100%;
      overflow: hidden;
      display: flex; }
      #media .media_boxes .media_box {
        width: 3840px;
        flex-shrink: 0;
        display: flex;
        justify-content: flex-start;
        animation: infinity-scroll-left 30s infinite linear 0.5s both; }
        #media .media_boxes .media_box img {
          width: 1920px;
          padding-left: 20px; }

  #head {
    position: relative;
    padding-top: 127px;
    margin-top: -127px; }
    #head .inner {
      padding: 320px 0 75px;
      position: relative;
      background: #FFE378; }
    #head::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 12px;
      left: 0;
      bottom: -6px;
      background: url("../img/section_dot_01_pc.png") repeat-x left center;
      background-size: auto 100%; }
    #head .head_img {
      width: 771px;
      max-width: 95%;
      position: absolute;
      top: -7px;
      left: 50%;
      transform: translateX(-50%); }
    #head .head_cont {
      width: 1000px;
      max-width: 95%;
      margin: 0 auto;
      padding: 75px 0 37px;
      border-radius: 20px;
      border: solid 3px #000;
      background: #fff;
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center; }
      #head .head_cont .head_cont_img {
        width: 149px;
        position: absolute;
        left: 50%;
        top: -127px;
        transform: translateX(-50%) rotate(10deg); }
      #head .head_cont .head_cont_left {
        width: 48%;
        margin-right: 2%; }
        #head .head_cont .head_cont_left .head_cont_txt {
          font-size: 30px;
          letter-spacing: 0.07em;
          line-height: 2.32em;
          font-weight: 900;
          text-align: center;
          margin-bottom: 30px; }
          #head .head_cont .head_cont_left .head_cont_txt span {
            display: inline;
            line-height: 2.32em;
            position: relative;
            padding: 0 0.2em 0.5em;
            background: url("../img/head_line_dot_pc.png") no-repeat left bottom;
            background-size: auto 8px;
            /*&::before {
            	position: absolute;
            	content: "";
            	width: 100%;
            	height: 8px;
            	left: 0;
            	bottom: 0;
            	background: url("../img/head_line_dot_pc.png")no-repeat;
            	background-size: auto 100%;
            }*/ }
        #head .head_cont .head_cont_left .causion {
          font-size: 15px;
          line-height: 1.1em;
          text-align: center;
          margin-bottom: 30px; }
      #head .head_cont .head_boxes {
        width: 32%;
        position: relative; }
        #head .head_cont .head_boxes .head_box {
          width: 165px;
          height: 165px;
          box-sizing: border-box;
          border-radius: 100%;
          border: solid 4px #000;
          background: #FCF5DA;
          box-shadow: 4px 6px 0 #000; }
          #head .head_cont .head_boxes .head_box:nth-child(2) {
            position: absolute;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            z-index: 2; }
          #head .head_cont .head_boxes .head_box:nth-child(3) {
            position: absolute;
            top: 0;
            right: 0;
            z-index: 3; }
          #head .head_cont .head_boxes .head_box .head_box_txt {
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            text-align: center; }
            #head .head_cont .head_boxes .head_box .head_box_txt .txt {
              font-size: 19px;
              line-height: 1.3em;
              font-weight: 900; }
              #head .head_cont .head_boxes .head_box .head_box_txt .txt.small {
                font-size: 11px; }
              #head .head_cont .head_boxes .head_box .head_box_txt .txt:nth-child(2) {
                margin-top: 6px; }

  #set {
    background: #fff; }
    #set .inner {
      width: 1000px;
      max-width: 95%;
      margin: 0 auto;
      padding: 105px 0 155px; }
      #set .inner .set_ttl {
        font-size: 56px;
        letter-spacing: 0.07em;
        line-height: 1.53em;
        font-weight: 900;
        color: #FF9900;
        text-align: center;
        margin-bottom: 75px; }
        #set .inner .set_ttl span {
          display: inline-block;
          font-size: 100px;
          line-height: 1.06em;
          color: #FF9900;
          vertical-align: -0.07em; }
      #set .inner .set_boxes {
        display: flex;
        justify-content: space-between; }
        #set .inner .set_boxes .set_box {
          width: 48%;
          text-align: center; }
          #set .inner .set_boxes .set_box:nth-child(1) .set_box_img {
            width: 89.166%; }
          #set .inner .set_boxes .set_box:nth-child(2) .set_box_img {
            width: 87.822%; }
          #set .inner .set_boxes .set_box .set_box_ttl {
            font-size: 31px;
            line-height: 2em;
            font-weight: 900;
            padding: 2px 0;
            border-radius: 120px;
            border: solid 6px #000; }
            #set .inner .set_boxes .set_box .set_box_ttl.pink {
              background: #EA87BB; }
            #set .inner .set_boxes .set_box .set_box_ttl.orange {
              background: #FF9900; }
          #set .inner .set_boxes .set_box .set_box_img {
            margin: 30px auto; }
          #set .inner .set_boxes .set_box .set_box_price {
            width: 388px;
            max-width: 90%;
            margin: 0 auto; }
          #set .inner .set_boxes .set_box .set_box_coupon {
            width: 390px;
            max-width: 90%;
            margin: 30px auto; }
            #set .inner .set_boxes .set_box .set_box_coupon a {
              display: block;
              width: 100%;
              transition: 0.3s; }
              #set .inner .set_boxes .set_box .set_box_coupon a:hover {
                opacity: 0.8; }
          #set .inner .set_boxes .set_box .set_box_btn {
            width: 405px;
            max-width: 90%;
            margin: 0 auto; }
            #set .inner .set_boxes .set_box .set_box_btn a {
              display: block;
              width: 100%;
              font-size: 31px;
              line-height: 2em;
              font-weight: 900;
              color: #000;
              padding: 27px 0;
              border-radius: 120px;
              border: solid 4px #000;
              box-shadow: 3px 6px 0 #000;
              transition: 0.3s; }
              #set .inner .set_boxes .set_box .set_box_btn a.pink {
                background: #EA87BB; }
              #set .inner .set_boxes .set_box .set_box_btn a.orange {
                background: #FF9900; }
              #set .inner .set_boxes .set_box .set_box_btn a:hover {
                opacity: 0.8; }

  #question {
    position: relative;
    padding: 90px 0 45px;
    background: #B5B5B5;
    position: relative; }
    #question::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 15px;
      top: -14px;
      left: 0;
      background: url("../img/question_bg_pc.png") repeat-x left bottom;
      background-size: auto 100%; }
    #question .question_box {
      width: 1000px;
      max-width: 95%;
      margin: 0 auto;
      box-sizing: border-box;
      padding: 56px 0;
      border-radius: 30px;
      border: solid 4px #000;
      background: #DCDCDC;
      text-align: center;
      position: relative; }
      #question .question_box .icon {
        width: 60px;
        position: absolute;
        top: -36px;
        left: 50%;
        transform: translateX(-50%); }
      #question .question_box .question_ttl {
        font-size: 46px;
        letter-spacing: 0.07em;
        line-height: 1.5em;
        font-weight: 900; }
      #question .question_box .question_txt {
        width: 80.6%;
        margin: 30px auto 0; }
      #question .question_box .question_img {
        width: 390px;
        max-width: 40%;
        margin: -57px auto 0; }

  #designed {
    position: relative;
    background: #FFE378;
    text-align: center; }
    #designed::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 15px;
      top: 0;
      left: 0;
      background: url("../img/designed_bg_pc.png") repeat-x left bottom;
      background-size: auto 100%; }
    #designed::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 12px;
      left: 0;
      bottom: -6px;
      background: url("../img/section_dot_01_pc.png") repeat-x left center;
      background-size: auto 100%;
      z-index: 3; }
    #designed .inner {
      width: 1000px;
      max-width: 95%;
      margin: 0 auto;
      padding: 105px 0; }
      #designed .inner .designed_ttl {
        width: 654px;
        height: 256px;
        margin: 0 auto;
        box-sizing: border-box;
        padding-top: 50px;
        background: url("../img/designed_ttl_bg.png") no-repeat center;
        background-size: contain; }
        #designed .inner .designed_ttl .en {
          font-size: 22px;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900;
          color: #8EB07A;
          margin-bottom: 6px; }
        #designed .inner .designed_ttl h2 {
          font-size: 44px;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900; }
      #designed .inner .designed_box {
        display: flex;
        justify-content: space-between;
        margin-top: 40px; }
        #designed .inner .designed_box .designed_box_left {
          width: 45.4%; }
          #designed .inner .designed_box .designed_box_left .designed_img_01 {
            width: 220px;
            max-width: 100%;
            margin: 0 auto; }
          #designed .inner .designed_box .designed_box_left .designed_txt {
            font-size: 20px;
            letter-spacing: 0.07em;
            line-height: 2em;
            font-weight: 900;
            margin-top: 14px; }
        #designed .inner .designed_box .designed_img_02 {
          width: 52.5%;
          margin: 0 auto; }
      #designed .inner .designed_btn {
        width: 430px;
        margin: 45px auto 0; }
        #designed .inner .designed_btn a {
          display: block;
          width: 100%;
          font-size: 22px;
          line-height: 2em;
          font-weight: 900;
          color: #000;
          padding: 4px 0;
          box-sizing: border-box;
          border-radius: 45px;
          border: solid 4px #000;
          background: #BFD9AF;
          transition: 0.3s; }
          #designed .inner .designed_btn a:hover {
            opacity: 0.8; }

  #about {
    position: relative;
    padding-top: 120px;
    margin-top: -120px; }
    #about::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 12px;
      left: 0;
      bottom: -6px;
      background: url("../img/section_dot_01_pc.png") repeat-x left center;
      background-size: auto 100%;
      z-index: 3; }
    #about .bg {
      background: #fff; }
    #about .inner {
      width: 978px;
      max-width: 95%;
      margin: 0 auto;
      padding: 105px 0; }
      #about .inner .about_ttl {
        width: 654px;
        height: 256px;
        margin: 0 auto;
        box-sizing: border-box;
        padding-top: 80px;
        background: url("../img/designed_ttl_bg.png") no-repeat center;
        background-size: contain;
        text-align: center; }
        #about .inner .about_ttl .en {
          font-size: 22px;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900;
          color: #EA87BB;
          margin-bottom: 6px; }
        #about .inner .about_ttl h2 {
          font-size: 44px;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900; }
      #about .inner .about_box {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        margin-top: 50px; }
        #about .inner .about_box .about_big_txt {
          width: 34.75%;
          max-width: 293px;
          font-size: 25px;
          letter-spacing: 0.05em;
          line-height: 2em;
          font-weight: 900;
          margin-right: 2.1%;
          order: 1; }
        #about .inner .about_box .about_txt {
          width: 60.9%;
          font-size: 20px;
          letter-spacing: 0.03em;
          line-height: 2em;
          font-weight: bold;
          order: 2; }
        #about .inner .about_box .about_img {
          width: 100%;
          margin-top: 50px;
          order: 3; }

  #point {
    padding-top: 120px;
    margin-top: -120px;
    position: relative; }
    #point::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 12px;
      left: 0;
      bottom: -6px;
      background: url("../img/section_dot_01_pc.png") repeat-x left center;
      background-size: auto 100%;
      z-index: 3; }
    #point .inner {
      width: 100%;
      margin: 0 auto;
      padding: 105px 0; }
      #point .inner .point_ttl {
        text-align: center;
        margin-bottom: 160px; }
        #point .inner .point_ttl .en {
          font-size: 32px;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900;
          color: #EA87BB;
          margin-bottom: 8px; }
        #point .inner .point_ttl h2 {
          font-size: 60px;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900; }
          #point .inner .point_ttl h2 .num {
            display: inline-block;
            font-size: 106px;
            line-height: 0.96em;
            margin-right: 6px; }
          #point .inner .point_ttl h2 .big {
            display: inline-block;
            font-size: 64px;
            line-height: 1.3em; }
      #point .inner .point_slider_pc {
        width: 100%;
        overflow: visible; }
        #point .inner .point_slider_pc .point_cont {
          width: 330px;
          width: 17.1875%;
          position: relative;
          padding: 38px 10px 0; }
          #point .inner .point_slider_pc .point_cont .point_num {
            width: auto;
            position: absolute;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            z-index: 2; }
            #point .inner .point_slider_pc .point_cont .point_num img {
              width: auto;
              height: 75px; }
          #point .inner .point_slider_pc .point_cont .point_box {
            box-sizing: border-box;
            padding: 52px 32px 21px;
            border-radius: 30px;
            border: solid 3px #000;
            background: #fff; }
            #point .inner .point_slider_pc .point_cont .point_box h3 {
              font-size: 20px;
              letter-spacing: 0.07em;
              line-height: 1.5em;
              font-weight: 900;
              color: #EA87BB;
              text-align: center; }
            #point .inner .point_slider_pc .point_cont .point_box .point_box_img {
              margin: 21px 0; }
            #point .inner .point_slider_pc .point_cont .point_box .point_box_txt {
              font-size: 14px;
              letter-spacing: 0.03em;
              line-height: 2em;
              font-weight: bold; }
            #point .inner .point_slider_pc .point_cont .point_box .causion {
              font-size: 10px;
              letter-spacing: 0.03em;
              line-height: 2em;
              margin-top: 25px; }
        #point .inner .point_slider_pc .prev-arrow {
          width: 59px;
          position: absolute;
          right: 47%;
          transform: translateX(-60px);
          top: -80px;
          cursor: pointer; }
        #point .inner .point_slider_pc .next-arrow {
          width: 59px;
          position: absolute;
          left: 47%;
          transform: translateX(60px);
          top: -80px;
          cursor: pointer; } }
@media screen and (min-width: 901px) and (max-width: 1600px) {
  #point .inner .point_slider_pc {
    width: 100%;
    overflow: visible; }
    #point .inner .point_slider_pc .point_cont {
      width: 17.1875%;
      position: relative;
      padding: 38px 10px 0;
      padding: 2.365vw 0.625vw 0; }
      #point .inner .point_slider_pc .point_cont .point_num {
        width: auto;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: 2; }
        #point .inner .point_slider_pc .point_cont .point_num img {
          width: auto;
          height: 75px;
          height: 4.687vw; }
      #point .inner .point_slider_pc .point_cont .point_box {
        box-sizing: border-box;
        padding: 52px 32px 21px;
        padding: 3.25vw 1.25vw 1.31vw;
        border-radius: 30px;
        border: solid 3px #000;
        background: #fff; }
        #point .inner .point_slider_pc .point_cont .point_box h3 {
          font-size: 20px;
          font-size: 1.25vw;
          letter-spacing: 0.07em;
          line-height: 1.5em;
          font-weight: 900;
          color: #EA87BB;
          text-align: center; }
        #point .inner .point_slider_pc .point_cont .point_box .point_box_img {
          margin: 21px 0;
          margin: 1.31vw 0; }
        #point .inner .point_slider_pc .point_cont .point_box .point_box_txt {
          font-size: 14px;
          font-size: 0.875vw;
          letter-spacing: 0.03em;
          line-height: 1.75em;
          font-weight: bold; }
        #point .inner .point_slider_pc .point_cont .point_box .causion {
          font-size: 10px;
          font-size: 0.625vw;
          letter-spacing: 0.03em;
          line-height: 2em;
          margin-top: 25px;
          margin-top: 1.56vw; } }
@media screen and (min-width: 901px) {
  #scene {
    position: relative;
    background: #fff; }
    #scene::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 12px;
      left: 0;
      bottom: -6px;
      background: url("../img/section_dot_02_pc.png") repeat-x left center;
      background-size: auto 100%;
      z-index: 3; }
    #scene .inner {
      width: 1000px;
      max-width: 95%;
      margin: 0 auto;
      padding: 105px 0;
      overflow: hidden; }
      #scene .inner .scene_ttl {
        width: 654px;
        height: 256px;
        margin: 0 auto 52px;
        box-sizing: border-box;
        padding-top: 50px;
        background: url("../img/designed_ttl_bg.png") no-repeat center;
        background-size: contain;
        text-align: center; }
        #scene .inner .scene_ttl .en {
          font-size: 22px;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900;
          color: #AF8662;
          margin-bottom: 6px; }
        #scene .inner .scene_ttl h2 {
          font-size: 44px;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900; }
      #scene .inner .scene_slider {
        display: flex;
        justify-content: space-between; }
        #scene .inner .scene_slider .scene_box {
          width: 30%; }
          #scene .inner .scene_slider .scene_box .scene_box_txt {
            font-size: 17px;
            letter-spacing: 0.03em;
            line-height: 2em;
            font-weight: 900;
            margin-top: 9px; }

  #lineup {
    padding-top: 120px;
    margin-top: -120px;
    position: relative; }
    #lineup::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 12px;
      left: 0;
      bottom: -6px;
      background: url("../img/section_dot_02_pc.png") repeat-x left center;
      background-size: auto 100%;
      z-index: 3; }
    #lineup .bg {
      background: #FFD01C; }
    #lineup .inner {
      width: 100%;
      margin: 0 auto;
      padding: 105px 0; }
      #lineup .inner .lineup_ttl {
        text-align: center;
        margin-bottom: 148px; }
        #lineup .inner .lineup_ttl .en {
          font-size: 24px;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900;
          color: #EA87BB;
          margin-bottom: 6px; }
        #lineup .inner .lineup_ttl h2 {
          font-size: 45px;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900; }
          #lineup .inner .lineup_ttl h2 .num {
            display: inline-block;
            font-size: 79px;
            line-height: 0.96em;
            margin-right: 6px; }
          #lineup .inner .lineup_ttl h2 .big {
            display: inline-block;
            font-size: 48px;
            line-height: 1.3125em; }
      #lineup .inner .lineup_slider_pc {
        width: 100%;
        overflow: visible; }
        #lineup .inner .lineup_slider_pc .lineup_box {
          width: 17%;
          display: flex;
          justify-content: center;
          padding: 5vw 0;
          position: relative;
          z-index: 1;
          margin: 0 20px;
          height: 43vw; }
          #lineup .inner .lineup_slider_pc .lineup_box img {
            transition: transform 0.6s ease-in-out;
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translateX(-50%) translateY(-50%) scale(0.95); }
          #lineup .inner .lineup_slider_pc .lineup_box.slick-center {
            z-index: 2; }
            #lineup .inner .lineup_slider_pc .lineup_box.slick-center img {
              transform: translateX(-50%) translateY(-50%) scale(1.2);
              max-width: 200%; }
        #lineup .inner .lineup_slider_pc .prev-arrow {
          width: 59px;
          position: absolute;
          right: 47%;
          transform: translateX(-60px);
          top: -80px;
          top: -130px;
          cursor: pointer; }
        #lineup .inner .lineup_slider_pc .next-arrow {
          width: 59px;
          position: absolute;
          left: 47%;
          transform: translateX(60px);
          top: -80px;
          top: -130px;
          cursor: pointer; }

  /* 全体レイアウト */
  .mejiro-data-slider {
    width: 100%;
    overflow: hidden;
    position: relative; }

  /* 画像スライダー */
  .img-slider {
    overflow: visible !important;
    /* 左右の見切れを表示 */ }

  .img-slider .swiper-slide {
    width: 320px;
    /* 目白大学に近いサイズ */
    transition: opacity 0.6s ease;
    opacity: 0.3;
    /* 中央以外は薄く */ }

  /* 中央のスライドのみ不透明度1 */
  .img-slider .swiper-slide-active {
    opacity: 1; }

  /* 内部要素の拡大縮小 */
  .img-container, .slider-slide-inner {
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    transform: scale(0.6);
    /* 基本は小さく */
    transform-origin: center center; }

  /* アクティブな時だけ元のサイズ(1)に戻す */
  .swiper-slide-active .img-container,
  .swiper-slide-active .slider-slide-inner {
    transform: scale(1); }

  /* テキストスライダー */
  .text-slider {
    margin-top: 30px;
    text-align: center; }

  #howto {
    position: relative;
    background: #fff; }
    #howto::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 12px;
      left: 0;
      bottom: -6px;
      background: url("../img/section_dot_01_pc.png") repeat-x left center;
      background-size: auto 100%;
      z-index: 3; }
    #howto .inner {
      width: 1000px;
      max-width: 95%;
      margin: 0 auto;
      padding: 105px 0; }
      #howto .inner .howto_ttl {
        width: 654px;
        height: 256px;
        margin: 0 auto;
        box-sizing: border-box;
        padding-top: 78px;
        background: url("../img/designed_ttl_bg.png") no-repeat center;
        background-size: contain;
        text-align: center; }
        #howto .inner .howto_ttl .en {
          font-size: 22px;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900;
          color: #EA87BB;
          margin-bottom: 6px; }
        #howto .inner .howto_ttl h2 {
          font-size: 44px;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900; }
      #howto .inner .howto_img {
        width: 750px;
        margin: 50px auto; }
      #howto .inner .howto_box {
        padding: 40px 52px;
        box-sizing: border-box;
        border-radius: 15px;
        background: #FCF5DA;
        display: flex;
        justify-content: space-between;
        align-items: center; }
        #howto .inner .howto_box .howto_box_img {
          width: 195px;
          margin-right: 31px; }
        #howto .inner .howto_box .howto_box_right {
          flex: 1; }
          #howto .inner .howto_box .howto_box_right .howto_box_ttl {
            font-size: 24px;
            letter-spacing: 0.07em;
            line-height: 1.5em;
            font-weight: 900;
            margin-bottom: 20px; }
          #howto .inner .howto_box .howto_box_right .howto_box_txt {
            font-size: 21px;
            letter-spacing: 0.07em;
            line-height: 1.79em;
            font-weight: bold; }

  #voice {
    position: relative;
    padding-top: 120px;
    margin-top: -120px;
    /*&::after {
    	position: absolute;
    	content: "";
    	width: 100%;
    	height: 72px;
    	left: 0;
    	bottom: -30px;
    	background: url("../img/voice_bg.png")no-repeat;
    	background-size: contain;
    	z-index: 3;
    }*/ }
    #voice .bg {
      background: #FFEDF7; }
    #voice .inner {
      width: 1000px;
      max-width: 95%;
      margin: 0 auto;
      padding: 105px 0 425px;
      overflow: hidden; }
      #voice .inner .voice_ttl {
        width: 654px;
        height: 256px;
        margin: 0 auto 50px;
        box-sizing: border-box;
        padding-top: 50px;
        background: url("../img/designed_ttl_bg.png") no-repeat center;
        background-size: contain;
        text-align: center; }
        #voice .inner .voice_ttl .en {
          font-size: 22px;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900;
          color: #AF8662;
          margin-bottom: 6px; }
        #voice .inner .voice_ttl h2 {
          font-size: 44px;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900; }
      #voice .inner .voice_slider {
        display: flex;
        justify-content: space-between; }
        #voice .inner .voice_slider .voice_box {
          width: 30%; }
          #voice .inner .voice_slider .voice_box .voice_box_ttl {
            font-size: 17px;
            letter-spacing: 0.05em;
            line-height: 1.3em;
            font-weight: 900;
            color: #fff;
            text-align: center;
            padding: 4px 0;
            border-radius: 60px;
            border: solid 3px #000;
            background: #EA87BB;
            position: relative; }
            #voice .inner .voice_slider .voice_box .voice_box_ttl::before {
              position: absolute;
              content: "";
              width: 19px;
              height: 13px;
              bottom: -13px;
              left: 50%;
              transform: translateX(-50%);
              background: url("../img/voice_box_ttl_arrow.png") no-repeat;
              background-size: contain; }
          #voice .inner .voice_slider .voice_box .voice_box_name {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            margin: 17px 0 7px; }
            #voice .inner .voice_slider .voice_box .voice_box_name .img {
              width: 58px;
              margin-right: 10px; }
            #voice .inner .voice_slider .voice_box .voice_box_name .name {
              flex: 1;
              font-size: 17px;
              letter-spacing: 0.03em;
              line-height: 2em;
              font-weight: bold; }
          #voice .inner .voice_slider .voice_box .voice_box_txt {
            font-size: 14px;
            letter-spacing: 0.03em;
            line-height: 2em;
            font-weight: 900;
            margin-top: 7px; }

  #rice {
    position: relative;
    margin-top: -376px;
    padding: 64px 0;
    /*&::after {
    	position: absolute;
    	content: "";
    	width: 100%;
    	height: 72px;
    	left: 0;
    	bottom: -30px;
    	background: url("../img/rice_bg.png")no-repeat;
    	background-size: contain;
    	z-index: 3;
    }*/ }
    #rice::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 50%;
      left: 0;
      bottom: 0;
      background: #fff; }
    #rice .inner {
      width: 1452px;
      max-width: 100%;
      margin: 0 auto;
      padding: 92px 0;
      background: url("../img/rice_bg_pc.png") no-repeat center;
      background-size: 100% 100%;
      position: relative;
      z-index: 2; }
      #rice .inner .rice_box {
        width: 1000px;
        max-width: 95%;
        margin: 0 auto;
        padding: 24px 0;
        background: url("../img/rice_box_img_pc.png") no-repeat center;
        background-size: 100% 100%; }
        #rice .inner .rice_box .rice_ttl {
          text-align: center;
          margin-bottom: 20px; }
          #rice .inner .rice_box .rice_ttl .en {
            font-size: 32px;
            letter-spacing: 0.05em;
            line-height: 1.3em;
            font-weight: 900;
            color: #BFD9AF; }
          #rice .inner .rice_box .rice_ttl h2 {
            font-size: 58px;
            letter-spacing: 0.07em;
            line-height: 1.5em;
            font-weight: 900;
            color: #8EB07A; }
        #rice .inner .rice_box .rice_txt {
          text-align: center; }
          #rice .inner .rice_box .rice_txt .txt {
            font-size: 14px;
            letter-spacing: 0.03em;
            line-height: 2em;
            font-weight: bold; }
            #rice .inner .rice_box .rice_txt .txt:nth-child(n+2) {
              margin-top: 12px; }

  .banner {
    padding: 30px 0;
    background: #fff; }
    .banner .banner_box {
      width: 800px;
      margin: 0 auto; }
      .banner .banner_box a {
        display: block;
        width: 100%;
        transition: 0.3s; }
        .banner .banner_box a:hover {
          opacity: 0.8; }

  #faq {
    position: relative; }
    #faq .bg {
      background: #fff; }
    #faq .inner {
      width: 800px;
      margin: 0 auto 0;
      padding: 135px 0 85px; }
      #faq .inner .faq_ttl {
        text-align: center;
        margin-bottom: 22px; }
        #faq .inner .faq_ttl .en {
          font-size: 22px;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900;
          color: #EA87BB;
          margin-bottom: 6px; }
        #faq .inner .faq_ttl h2 {
          font-size: 44px;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900; }
      #faq .inner .faq_boxes .faq_box {
        position: relative;
        padding: 22px 0; }
        #faq .inner .faq_boxes .faq_box::after {
          position: absolute;
          content: "";
          width: 100%;
          height: 8px;
          left: 0;
          bottom: -4px;
          background: url("../img/faq_dot_pc.png") no-repeat;
          background-size: contain; }
        #faq .inner .faq_boxes .faq_box:last-child::after {
          display: none !important; }
        #faq .inner .faq_boxes .faq_box .q_box {
          display: flex;
          justify-content: flex-start;
          box-sizing: border-box;
          padding-right: 40px;
          position: relative;
          cursor: pointer; }
          #faq .inner .faq_boxes .faq_box .q_box::before {
            position: absolute;
            content: "";
            width: 40px;
            height: 39px;
            right: 0;
            top: 0;
            background: url("../img/faq_arrow_pc.png") no-repeat;
            background-size: contain;
            transition: 0.3s; }
          #faq .inner .faq_boxes .faq_box .q_box.open::before {
            transform: rotate(-180deg); }
          #faq .inner .faq_boxes .faq_box .q_box .q_icon {
            font-size: 45px;
            line-height: 0.8em;
            font-weight: bold;
            color: #FFD01C;
            margin-right: 12px; }
          #faq .inner .faq_boxes .faq_box .q_box .q_txt {
            font-size: 21px;
            line-height: 1.7em;
            font-weight: bold; }
        #faq .inner .faq_boxes .faq_box .a_box {
          display: none;
          margin-top: 22px; }
          #faq .inner .faq_boxes .faq_box .a_box .a_txt {
            font-size: 19px;
            line-height: 1.7em; }
            #faq .inner .faq_boxes .faq_box .a_box .a_txt span {
              font-weight: bold; }

  .cta {
    width: 389px;
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease; }
    .cta.show {
      opacity: 1;
      visibility: visible; }
    .cta .cta_btn {
      width: 100%; }
      .cta .cta_btn a {
        display: block;
        width: 100%;
        font-size: 29px;
        line-height: 2em;
        color: #000;
        font-weight: 900;
        text-align: center;
        padding: 3.5px 0;
        box-sizing: border-box;
        border-radius: 80px;
        border: solid 4px #000;
        background: url("../img/cta_arrow.png") no-repeat right 12px center #EA87BB;
        background-size: 30px;
        box-shadow: 2px 5px 0 #000; }
      .cta .cta_btn .img {
        width: 60px;
        position: absolute;
        top: -31px;
        left: 18px;
        transform: rotate(-10deg); }

  footer.lp_footer {
    padding: 40px 0 10px;
    background: #FFD01C;
    text-align: center; }
    footer.lp_footer .footer_link {
      margin-bottom: 30px;
      display: flex;
      justify-content: center;
      flex-wrap: wrap; }
      footer.lp_footer .footer_link li {
        margin: 0 17px; }
        footer.lp_footer .footer_link li a {
          display: inline-block;
          font-size: 18px;
          line-height: 1.7em;
          font-weight: bold;
          color: #000; }
          footer.lp_footer .footer_link li a:hover {
            text-decoration: underline; }
    footer.lp_footer .footer_sns {
      display: flex;
      justify-content: center;
      margin-bottom: 30px; }
      footer.lp_footer .footer_sns li {
        width: 30px;
        margin: 0 7px; }
        footer.lp_footer .footer_sns li a {
          display: block;
          width: 100%; }
    footer.lp_footer .copyright {
      font-size: 15px;
      line-height: 1.7em; }

  @keyframes animation {
    0% {
      width: 0;
      height: 0;
      border-radius: 100px;
      -webkit-border-radius: 100px;
      -moz-border-radius: 100px; }
    100% {
      width: 63.3px;
      height: 63.3px; } }
  @keyframes animation2 {
    0% {
      opacity: 0; }
    100% {
      opacity: 1; } }
  @keyframes animation3 {
    0% {
      opacity: 0;
      transform: translateY(30px); }
    100% {
      opacity: 1;
      transform: translateY(0); } }
  @keyframes animation4 {
    0% {
      opacity: 0;
      transform: scale(0.7, 0.7); }
    100% {
      opacity: 1;
      transform: scale(1, 1); } }
  .huwari {
    opacity: 0;
    transform: translateY(30px); }

  .huwari.is-active {
    animation-name: animation3;
    animation-duration: 0.5s;
    animation-fill-mode: forwards; }

  .huwari2 {
    opacity: 0;
    transform: scale(0.7, 0.7); }

  .huwari2.is-active {
    animation-name: animation4;
    animation-duration: 0.5s;
    animation-fill-mode: forwards; } }
/* SP */
@media screen and (max-width: 900px) {
  html {
    font-size: calc(100vw * 1 / 37.5); }

  .pconly {
    display: none !important; }

  header {
    width: 100%;
    position: absolute;
    z-index: 10; }
    header .inner {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      box-sizing: border-box;
      padding: 3.73vw 0 0 4.53vw; }
      header .inner .logo {
        width: 19.466vw;
        margin-right: 20vw; }
      header .inner .header_btn {
        width: 38.66vw; }
        header .inner .header_btn a {
          display: block;
          width: 100%;
          font-size: 4vw;
          line-height: 2em;
          font-weight: 900;
          color: #000;
          text-align: center;
          padding: 0.533vw 0;
          box-sizing: border-box;
          border-radius: 8vw;
          border: solid 0.8vw #000;
          background: #EA87BB; }

  /*ハンバーガー メニュー*/
  nav.hum {
    display: block;
    position: fixed;
    top: 1.6vw;
    right: -100vw;
    /*bottom: 0;*/
    width: 70.133vw;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 19;
    opacity: 1;
    background: #FCF5DA;
    border: solid 0.8vw #000;
    border-radius: 7.2vw; }

  .open nav.hum {
    right: 2.13vw;
    opacity: 1; }

  nav.hum .hum_inner {
    width: 62.133vw;
    margin: 0 auto;
    padding: 16.53vw 0 4.53vw;
    box-sizing: border-box; }
    nav.hum .hum_inner ul {
      margin: 0 0 8.266vw 12.533vw; }
      nav.hum .hum_inner ul li:nth-child(n+2) {
        margin-top: 1.6vw; }
      nav.hum .hum_inner ul li a {
        display: block;
        width: 100%;
        font-size: 4vw;
        line-height: 2em;
        font-weight: bold;
        color: #000;
        box-sizing: border-box;
        padding-left: 3.733vw;
        position: relative; }
        nav.hum .hum_inner ul li a::before {
          position: absolute;
          content: "";
          width: 2.13vw;
          height: 2.13vw;
          left: 0;
          top: 50%;
          transform: translateY(-50%);
          background: #FFD01C;
          border-radius: 100%; }
    nav.hum .hum_inner .hum_btn {
      width: 100%; }
      nav.hum .hum_inner .hum_btn a {
        display: block;
        width: 100%;
        font-size: 5.066vw;
        line-height: 2em;
        font-weight: 900;
        color: #000;
        text-align: center;
        padding: 2.4vw 0;
        border-radius: 21.33vw;
        border: solid 0.8vw #000;
        background: #EA87BB;
        box-shadow: 0.533vw 1.066vw 0 #000; }

  /*============
  .toggle_btn
  =============*/
  .toggle_btn {
    display: block;
    position: fixed;
    top: 3.73vw;
    right: 4.53vw;
    width: 10.66vw;
    height: 10.66vw;
    box-sizing: border-box;
    border-radius: 100%;
    border: solid 0.8vw #000;
    background: #FFD01C;
    transition: all .5s;
    cursor: pointer;
    z-index: 23; }

  .toggle_btn span {
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 4.8vw;
    height: 0.8vw;
    background-color: #000;
    border-radius: 26.66vw;
    transition: all .5s; }

  .toggle_btn span:nth-child(1) {
    top: 3.33vw; }

  .toggle_btn span:nth-child(2) {
    top: 4.8vw; }

  .open .toggle_btn span:nth-child(1) {
    -webkit-transform: translateX(-50%) translateY(0.733vw) rotate(-200deg);
    transform: translateX(-50%) translateY(0.733vw) rotate(-200deg); }

  .open .toggle_btn span:nth-child(2) {
    -webkit-transform: translateX(-50%) translateY(-0.733vw) rotate(200deg);
    transform: translateX(-50%) translateY(-0.733vw) rotate(200deg); }

  /*============
  #mask
  =============*/
  #mask {
    display: none;
    transition: all .5s; }

  .open #mask {
    display: block;
    transition: all .5s;
    position: absolute;
    top: 13.73vw;
    right: 0;
    width: 100%;
    height: 100vh;
    z-index: 18; }

  .main_cont {
    width: 100%;
    color: #000; }
    .main_cont img {
      width: 100%; }

  #mv {
    position: relative;
    padding: 23.466vw 0 13.33vw;
    background: #FFE378; }
    #mv .mv_slide {
      width: 76.266vw;
      margin: 0 auto 24.533vw; }
    #mv .mv_ttl {
      width: 90.933vw;
      position: absolute;
      top: 103.466vw;
      left: 50%;
      transform: translateX(-50%);
      z-index: 3; }
    #mv .mv_icon {
      width: 23.637vw;
      position: absolute;
      top: 17.33vw;
      right: 4.53vw;
      z-index: 3; }
    #mv .mv_ob {
      width: 100%;
      position: absolute;
      top: 19.466vw;
      left: 0;
      z-index: 2; }
    #mv .mv_btn {
      width: 71.73vw;
      margin: 0 auto; }
      #mv .mv_btn a {
        display: block;
        width: 100%;
        font-size: 5.6vw;
        line-height: 2em;
        font-weight: 900;
        color: #000;
        text-align: center;
        padding: 2vw 0;
        border-radius: 21.33vw;
        border: solid 0.8vw #000;
        background: #EA87BB;
        box-shadow: 0.533vw 1.066vw 0 #000; }

  #media {
    padding: 6.66vw 0; }
    #media .media_ttl {
      font-size: 5.33vw;
      letter-spacing: 0.07em;
      line-height: 1.53em;
      font-weight: 900;
      text-align: center;
      margin-bottom: 4vw; }
      #media .media_ttl span {
        display: inline-block;
        width: 58.66vw;
        background: url("../img/media_ttl_bg.png") no-repeat center;
        background-size: contain; }
    #media .media_boxes {
      width: 100%;
      overflow: hidden;
      display: flex; }
      #media .media_boxes .media_box {
        width: 653.333vw;
        flex-shrink: 0;
        display: flex;
        justify-content: flex-start;
        animation: infinity-scroll-left 30s infinite linear 0.5s both; }
        #media .media_boxes .media_box img {
          width: 324vw;
          padding-left: 2.66vw; }

  #head {
    padding: 62.666vw 0 13.33vw;
    position: relative;
    background: #FFE378; }
    #head::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 2.133vw;
      left: 0;
      bottom: -1.066vw;
      background: url("../img/section_dot_01.png") no-repeat;
      background-size: contain; }
    #head .head_img {
      width: 100%;
      position: absolute;
      top: -1.333vw;
      left: 0; }
    #head .head_cont {
      width: 93.333vw;
      margin: 0 auto;
      padding: 20vw 0 9.866vw;
      border-radius: 5.33vw;
      border: solid 0.8vw #000;
      background: #fff;
      position: relative; }
      #head .head_cont .head_cont_img {
        width: 24.266vw;
        position: absolute;
        left: 34.66vw;
        top: -16.266vw;
        transform: rotate(10deg); }
      #head .head_cont .head_cont_txt {
        font-size: 5.33vw;
        letter-spacing: 0.07em;
        line-height: 2.32em;
        font-weight: 900;
        text-align: center;
        margin-bottom: 5.333vw; }
        #head .head_cont .head_cont_txt span {
          display: inline-block;
          position: relative;
          line-height: 2.32em;
          padding: 0 0.2em; }
          #head .head_cont .head_cont_txt span::before {
            position: absolute;
            content: "";
            width: 100%;
            height: 1.333vw;
            left: 0;
            bottom: 0;
            background: url("../img/head_line_dot.png") no-repeat;
            background-size: auto 100%; }
      #head .head_cont .causion {
        font-size: 2.66vw;
        line-height: 1.1em;
        text-align: center;
        margin-bottom: 5.6vw; }
      #head .head_cont .head_boxes {
        width: 82.666vw;
        margin: 0 auto;
        position: relative; }
        #head .head_cont .head_boxes .head_box {
          width: 29.333vw;
          height: 29.333vw;
          box-sizing: border-box;
          border-radius: 100%;
          border: solid 0.8vw #000;
          background: #FCF5DA;
          box-shadow: 0.8vw 1.066vw 0 #000; }
          #head .head_cont .head_boxes .head_box:nth-child(2) {
            position: absolute;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            z-index: 2; }
          #head .head_cont .head_boxes .head_box:nth-child(3) {
            position: absolute;
            top: 0;
            right: 0;
            z-index: 3; }
          #head .head_cont .head_boxes .head_box .head_box_txt {
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            text-align: center; }
            #head .head_cont .head_boxes .head_box .head_box_txt .txt {
              font-size: 3.397vw;
              line-height: 1.3em;
              font-weight: 900; }
              #head .head_cont .head_boxes .head_box .head_box_txt .txt.small {
                font-size: 1.981vw; }
              #head .head_cont .head_boxes .head_box .head_box_txt .txt:nth-child(2) {
                margin-top: 1.066vw; }

  #set .inner {
    width: 88vw;
    margin: 0 auto;
    padding: 18.666vw 0 22.4vw; }
    #set .inner .set_ttl {
      font-size: 7.466vw;
      letter-spacing: 0.07em;
      line-height: 1.53em;
      font-weight: 900;
      color: #FF9900;
      text-align: center;
      margin-bottom: 13.333vw; }
      #set .inner .set_ttl span {
        display: inline-block;
        font-size: 13.333vw;
        line-height: 1.06em;
        color: #FF9900;
        vertical-align: -0.07em; }
    #set .inner .set_boxes .set_box {
      text-align: center; }
      #set .inner .set_boxes .set_box:nth-child(1) .set_box_img {
        width: 72.266vw; }
      #set .inner .set_boxes .set_box:nth-child(2) {
        margin-top: 20vw; }
        #set .inner .set_boxes .set_box:nth-child(2) .set_box_img {
          width: 74.933vw; }
      #set .inner .set_boxes .set_box .set_box_ttl {
        font-size: 5.6vw;
        line-height: 2em;
        font-weight: 900;
        padding: 0.4vw 0;
        border-radius: 21.333vw;
        border: solid 1.066vw #000; }
        #set .inner .set_boxes .set_box .set_box_ttl.pink {
          background: #EA87BB; }
        #set .inner .set_boxes .set_box .set_box_ttl.orange {
          background: #FF9900; }
      #set .inner .set_boxes .set_box .set_box_img {
        margin: 5.33vw auto; }
      #set .inner .set_boxes .set_box .set_box_price {
        width: 69.066vw;
        margin: 0 auto; }
      #set .inner .set_boxes .set_box .set_box_coupon {
        width: 69.333vw;
        margin: 5.333vw auto;
        /*box-sizing: border-box;
        padding: 3.2vw 3.466vw 2.133vw;
        border-radius: 2.666vw;
        background: #FCF5DA;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap;
        .coupon_img {
        	width: 20.8vw;
        }
        .coupon_txt {
        	font-size: 3.73vw;
        	line-height: 1.5em;
        	font-weight: 900;
        	&.pink {
        		color: #EA87BB;
        	}
        	&.orange {
        		color: #FF9900;
        	}
        	span {
        		display: inline-block;
        		font-size: 2.933vw;
        		line-height: 1;
        	}
        }
        .causion {
        	width: 100%;
        	font-size: 2.666vw;
        	line-height: 2em;
        	margin-top: 0.266vw;
        }*/ }
        #set .inner .set_boxes .set_box .set_box_coupon a {
          display: block;
          width: 100%; }
      #set .inner .set_boxes .set_box .set_box_btn {
        width: 71.733vw;
        margin: 0 auto; }
        #set .inner .set_boxes .set_box .set_box_btn a {
          display: block;
          width: 100%;
          font-size: 5.6vw;
          line-height: 2em;
          font-weight: 900;
          color: #000;
          padding: 4.8vw 0;
          border-radius: 21.333vw;
          border: solid 0.8vw #000;
          box-shadow: 0.533vw 1.066vw 0 #000; }
          #set .inner .set_boxes .set_box .set_box_btn a.pink {
            background: #EA87BB; }
          #set .inner .set_boxes .set_box .set_box_btn a.orange {
            background: #FF9900; }

  #question {
    position: relative;
    padding: 10.66vw 0 9.066vw;
    background: #B5B5B5;
    position: relative; }
    #question::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 3.733vw;
      top: -3.733vw;
      left: 0;
      background: url("../img/question_bg.png") no-repeat;
      background-size: contain; }
    #question .question_box {
      width: 93.333vw;
      margin: 0 auto;
      box-sizing: border-box;
      padding: 10.666vw 0;
      border-radius: 5.33vw;
      border: solid 0.8vw #000;
      background: #DCDCDC;
      text-align: center;
      position: relative; }
      #question .question_box .icon {
        width: 10.666vw;
        position: absolute;
        top: -6.4vw;
        left: 50%;
        transform: translateX(-50%); }
      #question .question_box .question_ttl {
        font-size: 6.133vw;
        letter-spacing: 0.07em;
        line-height: 1.5em;
        font-weight: 900; }
      #question .question_box .question_txt {
        width: 81.6vw;
        margin: 5.333vw auto 0; }
      #question .question_box .question_img {
        width: 69.333vw;
        margin: 0 auto; }

  #designed {
    position: relative;
    background: #FFE378;
    text-align: center; }
    #designed::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 3.733vw;
      top: -3.733vw;
      left: 0;
      background: url("../img/designed_bg.png") no-repeat;
      background-size: contain; }
    #designed::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 2.133vw;
      left: 0;
      bottom: -1.066vw;
      background: url("../img/section_dot_01.png") no-repeat;
      background-size: contain; }
    #designed .inner {
      width: 93.333vw;
      margin: 0 auto;
      padding: 18.666vw 0; }
      #designed .inner .designed_ttl {
        width: 87.2vw;
        height: 34.133vw;
        margin: 0 auto;
        box-sizing: border-box;
        padding-top: 6.933vw;
        background: url("../img/designed_ttl_bg.png") no-repeat center;
        background-size: contain; }
        #designed .inner .designed_ttl .en {
          font-size: 2.933vw;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900;
          color: #8EB07A;
          margin-bottom: 0.8vw; }
        #designed .inner .designed_ttl h2 {
          font-size: 5.866vw;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900; }
      #designed .inner .designed_img_01 {
        width: 53.866vw;
        margin: 8vw auto 4vw; }
      #designed .inner .designed_txt {
        font-size: 4vw;
        letter-spacing: 0.07em;
        line-height: 2em;
        font-weight: 900;
        margin-bottom: 4vw; }
      #designed .inner .designed_img_02 {
        margin: 8vw auto; }
      #designed .inner .designed_btn {
        width: 76.533vw;
        margin: 8vw auto 0; }
        #designed .inner .designed_btn a {
          display: block;
          width: 100%;
          font-size: 4vw;
          line-height: 2em;
          font-weight: 900;
          color: #000;
          padding: 0.533vw 0;
          box-sizing: border-box;
          border-radius: 8vw;
          border: solid 0.8vw #000;
          background: #BFD9AF; }

  #about {
    position: relative; }
    #about::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 2.133vw;
      left: 0;
      bottom: -1.066vw;
      background: url("../img/section_dot_01.png") no-repeat;
      background-size: contain;
      z-index: 3; }
    #about .inner {
      width: 88vw;
      margin: 0 auto;
      padding: 18.666vw 0; }
      #about .inner .about_ttl {
        width: 87.2vw;
        height: 34.133vw;
        margin: 0 auto;
        box-sizing: border-box;
        padding-top: 10.66vw;
        background: url("../img/designed_ttl_bg.png") no-repeat center;
        background-size: contain;
        text-align: center; }
        #about .inner .about_ttl .en {
          font-size: 2.933vw;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900;
          color: #EA87BB;
          margin-bottom: 0.8vw; }
        #about .inner .about_ttl h2 {
          font-size: 5.866vw;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900; }
      #about .inner .about_big_txt {
        font-size: 5.066vw;
        letter-spacing: 0.07em;
        line-height: 2em;
        font-weight: 900;
        text-align: center;
        margin: 5.333vw 0; }
      #about .inner .about_txt {
        margin-top: 5.333vw;
        font-size: 3.733vw;
        letter-spacing: 0.03em;
        line-height: 2em;
        font-weight: bold; }

  #point {
    background: #FFE378;
    position: relative; }
    #point::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 2.133vw;
      left: 0;
      bottom: -1.066vw;
      background: url("../img/section_dot_01.png") no-repeat;
      background-size: contain;
      z-index: 3; }
    #point .inner {
      width: 88vw;
      margin: 0 auto;
      padding: 18.666vw 0; }
      #point .inner .point_ttl {
        text-align: center;
        margin-bottom: 8.266vw; }
        #point .inner .point_ttl .en {
          font-size: 4.266vw;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900;
          color: #EA87BB;
          margin-bottom: 1.066vw; }
        #point .inner .point_ttl h2 {
          font-size: 8vw;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900; }
          #point .inner .point_ttl h2 .num {
            display: inline-block;
            font-size: 14.133vw;
            line-height: 0.96em;
            margin-right: 1.066vw; }
          #point .inner .point_ttl h2 .big {
            display: inline-block;
            font-size: 8.533vw;
            line-height: 1.3125em; }
      #point .inner .slide_height {
        height: 201.33vw; }
      #point .inner .point_slider {
        width: 100%; }
        #point .inner .point_slider .point_cont {
          position: relative;
          padding-top: 10.4vw; }
          #point .inner .point_slider .point_cont .point_num {
            width: auto;
            position: absolute;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            z-index: 2; }
            #point .inner .point_slider .point_cont .point_num img {
              width: auto;
              height: 20.266vw; }
          #point .inner .point_slider .point_cont .point_box {
            box-sizing: border-box;
            padding: 13.866vw 8.533vw 5.6vw;
            border-radius: 5.333vw;
            border: solid 0.8vw #000;
            background: #fff; }
            #point .inner .point_slider .point_cont .point_box h3 {
              font-size: 5.333vw;
              letter-spacing: 0.07em;
              line-height: 1.5em;
              font-weight: 900;
              color: #EA87BB;
              text-align: center; }
            #point .inner .point_slider .point_cont .point_box .point_box_img {
              margin: 5.6vw 0; }
            #point .inner .point_slider .point_cont .point_box .point_box_txt {
              font-size: 3.733vw;
              letter-spacing: 0.03em;
              line-height: 2em;
              font-weight: bold; }
            #point .inner .point_slider .point_cont .point_box .causion {
              font-size: 2.666vw;
              letter-spacing: 0.03em;
              line-height: 2em;
              margin-top: 5.6vw; }
        #point .inner .point_slider .prev-arrow {
          width: 2.933vw;
          position: absolute;
          left: -4.266vw;
          top: 50%;
          transform: translateY(-50%); }
        #point .inner .point_slider .next-arrow {
          width: 2.933vw;
          position: absolute;
          right: -4.266vw;
          top: 50%;
          transform: translateY(-50%); }

  #scene {
    position: relative; }
    #scene::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 2.133vw;
      left: 0;
      bottom: -1.066vw;
      background: url("../img/section_dot_02.png") no-repeat;
      background-size: contain;
      z-index: 3; }
    #scene .inner {
      width: 100%;
      padding: 18.666vw 0;
      overflow: hidden; }
      #scene .inner .scene_ttl {
        width: 87.2vw;
        height: 34.133vw;
        margin: 0 auto 9.333vw;
        box-sizing: border-box;
        padding-top: 6.933vw;
        background: url("../img/designed_ttl_bg.png") no-repeat center;
        background-size: contain;
        text-align: center; }
        #scene .inner .scene_ttl .en {
          font-size: 2.933vw;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900;
          color: #AF8662;
          margin-bottom: 0.8vw; }
        #scene .inner .scene_ttl h2 {
          font-size: 5.866vw;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900; }
      #scene .inner .scene_slider {
        width: 90.133vw;
        margin-left: auto;
        margin-bottom: 0; }
        #scene .inner .scene_slider .slick-list {
          overflow: visible;
          padding-right: 4.8vw; }
        #scene .inner .scene_slider .scene_box {
          width: 85.333vw;
          padding-right: 5.333vw; }
          #scene .inner .scene_slider .scene_box .scene_box_txt {
            font-size: 4.533vw;
            letter-spacing: 0.03em;
            line-height: 2em;
            font-weight: 900;
            margin-top: 2.4vw; }
        #scene .inner .scene_slider .slide-dots {
          width: 80vw;
          margin-top: 7.466vw;
          text-align: center;
          font-size: 0; }
          #scene .inner .scene_slider .slide-dots li {
            display: inline-block;
            width: 3.733vw;
            height: 3.733vw;
            background: #D1B398;
            border-radius: 100%;
            margin: 0 1.866vw; }
            #scene .inner .scene_slider .slide-dots li.slick-active {
              background: #000; }
            #scene .inner .scene_slider .slide-dots li button {
              display: block;
              background: none;
              border: none;
              font-size: 0;
              width: 100%;
              height: 100%; }

  #lineup {
    background: #FFD01C;
    position: relative; }
    #lineup::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 2.133vw;
      left: 0;
      bottom: -1.066vw;
      background: url("../img/section_dot_02.png") no-repeat;
      background-size: contain;
      z-index: 3; }
    #lineup .inner {
      width: 88vw;
      margin: 0 auto;
      padding: 18.666vw 0; }
      #lineup .inner .lineup_ttl {
        text-align: center;
        margin-bottom: 8.266vw; }
        #lineup .inner .lineup_ttl .en {
          font-size: 4.266vw;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900;
          color: #EA87BB;
          margin-bottom: 1.066vw; }
        #lineup .inner .lineup_ttl h2 {
          font-size: 8vw;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900; }
          #lineup .inner .lineup_ttl h2 .num {
            display: inline-block;
            font-size: 14.133vw;
            line-height: 0.96em;
            margin-right: 1.066vw; }
          #lineup .inner .lineup_ttl h2 .big {
            display: inline-block;
            font-size: 8.533vw;
            line-height: 1.3125em; }
      #lineup .inner .lineup_slider {
        width: 100%; }
        #lineup .inner .lineup_slider .lineup_box {
          width: 100%; }
        #lineup .inner .lineup_slider .prev-arrow {
          width: 2.933vw;
          position: absolute;
          left: -4.266vw;
          top: 50%;
          transform: translateY(-50%); }
        #lineup .inner .lineup_slider .next-arrow {
          width: 2.933vw;
          position: absolute;
          right: -4.266vw;
          top: 50%;
          transform: translateY(-50%); }

  #howto {
    position: relative; }
    #howto::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 2.133vw;
      left: 0;
      bottom: -1.066vw;
      background: url("../img/section_dot_01.png") no-repeat;
      background-size: contain;
      z-index: 3; }
    #howto .inner {
      width: 88vw;
      margin: 0 auto;
      padding: 18.666vw 0; }
      #howto .inner .howto_ttl {
        width: 87.2vw;
        height: 34.133vw;
        margin: 0 auto;
        box-sizing: border-box;
        padding-top: 10.666vw;
        background: url("../img/designed_ttl_bg.png") no-repeat center;
        background-size: contain;
        text-align: center; }
        #howto .inner .howto_ttl .en {
          font-size: 2.933vw;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900;
          color: #EA87BB;
          margin-bottom: 0.8vw; }
        #howto .inner .howto_ttl h2 {
          font-size: 5.866vw;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900; }
      #howto .inner .howto_img {
        width: 78.4vw;
        margin: 9.333vw auto; }
      #howto .inner .howto_box {
        padding: 7.2vw 5.066vw;
        box-sizing: border-box;
        border-radius: 2.666vw;
        background: #FCF5DA; }
        #howto .inner .howto_box .howto_box_img {
          width: 25.866vw;
          margin: 0 auto 5.6vw; }
        #howto .inner .howto_box .howto_box_ttl {
          font-size: 4.266vw;
          letter-spacing: 0.07em;
          line-height: 1.5em;
          font-weight: 900;
          text-align: center;
          margin-bottom: 5.6vw; }
        #howto .inner .howto_box .howto_box_txt {
          font-size: 3.733vw;
          letter-spacing: 0.07em;
          line-height: 1.79em;
          font-weight: bold; }

  #voice {
    position: relative;
    background: #FFEDF7; }
    #voice::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 12.8vw;
      left: 0;
      bottom: -5.333vw;
      background: url("../img/voice_bg.png") no-repeat;
      background-size: contain;
      z-index: 3; }
    #voice .inner {
      width: 100%;
      padding: 18.666vw 0;
      overflow: hidden; }
      #voice .inner .voice_ttl {
        width: 87.2vw;
        height: 34.133vw;
        margin: 0 auto 9.333vw;
        box-sizing: border-box;
        padding-top: 6.933vw;
        background: url("../img/designed_ttl_bg.png") no-repeat center;
        background-size: contain;
        text-align: center; }
        #voice .inner .voice_ttl .en {
          font-size: 2.933vw;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900;
          color: #AF8662;
          margin-bottom: 0.8vw; }
        #voice .inner .voice_ttl h2 {
          font-size: 5.866vw;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900; }
      #voice .inner .voice_slider {
        width: 90.133vw;
        margin-left: auto;
        margin-bottom: 0; }
        #voice .inner .voice_slider .slick-list {
          overflow: visible;
          padding-right: 3.466vw; }
        #voice .inner .voice_slider .voice_box {
          width: 85.333vw;
          padding-right: 5.333vw; }
          #voice .inner .voice_slider .voice_box .voice_box_ttl {
            font-size: 4.533vw;
            letter-spacing: 0.05em;
            line-height: 1.3em;
            font-weight: 900;
            text-align: center;
            padding: 1.066vw 0;
            border-radius: 10.666vw;
            border: solid 0.8vw #000;
            background: #EA87BB;
            position: relative; }
            #voice .inner .voice_slider .voice_box .voice_box_ttl::before {
              position: absolute;
              content: "";
              width: 5.066vw;
              height: 3.466vw;
              bottom: -3.466vw;
              left: 50%;
              transform: translateX(-50%);
              background: url("../img/voice_box_ttl_arrow.png") no-repeat;
              background-size: contain; }
          #voice .inner .voice_slider .voice_box .voice_box_name {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            margin: 4.533vw 0 1.866vw; }
            #voice .inner .voice_slider .voice_box .voice_box_name .img {
              width: 15.466vw;
              margin-right: 2.666vw; }
            #voice .inner .voice_slider .voice_box .voice_box_name .name {
              flex: 1;
              font-size: 4.533vw;
              letter-spacing: 0.03em;
              line-height: 2em;
              font-weight: bold; }
          #voice .inner .voice_slider .voice_box .voice_box_txt {
            font-size: 3.733vw;
            letter-spacing: 0.03em;
            line-height: 2em;
            font-weight: 900;
            margin-top: 1.866vw; }
        #voice .inner .voice_slider .slide-dots {
          width: 80vw;
          margin-top: 7.466vw;
          text-align: center;
          font-size: 0; }
          #voice .inner .voice_slider .slide-dots li {
            display: inline-block;
            width: 3.733vw;
            height: 3.733vw;
            background: #D1B398;
            border-radius: 100%;
            margin: 0 1.866vw; }
            #voice .inner .voice_slider .slide-dots li.slick-active {
              background: #000; }
            #voice .inner .voice_slider .slide-dots li button {
              display: block;
              background: none;
              border: none;
              font-size: 0;
              width: 100%;
              height: 100%; }

  #rice {
    position: relative;
    background: #FCF5DA; }
    #rice::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 12.8vw;
      left: 0;
      bottom: -5.333vw;
      background: url("../img/rice_bg.png") no-repeat;
      background-size: contain;
      z-index: 3; }
    #rice .inner {
      width: 88vw;
      margin: 0 auto;
      padding: 9.333vw 0; }
      #rice .inner .rice_box {
        padding: 13.333vw 0 21.333vw;
        background: url("../img/rice_box_img.png") no-repeat center;
        background-size: cover; }
        #rice .inner .rice_box .rice_ttl {
          text-align: center;
          margin-bottom: 5.6vw; }
          #rice .inner .rice_box .rice_ttl .en {
            font-size: 4.266vw;
            letter-spacing: 0.05em;
            line-height: 1.3em;
            font-weight: 900;
            color: #BFD9AF; }
          #rice .inner .rice_box .rice_ttl h2 {
            font-size: 7.733vw;
            letter-spacing: 0.07em;
            line-height: 1.5em;
            font-weight: 900;
            color: #8EB07A; }
        #rice .inner .rice_box .rice_txt {
          width: 69.333vw;
          margin: 0 auto;
          text-align: center; }
          #rice .inner .rice_box .rice_txt .txt {
            font-size: 3.733vw;
            letter-spacing: 0.03em;
            line-height: 2em;
            font-weight: bold; }
            #rice .inner .rice_box .rice_txt .txt:nth-child(n+2) {
              margin-top: 3.2vw; }

  .banner {
    padding: 21.333vw 0 5.333vw; }
    .banner .banner_box {
      width: 88vw;
      margin: 0 auto; }
      .banner .banner_box a {
        display: block;
        width: 100%; }

  #faq {
    position: relative; }
    #faq .inner {
      width: 88vw;
      margin: 0 auto;
      padding: 18.666vw 0 14.666vw; }
      #faq .inner .faq_ttl {
        text-align: center;
        margin-bottom: 4vw; }
        #faq .inner .faq_ttl .en {
          font-size: 2.933vw;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900;
          color: #EA87BB;
          margin-bottom: 0.8vw; }
        #faq .inner .faq_ttl h2 {
          font-size: 5.866vw;
          letter-spacing: 0.05em;
          line-height: 1.3em;
          font-weight: 900; }
      #faq .inner .faq_boxes .faq_box {
        position: relative;
        padding: 4vw 0; }
        #faq .inner .faq_boxes .faq_box::after {
          position: absolute;
          content: "";
          width: 100%;
          height: 1.333vw;
          left: 0;
          bottom: -0.533vw;
          background: url("../img/faq_dot.png") no-repeat;
          background-size: contain; }
        #faq .inner .faq_boxes .faq_box:last-child::after {
          display: none !important; }
        #faq .inner .faq_boxes .faq_box .q_box {
          display: flex;
          justify-content: flex-start;
          box-sizing: border-box;
          padding-right: 8.8vw;
          position: relative; }
          #faq .inner .faq_boxes .faq_box .q_box::before {
            position: absolute;
            content: "";
            width: 7.2vw;
            height: 6.933vw;
            right: 0;
            top: 0;
            background: url("../img/faq_arrow.png") no-repeat;
            background-size: contain;
            transition: 0.3s; }
          #faq .inner .faq_boxes .faq_box .q_box.open::before {
            transform: rotate(-180deg); }
          #faq .inner .faq_boxes .faq_box .q_box .q_icon {
            font-size: 8vw;
            line-height: 0.8em;
            font-weight: bold;
            color: #FFD01C;
            margin-right: 1.866vw; }
          #faq .inner .faq_boxes .faq_box .q_box .q_txt {
            font-size: 3.733vw;
            line-height: 1.7em;
            font-weight: bold; }
        #faq .inner .faq_boxes .faq_box .a_box {
          display: none;
          margin-top: 2.666vw; }
          #faq .inner .faq_boxes .faq_box .a_box .a_txt {
            font-size: 3.466vw;
            line-height: 1.7em; }
            #faq .inner .faq_boxes .faq_box .a_box .a_txt span {
              font-weight: bold; }

  .cta {
    width: 95.466vw;
    position: fixed;
    bottom: 5.333vw;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease; }
    .cta.show {
      opacity: 1;
      visibility: visible; }
    .cta .cta_btn {
      width: 100%; }
      .cta .cta_btn a {
        display: block;
        width: 100%;
        font-size: 5.6vw;
        line-height: 2em;
        color: #000;
        font-weight: 900;
        text-align: center;
        padding: 0.666vw 0;
        box-sizing: border-box;
        border-radius: 21.333vw;
        border: solid 0.8vw #000;
        background: url("../img/cta_arrow.png") no-repeat right 3.2vw center #EA87BB;
        background-size: 8vw;
        box-shadow: 0.533vw 1.066vw 0 #000; }
      .cta .cta_btn .img {
        width: 11.733vw;
        position: absolute;
        top: -6.4vw;
        left: 8.533vw;
        transform: rotate(-10deg); }

  footer.lp_footer {
    padding: 10.666vw 0 26.666vw;
    background: #FFD01C;
    text-align: center; }
    footer.lp_footer .footer_link {
      margin-bottom: 8vw; }
      footer.lp_footer .footer_link li:nth-child(n+2) {
        margin-top: 2.933vw; }
      footer.lp_footer .footer_link li a {
        display: inline-block;
        font-size: 3.2vw;
        line-height: 1.7em;
        font-weight: bold;
        color: #000; }
    footer.lp_footer .footer_sns {
      display: flex;
      justify-content: center;
      margin-bottom: 8vw; }
      footer.lp_footer .footer_sns li {
        width: 5.333vw;
        margin: 0 1.333vw; }
        footer.lp_footer .footer_sns li a {
          display: block;
          width: 100%; }
    footer.lp_footer .copyright {
      font-size: 2.666vw;
      line-height: 1.7em; }

  @keyframes animation2 {
    0% {
      opacity: 0; }
    100% {
      opacity: 1; } }
  @keyframes animation3 {
    0% {
      opacity: 0;
      transform: translateY(5.33vw); }
    100% {
      opacity: 1;
      transform: translateY(0); } }
  @keyframes animation4 {
    0% {
      opacity: 0;
      transform: scale(0.7, 0.7); }
    100% {
      opacity: 1;
      transform: scale(1, 1); } }
  .huwari {
    opacity: 0;
    transform: translateY(5.33vw); }

  .huwari.is-active {
    animation-name: animation3;
    animation-duration: 0.5s;
    animation-fill-mode: forwards; }

  .huwari2 {
    opacity: 0;
    transform: scale(0.7, 0.7); }

  .huwari2.is-active {
    animation-name: animation4;
    animation-duration: 0.5s;
    animation-fill-mode: forwards; } }
