html {
  font-size: calc(100vw / 1440 * 10);
  /* font-size: 62.5%; */
  scroll-behavior: smooth;
}
/* @media screen and (min-width:1440px) {
  html {
    font-size: 62.5%;
  }
} */
/* @media screen and (min-width:1440px) {
  html {
    
  }
} */

@media screen and (max-width:768px) {
  html {
    font-size: calc(100vw / 390 * 10);
  }
}
body {
  color: #000;
  font-family: 'Noto Sans JP', sans-serif;
  font-optical-sizing: auto;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  min-height: 300vh;
}
/* .main_container,footer{
  transform: translate(-5rem, 10rem);
  transition: .4s;
  opacity: 0;
}
.start .main_container,.start footer{
  transform: translate(0, 0);
  opacity: 1;

} */
@media screen and (max-width: 768px) {
  body::before {
    background-size: 50rem;
  }
}
.Shippori {
  font-family: 'Shippori Mincho', serif;
  font-weight: 400;
}

.Akshar {
  font-family: 'Akshar', sans-serif;
  font-weight: 600;
}
.body_container {
  overflow: hidden;
}
.max1180 {
  margin: 0 auto;
  max-width: 118rem;
}
.max1360 {
  margin: 0 auto;
  max-width: 136rem;
}
img {
  height: auto;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .body_container {
    min-width: 100%;
  }
}
a {
  transition: .3s;
}
.anchor {
  display: flex;
  margin-top: -8rem;
  padding-top: 8rem;
}
@media screen and (max-width: 768px) {
  .anchor {
    margin-top: -4.7rem;
    padding-top: 4.7rem;
  }
}
/* .scroll-hint-icon-white {
  background: gray;
  color: #fff;
}
.scroll-hint-text{
  color: #fff!important;
}
.scroll-hint-icon:before {
  color: #fff!important;
}
.scroll-hint-icon:after {
  color: #fff!important;
} */
.up01 {
  opacity: 0;
  transform: translate(-5rem, 10rem);
  transition: all .4s ease;
}
.up01.show {
  opacity: 1;
  transform: translate(0, 0);
}
.up02 {
  opacity: 0;
  transform: translate(0, 10rem);
  transition: all .4s ease;
}
.up02.show {
  opacity: 1;
  transform: translate(0, 0);
}
.down {
  opacity: 0;
  transform: translate(5rem, -10rem);
  transition: all .4s ease;
}
.down.show {
  opacity: 1;
  transform: translate(0, 0);
}
.left01 {
  opacity: 0;
  transform: translate(10rem, 0);
  transition: all .6s ease;
}
.left01.show {
  opacity: 1;
  transform: translate(0, 0);
}
.right01 {
  opacity: 0;
  transform: translate(-10rem, 0);
  transition: all .6s ease;
}
.right01.show {
  opacity: 1;
  transform: translate(0, 0);
}
.hide01 {
  opacity: 0;
  transition: all .4s ease;
}
.hide01.show {
  opacity: 1;
}
/* ---------------------------------------------------------------------------
//  MV
--------------------------------------------------------------------------- */
.space01 {
  height: 10.5rem;
}
.MV {
  height: calc(100vh + 44rem);
  height: 130.4rem;
  padding-top: 53.3rem;
  position: relative;
  transition: .4s;
}
.MV .img {
  background-image: url(../img/MV.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 144rem;
  bottom: -5rem;
  height: 130.4rem;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transform: translate(-5rem, 10rem);
  transition: all .4s ease;
  visibility: hidden;
  width: 100%;
}
.MV .img.show {
  opacity: 1;
  transform: translate(0, 0);
  visibility: visible;
}
.MV h1 {
  font-family: 'Shippori Mincho';
  font-size: 10.2rem;
  font-style: normal;
  font-weight: 400;
  margin-right: 6rem;
  opacity: 0;
  text-align: right;
  transform: translate(5rem, -10rem);
  transition: all .4s ease;
  visibility: hidden;
}
.MV h1.show {
  opacity: 1;
  transform: translate(0, 0);
  visibility: visible;
}
.MV h1 span {
  color: #005faf;
}
@media screen and (max-width: 768px) {
  .MV {
    height: 35rem;
    padding-top: 0rem;
  }
  .MV .img {
    background-image: url(../img/MV_sp.jpg);
    background-position: top 10rem center;
    background-size: 100%;
    height: 35rem;
  }
  .MV h1 {
    font-size: 3.5rem;
    font-weight: 400;
    margin-right: 0;
    text-align: center;
  }
}
/* ---------------------------------------------------------------------------
//  section01
--------------------------------------------------------------------------- */
.section01 {
  margin-top: -38rem;
  position: relative;
  z-index: 2;
}
.section01 .contents .content {
  display: flex;
  justify-content: space-between;
}
.section01 .contents .content + .content {
  margin-top: 8rem;
}
.section01 .contents .content .txts {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 55rem;
}
.section01 .contents .content02 .txts {
  order: 2;
  width: 48rem;
}
.section01 .contents .content .txts .eng {
  font-family: Akshar;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 600;
  text-transform: uppercase;
}
.section01 .contents .content .txts .eng span {
  color: #005faf;
}
.section01 .contents .content .txts .ttl {
  font-family: 'Shippori Mincho';
  font-size: 4.6rem;
  font-style: normal;
  font-weight: 400;
  margin-top: 1rem;
}
.section01 .contents .content .txts .ttl span {
  color: #005faf;
  text-decoration-line: underline;
  text-decoration-skip-ink: none;
  text-decoration-style: solid;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.section01 .contents .content .txts .desc {
  color: #404040;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: calc(40/18);
  margin-top: 2rem;
  text-align: justify;
}
.section01 .contents .content01 .imgs {
  height: 44.7rem;
  position: relative;
  width: 50%;
}
.section01 .contents .content01 .imgs .img {
  background-image: url(../img/01_img01.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 44.6rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 67rem;
}
.section01 .contents .content01 .imgs .deco {
  background-image: url(../img/01_deco01.png);
  bottom: 5rem;
  box-shadow: -1rem 1rem 0 0 rgba(124, 153, 168, .15);
  height: 21.8rem;
  mix-blend-mode: multiply;
  position: absolute;
  right: 8rem;
  width: 3.7rem;
}
.section01 .contents .content02 .imgs {
  height: 61.7rem;
  position: relative;
  width: 50%;
}
.section01 .contents .content02 .imgs .img {
  background-image: url(../img/01_img02.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 61.7rem;
  left: -9rem;
  position: absolute;
  top: 0;
  width: 71.8rem;
}
.section01 .contents .content02 .imgs .deco {
  background-image: url(../img/01_deco02.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 8rem;
  content: '';
  height: 23.3rem;
  position: absolute;
  right: 0;
  width: 56.8rem;
}
.section01 .contents .content02 .imgs {
  height: 61.7rem;
}
.section01 .contents .content02 .imgs .img {
  background-image: url(../img/01_img02.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 61.7rem;
  left: -9rem;
  position: absolute;
  top: 0;
  width: 71.8rem;
}
.section01 .contents .content02 .imgs .deco {
  background-image: url(../img/01_deco02.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 8rem;
  content: '';
  height: 23.3rem;
  mix-blend-mode: multiply;
  position: absolute;
  right: 0;
  width: 56.8rem;
}
.section01 .contents .content03 .imgs {
  height: 44.7rem;
  position: relative;
  width: 50%;
}
.section01 .contents .content03 .imgs .img {
  background-image: url(../img/01_img03.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 44.6rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 67rem;
}
.section01 .contents .content03 .imgs .deco {
  background-image: url(../img/01_deco01.png);
  bottom: 14rem;
  box-shadow: -1rem 1rem 0 0 rgba(124, 153, 168, .15);
  height: 21.8rem;
  left: 14rem;
  mix-blend-mode: multiply;
  position: absolute;
  width: 3.7rem;
}
@media screen and (max-width: 768px) {
  .section01 {
    margin-top: 0;
    position: relative;
    z-index: 2;
  }
  .section01 .contents .content {
    align-items: center;
    flex-direction: column;
  }
  .section01 .contents .content .txts {
    padding: 0 1.5rem 2rem;
    width: 100%;
  }
  .section01 .contents .content02 .txts {
    order: -1;
    width: 100%;
  }
  .section01 .contents .content .txts .eng {
    text-align: center;
  }
  .section01 .contents .content .txts .ttl {
    font-size: 2.4rem;
    text-align: center;
  }
  .section01 .contents .content .txts .desc {
    font-size: 1.4rem;
  }
  .section01 .contents .content01 .imgs {
    height: calc(44.7rem * .6);
    left: -7rem;
    width: 100%;
  }
  .section01 .contents .content01 .imgs .img {
    background-size: contain;
    height: 100%;
    width: 100%;
  }
  .section01 .contents .content01 .imgs .deco {
    bottom: 3rem;
    height: 11.6rem;
    right: 9rem;
    width: 2rem;
  }
  .section01 .contents .content02 .imgs {
    height: calc(61.7rem * .6);
    width: 110%;
  }
  .section01 .contents .content02 .imgs .img {
    background-size: 100%;
    height: 100%;
    left: 0;
    width: 100%;
  }
  .section01 .contents .content02 .imgs .deco {
    bottom: 2rem;
    height: 20rem;
    right: 3rem;
    width: 36rem;
  }
  .section01 .contents .content03 .imgs {
    height: calc(44.7rem * .6);
    position: relative;
    right: -7rem;
    width: 100%;
  }
  .section01 .contents .content03 .imgs .img {
    background-size: contain;
    height: 100%;
    width: 100%;
  }
  .section01 .contents .content03 .imgs .deco {
    bottom: 8.5rem;
    height: 11.6rem;
    left: 8.5rem;
    width: 2rem;
  }
}
/* ---------------------------------------------------------------------------
//  section02
--------------------------------------------------------------------------- */
.section02 {
  background-image: url(../img/02_img01.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 144rem;
  margin-top: 10.7rem;
  padding-top: 21.2rem;
  position: relative;
  z-index: 2;
}
.section02 .wrap01 {
  text-align: center;
}
.section02 .wrap01 .ttls .eng {
  color: #005faf;
  font-family: Akshar;
  font-size: 2.6rem;
  font-style: normal;
  font-weight: 600;
  text-transform: uppercase;
}
.section02 .wrap01 .ttls .ttl {
  font-family: 'Shippori Mincho';
  font-size: 4.6rem;
  font-style: normal;
  font-weight: 400;
  margin-top: 1rem;
}
.section02 .wrap01 .ttls .ttl span {
  color: #005faf;
  text-decoration-line: underline;
  text-decoration-skip-ink: none;
  text-decoration-style: solid;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.section02 .wrap01 .movie {
  background: rgba(255, 255, 255, .90);
  border: 1px solid #e2e2e2;
  border-radius: 1.5rem;
  margin: 20.6rem auto 0;
  padding: 4rem;
  width: 87.7rem;
}
.section02 .wrap01 .movie video {
  background: #f7f7f7;
  height: auto;
  max-width: 100%;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .section02 {
    background-position: left top;
    /* margin-top: 10.7rem; */
    background-size: 120%;
    padding: 21rem 1.5rem 0;
  }
  .section02 .wrap01 {
    background: #fff;
    padding-top: 3rem;
  }
  .section02 .wrap01 .ttls .eng {
    font-size: 1.6rem;
  }
  .section02 .wrap01 .ttls .ttl {
    font-size: 2.4rem;
  }

  .section02 .wrap01 .movie {
    border-radius: 0;
    margin: 3rem auto 0;
    padding: 0;
    width: 100%;
  }
}
/* ---------------------------------------------------------------------------
//  section03
--------------------------------------------------------------------------- */
.section03 {
  background: #f2f5ee;
  margin-top: 22rem;
  position: relative;
  z-index: 2;
}
.section03 > .image {
  background-image: url(../img/03_img01.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  height: 39.1rem;
  position: absolute;
  right: -12rem;
  top: -3rem;
  width: 60.5rem;
}
.section03 .wrap01 {
  padding: 8rem 0 10.7rem;
}
.section03 .wrap01 .ttls {
  text-align: center;
}
.section03 .wrap01 .ttls .eng {
  color: #005faf;
  font-family: Akshar;
  font-size: 2.6rem;
  font-style: normal;
  font-weight: 600;
  text-transform: uppercase;
}
.section03 .wrap01 .ttls .ttl {
  font-family: 'Shippori Mincho';
  font-size: 4.6rem;
  font-style: normal;
  font-weight: 400;
  margin-top: 1rem;
}
.section03 .wrap01 .ttls .ttl span {
  color: #005faf;
  text-decoration-line: underline;
  text-decoration-skip-ink: none;
  text-decoration-style: solid;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.section03 .wrap01 .cards {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin-top: 8rem;
}
.section03 .wrap01 .cards .card {
  align-items: center;
  background: #fff;
  border-radius: 1.5rem;
  display: flex;
  flex-direction: column;
  padding: 3.5rem 5rem;
  width: calc((100% - 4rem) / 3);
}
.section03 .wrap01 .cards .card02 {
  margin-right: calc((100% - 4rem) / 3);
}
.section03 .wrap01 .cards .card .sub {
  align-items: center;
  display: flex;
  gap: 2.5rem;
}
.section03 .wrap01 .cards .card .sub span {
  align-items: center;
  background: #005faf;
  border-radius: .5rem;
  color: #fff;
  display: flex;
  font-size: 2.5rem;
  font-weight: 500;
  height: 4.2rem;
  justify-content: center;
  width: 19.4rem;
}
.section03 .wrap01 .cards .card .sub::after {
  background-position: center;
  background-repeat: no-repeat;
  content: '';
  height: 4.5rem;
  width: 6.1rem;
}
.section03 .wrap01 .cards .card01 .sub::after {
  background-image: url(../img/03_icon01.png);
  background-size: 6.8rem;
}
.section03 .wrap01 .cards .card02 .sub::after {
  background-image: url(../img/03_icon02.png);
  background-size: 4.2rem;
}
.section03 .wrap01 .cards .card03 .sub::after {
  background-image: url(../img/03_icon03.png);
  background-size: 4.5rem;
}
.section03 .wrap01 .cards .card04 .sub::after {
  background-image: url(../img/03_icon04.png);
  background-size: 4.25rem;
}
.section03 .wrap01 .cards .card05 .sub::after {
  background-image: url(../img/03_icon05.png);
  background-size: 4.25rem;
}
.section03 .wrap01 .cards .card .txts {
  text-align: center;
}
.section03 .wrap01 .cards .card .txts .desc {
  color: #000;
  font-family: 'Shippori Mincho';
  font-size: 3.6rem;
  font-style: normal;
  font-weight: 700;
}
.section03 .wrap01 .cards .card .txts .desc strong {
  background: linear-gradient(90deg, #004d8f 0%, #6fc3f8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: 7.9rem;
  mix-blend-mode: plus-darker;
  -webkit-text-fill-color: transparent;
}
.section03 .wrap01 .cards .card .txts .sup {
  font-size: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .section03 {
    margin-top: 22rem;
  }
  .section03 > .image {
    background-image: url(../img/03_img01.png);
    background-position: center right;
    height: calc(39.1rem * .6);
    right: 0;
    top: -10rem;
    width: 100%;
  }
  .section03 .wrap01 {
    padding: 14rem 1.5rem 10.7rem;
  }
  .section03 .wrap01 .ttls .eng {
    font-size: 1.6rem;
  }
  .section03 .wrap01 .ttls .ttl {
    font-size: 2.4rem;
  }
  .section03 .wrap01 .cards {
    gap: 1rem;
    margin-top: 3rem;
  }
  .section03 .wrap01 .cards .card {
    border-radius: .5rem;
    padding: 1rem 1rem 1.5rem;
    width: calc((100% - 1rem) / 2);
  }
  .section03 .wrap01 .cards .card01 {
    flex-direction: row;
    width: 100%;
  }
  .section03 .wrap01 .cards .card01 .txts {
    margin-left: auto;
    width: 50%;
  }
  .section03 .wrap01 .cards .card02 {
    margin-right: 0;
  }
  .section03 .wrap01 .cards .card .sub {
    gap: 1rem;
  }
  .section03 .wrap01 .cards .card .sub span {
    border-radius: .25rem;
    font-size: 1.4rem;
    height: 2.3rem;
    width: 11rem;
  }
  .section03 .wrap01 .cards .card .sub::after {
    height: 3.4rem;
    width: 3.4rem;
  }
  .section03 .wrap01 .cards .card01 .sub::after {
    background-size: calc(6.8rem * .5);
  }
  .section03 .wrap01 .cards .card02 .sub::after {
    background-size: calc(4.2rem * .5);
  }
  .section03 .wrap01 .cards .card03 .sub::after {
    background-size: calc(4.5rem * .5);
  }
  .section03 .wrap01 .cards .card04 .sub::after {
    background-size: calc(4.25rem * .5);
  }
  .section03 .wrap01 .cards .card05 .sub::after {
    background-size: calc(4.25rem * .5);
  }
  .section03 .wrap01 .cards .card .txts .desc {
    font-size: 1.9rem;
    line-height: 1.2;
  }
  .section03 .wrap01 .cards .card .txts .desc strong {
    font-size: 4.3rem;
  }
  .section03 .wrap01 .cards .card01 .txts .desc {
    font-size: 3rem;
  }
  .section03 .wrap01 .cards .card01 .txts .desc strong {
    font-size: 6.7rem;
  }
  .section03 .wrap01 .cards .card .txts .sup {
    font-size: 1.2rem;
  }
}
/* ---------------------------------------------------------------------------
//  section04
--------------------------------------------------------------------------- */
.section04 {
  background-attachment: fixed;
  background-image: url(../img/04_img01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  z-index: 2;
}
.section04::before {
  background: linear-gradient(-90deg, rgba(0, 220, 224, .80) 0%, rgba(19, 95, 175, .80) 47.5%, rgba(19, 95, 175, .80) 100%);
  content: '';
  height: 100%;
  left: 0;
  opacity: .9237;
  position: absolute;
  top: 0;
  width: 100%;
}
.section04 > .image {
  background-image: url(../img/04_img02.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -22.4rem;
  height: 50.7rem;
  left: -12rem;
  position: absolute;
  width: 67.7rem;
  z-index: 2;
}
.section04 .wrap01 {
  display: flex;
  padding: 12.3rem 0;
  position: relative;
}
.section04 .wrap01 .ttls {
  color: #fff;
  text-align: center;
  width: calc(100% - 77.5rem);
}
.section04 .wrap01 .ttls .eng {
  font-family: Akshar;
  font-size: 2.6rem;
  font-style: normal;
  font-weight: 600;
  text-transform: uppercase;
}
.section04 .wrap01 .ttls .ttl {
  font-family: 'Shippori Mincho';
  font-size: 4.6rem;
  font-style: normal;
  font-weight: 400;
  margin-top: 1rem;
}
.section04 .wrap01 .cards {
  display: flex;
  gap: 2rem;
  width: 77.5rem;
}
.section04 .wrap01 .cards .left {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 43.5rem;
}
.section04 .wrap01 .cards .right {
  width: calc(100% - 45.5rem);
}
.section04 .wrap01 .cards .card {
  background: #fff;
  border-radius: 1.5rem;
  color: #000;
  padding: 3.6rem 2rem;
  white-space: nowrap;
}
.section04 .wrap01 .cards .card04 {
  height: 100%;
}
.section04 .wrap01 .cards .card dt {
  align-items: center;
  display: flex;
  font-size: 2rem;
  font-weight: 500;
  gap: 2rem;
}
.section04 .wrap01 .cards .card04 dt {
  gap: 1rem;
}
.section04 .wrap01 .cards .card dt::before {
  background-position: center;
  background-repeat: no-repeat;
  content: '';
  height: 7.8rem;
  width: 9rem;
}
.section04 .wrap01 .cards .card dt span {
  width: calc(100% - 12rem);
}
.section04 .wrap01 .cards .card01 dt::before {
  background-image: url(../img/04_icon01.png);
  background-size: 8.8rem;
}
.section04 .wrap01 .cards .card02 dt::before {
  background-image: url(../img/04_icon02.png);
  background-size: 7.1rem;
}
.section04 .wrap01 .cards .card03 dt::before {
  background-image: url(../img/04_icon03.png);
  background-size: 5.55rem;
}
.section04 .wrap01 .cards .card04 dt::before {
  background-image: url(../img/04_icon04.png);
  background-size: 7rem;
}
.section04 .wrap01 .cards .card04 dd {
  font-size: 1.8rem;
  font-weight: 500;
  padding-left: 1rem;
}
.section04 .wrap01 .cards .card04 dd ul li {
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .section04 {
    background-attachment: inherit;
    background-position: right -29rem top -24rem;
    background-size: 144rem;
  }
  .section04 > .image {
    bottom: -21rem;
    height: calc(50.7rem * .5);
    left: -2.8rem;
    width: 100%;
  }
  .section04 .wrap01 {
    display: block;
    padding: 8rem 1.5rem;
  }
  .section04 .wrap01 .ttls {
    width: 100%;
  }
  .section04 .wrap01 .ttls .eng {
    font-size: 1.6rem;
  }
  .section04 .wrap01 .ttls .ttl {
    font-size: 2.4rem;
  }
  .section04 .wrap01 .cards {
    flex-direction: column;
    gap: 1.2rem;
    margin-top: 3rem;
    width: 100%;
  }
  .section04 .wrap01 .cards .left {
    gap: 1.2rem;
    width: 100%;
  }
  .section04 .wrap01 .cards .right {
    width: 100%;
  }
  .section04 .wrap01 .cards .card {
    border-radius: .5rem;
    padding: 1rem 1.5rem;
  }
  .section04 .wrap01 .cards .card04 {
    height: 100%;
    padding-bottom: 2.5rem;
  }
  .section04 .wrap01 .cards .card dt {
    font-size: 1.6rem;
    gap: 1rem;
  }
  .section04 .wrap01 .cards .card dt::before {
    background-position: center;
    background-repeat: no-repeat;
    content: '';
    height: 7.8rem;
    width: 9rem;
  }
  .section04 .wrap01 .cards .card dt span {
    width: calc(100% - 10rem);
  }
  .section04 .wrap01 .cards .card01 dt::before {
    background-size: calc(8.8rem * .85);
  }
  .section04 .wrap01 .cards .card02 dt::before {
    background-size: calc(7.1rem * .85);
  }
  .section04 .wrap01 .cards .card03 dt::before {
    background-size: calc(5.55rem * .85);
  }
  .section04 .wrap01 .cards .card04 dt::before {
    background-size: calc(7rem * .85);
  }
  .section04 .wrap01 .cards .card04 dd {
    font-size: 1.4rem;
    padding-left: 10rem;
  }
  .section04 .wrap01 .cards .card04 dd ul li {
    margin-top: .5rem;
  }
  .section04 .wrap01 .cards .card04 dd ul {
    margin-top: -2.5rem;
  }
}
/* ---------------------------------------------------------------------------
//  section05
--------------------------------------------------------------------------- */
.section05 {
  background: rgba(0, 95, 175, .1);
  position: relative;
  z-index: 2;
}
.section05 .wrap01 {
  padding: 26.5rem 0 8.6rem;
}
.section05 .wrap01 .ttls {
  text-align: center;
}
.section05 .wrap01 .ttls .eng {
  color: #005faf;
  font-family: Akshar;
  font-size: 2.6rem;
  font-style: normal;
  font-weight: 600;
  text-transform: uppercase;
}
.section05 .wrap01 .ttls .ttl {
  color: #000;
  font-family: 'Shippori Mincho';
  font-size: 4.6rem;
  font-style: normal;
  font-weight: 400;
  margin-top: 1rem;
}
.section05 .wrap01 .modal_btns {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 8rem;
}
.section05 .wrap01 .modal_btns .modal_btn {
  background: #005faf;
  border: solid 1px #005faf;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 500;
  padding: 6rem 0;
  position: relative;
  text-align: center;
  transition: .3s;
  width: calc((100% - 1rem) / 3);
}
.section05 .wrap01 .modal_btns .modal_btn:hover {
  background: #fff;
  color: #005faf;
}
.section05 .wrap01 .modal_btns .modal_btn::after {
  background-image: url(../img/modal_open.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 2.4rem;
  margin: auto;
  position: absolute;
  right: 4rem;
  top: 0;
  transition: .3s;
  width: 2.4rem;
}
.section05 .wrap01 .exs {
  border: solid 1px #005faf;
  border-radius: 2rem;
  display: flex;
  gap: 4rem;
  margin-top: 11.1rem;
  padding: 6rem 7rem;
  position: relative;
}
.section05 .wrap01 .exs .sub {
  align-items: center;
  background: #e5eff7;
  color: #005faf;
  display: flex;
  font-size: 2.5rem;
  height: 4.2rem;
  justify-content: center;
  left: 0;
  margin: auto;
  padding: 0 2.5rem;
  position: absolute;
  right: 0;
  top: -2.3rem;
  width: 28rem;
}
.section05 .wrap01 .exs .ex {
  width: calc((100% - 4rem) / 3);
}
.section05 .wrap01 .exs .ex .img {
  aspect-ratio: 38/35;
  overflow: hidden;
}
.section05 .wrap01 .exs .ex .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}
.section05 .wrap01 .exs .ex .txts {
  background: #fff;
  padding: 4rem 3rem;
}
.section05 .wrap01 .exs .ex .txts .h4 {
  color: #000;
  font-family: 'Shippori Mincho';
  font-size: 3.1rem;
  font-style: normal;
  font-weight: 400;
}
.section05 .wrap01 .exs .ex .txts .h4 span {
  color: #005faf;
  text-decoration-line: underline;
  text-decoration-skip-ink: none;
  text-decoration-style: solid;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.section05 .wrap01 .exs .ex .txts .h5 {
  background: #005faf;
  border-radius: 100rem;
  color: #fff;
  display: inline-block;
  margin: 2rem 0;
  padding: .2rem 2rem;
}
.section05 .wrap01 .exs .ex01 .txts .h5 {
  opacity: .4;
}
.section05 .wrap01 .exs .ex02 .txts .h5 {
  opacity: .7;
}
.section05 .wrap01 .exs .ex .txts .p {
  color: #000;
  font-size: 1.6rem;
  line-height: calc(28/16);
}
.modal {
  background: rgba(0, 0, 0, .6);
  display: none;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
}

.modal > .close {
  background-image: url(../img/modal_close.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
  height: 4rem;
  position: absolute;
  right: 1.6rem;
  top: 1.6rem;
  width: 4rem;
}

.modal_wrap {
  background: #f2f5ee;
  border-radius: 1.5rem;
  bottom: 0;
  left: 0;
  margin: auto;
  max-height: calc(100% - 17rem);
  max-width: 118rem;
  overflow-y: auto;
  position: absolute;
  right: 0;
  top: 0;
}
.modal_wrap .h3 {
  background: #005faf;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 500;
  padding: 6rem;
  position: relative;
  text-align: center;
}
.modal_wrap .h3 .close {
  background-image: url(../img/modal_cancel.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  cursor: pointer;
  height: 2.4rem;
  margin: auto;
  position: absolute;
  right: 6rem;
  top: 0;
  width: 2.4rem;
}
.modal_wrap .modal_contents {
  padding: 4rem 9rem 11rem;
}
.modal_wrap .modal_contents .modal_content {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 1.8rem;
  font-weight: 500;
}
.modal_wrap .modal_contents .modal_content + .modal_content {
  margin-top: 7rem;
}
.modal_wrap .modal_contents .modal_content .h4 {
  color: #005faf;
  font-family: 'Shippori Mincho';
  font-size: 3.6rem;
  font-weight: 400;
  margin-bottom: 3rem;
  text-align: center;
}
.modal_wrap .modal_contents .modal_content01 ul li {
  color: #005faf;
  display: flex;
  gap: .5rem;
}
.modal_wrap .modal_contents .modal_content01 ul li + li {
  margin-top: 1rem;
}
.modal_wrap .modal_contents .modal_content01 ul li::before {
  content: '\30FB';
  font-weight: bold;
}
.modal_wrap .modal_contents .modal_content .card {
  background: #fff;
  border-radius: 1.5rem;
  overflow: hidden;
  width: 100%;
}
.modal_wrap .modal_contents .modal_content .card + .card {
  margin-top: 5rem;
}
.modal_wrap .modal_contents .modal_content .card .h5 {
  background: #005faf;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 500;
  padding: 1.5rem 0;
  text-align: center;
}
.modal_wrap .modal_contents .modal_content .card .h5 span {
  display: block;
  font-size: 2rem;
}
.modal_wrap .modal_contents .modal_content .card .txts {
  color: #005faf;
  padding: 5rem;
}
.modal_wrap .modal_contents .modal_content .card .txts .p {
  margin-bottom: 3rem;
}
.modal_wrap .modal_contents .modal_content .card .txts .dl01 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4rem;
}
.modal_wrap .modal_contents .modal_content .card .txts .dl01 dt {
  align-items: center;
  background: #005faf;
  border-radius: .5rem;
  color: #fff;
  display: flex;
  font-weight: 500;
  justify-content: center;
  padding: 2.5rem 0;
  width: 17.8rem;
}
.modal_wrap .modal_contents .modal_content .card .txts .dl01 dd {
  border-bottom: solid 1px;
  border-top: solid 1px;
  padding: 2.5rem 0;
  width: calc(100% - 21.1rem);
}
.modal_wrap .modal_contents .modal_content .card .txts .dl01 dd ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem 5rem;
}
.modal_wrap .modal_contents .modal_content .card .txts .dl01 dd ul li {
  /* width: calc((100% - 6rem) / 4); */
  display: flex;
  gap: .5rem;
}
.modal_wrap .modal_contents .modal_content .card .txts .dl01 dd ul li::before {
  content: '\30FB';
  font-weight: bold;
}
.modal_wrap .modal_contents .modal_content .card .txts .dl02 dt {
  background: #6fc3f8;
  font-weight: 500;
  padding: 1rem;
  text-align: center;
}
.modal_wrap .modal_contents .modal_content .card .txts .dl02 dt + dd {
  margin-top: 3rem;
}
.modal_wrap .modal_contents .modal_content .card .txts .dl02 dd ul li {
  display: flex;
  gap: .5rem;
}
.modal_wrap .modal_contents .modal_content .card .txts .dl02 dd ul li + li {
  margin-top: 1rem;
}
.modal_wrap .modal_contents .modal_content .card .txts .dl02 dd ul li::before {
  content: '\30FB';
  font-weight: bold;
}
.modal_wrap .modal_contents .modal_content .card:has( .card_table) {
  border-radius: 0;
}
.modal_wrap .modal_contents .modal_content .card .txts:has( .card_table) {
  padding: 0;
}
.modal_wrap .modal_contents .modal_content .card .card_table {
  color: #000;
  width: 100%;
}
.modal_wrap .modal_contents .modal_content .card .card_table th, .modal_wrap .modal_contents .modal_content .card .card_table td {
  border: solid 1px #005faf;
  padding: 2rem;
  vertical-align: middle;
}
.modal_wrap .modal_contents .modal_content .card .card_table th {
  background: rgba(0, 95, 175, .1);
  font-weight: 500;
  text-align: center;
  white-space: nowrap;
}
.modal_wrap .modal_contents .modal_content .card .card_table th.sub {
  background: #005faf;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 500;
  text-align: center;
}
.modal_wrap .modal_contents .modal_content .card .card_table td {
  color: #000;
}
.modal_wrap .modal_contents .modal_content .card .card_table .sup {
  display: flex;
  flex-shrink: 0;
}
.modal_wrap .modal_contents .modal_content .card .card_table .sup span {
  display: flex;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .section05 .wrap01 {
    padding: 26.5rem 1.5rem 8rem;
  }
  .section05 .wrap01 .ttls .eng {
    font-size: 1.6rem;
  }
  .section05 .wrap01 .ttls .ttl {
    font-size: 2.4rem;
  }
  .section05 .wrap01 .modal_btns {
    margin-top: 3rem;
  }
  .section05 .wrap01 .modal_btns .modal_btn {
    align-items: center;
    display: flex;
    font-size: 1.6rem;
    height: 7rem;
    justify-content: center;
    padding: 0;
    width: calc((100% - .5rem) / 2);
  }
  .section05 .wrap01 .modal_btns .modal_btn span > span {
    font-size: 1.4rem;
  }
  .section05 .wrap01 .modal_btns .modal_btn::after {
    height: 1.6rem;
    right: 1rem;
    width: 1.6rem;
  }
  .section05 .wrap01 .exs {
    border-radius: 1.5rem;
    flex-direction: column;
    gap: 3rem;
    margin-top: 6rem;
    padding: 3rem 1.5rem;
  }
  .section05 .wrap01 .exs .sub {
    font-size: 2rem;
    height: 3.1rem;
    padding: 0;
    top: -1.6rem;
    width: 20rem;
  }
  .section05 .wrap01 .exs .ex {
    width: 100%;
  }
  .section05 .wrap01 .exs .ex .txts {
    padding: 3rem 1.5rem;
  }
  .section05 .wrap01 .exs .ex .txts .h4 {
    font-size: 2.4rem;
  }
  .section05 .wrap01 .exs .ex .txts .h5 {
    font-size: 1.4rem;
    margin: 1.5rem 0;
    padding: .1rem 1.5rem;
  }
  .section05 .wrap01 .exs .ex .txts .p {
    font-size: 1.4rem;
  }
  /* .modal {
    display: block;
  } */

  .modal > .close {
    height: 4rem;
    right: 1.5rem;
    top: 2.2rem;
    width: 4rem;
    z-index: 10000;
  }
  .modal:has(.card_table) > .close {
    height: 4rem;
    right: 1rem;
    top: 1.5rem;
    width: 4rem;
    z-index: 10000;
  }

  .modal_wrap {
    max-height: calc(100% - 17rem);
    max-width: calc(100% - 3rem);
  }
  .modal_wrap:has(.card_table) {
    border-radius: 0;
    max-height: calc(100%);
    max-width: calc(100%);
    padding-bottom: 8rem;
    padding-top: 7rem;
  }
  .modal_wrap .h3 {
    font-size: 2rem;
    padding: 2rem;
  }
  .modal_wrap:has(.card_table) .h3 {
    position: fixed;
    top: 0 ;
    width: 100%;
    z-index: 9999;
  }
  .modal_wrap .h3 .close {
    height: 2rem;
    right: 2rem;
    width: 2rem;
  }
  .modal_wrap:has(.card_table) .h3 .close {
    display: none;
  }
  .modal_wrap .modal_contents {
    padding: 4rem 1.5rem 4rem;
  }
  .modal_wrap .modal_contents .modal_content {
    font-size: 1.4rem;
  }
  .modal_wrap .modal_contents .modal_content + .modal_content {
    margin-top: 4rem;
  }
  .modal_wrap .modal_contents .modal_content .h4 {
    font-size: 2.4rem;
    margin-bottom: 2rem;
  }
  .modal_wrap .modal_contents .modal_content .card {
    border-radius: .5rem;
  }
  .modal_wrap .modal_contents .modal_content .card + .card {
    margin-top: 3rem;
  }
  .modal_wrap .modal_contents .modal_content .card .h5 {
    font-size: 1.8rem;
    padding: 1rem;
  }
  .modal_wrap .modal_contents .modal_content .card .h5 span {
    font-size: 1.6rem;
  }
  .modal_wrap .modal_contents .modal_content .card .txts {
    padding: 2rem 1.5rem;
  }
  .modal_wrap .modal_contents .modal_content .card .txts .p {
    margin-bottom: 2rem;
  }
  .modal_wrap .modal_contents .modal_content .card .txts .dl01 {
    display: block;
    margin-bottom: 2rem;
  }
  .modal_wrap .modal_contents .modal_content .card .txts .dl01 dt {
    border-radius: .5rem;
    padding: 1rem;
    width: 100%;
  }
  .modal_wrap .modal_contents .modal_content .card .txts .dl01 dd {
    border-top: none;
    padding: 2rem 0;
    width: 100%;
  }
  .modal_wrap .modal_contents .modal_content .card .txts .dl01 dd ul {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2rem;
  }
  .modal_wrap .modal_contents .modal_content .card .txts .dl02 dt + dd {
    margin-top: 1rem;
  }
  .modal_wrap .modal_contents .modal_content .card .txts .table {
    width: 100%;
  }
  .modal_wrap .modal_contents .modal_content .card .txts .table img {
    max-width: inherit;
    width: 65rem;
  }
  .table:not(.is-scrollable) .scroll-hint-icon {
    opacity: .7;
  }
  .table.is-scrollable .scroll-hint-icon {
    opacity: 0;
  }
  .card_table_wrap .scroll-hint-icon {
    top: 10rem;
  }
  .card_table_wrap:not(.is-scrollable) .scroll-hint-icon {
    opacity: .7;
  }
  .card_table_wrap.is-scrollable .scroll-hint-icon {
    opacity: 0;
  }
  .modal_wrap .modal_contents .modal_content .card:has( .card_table) {
    border-radius: 0;
  }
  .modal_wrap .modal_contents .modal_content .card .txts:has( .card_table) {
    padding: 0;
  }
  .modal_wrap .modal_contents .modal_content .card .card_table {
    font-size: 1.2rem;
    white-space: nowrap;
  }
  .modal_wrap .modal_contents .modal_content .card .card_table th, .modal_wrap .modal_contents .modal_content .card .card_table td {
    padding: 1rem;
  }
  .modal_wrap .modal_contents .modal_content .card .card_table th {
    background: rgba(0, 95, 175, .1);
    font-weight: 500;
    text-align: center;
    white-space: nowrap;
  }
  .modal_wrap .modal_contents .modal_content .card .card_table th.sub {
    font-size: 2rem;
    padding-left: 2.5rem;
    text-align: left;
  }
}
/* ---------------------------------------------------------------------------
//  section06
--------------------------------------------------------------------------- */
.section06 {
  position: relative;
  z-index: 2;
}
.section06 .wrap01 {
  padding: 28rem 0 16.6rem;
  position: relative;
}
.section06 .wrap01 .deco01 {
  background-image: url(../img/06_deco01.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  height: 20.5rem;
  left: 0;
  position: absolute;
  top: 14.4rem;
  width: 60.6rem;
}
.section06 .wrap01 .ttls {
  position: relative;
  text-align: center;
}
.section06 .wrap01 .ttls .eng {
  color: #005faf;
  font-family: Akshar;
  font-size: 8.5rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
}
.section06 .wrap01 .ttls .ttl {
  color: #000;
  font-family: 'Shippori Mincho';
  font-size: 4.6rem;
  font-style: normal;
  font-weight: 400;
  margin-top: 1rem;
}
.section06 .wrap01 .contents {
  margin-top: 23.3rem;
}
.section06 .wrap01 .contents .content {
  display: flex;
  justify-content: space-between;
  position: relative;
}
.section06 .wrap01 .contents .content + .content {
  margin-top: 19.6rem;
}
.section06 .wrap01 .contents .content02 {
  flex-direction: row-reverse;
}
.section06 .wrap01 .contents .content .deco {
  background: linear-gradient(180deg, #51a8de 100%, #03559a 0%);
  box-shadow: -1rem 1rem 0 0 rgba(124, 153, 168, .15);
  height: 35rem;
  left: 0;
  margin: auto;
  mix-blend-mode: multiply;
  position: absolute;
  right: 0;
  top: 0;
  width: 3.7rem;
  z-index: 3;
}
.section06 .wrap01 .contents .content .txts {
  width: 52rem;
}
.section06 .wrap01 .contents .content .txts .sub {
  color: #000;
  font-family: 'Shippori Mincho';
  font-size: 9.4rem;
  font-style: normal;
  font-weight: 400;
}
.section06 .wrap01 .contents .content .txts .h4 {
  color: #000;
  font-family: 'Shippori Mincho';
  font-size: 2.5rem;
  font-style: normal;
  font-weight: 400;
  margin-top: 3rem;
}
.section06 .wrap01 .contents .content .txts .desc {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: calc(40/18);
  margin-top: .5rem;
}
.section06 .wrap01 .contents .content .imgs {
  position: relative;
  width: 50%;
}
.section06 .wrap01 .contents .content .imgs img {
  position: absolute;
  width: 31.7rem;
}
.section06 .wrap01 .contents .content01 .imgs .img01 {
  left: -15.8rem;
  top: -10.8rem;
}
.section06 .wrap01 .contents .content01 .imgs .img02 {
  left: 17.7rem;
  top: -4.5rem;
}
.section06 .wrap01 .contents .content01 .imgs .img03 {
  left: 8.2rem;
  top: 19rem;
}
.section06 .wrap01 .contents .content02 .imgs .img01 {
  right: 0;
  top: -10.8rem;
}
.section06 .wrap01 .contents .content02 .imgs .img02 {
  right: 18.3rem;
  top: 11.8rem;
}
.section06 .wrap01 .contents .content03 .imgs .img01 {
  left: 0;
  top: -10.8rem;
}
.section06 .wrap01 .contents .content03 .imgs .img02 {
  left: 21.8rem;
  top: 14.3rem;
}
@media screen and (max-width: 768px) {
  .section06 .wrap01 {
    padding: 11.2rem 1.5rem 8rem;
    position: relative;
  }
  .section06 .wrap01 .deco01 {
    height: 9.2rem;
    left: 1.5rem;
    top: 5rem;
    width: 27.2rem;
  }
  .section06 .wrap01 .ttls {
    position: relative;
    text-align: center;
  }
  .section06 .wrap01 .ttls .eng {
    font-size: 3.8rem;
    text-align: right;
  }
  .section06 .wrap01 .ttls .ttl {
    font-size: 2.4rem;
  }
  .section06 .wrap01 .contents {
    margin-top: 5.4rem;
  }
  .section06 .wrap01 .contents .content {
    flex-direction: column;
  }
  .section06 .wrap01 .contents .content + .content {
    margin-top: 5.4rem;
  }
  .section06 .wrap01 .contents .content02 {
    flex-direction: column;
  }
  .section06 .wrap01 .contents .content .deco {
    height: 20rem;
    top: 6rem;
    width: 2.1rem;
  }
  .section06 .wrap01 .contents .content01 .deco {
    left: 8rem;
    right: inherit;
  }
  .section06 .wrap01 .contents .content02 .deco {
    left: 24.8rem;
    right: inherit;
  }
  .section06 .wrap01 .contents .content03 .deco {
    left: 4.5rem;
    right: inherit;
  }
  .section06 .wrap01 .contents .content .txts {
    margin-top: 2rem;
    order: 2;
    width: 100%;
  }
  .section06 .wrap01 .contents .content .txts .sub {
    font-size: 4.8rem;
    text-align: center;
  }
  .section06 .wrap01 .contents .content .txts .h4 {
    font-size: 2rem;
    margin-top: 1rem;
    text-align: center;
  }
  .section06 .wrap01 .contents .content .txts .desc {
    font-size: 1.4rem;
    margin-top: 1.5rem;
  }
  .section06 .wrap01 .contents .content .imgs {
    width: 100%;
  }
  .section06 .wrap01 .contents .content01 .imgs {
    height: 29.3rem;
  }
  .section06 .wrap01 .contents .content02 .imgs {
    height: 25.6rem;
  }
  .section06 .wrap01 .contents .content03 .imgs {
    height: 25.6rem;
  }
  .section06 .wrap01 .contents .content .imgs img {
    width: 18.1rem;
  }
  .section06 .wrap01 .contents .content01 .imgs .img01 {
    left: 0;
    top: 0;
  }
  .section06 .wrap01 .contents .content01 .imgs .img02 {
    left: inherit;
    right: -1.5rem;
    top: 3.6rem;
  }
  .section06 .wrap01 .contents .content01 .imgs .img03 {
    left: inherit;
    right: 3.9rem;
    top: 16.9rem;
  }
  .section06 .wrap01 .contents .content02 .imgs .img01 {
    right: 10rem;
    top: 0;
  }
  .section06 .wrap01 .contents .content02 .imgs .img02 {
    left: -1.5rem;
    right: inherit;
    top: 13rem;
  }
  .section06 .wrap01 .contents .content03 .imgs .img01 {
    left: 5.5rem;
    top: 0;
  }
  .section06 .wrap01 .contents .content03 .imgs .img02 {
    left: inherit;
    right: 0;
    top: 13rem;
  }
}
/* ---------------------------------------------------------------------------
//  section07
--------------------------------------------------------------------------- */
.section07 {
  padding-top: 40rem;
  position: relative;
  z-index: 2;
}
.section07 > .image {
  aspect-ratio: 1440 / 550;
  background-attachment: fixed;
  background-image: url(../img/07_bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  width: 100%;
}
.section07 .wrap01 {
  align-items: center;
  background: #005faf;
  border: solid 1rem;
  box-shadow: -1rem 1rem 0 0 rgba(124, 153, 168, .15);
  color: #fff;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-width: 102.5rem;
  padding: 6rem 6rem 8rem;
  position: relative;
  z-index: 2;
}
.section07 .wrap01 .ttls {
  color: #fff;
  text-align: center;
}
.section07 .wrap01 .ttls .eng {
  font-family: Akshar;
  font-size: 2.6rem;
  font-style: normal;
  font-weight: 600;
  text-transform: uppercase;
}
.section07 .wrap01 .ttls .ttl {
  font-family: 'Shippori Mincho';
  font-size: 4.6rem;
  font-style: normal;
  font-weight: 400;
  margin-top: 1rem;
}
.section07 .wrap01 .dls {
  margin-top: 5rem;
}
.section07 .wrap01 .dls dl {
  display: flex;
  font-size: 1.8rem;
  font-weight: 500;
  white-space: nowrap;
}
.section07 .wrap01 .dls dl + dl {
  margin-top: 1.8rem;
}
.section07 .wrap01 .dls dl dt {
  width: 11rem;
}
.section07 .wrap01 .dls dl dd {
  width: calc(100% - 11rem);
}
@media screen and (max-width: 768px) {
  .section07 {
    padding-top: 18rem;
  }
  .section07 > .image {
    aspect-ratio: 39 / 25;
    background-attachment: inherit;
    background-position: left 50% top 93%;
    background-size: 180%;
  }
  .section07 .wrap01 {
    padding: 6rem 1.5rem 4rem;
    width: calc(100% - 3rem);
  }
  .section07 .wrap01 .ttls {
    color: #fff;
    text-align: center;
  }
  .section07 .wrap01 .ttls .eng {
    font-size: 1.6rem;
  }
  .section07 .wrap01 .ttls .ttl {
    font-size: 2.4rem;
  }
  .section07 .wrap01 .dls {
    margin-top: 3rem;
  }
  .section07 .wrap01 .dls dl {
    display: block;
    font-size: 1.4rem;
    line-height: calc(26/14);
    white-space: normal;
  }
  .section07 .wrap01 .dls dl + dl {
    margin-top: 2rem;
  }
  .section07 .wrap01 .dls dl dt {
    align-items: center;
    display: flex;
    gap: 1rem;
    white-space: nowrap;
    width: 100%;
  }
  .section07 .wrap01 .dls dl dt::after {
    background: #fff;
    content: '';
    height: 1px;
    width: 100%;
  }
  .section07 .wrap01 .dls dl dd {
    width: 100%;
  }
}
/* ---------------------------------------------------------------------------
//  section08
--------------------------------------------------------------------------- */
.section08 {
  position: relative;
  z-index: 2;
}

.section08 .wrap01 {
  padding: 14rem 0 13rem;
}
.section08 .wrap01 .ttls {
  color: #000;
  text-align: center;
}
.section08 .wrap01 .ttls .eng {
  font-family: Akshar;
  font-size: 2.6rem;
  font-style: normal;
  font-weight: 600;
  text-transform: uppercase;
}
.section08 .wrap01 .ttls .ttl {
  font-family: 'Shippori Mincho';
  font-size: 4.6rem;
  font-style: normal;
  font-weight: 400;
  margin-top: 1rem;
}
.section08 .wrap01 .contents {
  display: flex;
  gap: 6rem;
  justify-content: center;
  margin-top: 5.7rem;
}
.section08 .wrap01 .contents .content {
  align-items: center;
  display: flex;
  flex-direction: column;
  width: 50rem;
}
.section08 .wrap01 .contents .content .btn01 {
  align-items: center;
  background: #005faf;
  border: solid 1px #005faf;
  color: #fff;
  display: flex;
  font-family: 'Shippori Mincho';
  font-size: 3.2rem;
  font-style: normal;
  font-weight: 400;
  height: 10rem;
  justify-content: center;
  margin-bottom: 4rem;
  position: relative;
  text-align: center;
  width: 100%;
}
.section08 .wrap01 .contents .content .btn01:hover {
  background: #fff;
  color: #005faf;
}
.section08 .wrap01 .contents .content01 .btn01::after {
  background-image: url(../img/08_arrow01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 2rem;
  margin: auto;
  position: absolute;
  right: 4rem ;
  top: 0;
  width: 1.2rem;
}
.section08 .wrap01 .contents .content02 .btn01::after {
  background-image: url(../img/modal_open.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 2.4rem;
  margin: auto;
  position: absolute;
  right: 4rem;
  top: 0;
  transition: .3s;
  width: 2.4rem;
}
.section08 .wrap01 .contents .content .btn02 {
  display: flex;
  margin-bottom: 1.2rem;
  width: 42.3rem;
}
.section08 .wrap01 .contents .content .btn02:hover {
  opacity: .7;
}
.section08 .wrap01 .contents .content .btn02 .txt {
  align-items: center;
  background: #00abeb;
  color: #fff;
  display: flex;
  font-size: 1.6rem;
  font-weight: 500;
  justify-content: center;
  padding-right: 1.2rem;
  position: relative;
  width: 50%;
}
.section08 .wrap01 .contents .content .btn02 .txt::after {
  background-image: url(../img/08_arrow02.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 2rem;
  margin: auto;
  position: absolute;
  right: .5rem ;
  top: .2rem;
  width: 1.2rem;
}
.section08 .wrap01 .contents .content .btn02 .logo {
  width: 50%;
}
.section08 .wrap01 .contents .content .desc {
  color: #000;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(28/16);
}
.section08 .wrap01 .corporate_btn {
  align-items: center;
  background: #fff;
  border: 1px solid #e2e2e2;
  box-shadow: -1rem 1rem 0 0 rgba(124, 153, 168, .16);
  display: flex;
  height: 12.2rem;
  justify-content: center;
  margin: 5rem auto 0;
  max-width: 102.5rem;
  mix-blend-mode: multiply;
  width: 100%;
}
.section08 .wrap01 .corporate_btn:hover {
  opacity: .7;
}
.section08 .wrap01 .corporate_btn .txt img {
  width: 46.5rem;
}
.section08 .wrap01 .corporate_btn .txt span {
  color: #000;
  font-family: Akshar;
  font-size: 2.4rem;
  font-style: normal;
  font-weight: 600;
  leading-trim: both;
  line-height: 1;
  margin-left: .5rem;
  text-align: center;
  text-edge: cap;
}
@media screen and (max-width: 768px) {
  .section08 .wrap01 {
    padding: 8rem 1.5rem 8rem;
  }
  .section08 .wrap01 .ttls .eng {
    font-size: 1.6rem;
  }
  .section08 .wrap01 .ttls .ttl {
    font-size: 2.4rem;
  }
  .section08 .wrap01 .contents {
    flex-direction: column;
    gap: 4rem;
    margin-top: 4rem;
  }
  .section08 .wrap01 .contents .content {
    width: 100%;
  }
  .section08 .wrap01 .contents .content .btn01 {
    font-size: 2.4rem;
    height: 7.2rem;
    margin-bottom: 1.4rem;
  }
  .section08 .wrap01 .contents .content01 .btn01::after {
    height: 1.3rem;
    right: 1.5rem ;
    width: .7rem;
  }
  .section08 .wrap01 .contents .content02 .btn01::after {
    height: 1.6rem;
    right: 1.5rem;
    width: 1.6rem;
  }
  .section08 .wrap01 .contents .content .btn02 {
    margin-bottom: 1.4rem;
    width: 100%;
  }
  .section08 .wrap01 .contents .content .btn02:hover {
    opacity: .7;
  }
  .section08 .wrap01 .contents .content .btn02 .txt {
    font-size: 1.4rem;
  }
  .section08 .wrap01 .contents .content .btn02 .txt::after {
    height: 1.3rem;
    right: .5rem ;
    top: .1rem;
    width: .7rem;
  }
  .section08 .wrap01 .contents .content .desc {
    font-size: 1.3rem;
    text-align: center;
    white-space: nowrap;
  }
  .section08 .wrap01 .corporate_btn {
    align-items: center;
    height: 8.5rem;
    justify-content: center;
  }
  .section08 .wrap01 .corporate_btn .txt img {
    width: 30rem;
  }
  .section08 .wrap01 .corporate_btn .txt span {
    font-size: 1.6rem;
    margin-left: .2rem;
    position: relative;
    top: .1rem;
  }
}
/* ---------------------------------------------------------------------------
//  footer
--------------------------------------------------------------------------- */
.copyright {
  background: #404040;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  padding: 9rem 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .copyright {
    padding: 4rem 0;
  }
}
/* ---------------------------------------------------------------------------
//  header
--------------------------------------------------------------------------- */
.header {
  background: rgba(255, 255, 255, .90);
  height: 8rem;
  left: 0;
  position: fixed;
  top: 0;
  transition: .3s;
  width: 100%;
  z-index: 100;
}
.header_inner {
  align-items: center;
  display: flex;
  margin: 0 auto;
}
.header .logo {
  padding-left: 2.6rem;
  width: 30rem;
  z-index: 99;
}
.global_nav {
  align-items: center;
  display: flex;
  flex-grow: 2;
}
.nav_list {
  align-items: center;
  display: flex;
  gap: 2rem;
  justify-content: flex-end;
  width: 100%;
}
.nav_item a {
  align-items: center;
  color: #000;
  display: flex;
  font-size: 1.6rem;
  font-weight: bold;
  font-weight: 500;
  height: 8rem;
  position: relative;
  white-space: nowrap;
}
.nav_item a:hover {
  color: #005faf;
}
.nav_item.tel a {
  align-items: center;
  background: rgba(0, 0, 0, .4);
  color: #fff;
  flex-direction: column;
  justify-content: center;
  padding: 0 2rem;
}
.nav_item.tel a small {
  font-size: 1.2rem;
}
.nav_item.tel a span {
  font-family: Akshar;
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}
@media screen and (max-width: 768px) {
  .header {
    box-shadow: 0 .5rem 0 0 rgba(124, 153, 168, .15);
    height: 6rem;
  }
  .header_inner {
    height: 6rem;
  }
  .header .logo {
    padding-left: 1.5rem;
    width: 29rem;
  }
  .global_nav {
    align-items: center;
    background-color: rgba(255,255,255,.9);
    display: flex;
    flex-direction: column;
    flex-grow: 2;
    height: calc(100vh);
    height: calc(100svh);
    left: 0;
    opacity: 0;
    overflow: auto;
    padding: 8.5rem 1.5rem;
    pointer-events: none;
    position: absolute;
    top: 0;
    transition: .3s;
    width: 100%;;
  }
  .nav_open .global_nav {
    opacity: 1;
    pointer-events: all;
  }
  .nav_list {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }
  .nav_item:not(.tel) a {
    border-bottom: solid 1px rgba(0, 0, 0, .4);
    display: block;
    font-family: 'Shippori Mincho';
    font-size: 2.4rem;
    font-style: normal;
    font-weight: 400;
    height: auto;
    padding: 1.5rem;
    width: 100%;
    width: 100%;
  }
  .nav_item:not(.tel) a::first-letter {
    color: #005faf;
  }
  /* .nav_item.tel a {
    padding: 0 2rem;
  } */
  .nav_item.tel a small {
    font-size: 1.6rem;
  }
  .nav_item.tel a span {
    font-size: 2.4rem;
  }
  .nav_item:hover {
    color: inherit;
  }
  .hamburger {
    cursor: pointer;
    display: block;
    height: 100%;
    position: absolute;
    right: 2rem;
    width: 3rem;
    z-index: 1000;
  }

  .hamburger span {
    background-color: #005faf;
    border-radius: 10rem;
    height: .4rem;
    position: absolute;
    transition: .3s;
    width: 100%;
  }

  .hamburger span:nth-child(1) {
    top: 1.8rem;
  }
  .hamburger span:nth-child(2) {
    top: 2.8rem;
  }
  .hamburger span:nth-child(3) {
    top: 3.8rem;
  }
  .hamburger.open  span:nth-child(1) {
    top: 2.8rem;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .hamburger.open  span:nth-child(2) {
    opacity: 0;
    width: 0;
  }
  .hamburger.open  span:nth-child(3) {
    top: 2.8rem;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
}
/* ---------------------------------------------------------------------------
//  PC/SP
--------------------------------------------------------------------------- */
.forSP {
  display: none;
}
@media screen and (max-width:768px) {
  .forSP {
    display: block;
  }
  .forPC {
    display: none;
  }
}
