@charset "UTF-8";
/* 共通 */
html {
  -webkit-tap-highlight-color: transparent;
}

* {
  box-sizing: border-box;
}

@font-face {
  src: url("../fonts/NotoSansJP-Black900.woff") format("woff");
  font-family: "Noto Sans JP 900";
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url("../fonts/NotoSansJP-Bold700.woff") format("woff");
  font-family: "Noto Sans JP 700";
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url("../fonts/NotoSansJP-Medium500.woff") format("woff");
  font-family: "Noto Sans JP 500";
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url("../fonts/NotoSansJP-Regular400.woff") format("woff");
  font-family: "Noto Sans JP 400";
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url("../fonts/NotoSansJP-Light300.woff") format("woff");
  font-family: "Noto Sans JP 300";
  font-style: normal;
  font-display: swap;
}
@media screen and (max-width: 1080px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 1080px) {
  .sp {
    display: block;
  }
}

/* 共通 */
body {
  position: relative;
  color: #150301;
  font-family: "Hiragino Kaku Gothic ProN", sans-serif;
}
body a {
  color: #fff;
  transition: ease 0.5s;
}
body .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  z-index: -1;
}
body .bg__inner {
  position: fixed;
  top: 0;
  left: 0;
  background-image: url("../images/bg-flow.svg");
  background-position: center;
  background-repeat: repeat-y;
  background-size: cover;
  background-color: #fff;
  width: 100%;
  height: 100vh;
  z-index: -3;
}

.u-sppc {
  display: none;
}
@media screen and (max-width: 1080px) {
  .u-sppc {
    display: block;
  }
}

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

.u-sptab {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-sptab {
    display: inline-block !important;
  }
}

@media screen and (max-width: 767px) {
  .u-tab {
    display: none !important;
  }
}

.u-spout {
  display: none;
}
@media screen and (max-width: 480px) {
  .u-spout {
    display: inline-block !important;
  }
}

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

.u-Ban img {
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  user-select: none;
}

/* パディング */
.u-pr20 {
  padding-right: 20px;
}

.u-pt10 {
  padding-top: 10px;
}

.u-pt15 {
  padding-top: 15px;
}

.u-pt20 {
  padding-top: 20px;
}

.u-pt30 {
  padding-top: 30px;
}
@media screen and (max-width: 767px) {
  .u-pt30 {
    padding-top: 20px;
  }
}

.u-pt50 {
  padding-top: 50px;
}
@media screen and (max-width: 767px) {
  .u-pt50 {
    padding-top: 30px;
  }
}

.u-pt70 {
  padding-top: 70px;
}
@media screen and (max-width: 767px) {
  .u-pt70 {
    padding-top: 40px;
  }
}

.u-pt100 {
  padding-top: 100px;
}
@media screen and (max-width: 767px) {
  .u-pt100 {
    padding-top: 50px;
  }
}

.u-pt130 {
  padding-top: 130px;
}
@media screen and (max-width: 767px) {
  .u-pt130 {
    padding-top: 50px;
  }
}

.u-pt150 {
  padding-top: 150px;
}
@media screen and (max-width: 767px) {
  .u-pt150 {
    padding-top: 70px;
  }
}

