@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@700&display=swap");
* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  word-break: break-word;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: baseline;
  background: transparent;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
  display: block;
}

li {
  list-style-type: none;
}

blockquote, q {
  quotes: none;
}

blockquote::before, blockquote::after, q::before, q::after {
  content: '';
  content: none;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  vertical-align: bottom;
  max-width: 100%;
}

picture {
  max-width: 100%;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input, select {
  vertical-align: middle;
}

br {
  line-height: 0;
}

input, textarea, select, button {
  font: inherit;
}

/* safariでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]:focus,
input[type="button"]:focus {
  outline-offset: -2px;
}

/*------------------------------------------------------------
	basic
------------------------------------------------------------*/
html, body {
  font-size: 62.5%;
}

body {
  -webkit-text-size-adjust: 100%;
  font-family: 'Noto Sans JP','游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
  font-size: 2.60417vw;
  font-weight: 300;
  color: #fff;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
}

@media screen and (min-width: 769px) {
  body {
    font-size: 1.26vw;
  }
}

img {
  border: none;
}

a {
  color: #333333;
}

@media screen and (min-width: 769px) {
  a {
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  a:hover {
    opacity: .8;
  }
}

.rightTxt {
  text-align: right;
}

.leftTxt {
  text-align: left;
}

.centerTxt {
  text-align: center;
}

.spShow,
.spIbShow {
  display: none;
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
  .sp._inline {
    display: inline;
  }
  .sp._inline-block {
    display: inline-block;
  }
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.coution {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.5;
}

.strongTxt {
  font-weight: bold;
}

.page_link {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  gap: 1.82292vw;
  padding-inline: 3.90625vw;
  margin-block: 3.90625vw 2.60417vw;
}

@media screen and (min-width: 769px) {
  .page_link {
    gap: 0.89vw;
    padding-inline: 2.11vw;
    margin-block: 2.11vw 1vw;
  }
}

.page_link + p {
  text-align: center;
  margin-bottom: 7.8125vw;
}

@media screen and (min-width: 769px) {
  .page_link + p {
    margin-bottom: 3.95vw;
  }
}

.main_wrap {
  margin-top: 6.51042vw;
}

@media screen and (min-width: 769px) {
  .main_wrap {
    margin-top: 2.63vw;
    background: url(../images/main_bg.jpg) center top/100% repeat-y #000;
    overflow: hidden;
  }
}

#anc1 {
  text-align: center;
  margin-bottom: 8.46354vw;
  /*closed*/
}

@media screen and (min-width: 769px) {
  #anc1 {
    margin-bottom: 4.74vw;
  }
}

#anc1 h2 {
  margin-bottom: 1.95313vw;
}

@media screen and (min-width: 769px) {
  #anc1 h2 {
    margin-bottom: 1.05vw;
  }
}

#anc1 h3 {
  margin-bottom: 3.90625vw;
}

@media screen and (min-width: 769px) {
  #anc1 h3 {
    margin-bottom: 1.58vw;
  }
}

#anc1 .coution.first {
  margin-block: -2.60417vw 2.08333vw;
}

@media screen and (min-width: 769px) {
  #anc1 .coution.first {
    margin-block: -1.26vw 1.05vw;
  }
}

#anc1 .coution.second {
  margin-block: 1.30208vw 3.90625vw;
}

@media screen and (min-width: 769px) {
  #anc1 .coution.second {
    margin-block: 1.32vw 2.63vw;
  }
}

#anc1 .btn-sent {
  display: block;
  width: 55.33854vw;
  margin: 3.25521vw auto 9.11458vw;
}

@media screen and (min-width: 769px) {
  #anc1 .btn-sent {
    width: 27.42vw;
    margin-block: 1.47vw 4.47vw;
  }
}

#anc1 .btn-sent.closedBtn {
  pointer-events: none;
}

#anc1 .products {
  height: 358.98438vw;
  background: url(../images/bg_box.png) top center/100% no-repeat;
}

@media screen and (min-width: 769px) {
  #anc1 .products {
    height: 178.5vw;
  }
}

#anc1 .products h3 {
  display: none;
}

#anc1 .products .coution.first {
  margin: 1.30208vw 10.80729vw 3.90625vw;
  color: #f8da3d;
  font-weight: 700;
}

