@charset "UTF-8";
/* 共通*/
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background: #fff;
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 400;
}

img {
  width: 100%;
  height: 100%;
}

.sp {
  display: none;
}

.pc {
  display: block;
}

/* jsアニメーション関係 */
[data-fadein] {
  opacity: 0;
  transform: translateY(50px);
  transition: all 1.6s ease-out;
}

[data-fadein].is-over {
  opacity: 1;
  transform: translateY(0);
}

.header {
  width: 100%;
  height: 80px;
  display: flex;
  padding-left: 15vw;
  padding-right: 15vw;
}
.header_logo {
  width: 140px;
  height: 50px;
  margin-top: auto;
  margin-bottom: auto;
}
.header_logo:hover {
  opacity: 0.7;
}
.header_nav {
  margin-left: auto;
  margin-top: auto;
  margin-bottom: auto;
}
.header_list {
  font-size: 16px;
  white-space: nowrap;
  text-decoration: none;
  font-weight: 400;
}
.header_item {
  display: inline-block;
  padding-inline: 2vw;
}
.header_item_border {
  text-decoration: none;
}
.header_item:hover {
  opacity: 0.7;
}
.header_item a {
  color: #000000;
}

.keyvisual {
  width: 100%;
  height: 680px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 5vw;
  padding-right: 5vw;
}
.keyvisual_img {
  border-radius: 20px;
  object-fit: cover;
}

.hamburger_demo_menubox * {
  display: none;
  font-size: 16px;
}

