html {
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 0px 0px; }

/*------------------------------------------------------------------------------------------------------------------------------------------*/
* html body {
  overflow: hidden; }

body #wrapper {
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 0px 0px; }

p {
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 0px 0px; }

ul {
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 0px 0px;
  list-style-type: none; }

li {
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
  list-style-type: none; }

img {
  vertical-align: top;
  border-style: none; }

form {
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 0px 0px;
  border: 0px; }

fieldset {
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 0px 0px;
  border: 0px; }

a img {
  border-style: none; }

a:link {
  text-decoration: none; }

a:visited {
  text-decoration: none; }

a:hover {
  text-decoration: none; }

a:active {
  text-decoration: none; }

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

/* headline */
h1, h2, h3, h4, h5, h6 {
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 0px 0px;
  font-weight: normal; }

/*------------------------------------------------------------*/
.inviewfadeIn {
  opacity: 0;
  transition: .8s; }

.fadeIn {
  opacity: 1.0; }

.inviewUp {
  transform: translate(0, 10px);
  -webkit-transform: translate(0, 10px);
  transition: .5s; }

.Up {
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0); }

.inviewfadeInUp {
  opacity: 0;
  transform: translate(0, 20px);
  -webkit-transform: translate(0, 20px);
  transition: 1.5s; }

.inviewfadeInUp2 {
  opacity: 0;
  transform: translate(0, 20px);
  -webkit-transform: translate(0, 20px);
  transition: 1.5s 0.2s; }

.inviewfadeInUp3 {
  opacity: 0;
  transform: translate(0, 20px);
  -webkit-transform: translate(0, 20px);
  transition: 1.5s 0.4s; }

.inviewfadeInUp4 {
  opacity: 0;
  transform: translate(0, 20px);
  -webkit-transform: translate(0, 20px);
  transition: 1.5s 0.6s; }

.inviewfadeInUp5 {
  opacity: 0;
  transform: translate(0, 20px);
  -webkit-transform: translate(0, 20px);
  transition: 1.5s 0.8s; }

.inviewfadeInUp6 {
  opacity: 0;
  transform: translate(0, 20px);
  -webkit-transform: translate(0, 20px);
  transition: 1.5s 1.8s ease-in; }

.fadeInUp {
  opacity: 1.0;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0); }

.inviewzoomIn {
  transform: scale(0, 0);
  -webkit-transform: scale(0, 0);
  transition: .8s; }

.zoomIn {
  /*	transform: scale(1, 1);
  	-webkit-transform: scale(1, 1);*/ }

/*-------------------------------------*/
.rollover {
  transition: 0.2s; }

/*-------------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------*/
html {
  overflow: auto; }

body {
  /*min-width: 1350px;*/
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 0px 0px;
  background-color: #D11E00;
  -webkit-text-size-adjust: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: #363636; }
  @media only screen and (max-width: 812px) {
    body {
      padding: 0.0vw 0.0vw 0.0vw 0.0vw;
      margin: 0.0vw 0.0vw 0.0vw 0.0vw; } }

body {
  overflow-x: hidden;
  _display: inline;
  _zoom: 1; }
  @media only screen and (max-width: 812px) {
    body {
      word-wrap: break-word;
      width: 100%;
      min-width: inherit;
      /*		min-width: 100%;*/
      _display: inline;
      _zoom: 1; } }

/*-------------------------------------------------------------------------*/
header {
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 0px 0px;
  width: 100%;
  position: relative;
  z-index: 9; }
  @media only screen and (max-width: 1440px) {
    header {
      padding: 0.0vw 0.0vw 0.0vw 0.0vw;
      margin: 0.0vw 0.0vw 0.0vw 0.0vw;
      width: 100%; } }
  @media only screen and (max-width: 812px) {
    header {
      padding: 0.0vw 0.0vw 0.0vw 0.0vw;
      margin: 0.0vw 0.0vw 0.0vw 0.0vw;
      width: 100%; } }

.header_pc {
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 0px 0px;
  width: 100%; }
  .header_pc h1 {
    padding: 0px 0px 0px 0px;
    margin: 0px 0px 0px 0px;
    width: 100%;
    position: fixed;
    z-index: 10; }
    @media only screen and (max-width: 812px) {
      .header_pc h1 {
        display: none; } }
    .header_pc h1 img {
      width: 100%; }

.header_sp {
  display: none; }
  @media only screen and (max-width: 812px) {
    .header_sp {
      display: block;
      padding: 0.0vw 0.0vw 0.0vw 0.0vw;
      margin: 0.0vw 0.0vw 0.0vw 0.0vw;
      width: 100%; }
      .header_sp h1 {
        padding: 0.0vw 0.0vw 0.0vw 0.0vw;
        margin: 0.0vw 0.0vw 0.0vw 0.0vw;
        width: 100%;
        position: fixed; }
      .header_sp img {
        width: 100%; } }

/*-------------------------------------------------------------------------*/
footer {
  padding: 0px 0px 0px 0px;
  margin: calc(-100vw / 19.2) 0px 0px 0px;
  width: 100%;
  height: calc(230vw / 19.2);
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0), black);
  position: relative;
  z-index: 11; }
  footer .copyright {
    padding: calc(160vw / 19.2) 0px calc(40vw / 19.2) 0px;
    margin: 0px 0px 0px 0px;
    text-align: center;
    font-size: calc(14vw / 19.2);
    font-weight: 300;
    color: #DDDDDD; }
  @media only screen and (max-width: 812px) {
    footer {
      padding: 0.0vw 0.0vw 0.0vw 0.0vw;
      margin: calc(-50vw / 3.75) 0px 0px 0px;
      width: 100%;
      height: calc(130vw / 3.75); }
      footer .copyright {
        padding: calc(80vw / 3.75) 0px calc(30vw / 3.75) 0px;
        margin: 0px 0px 0px 0px;
        font-size: calc(13vw / 3.75); } }

.sp_only {
  display: none; }
  @media only screen and (max-width: 812px) {
    .sp_only {
      display: block; } }

.pc_only {
  display: block; }
  @media only screen and (max-width: 812px) {
    .pc_only {
      display: none; } }

.spinline_only {
  display: none; }
  @media only screen and (max-width: 812px) {
    .spinline_only {
      display: inline-block; } }

.pcinline_only {
  display: inline-block; }
  @media only screen and (max-width: 812px) {
    .pcinline_only {
      display: none; } }

#tmain {
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 0px 0px;
  width: 100%; }
  @media only screen and (max-width: 812px) {
    #tmain {
      padding: 0.0vw 0.0vw 0.0vw 0.0vw;
      margin: 0.0vw 0.0vw 0.0vw 0.0vw;
      width: 100%; } }

