@charset "UTF-8";

/* Sass Document */
/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/
html,
body {
  height: 100%;
}

html {
  font-size: 62.5%;
}

@media screen and (max-width: 840px) {
  html {
    width: 100%;
  }
}

body {
  -webkit-text-size-adjust: 100%;
  width: 100%;
  color: #222;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  font-size: 1.6rem;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
address,
ul,
ol,
li,
dl,
dt,
dd,
table,
th,
td,
img,
form,
figure {
  margin: 0;
  padding: 0;
  border: none;
  list-style-type: none;
  font-style: normal;
  letter-spacing: 0.05em;
}

input {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: normal;
  line-break: strict;
}

@media screen and (max-width: 767.98px) {
  html {
    font-size: 2.6666vw;
  }
}

@media (min-width: 768px) {
  a[href*="tel:"] {
    text-decoration: none;
    cursor: default;
    pointer-events: none;
  }

  a:hover {
    opacity: 0.7;
  }
}

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

main {
  display: block;
  overflow: hidden;
}

strong {
  font-weight: 700;
}

a {
  color: #222;
  text-decoration: none;
  outline: none;
  -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

input,
button,
textarea,
select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select::-ms-expand {
  display: none;
}

body {
  background: #fff;
}

.pc {
  display: block;
}

@media screen and (max-width: 840px) {
  .pc {
    display: none !important;
  }
}

.sp {
  display: none !important;
}

@media screen and (max-width: 840px) {
  .sp {
    display: block !important;
  }
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

.tac,
.tac * {
  text-align: center;
}

.en {
  font-family: "Barlow Condensed", sans-serif;
}

.wrap {
  max-width: 120rem;
  width: 90%;
  margin: 0 auto;
}

@media screen and (max-width: 840px) {
  .wrap {
    width: 83.3333333333vw;
  }
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

main {
  overflow: hidden;
}

p {
  font-size: 1.6rem;
  line-height: 180%;
}

@media screen and (max-width: 1200px) {
  p {
    font-size: 1.3333333333vw;
  }
}

@media screen and (max-width: 840px) {
  p {
    font-size: 3.5897435897vw;
  }
}

/* フェードイン */
.fadeup {
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
}

.fadeup.on {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.btn a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 29rem;
  height: 6.4rem;
  font-size: 1.8rem;
  font-weight: 700;
  border-radius: 3.5rem;
}

@media screen and (max-width: 1200px) {
  .btn a {
    width: 24.1666666667vw;
    height: 5.3333333333vw;
    font-size: 1.5vw;
    border-radius: 2.9166666667vw;
  }
}

@media screen and (max-width: 840px) {
  .btn a {
    width: 64.1025641026vw;
    height: 14.1025641026vw;
    font-size: 4.1025641026vw;
    border-radius: 8.9743589744vw;
  }
}

.btn a .arrow {
  position: absolute;
  top: 50%;
  right: 2.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 2rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 1200px) {
  .btn a .arrow {
    right: 1.9166666667vw;
    width: 1.6666666667vw;
  }
}

@media screen and (max-width: 840px) {
  .btn a .arrow {
    right: 4.6153846154vw;
    width: 5.1282051282vw;
  }
}

.btn a .arrow:after {
  content: "";
  display: block;
  width: 0.4rem;
  height: 0.4rem;
  -webkit-transform: translateX(-0.1rem) rotate(45deg);
  transform: translateX(-0.1rem) rotate(45deg);
  -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

@media screen and (max-width: 1200px) {
  .btn a .arrow:after {
    width: 0.3333333333vw;
    height: 0.3333333333vw;
  }
}

@media screen and (max-width: 840px) {
  .btn a .arrow:after {
    width: 1.2820512821vw;
    height: 1.2820512821vw;
  }
}

.btn a:hover {
  opacity: 1;
}

.btn._w a {
  color: #0A51B8;
  background: #fff;
}

.btn._w a .arrow {
  border: 0.15rem solid #0A51B8;
}

.btn._w a .arrow:after {
  border-top: solid 0.15rem #0A51B8;
  border-right: solid 0.15rem #0A51B8;
}

.btn._w a:hover {
  color: #fff;
  background: #CE312A;
}

.btn._w a:hover .arrow {
  border: 0.15rem solid #fff;
}

.btn._w a:hover .arrow:after {
  border-top: solid 0.15rem #fff;
  border-right: solid 0.15rem #fff;
}

.btn._b a {
  color: #fff;
  background: #0A51B8;
}

.btn._b a .arrow {
  border: 0.15rem solid #fff;
}

.btn._b a .arrow:after {
  border-top: solid 0.15rem #fff;
  border-right: solid 0.15rem #fff;
}

.btn._b a:hover {
  background: #CE312A;
}

.btn._y a {
  color: #fff;
  background: #F79800;
}

.btn._y a .arrow {
  border: 0.15rem solid #fff;
}

.btn._y a .arrow:after {
  border-top: solid 0.15rem #fff;
  border-right: solid 0.15rem #fff;
}

.btn._y a:hover {
  background: #CE312A;
}

.btn._r a {
  color: #fff;
  background: #CE312A;
}

.btn._r a .arrow {
  border: 0.15rem solid #fff;
}

.btn._r a .arrow:after {
  border-top: solid 0.15rem #fff;
  border-right: solid 0.15rem #fff;
}

.btn._r a:hover {
  background: #0A51B8;
}

.title_area p,
.title_area .title02 {
  overflow: hidden;
  opacity: 0;
}

.title_area p .inn,
.title_area .title02 .inn {
  display: block;
  opacity: 0;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 100);
  transform: matrix(1, 0, 0, 1, 0, 100);
  -webkit-transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.title_area.on p,
.title_area.on .title02 {
  opacity: 1;
}

.title_area.on p .inn,
.title_area.on .title02 .inn {
  opacity: 1;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
  transform: matrix(1, 0, 0, 1, 0, 0);
}

.title_area .en {
  font-size: 7.5rem !important;
  color: #0A51B8;
  font-weight: 600;
  line-height: 1.2;
}

@media screen and (max-width: 1200px) {
  .title_area .en {
    font-size: 6.25vw !important;
  }
}

@media screen and (max-width: 840px) {
  .title_area .en {
    font-size: 12.8205128205vw !important;
    line-height: 1.2;
  }
}

.title_area .title02 {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.46666;
}

@media screen and (max-width: 1200px) {
  .title_area .title02 {
    font-size: 2.5vw;
  }
}

@media screen and (max-width: 840px) {
  .title_area .title02 {
    font-size: 5.1282051282vw;
    line-height: 1.45;
  }
}

.title_area p {
  font-size: 3rem !important;
  font-weight: 700;
}

@media screen and (max-width: 1200px) {
  .title_area p {
    font-size: 2.5vw !important;
  }
}

@media screen and (max-width: 840px) {
  .title_area p {
    font-size: 5.8974358974vw !important;
    line-height: 1.47826;
  }
}

.title_area.center * {
  text-align: center;
}

.btn_more a {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.3rem;
  padding-bottom: 1rem;
  font-size: 1.7rem;
  font-weight: 700;
}

@media screen and (max-width: 1200px) {
  .btn_more a {
    gap: 1.0833333333vw;
    padding-bottom: 0.8333333333vw;
    font-size: 1.4166666667vw;
  }
}

@media screen and (max-width: 840px) {
  .btn_more a {
    gap: 2.0512820513vw;
    padding-bottom: 2.0512820513vw;
    font-size: 3.5897435897vw;
  }
}

.btn_more a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.125rem;
}

@media screen and (max-width: 1200px) {
  .btn_more a:after {
    height: 0.1041666667vw;
  }
}

@media screen and (max-width: 840px) {
  .btn_more a:after {
    height: 0.3205128205vw;
  }
}

.btn_more a .arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 2rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
}

@media screen and (max-width: 1200px) {
  .btn_more a .arrow {
    width: 1.6666666667vw;
  }
}

@media screen and (max-width: 840px) {
  .btn_more a .arrow {
    width: 4.1025641026vw;
  }
}

.btn_more a .arrow:after {
  content: "";
  width: 0.4rem;
  height: 0.4rem;
  -webkit-transform: translate(-0.1rem) rotate(45deg);
  transform: translate(-0.1rem) rotate(45deg);
}

@media screen and (max-width: 1200px) {
  .btn_more a .arrow:after {
    width: 0.3333333333vw;
    height: 0.3333333333vw;
  }
}

@media screen and (max-width: 840px) {
  .btn_more a .arrow:after {
    width: 1.0256410256vw;
    height: 1.0256410256vw;
  }
}

.btn_more._b a {
  color: #0A51B8;
}

.btn_more._b a:after {
  background: #0A51B8;
}

.btn_more._b a .arrow {
  background: #0A51B8;
}

.btn_more._b a .arrow:after {
  border-top: solid 0.125rem #fff;
  border-right: solid 0.125rem #fff;
}

.btn_more._w a {
  color: #fff;
}

.btn_more._w a:after {
  background: #fff;
}

.btn_more._w a .arrow {
  background: #fff;
}

.btn_more._w a .arrow:after {
  border-top: solid 0.125rem #0A51B8;
  border-right: solid 0.125rem #0A51B8;
}

.mt1em {
  margin-top: 2em;
}

#pagetop {
  position: fixed;
  bottom: 36.6rem;
  right: 2rem;
  width: 8rem;
  height: 8rem;
  cursor: pointer;
  z-index: 5;
}

@media screen and (max-width: 1200px) {
  #pagetop {
    bottom: 30.5vw;
    right: 1.6666666667vw;
    width: 6.6666666667vw;
    height: 6.6666666667vw;
  }
}

@media screen and (max-width: 840px) {
  #pagetop {
    bottom: 2.5641025641vw;
    right: 2.5641025641vw;
    width: 15.3846153846vw;
    height: 15.3846153846vw;
  }
}

