html {
  font-size: 62.5%;
}

@media screen and (min-width:1366px) {
  html {
    font-size: calc(100vw / 1366 * 10);
  }
}

@media screen and (max-width:1120px) {
  html {
    font-size: calc(100vw / 1120 * 10);
  }
}

@media screen and (max-width:768px) {
  html {
    font-size: calc(100vw / 375 * 10);
  }
}
body {
  color: #000;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-family: 'Noto Sans JP', sans-serif;
  font-optical-sizing: auto;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
  min-height: 300vh;
}
.OP {
  font-family: 'Open Sans', system-ui;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: 'wdth' 100;
  font-weight: 400;
}
.DM {
  font-family: 'DM Sans', sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
}
.body_container {
  opacity: 0;
  overflow: hidden;
  padding-top: 8.5rem;
  transition: .2s;
}
.body_container.lazy {
  opacity: 1;
}
.top .body_container {
  padding-top: 0;
}
@media screen and (max-width: 768px) {
  .body_container {
    padding-top: 5.5rem!important;
  }
}
.max1080 {
  margin: 0 auto;
  max-width: 108rem;
}
img {
  height: auto;
  margin: 0;
  max-width: 100%;
  vertical-align: bottom;
  width: 100%;
}
a {
  transition: .2s;
}
.ib {
  display: inline-block;
}
.text_link {
  color: #53b9ff;
  text-decoration: underline;
}
.text_link:hover {
  opacity: .7;
}
/* ---------------------------------------------------------------------------
//  linkA
--------------------------------------------------------------------------- */
.linkA {
  align-items: flex-end;
  bottom: -1rem;
  display: flex;
  font-family: 'DM Sans', sans-serif;
  font-optical-sizing: auto;
  font-size: 2rem;
  font-style: normal;
  font-weight: 400;
  gap: 1.3rem;
  justify-content: flex-end;
  margin-left: auto;
  padding: 1rem 0;
  position: relative;
  transition: .2s;
}
.linkA.blue {
  color: #53b9ff;
  font-size: 1.6rem;
}
.linkA::before {
  background: #fff;
  content: '';
  height: .1rem;
  margin-bottom: .5rem;
  transition: .2s;
  width: 10rem;
}
.linkA::after {
  background: #fff;
  content: '';
  height: .1rem;
  margin-bottom: .5rem;
  transition: .2s;
  width: 0;
}
.linkA.blue::before, .linkA.blue::after {
  background: #53b9ff;
}
.linkA:hover:before {
  width: 0;
}
.linkA:hover:after {
  width: 10rem;
}
@media screen and (max-width: 768px) {
  .linkA {
    font-size: 1.6rem;
  }
}


