@charset "UTF-8";

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}

* {
  box-sizing: border-box;
}

main {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body.lp {
  position: relative;
  width: 100%;
  height: 100%;
  font-family: "M PLUS Rounded 1c", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ Pro W4",
    "Hiragino Maru Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 26px;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
}
@media screen and (max-width: 520px) {
  body.lp {
    font-size: 18px;
    font-size: 4.8vw;
  }
}
body.lp .liLinkList__lpSp {
  display: none;
}
@media screen and (max-width: 520px) {
  body.lp .liLinkList__lpSp {
    display: block;
  }
}
body.lp .lpTitle {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}
body.lp .lpLogo {
  padding-top: 20px;
  text-align: center;
}
@media screen and (max-width: 520px) {
  body.lp .lpLogo__inner {
    display: block;
    width: 100%;
    overflow: hidden;
  }
}
body.lp .lpLogo img {
  display: block;
  width: 680px;
  max-width: 100%;
  margin: auto;
  vertical-align: bottom;
}
@media screen and (max-width: 960px) {
  body.lp .lpLogo img {
    width: 70.83333vw;
  }
}
@media screen and (max-width: 520px) {
  body.lp .lpLogo img {
    width: 81.73333vw;
  }
}
body.lp .lpLogo::after {
  content: "";
  display: block;
  position: relative;
  width: 800px;
  margin: 60px auto 50px;
  border-top: 1px solid #000;
}
@media screen and (max-width: 960px) {
  body.lp .lpLogo::after {
    width: 83.3333vw;
  }
}
@media screen and (max-width: 520px) {
  body.lp .lpLogo::after {
    width: 88vw;
    max-width: 721px;
  }
}

body.lp .lpLogo video {
  width: 960px;
}
@media screen and (max-width: 960px) {
  body.lp .lpLogo video {
    width: 100%;
  }
}
body.lp .lpLogo .wrap {
  width: 960px;
}
@media screen and (max-width: 960px) {
  body.lp .lpLogo .wrap {
    width: 100%;
  }
}
body.lp .lpStopButton {
  position: absolute;
  top: 20px;
  right: 40px;
  width: 148px;
  height: 148px;
  padding: 0;
  cursor: pointer;
  background: 0 0;
  border: none;
}
@media screen and (max-width: 960px) {
  body.lp .lpStopButton {
    top: 24px;
    right: 24px;
    width: 19.58333%;
    max-width: 148px;
    height: 0;
    padding-top: 15.41667vw;
  }
}
@media screen and (max-width: 520px) {
  body.lp .lpStopButton {
    top: 3.2vw;
    right: 3.2vw;
    width: 25.06667vw;
    padding-top: 25.06667vw;
  }
}
body.lp .lpStopButton img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
body.lp .lpText {
  padding-bottom: 140px;
  line-height: 3.6;
  text-align: center;
  letter-spacing: 0.2em;
  white-space: nowrap;
}
/* Firefox */
@-moz-document url-prefix() {
  body.lp .lpText {
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: break-word;
  }
}
@media screen and (max-width: 960px) {
  body.lp .lpText {
    line-height: 3;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 520px) {
  body.lp .lpText {
    padding-top: 0;
    padding-bottom: 26.66667vw;
  }
}
body.lp .lpText ruby {
  position: relative;
}
body.lp .lpText rt {
  font-size: 16px;
  letter-spacing: 0;
  white-space: nowrap;
}
body.lp .lpText rt.koujyou {
  width: 1.5em;
  -webkit-transform: translate(-0.7em, 0);
  -ms-transform: translate(-0.7em, 0);
  transform: translate(-0.7em, 0);
}
body.lp .lpText rt.kyouryoku {
  width: 2em;
  -webkit-transform: translate(-0.8em, 0);
  -ms-transform: translate(-0.8em, 0);
  transform: translate(-0.8em, 0);
}
@media screen and (max-width: 960px) {
  body.lp .lpText rt {
    padding-right: 0;
  }
}
@media screen and (max-width: 520px) {
  body.lp .lpText rt {
    font-size: 11px;
    font-size: 2.93333vw;
  }
}
@media screen and (max-width: 320px) {
  body.lp .lpText rt {
    font-size: 10px;
    font-size: 2.66667vw;
  }
}
body.lp .lpText__uLine {
  position: relative;
}
body.lp .lpText__uLine::after {
  position: absolute;
  right: 0;
  bottom: -10px;
  left: 0;
  display: block;
  width: 100%;
  height: 4px;
  content: "";
  border-bottom: 4px dotted #eb6e32;
}
@media screen and (max-width: 960px) {
  body.lp .lpText__uLine::after {
    bottom: -6px;
    border-bottom: 3px dotted #eb6e32;
  }
}
body.lp .liLinkListWrap {
  margin-bottom: 60px;
  background: #eb6e32;
}
@media screen and (max-width: 520px) {
  body.lp .liLinkListWrap {
    margin-bottom: 60px;
  }
}
body.lp .liLinkList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 94.21875%;
  max-width: 1206px;
  height: 120px;
  padding: 0;
  margin: auto;
  letter-spacing: 0.2em;
  list-style-type: none;
}
@media print, screen and (max-width: 1140px) {
  body.lp .liLinkList {
    width: 98.4375%;
  }
}
@media screen and (max-width: 960px) {
  body.lp .liLinkList {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    height: auto;
  }
}
body.lp .liLinkList li {
  position: relative;
  display: block;
}
body.lp .liLinkList li::after {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 2px;
  height: 90px;
  content: "";
  background: #fff;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
body.lp .liLinkList li:nth-child(1),
body.lp .liLinkList li:nth-child(2) {
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 28%;
}
body.lp .liLinkList li:nth-child(3) {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}
body.lp .liLinkList li:nth-child(3)::after {
  display: none;
}
@media screen and (max-width: 960px) {
  body.lp .liLinkList li {
    width: 50%;
  }
  body.lp .liLinkList li:nth-child(1) {
    width: 50%;
  }
  body.lp .liLinkList li:nth-child(1)::after {
    height: 100%;
  }
  body.lp .liLinkList li:nth-child(2) {
    width: 50%;
  }
  body.lp .liLinkList li:nth-child(2)::after {
    display: none;
  }
  body.lp .liLinkList li:nth-child(3) {
    width: 100%;
  }
  body.lp .liLinkList li:nth-child(3)::after {
    top: 0;
    right: auto;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
  }
}
body.lp .liLinkList a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: calc(100% - 40px);
  height: 94px;
  margin: auto;
  font-size: 26px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0;
  white-space: nowrap;
  -webkit-transition: 0.4s;
  -o-transition: 0.4s;
  transition: 0.4s;
}
@media print, screen and (max-width: 1140px) {
  body.lp .liLinkList a {
    width: calc(100% - 20px);
  }
}
@media screen and (max-width: 520px) {
  body.lp .liLinkList a {
    font-size: 23px;
    font-size: 6.13333vw;
  }
}
@media screen and (max-width: 960px) {
  body.lp .liLinkList a {
    width: calc(100% - 20px);
    height: auto;
    padding: 10px 0;
    margin: 10px auto;
    line-height: 1.4;
  }
}
body.lp .liLinkList a:hover {
  color: #eb6e32;
  background: #fff;
  border-radius: 47px;
}
body.lp .liLinkList__top {
  padding-top: 2px;
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  body.lp .liLinkList__top {
    font-size: 26px;
    line-height: 1.2;
  }
}
@media screen and (max-width: 520px) {
  body.lp .liLinkList__top {
    font-size: 23px;
    font-size: 6.13333vw;
  }
}
body.lp .liLinkList__bottom {
  font-size: 26px;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 520px) {
  body.lp .liLinkList__bottom {
    font-size: 22px;
    font-size: 5.86667vw;
  }
}
body.lp .liLinkList__ruby {
  display: block;
  padding: 4px 20px;
  font-size: 18px;
  line-height: 1;
  color: #cf4708;
  letter-spacing: 0;
  background: #fff;
  border-radius: 20px;
}
@media screen and (max-width: 520px) {
  body.lp .liLinkList__ruby {
    font-size: 13px;
    font-size: 3.46667vw;
  }
}
@media screen and (max-width: 320px) {
  body.lp .liLinkList__ruby {
    font-size: 12px;
    font-size: 3.2vw;
  }
}