#pagetop img {
  -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#pagetop:hover img {
  opacity: 0.7;
}

.floating {
  position: fixed;
  bottom: 0;
  right: 0;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.5rem;
  background: #fff;
  border-radius: 1rem 0 0 0;
  z-index: 5;
}

@media screen and (max-width: 1200px) {
  .floating {
    gap: 0.4166666667vw;
    padding: 0.4166666667vw;
  }
}

@media screen and (max-width: 840px) {
  .floating {
    position: unset;
    /*-webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;*/
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: unset;
    -webkit-box-direction: unset;
    -ms-flex-direction: unset;
    flex-direction: unset;
    gap: 3.5%;
    padding: 0;
    margin: 6.4102564103vw 0 2.0512820513vw;
  }
}

@media screen and (max-width: 840px) {
  .floating.pc {
    display: none !important;
  }
}

.floating .floating_btn {
  width: 11rem;
  height: 11rem;
}

@media screen and (max-width: 1200px) {
  .floating .floating_btn {
    width: 9.1666666667vw;
    height: 9.1666666667vw;
  }
}

@media screen and (max-width: 840px) {
  /*.floating .floating_btn {
    width: 28.2051282051vw;
    height: 28.2051282051vw;
  }*/
  .floating .floating_btn {
    width: 31%;
    height: 31%;
  }
}