/* ---------------------------------------------------------------------------
//  loading
--------------------------------------------------------------------------- */
.loading {
  align-items: center;
  background: #fff;
  display: flex;
  height: 100vh;
  justify-content: center;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10000;
}
.loading .logos {
  height: 5.9rem;
  position: relative;
  width: 15.8rem;
}
.loading .logos img {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.loading .logos .logo02 {
  opacity: 0;
  transition: opacity .5s ease; /* フェードイン時のアニメーション */
}
/* ---------------------------------------------------------------------------
//  fv
--------------------------------------------------------------------------- */
.fv {
  align-items: center;
  background: #fff;
  display: flex;
  flex-direction: column;
  font-weight: bold;
  height: 100vh;
  justify-content: center;
  pointer-events: none;
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 1000;
}
.fv .ttl {
  color: #006db9;
  font-size: 5.9rem;
  font-weight: 800;
  line-height: calc(50/40);
  opacity: 0;
}
.fv .copy {
  font-size: 2.6rem;
  margin: 2rem 0 0;
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .fv .ttl {
    font-size: 5rem;
  }
  .fv .copy {
    font-size: 2.6rem;
    left: .8rem;
    position: relative;
  }
}
/* ---------------------------------------------------------------------------
//  header
--------------------------------------------------------------------------- */
body:not(.top)::before {
  background: #fff;
  content: '';
  height: 8.5rem;
  position: absolute;
  top: 0;
  width: 100%;
}
.header {
  /* background: #fff; */
  background: rgba(255,255,255,.85);
  position: fixed;
  top: 0;
  transition: .2s ;
  width: 100%;
  z-index: 999;
}
.top .base_header {
  opacity: 0;
}
.top header.base_header.active {
  opacity: 1;
}
.top_header {
  background: transparent;
  color: #fff;
  opacity: 1;
  position: absolute;
  top: 3.5rem;
}
.top_header.fixed {
  background: #fff;
  color: #000;
  position: fixed;
  top: 0;
}
.header > .inner {
  align-items: center;
  display: flex;
  gap: 0 2rem;
  height: 8.5rem;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0 3.3rem;
}
.top_header > .inner {
  padding: 0 6.6rem;
}
.header .logo {
  width: 11.7rem;
}
.header .logo:hover {
  opacity: .7;
}
.header .nav_area nav ul {
  align-items: center;
  display: flex;
  font-size: 1.4rem;
  height: 8.5rem;
}
.header .nav_area nav ul li {
  align-items: center;
  display: flex;
  height: 8.5rem;
}
.header .nav_area nav ul li > a {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 3.4rem;
  justify-content: center;
  position: relative;
  white-space: nowrap;
  z-index: 100;
}
.header nav ul li.itemA > a {
  height: 8.5rem;
  margin-right: 3rem;
}
.header nav ul li.itemA:nth-of-type(1) > a {
  margin-left: 3rem;
}
.header nav ul li.itemA:hover > a {
  color: #006db9;
}
.header nav ul li.itemB > a {
  background: #e96c34;
  border: solid .2rem #e96c34;
  color: #fff;
  margin: 0 .1rem;
  width: 8.5rem;
}
.header nav ul li.itemB_01 > a {
  border-radius: 10rem 0 0 10rem;
}
.header nav ul li.itemB_03 > a {
  border-radius: 0 10rem 10rem 0;
}
.header nav ul li.itemB > a:hover {
  background: transparent;
  color: #e96c34;
}
.header nav ul li.itemC > a {
  background: #33a98f;
  border: solid .2rem #33a98f;
  border-radius: 10rem;
  color: #fff;
  margin: 0 0 0 .7rem;
  width: 13rem;
}
.header nav ul li.itemC > a:hover {
  background: transparent;
  color: #33a98f;
}
#nav_toggle {
  display: none;
}

/* メガメニュー */
.mega_menu {
  background: rgba(255,255,255,.85);
  left: 0;
  min-height: 57rem;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 8.5rem;
  transition: .2s;
  width: 100%;
}
.mega_open .mega_menu {
  opacity: 1;
  pointer-events: all;
}
.mega_menu .menu_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 3.8rem;
  margin: 0 auto;
  padding: 4rem 3.3rem 3.4rem;
  position: relative;
}
.mega_menu .menu_wrap .group {
  width: calc((100% - 7.6rem) / 3);
}
.mega_menu .menu_wrap .group.full {
  width: 100%;
}
.mega_menu .menu_wrap .group dt {
  color: #000;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1.2rem;
}
.mega_menu .menu_wrap .group dt span {
  color: #006db9;
  font-size: 1.2rem;
  font-weight: 400;
  margin-left: .9rem;
}
.mega_menu .menu_wrap .group dd a {
  align-items: center;
  background: #53b9ff;
  display: flex;
}
.mega_menu .menu_wrap .group dd.list a {
  display: block;
}
.mega_menu .menu_wrap .group dd a .img {
  overflow: hidden;
  width: 50%;
}
.mega_menu .menu_wrap .group dd.list a .img {
  width: 100%;
}
.mega_menu .menu_wrap .group dd a .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  transition: .2s;
  width: 100%;
}
.mega_menu .menu_wrap .group dd a:hover .img img {
  transform: scale(1.2);
}
.mega_menu .menu_wrap .group dd a .txt {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  padding: 3rem 2rem;
  width: 50%;
}
.mega_menu .menu_wrap .group dd.list a .txt {
  padding: .7rem 1rem;
  text-align: center;
  width: 100%;
}
.mega_menu .menu_wrap .group.full .list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.1rem;
}
.mega_menu .menu_wrap .group.full .list .item {
  width: calc((100% - 4.4rem) / 5);
}

