@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  -webkit-tap-highlight-color: transparent;
  outline: 0;
  vertical-align: baseline;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
  -moz-text-size-adjust: 100% !important; }

select,
button,
input,
textarea,
button {
  border: 1px solid #333; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

table,
td,
th {
  border: 1px solid #333; }

td,
th {
  line-height: 1.5;
  padding: 0.3em 0.4em; }

th {
  font-weight: bold;
  font-size: 1.05em; }

html {
  font-size: 100%;
  background-color: #ffffff;
  word-break: break-word; }

body {
  min-height: 100vh;
  color: #333;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  font: normal normal normal 14px/1.6 "Helvetica", "Arial", sans-serif;
  background-color: #ffffff; }

hr {
  overflow: visible;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin: 1em 0;
  height: 0;
  border-top: 1px solid #ccc; }

button:disabled {
  cursor: default; }

a,
a:active,
a:link,
a:visited {
  text-decoration: none;
  color: #333; }

a:hover {
  text-decoration: underline; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
dialog,
hr,
img {
  display: block; }

audio,
canvas,
iframe,
img,
svg,
video {
  display: inline-block;
  vertical-align: middle; }

[hidden],
dialog:not([open]),
template {
  display: none; }

button,
input,
select,
textarea {
  font-family: inherit;
  border-radius: 0; }

textarea {
  resize: vertical; }

audio,
canvas,
progress,
video {
  display: inline-block; }

input,
select {
  vertical-align: middle; }

button {
  vertical-align: inherit;
  line-height: inherit;
  cursor: pointer; }

button,
select {
  text-transform: none; }

code,
kbd,
pre,
samp {
  font-family: monospace, sans-serif;
  font-size: 1em; }

mark {
  background-color: #ff0; }

small {
  font-size: 80%; }

sub,
sup {
  position: relative;
  font-size: 70%;
  line-height: 0; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

ul {
  list-style: none; }

img {
  display: block;
  height: auto;
  max-width: 100%;
  border-style: none; }

html {
  background: #fff; }

body {
  width: 100%;
  overflow-x: hidden;
  margin: 0 auto;
  font-family: "-apple-system", BlinkMacSystemFont, "Noto Sans JP", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "Hiragino Kaku Gothic ProN", "MS PGothic", Osaka, "sans-serif";
  color: #000;
  font-size: 10px;
  position: relative;
  font-weight: 400; }

a:hover {
  text-decoration: none; }

a {
  text-decoration: none; }

.part01 {
  margin: 0 auto;
  height: calc(100vh - 30px);
  width: 100%; }
  .part01 .part01_inner {
    height: 100%;
    position: relative; }
    .part01 .part01_inner::before {
      position: absolute;
      z-index: 1;
      content: "";
      display: block;
      width: calc(50% - 30px);
      top: 0;
      left: 0;
      height: 100%;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      background-image: url(../img/img01.jpg);
      border: 15px solid #fff; }
    .part01 .part01_inner::after {
      position: absolute;
      z-index: 1;
      content: "";
      display: block;
      width: calc(50% - 30px);
      top: 0;
      right: 0;
      height: 100%;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      background-image: url(../img/img02.jpg);
      border: 15px solid #fff; }
    .part01 .part01_inner .part01_mian {
      position: relative;
      z-index: 2;
      width: 100%;
      height: 100%; }
    .part01 .part01_inner .part01_head {
      padding: 0 15px;
      width: 100%;
      z-index: 2;
      position: relative; }
      .part01 .part01_inner .part01_head .logo {
        padding-top: 185px; }
        .part01 .part01_inner .part01_head .logo img {
          display: block;
          margin: 0 auto; }
      .part01 .part01_inner .part01_head h1 {
        margin-top: 20px;
        text-align: center;
        font-size: 7.4em;
        text-shadow: 1px 0 white, 0 1px white, -1px 0 white, 0 -1px white, 0 0 white, 5px 7px 2px #00000063; }
        @media (min-width: 1920px) {
          .part01 .part01_inner .part01_head h1 {
            font-size: 74px; } }
      .part01 .part01_inner .part01_head .title {
        font-weight: bold;
        font-size: 3.6em;
        text-align: center;
        text-shadow: 1px 0 white, 0 1px white, -1px 0 white, 0 -1px white, 0 0 white, 5px 7px 2px #00000063; }
        @media (min-width: 1920px) {
          .part01 .part01_inner .part01_head .title {
            font-size: 36px; } }
      .part01 .part01_inner .part01_head .ttl {
        font-weight: bold;
        font-size: 3.6em;
        text-align: center;
        text-shadow: 1px 0 white, 0 1px white, -1px 0 white, 0 -1px white, 0 0 white, 5px 7px 2px #00000063; }
        @media (min-width: 1920px) {
          .part01 .part01_inner .part01_head .ttl {
            font-size: 36px; } }
    .part01 .part01_inner .part01_content {
      padding: 0 15px 90px;
      margin: 220px auto 0;
      position: relative;
      z-index: 2;
      overflow: hidden; }
      .part01 .part01_inner .part01_content .item {
        width: 50%;
        height: 100%;
        float: left; }
      .part01 .part01_inner .part01_content .item-content {
        padding: 30px;
        text-align: center;
        color: #fff;
        width: 87%;
        margin: 0px auto 0;
        background-color: rgba(0, 0, 0, 0.67);
        border: 5px solid rgba(250, 250, 250, 0.67);
        position: relative;
        transition: 0.3s; }
        .part01 .part01_inner .part01_content .item-content:hover {
          opacity: 0.7; }
        .part01 .part01_inner .part01_content .item-content a {
          width: 100%;
          height: 100%;
          display: block;
          position: absolute;
          top: 0;
          left: 0; }
        .part01 .part01_inner .part01_content .item-content h2 {
          font-size: 3.6em; }
          @media (min-width: 1920px) {
            .part01 .part01_inner .part01_content .item-content h2 {
              font-size: 36px; } }
        .part01 .part01_inner .part01_content .item-content h3 {
          font-size: 3.6em; }
          @media (min-width: 1920px) {
            .part01 .part01_inner .part01_content .item-content h3 {
              font-size: 36px; } }
  @media (max-width: 1850px) {
    .part01 .part01_inner .part01_head h1 {
      font-size: 6.4em; }
    .part01 .part01_inner .part01_head .title {
      font-size: 2.6em; }
    .part01 .part01_inner .part01_head .ttl {
      font-size: 2.6em; }
    .part01 .part01_inner .part01_content .item-content h2 {
      font-size: 2.6em; }
    .part01 .part01_inner .part01_content .item-content h3 {
      font-size: 2.6em; } }
  @media (max-width: 1400px) {
    .part01 .part01_inner .part01_head h1 {
      font-size: 6em; }
    .part01 .part01_inner .part01_head .title {
      font-size: 2.2em; }
    .part01 .part01_inner .part01_head .ttl {
      font-size: 2.2em; }
    .part01 .part01_inner .part01_content {
      margin: 200px auto 0; }
      .part01 .part01_inner .part01_content .item-content h2 {
        font-size: 2.2em; }
      .part01 .part01_inner .part01_content .item-content h3 {
        font-size: 2.2em; } }
  @media (max-width: 950px) {
    .part01 .part01_inner .part01_head .logo img {
      max-width: 360px; }
    .part01 .part01_inner .part01_head h1 {
      font-size: 4.6em; }
    .part01 .part01_inner .part01_head .title {
      font-size: 2em; }
    .part01 .part01_inner .part01_head .ttl {
      font-size: 2em; }
    .part01 .part01_inner .part01_content .item-content h2 {
      font-size: 2em; }
    .part01 .part01_inner .part01_content .item-content h3 {
      font-size: 2em; } }
  @media (max-width: 767px) {
    .part01 {
      height: calc(100vh - 20px) !important; }
      .part01 .part01_inner:before {
        width: calc(50% - 15px);
        border-top: 10px solid #fff;
        border-bottom: 10px solid #fff;
        border-left: 10px solid #fff;
        border-right: 5px solid #fff; }
      .part01 .part01_inner::after {
        width: calc(50% - 15px);
        border-top: 10px solid #fff;
        border-bottom: 10px solid #fff;
        border-right: 10px solid #fff;
        border-left: 5px solid #fff; }
      .part01 .part01_inner .part01_head .logo {
        padding-top: 90px; }
      .part01 .part01_inner .part01_head .logo img {
        max-width: 230px; }
      .part01 .part01_inner .part01_head h1 {
        font-size: 3em; }
      .part01 .part01_inner .part01_head .title {
        font-size: 1.2em; }
      .part01 .part01_inner .part01_head .ttl {
        font-size: 1.2em; }
      .part01 .part01_inner .part01_content {
        margin: 80px auto 0;
        padding: 0 10px 20px; }
        .part01 .part01_inner .part01_content .item {
          margin-bottom: 20px;
          float: none;
          width: 100%; }
          .part01 .part01_inner .part01_content .item:last-child {
            margin-bottom: 0px; }
        .part01 .part01_inner .part01_content .item-content {
          width: 94%;
          padding: 20px; }
          .part01 .part01_inner .part01_content .item-content h2 {
            font-size: 1.4em; }
          .part01 .part01_inner .part01_content .item-content h3 {
            font-size: 1.4em; } }
  @media (max-height: 1000px) {
    .part01 {
      height: 100%; } }
  @media (max-height: 600px) {
    .part01 {
      height: 100% !important; } }
