@charset "UTF-8";
@font-face {
  font-family: "felix";
  src: url("../font/felix-titling.ttf") format("opentype"); }
/*--------------------
共通設定
----------------------*/
* {
  padding: 0;
  margin: 0; }

img, video {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a {
  text-decoration: none;
  color: #3c463c; }
  a.disabled {
    pointer-events: none;
    text-decoration: none; }

ul, ol {
  list-style: none; }

span.pc, br.pc {
  display: inline-block; }
  @media screen and (max-width: 600px) {
    span.pc, br.pc {
      display: none; } }
span.sp, br.sp {
  display: none; }
  @media screen and (max-width: 600px) {
    span.sp, br.sp {
      display: block; } }

/*--------------------------------------------*/
.lp_wrapper {
  margin: 0 auto;
  box-sizing: border-box;
  background: #fdfdf8;
  letter-spacing: 1px !important;
  color: #3c463c;
  font-size: 16px !important;
  text-align: center;
  font-family: "toppan-bunkyu-gothic-pr6n", serif;
  font-weight: normal;
  font-style: normal;
  font-weight: 400;
  position: relative; }
  .lp_wrapper .mv {
    max-width: 800px;
    margin: 0 auto; }
  .lp_wrapper .innerBox {
    max-width: 800px;
    margin: 0 auto; }
    @media screen and (max-width: 1200px) {
      .lp_wrapper .innerBox {
        width: 90%; } }
    .lp_wrapper .innerBox h1 {
      font-size: 1.2em !important;
      padding: 0 !important;
      font-weight: 400;
      margin: 10% auto;
      line-height: 2.0; }
      @media screen and (max-width: 600px) {
        .lp_wrapper .innerBox h1 {
          font-size: 3.8vw !important; } }
    .lp_wrapper .innerBox .txt {
      margin: 10% auto 15%; }
      .lp_wrapper .innerBox .txt p {
        font-size: 1em !important;
        line-height: 2.5;
        margin-bottom: 15%; }
        @media screen and (max-width: 600px) {
          .lp_wrapper .innerBox .txt p {
            font-size: 3vw !important;
            width: 90%;
            margin: 0 auto 15%;
            text-align: justify; }
            .lp_wrapper .innerBox .txt p br {
              display: none; } }
    .lp_wrapper .innerBox h2 {
      font-weight: 400;
      text-align: left;
      font-size: 1.2em !important;
      border: none !important;
      margin-bottom: 1.0em; }
      @media screen and (max-width: 600px) {
        .lp_wrapper .innerBox h2 {
          font-size: 3.7vw !important; } }
    .lp_wrapper .innerBox .specialList {
      width: 80%;
      max-width: 700px;
      margin: 15% auto; }
      @media screen and (max-width: 600px) {
        .lp_wrapper .innerBox .specialList {
          width: 100%;
          margin: 25% auto; } }
      .lp_wrapper .innerBox .specialList a {
        display: block; }
      .lp_wrapper .innerBox .specialList table {
        width: 100%;
        border-top: 1px solid #3c463c;
        border-spacing: 0; }
        .lp_wrapper .innerBox .specialList table th {
          width: 15%;
          text-align: left;
          font-family: "felix";
          font-size: 2.5em;
          font-weight: 400;
          padding: 3% 1%;
          vertical-align: top;
          letter-spacing: .1em;
          border-right: 1px solid #3c463c;
          border-bottom: 1px solid #3c463c; }
          @media screen and (max-width: 600px) {
            .lp_wrapper .innerBox .specialList table th {
              font-size: 6.2vw; } }
        .lp_wrapper .innerBox .specialList table td {
          width: 85%;
          text-align: left;
          padding: 3% 0 3% 3%;
          border-bottom: 1px solid #3c463c; }
          .lp_wrapper .innerBox .specialList table td div {
            display: flex;
            align-items: center;
            justify-content: space-between; }
            .lp_wrapper .innerBox .specialList table td div div:first-child {
              width: 65%;
              margin-right: 5%; }
              @media screen and (max-width: 600px) {
                .lp_wrapper .innerBox .specialList table td div div:first-child {
                  width: 75%; } }
            .lp_wrapper .innerBox .specialList table td div div:last-child {
              width: 30%; }
              @media screen and (max-width: 600px) {
                .lp_wrapper .innerBox .specialList table td div div:last-child {
                  font-size: 20%; } }
            .lp_wrapper .innerBox .specialList table td div p {
              font-size: 1em !important; }
              @media screen and (max-width: 600px) {
                .lp_wrapper .innerBox .specialList table td div p {
                  font-size: 3vw !important; } }
          .lp_wrapper .innerBox .specialList table td .at {
            font-size: 0.8em !important;
            margin-top: 3%; }
            @media screen and (max-width: 600px) {
              .lp_wrapper .innerBox .specialList table td .at {
                font-size: 2.6vw !important; } }
    .lp_wrapper .innerBox section {
      margin: 15% auto;
      max-width: 700px;
      width: 80%;
      padding-top: 60px; }
      @media screen and (max-width: 600px) {
        .lp_wrapper .innerBox section {
          width: 100%;
          margin: 20% auto; } }
      .lp_wrapper .innerBox section h3 {
        font-size: 7em !important;
        font-weight: 400;
        font-family: "felix";
        text-align: left; }
        @media screen and (max-width: 600px) {
          .lp_wrapper .innerBox section h3 {
            font-size: 18vw !important; } }
      .lp_wrapper .innerBox section .ttl {
        position: relative;
        text-align: right; }
        .lp_wrapper .innerBox section .ttl.center {
          text-align: center; }
          .lp_wrapper .innerBox section .ttl.center div {
            position: static; }
            .lp_wrapper .innerBox section .ttl.center div p, .lp_wrapper .innerBox section .ttl.center div h3 {
              text-align: center; }
        .lp_wrapper .innerBox section .ttl div {
          position: absolute; }
          .lp_wrapper .innerBox section .ttl div p {
            font-size: 1.4em !important;
            text-align: left;
            line-height: 2.0; }
            @media screen and (max-width: 600px) {
              .lp_wrapper .innerBox section .ttl div p {
                font-size: 3.5vw !important;
                letter-spacing: 1px; } }
        .lp_wrapper .innerBox section .ttl img {
          width: 65%;
          margin-top: 15%; }
          @media screen and (max-width: 600px) {
            .lp_wrapper .innerBox section .ttl img {
              width: 60%; } }
      .lp_wrapper .innerBox section .info {
        margin: 5% auto; }
        @media screen and (max-width: 600px) {
          .lp_wrapper .innerBox section .info {
            margin: 10% auto; } }
        .lp_wrapper .innerBox section .info img {
          margin-bottom: 5%; }
        .lp_wrapper .innerBox section .info p {
          font-size: 1.1em !important;
          text-align: justify;
          margin-bottom: 2.0em;
          line-height: 2.0; }
          @media screen and (max-width: 600px) {
            .lp_wrapper .innerBox section .info p {
              font-size: 3vw !important; } }
          .lp_wrapper .innerBox section .info p.at {
            font-size: 0.8em !important; }
            @media screen and (max-width: 600px) {
              .lp_wrapper .innerBox section .info p.at {
                font-size: 2.6vw !important; } }
          .lp_wrapper .innerBox section .info p.center {
            text-align: center; }
      .lp_wrapper .innerBox section .btn {
        width: 70%;
        max-width: 400px;
        margin: 5% auto; }
        .lp_wrapper .innerBox section .btn a {
          display: block;
          border: 1px solid #3c463c;
          padding: 0.5em;
          border-radius: 50vh;
          font-size: 1em !important;
          position: relative; }
          @media screen and (max-width: 600px) {
            .lp_wrapper .innerBox section .btn a {
              font-size: 2.7vw !important;
              padding: 0.8em; } }
          .lp_wrapper .innerBox section .btn a::before {
            content: "▶";
            position: absolute;
            font-size: 80%;
            top: 50%;
            right: 2.0em;
            transform: translateY(-50%);
            transition: .4s; }
            @media screen and (max-width: 600px) {
              .lp_wrapper .innerBox section .btn a::before {
                font-size: 70%; } }
          .lp_wrapper .innerBox section .btn a:hover {
            opacity: 0.7; }
      .lp_wrapper .innerBox section .w_box {
        width: 90%;
        margin: 3% auto;
        border: 1px solid #231815;
        padding: 2em;
        border-radius: 1em; }
        @media screen and (max-width: 600px) {
          .lp_wrapper .innerBox section .w_box {
            margin-bottom: 5%; } }
        .lp_wrapper .innerBox section .w_box h4 {
          font-size: 1.2em !important;
          margin-bottom: 1.0em; }
          @media screen and (max-width: 600px) {
            .lp_wrapper .innerBox section .w_box h4 {
              font-size: 3.7vw !important; } }
        .lp_wrapper .innerBox section .w_box p {
          font-size: 1em !important;
          margin: 2em auto 0; }
          @media screen and (max-width: 600px) {
            .lp_wrapper .innerBox section .w_box p {
              font-size: 3vw !important; } }
          .lp_wrapper .innerBox section .w_box p span {
            font-size: 80%; }
      .lp_wrapper .innerBox section .columnList {
        display: flex;
        align-items: stretch;
        flex-wrap: wrap;
        justify-content: space-between;
        position: relative; }
        .lp_wrapper .innerBox section .columnList::before {
          content: "";
          width: 100%;
          height: 1px;
          background: #231815;
          top: 50%;
          left: 0;
          position: absolute;
          transform: translateY(-50%); }
          @media screen and (max-width: 600px) {
            .lp_wrapper .innerBox section .columnList::before {
              height: 0.5px; } }
        .lp_wrapper .innerBox section .columnList::after {
          content: "";
          position: absolute;
          top: 0;
          left: 50%;
          transform: translateX(-50%);
          width: 1px;
          height: 100%;
          background: #231815; }
          @media screen and (max-width: 600px) {
            .lp_wrapper .innerBox section .columnList::after {
              width: 0.5px; } }
        .lp_wrapper .innerBox section .columnList div {
          width: 50%;
          padding: 4%; }
          .lp_wrapper .innerBox section .columnList div:first-child {
            padding-left: 0;
            padding-top: 0; }
          .lp_wrapper .innerBox section .columnList div:nth-child(3) {
            padding-left: 0;
            padding-bottom: 0; }
          .lp_wrapper .innerBox section .columnList div:nth-child(2) {
            padding-right: 0;
            padding-top: 0; }
          .lp_wrapper .innerBox section .columnList div:last-child {
            padding-right: 0;
            padding-bottom: 0; }
          .lp_wrapper .innerBox section .columnList div h5 {
            text-align: left;
            font-size: 0.9em !important;
            font-weight: 400;
            margin: 1.0em auto;
            min-height: 4.0em;
            line-height: 2.0; }
            @media screen and (max-width: 600px) {
              .lp_wrapper .innerBox section .columnList div h5 {
                font-size: 3vw !important; } }
          .lp_wrapper .innerBox section .columnList div p {
            font-size: 0.8em !important;
            text-align: justify;
            margin-bottom: 1.0em;
            min-height: 6.5em; }
            @media screen and (max-width: 600px) {
              .lp_wrapper .innerBox section .columnList div p {
                font-size: 2.7vw !important; } }
          .lp_wrapper .innerBox section .columnList div a.linkBtn {
            display: block;
            font-size: 0.9em !important;
            border: 1px solid #3c463c;
            position: relative;
            padding: 0.5em;
            width: 100%;
            border-radius: 50vh;
            transition: .4s; }
            @media screen and (max-width: 600px) {
              .lp_wrapper .innerBox section .columnList div a.linkBtn {
                font-size: 2.7vw !important; } }
            .lp_wrapper .innerBox section .columnList div a.linkBtn:hover {
              opacity: 0.7; }
            .lp_wrapper .innerBox section .columnList div a.linkBtn::after {
              content: "▶";
              font-size: 75%;
              position: absolute;
              top: 50%;
              right: 2.0em;
              transform: translateY(-50%); }
      .lp_wrapper .innerBox section .msg {
        font-size: 1em !important;
        line-height: 2.2; }
        @media screen and (max-width: 600px) {
          .lp_wrapper .innerBox section .msg {
            font-size: 3vw !important; } }