.floating .floating_btn a {
  display: block;
}

.floating .floating_btn a img {
  width: 100%;
}

#footer {
  position: relative;
  padding: 27.5rem 0 6rem;
  margin-top: -21.877rem;
  background: url(../img/common/bg_footer.svg) repeat-x center top;
  background-size: auto 62.8777rem;
  z-index: 2;
}

@media screen and (max-width: 1200px) {
  #footer {
    padding: 19.09722222222222vw 0 4.166666666666666vw;
    margin-top: -15.192361111111111vw;
    background-size: auto 43.66458333333333vw;
  }
}

@media screen and (max-width: 840px) {
  #footer {
    padding: 17.866666666666667vw 0 10.2564102564vw;
    margin-top: -23.0769230769vw;
    background: url(../img/common/bg_footer_sp.svg) repeat-x center top;
    background-size: auto 12.509333333333334vw;
  }
}

#footer:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 62.8777rem);
  background: #0A51B8;
}

@media screen and (max-width: 1200px) {
  #footer:after {
    height: calc(100% - 43.66458333333333vw);
  }
}

@media screen and (max-width: 840px) {
  #footer:after {
    height: calc(100% - 12.509333333333334vw);
  }
}

#footer .wrap {
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 840px) {
  #footer .wrap {
    width: 88.4615384615vw;
  }
}

#footer * {
  color: #fff;
}

#footer .flex {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 840px) {
  #footer .flex {
    display: block;
  }
}

#footer .flex .info_area .footer_logo {
  margin-bottom: 4rem;
}

@media screen and (max-width: 1200px) {
  #footer .flex .info_area .footer_logo {
    margin-bottom: 3.3333333333vw;
  }
}

@media screen and (max-width: 840px) {
  #footer .flex .info_area .footer_logo {
    width: 51.758974359vw;
    margin: 0 auto 4.358974359vw;
  }
}

#footer .flex .info_area .btn a {
  width: 21rem;
  height: 5rem;
  font-size: 1.5rem;
  color: #0A51B8;
  font-weight: 500;
  border-radius: 0.5rem;
}

@media screen and (max-width: 1200px) {
  #footer .flex .info_area .btn a {
    width: 17.5vw;
    height: 4.1666666667vw;
    font-size: 1.25vw;
    border-radius: 0.4166666667vw;
  }
}

#footer .flex .info_area .sns_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.7rem;
  margin: 2rem 0 8.7rem;
}

@media screen and (max-width: 1200px) {
  #footer .flex .info_area .sns_area {
    gap: 1.4166666667vw;
    margin: 1.6666666667vw 0 7.25vw;
  }
}

#footer .flex .info_area .sns_area li a {
  display: block;
  width: 3rem;
}

@media screen and (max-width: 1200px) {
  #footer .flex .info_area .sns_area li a {
    width: 2.5vw;
  }
}

