@charset "UTF-8";
html {
  font-size: 62.5%;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "Hiragino Sans", Arial, 'Yu Gothic', sans-serif;
  word-wrap: break-word; }

body {
  font-size: 1.6rem;
  background-color: #fff;
  margin: 0;
  padding: 0; }

*,
*::before,
*::after {
  box-sizing: border-box; }

h1, h2, h3, div, p, ul, li {
  margin: 0;
  padding: 0; }

li {
  list-style: none; }

img {
  width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: bottom; }

a:hover img {
  opacity: 0.8; }

.pcOnly {
  display: none; }
  @media only screen and (min-width: 750px) {
    .pcOnly {
      display: inline; } }

.spOnly {
  display: inline; }
  @media only screen and (min-width: 750px) {
    .spOnly {
      display: none; } }

@media only screen and (min-width: 420px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
.wrap {
  position: relative; }
  .wrap .kv {
    width: 100%;
    height: calc(1260/750 * 100vw);
    background-color: #e50012;
    background-image: url("../img/bg_kv_sp.png");
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: top center; }
    @media only screen and (min-width: 750px) {
      .wrap .kv {
        height: calc(768/1150 * 100vw);
        background-image: url("../img/bg_kv_pcl.png");
        background-size: auto 100%; } }
    @media only screen and (min-width: 1150px) {
      .wrap .kv {
        height: 768px;
        background-size: auto auto; } }
    .wrap .kv__inner {
      position: relative;
      width: 100%;
      margin: 0 auto;
      padding: calc(218/750 * 100vw) 0 0; }
      @media only screen and (min-width: 750px) {
        .wrap .kv__inner {
          margin: 0 auto;
          padding: calc(90/1150 * 100vw) 0 0; } }
      @media only screen and (min-width: 1150px) {
        .wrap .kv__inner {
          width: 1150px;
          margin: 0 auto;
          padding: 90px 0 0; } }
      .wrap .kv__inner .logo_bp {
        width: calc(128/750 * 100%);
        position: absolute;
        top: calc(35/750 * 100vw);
        left: calc(118/750 * 100%);
        z-index: 10; }
        @media only screen and (min-width: 750px) {
          .wrap .kv__inner .logo_bp {
            width: calc(113/1150 * 100%);
            top: calc(26/1150 * 100vw);
            left: calc(24/1150 * 100vw); } }
        @media only screen and (min-width: 1150px) {
          .wrap .kv__inner .logo_bp {
            width: 113px;
            top: 26px;
            left: 24px; } }
      .wrap .kv__inner .logo_powder {
        width: calc(272/750 * 100%);
        position: absolute;
        top: calc(116/750 * 100vw);
        left: calc(26/750 * 100%);
        z-index: 10; }
        @media only screen and (min-width: 750px) {
          .wrap .kv__inner .logo_powder {
            width: calc(290/1150 * 100%);
            top: calc(16/1150 * 100vw);
            left: calc(150/1150 * 100vw); } }
        @media only screen and (min-width: 1150px) {
          .wrap .kv__inner .logo_powder {
            width: 290px;
            top: 16px;
            left: 150px; } }
      .wrap .kv__inner h1 {
        width: calc(668/750 * 100%);
        margin: 0 auto; }
        @media only screen and (min-width: 750px) {
          .wrap .kv__inner h1 {
            width: calc(772/1150 * 100vw);
            margin: 0 auto 0 calc(70/1150 * 100vw); } }
        @media only screen and (min-width: 1150px) {
          .wrap .kv__inner h1 {
            width: 772px;
            margin: 0 auto 0 70px; } }
      .wrap .kv__inner .course {
        width: calc(680/750 * 100%);
        margin: calc(24/750 * 100vw) auto 0; }
        @media only screen and (min-width: 750px) {
          .wrap .kv__inner .course {
            width: calc(900/1150 * 100vw);
            margin: calc(28/1150 * 100vw) auto 0; } }
        @media only screen and (min-width: 1150px) {
          .wrap .kv__inner .course {
            width: 900px;
            margin: 28px auto 0; } }
      .wrap .kv__inner .period {
        width: calc(680/750 * 100%);
        margin: calc(21/750 * 100vw) auto 0; }
        @media only screen and (min-width: 750px) {
          .wrap .kv__inner .period {
            width: calc(999/1150 * 100vw);
            margin: calc(23/1150 * 100vw) auto 0; } }
        @media only screen and (min-width: 1150px) {
          .wrap .kv__inner .period {
            width: 999px;
            margin: 23px auto 0; } }
  .wrap .kv_teaser {
    width: 100%;
    height: calc(1385/750 * 100vw);
    background-color: #e50012;
    background-image: url("../img/bg_kv_sp.png");
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: top center; }
    @media only screen and (min-width: 750px) {
      .wrap .kv_teaser {
        height: calc(882/1150 * 100vw);
        background-image: url("../img/bg_kv_pcl.png");
        background-size: auto 100%; } }
    @media only screen and (min-width: 1150px) {
      .wrap .kv_teaser {
        height: 882px;
        background-size: auto auto; } }
    .wrap .kv_teaser__inner {
      position: relative;
      width: 100%;
      margin: 0 auto;
      padding: calc(218/750 * 100vw) 0 0; }
      @media only screen and (min-width: 750px) {
        .wrap .kv_teaser__inner {
          margin: 0 auto;
          padding: calc(90/1150 * 100vw) 0 0; } }
      @media only screen and (min-width: 1150px) {
        .wrap .kv_teaser__inner {
          width: 1150px;
          margin: 0 auto;
          padding: 90px 0 0; } }
      .wrap .kv_teaser__inner .logo_bp {
        width: calc(128/750 * 100%);
        position: absolute;
        top: calc(35/750 * 100vw);
        left: calc(118/750 * 100%);
        z-index: 10; }
        @media only screen and (min-width: 750px) {
          .wrap .kv_teaser__inner .logo_bp {
            width: calc(113/1150 * 100%);
            top: calc(26/1150 * 100vw);
            left: calc(24/1150 * 100vw); } }
        @media only screen and (min-width: 1150px) {
          .wrap .kv_teaser__inner .logo_bp {
            width: 113px;
            top: 26px;
            left: 24px; } }
      .wrap .kv_teaser__inner .logo_powder {
        width: calc(272/750 * 100%);
        position: absolute;
        top: calc(116/750 * 100vw);
        left: calc(26/750 * 100%);
        z-index: 10; }
        @media only screen and (min-width: 750px) {
          .wrap .kv_teaser__inner .logo_powder {
            width: calc(290/1150 * 100%);
            top: calc(16/1150 * 100vw);
            left: calc(150/1150 * 100vw); } }
        @media only screen and (min-width: 1150px) {
          .wrap .kv_teaser__inner .logo_powder {
            width: 290px;
            top: 16px;
            left: 150px; } }
      .wrap .kv_teaser__inner h1 {
        width: calc(668/750 * 100%);
        margin: 0 auto; }
        @media only screen and (min-width: 750px) {
          .wrap .kv_teaser__inner h1 {
            width: calc(772/1150 * 100vw);
            margin: 0 auto 0 calc(70/1150 * 100vw); } }
        @media only screen and (min-width: 1150px) {
          .wrap .kv_teaser__inner h1 {
            width: 772px;
            margin: 0 auto 0 70px; } }
      .wrap .kv_teaser__inner .course {
        width: calc(680/750 * 100%);
        margin: calc(24/750 * 100vw) auto 0; }
        @media only screen and (min-width: 750px) {
          .wrap .kv_teaser__inner .course {
            width: calc(900/1150 * 100vw);
            margin: calc(28/1150 * 100vw) auto 0; } }
        @media only screen and (min-width: 1150px) {
          .wrap .kv_teaser__inner .course {
            width: 900px;
            margin: 28px auto 0; } }
      .wrap .kv_teaser__inner .period {
        width: calc(680/750 * 100%);
        margin: calc(35/750 * 100vw) auto 0; }
        @media only screen and (min-width: 750px) {
          .wrap .kv_teaser__inner .period {
            width: calc(999/1150 * 100vw);
            margin: calc(23/1150 * 100vw) auto 0; } }
        @media only screen and (min-width: 1150px) {
          .wrap .kv_teaser__inner .period {
            width: 999px;
            margin: 23px auto 0; } }
      .wrap .kv_teaser__inner .teaser {
        width: calc(700/750 * 100%);
        margin: calc(21/750 * 100vw) auto 0; }
        @media only screen and (min-width: 750px) {
          .wrap .kv_teaser__inner .teaser {
            width: calc(580/1150 * 100vw);
            margin: calc(23/1150 * 100vw) auto 0; } }
        @media only screen and (min-width: 1150px) {
          .wrap .kv_teaser__inner .teaser {
            width: 580px;
            margin: 23px auto 0; } }
  .wrap .comingsoon {
    position: relative; }
    .wrap .comingsoon .hide {
      z-index: 100;
      position: absolute;
      top: -29.5vw;
      left: 0;
      width: 100%;
      height: calc(100% + 38vw);
      background-color: gray;
      mix-blend-mode: multiply; }
      @media only screen and (min-width: 750px) {
        .wrap .comingsoon .hide {
          top: calc(-145/1150 * 100vw);
          height: calc(100% + calc(170/1150 * 100vw)); } }
      @media only screen and (min-width: 1150px) {
        .wrap .comingsoon .hide {
          top: -145px;
          height: calc(100% + 170px); } }
    .wrap .comingsoon .comingsoontext {
      z-index: 101;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: calc(100% + 7vw);
      background-image: url(../img/comingsoontext.png);
      background-size: 100% auto;
      background-position: top center;
      background-repeat: repeat-y;
      margin: 0 auto; }
      @media only screen and (min-width: 750px) {
        .wrap .comingsoon .comingsoontext {
          width: calc(800/1150 * 100vw);
          height: calc(100% + calc(50/1150 * 100vw)); } }
      @media only screen and (min-width: 1150px) {
        .wrap .comingsoon .comingsoontext {
          width: 800px;
          height: calc(100% + 50px); } }
  .wrap .course_wrap {
    width: 100%;
    background-color: #f4eeda; }
    .wrap .course_wrap .course {
      width: 100%;
      padding: calc(80/750 * 100vw) 0 calc(65/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .wrap .course_wrap .course {
          margin: 0 auto;
          padding: calc(65/1150 * 100vw) 0 calc(79/1150 * 100vw); } }
      @media only screen and (min-width: 1150px) {
        .wrap .course_wrap .course {
          width: 1150px;
          margin: 0 auto;
          padding: 65px 0 79px; } }
      .wrap .course_wrap .course h2 {
        width: calc(650/750 * 100%);
        margin: 0 auto 0; }
        @media only screen and (min-width: 750px) {
          .wrap .course_wrap .course h2 {
            width: calc(555/1150 * 100vw); } }
        @media only screen and (min-width: 1150px) {
          .wrap .course_wrap .course h2 {
            width: 555px; } }
      .wrap .course_wrap .course .course_list {
        width: calc(650/750 * 100%);
        margin: calc(38/750 * 100vw) auto 0; }
        @media only screen and (min-width: 750px) {
          .wrap .course_wrap .course .course_list {
            display: flex;
            justify-content: space-between;
            width: calc(980/1150 * 100vw);
            margin: calc(25/1150 * 100vw) auto 0; } }
        @media only screen and (min-width: 1150px) {
          .wrap .course_wrap .course .course_list {
            width: 980px;
            margin: 25px auto 0; } }
        .wrap .course_wrap .course .course_list li {
          position: relative; }
          @media only screen and (min-width: 750px) {
            .wrap .course_wrap .course .course_list li {
              width: calc(316/1150 * 100vw);
              margin: 0; } }
          @media only screen and (min-width: 1150px) {
            .wrap .course_wrap .course .course_list li {
              width: 316px;
              margin: 0; } }
          .wrap .course_wrap .course .course_list li .bt_decide {
            position: absolute;
            width: calc(374/750 * 100vw);
            bottom: calc(16/750 * 100vw);
            right: calc(17/750 * 100vw);
            cursor: pointer; }
            @media only screen and (min-width: 750px) {
              .wrap .course_wrap .course .course_list li .bt_decide {
                width: calc(240/1150 * 100vw);
                bottom: calc(19/1150 * 100vw);
                right: calc(28/1150 * 100vw); } }
            @media only screen and (min-width: 1150px) {
              .wrap .course_wrap .course .course_list li .bt_decide {
                width: 240px;
                bottom: 19px;
                right: 28px; } }
            .wrap .course_wrap .course .course_list li .bt_decide:hover {
              filter: brightness(1.15); }
  .wrap .method_ti {
    width: 100%;
    height: calc(140/750 * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000045; }
    @media only screen and (min-width: 750px) {
      .wrap .method_ti {
        height: calc(104/1150 * 100vw); } }
    @media only screen and (min-width: 1150px) {
      .wrap .method_ti {
        height: 104px; } }
    .wrap .method_ti h2 {
      width: calc(286/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .wrap .method_ti h2 {
          width: calc(286/1150 * 100vw); } }
      @media only screen and (min-width: 1150px) {
        .wrap .method_ti h2 {
          width: 286px; } }
  .wrap .method_wrap {
    width: 100%;
    background-color: #f4eeda; }
    .wrap .method_wrap .method {
      width: 100%;
      padding: calc(65/750 * 100vw) 0 calc(100/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .wrap .method_wrap .method {
          margin: 0 auto;
          padding: calc(70/1150 * 100vw) 0 calc(79/1150 * 100vw); } }
      @media only screen and (min-width: 1150px) {
        .wrap .method_wrap .method {
          width: 1150px;
          margin: 0 auto;
          padding: 70px 0 79px; } }
      .wrap .method_wrap .method .step {
        width: calc(650/750 * 100%);
        margin: 0 auto 0; }
        @media only screen and (min-width: 750px) {
          .wrap .method_wrap .method .step {
            width: calc(980/1150 * 100vw); } }
        @media only screen and (min-width: 1150px) {
          .wrap .method_wrap .method .step {
            width: 980px; } }
      .wrap .method_wrap .method .message {
        width: calc(654/750 * 100%);
        margin: calc(38/750 * 100vw) auto 0; }
        @media only screen and (min-width: 750px) {
          .wrap .method_wrap .method .message {
            width: calc(530/1150 * 100vw);
            margin: calc(12/1150 * 100vw) auto 0; } }
        @media only screen and (min-width: 1150px) {
          .wrap .method_wrap .method .message {
            width: 530px;
            margin: calc(12/750 * 100vw) auto 0; } }
      .wrap .method_wrap .method .bt_tabemura {
        width: calc(550/750 * 100%);
        margin: calc(92/750 * 100vw) auto 0;
        filter: drop-shadow(calc(5/750 * 100vw) calc(5/750 * 100vw) 0 #000045); }
        @media only screen and (min-width: 750px) {
          .wrap .method_wrap .method .bt_tabemura {
            width: calc(440/1150 * 100vw);
            margin: calc(47/1150 * 100vw) auto 0;
            filter: drop-shadow(calc(4/1150 * 100vw) calc(4/1150 * 100vw) 0 #000045); } }
        @media only screen and (min-width: 1150px) {
          .wrap .method_wrap .method .bt_tabemura {
            width: 440px;
            margin: 47px auto 0;
            filter: drop-shadow(4px 4px 0 #000045); } }
  .wrap .about_ti {
    width: 100%;
    padding: calc(78/750 * 100vw) 0 calc(34/750 * 100vw); }
    @media only screen and (min-width: 750px) {
      .wrap .about_ti {
        padding: calc(66/1150 * 100vw) 0 calc(45/1150 * 100vw); } }
    @media only screen and (min-width: 1150px) {
      .wrap .about_ti {
        padding: 66px 0 45px; } }
    .wrap .about_ti h2 {
      width: calc(513/750 * 100vw);
      margin: 0 auto; }
      @media only screen and (min-width: 750px) {
        .wrap .about_ti h2 {
          width: calc(855/1150 * 100vw); } }
      @media only screen and (min-width: 1150px) {
        .wrap .about_ti h2 {
          width: 855px; } }
  .wrap .about_wrap {
    width: 100%;
    background-color: #e50012; }
    .wrap .about_wrap .about {
      width: 100%;
      padding: calc(0/750 * 100vw) 0 calc(100/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .wrap .about_wrap .about {
          margin: 0 auto;
          padding: calc(0/1150 * 100vw) 0 calc(79/1150 * 100vw); } }
      @media only screen and (min-width: 1150px) {
        .wrap .about_wrap .about {
          width: 1150px;
          margin: 0 auto;
          padding: 0px 0 79px; } }
      .wrap .about_wrap .about .ph {
        width: 100%;
        margin: 0; }
      .wrap .about_wrap .about .about01 {
        width: calc(649/750 * 100%);
        margin: calc(70/750 * 100vw) auto 0; }
        @media only screen and (min-width: 750px) {
          .wrap .about_wrap .about .about01 {
            width: calc(719/1150 * 100vw);
            margin: calc(56/1150 * 100vw) auto 0; } }
        @media only screen and (min-width: 1150px) {
          .wrap .about_wrap .about .about01 {
            width: 719px;
            margin: 56px auto 0; } }
      .wrap .about_wrap .about .recipe {
        width: calc(650/750 * 100%);
        margin: calc(87/750 * 100vw) auto 0; }
        @media only screen and (min-width: 750px) {
          .wrap .about_wrap .about .recipe {
            width: calc(980/1150 * 100vw);
            margin: calc(77/1150 * 100vw) auto 0; } }
        @media only screen and (min-width: 1150px) {
          .wrap .about_wrap .about .recipe {
            width: 980px;
            margin: 77px auto 0; } }
      .wrap .about_wrap .about .about02 {
        width: calc(648/750 * 100%);
        margin: calc(94/750 * 100vw) auto 0; }
        @media only screen and (min-width: 750px) {
          .wrap .about_wrap .about .about02 {
            width: calc(610/1150 * 100vw);
            margin: calc(77/1150 * 100vw) auto 0; } }
        @media only screen and (min-width: 1150px) {
          .wrap .about_wrap .about .about02 {
            width: 610px;
            margin: 77px auto 0; } }
      .wrap .about_wrap .about .dot {
        width: calc(650/750 * 100vw);
        margin: calc(66/750 * 100vw) auto 0;
        height: calc(4/750 * 100vw);
        line-height: 0; }
        @media only screen and (min-width: 750px) {
          .wrap .about_wrap .about .dot {
            width: calc(900/1150 * 100vw);
            margin: calc(72/1150 * 100vw) auto 0;
            height: calc(5/1150 * 100vw); } }
        @media only screen and (min-width: 1150px) {
          .wrap .about_wrap .about .dot {
            width: 900px;
            margin: 72px auto 0;
            height: 5px; } }
      .wrap .about_wrap .about .about03 {
        width: calc(645/750 * 100%);
        margin: calc(78/750 * 100vw) auto 0; }
        @media only screen and (min-width: 750px) {
          .wrap .about_wrap .about .about03 {
            width: calc(709/1150 * 100vw);
            margin: calc(68/1150 * 100vw) auto 0; } }
        @media only screen and (min-width: 1150px) {
          .wrap .about_wrap .about .about03 {
            width: 709px;
            margin: 68x auto 0; } }
      .wrap .about_wrap .about .about03_ph {
        width: calc(582/750 * 100%);
        margin: calc(58/750 * 100vw) auto 0; }
        @media only screen and (min-width: 750px) {
          .wrap .about_wrap .about .about03_ph {
            width: calc(560/1150 * 100vw);
            margin: calc(48/1150 * 100vw) auto 0; } }
        @media only screen and (min-width: 1150px) {
          .wrap .about_wrap .about .about03_ph {
            width: 560px;
            margin: 48x auto 0; } }
      .wrap .about_wrap .about .bt_brand {
        display: block;
        width: calc(550/750 * 100%);
        margin: calc(82/750 * 100vw) auto 0;
        filter: drop-shadow(calc(5/750 * 100vw) calc(5/750 * 100vw) 0 #000045); }
        @media only screen and (min-width: 750px) {
          .wrap .about_wrap .about .bt_brand {
            width: calc(440/1150 * 100vw);
            margin: calc(74/1150 * 100vw) auto 0;
            filter: drop-shadow(calc(4/1150 * 100vw) calc(4/1150 * 100vw) 0 #000045); } }
        @media only screen and (min-width: 1150px) {
          .wrap .about_wrap .about .bt_brand {
            width: 440px;
            margin: 74px auto 0;
            filter: drop-shadow(4px 4px 0 #000045); } }
      .wrap .about_wrap .about .note {
        text-align: center;
        margin: 2em auto 0;
        color: #FFF;
        font-size: calc(19/750 * 100vw); }
        @media only screen and (min-width: 750px) {
          .wrap .about_wrap .about .note {
            font-size: calc(17/1150 * 100vw); } }
        @media only screen and (min-width: 1150px) {
          .wrap .about_wrap .about .note {
            font-size: 17px; } }
  .wrap .cont_wrap {
    width: 100%;
    background-image: url("../img/bg_wave02_sp.jpg"), url("../img/bg_cont_sp.jpg");
    background-size: 100% auto, cover;
    background-position: top center, top center;
    background-repeat: no-repeat, repeat-y;
    padding: calc(60/750 * 100vw) 0 0; }
    @media only screen and (min-width: 750px) {
      .wrap .cont_wrap {
        background-image: url("../img/bg_wave02_pc.jpg"), url("../img/bg_cont_pcl.jpg");
        background-size: 100% auto,cover;
        padding: calc(74/1150 * 100vw) 0 0;
        background-position: top center,top center;
        background-repeat: no-repeat,repeat-y; } }
    @media only screen and (min-width: 1150px) {
      .wrap .cont_wrap {
        background-image: url("../img/bg_wave02_pcl.jpg"), url("../img/bg_cont_pcl.jpg");
        background-size: auto auto,cover;
        padding: 74px 0 0; } }
    @media only screen and (min-width: 2000px) {
      .wrap .cont_wrap {
        background-size: 100% auto ,100% auto; } }
  .wrap .guideline_btn, .wrap .privacy_btn {
    margin: calc(60/750 * 100vw) auto 0;
    width: calc(550/750 * 100vw);
    padding: calc(35/750 * 100vw) calc(35/750 * 100vw) calc(35/750 * 100vw) 0;
    background-color: #000045;
    background-image: url("../img/btn_arrow_op.svg");
    background-position: right calc(43/750 * 100vw) center;
    background-size: calc(24/750 * 100vw) auto;
    background-repeat: no-repeat;
    text-align: center;
    line-height: 0; }
    @media only screen and (min-width: 750px) {
      .wrap .guideline_btn, .wrap .privacy_btn {
        margin: calc(50/1150 * 100vw) auto 0;
        width: calc(850/1150 * 100vw);
        padding: calc(23/1150 * 100vw) 0;
        background-image: url("../img/btn_arrow_op.svg");
        background-position: right calc(30/1150 * 100vw) center;
        background-size: calc(25/1150 * 100vw) auto; } }
    @media only screen and (min-width: 1150px) {
      .wrap .guideline_btn, .wrap .privacy_btn {
        margin: 50px auto 0;
        width: 850px;
        padding: 23px 0;
        background-image: url("../img/btn_arrow_op.svg");
        background-position: right 30px center;
        background-size: 25px auto; } }
    .wrap .guideline_btn.active, .wrap .privacy_btn.active {
      background-image: url("../img/btn_arrow_cl.svg"); }
    @media only screen and (min-width: 750px) {
      .wrap .guideline_btn:hover, .wrap .privacy_btn:hover {
        opacity: 0.8;
        cursor: pointer; } }
    .wrap .guideline_btn img, .wrap .privacy_btn img {
      height: calc(28/750 * 100vw);
      margin: 0 auto; }
      @media only screen and (min-width: 750px) {
        .wrap .guideline_btn img, .wrap .privacy_btn img {
          height: calc(29/1150 * 100vw); } }
      @media only screen and (min-width: 1150px) {
        .wrap .guideline_btn img, .wrap .privacy_btn img {
          height: 29px; } }
  .wrap .guideline_cont, .wrap .privacy_cont {
    display: none;
    background-color: #fff;
    margin: calc(46/750 * 100vw) auto 0;
    width: calc(550/750 * 100vw);
    padding: 1.2em 0.3em 1.2em 1.2em;
    border: calc(6/750 * 100vw) solid #000045;
    border-radius: calc(40/750 * 100vw); }
    @media only screen and (min-width: 750px) {
      .wrap .guideline_cont, .wrap .privacy_cont {
        margin: calc(46/1150 * 100vw) auto 0;
        width: calc(850/1150 * 100vw);
        padding: 2.5em 2em 2.5em 3em;
        border: calc(6/11750 * 100vw) solid #000045;
        border-radius: calc(40/71150 * 100vw); } }
    @media only screen and (min-width: 1150px) {
      .wrap .guideline_cont, .wrap .privacy_cont {
        margin: 46px auto 0;
        width: 850px;
        border: 6px solid #000045;
        border-radius: 40px; } }
    .wrap .guideline_cont .cont, .wrap .privacy_cont .cont {
      width: calc(482/750 * 100vw);
      height: calc(508/750 * 100vw);
      overflow-y: scroll;
      padding: 0 1em 0 0; }
      @media only screen and (min-width: 750px) {
        .wrap .guideline_cont .cont, .wrap .privacy_cont .cont {
          width: calc(760/1150 * 100vw);
          height: calc(310/1150 * 100vw);
          padding: 0 2em 0 0; } }
      @media only screen and (min-width: 1150px) {
        .wrap .guideline_cont .cont, .wrap .privacy_cont .cont {
          height: 310px;
          width: 760px; } }
      .wrap .guideline_cont .cont h3, .wrap .privacy_cont .cont h3 {
        font-size: calc(24/750 * 100vw);
        margin: 1em 0 0.25em 0; }
        @media only screen and (min-width: 750px) {
          .wrap .guideline_cont .cont h3, .wrap .privacy_cont .cont h3 {
            font-size: calc(22/1150 * 100vw); } }
        @media only screen and (min-width: 1150px) {
          .wrap .guideline_cont .cont h3, .wrap .privacy_cont .cont h3 {
            font-size: 2.2rem; } }
      .wrap .guideline_cont .cont h4, .wrap .guideline_cont .cont p, .wrap .guideline_cont .cont li, .wrap .privacy_cont .cont h4, .wrap .privacy_cont .cont p, .wrap .privacy_cont .cont li {
        font-size: calc(20/750 * 100vw);
        line-height: 1.3;
        margin-bottom: 0.5em;
        text-align: justify; }
        @media only screen and (min-width: 750px) {
          .wrap .guideline_cont .cont h4, .wrap .guideline_cont .cont p, .wrap .guideline_cont .cont li, .wrap .privacy_cont .cont h4, .wrap .privacy_cont .cont p, .wrap .privacy_cont .cont li {
            font-size: calc(19/1150 * 100vw); } }
        @media only screen and (min-width: 1150px) {
          .wrap .guideline_cont .cont h4, .wrap .guideline_cont .cont p, .wrap .guideline_cont .cont li, .wrap .privacy_cont .cont h4, .wrap .privacy_cont .cont p, .wrap .privacy_cont .cont li {
            font-size: 1.9rem; } }
      .wrap .guideline_cont .cont ul, .wrap .privacy_cont .cont ul {
        margin-bottom: 1em; }
      .wrap .guideline_cont .cont li, .wrap .privacy_cont .cont li {
        padding-left: 1.25em;
        text-indent: -1.25em; }
      .wrap .guideline_cont .cont li ul, .wrap .privacy_cont .cont li ul {
        margin: 1em 0 1em 0; }
      .wrap .guideline_cont .cont .kome li, .wrap .privacy_cont .cont .kome li {
        padding-left: 1em;
        text-indent: -1em; }
      .wrap .guideline_cont .cont .list, .wrap .privacy_cont .cont .list {
        margin-left: 0.35em;
        list-style-type: disc; }
        .wrap .guideline_cont .cont .list li, .wrap .privacy_cont .cont .list li {
          list-style-type: disc;
          margin-left: 1em;
          padding-left: 0;
          text-indent: 0; }
      .wrap .guideline_cont .cont .mt-1, .wrap .privacy_cont .cont .mt-1 {
        margin-top: -1em; }
  .wrap .note {
    width: 92%;
    font-size: 2vw;
    text-align: right;
    margin: 3em auto 0; }
    @media only screen and (min-width: 750px) {
      .wrap .note {
        width: calc(960/1150 * 100vw);
        font-size: calc(13/1150 * 100vw); } }
    @media only screen and (min-width: 1150px) {
      .wrap .note {
        width: 960px;
        font-size: 1.3rem; } }
  .wrap .inquiry h2 {
    width: calc(485/750 * 100vw);
    margin: calc(100/750 * 100vw) auto 0; }
    @media only screen and (min-width: 750px) {
      .wrap .inquiry h2 {
        width: calc(437/1150 * 100vw);
        margin: calc(144/1150 * 100vw) auto 0; } }
    @media only screen and (min-width: 1150px) {
      .wrap .inquiry h2 {
        width: 437px;
        margin: 144px auto 0; } }
  .wrap .inquiry .inquiry_text01 {
    width: calc(451/750 * 100vw);
    margin: calc(60/750 * 100vw) auto 0; }
    @media only screen and (min-width: 750px) {
      .wrap .inquiry .inquiry_text01 {
        width: calc(668/1150 * 100vw);
        margin: calc(32/1150 * 100vw) auto 0; } }
    @media only screen and (min-width: 1150px) {
      .wrap .inquiry .inquiry_text01 {
        width: 668px;
        margin: 32px auto 0; } }
  .wrap .inquiry .freecall {
    width: calc(598/750 * 100vw);
    margin: calc(30/750 * 100vw) auto 0; }
    @media only screen and (min-width: 750px) {
      .wrap .inquiry .freecall {
        width: calc(537/1150 * 100vw);
        margin: calc(36/1150 * 100vw) auto 0; } }
    @media only screen and (min-width: 1150px) {
      .wrap .inquiry .freecall {
        width: 537px;
        margin: 36px auto 0; } }
  .wrap .inquiry .inquiry_text02 {
    width: calc(584/750 * 100vw);
    margin: calc(24/750 * 100vw) auto 0; }
    @media only screen and (min-width: 750px) {
      .wrap .inquiry .inquiry_text02 {
        width: calc(555/1150 * 100vw);
        margin: calc(22/1150 * 100vw) auto 0; } }
    @media only screen and (min-width: 1150px) {
      .wrap .inquiry .inquiry_text02 {
        width: 555px;
        margin: 22px auto 0; } }
  .wrap .footer {
    padding: 0 0 calc(65/750 * 100vw); }
    @media only screen and (min-width: 750px) {
      .wrap .footer {
        padding: 0 0 calc(65/1150 * 100vw); } }
    @media only screen and (min-width: 1150px) {
      .wrap .footer {
        padding: 0 0 65px; } }
    .wrap .footer .link {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      width: 25em;
      font-size: calc(25/750 * 100vw);
      margin: calc(70/750 * 100vw) auto 0; }
      @media only screen and (min-width: 750px) {
        .wrap .footer .link {
          width: 100%;
          font-size: calc(22/1150 * 100vw);
          margin: calc(50/1150 * 100vw) auto 0; } }
      @media only screen and (min-width: 1150px) {
        .wrap .footer .link {
          font-size: 22px;
          margin: 50px auto 0; } }
      .wrap .footer .link li {
        padding: 0em 0.8em;
        border-right: #e50012 2px solid;
        margin-top: 0.7em; }
        .wrap .footer .link li a {
          font-weight: bold;
          color: #e50012;
          text-decoration: none; }
          .wrap .footer .link li a:hover {
            opacity: 0.6; }
        .wrap .footer .link li:nth-child(2) {
          border-right: none; }
          @media only screen and (min-width: 750px) {
            .wrap .footer .link li:nth-child(2) {
              border-right: #e50012 2px solid; } }
        .wrap .footer .link li:nth-child(4) {
          border-right: none; }
    .wrap .footer .corp_logo {
      width: calc(195/750 * 100vw);
      margin: calc(49/750 * 100vw) auto 0; }
      @media only screen and (min-width: 750px) {
        .wrap .footer .corp_logo {
          width: calc(176/1150 * 100vw);
          margin: calc(50/1150 * 100vw) auto 0; } }
      @media only screen and (min-width: 1150px) {
        .wrap .footer .corp_logo {
          width: 176px;
          margin: 50px auto 0; } }

.modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%; }

.modal__bg {
  background: rgba(50, 50, 50, 0.75);
  height: 100vh;
  position: absolute;
  width: 100%; }

.modal__content {
  background: #fff;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(650/750 * 100vw);
  height: calc(1160/750 * 100vw);
  border-radius: calc(40/750 * 100vw);
  overflow: hidden; }
  @media only screen and (min-width: 750px) {
    .modal__content {
      width: calc(800/1150 * 100vw);
      height: calc(600/1150 * 100vw);
      border-radius: calc(40/1150 * 100vw); } }
  @media only screen and (min-width: 1150px) {
    .modal__content {
      width: 800px;
      height: 600px;
      border-radius: 40px; } }
  .modal__content .cont_wrap {
    position: relative; }
    .modal__content .cont_wrap h2 {
      padding: calc(50/750 * 100vw) 0 calc(28/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .modal__content .cont_wrap h2 {
          padding: calc(30/1150 * 100vw) 0 calc(24/1150 * 100vw); } }
      @media only screen and (min-width: 1150px) {
        .modal__content .cont_wrap h2 {
          padding: 30px 0 24px; } }
      .modal__content .cont_wrap h2 img {
        height: calc(79/750 * 100vw); }
        @media only screen and (min-width: 750px) {
          .modal__content .cont_wrap h2 img {
            height: calc(55/1150 * 100vw); } }
        @media only screen and (min-width: 1150px) {
          .modal__content .cont_wrap h2 img {
            height: 55px; } }
      .modal__content .cont_wrap h2.pop01_h2 {
        background: #1e64b2; }
      .modal__content .cont_wrap h2.pop02_h2 {
        background: #328c43; }
      .modal__content .cont_wrap h2.pop03_h2 {
        background: #9e55a0; }
    .modal__content .cont_wrap .js-modal-close {
      position: absolute;
      width: calc(40/750 * 100vw);
      top: calc(27/750 * 100vw);
      right: calc(40/750 * 100vw); }
      @media only screen and (min-width: 750px) {
        .modal__content .cont_wrap .js-modal-close {
          width: calc(45/1150 * 100vw);
          top: calc(22/1150 * 100vw);
          right: calc(31/1150 * 100vw); } }
      @media only screen and (min-width: 1150px) {
        .modal__content .cont_wrap .js-modal-close {
          width: 45px;
          top: 22px;
          right: 31px; } }
    .modal__content .cont_wrap .cont {
      width: calc(576/750 * 100vw);
      height: calc(724/750 * 100vw);
      margin: calc(52/750 * 100vw) auto 0;
      padding: 0 calc(38/750 * 100vw);
      overflow-y: scroll; }
      @media only screen and (min-width: 750px) {
        .modal__content .cont_wrap .cont {
          text-align: left;
          width: calc(756/1150 * 100vw);
          height: calc(330/1150 * 100vw);
          margin: calc(21/1150 * 100vw) auto 0;
          padding: 0 calc(38/1150 * 100vw) 0 calc(25/1150 * 100vw); } }
      @media only screen and (min-width: 1150px) {
        .modal__content .cont_wrap .cont {
          width: 756px;
          height: 330px;
          margin: 21px auto 0;
          padding: 0 0px 0 25px; } }
      .modal__content .cont_wrap .cont .ph {
        width: calc(500/750 * 100vw);
        margin: 0 auto 0; }
        @media only screen and (min-width: 750px) {
          .modal__content .cont_wrap .cont .ph {
            width: calc(693/1150 * 100vw);
            margin: 0 auto 0 0; } }
        @media only screen and (min-width: 1150px) {
          .modal__content .cont_wrap .cont .ph {
            width: 693px; } }
      .modal__content .cont_wrap .cont .text {
        width: calc(500/750 * 100vw);
        margin: 2.5em auto 0;
        font-size: calc(19/750 * 100vw); }
        @media only screen and (min-width: 750px) {
          .modal__content .cont_wrap .cont .text {
            width: calc(693/1150 * 100vw);
            font-size: calc(17/1150 * 100vw);
            margin: 2.5em auto 0 0; } }
        @media only screen and (min-width: 1150px) {
          .modal__content .cont_wrap .cont .text {
            width: 693px;
            font-size: 1.7rem; } }
        .modal__content .cont_wrap .cont .text p, .modal__content .cont_wrap .cont .text h3 {
          font-weight: normal;
          font-size: calc(19/750 * 100vw); }
          @media only screen and (min-width: 750px) {
            .modal__content .cont_wrap .cont .text p, .modal__content .cont_wrap .cont .text h3 {
              font-size: calc(17/1150 * 100vw); } }
          @media only screen and (min-width: 1150px) {
            .modal__content .cont_wrap .cont .text p, .modal__content .cont_wrap .cont .text h3 {
              font-size: 1.7rem; } }
          .modal__content .cont_wrap .cont .text p sub, .modal__content .cont_wrap .cont .text h3 sub {
            vertical-align: baseline; }
        .modal__content .cont_wrap .cont .text h3 + p {
          margin-top: 0.5em; }
        .modal__content .cont_wrap .cont .text p + h3 {
          margin-top: 2em; }
    .modal__content .cont_wrap .bt {
      display: block;
      width: calc(550/750 * 100vw);
      margin: calc(56/750 * 100vw) auto 0;
      filter: drop-shadow(calc(5/750 * 100vw) calc(5/750 * 100vw) 0 #000045); }
      @media only screen and (min-width: 750px) {
        .modal__content .cont_wrap .bt {
          width: calc(366/1150 * 100vw);
          margin: calc(24/1150 * 100vw) auto 0;
          filter: drop-shadow(calc(4/1150 * 100vw) calc(4/1150 * 100vw) 0 #000045); } }
      @media only screen and (min-width: 1150px) {
        .modal__content .cont_wrap .bt {
          width: 366px;
          margin: 24px auto 0;
          filter: drop-shadow(4px 4px 0 #000045); } }
      .modal__content .cont_wrap .bt:hover {
        cursor: pointer;
        opacity: 1;
        filter: brightness(1.15) drop-shadow(calc(5/750 * 100vw) calc(5/750 * 100vw) 0 #000045); }
        @media only screen and (min-width: 750px) {
          .modal__content .cont_wrap .bt:hover {
            filter: brightness(1.15) drop-shadow(calc(4/1150 * 100vw) calc(4/1150 * 100vw) 0 #000045); } }
        @media only screen and (min-width: 1150px) {
          .modal__content .cont_wrap .bt:hover {
            filter: brightness(1.15) drop-shadow(4px 4px 0 #000045); } }
        .modal__content .cont_wrap .bt:hover img {
          opacity: 1; }
