/*! --------------------------------------------------------------
　　このCSSファイルは .scssファイルからコンパイルされたものです。
　　修正する際はscssファイルを編集するように注意してください。
--------------------------------------------------------------- */
.clearfix:after {
  content: "";
  display: block;
  clear: both
}

li {
  list-style: none
}

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

a {
  color: inherit;
  text-decoration: none
}

.min {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif
}

table {
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0
}

td input {
  max-width: 100%
}

i,
em {
  font-style: normal
}

.inner {
  width: 100%;
  position: relative
}

@media(min-width: 1200px) {
  .inner {
    max-width: 1120px;
    padding: 0 20px;
    margin: 0 auto
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  .inner {
    padding: 0 5vw
  }
}

@media(max-width: 767px) {
  .inner {
    padding: 0 5%
  }
}

@media(min-width: 1200px) {
  .inner.wide {
    max-width: 1240px
  }
}

.pc-only {
  display: inherit
}

@media(min-width: 768px)and (max-width: 1199px) {
  .pc-only {
    display: none
  }
}

@media(max-width: 767px) {
  .pc-only {
    display: none
  }
}

.tab-only {
  display: none
}

@media(min-width: 768px)and (max-width: 1199px) {
  .tab-only {
    display: inherit
  }
}

@media(max-width: 767px) {
  .tab-only {
    display: none
  }
}

.sp-only {
  display: none
}

@media(min-width: 768px)and (max-width: 1199px) {
  .sp-only {
    display: none
  }
}

@media(max-width: 767px) {
  .sp-only {
    display: inherit
  }
}

.pctab-only {
  display: inherit
}

@media(min-width: 768px)and (max-width: 1199px) {
  .pctab-only {
    display: inherit
  }
}

@media(max-width: 767px) {
  .pctab-only {
    display: none
  }
}

.tabsp-only {
  display: none
}

@media(min-width: 768px)and (max-width: 1199px) {
  .tabsp-only {
    display: inherit
  }
}

@media(max-width: 767px) {
  .tabsp-only {
    display: inherit
  }
}

a.tellink {
  pointer-events: none
}

@media(max-width: 767px) {
  a.tellink {
    pointer-events: inherit
  }
}

@media(max-width: 767px) {
  :root {
    font-size: 4.26666vw !important
  }
}

html,
body {
  font-size: 1rem;
  line-height: 2;
  color: #333;
  font-family: "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif
}

html {
  overflow: auto
}

body {
  overflow: hidden
}

.noto {
  font-family: "Noto Sans JP", sans-serif
}

.seri {
  font-family: "Noto Serif JP", serif
}

.abor {
  font-family: "Aboreto", system-ui
}

header {
  width: 100%;
  background-color: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .16);
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  align-content: stretch;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10
}

@media(min-width: 1200px) {
  header {
    height: 72px;
    padding-left: 2vw
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header {
    height: 60px;
    justify-content: flex-start;
    padding-left: 5vw;
    position: relative
  }
}

@media(max-width: 767px) {
  header {
    height: 16vw;
    justify-content: flex-start;
    padding-left: 5vw;
    position: relative
  }
}

header .head_logo {
  z-index: 10
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .head_logo {
    width: 30vw
  }
}

@media(max-width: 767px) {
  header .head_logo {
    width: 84vw;
    height: 16vw
  }
}

header .head_logo a {
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: unset
}

header .head_logo a:hover {
  opacity: .8
}

@media(max-width: 767px) {
  header .head_logo img {
    width: 30.9333333333vw
  }
}

header .gnav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center
}

@media(min-width: 1200px) {
  header .gnav {
    width: 100%;
    max-width: 930px
  }
}