#footer .flex .info_area .copy {
  font-size: 1.3rem;
  font-weight: 500;
}

@media screen and (max-width: 1200px) {
  #footer .flex .info_area .copy {
    font-size: 1.0833333333vw;
  }
}

#footer .flex .footer_nav_area {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(8, 1fr);
  grid-column-gap: 9rem;
  grid-row-gap: 1.5rem;
}

@media screen and (max-width: 1200px) {
  #footer .flex .footer_nav_area {
    grid-column-gap: 1.6666666667vw;
    grid-row-gap: 1.25vw;
  }
}

@media screen and (max-width: 840px) {
  #footer .flex .footer_nav_area {
    display: block;
  }
}

@media screen and (max-width: 840px) {
  #footer .flex .footer_nav_area li {
    width: 100%;
    border-bottom: 0.1rem solid #3B74C6;
  }
}

#footer .flex .footer_nav_area li:nth-of-type(1) {
  grid-area: 1/1/2/2;
}

#footer .flex .footer_nav_area li:nth-of-type(2) {
  grid-area: 1/2/2/3;
}

#footer .flex .footer_nav_area li:nth-of-type(3) {
  grid-area: 2/1/7/2;
}

#footer .flex .footer_nav_area li:nth-of-type(4) {
  grid-area: 2/2/4/3;
}

#footer .flex .footer_nav_area li:nth-of-type(5) {
  grid-area: 5/3/4/2;
}

#footer .flex .footer_nav_area li:nth-of-type(6) {
  grid-area: 1/3/2/4;
}

#footer .flex .footer_nav_area li:nth-of-type(7) {
  grid-area: 2/3/3/4;
}

#footer .flex .footer_nav_area li:nth-of-type(8) {
  grid-area: 3/3/4/4;
}

#footer .flex .footer_nav_area li:nth-of-type(9) {
  grid-area: 4/3/5/4;
}

#footer .flex .footer_nav_area li:nth-of-type(10) {
  grid-area: 5/3/6/4;
}

#footer .flex .footer_nav_area li:nth-of-type(11) {
  grid-area: 6/3/7/4;
}

#footer .flex .footer_nav_area li:nth-of-type(12) {
  grid-area: 7/3/8/4;
}

#footer .flex .footer_nav_area li:nth-of-type(13) {
  grid-area: 8/3/9/4;
}

#footer .flex .footer_nav_area li a {
  font-size: 1.5rem;
  font-weight: 500;
}

@media screen and (max-width: 1200px) {
  #footer .flex .footer_nav_area li a {
    font-size: 1.25vw;
  }
}

@media screen and (max-width: 840px) {
  #footer .flex .footer_nav_area li a {
    display: block;
    padding: 5.1282051282vw 5.641025641vw;
    font-size: 4.1025641026vw;
  }
}

#footer .flex .footer_nav_area li ul {
  margin-top: 1.5rem;
  margin-left: 0.4rem;
}

@media screen and (max-width: 1200px) {
  #footer .flex .footer_nav_area li ul {
    margin-top: 1.25vw;
    margin-left: 0.3333333333vw;
  }
}

@media screen and (max-width: 840px) {
  #footer .flex .footer_nav_area li ul {
    padding: 5.3846153846vw 5.8974358974vw 5.8974358974vw;
    margin: 0;
    border-top: 0.1rem solid #3B74C6;
  }
}

@media screen and (max-width: 840px) {
  #footer .flex .footer_nav_area li ul li {
    border-bottom: none;
  }
}

#footer .flex .footer_nav_area li ul li+li {
  margin-top: 1.2rem;
}

@media screen and (max-width: 1200px) {
  #footer .flex .footer_nav_area li ul li+li {
    margin-top: 1vw;
  }
}

@media screen and (max-width: 840px) {
  #footer .flex .footer_nav_area li ul li+li {
    margin-top: 3.0769230769vw;
  }
}

#footer .flex .footer_nav_area li ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
  font-size: 1.5rem;
}

@media screen and (max-width: 1200px) {
  #footer .flex .footer_nav_area li ul li a {
    gap: 1.25vw;
    font-size: 1.25vw;
  }
}

@media screen and (max-width: 840px) {
  #footer .flex .footer_nav_area li ul li a {
    gap: 3.3333333333vw;
    padding: 0;
    font-size: 4.1025641026vw;
  }
}

#footer .flex .footer_nav_area li ul li a:before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.1rem;
  background: #fff;
}

@media screen and (max-width: 1200px) {
  #footer .flex .footer_nav_area li ul li a:before {
    width: 0.6666666667vw;
  }
}