html {
  scroll-behavior: smooth; }

.scroll_down {
  position: relative;
  background-position: 50% 50%;
  background-repeat: no-repeat; }

.scroll_down a {
  padding: 0px 0px calc(180vw / 19.2) calc(3vw / 19.2);
  color: #FFFFFF;
  font-size: calc(14vw / 19.2);
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
  transition: .2s;
  overflow: hidden;
  margin: auto; }
  @media only screen and (max-width: 812px) {
    .scroll_down a {
      padding: 0px 0px calc(90vw / 3.75) calc(3vw / 3.75);
      font-size: calc(10vw / 3.75); } }

.scroll_down a:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: calc(7vw / 19.2);
  height: calc(170vw / 19.2);
  background: #FF0000; }
  @media only screen and (max-width: 812px) {
    .scroll_down a:before {
      width: calc(4vw / 3.75);
      height: calc(85vw / 3.75); } }

.scroll_down a:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: calc(7vw / 19.2);
  height: calc(170vw / 19.2);
  background: #FFFFFF; }
  @media only screen and (max-width: 812px) {
    .scroll_down a:after {
      width: calc(4vw / 3.75);
      height: calc(85vw / 3.75); } }

.scroll_down a:hover {
  opacity: .5; }

#type01 a:after {
  animation: sdl01 1.5s cubic-bezier(1, 0, 0, 1) infinite; }

@keyframes sdl01 {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0; }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0; }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%; }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%; } }
.tmain {
  padding: calc(0vw / 19.2) 0px 0px 0px;
  margin: calc(1080vw / 19.2) auto calc(0vw / 19.2);
  width: calc(1686vw / 19.2);
  backdrop-filter: blur(12px);
  background-color: rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 10; }
  @media only screen and (max-width: 812px) {
    .tmain {
      padding: 0.0vw 0.0vw 0.0vw 0.0vw;
      margin: calc(680vw / 3.75) auto calc(0vw / 3.75);
      width: calc(337vw / 3.75); } }
  .tmain img {
    width: 100%; }

.scroll_icon {
  padding: calc(0vw / 19.2) 0px 0px 0px;
  margin: calc(0vw / 19.2) auto calc(0vw / 19.2);
  width: calc(14vw / 19.2);
  position: absolute;
  top: calc(-252vw / 19.2);
  right: calc(25vw / 19.2); }
  @media only screen and (max-width: 812px) {
    .scroll_icon {
      padding: 0.0vw 0.0vw 0.0vw 0.0vw;
      margin: calc(0vw / 3.75) auto calc(0vw / 3.75);
      width: calc(7vw / 3.75);
      top: calc(-328vw / 3.75);
      left: calc(40vw / 3.75);
      right: inherit; } }

