.wrap {
  display: block;
  width: 100%;
  height: auto;
  min-height: 100vh !important;
  margin: 0;
  padding: 0;
  background-color: rgba(0, 0, 0, 0);
  position: relative; }

.wrap::before {
  content: "";
  display: block;
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100vh;
  background-image: url("../../assets/img/bg_wrap.webp");
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: -1; }

.footer {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 20px 0;
  background-color: #64070c;
  text-align: center;
  position: relative; }
  .footer .gohome {
    display: block;
    text-align: center;
    width: 44%;
    max-width: 260px;
    margin: 10px auto;
    padding: 0;
    position: relative; }
  .footer .footer_copy {
    display: block;
    text-align: center;
    width: 100%;
    margin: 10px 0 16px 0;
    padding: 0; }
    .footer .footer_copy img {
      width: 60%;
      max-width: 300px; }

.header {
  display: block;
  width: 100%;
  height: 83vw;
  max-height: 800px;
  margin: 0;
  padding: 0;
  background: #d70004 url("../img/bg_header.webp") center top no-repeat;
  background-size: auto 100%;
  position: relative; }
  .header .header_inner {
    display: block;
    width: 100%;
    max-width: 1100px;
    height: 83vw;
    max-height: 800px;
    margin: 0 auto;
    padding: 0;
    position: relative; }
    .header .header_inner .maincopy {
      display: block;
      width: 48%;
      height: auto;
      margin: 0 auto 0 9%;
      padding: 3% 0 0 0; }
    .header .header_inner .title_01 {
      width: 100%;
      height: auto;
      margin: 0 auto;
      padding-top: 28%; }
    .header .header_inner .mainLogo {
      width: 100%;
      height: auto;
      margin: 0 auto; }

@media screen and (min-width: 720px) {
  .header {
    display: block;
    width: 100%;
    min-width: 720px;
    height: 50vw;
    min-height: 700px;
    max-height: 720px;
    margin: 0;
    padding: 0;
    background: #d70004 url("../img/bg_header.webp") center top no-repeat;
    background-size: auto 120%;
    position: relative; }
    .header .header_inner {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      width: 100%;
      min-width: 720px;
      max-width: 1100px;
      height: 50vw;
      min-height: 700px;
      max-height: 720px;
      margin: 0 auto;
      padding: 0;
      position: relative; }
      .header .header_inner .maincopy {
        display: block;
        width: 100%;
        height: auto;
        margin: 0;
        padding: 0 0 0 0; }
        .header .header_inner .maincopy img {
          width: 52%;
          min-width: 520px;
          padding-top: 4%;
          padding-left: 15%; }
      .header .header_inner .title_01 {
        width: 64%;
        min-width: 680px;
        height: auto;
        margin: 0 auto;
        bottom: 26%;
        position: absolute; }
      .header .header_inner .mainLogo {
        display: block;
        width: 100%;
        max-width: 880px;
        height: auto;
        margin: 14px auto 0 auto;
        bottom: 0;
        position: absolute; } }
.lead {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  background: url("../img/bg_lead.webp") center center no-repeat;
  background-size: 160% auto;
  position: relative; }
  .lead img.sp {
    width: 100%;
    max-width: 640px;
    margin: 0 auto; }
  .lead img.pc {
    display: none; }

@media screen and (min-width: 720px) {
  .lead {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    background: url("../img/bg_lead.webp") center center no-repeat;
    background-size: 100% 100%;
    position: relative; }
    .lead img.sp {
      display: none; }
    .lead img.pc {
      display: block;
      width: 100%;
      max-width: 1100px;
      margin: 0 auto;
      padding: 20px 0; } }
.itemwrap {
  display: block;
  width: 100%;
  height: auto;
  max-height: 300px;
  margin: 0;
  padding: 0;
  position: relative; }
  .itemwrap .itenlist {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    position: relative; }
  .itemwrap a.sub_link {
    display: block;
    width: 100%;
    height: auto;
    max-height: 300px;
    border: none;
    outline: none;
    background: transparent;
    transition: .3s; }
  .itemwrap a:hover.sub_link {
    background: rgba(255, 255, 255, 0.3);
    transition: .3s; }
  .itemwrap .subline_box {
    display: block;
    width: 100%;
    max-width: 840px;
    height: auto;
    margin: 0 auto;
    padding: 0;
    background: url("../img/allow.png") right 2% center no-repeat;
    background-size: auto 100%;
    position: relative; }
    .itemwrap .subline_box img {
      width: 88%;
      max-width: 800px; }
  .itemwrap .bg1 {
    background: url("../img/itembg_1.jpg") center center no-repeat;
    background-size: cover; }
  .itemwrap .bg2 {
    background-color: #ffae00; }

.cs {
  display: block;
  width: 100%;
  height: auto;
  background: #6094C0;
  background: linear-gradient(0deg, rgba(96, 148, 192, 0) 0%, rgba(96, 148, 192, 0) 70%, rgba(96, 148, 192, 0.6) 100%); }
  .cs img {
    display: block;
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    padding: 0;
    position: relative; }