@media screen and (max-width: 840px) {
  #footer .flex .footer_nav_area li ul li a:before {
    width: 2.0512820513vw;
    height: 0.15rem;
  }
}

#footer .flex .footer_nav_area li.child_has>a {
  position: relative;
}

#footer .flex .footer_nav_area li.child_has>a.no_link {
  pointer-events: none;
}

@media screen and (max-width: 840px) {
  #footer .flex .footer_nav_area li.child_has>a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 4.358974359vw;
    width: 2.0512820513vw;
    height: 2.0512820513vw;
    border-top: solid 0.2rem #fff;
    border-right: solid 0.2rem #fff;
    -webkit-transform: translateY(-50%) rotate(135deg);
    transform: translateY(-50%) rotate(135deg);
  }

  #footer .flex .footer_nav_area li.child_has>a.no_link {
    pointer-events: auto;
  }
}

@media screen and (max-width: 840px) {
  #footer .flex .footer_nav_area li.child_has>a.open:after {
    -webkit-transform: translateY(0.5128205128vw) rotate(-45deg);
    transform: translateY(0.5128205128vw) rotate(-45deg);
  }
}

#footer .footer_sp {
  display: none;
}

@media screen and (max-width: 840px) {
  #footer .footer_sp {
    display: block;
    margin-top: 6.4102564103vw;
  }
}

@media screen and (max-width: 840px) {
  #footer .footer_sp .btn a {
    width: 100%;
    height: 15.3846153846vw;
    font-size: 4.1025641026vw;
    color: #0A51B8;
    font-weight: 700;
    background: #fff;
    border-radius: 1.2820512821vw;
  }
}

@media screen and (max-width: 840px) {
  #footer .footer_sp .sns_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 4.1025641026vw;
    margin: 7.6923076923vw 0 7.1794871795vw;
  }
}

@media screen and (max-width: 840px) {
  #footer .footer_sp .sns_area li a {
    display: block;
    width: 8vw;
  }
}

@media screen and (max-width: 840px) {
  #footer .footer_sp .copy {
    font-size: 2.8205128205vw;
    font-weight: 500;
    text-align: center;
  }
}

body.fixed {
  height: 100vh;
  overflow: hidden;
}

body.fixed #header {
  background: #fff;
}

body.fixed #header #logo .w {
  display: none;
}

body.fixed #header #logo .usual {
  display: block;
}

#header {
  position: fixed;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 9rem;
  padding: 0 4.5rem;
  background: #fff;
  z-index: 6;
  -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

@media screen and (max-width: 1400px) {
  #header {
    height: 6.25vw;
    padding: 0 2.0833333333vw;
  }
}

@media screen and (max-width: 840px) {
  #header {
    height: 16.6666666667vw;
    padding: 0;
  }
}

#header #logo {
  width: 20.186rem;
  margin-right: auto;
}

@media screen and (max-width: 1400px) {
  #header #logo {
    width: 11.1111111111vw;
  }
}

@media screen and (max-width: 840px) {
  #header #logo {
    width: 34.5076923077vw;
    margin-left: 3.8461538462vw;
  }
}

#header #logo a {
  display: block;
}

#header #logo a .w {
  display: block;
}

#gnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 4rem;
  height: 100%;
}

@media screen and (max-width: 1400px) {
  #gnav {
    gap: 2.0833333333vw;
  }
}

@media screen and (max-width: 840px) {
  #gnav {
    position: fixed;
    top: 16.6666666667vw;
    right: -100vw;
    display: block;
    width: 100vw;
    height: calc(100vh - 16.6666666667vw);
    padding: 0 3.8461538462vw 30%;
    background: #fff;
    z-index: 10;
    -webkit-overflow-scrolling: touch;
    overflow-y: scroll;
    -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  }
}

#gnav.on {
  right: 0;
}

#gnav>.nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
  height: 100%;
}

@media screen and (max-width: 1400px) {
  #gnav>.nav {
    gap: 1.3888888889vw;
  }
}

@media screen and (max-width: 840px) {
  #gnav>.nav {
    display: block;
    height: auto;
  }
}

#gnav>.nav>li {
  height: 100%;
}

@media screen and (max-width: 840px) {
  #gnav>.nav>li {
    height: auto;
    border-bottom: 0.1rem solid #D6D6D6;
  }
}

#gnav>.nav>li>a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.2rem;
  height: 100%;
  font-size: 1.7rem;
  font-weight: 700;
}

@media screen and (max-width: 1400px) {
  #gnav>.nav>li>a {
    gap: 0.8333333333vw;
    font-size: 1.1111111111vw;
  }
}

@media screen and (max-width: 840px) {
  #gnav>.nav>li>a {
    position: relative;
    display: block;
    height: auto;
    padding: 5.1282051282vw 6.6666666667vw;
    font-size: 4.1025641026vw;
  }
}