/* スマホの場合 */
@media screen and (max-width: 768px) {
  .mega.open .mega_menu {
    opacity: 1;
  }
}
@media screen and (max-width:768px) {
  body:not(.top)::before {
    height: 5.5rem;
  }
  .body_container::before {
    background: rgba(255,255,255,.9);
    content: '';
    filter: blur(1rem);
    height: 100%;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    transition: .6s;
    width: 100%;
    z-index: 998;
  }
  .body_container.open::before {
    opacity: 1;
  }
  .top .base_header {
    opacity: 1;
  }
  .top_header {
    display: none;
  }
  .header > .inner {
    height: 5.5rem;
    padding: 0 2rem;
  }
  .header .logo {
    position: relative;
    top: .5rem;
    width: 9rem;
  }
  .header .nav_area nav ul {
    flex-direction: column;
    font-size: 1.6rem;
    height: auto;
  }
  .header .nav_area nav ul li {
    display: block;
    height: auto;
    width: 100%;
  }
  .header .nav_area nav ul li > a {
    background: none!important;
    border: none!important;
    border-radius: 0!important;
    color: #fff!important;
    height: auto;
    height: 4rem;
    left: 0;
    margin: 2rem auto 0!important;
    /* padding-left: 5rem; */
    position: relative;
    width: 33.5rem!important;
  }
  .header .nav_area nav ul li > a span {
    position: relative;
    z-index: 2;
  }
  .header .nav_area nav ul li > a::before {
    background: #fff;
    content: '';
    height: 5rem;
    left: 0;
    margin: 0 auto;
    position: absolute;
    /* right: -3rem; */
    /* transform: skewX(-35deg); */
    width: 100%;
  }
  .header .nav_area nav ul li.itemA > a::before {
    background: #006db9;
  }
  .header .nav_area nav ul li.itemB > a::before {
    background: #e96c34;
  }
  .header .nav_area nav ul li.itemC > a::before {
    background: #33a98f;
  }
  .header .nav_area {
    /* background: #fff; */
    height: calc(100vh - 5.5rem);
    left: 0;
    overflow: auto;
    padding-bottom: 4rem;
    position: absolute;
    top: 5.5rem;
    transform: translateX(-100VW);
    transition: .6s;
    width: 100%;
  }
  .header.open .nav_area {
    transform: translateX(0);
  }
  #nav_toggle {
    cursor: pointer;
    display: block;
    height: 5rem;
    position: relative;
    right: 0;
    top: 0;
    width: 5.5rem;
    z-index: 1000;
  }
  #nav_toggle div {
    position: relative;
  }
  #nav_toggle span {
    background: #006db9;
    display: block;
    height: .2rem;
    left: 0;
    margin: auto ;
    position: absolute;
    right: 0;
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    width: 2.5rem;
  }
  #nav_toggle span:nth-child(1) {
    top: 1.7rem;
  }
  #nav_toggle span:nth-child(2) {
    top: 2.3rem;
  }
  #nav_toggle span:nth-child(3) {
    top: 2.9rem;
  }
  .open #nav_toggle span:nth-child(1) {
    top: 2.3rem;
    transform: rotate(135deg);
  }
  .open #nav_toggle span:nth-child(2) {
    opacity: 0;
    width: 0;
  }
  .open #nav_toggle span:nth-child(3) {
    top: 2.3rem;
    transform: rotate(-135deg);
  }
  /* メガメニュー */
  .has_mega .open_btn {
    height: 4rem;
    position: absolute;
    right: 2rem;
    top: 2rem;
    width: 4rem;
    z-index: 100;
  }
  .has_mega .open_btn::before, .has_mega .open_btn::after {
    background: #fff;
    bottom: 0;
    content: '';
    height: .2rem;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    transition: .2s;
    width: 2rem;
  }
  .has_mega .open_btn::after {
    transform: rotate(90deg);
  }
  .has_mega.open .open_btn::after {
    transform: rotate(180deg);
  }
  .mega_menu {
    background: none;
    display: none;
    min-height: auto;
    opacity: 1;
    position: static;
  }
  .mega_menu .menu_wrap {
    gap: 2rem;
    padding: 2rem;
  }
  .mega_menu .menu_wrap .group {
    width: 100%;
  }
  .mega_menu .menu_wrap .group dt {
    font-size: 1.6rem;
  }
  .mega_menu .menu_wrap .group dt span {
    font-size: 1rem;
  }
  .mega_menu .menu_wrap .group dd a .txt {
    font-size: 1.2rem;
    padding: 1rem;
    text-align: center;
  }
  .mega_menu .menu_wrap .group dd.list a .txt {
    padding: .5rem;
  }
  .mega_menu .menu_wrap .group.full .list {
    gap: 1rem;
  }
  .mega_menu .menu_wrap .group.full .list .item {
    width: calc((100% - 1rem) /2);
  }
}