@media screen and (min-width: 769px) {
  #anc1 .products .coution.first {
    margin: .5vw 5.53vw 3vw;
  }
}

#anc1 .products .coution.second {
  margin: 2.60417vw 10.80729vw 1.95313vw;
  text-align: left;
}

@media screen and (min-width: 769px) {
  #anc1 .products .coution.second {
    margin: 1.25vw 5.53vw 1.5vw;
  }
}

#anc1 .products .coution_wrap {
  border: 0.52083vw solid #e50012;
  width: 80.98958vw;
  margin: 3.90625vw auto 7.29167vw;
  background-color: #fff;
  padding: 1.95313vw 2.60417vw;
}

@media screen and (min-width: 769px) {
  #anc1 .products .coution_wrap {
    border: 0.21vw solid #e50012;
    width: 40vw;
    margin: 2.5vw auto 4vw;
    background-color: #fff;
    padding: 1.3vw 1.5vw 1.58vw 1.2vw;
  }
}

#anc1 .products .coution_wrap .coution {
  display: block;
  color: #e50012;
  font-weight: 400;
  text-align: left;
  line-height: 1.25;
}

#anc1 .products .coution_wrap .coution:not(:last-child) {
  margin-bottom: .25em;
}

#anc1 .products .coution_wrap .coution.txt_c {
  width: 100%;
  font-size: 3.38542vw;
  font-weight: 700;
  text-align: center;
  padding-left: 0;
  text-indent: 0;
  margin-top: .5em;
}

@media screen and (min-width: 769px) {
  #anc1 .products .coution_wrap .coution.txt_c {
    font-size: 1.79vw;
  }
}

#anc1 .products .coution_wrap .centerTxt {
  display: block;
  color: #e50012;
  font-weight: 400;
  line-height: 1.25;
}

#anc1 .products .btn-munu {
  width: 73.4375vw;
  margin: auto;
}

@media screen and (min-width: 769px) {
  #anc1 .products .btn-munu {
    width: 36.21vw;
  }
}

#anc1 .products .txt {
  font-size: 3.125vw;
  width: 80.72917vw;
  margin: 2.34375vw auto;
  text-align: left;
}

@media screen and (min-width: 769px) {
  #anc1 .products .txt {
    width: 40vw;
    font-size: 1.58vw;
    margin: 1vw auto;
    line-height: 1.5;
  }
}

@media screen and (min-width: 769px) {
  #anc1 .img.first {
    padding-inline: 0.53vw;
  }
}

#anc1 .closed:first-of-type {
  margin-bottom: 6.51042vw;
}

@media screen and (min-width: 769px) {
  #anc1 .closed:first-of-type {
    margin-bottom: 3.5vw;
  }
}

#anc2 {
  margin-bottom: 8.46354vw;
  /*closed*/
}

@media screen and (min-width: 769px) {
  #anc2 {
    margin-bottom: 7.37vw;
  }
}

#anc2 h2 {
  margin-bottom: 1.95313vw;
}

@media screen and (min-width: 769px) {
  #anc2 h2 {
    margin-bottom: 1.05vw;
  }
}

#anc2 .coution.first {
  margin: 1.95313vw 4.94792vw 3.25521vw;
}

@media screen and (min-width: 769px) {
  #anc2 .coution.first {
    margin: 1.16vw 2.37vw;
    line-height: 1.5;
    font-size: 1.32vw;
  }
}

#anc2 .coution_wrap {
  margin: 1.95313vw 4.94792vw 3.25521vw;
}

@media screen and (min-width: 769px) {
  #anc2 .coution_wrap {
    margin: 1.58vw 2.37vw;
    line-height: 1.5;
    font-size: 1.32vw;
  }
}

#anc2 .coution_wrap .coution {
  display: block;
}

#anc2 .btn-sent {
  display: block;
  width: 55.33854vw;
  height: 12.89063vw;
  margin: 3.25521vw auto 9.11458vw;
}

#anc2 .btn-sent.closed {
  pointer-events: none;
}

#anc2.closed::after {
  height: 121.09375vw;
  background: url(../images/closed_txt_anc2.png) center/57.8125vw no-repeat rgba(91, 91, 91, 0.8);
  top: 24.73958vw;
}

@media screen and (min-width: 769px) {
  #anc2.closed::after {
    height: 60.3vw;
    top: 12.4vw;
    background-size: 28.68vw auto;
  }
}