#gnav>.nav>li>a:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.4rem;
  background: #CE312A;
  opacity: 0;
  -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

@media screen and (max-width: 1400px) {
  #gnav>.nav>li>a:before {
    height: 0.2777777778vw;
  }
}

@media screen and (max-width: 840px) {
  #gnav>.nav>li>a:before {
    display: none;
  }
}

#gnav>.nav>li>a:hover {
  color: #0A51B8;
  opacity: 1;
}

#gnav>.nav>li>a:hover:before {
  opacity: 1;
}

@media screen and (max-width: 840px) {
  #gnav>.nav>li>a:first-of-type a {
    padding: 0 6.6666666667vw 5.1282051282vw;
  }
}

#gnav>.nav>li.child_has>a:after {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  border-top: solid 0.2rem #0A51B8;
  border-right: solid 0.2rem #0A51B8;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

@media screen and (max-width: 1400px) {
  #gnav>.nav>li.child_has>a:after {
    width: 0.3472222222vw;
    height: 0.3472222222vw;
    border-top: solid 0.1388888889vw #0A51B8;
    border-right: solid 0.1388888889vw #0A51B8;
  }
}

@media screen and (max-width: 840px) {
  #gnav>.nav>li.child_has>a:after {
    position: absolute;
    top: 50%;
    right: 4.358974359vw;
    width: 2.0512820513vw;
    height: 2.0512820513vw;
    border-top: solid 0.2rem #0A51B8;
    border-right: solid 0.2rem #0A51B8;
    -webkit-transform: translateY(-50%) rotate(135deg);
    transform: translateY(-50%) rotate(135deg);
  }
}

#gnav>.nav>li.child_has>a.open:before {
  opacity: 1;
}

#gnav>.nav>li.child_has>a.open:after {
  -webkit-transform: translateY(0.2rem) rotate(-45deg);
  transform: translateY(0.2rem) rotate(-45deg);
}

@media screen and (max-width: 1400px) {
  #gnav>.nav>li.child_has>a.open:after {
    -webkit-transform: translateY(0.1388888889vw) rotate(-45deg);
    transform: translateY(0.1388888889vw) rotate(-45deg);
  }
}

@media screen and (max-width: 840px) {
  #gnav>.nav>li.child_has>a.open:after {
    -webkit-transform: translateY(0.5128205128vw) rotate(-45deg);
    transform: translateY(0.5128205128vw) rotate(-45deg);
  }
}

#gnav>.nav>li.child_has .child {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  padding: 3rem 0;
  background: #0A51B8;
}

@media screen and (max-width: 1400px) {
  #gnav>.nav>li.child_has .child {
    padding: 2.0833333333vw 0;
  }
}

@media screen and (max-width: 840px) {
  #gnav>.nav>li.child_has .child {
    position: relative;
    padding: 0;
    background: none;
  }
}

#gnav>.nav>li.child_has .child .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 4.5rem;
  max-width: 120rem;
}

@media screen and (max-width: 1400px) {
  #gnav>.nav>li.child_has .child .wrap {
    gap: 3.125vw;
  }
}

@media screen and (max-width: 840px) {
  #gnav>.nav>li.child_has .child .wrap {
    display: block;
    width: 100%;
  }
}

#gnav>.nav>li.child_has .child .wrap p {
  width: 13rem;
  font-size: 2rem;
  color: #fff;
  font-weight: 700;
}

@media screen and (max-width: 1400px) {
  #gnav>.nav>li.child_has .child .wrap p {
    width: 9.0277777778vw;
    font-size: 1.3888888889vw;
  }
}

@media screen and (max-width: 840px) {
  #gnav>.nav>li.child_has .child .wrap p {
    display: none;
  }
}

#gnav>.nav>li.child_has .child .wrap ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.8rem;
  width: calc(100% - 13rem);
  padding: 2rem 4.6rem;
  border-left: 0.1rem solid #3B74C6;
}

@media screen and (max-width: 1400px) {
  #gnav>.nav>li.child_has .child .wrap ul {
    gap: 1.25vw;
    width: calc(100% - 9.0277777778vw);
    padding: 1.3888888889vw 3.1944444444vw;
  }
}

@media screen and (max-width: 840px) {
  #gnav>.nav>li.child_has .child .wrap ul {
    display: block;
    width: 100%;
    padding: 5.1282051282vw 6.9230769231vw 6.1538461538vw;
    border-left: none;
    border-top: 0.1rem solid #D6D6D6;
  }
}

#gnav>.nav>li.child_has .child .wrap ul>li {
  width: 33.3333333333%;
}

