/* CSS Document */
/* CSS Document */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
ul {
  padding-left: 0; }

.btn {
  display: block; }

body {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  padding: 0;
  margin: 0;
  font-size: clamp(14px, 2vw, 18px);
  background: #AE0B16;
  box-sizing: border-box; }
  body.menu-open {
    height: 100vh;
    overflow-y: hidden; }
    body.menu-open .layer {
      display: block; }

.layer {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.7);
  content: "";
  width: 100vw;
  height: 100vh; }

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

a {
  color: #0008FF;
  text-decoration: none; }
  a:hover {
    text-decoration: underline; }

.fs-s {
  font-size: 12px; }

.fs-0 {
  font-size: 0; }

._gry {
  color: #5D5D5D; }

@media (max-width: 430px) {
  .show-pc {
    display: none; } }
@media (max-width: 834px) {
  .show-pc._tab {
    display: none; } }

.show-sp {
  display: none; }
  @media (max-width: 430px) {
    .show-sp {
      display: block; } }

.show-tb {
  display: none; }
  @media (max-width: 834px) {
    .show-tb {
      display: block; } }

.red {
  color: #E20C1A; }

p {
  line-height: 1.5;
  font-size: clamp(14px, 2vw, 18px); }
  p._center {
    display: block;
    text-align: center; }
    @media (max-width: 430px) {
      p._center {
        text-align: left; } }

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

br.br-sp {
  display: none; }
  @media (max-width: 430px) {
    br.br-sp {
      display: block; } }

.catch {
  display: block;
  text-align: center;
  font-size: clamp(18px, 6vw, 35px);
  color: #fff;
  font-weight: bold;
  margin: clamp(20px, 6%, 50px) 0; }
  .catch._smaller {
    font-size: clamp(16px, 5vw, 35px); }
  .catch._fit {
    width: fit-content;
    margin-left: auto;
    margin-right: auto; }
  .catch span {
    display: block;
    font-weight: normal;
    text-align: left;
    font-size: 80%; }

.header {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2; }
  .header .wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 640px;
    height: 70px;
    background: #fff;
    margin: 0 auto;
    position: relative; }
    .header .wrap h1 {
      display: block;
      margin: 0;
      padding: 10px;
      width: 50%;
      margin: 0;
      line-height: 1;
      text-align: left; }
      .header .wrap h1 img {
        max-width: 200px; }
      .header .wrap h1 b {
        display: block;
        font-size: 15px;
        color: #000;
        font-weight: 400;
        margin-left: 30px; }
    .header .wrap .h_btns {
      display: flex;
      width: 50%;
      justify-content: flex-end; }
      .header .wrap .h_btns .h_btn {
        font-size: 0; }
        .header .wrap .h_btns .h_btn img {
          width: auto;
          height: 70px; }
        .header .wrap .h_btns .h_btn._line {
          background: url("../images/h_line2.png") no-repeat;
          background-size: cover; }
          .header .wrap .h_btns .h_btn._line.active img {
            opacity: 0; }
  .header .dropmenu {
    display: none;
    position: absolute;
    top: 80px;
    left: 10px;
    width: calc(100% - 20px); }

.menuBox {
  max-width: 640px;
  margin: 0 auto;
  padding: 25px 30px;
  box-sizing: border-box; }
  .menuBox._menu {
    background: #F2F2F2; }
  .menuBox._line {
    background: #C41515; }
    .menuBox._line ul {
      color: #fff; }
    .menuBox._line a {
      color: #fff; }
  .menuBox ul {
    display: block;
    list-style-type: disc;
    margin: 0 15px; }
    .menuBox ul li {
      font-size: 18px; }
      .menuBox ul li:not(:last-of-type) {
        margin-bottom: 15px; }
      .menuBox ul li a {
        text-decoration: none;
        color: #000;
        display: block; }

.lp_container {
  max-width: 640px;
  margin: 70px auto 0;
  background: #fff; }
  .lp_container .mainvisual .titlearea {
    display: block;
    padding: 5px 15px 15px; }
    .lp_container .mainvisual .titlearea .page_t {
      color: #AE0B16;
      font-size: clamp(25px, 20vw, 100px);
      font-weight: bold;
      text-align: center;
      line-height: 1.2;
      margin: 0; }
      .lp_container .mainvisual .titlearea .page_t._smaller {
        font-size: clamp(20px, 15vw, 70px); }
      .lp_container .mainvisual .titlearea .page_t span {
        color: #6A6A6A; }
        .lp_container .mainvisual .titlearea .page_t span.sp1 {
          display: block;
          font-size: clamp(18px, 7vw, 35px);
          text-align: left;
          margin-bottom: -5px; }
          .lp_container .mainvisual .titlearea .page_t span.sp1._center {
            text-align: center; }
        .lp_container .mainvisual .titlearea .page_t span.sp2 {
          display: block;
          font-size: clamp(16px, 5vw, 25px);
          padding-top: 0.2em; }
          .lp_container .mainvisual .titlearea .page_t span.sp2 > span {
            font-size: 100%;
            display: inline;
            background: url("../images/underline.png") repeat-x;
            background-size: 100px;
            background-position: bottom; }
  .lp_container .mainvisual .box1 {
    display: flex;
    align-items: stretch;
    background: #505050; }
    .lp_container .mainvisual .box1 .txt {
      width: 50%;
      padding: 12px 5px;
      text-align: center;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center; }
      .lp_container .mainvisual .box1 .txt h2 {
        display: block;
        line-height: 1.4;
        margin: 0;
        padding: 0; }
      .lp_container .mainvisual .box1 .txt p.larger {
        font-size: clamp(15px, 2.5vw, 20px); }
      .lp_container .mainvisual .box1 .txt p.mb-0 {
        margin-bottom: 0; }
    .lp_container .mainvisual .box1 .pict {
      width: 50%;
      font-size: 0;
      display: flex;
      align-items: stretch; }
      .lp_container .mainvisual .box1 .pict img {
        width: auto;
        object-fit: cover;
        object-position: center center; }
    .lp_container .mainvisual .box1._type1 {
      display: block;
      background: #AE0B16;
      padding: 10px 20px 20px;
      color: #fff;
      text-align: center; }
      .lp_container .mainvisual .box1._type1 strong {
        display: block;
        font-size: clamp(18px, 5.5vw, 35px); }
      .lp_container .mainvisual .box1._type1 em {
        display: block;
        width: fit-content;
        margin: 0 auto 1em;
        font-weight: bold;
        font-style: normal;
        font-size: clamp(16px, 6vw, 30px);
        border-bottom: #fff 2px solid; }
      .lp_container .mainvisual .box1._type1 p {
        font-size: clamp(16px, 4.5vw, 25px); }
  .lp_container .cta1 {
    display: block;
    text-align: center;
    padding: clamp(20px, 5%, 30px) 15px;
    background: #fff; }
    .lp_container .cta1 strong {
      display: block;
      text-align: center;
      font-size: clamp(18px, 5vw, 30px);
      margin-bottom: clamp(20px, 5%, 30px);
      color: #000; }
    .lp_container .cta1 .btns {
      display: flex;
      justify-content: space-between; }
      .lp_container .cta1 .btns .btn {
        width: 48%; }
        .lp_container .cta1 .btns .btn a {
          display: block;
          background: #A7A7A7;
          padding: 10px 5px;
          color: #fff;
          font-weight: bold;
          font-size: clamp(13px, 3vw, 25px); }
        .lp_container .cta1 .btns .btn._line a {
          background: #00DB3A; }
  .lp_container .area01 {
    background: #AE0B16;
    border-bottom: #fff 2px solid;
    padding: 10px 20px 20px; }
    .lp_container .area01 .title {
      display: block;
      width: 50%; }
    .lp_container .area01 ul {
      list-style-type: none;
      padding: 0;
      margin: 0 20px; }
      .lp_container .area01 ul li {
        margin-bottom: 20px; }
        .lp_container .area01 ul li b {
          display: block;
          font-size: clamp(16px, 4vw, 30px);
          color: #fff;
          margin-bottom: 5px; }
    .lp_container .area01 p {
      color: #fff;
      font-size: clamp(16px, 4vw, 30px);
      margin: 0 20px; }
      .lp_container .area01 p.mx-0 {
        margin-left: 0;
        margin-right: 0; }
  .lp_container .area02 {
    background: #AE0B16;
    padding: 10px 20px 20px; }
    .lp_container .area02 .title {
      display: block;
      width: 50%; }
    .lp_container .area02 ul {
      list-style-type: none;
      padding: 0; }
      .lp_container .area02 ul li {
        margin-bottom: 20px; }
        .lp_container .area02 ul li img {
          display: block;
          max-width: 350px;
          margin: 0 auto 10px; }
        .lp_container .area02 ul li b {
          display: block;
          font-size: clamp(14px, 3vw, 25px);
          color: #fff; }
        .lp_container .area02 ul li p {
          color: #fff; }
        .lp_container .area02 ul li em {
          display: block;
          font-size: clamp(14px, 2vw, 18px);
          color: #fff;
          font-style: normal;
          font-weight: bold;
          text-align: center; }
  .lp_container .area03 {
    background: #AE0B16;
    padding-top: 10px;
    padding-bottom: 20px; }
    .lp_container .area03 .sub_t {
      display: block;
      width: 50%;
      padding: 0 15px; }
    .lp_container .area03 em {
      display: block;
      text-align: center;
      font-family: "Noto Serif JP", serif;
      font-size: clamp(15px, 2.5vw, 20px);
      color: #fff;
      line-height: 1.8;
      font-style: normal;
      margin-bottom: 20px; }
    .lp_container .area03 .box {
      display: block;
      background: #fff;
      padding: 20px;
      border-radius: 20px;
      margin: 0 15px 20px;
      text-align: center; }
      .lp_container .area03 .box h3 {
        display: block;
        color: #E20C1A;
        margin: 0 0 1.5em;
        font-size: clamp(18px, 6vw, 35px); }
        .lp_container .area03 .box h3._gry {
          color: #5D5D5D;
          font-size: clamp(16px, 4.5vw, 20px);
          margin: 0 0 0.3em;
          text-align: center; }
          .lp_container .area03 .box h3._gry span {
            display: block;
            font-size: 90%;
            font-weight: normal;
            text-align: center; }
      .lp_container .area03 .box table {
        border: none;
        width: 100%; }
        .lp_container .area03 .box table td {
          color: #5D5D5D;
          font-size: clamp(20px, 5.3vw, 35px);
          text-align: left; }
          .lp_container .area03 .box table td.red {
            color: #FF0000; }
      .lp_container .area03 .box .illust {
        display: block;
        margin-bottom: 20px; }
      .lp_container .area03 .box p {
        display: block;
        text-align: center;
        font-size: clamp(15px, 2.5vw, 20px);
        font-family: "Noto Serif JP", serif; }
      .lp_container .area03 .box b.b03 {
        font-size: clamp(16px, 4vw, 25px);
        font-weight: 400; }
        .lp_container .area03 .box b.b03._left {
          display: block;
          text-align: left !important; }
      .lp_container .area03 .box b.b04 {
        display: block;
        font-size: clamp(16px, 4vw, 25px);
        margin-bottom: 10px; }
      .lp_container .area03 .box._box02 .catch {
        margin-bottom: 0; }
      .lp_container .area03 .box._box02 .illust {
        display: block;
        margin: 0; }
        .lp_container .area03 .box._box02 .illust img {
          max-width: 300px;
          width: 80%; }
      .lp_container .area03 .box._box02 b {
        display: block;
        font-family: "Noto Sans JP", sans-serif; }
        .lp_container .area03 .box._box02 b.b01 {
          font-size: clamp(16px, 6vw, 25px);
          margin-bottom: 15px; }
        .lp_container .area03 .box._box02 b.b02 {
          margin: 20px 0;
          font-size: clamp(16px, 5vw, 25px); }
      .lp_container .area03 .box._box02 p {
        font-family: "Noto Sans JP", sans-serif; }
      .lp_container .area03 .box._box03 .catch {
        margin-bottom: 0; }
      .lp_container .area03 .box._box03 .wrapper {
        display: flex;
        flex-wrap: wrap;
        padding: 0;
        list-style-type: none; }
        .lp_container .area03 .box._box03 .wrapper li {
          width: 50%;
          padding: 5px;
          box-sizing: border-box; }
          .lp_container .area03 .box._box03 .wrapper li p {
            display: block;
            font-size: 12px;
            text-align: center;
            padding: 0;
            margin: 0 0 10px;
            font-family: "Noto Sans JP", sans-serif; }
      .lp_container .area03 .box._box05 .illust {
        padding: 15px; }
      .lp_container .area03 .box._box05 .b03 {
        display: block;
        font-size: clamp(15px, 3.5vw, 25px);
        width: calc(100% + 30px);
        margin: 0 -15px; }
  .lp_container .area04 {
    display: block;
    background: #AE0B16;
    padding: 10px 20px; }
    .lp_container .area04 h3.catch {
      margin-top: 0;
      font-size: clamp(22px, 8vw, 40px);
      margin-bottom: 30px; }
    .lp_container .area04 strong {
      display: block;
      text-align: center;
      color: #fff;
      font-size: clamp(14px, 3.5vw, 25px);
      margin-bottom: 20px; }
    .lp_container .area04 .sub_t {
      width: 70%; }
      .lp_container .area04 .sub_t._small {
        width: 60%; }
    .lp_container .area04 .box01 {
      display: block;
      background: #fff;
      padding: 20px;
      text-align: center;
      margin-bottom: 30px; }
      .lp_container .area04 .box01 .catch {
        color: #000; }
      .lp_container .area04 .box01 b {
        display: block;
        font-size: clamp(20px, 4vw, 22px);
        margin-bottom: 0.5em;
        font-weight: 600;
        color: #000; }
      .lp_container .area04 .box01 p {
        font-size: clamp(15px, 2.5vw, 18px);
        margin: 0 0 2.5em 0;
        line-height: 1.6;
        color: #000;
        font-weight: normal; }
        .lp_container .area04 .box01 p span {
          letter-spacing: -0.05em; }
    .lp_container .area04 .box03 {
      display: block;
      background: #fff;
      padding: 20px 15px; }
      .lp_container .area04 .box03 .catch {
        color: #000; }
      .lp_container .area04 .box03 dl {
        display: flex;
        align-items: center;
        margin: 0 0 10px;
        color: #000; }
        .lp_container .area04 .box03 dl dt {
          width: 50px; }
        .lp_container .area04 .box03 dl dd {
          width: calc(100% - 50px);
          padding-left: 10px;
          box-sizing: border-box;
          margin: 0;
          font-weight: normal; }
    .lp_container .area04 .box04 {
      display: block;
      text-align: center;
      color: #fff;
      margin: 30px 0; }
      .lp_container .area04 .box04 b {
        display: block;
        font-size: clamp(16px, 4vw, 35px);
        font-weight: 600; }

._target {
  display: block;
  padding-top: 70px;
  margin-top: -70px; }

.bnts_wrap {
  display: flex;
  justify-content: space-between;
  padding: 30px 20px;
  width: 100%;
  box-sizing: border-box; }
  .bnts_wrap .btn {
    width: 48%; }
    .bnts_wrap .btn a {
      display: block;
      padding: 10px;
      text-align: center;
      font-size: clamp(16px, 1.5vw, 20px);
      text-decoration: none;
      border-radius: 0; }
    .bnts_wrap .btn.tel a {
      border: #707070 1px solid; }
    .bnts_wrap .btn.line a {
      border: #20B914 1px solid;
      background: #20B914;
      color: #fff; }

footer {
  background: #fff;
  padding: 20px 10px 30px;
  font-size: clamp(14px, 2vw, 18px);
  text-align: center; }
  footer .logo img {
    width: 250px; }
  footer p {
    font-size: clamp(16px, 1.5vw, 20px);
    margin: 0; }