@media(min-width: 1200px)and (max-width: 1399px) {
  header .gnav {
    max-width: 840px
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav {
    display: none;
    width: 100%;
    padding-top: 0px;
    position: absolute;
    top: 0px;
    left: 0;
    z-index: 11
  }
}

@media(max-width: 767px) {
  header .gnav {
    display: none;
    width: 100%;
    padding-top: 0vw;
    position: absolute;
    top: 0vw;
    left: 0;
    z-index: 11
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav.open {
    display: block
  }
}

@media(max-width: 767px) {
  header .gnav.open {
    display: block
  }
}

header .gnav .head_logo {
  background-color: #0670d8;
  padding-left: 5vw
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav .head_logo {
    width: calc(100% - 60px);
    height: 60px
  }
}

@media(max-width: 767px) {
  header .gnav .head_logo {
    height: 16vw
  }
}

header .gnav .ul_one {
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center
}

@media(min-width: 1200px) {
  header .gnav .ul_one {
    gap: 0 2rem
  }
}

@media(min-width: 1200px)and (max-width: 1399px) {
  header .gnav .ul_one {
    gap: 0 1.5rem
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav .ul_one {
    display: block;
    width: 100%;
    background-color: #0670d8;
    border-top: 1px solid #fff
  }
}

@media(max-width: 767px) {
  header .gnav .ul_one {
    display: block;
    width: 100%;
    background-color: #0670d8;
    border-top: 1px solid #fff
  }
}

header .gnav .ul_one>li>a {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  align-content: unset;
  position: relative
}

@media(min-width: 1200px) {
  header .gnav .ul_one>li>a {
    padding: .5rem 0
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav .ul_one>li>a {
    justify-content: flex-start;
    padding: 1.2rem 5vw;
    border-bottom: 1px solid #fff
  }
}

@media(max-width: 767px) {
  header .gnav .ul_one>li>a {
    height: 8vh;
    justify-content: flex-start;
    padding: .5rem 5vw;
    border-bottom: 1px solid #fff
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ul_one li:not(.li_parent) a::after {
    content: "";
    font-size: 0.625rem;
    color: #fff;
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    position: absolute;
    top: 50%;
    right: 5vw;
    transform: translateY(-50%)
  }
}

@media(max-width: 767px) {
  .ul_one li:not(.li_parent) a::after {
    content: "";
    font-size: 0.5rem;
    color: #fff;
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    position: absolute;
    top: 50%;
    right: 5vw;
    transform: translateY(-50%)
  }
}

header .gnav .ul_one>li>a p {
  font-size: 1rem;
  color: #10254e;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  position: relative
}

@media(min-width: 1200px)and (max-width: 1399px) {
  header .gnav .ul_one>li>a p {
    font-size: 0.75rem
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav .ul_one>li>a p {
    color: #fff;
    text-align: left
  }
}

@media(max-width: 767px) {
  header .gnav .ul_one>li>a p {
    color: #fff;
    text-align: left
  }
}

header .gnav .ul_one>li {
  position: relative
}

header .gnav .ul_one>li a.parent {
  position: relative
}

header .gnav .ul_one>li a.parent p {
  padding-right: 1.2em
}

@media(max-width: 767px) {
  header .gnav .ul_one>li a.parent.open p i {
    transform: translateY(-50%) rotate(180deg)
  }
}

header .gnav .ul_one>li p {
  width: 100%;
  position: relative
}

header .gnav .ul_one>li p i {
  font-size: 0.625rem;
  color: currentColor;
  position: absolute;
  top: calc(100% + .2em);
  left: 50%;
  transform: translateX(-50%);
  transition: .3s ease
}

@media(min-width: 1200px) {
  header .gnav .ul_one>li p i {
    top: 50%;
    left: unset;
    right: 0;
    transform: translateY(-50%)
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav .ul_one>li p i {
    font-size: 0.875rem;
    position: absolute;
    top: 50%;
    left: unset;
    right: 0;
    transform: translateY(-50%)
  }
}

@media(max-width: 767px) {
  header .gnav .ul_one>li p i {
    font-size: 0.875rem;
    position: absolute;
    top: 50%;
    left: unset;
    right: 0;
    transform: translateY(-50%)
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav .ul_one>li p i:nth-child(1) {
    display: none
  }
}

@media(max-width: 767px) {
  header .gnav .ul_one>li p i:nth-child(1) {
    display: none
  }
}

@media(min-width: 1200px) {
  header .gnav .ul_one>li p i:nth-child(2) {
    display: none
  }
}

header .gnav .ul_one>li:hover .submenu {
  visibility: visible;
  opacity: 1
}

header .gnav .ul_one>li .submenu {
  visibility: hidden;
  opacity: 0;
  z-index: 1;
  transition: .5s;
  padding: 1rem 1rem
}

@media(min-width: 1200px) {
  header .gnav .ul_one>li .submenu {
    width: 100%;
    min-width: 220px;
    background-color: #fff;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, .16);
    position: absolute;
    top: 100%;
    left: 50%;
    translate: -50% 0
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav .ul_one>li .submenu {
    display: none;
    background-color: #033e79;
    visibility: visible;
    border-radius: 0;
    box-shadow: unset;
    opacity: 1;
    width: 100%;
    max-width: unset;
    padding: 0
  }
}

@media(max-width: 767px) {
  header .gnav .ul_one>li .submenu {
    display: none;
    background-color: #033e79;
    visibility: visible;
    border-radius: 0;
    box-shadow: unset;
    opacity: 1;
    width: 100%;
    max-width: unset;
    padding: 0
  }
}

@media(min-width: 1200px) {
  header .gnav .ul_one>li .submenu ul {
    display: grid;
    gap: 1rem 2rem
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav .ul_one>li .submenu ul>li {
    border-bottom: 1px solid #fff
  }
}

@media(max-width: 767px) {
  header .gnav .ul_one>li .submenu ul>li {
    border-bottom: 1px solid #fff
  }
}

header .gnav .ul_one>li .submenu ul>li a {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  align-content: unset;
  font-size: 1rem;
  color: #10254e;
  font-weight: 600;
  line-height: 1.35;
  padding: 0rem 1rem 0 0;
  position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav .ul_one>li .submenu ul>li a {
    color: #fff;
    padding: 1.2rem 5%
  }
}

@media(max-width: 767px) {
  header .gnav .ul_one>li .submenu ul>li a {
    height: 8vh;
    color: #fff;
    padding: .5rem 5%
  }
}

@media(min-width: 1200px) {
  header .gnav .ul_one>li .submenu ul>li a::after {
    content: "";
    font-size: 0.625rem;
    color: currentColor;
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translateY(-50%)
  }
}

header .gnav .ul_one>li .submenu ul>li a:hover {
  transition: .3s ease
}

header .right_add {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 0 1.2vw
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .right_add {
    display: block;
    padding: 1.2rem 5% 2rem;
    background-color: #fff
  }
}

@media(max-width: 767px) {
  header .right_add {
    display: block;
    padding: 1.2rem 5% 2rem;
    background-color: #fff
  }
}

header .right_add .btn_head {
  margin-inline: auto
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .right_add .btn_head:not(:first-child) {
    margin-top: 1.2rem
  }
}

@media(max-width: 767px) {
  header .right_add .btn_head:not(:first-child) {
    margin-top: 1.2rem
  }
}

.telbtn {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%
}

.telbtn a {
  max-width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .2em .5em;
  position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
  .telbtn a {
    width: 90vw;
    margin-inline: auto
  }
}

@media(max-width: 767px) {
  .telbtn a {
    width: 90vw;
    margin-inline: auto
  }
}

.telbtn a:hover {
  transition: .3s ease
}

.telbtn a p {
  font-size: 1.25rem;
  color: #10254e;
  font-weight: 500;
  line-height: 1.3
}

@media(max-width: 767px) {
  .telbtn a p {
    font-size: 1.5625rem
  }
}

.telbtn a p em {
  font-size: 1.5rem
}

@media(max-width: 767px) {
  .telbtn a p em {
    font-size: 1.8125rem
  }
}

.btn_head {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%
}

.btn_head a {
  width: 180px;
  height: 72px;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .2em .5em;
  position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
  .btn_head a {
    width: 90vw;
    height: 3.5rem
  }
}

@media(max-width: 767px) {
  .btn_head a {
    width: 90vw;
    height: 3.5rem
  }
}

.btn_head a:hover {
  transition: .3s ease
}

.btn_head a>i {
  font-size: 0.625rem;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: 9%;
  transform: translateY(-50%)
}

@media(max-width: 767px) {
  .btn_head a>i {
    right: 6%
  }
}

.btn_head a p {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3
}

.btn_head a p i {
  font-size: 0.625rem;
  margin-left: .6em;
  position: relative;
  top: -0.1em
}

.btn_head.bg_sk a {
  background-color: #0670d8;
  color: #fff
}

.btn_head.bg_sk a:hover {
  background-color: rgb(3.2432432432, 60.5405405405, 116.7567567568);
  color: #fff;
  transition: .3s ease
}

.icn_menu {
  width: 16vw;
  height: 16vw;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 13
}

@media(min-width: 768px)and (max-width: 1199px) {
  .icn_menu {
    width: 60px;
    height: 60px
  }
}

.icn_menu .menu-trigger,
.icn_menu .menu-trigger span {
  display: inline-block;
  transition: all .4s
}

.icn_menu .menu-trigger {
  width: 100%;
  height: 100%;
  background-color: #0670d8;
  padding: 1rem 1rem 1.8rem;
  position: relative
}

.icn_menu .menu-trigger .spanwrap {
  height: 100%;
  position: relative
}

.icn_menu .menu-trigger .spanwrap span {
  position: absolute;
  right: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  border-radius: 100vmax
}

.icn_menu .menu-trigger .spanwrap span:nth-of-type(1) {
  top: 0
}

.icn_menu .menu-trigger .spanwrap span:nth-of-type(2) {
  top: 50%;
  translate: 0 -50%
}

.icn_menu .menu-trigger .spanwrap span:nth-of-type(3) {
  bottom: 0
}

.icn_menu .menu-trigger p {
  font-size: 0.625rem;
  color: #fff;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: .5rem
}

.icn_menu .menu-trigger.active span:nth-of-type(1) {
  width: 100%;
  translate: 0 -50%;
  rotate: -45deg;
  top: 50%
}

.icn_menu .menu-trigger.active span:nth-of-type(2) {
  opacity: 0
}

.icn_menu .menu-trigger.active span:nth-of-type(3) {
  width: 100%;
  translate: 0 -50%;
  rotate: 45deg;
  top: 50%
}

.main_home {
  height: calc(100vh - 0px);
  position: relative
}

@media(min-width: 1200px) {
  .main_home {
    min-height: 700px
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  .main_home {
    height: calc(100vh - 60px)
  }
}

@media(max-width: 767px) {
  .main_home {
    height: calc(100vh - 16vw)
  }
}

.main_home video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1
}

.main_home .txtlayer {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3
}

.main_home .txtlayer::before {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(43, 89, 123, 0.14) 0%, rgba(7, 75, 164, 0.93) 100%);
  mix-blend-mode: multiply;
  opacity: .55;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0
}

.main_home .txtlayer::after {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #B4F2FF 0%, transparent 30%, transparent 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1
}

.main_home .txtlayer .inner {
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  padding-top: calc(72px + 30vh)
}

@media(min-width: 768px)and (max-width: 1199px) {
  .main_home .txtlayer .inner {
    padding-top: calc(60px + 24vh)
  }
}

@media(max-width: 767px) {
  .main_home .txtlayer .inner {
    padding-top: calc(16vw + 14vh)
  }
}

.main_home .txtlayer .inner .txt {
  position: relative;
  z-index: 5
}

.main_home .ttl_main {
  font-size: 2.625rem;
  color: #0670d8;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .05em;
  margin-bottom: 2vh
}

@media(min-width: 768px)and (max-width: 1199px) {
  .main_home .ttl_main {
    font-size: 1.75rem
  }
}

@media(max-width: 767px) {
  .main_home .ttl_main {
    font-size: 1.25rem
  }
}

.main_home .ttl_main b {
  display: inline-block;
  background-color: #fff;
  clip-path: polygon(5% 0, 100% 0, 95% 100%, 0 100%);
  padding: .4em .8em;
  margin-bottom: .5em
}

.main_home p.txt01 {
  margin-bottom: 2vh
}

.main_home .btnwrap {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .8rem 1.2rem
}

.scroll_up_main {
  animation: scroll_up_anime 2s ease-in
}

@keyframes scroll_up_anime {
  0% {
    opacity: 0;
    transform: translateY(50px)
  }

  30% {
    transform: translateY(0)
  }

  100% {
    transform: translateY(0)
  }

  30%,
  100% {
    opacity: 1
  }
}

.section_cmn {
  padding: 5rem 0
}

@media(max-width: 767px) {
  .section_cmn {
    padding: 3rem 0
  }
}

.section_cmn.t_narrow {
  padding-top: 3.5rem
}

@media(max-width: 767px) {
  .section_cmn.t_narrow {
    padding-top: 2.5rem
  }
}

.section_cmn.b_narrow {
  padding-bottom: 3.5rem
}

@media(max-width: 767px) {
  .section_cmn.b_narrow {
    padding-bottom: 2.5rem
  }
}

.section_cmn.t_wide {
  padding-top: 7.5rem
}

@media(max-width: 767px) {
  .section_cmn.t_wide {
    padding-top: 3.5rem
  }
}

.section_cmn.b_wide {
  padding-bottom: 7.5rem
}

@media(max-width: 767px) {
  .section_cmn.b_wide {
    padding-bottom: 3.5rem
  }
}

.section_cmn.t_exwide {
  padding-top: 10rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .section_cmn.t_exwide {
    padding-top: 6rem
  }
}

@media(max-width: 767px) {
  .section_cmn.t_exwide {
    padding-top: 4rem
  }
}

.section_cmn.b_exwide {
  padding-bottom: 10rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .section_cmn.b_exwide {
    padding-bottom: 6rem
  }
}

@media(max-width: 767px) {
  .section_cmn.b_exwide {
    padding-bottom: 4rem
  }
}

.section_cmn.t_none {
  padding-top: 0
}

.section_cmn.b_none {
  padding-bottom: 0
}

.ttl_cmn {
  font-size: 5.5625rem;
  font-weight: 400;
  line-height: 1.1;
  margin-bottom: .6em
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn {
    font-size: 2.5rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn {
    font-size: 2.25rem
  }
}

.ttl_cmn span {
  display: block;
  font-size: 1.8125rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .1em;
  margin-top: .6em;
  position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn span {
    font-size: 1.1875rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn span {
    font-size: 1rem
  }
}

.ttl_cmn span.color_in {
  color: #10254e
}

.ttl_cmn.small {
  font-size: 2.375rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn.small {
    font-size: 1.625rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn.small {
    font-size: 1.5rem
  }
}

.ttl_cmn.small span {
  font-size: 1.125rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn.small span {
    font-size: 1rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn.small span {
    font-size: 0.875rem
  }
}

.ttl_cmn em.sidebar {
  display: flex;
  align-items: center;
  gap: 1.2em
}

.ttl_cmn em.sidebar::after {
  content: "";
  background-color: currentColor;
  flex-grow: 1;
  height: 1px
}

.ttl_cmn.tac {
  text-align: center
}

.ttl_cmn.color_w {
  color: #fff
}

.ttl_cmn.color_sk {
  color: #0670d8
}

.ttl_cmn.color_mi {
  color: #b2bcd0
}

.ttl_cmn.color_in {
  color: #10254e
}

.ttl_cmn.mb0 {
  margin-bottom: 0
}

.ttl_cmn.mb_w {
  margin-bottom: 1.8em
}

.ttl_cmn2 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: .8em
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn2 {
    font-size: 1.375rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn2 {
    font-size: 1.25rem
  }
}

.ttl_cmn2 span.sub {
  font-size: 1.125rem
}

@media(max-width: 767px) {
  .ttl_cmn2 span.sub {
    font-size: 0.9375rem
  }
}

.ttl_cmn2.bdb {
  padding-bottom: .5em;
  position: relative
}

.ttl_cmn2.bdb::after {
  content: "";
  width: 3.5em;
  height: 1px;
  background-color: currentColor;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%)
}

.ttl_cmn2.bold {
  font-weight: 700
}

.ttl_cmn2.medium {
  font-weight: 500
}

.ttl_cmn2.regular {
  font-weight: 400
}

.ttl_cmn2.lh_w {
  line-height: 2.4
}

.ttl_cmn2.tac {
  text-align: center
}

.ttl_cmn2.tar {
  text-align: right
}

.ttl_cmn2.color_sk {
  color: #0670d8
}

.ttl_cmn2.color_mi {
  color: #b2bcd0
}

.ttl_cmn2.color_in {
  color: #10254e
}

.ttl_cmn2.color_w {
  color: #fff
}

.ttl_cmn2.huge {
  font-size: 3.125rem;
  line-height: 1.2
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn2.huge {
    font-size: 2rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn2.huge {
    font-size: 1.75rem
  }
}

.ttl_cmn2.large {
  font-size: 2.25rem;
  line-height: 1.3
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn2.large {
    font-size: 1.625rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn2.large {
    font-size: 1.5rem
  }
}

.ttl_cmn2.mdl {
  font-size: 1.5rem
}

@media(max-width: 767px) {
  .ttl_cmn2.mdl {
    font-size: 1.125rem
  }
}

.ttl_cmn2.mdsm {
  font-size: 1.375rem
}

@media(max-width: 767px) {
  .ttl_cmn2.mdsm {
    font-size: 1.125rem
  }
}

.ttl_cmn2.small {
  font-size: 1.25rem
}

@media(max-width: 767px) {
  .ttl_cmn2.small {
    font-size: 1rem
  }
}

.ttl_cmn2.mb0 {
  margin-bottom: 0
}

.ttl_cmn2.mb_w {
  margin-bottom: 1.5em
}

.txt_cmn {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.9
}

@media(max-width: 767px) {
  .txt_cmn {
    font-size: 0.875rem
  }
}

.txt_cmn.lh_w {
  line-height: 2.4
}

.txt_cmn.lh_n {
  line-height: 1.5
}

.txt_cmn.tac {
  text-align: center
}

.txt_cmn.tar {
  text-align: right
}

.txt_cmn.medium {
  font-weight: 500
}

.txt_cmn.bold {
  font-weight: 700
}

.txt_cmn.color_in {
  color: #10254e
}

.txt_cmn.color_sk {
  color: #0670d8
}

.txt_cmn.color_w {
  color: #fff
}

.txt_cmn.large {
  font-size: 1.125rem
}

@media(max-width: 767px) {
  .txt_cmn.large {
    font-size: 1rem
  }
}

.txt_cmn.mdsm {
  font-size: 0.9375rem
}

@media(max-width: 767px) {
  .txt_cmn.mdsm {
    font-size: 0.8125rem
  }
}

.txt_cmn.mdl {
  font-size: 0.875rem
}

@media(max-width: 767px) {
  .txt_cmn.mdl {
    font-size: 0.75rem
  }
}

.txt_cmn.small {
  font-size: 0.75rem
}

@media(max-width: 767px) {
  .txt_cmn.small {
    font-size: 0.625rem
  }
}

.btn_cmn {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%
}

.btn_cmn a {
  max-width: 100%;
  width: 280px;
  height: 60px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: unset;
  border-radius: 4px;
  position: relative
}

@media(max-width: 767px) {
  .btn_cmn a {
    width: 90vw;
    height: 3.5rem
  }
}

.btn_cmn a p {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center
}

.btn_cmn a p i {
  font-size: 1.25rem;
  line-height: 1;
  margin-right: .6em
}

.btn_cmn a>i {
  font-size: 0.625rem;
  position: absolute;
  top: 50%;
  right: 9%;
  transform: translateY(-50%)
}

@media(max-width: 767px) {
  .btn_cmn a>i {
    right: 6%
  }
}

.btn_cmn.shadow a {
  box-shadow: 2px 2px 18px rgba(0, 0, 0, .16)
}

.btn_cmn.center {
  margin-inline: auto
}

.btn_cmn.right {
  margin-inline: auto 0
}

.btn_cmn.bd_in a {
  border: 1px solid currentColor;
  color: #10254e
}

.btn_cmn.bd_in a:hover {
  background-color: #10254e;
  color: #fff;
  transition: .3s ease
}

.btn_cmn.bd_w a {
  border: 1px solid currentColor;
  color: #fff
}

.btn_cmn.bd_w a:hover {
  background-color: #fff;
  color: #10254e;
  transition: .3s ease
}

.btn_cmn.bg_sk a {
  border: 1px solid #0259af;
  background-color: #0670d8;
  color: #fff
}

.btn_cmn.bg_sk a:hover {
  background-color: #0259af;
  transition: .3s ease
}

.over_cmn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-content: unset;
  padding: 0rem calc(50vw - 50%) 0rem 0;
  margin: 0 calc(50% - 50vw);
  position: relative
}

@media(max-width: 767px) {
  .over_cmn {
    padding: 0
  }
}

.over_cmn figure {
  width: calc(100% - 540px);
  text-align: right
}

@media(min-width: 768px)and (max-width: 1199px) {
  .over_cmn figure {
    width: 49.0740740741%
  }
}

@media(max-width: 767px) {
  .over_cmn figure {
    width: 100%;
    margin-bottom: 1rem
  }
}

.over_cmn .txt {
  width: 480px
}

@media(min-width: 768px)and (max-width: 1199px) {
  .over_cmn .txt {
    width: 47.2222222222%
  }
}

@media(max-width: 767px) {
  .over_cmn .txt {
    width: 100%;
    padding: 0 8%
  }
}

@media(max-width: 767px) {
  .over_cmn:not(.reverse) figure {
    margin-right: 8vw
  }
}

.over_cmn.reverse {
  flex-direction: row-reverse;
  padding: 0rem 0 0rem calc(50vw - 50%)
}

@media(max-width: 767px) {
  .over_cmn.reverse {
    padding: 0
  }
}

.over_cmn.reverse figure {
  text-align: left
}

@media(max-width: 767px) {
  .over_cmn.reverse figure {
    margin-left: 8vw
  }
}

.over_cmn.a_start {
  align-items: flex-start
}

.over_cmn.alt figure {
  width: calc(100% - 608px)
}

@media(min-width: 768px)and (max-width: 1199px) {
  .over_cmn.alt figure {
    width: 47.2222222222%
  }
}

@media(max-width: 767px) {
  .over_cmn.alt figure {
    width: 100%
  }
}

.over_cmn.alt .txt {
  width: 520px
}

@media(min-width: 768px)and (max-width: 1199px) {
  .over_cmn.alt .txt {
    width: 49.0740740741%
  }
}

@media(max-width: 767px) {
  .over_cmn.alt .txt {
    width: 100%
  }
}

.side_cmn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-content: unset
}

.side_cmn figure {
  width: 50%;
  text-align: center
}

@media(max-width: 767px) {
  .side_cmn figure {
    width: 100%;
    margin-bottom: 1rem
  }
}

.side_cmn .txt {
  width: 46.2962962963%
}

@media(max-width: 767px) {
  .side_cmn .txt {
    width: 100%
  }
}

.side_cmn.reverse {
  flex-direction: row-reverse
}

.side_cmn.a_start {
  align-items: flex-start
}

.side_cmn.alt figure {
  width: 48.1481481481%
}

@media(max-width: 767px) {
  .side_cmn.alt figure {
    width: 100%
  }
}

.side_cmn.alt .txt {
  width: 48.1481481481%
}

@media(max-width: 767px) {
  .side_cmn.alt .txt {
    width: 100%
  }
}

.btn_naked {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%
}

.btn_naked a {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  align-content: unset;
  padding-left: .4em;
  padding-bottom: .4rem;
  position: relative
}

.btn_naked a p {
  font-size: 1rem;
  color: #10254e;
  font-weight: 500;
  line-height: 1.5;
  text-align: center
}

@media(max-width: 767px) {
  .btn_naked a p {
    font-size: 0.8125rem
  }
}

.btn_naked a>i {
  font-size: 0.625rem;
  line-height: 1;
  margin-left: 1.6em
}

@media(max-width: 767px) {
  .btn_naked a>i {
    font-size: 0.625rem
  }
}

.btn_naked a::after {
  content: "";
  width: 0;
  height: 1px;
  background-color: currentColor;
  position: absolute;
  bottom: 0;
  left: 0
}

.btn_naked a:hover::after {
  width: 100%;
  transition: .5s ease
}

.btn_naked.center {
  margin-inline: auto
}

.btn_naked.right {
  margin-inline: auto 0
}

.btn_naked.color_w a {
  color: #fff
}

.scroll_up {
  transition: .8s ease-in-out;
  transform: translateY(30px);
  opacity: 0
}

.scroll_up.on {
  transform: translateY(0);
  opacity: 1
}

.scroll_left {
  transition: .8s ease-in-out;
  transform: translateX(-30px);
  opacity: 0;
  filter: alpha(opacity=0)
}

.scroll_left.on {
  opacity: 1;
  filter: alpha(opacity=100);
  transform: translateX(0)
}

.scroll_right {
  transition: .8s ease-in-out;
  transform: translateX(30px);
  opacity: 0;
  filter: alpha(opacity=0)
}

.scroll_right.on {
  opacity: 1;
  filter: alpha(opacity=100);
  transform: translateX(0)
}

.home_service {
  position: relative
}

.home_service::before,
.home_service::after {
  content: "";
  width: 100%;
  height: 80%;
  background-color: #e9e9e9;
  position: absolute;
  left: 0%;
  z-index: -1;
  opacity: .3
}

.home_service::before {
  clip-path: polygon(0 0, 100% 30%, 100% 100%, 0 70%);
  top: 0;
  transform: translateY(-15%)
}

.home_service::after {
  clip-path: polygon(0 30%, 100% 0%, 100% 70%, 0 100%);
  bottom: 0;
  transform: translateY(15%)
}

.home_service p.txt01 {
  margin-bottom: 3.5em
}

.home_service .ul01 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem 4.1666666667%
}

@media(min-width: 768px)and (max-width: 1199px) {
  .home_service .ul01 {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width: 767px) {
  .home_service .ul01 {
    grid-template-columns: repeat(2, 1fr)
  }
}

.home_service .ul01 li {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, .12)
}

.home_service .ul01 li figure img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.home_service .ul01 li .txt {
  padding: .8rem 6% 1.2rem
}

.home_service .ul01 li .txt h3.ttl_cmn2 {
  margin-bottom: .5em
}

.home_company h3.ttl_cmn2 {
  margin-bottom: 1.2em
}

.home_company p.txt01 {
  margin-bottom: 2em
}

.home_feature {
  position: relative
}

.home_feature::before {
  content: "";
  width: 100%;
  height: 130%;
  background-color: #deecf9;
  clip-path: polygon(0 30%, 100% 0%, 100% 70%, 0 100%);
  position: absolute;
  top: 10%;
  left: 0%;
  transform: translateY(-15%);
  z-index: -1;
  opacity: .3
}

.home_feature .img01 {
  text-align: center;
  margin-bottom: 1rem
}

.home_feature .ul01 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem 5.0925925926%
}

@media(min-width: 768px)and (max-width: 1199px) {
  .home_feature .ul01 {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width: 767px) {
  .home_feature .ul01 {
    grid-template-columns: repeat(1, 1fr)
  }
}

.home_feature .ul01 li .num {
  display: grid;
  place-items: center;
  width: 146px;
  aspect-ratio: 1/1;
  background: url(images/index/bg_num01.svg) center center/100% auto no-repeat;
  font-size: 3.5625rem;
  color: #10254e;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  margin-inline: auto;
  margin-bottom: -0.8rem
}

.home_feature .ul01 li h3.ttl_cmn2 {
  margin-bottom: .5em
}

.home_faq {
  position: relative
}

.home_faq::before {
  content: "";
  width: 100%;
  height: 90%;
  background-color: rgba(233, 233, 233, .3);
  clip-path: polygon(0 0, 100% 30%, 100% 100%, 0 100%);
  position: absolute;
  bottom: 0;
  left: 0%;
  z-index: -1
}

.home_faq .wrap_faq {
  margin-bottom: 2.5rem
}

.wrap_faq .unit_faq {
  border-bottom: 1px dashed #b2bcd0
}

.wrap_faq .unit_faq:not(:last-child) {
  margin-bottom: 1.2rem
}

.wrap_faq .unit_faq .q1,
.wrap_faq .unit_faq .a1 {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  padding: .4em 4% 1.8em 2%;
  align-items: anchor-center;
}

@media(max-width: 767px) {

  .wrap_faq .unit_faq .q1,
  .wrap_faq .unit_faq .a1 {
    padding: .4em 5% .8em 3%
  }
}

.wrap_faq .unit_faq .q1 .mark,
.wrap_faq .unit_faq .a1 .mark {
  font-size: 3.125rem;
  color: #b2bcd0;
  font-weight: 900;
  line-height: 1;
  margin-right: .4em;
  position: relative
}

@media(max-width: 767px) {

  .wrap_faq .unit_faq .q1 .mark,
  .wrap_faq .unit_faq .a1 .mark {
    font-size: 1.75rem;
    margin-right: .5em
  }
}

.wrap_faq .unit_faq .q1 p,
.wrap_faq .unit_faq .a1 p {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8rem
}

@media(max-width: 767px) {

  .wrap_faq .unit_faq .q1 p,
  .wrap_faq .unit_faq .a1 p {
    font-size: 0.875rem;
    line-height: 1.5rem
  }
}

.wrap_faq .unit_faq .q1 {
  position: relative
}

.wrap_faq .unit_faq .q1::before,
.wrap_faq .unit_faq .q1::after {
  content: "";
  width: 32px;
  height: 2px;
  background-color: #b2bcd0;
  position: absolute;
  top: 50%;
  right: 2%;
  translate: 0 -50%
}

@media(max-width: 767px) {

  .wrap_faq .unit_faq .q1::before,
  .wrap_faq .unit_faq .q1::after {
    width: 15px
  }
}

.wrap_faq .unit_faq .q1::after {
  rotate: -90deg;
  transition: .3s ease
}

.wrap_faq .unit_faq .a1 {
  translate: 0 -1em;
  opacity: 0;
  transition: transform 1s, opacity 1s
}

.wrap_faq .unit_faq .a1 p {
  font-weight: 400
}

.wrap_faq .unit_faq[open] .q1::after {
  rotate: 0deg
}

.wrap_faq .unit_faq[open] .a1 {
  translate: 0;
  opacity: 1
}

.home_post {
  background-color: rgba(233, 233, 233, .3)
}

.home_post .colwrap {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 3rem 5%;
  position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
  .home_post .colwrap {
    grid-template-columns: repeat(1, 1fr)
  }
}

@media(max-width: 767px) {
  .home_post .colwrap {
    grid-template-columns: repeat(1, 1fr)
  }
}

@media(max-width: 767px) {
  .home_post h2.ttl_cmn {
    margin-bottom: 1em
  }
}

.home_post ul {
  padding-left: .8rem;
  margin-bottom: 1.2rem
}

.home_post ul li {
  padding-bottom: 1rem;
  border-bottom: 1px dashed #b2bcd0
}

@media(max-width: 767px) {
  .home_post ul li {
    padding-bottom: .6rem
  }
}

.home_post ul li:not(:last-child) {
  margin-bottom: 1.2rem
}

@media(max-width: 767px) {
  .home_post ul li:not(:last-child) {
    margin-bottom: .6rem
  }
}

.home_post ul li a {
  position: relative
}

.home_post ul li a time.date {
  display: inline-block;
  line-height: 1.5rem;
  margin-bottom: .4em
}

.home_post ul li a .ttl01 {
  line-height: 1.5rem
}

footer {
  background-color: rgba(233, 233, 233, .3)
}

footer .fmain {
  padding: 1.5rem 0 2rem;
  border-top: 1px solid #b2bcd0;
  border-bottom: 1px solid #b2bcd0
}

footer .fnav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem 4.6296296296%
}

footer .fnav .col_l {
  width: 35%
}

@media(max-width: 767px) {
  footer .fnav .col_l {
    width: 100%
  }
}

footer .fnav .col_r {
  width: 60%
}

@media(max-width: 767px) {
  footer .fnav .col_r {
    width: 100%
  }
}

footer .ul01 li {
  font-weight: 600;
  line-height: 1.5;
  padding-left: 1.2em;
  position: relative
}

footer .ul01 li::before {
  content: "";
  width: .8em;
  height: 1px;
  background-color: currentColor;
  position: absolute;
  top: 50%;
  left: 0
}

footer .ul01 li:not(:last-child) {
  margin-bottom: .8em
}

footer .ul02 {
  padding-left: 1.5rem;
  margin-top: 1rem;
  -moz-columns: 3 auto;
  columns: 3 auto
}

@media(max-width: 767px) {
  footer .ul02 {
    -moz-columns: 2 auto;
    columns: 2 auto
  }
}

footer .ul02 li {
  margin-bottom: .4em
}

footer .ul02 li::before {
  content: "■";
  font-size: 0.25rem;
  margin-right: 1.5em;
  position: relative;
  top: -3px
}

footer .copyright {
  padding: .8rem 0
}

footer .copyright small {
  display: block;
  text-align: center
}

/*# sourceMappingURL=style.css.map */