#anc3 {
  padding-bottom: 52.08333vw;
  background: url(../images/bg_earth.png) center bottom/100% no-repeat;
  /*closed*/
}

@media screen and (min-width: 769px) {
  #anc3 {
    padding-bottom: 26.32vw;
  }
}

#anc3 .link_x {
  display: block;
  margin: 10.41667vw 10.41667vw 7.16146vw;
}

@media screen and (min-width: 769px) {
  #anc3 .link_x {
    margin: 5.16vw auto 3.68vw;
    width: 39.16vw;
  }
}

#anc3 .contact {
  margin-inline: 4.16667vw;
}

@media screen and (min-width: 769px) {
  #anc3 .contact {
    margin-inline: 2vw;
  }
}

#anc3.closed::after {
  height: 238.54167vw;
  background: url(../images/closed_txt_anc3.png) center/84.89583vw no-repeat rgba(91, 91, 91, 0.8);
  top: 24.73958vw;
}

@media screen and (min-width: 769px) {
  #anc3.closed::after {
    height: 118.58vw;
    top: 12.21vw;
    background-size: 42.05vw auto;
  }
}

#anc4 {
  padding: 15.625vw 7.8125vw 9.76563vw;
  background: url(../images/bg_cont04.png) top center/cover no-repeat;
  margin-top: -3.25521vw;
}

@media screen and (min-width: 769px) {
  #anc4 {
    padding: 7.79vw 3.95vw 3.95vw;
    background-image: url(../images/bg_cont04_pc.png);
    margin-top: -2.63vw;
  }
}

#anc4 .txt {
  margin-block: 5.20833vw;
  font-size: 3.125vw;
  font-weight: 700;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 769px) {
  #anc4 .txt {
    margin-block: 2.37vw;
    font-size: 1.58vw;
    line-height: 1.5;
  }
}

#anc4 .txt.first {
  margin-top: 7.8125vw;
}

@media screen and (min-width: 769px) {
  #anc4 .txt.first {
    margin-top: 3.95vw;
  }
}

#anc4 .txt .fc_yellow {
  color: #f8da3d;
}

#anc4 .poster {
  width: 63.54167vw;
  margin: auto;
}

@media screen and (min-width: 769px) {
  #anc4 .poster {
    width: 31.58vw;
  }
}

#anc4 .copyright {
  text-align: center;
  margin-top: 2.60417vw;
}

@media screen and (min-width: 769px) {
  #anc4 .copyright {
    margin-top: 1.2vw;
    line-height: 1.5;
  }
}

#anc4 .link_gquuuuuux {
  display: block;
  margin: 4.55729vw 10.41667vw 1.30208vw;
}

@media screen and (min-width: 769px) {
  #anc4 .link_gquuuuuux {
    margin: 1.84vw auto .53vw;
    width: 31.32vw;
  }
}

@media screen and (max-width: 768px) {
  .l-main {
    background: url(../images/main_bg.jpg) center top/100% repeat-y #000;
  }
}

@media screen and (min-width: 769px) {
  .l-main {
    width: 100%;
    border-top: 2px solid #fff;
  }
  .l-main__inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (50%)[2];
    grid-template-columns: repeat(2, 50%);
    position: relative;
  }
  .main__stickyArea {
    height: 100dvh;
    border-right: 2px solid #fff;
    display: -ms-grid;
    display: grid;
    position: -webkit-sticky;
    position: sticky;
    top: 0px;
    left: 0px;
    background: url(../images/main_bg.jpg) center top/100% repeat-y #000;
    place-content: center;
  }
  .main__stickyAreaInner {
    height: 100%;
    overflow-y: scroll;
    scrollbar-width: none;
  }
  .main__stickyAreaInner::-webkit-scrollbar {
    display: none;
  }
  .p-mv {
    padding-block: 2vw;
    height: 100%;
  }
  .p-mv img {
    width: auto;
    max-height: 100%;
  }
}

/*closed*/
.closed {
  position: relative;
  pointer-events: none;
}

.closed::after {
  content: "";
  display: block;
  width: 96%;
  height: 100%;
  background: url(../images/closed_txt.png) center/46.09375vw no-repeat rgba(91, 91, 91, 0.8);
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media screen and (min-width: 769px) {
  .closed::after {
    background-size: 22.84vw auto;
  }
}