/* ---------------------------------------------------------------------------
//  bread
--------------------------------------------------------------------------- */
.bread {
  background: #fff;
  position: relative;
  z-index: 4;
}
.bread .inner {
  padding-bottom: 2rem;
  padding-top: 16rem;
}
.mv_bread {
  background: none;
  position: absolute;
  right: 3rem;
}
.mv_bread.white {
  color: #fff;
}
.mv_bread.gray {
  color: #6c6c6c;
}
.mv_bread .inner {
  padding: 2.4rem;
}
.bread ol {
  align-items: center;
  display: flex;
  justify-content: flex-end;
}
.bread ol li + li {
  margin-left: 4rem;
  position: relative;
}
.bread ol li + li::before {
  bottom: 0;
  content: '>';
  left: -2.5rem;
  margin: auto;
  position: absolute;
  top: 0;
}
.bread ol li a {
  display: block;
  text-decoration: underline;
}
.bread ol li a:hover {
  text-decoration: none;
}
.bread ol li:last-of-type a {
  max-width: 30rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (max-width:768px) {
  .bread .inner {
    padding: 8rem 2rem 8rem;
  }
  .mv_bread {
    display: none;
  }
  .bread ol li + li {
    margin-left: 2rem;
  }
  .bread ol li + li::before {
    left: -1.4rem;
    top: -.2rem;
  }
  .bread ol li a {
    font-size: 1.2rem;
  }
  .bread ol li:last-of-type a {
    max-width: 16rem;
  }
}

/* ---------------------------------------------------------------------------
//  footer01
--------------------------------------------------------------------------- */
footer {
  background: #76b8e6;
  color: #fff;
  position: relative;
  z-index: 4;
}
.footer01 {
  padding: 6.8rem 0;
}
.footer01 .wrap01 {
  display: flex;
  justify-content: space-between;
}
.footer01 .wrap01 .contents01 {
  padding-top: 12.2rem;
  position: relative;
  width: 38.7rem;
}
.footer01 .wrap01 .contents01 .deco {
  left: -1rem;
  position: absolute;
  top: -18.8rem;
  width: 42.6rem;
}
.footer01 .wrap01 .contents01 .logo {
  display: block;
  position: relative;
  width: 15.56rem;
}
.footer01 .wrap01 .contents01 .logo:hover {
  opacity: .7;
}
.footer01 .wrap01 .contents01 .ttl {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: .1em;
  margin-top: 2.2rem;
  position: relative;
}
.footer01 .wrap01 .contents01 .desc {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: calc(30/14);
  margin-top: .8rem;
}
.footer01 .wrap01 .contents01 .license_wrap {
  margin-top: 3rem;
  position: relative;
  display: flex;
  gap: 1rem;
}
.footer01 .wrap01 .contents01 .license_wrap .license{
  position: relative;
  background: #fff;
    width: calc((100% - 1rem) / 2);
}
/* .footer01 .wrap01 .contents01 .license_wrap .license01{
  flex-grow: 2;
  width: calc((100% - 1rem) / 2);
}
.footer01 .wrap01 .contents01 .license_wrap .license02{
  width: 40rem;
} */
 .footer01 .wrap01 .contents01 .license_wrap .license01{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.footer01 .wrap01 .contents01 .license_wrap .license02 span{
  padding: 0 0 1rem;
  font-size: 1rem;
  text-align: center;
  color: #000;
  display: block;
  font-weight: 400;
}
.footer01 .wrap01 .contents01 .linkA {
  bottom: 0;
  color: #53b9ff;
  justify-content: center;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
}
.footer01 .wrap01 .contents01 .linkA::before, .footer01 .wrap01 .contents01 .linkA::after {
  background: #53b9ff;
  display: none;
}
.footer01 .wrap01 .contents01 .linkA span {
  display: flex;
  font-size: 1.4rem;
  justify-items: center;
  align-items: center;
}
.footer01 .wrap01 .contents01 .linkA span img {
  margin-right: .7rem;
  width: 1.88rem;
}
.footer01 .wrap01 .contents02 {
  width: calc(100% - 44.2rem);
}

.footer01 .wrap01 .contents02 .content01 {
  display: flex;
  font-size: 1.4rem;
  font-weight: 500;
  justify-content: space-between;
  line-height: calc(27/14);
  white-space: nowrap;
}
.footer01 .wrap01 .contents02 .content01 .group > dt {
  font-size: 1.8rem;
  font-weight: bold;
}
.footer01 .wrap01 .contents02 .content01 .group > dd + dt {
  margin-top: 3rem;
}
.footer01 .wrap01 .contents02 .content01 .group > dd > dl > dt {
  color: #006db9;
}
.footer01 .wrap01 .contents02 .content01 .group > dd > dl + dl {
  margin-top: 1rem;
}
.footer01 .wrap01 .contents02 .content01 .group > dd {
  padding-left: .5rem;
}
.footer01 .wrap01 .contents02 .content01 .group a {
  align-items: center;
  display: flex;
}
.footer01 .wrap01 .contents02 .content01 .group a:hover {
  opacity: .7;
}
.footer01 .wrap01 .contents02 .content01 .group a[target='_blank']::before {
  background-image: url(../img/common/icon_out.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.25rem;
  margin-right: .5rem;
  position: relative;
  top: .2rem;
  width: 1.25rem;
}
@media screen and (max-width:768px) {
  .footer01 {
    padding: 0 2rem 6rem;
  }
  .footer01 .wrap01 {
    display: block;
  }
  .footer01 .wrap01 .contents01 {
    padding-top: 20rem;
    width: 100%;
  }
  .footer01 .wrap01 .contents01 .deco {
    top: -5.7rem;
    width: 36rem;
  }
  .footer01 .wrap01 .contents01 .ttl {
    margin-top: 1.2rem;
  }
  .footer01 .wrap01 .contents01 .license_wrap {
    margin-top: 2rem;
    flex-direction: column;gap: 2rem;
  }
  .footer01 .wrap01 .contents01 .license_wrap .license{
  width: 100%!important;
}
.footer01 .wrap01 .contents01 .license_wrap .license02 span{
  padding: 0 0 2rem;
  font-size: 1.4rem;
}
  .footer01 .wrap01 .contents01 .linkA {
    bottom: 1.5rem;
  }
  .footer01 .wrap01 .contents02 {
    display: none;
    margin-top: 4rem;
    width: 100%;
  }
  .footer01 .wrap01 .contents02 .content01 {
    display: block;
    font-size: 1.4rem;
  }
  .footer01 .wrap01 .contents02 .content01 .group > dt {
    font-weight: bold;
    margin-top: 3rem;
  }
  .footer01 .wrap01 .contents02 .content01 .group > dd > dl + dl {
    margin-top: 1rem;
  }
  .footer01 .wrap01 .contents02 .content01 .group > dd {
    padding-left: 1.8rem;
  }
  .footer01 .wrap01 .contents02 .content01 .group:last-of-type > dd {
    padding-left: 0;
  }
  .footer01 .wrap01 .contents02 .content01 .group a[target='_blank']::before {
    top: 0rem;
  }
}


/* ---------------------------------------------------------------------------
//  footer02
--------------------------------------------------------------------------- */
.footer02 .bnr_wrap {
  border-bottom: 1px solid #fff;
  border-top: 1px solid #fff;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 1rem;
  justify-content: center;
  padding: 5.3rem 0;
}
.footer02 .bnr_wrap .bnr {
  width: calc((100% - 8rem) / 5);
}
.footer02 .bnr_wrap .bnr:hover {
  opacity: .7;
}
.footer02 .copyright {
  font-size: 1.4rem;
  font-weight: 400;
  padding: 6rem 0;
  text-align: center;
}
@media screen and (max-width:768px) {
  .footer02 .bnr_wrap {
    justify-content: flex-start;
    padding: 6rem 2rem;
  }
  .footer02 .bnr_wrap .bnr {
    width: calc((100% - 1rem) / 2);
  }
  .footer02 .copyright {
    font-size: 1.4rem;
    font-weight: 400;
    padding: 4rem 0;
    text-align: center;
  }
}

/* ---------------------------------------------------------------------------
//  bottom_menu
--------------------------------------------------------------------------- */
.bottom_menu {
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 998;
}
.bottom_menu a {
  align-items: center;
  display: flex;
  height: 6rem;
  justify-content: center;
}
.bottom_menu .btn01, .bottom_menu .btn02 {
  background-image: url(../img/common/arrow02.png);
  background-position: center right 1rem;
  background-repeat: no-repeat;
  background-size: .9rem;
  color: #fff;
  padding-bottom: .2rem;
  padding-right: .7rem;
  width: calc((100% - 6rem) / 2);
}
.bottom_menu .btn01 {
  background-color: #4b7746;
}
.bottom_menu .btn02 {
  background-color: #96b955;
}
.bottom_menu .btn03 {
  background: #ba5b5e;
  width: 6rem;
}
.bottom_menu .btn03 img {
  width: 2.6rem;
}
@media screen and (max-width:768px) {
  .bottom_menu {
    display: flex;
  }
}



/* ---------------------------------------------------------------------------
//  cta_group
--------------------------------------------------------------------------- */
.cta_group {
  background: #fff;
  padding: 12rem 3rem 0;
  position: relative;
}
.cta_group .cta01 {
  padding-top: 6rem;
  position: relative;
}
.cta_group .cta01 .bg {
  height: 51.3rem;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
}
.cta_group .cta01 .bg span {
  background: #006db9;
  height: 51.3rem;
  position: absolute;
  width: 100%;
  z-index: 2;
}
.cta_group .cta01 .bg img {
  height: 51.3rem;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}
.cta_group .cta01 .bg span.aos-animate {
  opacity: .5;
}
.cta_group .cta01 .inner {
  margin: 0 auto;
  max-width: 114rem;
  padding: 0 3rem;
  position: relative;
  z-index: 3;
}
.cta_group .cta01 .ttl {
  color: #fff;
  font-size: 3rem;
  font-weight: 900;
  position: relative;
  text-align: center;
  z-index: 3;
}
.cta_group .cta01 .links {
  display: flex;
  gap: 1.3rem;
  margin-top: 5.5rem;
  position: relative;
  z-index: 3;
}
.cta_group .cta01 .links .link {
  background: #fff;
  padding: 3rem;
  position: relative;
  width: calc((100% - 1.3rem) / 2);
}
.cta_group .cta01 .links .link:hover {
  background: #53b9ff;
}
.cta_group .cta01 .links .link:hover * {
  color: #fff!important;
}
.cta_group .cta01 .links .link::before {
  background-color: #53b9ff;
  background-image: url(../img/cta/arrow01.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: .75rem;
  border: solid .2rem #fff;
  border-radius: 100%;
  bottom: 0;
  content: '';
  height: 4.5rem;
  margin: auto;
  position: absolute;
  right: 3rem;
  top: 0;
  transition: .2s;
  width: 4.5rem;
}
.cta_group .cta01 .links .link:hover:before {
  height: 6.5rem;
  right: 2rem;
  width: 6.5rem;
}
.cta_group .cta01 .links .link .head {
  padding-left: 7.5rem;
  position: relative;
}
.cta_group .cta01 .links .link .head .icon {
  bottom: 0;
  left: 0;
  margin: auto;
  position: absolute;
  top: 0;
  width: 5.9rem;
}
.cta_group .cta01 .links .link .head .sub .jp {
  color: #006db9;
  font-size: 3rem;
  font-weight: bold;
  transition: .2s;
}
.cta_group .cta01 .links .link .head .sub .eng {
  color: #53b9ff;
  display: block;
  font-size: 1.8rem;
  font-weight: 400;
  margin-top: .5rem;
  transition: .2s;
}
.cta_group .cta01 .links .link .desc {
  font-size: 1.4rem;
  line-height: calc(23/14);
  margin-top: 1.6rem;
  transition: .2s;
}
.cta_group .cta02 {
  background: #fff;
  margin: 3rem auto 0;
  max-width: 114rem;
  padding: 3rem;
  position: relative;
  z-index: 4;
}
.cta_group .cta02 .bnr01 {
  color: #fff;
  display: flex;
  flex-direction: column;
  height: 21.8rem;
  justify-content: center;
  margin-top: 3rem;
  overflow: hidden;
  padding: 0 6.7rem;
  position: relative;
  transition: .2s;
}
.cta_group .cta02 .bnr01::before {
  background: #000;
  content: '';
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: .2s;
  width: 100%;
  z-index: 1;
}
.cta_group .cta02 .bnr01:hover {
  padding-left: 12rem;
}
.cta_group .cta02 .bnr01:hover:before {
  opacity: .3;
}
.cta_group .cta02 .bnr01 .bg img {
  height: 21.8rem;
  left: 0;
  max-width: inherit;
  object-fit: cover;
  position: absolute;
  top: 0;
  transition: .2s;
  width: 100%;
}
/* .cta_group .cta02 .bnr01:hover .bg img{
transform: scale(1.1);
} */
.cta_group .cta02 .bnr01 .sub {
  position: relative;
  z-index: 2;
}
.cta_group .cta02 .bnr01 .sub .eng {
  font-size: 6rem;
  font-weight: 400;
}
.cta_group .cta02 .bnr01 .sub .jp {
  display: block;
  font-size: 1.9rem;
  font-weight: bold;
}
.cta_group .cta02 .bnr01 .desc {
  font-size: 2rem;
  margin-top: 3rem;
  position: relative;
  z-index: 2;
}
.cta_group .cta02 .contact_area {
  display: flex;
  gap: .1rem;
}
.cta_group .cta02 .contact_area > * {
  width: calc((100% - .2rem) / 3);
}
.cta_group .cta02 .contact_area .sub {
  align-items: center;
  background: #006db9;
  color: #fff;
  display: flex;
  font-size: 6rem;
  font-weight: 400;
  height: 22rem;
  justify-content: center;
}
.cta_group .cta02 .contact_area .link {
  align-items: center;
  background: #d0ecfa;
  display: flex;
  flex-direction: column;
  padding-top: 4.6rem;
}
.cta_group .cta02 .contact_area .link .icon {
  position: relative;
  transition: .2s;
  width: 5.5rem;
  z-index: 2;
}
.cta_group .cta02 .contact_area .link:hover .icon {
  transform: scale(1.3);
}
.cta_group .cta02 .contact_area .link .num {
  font-size: 2.2rem;
  font-weight: 400;
  margin-top: 2rem;
}
.cta_group .cta02 .contact_area .link .info {
  font-size: 1.2rem;
  margin-top: .5rem;
}
.cta_group .cta02 .contact_area .link .cf {
  font-size: 1.8rem;
  font-weight: 400;
  margin-top: 2.5rem;
}
@media screen and (max-width:768px) {
  .cta_group {
    padding: 8rem 0 0;
  }
  .cta_group .cta01 {
    padding-top: 6rem;
  }
  .cta_group .cta01 .bg {
    height: 25rem;
  }
  .cta_group .cta01 .bg span {
    height: 25rem;
  }
  .cta_group .cta01 .bg img {
    height: 25rem;
  }
  .cta_group .cta01 .inner {
    padding: 0 2rem;
  }
  .cta_group .cta01 .ttl {
    font-size: 2.2rem;
  }
  .cta_group .cta01 .links {
    flex-direction: column;
    gap: 2rem;
    margin-top: 4rem;
  }
  .cta_group .cta01 .links .link {
    border: solid .2rem #53b9ff;
    padding: 2rem;
    width: 100%;
  }
  .cta_group .cta01 .links .link::before {
    border: none;
    height: 3.4rem;
    right: -1.7rem;
    width: 3.4rem;
  }
  .cta_group .cta01 .links .link:hover:before {
    height: 3.4rem;
    right: -1.7rem;
    width: 3.4rem;
  }
  .cta_group .cta01 .links .link .head {
    padding-left: 6rem;
    position: relative;
  }
  .cta_group .cta01 .links .link .head .icon {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    width: 5rem;
  }
  .cta_group .cta01 .links .link .head .sub .jp {
    font-size: 2.2rem;
  }
  .cta_group .cta01 .links .link .head .sub .eng {
    font-size: 1.6rem;
  }
  .cta_group .cta02 {
    padding: 0 2rem;
  }
  .cta_group .cta02 .bnr01 {
    background-color: #0a84d1;
    background-image: url(../img/cta/recuit_bg.jpg);
    background-position: right 15% bottom;
    background-repeat: no-repeat;
    background-size: 130rem;
    display: block;
    height: 45rem;
    padding: 2rem;
  }
  .cta_group .cta02 .bnr01:hover {
    padding-left: 2rem;
  }
  .cta_group .cta02 .bnr01 .bg img {
    display: none;
  }
  .cta_group .cta02 .bnr01 .sub .eng {
    font-size: 5rem;
  }
  .cta_group .cta02 .bnr01 .sub .jp {
    font-size: 1.8rem;
  }
  .cta_group .cta02 .bnr01 .desc {
    font-size: 2rem;
    line-height: 1.7;
    margin-top: 2rem;
  }
  .cta_group .cta02 .contact_area {
    flex-wrap: wrap;
    margin-top: 3rem;
  }
  .cta_group .cta02 .contact_area > * {
    width: calc((100% - .1rem) / 2);
  }
  .cta_group .cta02 .contact_area .sub {
    font-size: 4rem;
    height: auto;
    padding: 1rem;
    width: 100%;
  }
  .cta_group .cta02 .contact_area .link {
    height: 17rem;
    padding-top: 2rem;
    text-align: center;
  }
  .cta_group .cta02 .contact_area .link .icon {
    position: relative;
    transition: .2s;
    width: 5.5rem;
    z-index: 2;
  }
  .cta_group .cta02 .contact_area .link:hover .icon {
    transform: scale(1.3);
  }
  .cta_group .cta02 .contact_area .link .num {
    font-size: 2rem;
    margin-top: 1.5rem;
  }
  .cta_group .cta02 .contact_area .link .info {
    font-size: 1.2rem;
    line-height: 1.5;
  }
  .cta_group .cta02 .contact_area .link .cf {
    margin-top: 1.8rem;
  }
}