.u-pt200 {
  padding-top: 200px;
}
@media screen and (max-width: 767px) {
  .u-pt200 {
    padding-top: 100px;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-pb20 {
    padding-bottom: 20px;
  }
}

.u-pb10 {
  padding-bottom: 10px;
}

.u-pb20 {
  padding-bottom: 20px;
}

.u-pb30 {
  padding-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .u-pb30 {
    padding-bottom: 20px;
  }
}

.u-pb50 {
  padding-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .u-pb50 {
    padding-bottom: 30px;
  }
}

.u-pb70 {
  padding-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .u-pb70 {
    padding-bottom: 40px;
  }
}

.u-pb100 {
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .u-pb100 {
    padding-bottom: 50px;
  }
}

.u-pb130 {
  padding-bottom: 130px;
}
@media screen and (max-width: 767px) {
  .u-pb130 {
    padding-bottom: 50px;
  }
}

.u-pb150 {
  padding-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .u-pb150 {
    padding-bottom: 70px;
  }
}

.u-pb200 {
  padding-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .u-pb200 {
    padding-bottom: 70px;
  }
}

.u-pr10 {
  margin-right: 10px;
}

.u-mb10 {
  margin-bottom: 10px;
}

.u-mb20 {
  margin-bottom: 20px;
}

.u-mb30 {
  margin-bottom: 30px;
}

.u-mb70 {
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .u-mb70 {
    margin-bottom: 30px;
  }
}

.u-mb100 {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .u-mb100 {
    margin-bottom: 50px;
  }
}

.u-mb130 {
  margin-bottom: 130px;
}
@media screen and (max-width: 767px) {
  .u-mb130 {
    margin-bottom: 70px;
  }
}

.u-mb50 {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .u-mb50 {
    margin-bottom: 30px;
  }
}

.u-mb80 {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .u-mb80 {
    margin-bottom: 30px;
  }
}

.u-mb150 {
  margin-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .u-mb150 {
    margin-bottom: 13.8vw;
  }
}

.m_t_100 {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .m_t_100 {
    margin-top: 50px;
  }
}

/* 文字間 */
.u-ls01 {
  letter-spacing: 0.1rem;
}

.u-ls05 {
  letter-spacing: 0.5rem;
}
@media screen and (max-width: 1080px) {
  .u-ls05 {
    margin-bottom: 0.18vw;
  }
}

.u-ls07 {
  letter-spacing: 0.7rem;
}
@media screen and (max-width: 1080px) {
  .u-ls07 {
    letter-spacing: 0.18vw;
  }
}

.u-ls03 {
  letter-spacing: 0.3rem;
}
@media screen and (max-width: 1080px) {
  .u-ls03 {
    margin-bottom: 0.1vw;
  }
}

/* 行間 */
.u-lh25 {
  line-height: 2.5rem;
}
@media screen and (max-width: 767px) {
  .u-lh25 {
    line-height: 2rem;
  }
}

.u-lh30 {
  line-height: 3rem;
}
@media screen and (max-width: 767px) {
  .u-lh30 {
    line-height: 2.5rem;
  }
}

.u-lh35 {
  line-height: 3.5rem;
}
@media screen and (max-width: 767px) {
  .u-lh35 {
    line-height: 3rem;
  }
}

.u-lh40 {
  line-height: 4rem;
}
@media screen and (max-width: 767px) {
  .u-lh40 {
    line-height: 3.5rem;
  }
}

.u-lh45 {
  line-height: 4.5rem;
}
@media screen and (max-width: 767px) {
  .u-lh45 {
    line-height: 4rem;
  }
}
@media screen and (max-width: 480px) {
  .u-lh45 {
    line-height: 3rem;
  }
}

.u-lh50 {
  line-height: 5rem;
}
@media screen and (max-width: 767px) {
  .u-lh50 {
    line-height: 4.5rem;
  }
}

/* フォントサイズ */
.u-font10 {
  font-size: 1rem;
}

.u-font12 {
  font-size: 1.2rem;
}
@media screen and (max-width: 1080px) {
  .u-font12 {
    font-size: 1rem;
  }
}

.u-font13 {
  font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
  .u-font13 {
    font-size: 1.2rem;
  }
}

.u-font14 {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .u-font14 {
    font-size: 1.2rem;
  }
}

.u-font15 {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .u-font15 {
    font-size: 1.3rem;
  }
}

.u-font16 {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .u-font16 {
    font-size: 1.4rem;
  }
}

.u-font17 {
  font-size: 1.7rem;
}
@media screen and (max-width: 767px) {
  .u-font17 {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 480px) {
  .u-font17 {
    font-size: 1.4rem;
  }
}

.u-font18 {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .u-font18 {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 480px) {
  .u-font18 {
    font-size: 1.5rem;
  }
}

.u-font19 {
  font-size: 1.9rem;
}
@media screen and (max-width: 767px) {
  .u-font19 {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 480px) {
  .u-font19 {
    font-size: 1.5rem;
  }
}

.u-font20 {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .u-font20 {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 480px) {
  .u-font20 {
    font-size: 1.6rem;
  }
}

.u-font22 {
  font-size: 2.2rem;
}
@media screen and (max-width: 767px) {
  .u-font22 {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 480px) {
  .u-font22 {
    font-size: 1.6rem;
  }
}

.u-font23 {
  font-size: 2.3rem;
}
@media screen and (max-width: 767px) {
  .u-font23 {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 480px) {
  .u-font23 {
    font-size: 1.6rem;
  }
}

.u-font24 {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .u-font24 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 480px) {
  .u-font24 {
    font-size: 1.8rem;
  }
}

.u-font25 {
  font-size: 2.5rem;
}
@media screen and (max-width: 767px) {
  .u-font25 {
    font-size: 2.3rem;
  }
}
@media screen and (max-width: 480px) {
  .u-font25 {
    font-size: 1.8rem;
  }
}

.u-font26 {
  font-size: 2.6rem;
}
@media screen and (max-width: 767px) {
  .u-font26 {
    font-size: 2.3rem;
  }
}
@media screen and (max-width: 480px) {
  .u-font26 {
    font-size: 1.8rem;
  }
}

.u-font28 {
  font-size: 2.8rem;
}
@media screen and (max-width: 767px) {
  .u-font28 {
    font-size: 2.3rem;
  }
}
@media screen and (max-width: 480px) {
  .u-font28 {
    font-size: 1.8rem;
  }
}

.u-font30 {
  font-size: 3rem;
}
@media screen and (max-width: 1080px) {
  .u-font30 {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 480px) {
  .u-font30 {
    font-size: 2rem;
  }
}

.u-font36 {
  font-size: 3.6rem;
}
@media screen and (max-width: 1080px) {
  .u-font36 {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 480px) {
  .u-font36 {
    font-size: 2rem;
  }
}

.u-font40 {
  font-size: 4rem;
}
@media screen and (max-width: 1080px) {
  .u-font40 {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 767px) {
  .u-font40 {
    font-size: 2.9rem;
  }
}
@media screen and (max-width: 480px) {
  .u-font40 {
    font-size: 2.5rem;
  }
}

.u-font50 {
  font-size: 5rem;
}
@media screen and (max-width: 1200px) {
  .u-font50 {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .u-font50 {
    font-size: 3.5rem;
  }
}

.u-font60 {
  font-size: 6rem;
}
@media screen and (max-width: 1200px) {
  .u-font60 {
    font-size: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .u-font60 {
    font-size: 4.5rem;
  }
}

.u-sp_u {
  display: inline-block;
}

.u-tsume02 {
  text-align: justify;
}

.u-center {
  text-align: center;
}

.u-pccenter {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .u-pccenter {
    text-align: left;
  }
}

.u-tar {
  text-align: right;
}

.l-list, .l-list02, .l-list03 {
  list-style: none;
  counter-reset: number;
}
.l-list li, .l-list02 li, .l-list03 li {
  position: relative;
}
.l-list li::after, .l-list02 li::after, .l-list03 li::after {
  counter-increment: number;
  position: absolute;
  left: 0;
  top: 0;
}

.l-list li {
  padding-left: 30px;
}
.l-list li::after {
  content: "※" counter(number);
}

.l-list02 li {
  padding-left: 37px;
}
.l-list02 li::after {
  content: "※" counter(number) "…";
}

.l-list03 li {
  padding-left: 15px;
}
.l-list03 li::after {
  content: "※";
}

.delay-01 {
  animation-delay: 0.2s;
}

.delay-02 {
  animation-delay: 0.4s;
}

.delay-03 {
  animation-delay: 0.6s;
}

.delay-04 {
  animation-delay: 0.8s;
}

.delay-10 {
  animation-delay: 1s;
}

.fadeInTrigger, .fadeInTrigger-fadeIn, .fadeUpTrigger, .fadeUpTrigger-fadeUp {
  opacity: 0;
}

.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.u-annot {
  text-align: right;
  font-size: 1.3rem;
  line-height: 2rem;
  font-weight: bold;
}

/*フルスクリーン*/
#nav-toggle {
  display: none;
  position: fixed;
  top: 20px;
  right: 20px;
  height: 50px;
  width: 50px;
  padding: 15px 10px;
  cursor: pointer;
  transition: ease 0.2s;
}
@media screen and (max-width: 950px) {
  #nav-toggle {
    display: block;
    height: 82px;
    width: 92px;
    top: 0px;
    right: 0px;
    padding: 25px;
  }
}
#nav-toggle span {
  width: 100%;
  height: 3px;
  border-radius: 100px;
  left: 0;
  display: block;
  background: #fff;
  position: absolute;
  transition: transform 0.6s ease-in-out, top 0.5s ease;
}
#nav-toggle span:hover span:nth-child(1) {
  top: 4px;
}
#nav-toggle span:hover span:nth-child(3) {
  top: 23px;
}
#nav-toggle span:nth-child(1) {
  top: 0;
}
#nav-toggle span:nth-child(2) {
  top: 15px;
}
@media screen and (max-width: 767px) {
  #nav-toggle span:nth-child(2) {
    top: 14px;
  }
}
#nav-toggle span:nth-child(3) {
  top: 30px;
}
@media screen and (max-width: 767px) {
  #nav-toggle span:nth-child(3) {
    top: 27px;
  }
}

#nav-toggle > div {
  position: relative;
  width: 100%;
}

/* z-index */
#nav-toggle {
  z-index: 99;
}

