@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&family=Noto+Sans:wght@400;500;700;900&display=swap");
/*--------------------
共通設定
----------------------*/
* {
  padding: 0;
  margin: 0; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a {
  text-decoration: none;
  color: #3c463c; }
  a.disabled {
    pointer-events: none;
    text-decoration: none; }
  a:hover {
    opacity: 0.8;
    transition: .4s; }

ul, ol {
  list-style: none; }

.pc {
  display: block; }
  @media screen and (max-width: 1050px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 1050px) {
    .sp {
      display: block; } }

.en {
  font-family: "Noto Sans", sans-serif; }

.ja {
  font-family: "toppan-bunkyu-gothic-pr6n", serif; }

body {
  overflow-x: hidden; }

/*--------------------------------------------*/
.lp_wrapper {
  margin: 0 auto;
  box-sizing: border-box;
  background: #fdfdf8;
  letter-spacing: 0.1em;
  color: #3c463c;
  font-size: 16px !important;
  text-align: center;
  font-family: "toppan-bunkyu-gothic-pr6n", 'Noto Sans', sans-serif;
  font-weight: normal;
  font-style: normal;
  overflow-x: hidden; }
  .lp_wrapper .mainbox {
    max-width: 800px;
    margin: 10% auto; }
  .lp_wrapper h1.ttl {
    font-size: 1.2em;
    font-weight: normal;
    margin: 1.0em auto 2.0em;
    line-height: 2.0; }
    @media screen and (max-width: 800px) {
      .lp_wrapper h1.ttl {
        font-size: .9em;
        line-height: 1.5;
        margin: 10% auto; } }
  .lp_wrapper p {
    margin-bottom: 2.0em;
    font-size: 1em !important;
    line-height: 2.0; }
    @media screen and (max-width: 800px) {
      .lp_wrapper p {
        font-size: 3vw !important;
        line-height: 2.2em; } }
  .lp_wrapper .mv {
    max-width: 500px;
    margin: 2.0em auto; }
    @media screen and (max-width: 800px) {
      .lp_wrapper .mv {
        width: 90%;
        margin: 10% auto; } }
  .lp_wrapper .f_txt {
    margin: 10% auto; }
    @media screen and (max-width: 800px) {
      .lp_wrapper .f_txt {
        margin: 15% auto; } }
  .lp_wrapper .linkBtn {
    max-width: 400px;
    margin: 0 auto 10%;
    width: 70%; }
    .lp_wrapper .linkBtn a {
      display: block;
      color: #fff !important;
      background: #7A8C5B;
      padding: 0.5em 1.5em;
      position: relative;
      font-size: 1em !important; }
      @media screen and (max-width: 800px) {
        .lp_wrapper .linkBtn a {
          font-size: 3.2vw !important; } }
      .lp_wrapper .linkBtn a::after {
        position: absolute;
        top: 50%;
        right: 1.0em;
        content: "▶";
        font-size: 1.0em;
        transform: translateY(-50%); }
  .lp_wrapper .profile {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 95%;
    margin: 0 auto;
    border: 1px solid #3c463c;
    padding: 2.0em;
    background: #fff; }
    @media screen and (max-width: 800px) {
      .lp_wrapper .profile {
        padding: 1.0em; } }
    .lp_wrapper .profile div:first-child {
      width: 35%;
      margin-right: 1.5em; }
      @media screen and (max-width: 800px) {
        .lp_wrapper .profile div:first-child {
          width: 60%;
          margin-right: 1.0em; } }
    .lp_wrapper .profile div h2 {
      font-weight: normal;
      font-size: 1.1em !important;
      text-align: left;
      margin-bottom: 1.0em; }
      @media screen and (max-width: 800px) {
        .lp_wrapper .profile div h2 {
          font-size: 0.9em !important;
          margin-bottom: 0.5em; } }
      .lp_wrapper .profile div h2 span {
        font-size: 80%; }
    .lp_wrapper .profile div p {
      font-size: 0.9em !important;
      text-align: left;
      margin: 0; }
      .lp_wrapper .profile div p a {
        font-size: 90% !important; }
      @media screen and (max-width: 800px) {
        .lp_wrapper .profile div p {
          font-size: 2.8vw !important;
          line-height: 1.5 !important; } }
  .lp_wrapper .menu {
    width: 80%;
    margin: 10% auto; }
    @media screen and (max-width: 800px) {
      .lp_wrapper .menu {
        width: 90%; } }
    .lp_wrapper .menu p {
      text-align: left;
      margin: 0 auto;
      font-size: 1em !important; }
      @media screen and (max-width: 800px) {
        .lp_wrapper .menu p {
          font-size: 3.3vw !important; } }
    .lp_wrapper .menu ul li a {
      font-size: 0.9em !important;
      line-height: 2.2;
      text-decoration: underline;
      text-align: left;
      display: block; }
      @media screen and (max-width: 800px) {
        .lp_wrapper .menu ul li a {
          font-size: 2.8vw !important; } }
  .lp_wrapper section {
    max-width: 800px;
    margin: 20% auto; }
    .lp_wrapper section h2 {
      font-size: 1em !important;
      font-weight: normal;
      border-bottom: 1px solid #3c463c;
      text-align: left;
      line-height: 1.8;
      padding-bottom: 1em !important;
      padding-left: 1em !important;
      width: 90% !important;
      margin: 0 auto; }
      @media screen and (max-width: 800px) {
        .lp_wrapper section h2 {
          font-size: 3.4vw !important;
          padding-left: 0.5em !important; } }
    .lp_wrapper section .comment {
      width: 90%;
      margin: 2.0em auto 10%; }
      @media screen and (max-width: 800px) {
        .lp_wrapper section .comment {
          margin: 1.5em auto 10%; } }
      .lp_wrapper section .comment p {
        width: 95%;
        margin: 0 auto;
        font-size: 0.9em !important;
        text-align: left;
        line-height: 2.2; }
        @media screen and (max-width: 800px) {
          .lp_wrapper section .comment p {
            font-size: 3vw !important; } }
    .lp_wrapper section .img {
      width: 100%;
      margin-bottom: 10%; }
      .lp_wrapper section .img .img_ttl {
        font-size: 0.7em !important;
        text-align: right;
        margin: 0.5em; }
        @media screen and (max-width: 800px) {
          .lp_wrapper section .img .img_ttl {
            font-size: 2.8vw !important; } }
        .lp_wrapper section .img .img_ttl a {
          font-size: 100% !important; }
          @media screen and (max-width: 800px) {
            .lp_wrapper section .img .img_ttl a {
              font-size: 80% !important; } }
  .lp_wrapper .attention {
    margin: 20% auto 5%;
    width: 90%; }
    .lp_wrapper .attention p {
      font-size: 0.7em !important; }
      @media screen and (max-width: 800px) {
        .lp_wrapper .attention p {
          font-size: 2.8vw !important;
          text-align: left; } }