@media screen and (max-width: 840px) {
  #gnav>.nav>li.child_has .child .wrap ul>li {
    width: 100%;
  }
}

@media screen and (max-width: 840px) {
  #gnav>.nav>li.child_has .child .wrap ul>li+li {
    margin-top: 4.358974359vw;
  }
}

#gnav>.nav>li.child_has .child .wrap ul>li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
  font-size: 1.5rem;
  color: #fff;
  font-weight: 500;
}

@media screen and (max-width: 1400px) {
  #gnav>.nav>li.child_has .child .wrap ul>li a {
    gap: 1.0416666667vw;
    font-size: 1.0416666667vw;
  }
}

@media screen and (max-width: 840px) {
  #gnav>.nav>li.child_has .child .wrap ul>li a {
    gap: 3.3333333333vw;
    font-size: 4.1025641026vw;
    color: #222;
  }
}

#gnav>.nav>li.child_has .child .wrap ul>li a:before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.1rem;
  background: #fff;
}

@media screen and (max-width: 1400px) {
  #gnav>.nav>li.child_has .child .wrap ul>li a:before {
    width: 0.5555555556vw;
  }
}

@media screen and (max-width: 840px) {
  #gnav>.nav>li.child_has .child .wrap ul>li a:before {
    width: 2.0512820513vw;
    height: 0.3846153846vw;
    background: #0A51B8;
  }
}

#gnav .btn a {
  width: 20rem;
  height: 5.2rem;
  font-size: 1.7rem;
  border-radius: 3rem;
}

@media screen and (max-width: 1400px) {
  #gnav .btn a {
    width: 11.8055555556vw;
    height: 3.6111111111vw;
    font-size: 1.1805555556vw;
    border-radius: 2.0833333333vw;
  }
}

@media screen and (max-width: 840px) {
  #gnav .btn a {
    width: 100%;
    height: 15.3846153846vw;
    font-size: 3.8461538462vw;
    border-radius: 1.2820512821vw;
  }
}

#gnav .btn a:hover {
  color: #fff;
  background: #CE312A;
}

@media screen and (max-width: 840px) {
  #gnav .btn._b a {
    background: #0A51B8;
  }
}

#gnav .btn._online {
  margin-top: 2.0512820513vw;
}

@media screen and (max-width: 840px) {
  #gnav .btn._online a {
    color: #0A51B8;
    border: 0.5128205128vw solid #0A51B8;
    background: #fff;
  }
}

@media screen and (max-width: 840px) {
  .btn_menu {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 16.6666666667vw;
    height: 16.6666666667vw;
    background: #0A51B8;
  }

  .btn_menu .toggle {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 8.4615384615vw;
    height: 4.8974358974vw;
  }

  .btn_menu .toggle span {
    display: inline-block;
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 0.4358974359vw;
    margin: auto;
    background: #fff;
    -webkit-transition: all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  }

  .btn_menu .toggle span:nth-of-type(1) {
    top: 0;
  }

  .btn_menu .toggle span:nth-of-type(2) {
    top: 0;
    bottom: 0;
    margin: auto;
  }

  .btn_menu .toggle span:nth-of-type(3) {
    bottom: 0;
  }

  .btn_menu .toggle.active span:nth-of-type(1) {
    -webkit-transform: translateY(0.9rem) rotate(136deg);
    transform: translateY(0.9rem) rotate(136deg);
  }

  .btn_menu .toggle.active span:nth-of-type(2) {
    opacity: 0;
  }

  .btn_menu .toggle.active span:nth-of-type(3) {
    top: 0;
    bottom: auto;
    -webkit-transform: translateY(0.9rem) rotate(-136deg);
    transform: translateY(0.9rem) rotate(-136deg);
  }
}

/* header scroll */
#header {
  background: none;
}

#header #logo .w {
  display: block;
}

#header #logo .usual {
  display: none;
}

#header #gnav>.nav>li>a {
  color: #fff;
}

@media screen and (max-width: 840px) {
  #header #gnav>.nav>li>a {
    color: #222;
  }
}

#header #gnav>.nav>li>a:before {
  background: #fff;
}

@media screen and (max-width: 840px) {
  #header #gnav>.nav>li>a:before {
    display: none;
  }
}

#header #gnav>.nav>li.child_has>a:after {
  border-top: solid 0.2rem #fff;
  border-right: solid 0.2rem #fff;
}

@media screen and (max-width: 1400px) {
  #header #gnav>.nav>li.child_has>a:after {
    border-top: solid 0.1388888889vw #fff;
    border-right: solid 0.1388888889vw #fff;
  }
}

@media screen and (max-width: 840px) {
  #header #gnav>.nav>li.child_has>a:after {
    border-top: solid 0.5128205128vw #0A51B8;
    border-right: solid 0.5128205128vw #0A51B8;
  }
}