#gloval-nav {
  background: linear-gradient(145deg, rgba(255, 222, 159, 0.95) 0%, rgba(163, 217, 184, 0.95) 30%, rgba(39, 177, 182, 0.95) 70%, rgba(0, 121, 194, 0.95) 100%);
  position: fixed;
  padding: 100px 20px;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 98;
  visibility: hidden;
  overflow: scroll;
  opacity: 0;
  transition: opacity 0.6s ease, visibility 0.6s ease;
  width: 600px;
}
@media screen and (max-width: 767px) {
  #gloval-nav {
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  #gloval-nav {
    width: 100%;
    padding: 80px 20px;
  }
}

/* open */
.open #gloval-nav {
  visibility: visible;
  opacity: 1;
}
.open #gloval-nav li {
  opacity: 1;
  transform: translateX(0);
  transition: transform 1s ease, opacity 0.9s ease;
}
.open #nav-toggle span {
  background-color: #fff;
}
.open #nav-toggle span:nth-child(1) {
  top: 14px;
  transform: rotate(45deg);
}
.open #nav-toggle span:nth-child(2) {
  top: 15px;
  width: 0;
  left: 50%;
}
.open #nav-toggle span:nth-child(3) {
  top: 14px;
  transform: rotate(-45deg);
}

#gloval-nav .gloval-nav--logo02 {
  position: absolute;
  width: 200px;
  top: 25px;
  left: 20px;
}
@media screen and (max-width: 767px) {
  #gloval-nav .gloval-nav--logo02 {
    width: 130px;
    top: 9px;
    left: 13px;
  }
}
#gloval-nav .gloval-nav__list--nav {
  margin-top: 20px;
  margin-bottom: 50px;
}
@media screen and (max-width: 480px) {
  #gloval-nav .gloval-nav__list--nav {
    margin-top: 5vw;
    margin-bottom: 13vw;
  }
}
#gloval-nav .gloval-nav__list--nav li a {
  display: block;
  text-decoration: none;
  transition: color 0.2s ease;
  color: #fff;
  padding: 20px;
  text-align: center;
  font-size: 2rem;
  line-height: 3rem;
  font-weight: bold;
}
@media screen and (max-width: 480px) {
  #gloval-nav .gloval-nav__list--nav li a {
    padding: 5vw;
    font-size: 6vw;
    line-height: 6vw;
  }
}
#gloval-nav .gloval-nav__list .hum_sns ul {
  display: flex;
}
#gloval-nav .gloval-nav__list .hum_sns ul li {
  margin-right: 20px;
}
#gloval-nav .gloval-nav__list .hum_sns ul li:last-child {
  margin-right: initial;
}
#gloval-nav .gloval-nav__list .hum_sns ul li a {
  display: inline-block;
}
#gloval-nav .gloval-nav__list .hum_sns ul li a:hover {
  opacity: 0.7;
}
#gloval-nav .gloval-nav__list .hum_sns ul li img {
  width: 30px;
}