.section1 {
  text-align: center;
}
.section1_title {
  display: inline-block;
  font-size: 28px;
  font-weight: 700;
  background: linear-gradient(transparent 60%, #3896D9 60%);
  padding: 0.2rem;
  margin-top: 140px;
}
.section1_box {
  margin-top: 90px;
}
.section1_subtitle {
  font-family: Libre Baskerville;
  font-size: 14px;
  font-weight: 400;
  margin-top: 87px;
}

.section2_titlebox {
  margin-top: 240px;
  text-align: center;
}
.section2_title {
  display: inline-block;
  font-size: 28px;
  font-weight: 700;
  background: linear-gradient(transparent 60%, #3896D9 60%);
  padding: 0.2rem;
}
.section2_container {
  margin-top: 90px;
  justify-content: center;
}
.section2_content1 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(45deg, transparent 42%, #3896D9 0);
  margin-top: 70px;
}
.section2_content1_img {
  width: 300px;
  height: 300px;
}
.section2_content1_textbox {
  width: 50%;
  padding-left: 20vw;
  color: #fff;
}
.section2_content1_textbox_title {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 60px;
}
.section2_content1_textbox_title::before {
  padding-right: 28px;
  padding-bottom: 5px;
  content: "■";
  display: inline-block;
  color: #E8D575;
  font-size: 20px;
  transform: scale(1, 3.5);
}
.section2_content2 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(-45deg, transparent 48%, #3896D9 0);
  margin-top: 70px;
}
.section2_content2_textbox {
  width: 50%;
  padding-right: 20vw;
  color: #fff;
}

.section3 {
  width: 100%;
  height: 70px;
  position: relative;
  text-align: center;
  margin-top: 170px;
}
.section3_content {
  width: 300px;
  height: 300px;
  position: absolute;
  top: 0;
  left: 10vw;
  background-color: #fff;
  z-index: 3;
}
.section3_content_title {
  font-size: 28px;
  font-weight: 700;
  margin-top: 37px;
}
.section3_content_btn {
  text-decoration: none;
  color: #000;
}
.section3_content_btn_btn {
  width: 250px;
  height: 70px;
  margin-top: 84px;
  border-radius: 30px;
  border: 1px solid;
  color: #000;
  border-color: #3896D9;
  background-color: #fff;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
}
.section3_content_btn_btn:hover {
  cursor: pointer;
  opacity: 0.7;
}
.section3_content_btn_dli-mail {
  display: inline-block;
  vertical-align: middle;
  color: #3896D9;
  line-height: 1;
  position: relative;
  width: 1.06667em;
  height: 0.9em;
  border: 0.1em solid currentColor;
  border-radius: 0.1em;
  box-sizing: content-box;
  overflow: hidden;
  margin-right: 24px;
  margin-bottom: 5px;
}
.section3_content_btn_dli-mail::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 0.75425em;
  height: 0.75425em;
  border: 0.1em solid currentColor;
  border-top-color: transparent;
  border-right-color: transparent;
  border-radius: 0 0 0 0.1em;
  box-sizing: content-box;
  transform: translate(-50%, -50%) rotate(-45deg) skew(10deg, 10deg);
}

.footer {
  width: 100%;
  height: 400px;
  position: relative;
}
.footer_img {
  height: 345px;
  background-color: #2370B2;
}
.footer_img_img {
  opacity: 0.2;
}
.footer_bunner {
  width: 30%;
  height: 20vh;
  position: absolute;
  top: 20%;
  left: 60vw;
}
.footer_content2 {
  background-color: #757575;
  height: 55px;
}
.footer_content2_text {
  font-size: 11px;
  font-weight: 400;
  text-align: center;
  line-height: 55px;
  color: #fff;
}

.about {
  width: 100%;
  padding-left: 15vw;
  padding-right: 15vw;
  text-align: center;
}
.about_tb {
  margin-top: 90px;
  margin-right: auto;
  margin-left: auto;
  text-align: left;
  width: 100%;
}

.about tr {
  border-bottom: 1px solid #b5b1b1;
  height: 149px;
}

.about th {
  border: none;
  line-height: 149px;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  width: 40%;
}

.about td {
  border: none;
  vertical-align: middle;
  line-height: 2;
  font-size: 18px;
  font-weight: 400;
}

/* contactここから*/
.form {
  margin-top: 80px;
  padding-left: 8vw;
  padding-right: 8vw;
  text-align: center;
}
.form_item1 {
  border-bottom: 1px solid;
  border-color: #D9D9D9;
  height: 150px;
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.form_item1_label1 {
  font-size: 24px;
  font-weight: 500;
  line-height: 150px;
}
.form_item1_label1_required1 {
  border-radius: 10px;
  margin-right: 29px;
  width: 90px;
  height: 33px;
  line-height: 33px;
  display: inline-block;
  text-align: center;
  background: #3896D9;
  color: #fff;
  font-weight: 700;
}
.form_item1_input {
  border: none;
  border-radius: 10px;
  height: 40px;
  width: 100%;
  max-width: 40vw;
  background: #ECEDF2;
  font-size: 16px;
  margin-top: auto;
  margin-bottom: auto;
}
.form_item1_textarea {
  border: 1px solid #eaedf2;
  border-radius: 10px;
  height: 300px;
  width: 40vw;
  background: #eaedf2;
  font-size: 16px;
  margin-top: 54.5px;
}
.form_item1:nth-child(3n) {
  height: auto;
  border-bottom: none;
}
.form_btn_btn {
  margin-top: 80px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  width: 200px;
  display: block;
  height: 50px;
  line-height: 50px;
  background: #3896D9;
  color: #fff;
  font-weight: 700;
  font-size: 20px;
  border-radius: 10px;
  border: 2px solid;
  border-color: #3896D9;
  cursor: pointer;
}
.form_btn_btn:hover {
  background: #fff;
  color: #3896D9;
}

/* レスポンシブここから*/
@media only screen and (max-width: 767px) {
  /* 共通*/
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .hamburger_demo_menubox * {
    display: block;
    font-size: 16px;
  }
  .hamburger_demo_menubox li {
    display: block;
    font-size: 14px;
  }
  /* hamburgerここから */
  /* inputを非表示 */
  .input_hidden {
    display: none;
  }
  /* label */
  .hamburger_demo_switch {
    cursor: pointer;
    position: absolute;
    right: 30px;
    top: 10px; /* ハンバーガーアイコンの位置（上から） */
    z-index: 9999;
    width: 40px; /* アイコン（クリック可能領域）の幅 */
    height: 40px; /* アイコン（クリック可能領域の）高さ */
  }
  /* メニュー展開時にハンバーガーアイコンを固定 */
  #hamburger_demo1:checked ~ .hamburger_demo_switch {
    position: fixed;
  }
  /* ハンバーガーアイコン */
  .hamburger_switch_line1, .hamburger_switch_line1:before, .hamburger_switch_line1:after {
    width: 40px;
    height: 4px;
    background: #3896D9; /* ハンバーガーアイコンの色 */
    position: absolute;
    top: 50%;
    left: 50%;
    transition: 0.3s;
    content: "";
  }
  .hamburger_switch_line1 {
    transform: translate(-50%, -50%);
  }
  .hamburger_switch_line1:before {
    transform: translate(-50%, -300%);
  }
  .hamburger_switch_line1:after {
    transform: translate(-50%, 200%);
  }
  /* ハンバーガーアイコン･アニメーション */
  #hamburger_demo1:checked ~ .hamburger_demo_switch .hamburger_switch_line1 {
    width: 0;
  }
  #hamburger_demo1:checked ~ .hamburger_demo_switch .hamburger_switch_line1:before {
    transform: rotate(45deg) translate(-35%, 345%);
  }
  #hamburger_demo1:checked ~ .hamburger_demo_switch .hamburger_switch_line1:after {
    transform: rotate(-45deg) translate(-35%, -345%);
  }
  /* メニューエリア */
  .hamburger_demo_menuwrap {
    position: fixed;
    max-height: 100%;
    height: 100%;
    background: #fff; /* メニューエリアの背景色 */
    padding: 3em 3% 2em;
    z-index: 9998;
    transition: 0.3s;
    top: 0;
    left: 100%;
    width: 200px;
  }
  /* メニューリスト */
  .hamburger_demo_menulist {
    text-align: center;
    padding-right: 5%;
    padding-left: 5%;
    list-style: none;
  }
  .hamburger_demo_menulist_hover:hover {
    opacity: 0.7;
  }
  .hamburger_demo_menulist_text1 {
    font-weight: 700;
    font-size: 40px;
  }
  .hamburger_demo_menulist_text2 {
    font-size: 20px;
    font-weight: 400;
    color: #fff;
  }
  .hamburger_demo_menulist li a {
    text-align: center;
    text-decoration: none;
    background: linear-gradient(transparent 45%, #3896D9 80%);
    margin-top: 40px;
    color: #000; /* メニューリストの文字色 */
    display: block;
  }
  /* メニューエリア･アニメーション */
  /* 右から */
  #hamburger_demo1:checked ~ .hamburger_demo_menuwrap {
    width: 100%;
    left: 0;
  }
  /* コンテンツカバー */
  #hamburger_demo1:checked ~ .hamburger_demo_cover {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 9997;
    background: rgba(3, 3, 3, 0.5);
    display: block;
  }
  .header {
    padding-left: 5vw;
    padding-right: 5vw;
  }
  .keyvisual {
    height: 400px;
    padding-left: 0;
    padding-right: 0;
  }
  .keyvisual_img {
    border-radius: 0px;
  }
  .section2_container {
    padding-left: 5vw;
    padding-right: 5vw;
    padding-bottom: 120px;
  }
  .section2_content3 {
    border: 3px solid;
    border-color: #3896D9;
    border-radius: 10px;
    margin-top: 60px;
  }
  .section2_content3_textbox {
    padding-left: 15vw;
    padding-top: 67px;
    padding-right: 10vw;
  }
  .section2_content3_textbox_title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 60px;
  }
  .section2_content3_textbox_title::before {
    padding-right: 28px;
    padding-bottom: 5px;
    content: "■";
    display: inline-block;
    color: #E8D575;
    font-size: 20px;
    transform: scale(1, 3.5);
  }
  .section2_content3_textbox_text {
    font-weight: 400;
  }
  .section2_content3_img {
    width: 300px;
    height: 300px;
    margin-right: auto;
    margin-left: auto;
  }
  .section3_content {
    position: static;
    width: 50%;
    height: 240px;
    text-align: center;
  }
  .section3_content_btn_btn {
    font-size: 3vw;
    width: 35vw;
    height: 8vh;
  }
  .footer {
    display: flex;
    flex-wrap: wrap;
    height: 295px;
    width: 100%;
  }
  .footer_img {
    width: 50%;
    height: 240px;
  }
  .footer_img_img {
    object-fit: cover;
  }
  .footer_bunner {
    width: 32vw;
    height: 18vw;
    top: 24%;
    left: 60vw;
  }
  .footer_content2 {
    width: 100%;
  }
  .about {
    padding-bottom: 120px;
    padding-left: 10vw;
    padding-right: 10vw;
  }
  .about th {
    width: 100%;
    display: block;
    padding: 0;
    line-height: 100px;
  }
  .about td {
    width: 100%;
    display: block;
    padding: 0;
    text-align: center;
  }
  /* contactここから*/
  .form {
    padding-bottom: 120px;
  }
  .form_item1 {
    border-bottom: none;
    height: 200px;
    width: 100%;
    display: block;
  }
  .form_item1_label1 {
    font-size: 24px;
    font-weight: 500;
    line-height: 150px;
  }
  .form_item1_input {
    display: block;
    margin-right: auto;
    margin-left: auto;
    max-width: 80vw;
  }
  .form_item1_textarea {
    width: 80vw;
  }
}/*# sourceMappingURL=style.css.map */