@charset "UTF-8";
#text {
  mask: url(#mask); }

.handwriting {
  width: 100%;
  height: auto; }
  .handwriting_text {
    fill: #e30012; }
  .handwriting_mask_line {
    fill: none;
    stroke: #fff;
    stroke-width: 12;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 4000px;
    animation: handwriting both 3.5s 1 ease 1s alternate; }

@keyframes handwriting {
  0% {
    stroke-dashoffset: 4000px; }
  100% {
    stroke-dashoffset: 0; } }
/*******　トップページ　*******/
.toppage {
  width: 100%;
  overflow-x: hidden; }
  .toppage .keyvisual {
    position: relative;
    width: 100vw; }
    @media only screen and (min-width: 769px) {
      .toppage .keyvisual {
        width: 100%; } }
    .toppage .keyvisual .kv01_logo_wrap {
      position: absolute;
      top: calc(178 / 390 * 100vw);
      left: 50%;
      transform: translateX(-50%);
      width: calc(333 / 390 * 100vw); }
      @media only screen and (min-width: 769px) {
        .toppage .keyvisual .kv01_logo_wrap {
          width: 100%;
          top: calc(204 / 1980 * 100vw);
          width: calc(916 / 1980 * 100%); } }
      .toppage .keyvisual .kv01_logo_wrap .kv01_logo {
        position: relative;
        width: 100%; }
        .toppage .keyvisual .kv01_logo_wrap .kv01_logo .kv_23 {
          position: absolute;
          width: calc(88 / 390 * 100vw);
          height: calc(51 / 390 * 100vw);
          top: calc(26 / 390 * 100vw);
          right: calc(32 / 390 * 100vw); }
          @media only screen and (min-width: 769px) {
            .toppage .keyvisual .kv01_logo_wrap .kv01_logo .kv_23 {
              width: calc(241 / 1980 * 100vw);
              height: calc(139 / 1980 * 100vw);
              top: calc(75 / 1980 * 100vw);
              right: calc(90 / 1980 * 100vw); } }
  .toppage .keyvisual-slide {
    /* Dots */ }
    .toppage .keyvisual-slide .powerof23 {
      position: relative; }
    .toppage .keyvisual-slide .slick-dots {
      display: none;
      bottom: calc(-35 / 390 * 100vw); }
      @media only screen and (min-width: 769px) {
        .toppage .keyvisual-slide .slick-dots {
          bottom: calc(-50 / 1920 * 100vw); } }
      @media only screen and (min-width: 1080px) {
        .toppage .keyvisual-slide .slick-dots {
          bottom: -50px; } }
    .toppage .keyvisual-slide .slick-dots li {
      padding: 0 calc(10 / 390 * 100vw); }
      @media only screen and (min-width: 769px) {
        .toppage .keyvisual-slide .slick-dots li {
          padding: 0 calc(17 / 1920 * 100vw); } }
      @media only screen and (min-width: 1080px) {
        .toppage .keyvisual-slide .slick-dots li {
          padding: 0 17px; } }
    .toppage .keyvisual-slide .slick-dots li button:before {
      opacity: 1;
      font-size: 0;
      width: calc(10 / 390 * 100vw);
      height: calc(10 / 390 * 100vw);
      background-color: #a6a6a6; }
      @media only screen and (min-width: 769px) {
        .toppage .keyvisual-slide .slick-dots li button:before {
          width: calc(17 / 1920 * 100vw);
          height: calc(17 / 1920 * 100vw); } }
      @media only screen and (min-width: 1080px) {
        .toppage .keyvisual-slide .slick-dots li button:before {
          width: 17px;
          height: 17px; } }
    .toppage .keyvisual-slide .slick-dots li.slick-active button:before {
      opacity: 1;
      font-size: 0;
      width: calc(10 / 390 * 100vw);
      height: calc(10 / 390 * 100vw);
      background-color: #df6a86; }
      @media only screen and (min-width: 769px) {
        .toppage .keyvisual-slide .slick-dots li.slick-active button:before {
          width: calc(17 / 1920 * 100vw);
          height: calc(17 / 1920 * 100vw); } }
      @media only screen and (min-width: 1080px) {
        .toppage .keyvisual-slide .slick-dots li.slick-active button:before {
          width: 17px;
          height: 17px; } }
  .toppage .spl-movie {
    position: absolute;
    width: calc(140 / 390 * 100vw);
    bottom: calc(140 / 390 * 100vw);
    right: calc(12 / 390 * 100vw); }
    @media only screen and (min-width: 769px) {
      .toppage .spl-movie {
        width: calc(400 / 1920 * 100vw);
        bottom: calc(180 / 1920 * 100vw);
        right: calc(250 / 1920 * 100vw); } }
    .toppage .spl-movie .spl-movie-inner {
      width: 100%;
      padding: calc(60 / 390 * 100vw) 0 0; }
      @media only screen and (min-width: 769px) {
        .toppage .spl-movie .spl-movie-inner {
          padding: calc(120 / 1080 * 100vw) 0 0; } }
      @media only screen and (min-width: 1080px) {
        .toppage .spl-movie .spl-movie-inner {
          padding: 120px 0 0; } }
    .toppage .spl-movie .spl-movie-inner-thum {
      width: 100%;
      margin: 0 auto;
      border-radius: 0.4em;
      overflow: hidden; }
      @media only screen and (min-width: 769px) {
        .toppage .spl-movie .spl-movie-inner-thum {
          cursor: pointer; } }
      @media only screen and (min-width: 769px) {
        .toppage .spl-movie .spl-movie-inner-thum:hover {
          opacity: 0.8; } }
    .toppage .spl-movie .spl-movie-inner-text {
      margin: 0.2em auto 0;
      font-size: calc(12 / 390 * 100vw);
      line-height: 1.2;
      text-align: center; }
      @media only screen and (min-width: 769px) {
        .toppage .spl-movie .spl-movie-inner-text {
          margin: 0.2em auto 0;
          font-size: calc(24 / 1920 * 100vw); } }
      @media only screen and (min-width: 1280px) {
        .toppage .spl-movie .spl-movie-inner-text {
          font-size: 2.4rem; } }
  .toppage .splsite {
    padding: calc(60 / 390 * 100vw) 0;
    margin: calc(0 / 390 * 100vw) auto 0;
    background-image: url("../../img/bg_deco01_sp.svg");
    background-size: cover;
    background-position: center bottom; }
    @media only screen and (min-width: 769px) {
      .toppage .splsite {
        padding: calc(90 / 1280 * 100vw) 0 calc(123 / 1280 * 100vw);
        background-image: url("../../img/bg_deco01_pc.svg");
        background-size: calc(1920 / 1280 * 100vw) auto;
        background-position: top center;
        margin: calc(0 / 1280 * 100vw) auto 0; } }
    @media only screen and (min-width: 1080px) {
      .toppage .splsite {
        padding: 90px 0 123px;
        margin: 0px auto 0;
        background-size: 1920px auto; } }
    @media only screen and (min-width: 1981px) {
      .toppage .splsite {
        margin: 0px auto 0;
        background-size: 100% auto; } }
  .toppage .splsite-banner {
    width: calc(350 / 390 * 100vw);
    margin: calc(20 / 390 * 100vw) auto 0; }
    @media only screen and (min-width: 769px) {
      .toppage .splsite-banner {
        display: flex;
        justify-content: space-between;
        width: calc(1198 / 1280 * 100vw);
        margin: calc(30 / 1280 * 100vw) auto 0; } }
    @media only screen and (min-width: 1280px) {
      .toppage .splsite-banner {
        width: 1198px;
        margin: 30px auto 0; } }
    .toppage .splsite-banner li {
      background-color: #FFF;
      border: solid 1px #000000; }
      @media only screen and (min-width: 769px) {
        .toppage .splsite-banner li {
          width: calc(583 / 1280 * 100vw);
          margin-bottom: 0; } }
      @media only screen and (min-width: 1280px) {
        .toppage .splsite-banner li {
          width: 583px; } }
    .toppage .splsite-banner li + li {
      margin-top: calc(25 / 390 * 100vw); }
      @media only screen and (min-width: 769px) {
        .toppage .splsite-banner li + li {
          margin-top: 0; } }
  .toppage .contents-index1 {
    width: 100vw;
    background-color: #fcf0f3;
    padding: calc(65 / 390 * 100vw) 0 calc(60 / 390 * 100vw); }
    @media only screen and (min-width: 769px) {
      .toppage .contents-index1 {
        width: 100%;
        padding: calc(140 / 1280 * 100vw) 0 calc(46 / 1280 * 100vw);
        height: calc(1680 / 1280 * 100vw); } }
    @media only screen and (min-width: 1280px) {
      .toppage .contents-index1 {
        padding: 140px 0 46px;
        height: 1680px; } }
    .toppage .contents-index1 .contents-index1-inner {
      width: 100vw; }
      @media only screen and (min-width: 769px) {
        .toppage .contents-index1 .contents-index1-inner {
          position: relative;
          width: 100%; } }
    .toppage .contents-index1 .wrap1 {
      width: calc(350 / 390 * 100vw);
      margin: 0 auto; }
      @media only screen and (min-width: 769px) {
        .toppage .contents-index1 .wrap1 {
          display: flex;
          justify-content: space-between;
          width: calc(1200 / 1280 * 100vw); } }
      @media only screen and (min-width: 1280px) {
        .toppage .contents-index1 .wrap1 {
          width: 1200px; } }
      .toppage .contents-index1 .wrap1 .photo {
        width: calc(350 / 390 * 100vw); }
        @media only screen and (min-width: 769px) {
          .toppage .contents-index1 .wrap1 .photo {
            order: 2;
            width: calc(668 / 1280 * 100vw); } }
        @media only screen and (min-width: 1280px) {
          .toppage .contents-index1 .wrap1 .photo {
            width: 668px; } }
      .toppage .contents-index1 .wrap1 .text {
        width: calc(350 / 390 * 100vw);
        margin: calc(20 / 390 * 100vw) auto 0; }
        @media only screen and (min-width: 769px) {
          .toppage .contents-index1 .wrap1 .text {
            order: 1;
            width: calc(489 / 1280 * 100vw);
            margin: calc(0 / 1280 * 100vw) 0 0; } }
        @media only screen and (min-width: 1280px) {
          .toppage .contents-index1 .wrap1 .text {
            width: 489px;
            margin: 0px 0 0; } }
        .toppage .contents-index1 .wrap1 .text .contents-index1-title {
          width: calc(219 / 390 * 100vw); }
          @media only screen and (min-width: 769px) {
            .toppage .contents-index1 .wrap1 .text .contents-index1-title {
              width: calc(274 / 1280 * 100vw); } }
          @media only screen and (min-width: 1280px) {
            .toppage .contents-index1 .wrap1 .text .contents-index1-title {
              width: 274px; } }
        .toppage .contents-index1 .wrap1 .text .contents-index1-text {
          font-size: calc(14 / 390 * 100vw);
          line-height: 1.7;
          text-align: justify;
          margin: 1.4em auto 0; }
          @media only screen and (min-width: 769px) {
            .toppage .contents-index1 .wrap1 .text .contents-index1-text {
              font-size: calc(16 / 1280 * 100vw); } }
          @media only screen and (min-width: 1280px) {
            .toppage .contents-index1 .wrap1 .text .contents-index1-text {
              font-size: 1.6rem; } }
        .toppage .contents-index1 .wrap1 .text .contents-index1-btn {
          margin: calc(30 / 390 * 100vw) auto 0; }
          @media only screen and (min-width: 769px) {
            .toppage .contents-index1 .wrap1 .text .contents-index1-btn {
              margin: calc(32 / 1280 * 100vw) auto 0 0; } }
          @media only screen and (min-width: 1280px) {
            .toppage .contents-index1 .wrap1 .text .contents-index1-btn {
              margin: 32px auto 0 0; } }
    .toppage .contents-index1 .wrap2 {
      width: calc(350 / 390 * 100vw);
      margin: calc(53 / 390 * 100vw) auto 0; }
      @media only screen and (min-width: 769px) {
        .toppage .contents-index1 .wrap2 {
          position: absolute;
          display: flex;
          justify-content: space-between;
          width: calc(1566 / 1280 * 100vw);
          margin: 0;
          top: calc(530 / 1280 * 100vw);
          left: 50%;
          transform: translateX(-62%); } }
      @media only screen and (min-width: 1280px) {
        .toppage .contents-index1 .wrap2 {
          width: 1566px;
          top: 530px; } }
      .toppage .contents-index1 .wrap2 .photo {
        display: flex;
        justify-content: space-between;
        width: calc(350 / 390 * 100vw); }
        @media only screen and (min-width: 769px) {
          .toppage .contents-index1 .wrap2 .photo {
            order: 1;
            width: calc(974 / 1280 * 100vw); } }
        @media only screen and (min-width: 1280px) {
          .toppage .contents-index1 .wrap2 .photo {
            width: 974px; } }
        .toppage .contents-index1 .wrap2 .photo div {
          width: calc(170 / 390 * 100vw); }
          @media only screen and (min-width: 1280px) {
            .toppage .contents-index1 .wrap2 .photo div {
              width: 476px; } }
      .toppage .contents-index1 .wrap2 .text {
        width: calc(350 / 390 * 100vw);
        margin: calc(28 / 390 * 100vw) auto 0; }
        @media only screen and (min-width: 769px) {
          .toppage .contents-index1 .wrap2 .text {
            order: 2;
            width: calc(530 / 1280 * 100vw);
            margin: calc(0 / 1280 * 100vw) 0 0; } }
        @media only screen and (min-width: 1280px) {
          .toppage .contents-index1 .wrap2 .text {
            width: 530px;
            margin: 0px 0 0; } }
        .toppage .contents-index1 .wrap2 .text .contents-index2-title {
          width: calc(264 / 390 * 100vw); }
          @media only screen and (min-width: 769px) {
            .toppage .contents-index1 .wrap2 .text .contents-index2-title {
              width: calc(331 / 1280 * 100vw); } }
          @media only screen and (min-width: 1280px) {
            .toppage .contents-index1 .wrap2 .text .contents-index2-title {
              width: 331px; } }
        .toppage .contents-index1 .wrap2 .text .contents-index2-text {
          font-size: calc(14 / 390 * 100vw);
          line-height: 1.7;
          text-align: justify;
          margin: 1.4em auto 0; }
          @media only screen and (min-width: 769px) {
            .toppage .contents-index1 .wrap2 .text .contents-index2-text {
              font-size: calc(16 / 1280 * 100vw); } }
          @media only screen and (min-width: 1280px) {
            .toppage .contents-index1 .wrap2 .text .contents-index2-text {
              font-size: 1.6rem; } }
        .toppage .contents-index1 .wrap2 .text .contents-index2-btn {
          margin: calc(30 / 390 * 100vw) auto 0; }
          @media only screen and (min-width: 769px) {
            .toppage .contents-index1 .wrap2 .text .contents-index2-btn {
              margin: calc(32 / 1280 * 100vw) auto 0 0; } }
          @media only screen and (min-width: 1280px) {
            .toppage .contents-index1 .wrap2 .text .contents-index2-btn {
              margin: 32px auto 0 0; } }
    .toppage .contents-index1 .wrap3 {
      width: calc(390 / 390 * 100vw);
      margin: calc(53 / 390 * 100vw) auto 0; }
      @media only screen and (min-width: 769px) {
        .toppage .contents-index1 .wrap3 {
          width: 100%;
          margin: 0; } }
      .toppage .contents-index1 .wrap3 .photo {
        width: calc(390 / 390 * 100vw); }
        @media only screen and (min-width: 769px) {
          .toppage .contents-index1 .wrap3 .photo {
            position: absolute;
            top: calc(920 / 1280 * 100vw);
            left: 50%;
            transform: translateX(calc(-460 / 1280 * 100vw));
            width: calc(1256 / 1280 * 100vw); } }
        @media only screen and (min-width: 1280px) {
          .toppage .contents-index1 .wrap3 .photo {
            top: 920px;
            left: 50%;
            transform: translateX(-460px);
            width: 1256px; } }
      .toppage .contents-index1 .wrap3 .text {
        width: calc(350 / 390 * 100vw);
        margin: calc(28 / 390 * 100vw) auto 0;
        letter-spacing: -0.025em; }
        @media only screen and (min-width: 769px) {
          .toppage .contents-index1 .wrap3 .text {
            position: absolute;
            top: calc(1050 / 1280 * 100vw);
            left: 50%;
            transform: translateX(calc(-600 / 1280 * 100vw));
            width: calc(405 / 1280 * 100vw);
            margin: 0; } }
        @media only screen and (min-width: 1280px) {
          .toppage .contents-index1 .wrap3 .text {
            top: 1050px;
            left: 50%;
            transform: translateX(-600px);
            width: 405px; } }
        .toppage .contents-index1 .wrap3 .text .contents-index3-title {
          width: calc(264 / 390 * 100vw); }
          @media only screen and (min-width: 769px) {
            .toppage .contents-index1 .wrap3 .text .contents-index3-title {
              width: calc(332 / 1280 * 100vw); } }
          @media only screen and (min-width: 1280px) {
            .toppage .contents-index1 .wrap3 .text .contents-index3-title {
              width: 332px; } }
        .toppage .contents-index1 .wrap3 .text .contents-index3-text {
          font-size: calc(14 / 390 * 100vw);
          line-height: 1.7;
          text-align: justify;
          margin: 1.4em auto 0; }
          @media only screen and (min-width: 769px) {
            .toppage .contents-index1 .wrap3 .text .contents-index3-text {
              font-size: calc(16 / 1280 * 100vw); } }
          @media only screen and (min-width: 1280px) {
            .toppage .contents-index1 .wrap3 .text .contents-index3-text {
              font-size: 1.6rem; } }
        .toppage .contents-index1 .wrap3 .text .contents-index3-btn {
          margin: calc(30 / 390 * 100vw) auto 0; }
          @media only screen and (min-width: 769px) {
            .toppage .contents-index1 .wrap3 .text .contents-index3-btn {
              margin: calc(32 / 1280 * 100vw) auto 0 0; } }
          @media only screen and (min-width: 1280px) {
            .toppage .contents-index1 .wrap3 .text .contents-index3-btn {
              margin: 32px auto 0 0; } }
  .toppage .job {
    padding: calc(85 / 390 * 100vw) 0 calc(282 / 390 * 100vw);
    width: 100%;
    background-image: url("../../img/bg_deco02_sp.svg");
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat; }
    @media only screen and (min-width: 769px) {
      .toppage .job {
        padding: calc(130 / 1280 * 100vw) 0 calc(400 / 1280 * 100vw);
        background-image: url("../../img/bg_deco02_pc.svg");
        background-size: cover;
        background-position: top center;
        margin: calc(0 / 1280 * 100vw) auto 0; } }
    @media only screen and (min-width: 1080px) {
      .toppage .job {
        padding: 130px 0 400px;
        margin: 0px auto 0; } }
    @media only screen and (min-width: 1981px) {
      .toppage .job {
        margin: 0px auto 0; } }
    .toppage .job .job-inner {
      width: calc(350 / 390 * 100vw);
      margin: 0 auto 0; }
      @media only screen and (min-width: 769px) {
        .toppage .job .job-inner {
          width: calc(960 / 1080 * 100vw);
          margin: 0 auto 0; } }
      @media only screen and (min-width: 1080px) {
        .toppage .job .job-inner {
          width: 960px;
          margin: 0 auto 0; } }
    .toppage .job .job-inner-title {
      margin: 0 auto; }
    .toppage .job .job-inner-list {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      margin: calc(25 / 390 * 100vw) auto 0; }
      @media only screen and (min-width: 769px) {
        .toppage .job .job-inner-list {
          width: calc(960 / 1080 * 100vw);
          margin: calc(44 / 1080 * 100vw) auto 0; } }
      @media only screen and (min-width: 1080px) {
        .toppage .job .job-inner-list {
          width: 960px;
          margin: 44px auto 0; } }
      .toppage .job .job-inner-list li {
        width: calc(168 / 390 * 100vw);
        margin-bottom: calc(13 / 390 * 100vw); }
        @media only screen and (min-width: 769px) {
          .toppage .job .job-inner-list li {
            width: calc(227 / 1080 * 100vw);
            margin-bottom: calc(25 / 1080 * 100vw); } }
        @media only screen and (min-width: 1080px) {
          .toppage .job .job-inner-list li {
            width: 227px;
            margin-bottom: 25px; } }
        .toppage .job .job-inner-list li a:hover {
          text-decoration: none; }
        .toppage .job .job-inner-list li .jobtype {
          display: table-cell;
          vertical-align: middle;
          width: calc(168 / 390 * 100vw);
          height: calc(45 / 390 * 100vw);
          background-color: #df6a86;
          font-size: calc(17 / 390 * 100vw);
          line-height: 1.1;
          color: #fff;
          text-align: center; }
          @media only screen and (min-width: 769px) {
            .toppage .job .job-inner-list li .jobtype {
              width: calc(227 / 1080 * 100vw);
              height: calc(57 / 1080 * 100vw);
              font-size: calc(23 / 1080 * 100vw); } }
          @media only screen and (min-width: 1080px) {
            .toppage .job .job-inner-list li .jobtype {
              width: 227px;
              height: 57px;
              font-size: 2.3rem; } }
          .toppage .job .job-inner-list li .jobtype span {
            font-size: calc(12 / 390 * 100vw); }
            @media only screen and (min-width: 769px) {
              .toppage .job .job-inner-list li .jobtype span {
                font-size: calc(17 / 1080 * 100vw); } }
            @media only screen and (min-width: 1080px) {
              .toppage .job .job-inner-list li .jobtype span {
                font-size: 1.7rem; } }
  .toppage .department .department-inner {
    width: 100vw; }
    @media only screen and (min-width: 769px) {
      .toppage .department .department-inner {
        width: 100%; } }
  .toppage .department .department-inner-title {
    margin: calc(58 / 390 * 100vw) auto 0;
    letter-spacing: 0; }
    @media only screen and (min-width: 769px) {
      .toppage .department .department-inner-title {
        margin: calc(132 / 1080 * 100vw) auto 0; } }
    @media only screen and (min-width: 1080px) {
      .toppage .department .department-inner-title {
        margin: 132px auto 0; } }
  .toppage .department .department-inner-wrap {
    width: 100vw;
    margin: calc(25 / 390 * 100vw) auto 0;
    padding: calc(18 / 390 * 100vw) 0 calc(40 / 390 * 100vw);
    background-color: #fcf0f3; }
    @media only screen and (min-width: 769px) {
      .toppage .department .department-inner-wrap {
        width: calc(937 / 1080 * 100vw);
        margin: calc(40 / 1080 * 100vw) auto 0;
        padding: calc(60 / 1080 * 100vw) 0; } }
    @media only screen and (min-width: 1080px) {
      .toppage .department .department-inner-wrap {
        width: 937px;
        margin: 40px auto 0;
        padding: 60px 0; } }
    .toppage .department .department-inner-wrap ul {
      width: calc(330 / 390 * 100vw);
      margin: 0 auto;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      @media only screen and (min-width: 769px) {
        .toppage .department .department-inner-wrap ul {
          width: calc(812 / 1080 * 100vw); } }
      @media only screen and (min-width: 1080px) {
        .toppage .department .department-inner-wrap ul {
          width: 812px; } }
      .toppage .department .department-inner-wrap ul li {
        width: calc(76 / 390 * 100vw);
        margin-bottom: calc(20 / 390 * 100vw); }
        @media only screen and (min-width: 769px) {
          .toppage .department .department-inner-wrap ul li {
            width: calc(126 / 1080 * 100vw);
            margin: 0 calc(36 / 1080 * 100vw) calc(63 / 1080 * 100vw); } }
        @media only screen and (min-width: 1080px) {
          .toppage .department .department-inner-wrap ul li {
            width: 126px;
            margin: 0 36px 63px; } }
        .toppage .department .department-inner-wrap ul li span {
          display: block;
          text-align: center;
          font-size: calc(9 / 390 * 100vw);
          margin: calc(7 / 390 * 100vw) 0 0; }
          @media only screen and (min-width: 769px) {
            .toppage .department .department-inner-wrap ul li span {
              font-size: calc(15 / 1080 * 100vw);
              margin: calc(12 / 1080 * 100vw) 0 0; } }
          @media only screen and (min-width: 1080px) {
            .toppage .department .department-inner-wrap ul li span {
              font-size: 1.5rem;
              margin: 12px 0 0; } }
    .toppage .department .department-inner-wrap .department-inner-btn {
      margin: calc(20 / 390 * 100vw) auto 0; }
      @media only screen and (min-width: 769px) {
        .toppage .department .department-inner-wrap .department-inner-btn {
          margin: 0 auto; } }
  .toppage .special {
    position: relative;
    margin: 0 auto 0;
    background-color: #df6a86; }
    @media only screen and (min-width: 769px) {
      .toppage .special {
        margin: 0 auto 0; } }
    @media only screen and (min-width: 1080px) {
      .toppage .special {
        margin: 0 auto 0; } }
  .toppage .special-inner {
    position: relative;
    top: calc(-205 / 390 * 100vw);
    left: calc(21 / 390 * 100vw);
    width: calc(348 / 390 * 100vw);
    height: calc(1070 / 390 * 100vw); }
    @media only screen and (min-width: 769px) {
      .toppage .special-inner {
        top: calc(-264 / 1080 * 100vw);
        left: 50%;
        transform: translateX(-50%);
        width: calc(965 / 1080 * 100vw);
        height: calc(900 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .toppage .special-inner {
        top: -264px;
        width: 965px;
        height: 900px; } }
  .toppage .special-inner-list {
    margin-top: 8.2051282051vw; }
    @media only screen and (min-width: 769px) {
      .toppage .special-inner-list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-top: 3.2407407407vw; } }
    .toppage .special-inner-list li {
      margin-bottom: calc(36 / 390 * 100vw); }
      @media only screen and (min-width: 769px) {
        .toppage .special-inner-list li {
          width: calc(445 / 1080 * 100vw);
          margin-bottom: calc(100 / 1080 * 100vw); } }
      @media only screen and (min-width: 1080px) {
        .toppage .special-inner-list li {
          width: 445px;
          margin-bottom: 100px; } }
      @media only screen and (min-width: 769px) {
        .toppage .special-inner-list li:last-child {
          width: calc(965 / 1080 * 100vw); } }
      @media only screen and (min-width: 1080px) {
        .toppage .special-inner-list li:last-child {
          width: 965px; } }
      .toppage .special-inner-list li a:hover {
        text-decoration: none; }
        .toppage .special-inner-list li a:hover .photo {
          background: #FFF;
          opacity: 1 !important; }
        .toppage .special-inner-list li a:hover img {
          opacity: 0.8; }
      .toppage .special-inner-list li .title {
        width: calc(244 / 390 * 100vw);
        margin: calc(15 / 390 * 100vw) auto 0; }
        @media only screen and (min-width: 769px) {
          .toppage .special-inner-list li .title {
            width: calc(244 / 1080 * 100vw);
            margin: calc(15 / 1080 * 100vw) auto 0; } }
        @media only screen and (min-width: 1080px) {
          .toppage .special-inner-list li .title {
            width: 244px;
            margin: 15px auto 0; } }
      .toppage .special-inner-list li .text {
        font-size: calc(15 / 390 * 100vw);
        line-height: 1.5;
        color: #fff;
        text-align: center;
        margin: 0.6em auto 0; }
        @media only screen and (min-width: 769px) {
          .toppage .special-inner-list li .text {
            font-size: calc(15 / 1080 * 100vw); } }
        @media only screen and (min-width: 1080px) {
          .toppage .special-inner-list li .text {
            font-size: 1.5rem; } }
  .toppage .other {
    padding: calc(62 / 390 * 100vw) 0 calc(245 / 390 * 100vw);
    width: 100%;
    background-image: url("../../img/bg_deco03_sp.svg");
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat; }
    @media only screen and (min-width: 769px) {
      .toppage .other {
        padding: calc(125 / 1280 * 100vw) 0 calc(405 / 1280 * 100vw);
        background-image: url("../../img/bg_deco03_pc.svg");
        background-size: cover;
        background-position: top center;
        margin: calc(0 / 1280 * 100vw) auto 0; } }
    @media only screen and (min-width: 1080px) {
      .toppage .other {
        padding: 125px 0 405px;
        margin: 0px auto 0; } }
    @media only screen and (min-width: 1981px) {
      .toppage .other {
        margin: 0px auto 0; } }
    .toppage .other .other-inner {
      width: calc(290 / 390 * 100vw);
      margin: calc(0 / 390 * 100vw) auto 0; }
      @media only screen and (min-width: 769px) {
        .toppage .other .other-inner {
          width: calc(965 / 1080 * 100vw);
          margin: calc(0/ 1080 * 100vw) auto 0; } }
      @media only screen and (min-width: 1080px) {
        .toppage .other .other-inner {
          width: 965px;
          margin: 0px auto 0; } }
    @media only screen and (min-width: 769px) {
      .toppage .other .other-inner-list {
        display: flex;
        justify-content: space-between; } }
    .toppage .other .other-inner-list li {
      margin-bottom: calc(27 / 390 * 100vw); }
      @media only screen and (min-width: 769px) {
        .toppage .other .other-inner-list li {
          width: calc(290 / 1080 * 100vw);
          margin-bottom: 0; } }
      @media only screen and (min-width: 1080px) {
        .toppage .other .other-inner-list li {
          width: 290px; } }
      .toppage .other .other-inner-list li .text {
        background-color: #df6a86;
        padding: calc(27 / 390 * 100vw) 0 calc(20 / 390 * 100vw); }
        @media only screen and (min-width: 769px) {
          .toppage .other .other-inner-list li .text {
            padding: calc(32 / 1080 * 100vw) 0 calc(20 / 1080 * 100vw); } }
        @media only screen and (min-width: 1080px) {
          .toppage .other .other-inner-list li .text {
            padding: 32px 0 20px; } }
        .toppage .other .other-inner-list li .text .title {
          text-align: center;
          font-size: calc(22 / 390 * 100vw);
          color: #fff; }
          @media only screen and (min-width: 769px) {
            .toppage .other .other-inner-list li .text .title {
              font-size: calc(22 / 1080 * 100vw); } }
          @media only screen and (min-width: 1080px) {
            .toppage .other .other-inner-list li .text .title {
              font-size: 2.2rem; } }
        .toppage .other .other-inner-list li .text .other-inner-list-btn {
          margin: calc(23 / 390 * 100vw) auto 0; }
          @media only screen and (min-width: 769px) {
            .toppage .other .other-inner-list li .text .other-inner-list-btn {
              margin: calc(20 / 1080 * 100vw) auto 0; } }
          @media only screen and (min-width: 1080px) {
            .toppage .other .other-inner-list li .text .other-inner-list-btn {
              margin: 20px auto 0; } }
  .toppage .briefing-title {
    margin: calc(0 / 390 * 100vw) auto 0; }
    @media only screen and (min-width: 769px) {
      .toppage .briefing-title {
        margin: calc(0 / 1080 * 100vw) auto 0; } }
    @media only screen and (min-width: 1080px) {
      .toppage .briefing-title {
        margin: 0px auto 0; } }
  .toppage .briefing {
    position: relative;
    width: 100vw;
    height: calc(380 / 390 * 100vw);
    margin: calc(0/ 390 * 100vw) 0 0;
    background-color: #fcf0f3; }
    @media only screen and (min-width: 769px) {
      .toppage .briefing {
        width: 100%;
        height: calc(490 / 1080 * 100vw);
        margin: calc(0 / 1080 * 100vw) 0 0; } }
    @media only screen and (min-width: 1080px) {
      .toppage .briefing {
        height: 490px;
        margin: 0 0 0; } }
    .toppage .briefing .briefing-inner {
      position: absolute;
      top: calc(-176 / 390 * 100vw);
      left: 50%;
      transform: translateX(-50%); }
      @media only screen and (min-width: 769px) {
        .toppage .briefing .briefing-inner {
          top: calc(-260 / 1080 * 100vw); } }
      @media only screen and (min-width: 1080px) {
        .toppage .briefing .briefing-inner {
          top: -260px; } }
      .toppage .briefing .briefing-inner .briefing-inner-photo {
        width: calc(350 / 390 * 100vw);
        margin: calc(25/ 390 * 100vw) auto 0; }
        @media only screen and (min-width: 769px) {
          .toppage .briefing .briefing-inner .briefing-inner-photo {
            width: calc(568 / 1080 * 100vw);
            margin: calc(30 / 1080 * 100vw) auto 0; } }
        @media only screen and (min-width: 1080px) {
          .toppage .briefing .briefing-inner .briefing-inner-photo {
            width: 568px;
            margin: 30px auto 0; } }
      .toppage .briefing .briefing-inner .briefing-inner-subtitle {
        font-size: calc(36 / 390 * 100vw);
        font-weight: 500;
        text-align: center;
        margin: calc(25 / 390 * 100vw) auto 0; }
        @media only screen and (min-width: 769px) {
          .toppage .briefing .briefing-inner .briefing-inner-subtitle {
            font-size: calc(36 / 1080 * 100vw);
            width: calc(568 / 1080 * 100vw);
            margin: calc(45 / 1080 * 100vw) auto 0; } }
        @media only screen and (min-width: 1080px) {
          .toppage .briefing .briefing-inner .briefing-inner-subtitle {
            font-size: 3.6rem;
            width: 568px;
            margin: 45px auto 0; } }
      .toppage .briefing .briefing-inner .briefing-inner-text {
        width: calc(350 / 390 * 100vw);
        margin: calc(25 / 390 * 100vw) auto 0;
        line-height: 1.7;
        text-align: justify; }
        @media only screen and (min-width: 769px) {
          .toppage .briefing .briefing-inner .briefing-inner-text {
            width: calc(568 / 1080 * 100vw);
            margin: calc(24 / 1080 * 100vw) auto 0; } }
        @media only screen and (min-width: 1080px) {
          .toppage .briefing .briefing-inner .briefing-inner-text {
            width: 568px;
            margin: 24px auto 0; } }
      .toppage .briefing .briefing-inner .briefing-inner-btn {
        margin: calc(30 / 390 * 100vw) auto 0; }
        @media only screen and (min-width: 769px) {
          .toppage .briefing .briefing-inner .briefing-inner-btn {
            margin: calc(28 / 1080 * 100vw) auto 0; } }
        @media only screen and (min-width: 1080px) {
          .toppage .briefing .briefing-inner .briefing-inner-btn {
            margin: 28px auto 0; } }