#header #gnav .btn a {
  border: 0.2rem solid #FFF;
  background: none;
}

@media screen and (max-width: 1400px) {
  #header #gnav .btn a {
    border: 0.1388888889vw solid #FFF;
  }
}

#header #gnav .btn a:hover {
  color: #fff;
  border: 0.2rem solid #CE312A;
  background: #CE312A;
}

@media screen and (max-width: 1400px) {
  #header #gnav .btn a:hover {
    border: 0.1388888889vw solid #CE312A;
  }
}

@media screen and (max-width: 840px) {
  #header #gnav .btn._b a {
    background: #0A51B8;
  }
}

@media screen and (max-width: 840px) {
  #header #gnav .btn._online a {
    border: 0.5128205128vw solid #0A51B8;
    background: #fff;
  }
}

.scroll #header {
  background: #fff;
}

.scroll #header #logo .w {
  display: none;
}

.scroll #header #logo .usual {
  display: block;
}

.scroll #header #gnav>.nav>li>a {
  color: #222;
}

.scroll #header #gnav>.nav>li>a:before {
  background: #CE312A;
}

.scroll #header #gnav>.nav>li>a:after {
  border-top: solid 0.2rem #0A51B8;
  border-right: solid 0.2rem #0A51B8;
}

@media screen and (max-width: 1400px) {
  .scroll #header #gnav>.nav>li>a:after {
    border-top: solid 0.1388888889vw #0A51B8;
    border-right: solid 0.1388888889vw #0A51B8;
  }
}

@media screen and (max-width: 840px) {
  .scroll #header #gnav>.nav>li>a:after {
    border-top: solid 0.5128205128vw #0A51B8;
    border-right: solid 0.5128205128vw #0A51B8;
  }
}

.scroll #header #gnav .btn a {
  border: none;
  background: #0A51B8;
}

.scroll #header #gnav .btn a:hover {
  color: #fff;
  background: #CE312A;
}

@media screen and (max-width: 840px) {
  .scroll #header #gnav .btn._online a {
    border: 0.5128205128vw solid #0A51B8;
    background: #fff;
  }
}

/* fv */
.lower_fv {
  position: relative;
}

.lower_fv h1 {
  width: 100%;
  color: #fff;
  font-size: 5.5rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  position: absolute;
  top: 42%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.lower_fv::before {
  content: "";
  background: url(../img/common/bg_fv02.svg) no-repeat center bottom;
  background-size: cover;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  /*height: 9.375vw;*/
  height: 9.375vw;
  width: 100%;
  z-index: 2;
}

@media screen and (max-width: 1400px) {
  .lower_fv h1 {
    font-size: 3.928vw;
  }

  .lower_fv::before {
    background-image: url(../img/common/bg_fv02_sp.svg);
    height: 9.3334vw;
  }
}

@media screen and (max-width: 840px) {
  .lower_fv h1 {
    top: 50%;
    font-size: 7.467vw;
    width: 90%;
  }
}

/* lower */
.breadcrumb {
  font-size: 1.4rem;
  color: #C7C7C7;
  letter-spacing: 0.06em;
}

.breadcrumb ul {
  display: flex;
}

.breadcrumb ul li {
  font-size: 1.4rem;
  color: #C7C7C7;
  letter-spacing: 0.06em;
}

.breadcrumb ul li::after {
  content: "/";
  margin: 0 4px;
}

.breadcrumb ul li:last-child::after {
  content: none;
}

.breadcrumb ul li a {
  font-size: 1.4rem;
  ;
  color: #222222;
  letter-spacing: 0.06em;
  text-decoration: underline;
}

.breadcrumb ul li a:hover {
  text-decoration: none;
}

.breadcrumb a {
  text-decoration: underline;
}

.breadcrumb a:hover {
  text-decoration: none;
}

.breadcrumb a,
.breadcrumb span {
  font-size: 1.4rem;
  ;
  color: #222222;
  letter-spacing: 0.06em;
}

.breadcrumb .wrap {
  max-width: 150rem;
}

.lower_main {
  padding-bottom: 32rem;
}

@media screen and (max-width: 1200px) {

  .breadcrumb,
  .breadcrumb ul li,
  .breadcrumb ul li a,
  .breadcrumb a,
  .breadcrumb span {
    font-size: 1.167vw;
  }

  .lower_main {
    padding-bottom: 26.666vw;
  }
}

@media screen and (max-width: 840px) {

  .breadcrumb,
  .breadcrumb ul li,
  .breadcrumb ul li a,
  .breadcrumb a,
  .breadcrumb span {
    font-size: 3.2vw;
  }

  .lower_main {
    padding-bottom: 44.8vw;
  }
}