.tmain_wrap {
  padding: calc(0vw / 19.2) 0px 0px 0px;
  margin: calc(0vw / 19.2) auto calc(0vw / 19.2);
  width: calc(1100vw / 19.2); }
  .tmain_wrap h2 {
    padding: calc(120vw / 19.2) 0px calc(80vw / 19.2) 0px;
    margin: calc(120vw / 19.2) 0px 0px 0px;
    text-align: center;
    color: #FFFFFF;
    font-family: "Noto Serif JP", serif;
    font-size: calc(45vw / 19.2);
    line-height: 1.8em;
    font-weight: 800; }
  .tmain_wrap .read {
    padding: calc(0vw / 19.2) 0px calc(60vw / 19.2) 0px;
    margin: calc(0vw / 19.2) auto 0px;
    width: calc(990vw / 19.2);
    color: #FFFFFF;
    font-family: "Noto Serif JP", serif;
    font-size: calc(20vw / 19.2);
    line-height: 2.35em;
    font-weight: 500; }
  .tmain_wrap .read:nth-last-child(1) {
    padding: calc(0vw / 19.2) 0px calc(0vw / 19.2) 0px; }
  @media only screen and (max-width: 812px) {
    .tmain_wrap {
      padding: 0.0vw 0.0vw 0.0vw 0.0vw;
      margin: calc(0vw / 3.75) auto calc(0vw / 3.75);
      width: calc(290vw / 3.75); }
      .tmain_wrap h2 {
        padding: calc(50vw / 3.75) 0px calc(45vw / 3.75) 0px;
        margin: 0px 0px 0px 0px;
        font-size: calc(20vw / 3.75);
        line-height: 1.8em; }
        .tmain_wrap h2 .tmain_titlesp {
          display: table;
          margin-left: auto;
          margin-right: auto;
          text-align: left; }
      .tmain_wrap .read {
        padding: calc(0vw / 3.75) 0px calc(40vw / 3.75) 0px;
        margin: calc(0vw / 3.75) 0px 0px 0px;
        width: inherit;
        color: #FFFFFF;
        font-size: calc(16vw / 3.75);
        line-height: 1.8em; } }

.tinfor_wrap {
  padding: calc(00vw / 19.2) 0px calc(180vw / 19.2) 0px;
  margin: calc(180vw / 19.2) auto calc(0vw / 19.2);
  width: calc(720vw / 19.2);
  border-top: 1px solid #FFFFFF; }
  .tinfor_wrap dl {
    padding: calc(0vw / 19.2) 0px 0px 0px;
    margin: calc(0vw / 19.2) auto calc(0vw / 19.2);
    width: 100%;
    font-family: "Noto Serif JP", serif;
    border-bottom: 1px solid #FFFFFF;
    font-size: calc(17vw / 19.2);
    color: #FFFFFF;
    display: flex;
    flex-wrap: wrap; }
    .tinfor_wrap dl dt {
      padding: calc(32vw / 19.2) 0px calc(32vw / 19.2) calc(40vw / 19.2);
      margin: calc(0vw / 19.2) auto calc(0vw / 19.2);
      width: calc(200vw / 19.2);
      font-weight: 900; }
    .tinfor_wrap dl dd {
      padding: calc(32vw / 19.2) 0px calc(32vw / 19.2) 0px;
      margin: calc(0vw / 19.2) auto calc(0vw / 19.2);
      width: calc(500vw / 19.2);
      font-weight: 500; }
  @media only screen and (max-width: 812px) {
    .tinfor_wrap {
      padding: 0vw 0vw calc(120vw / 3.75) 0vw;
      margin: calc(120vw / 3.75) auto calc(0vw / 3.75);
      width: calc(290vw / 3.75); }
      .tinfor_wrap dl {
        padding: calc(0vw / 3.75) 0px 0px 0px;
        margin: calc(0vw / 3.75) auto calc(0vw / 3.75);
        width: 100%;
        border-bottom: 1px solid #FFFFFF;
        font-size: calc(16vw / 3.75);
        color: #FFFFFF;
        display: flex;
        flex-wrap: wrap; }
        .tinfor_wrap dl dt {
          padding: calc(25vw / 3.75) 0px calc(6vw / 3.75) calc(0vw / 3.75);
          margin: calc(0vw / 3.75) auto calc(0vw / 3.75);
          width: 100%; }
        .tinfor_wrap dl dd {
          padding: calc(0vw / 3.75) 0px calc(25vw / 3.75) calc(0vw / 3.75);
          margin: calc(0vw / 3.75) auto calc(0vw / 3.75);
          width: 100%;
          line-height: 1.8em; }
          .tinfor_wrap dl dd.pack01 {
            letter-spacing: -0.06em; }
          .tinfor_wrap dl dd a {
            color: #FFFFFF;
            text-decoration: underline; } }

#hoge {
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 0px 0px;
  width: 100%; }
  @media only screen and (max-width: 1440px) {
    #hoge {
      padding: 0.0vw 0.0vw 0.0vw 0.0vw;
      margin: 0.0vw 0.0vw 0.0vw 0.0vw;
      width: 100%; } }
  @media only screen and (max-width: 812px) {
    #hoge {
      padding: 0.0vw 0.0vw 0.0vw 0.0vw;
      margin: 0.0vw 0.0vw 0.0vw 0.0vw;
      width: 100%; } }

.hoge {
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 0px 0px;
  width: 100%; }
  @media only screen and (max-width: 1440px) {
    .hoge {
      padding: 0.0vw 0.0vw 0.0vw 0.0vw;
      margin: 0.0vw auto 0.0vw;
      width: 100%; } }
  @media only screen and (max-width: 812px) {
    .hoge {
      padding: 0.0vw 0.0vw 0.0vw 0.0vw;
      margin: 0.0vw auto 0.0vw;
      width: 100%; } }
  .hoge img {
    width: 100%; }