input[type=submit] {
  cursor: pointer;
  outline: none;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}

.l-checkbox label {
  display: block;
  position: relative;
  padding-left: 25px;
  font-size: 1.6rem;
  margin-bottom: 20px;
  font-family: "Noto Sans JP 700";
}
@media screen and (max-width: 767px) {
  .l-checkbox label {
    font-size: 1.4rem;
  }
}
.l-checkbox label a {
  color: #5E5E5E;
  border-bottom: 1px solid #5E5E5E;
}
.l-checkbox--label {
  position: relative;
}
.l-checkbox--label::after {
  position: absolute;
  content: "";
  width: 14px;
  height: 14px;
  border: 1px solid #150301;
  top: 50%;
  transform: translateY(-50%);
  left: 0px;
}
.l-checkbox--label::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 10px;
  border-bottom: 1px solid #150301;
  border-right: 1px solid #150301;
  top: 50%;
  transform: rotate(45deg) translateY(-50%);
  left: 0px;
  opacity: 0;
  transform-origin: 100% 50%;
}
.l-checkbox input:checked + .l-checkbox--label::before {
  opacity: 1;
}
.l-checkbox input {
  opacity: 0;
}

.co01 {
  color: #FF6A14;
}

.thanks__header {
  padding-top: 15px;
}
@media screen and (max-width: 767px) {
  .thanks__header {
    padding-top: 0px;
  }
}
.thanks__copyrights {
  text-align: center;
  font-size: 1.4rem;
  text-align: center;
  width: 100%;
  padding: 15px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .thanks__copyrights {
    font-size: 1.2rem;
  }
}

.l-thanks {
  margin-top: 100px;
}
.l-thanks__inner {
  width: 1080px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
@media screen and (max-width: 1120px) {
  .l-thanks__inner {
    width: 92%;
  }
}
.l-thanks h1 {
  font-size: 3rem;
  line-height: 5rem;
  font-weight: bold;
  color: #0071BA;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .l-thanks h1 {
    font-size: 2rem;
    line-height: 3rem;
    margin-bottom: 30px;
  }
}
.l-thanks p {
  font-size: 1.8rem;
  line-height: 3rem;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .l-thanks p {
    font-size: 1.4rem;
    line-height: 2rem;
    margin-bottom: 30px;
  }
}
.l-thanks a {
  color: #0071BA;
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .l-thanks a {
    font-size: 1.4rem;
  }
}/*# sourceMappingURL=style.css.map */