@charset "UTF-8";
/*
SCSS variables are information about icon's compiled state, stored under its original file name

.icon-home {
  width: $icon-home-width;
}

The large array-like variables contain all information about a single icon
$icon-home: x y offset_x offset_y width height total_width total_height image_path;

At the bottom of this section, we provide information about the spritesheet itself
$spritesheet: width height image $spritesheet-sprites;
*/
/*
The provided mixins are intended to be used with the array-like variables

.icon-home {
  @include sprite-width($icon-home);
}

.icon-email {
  @include sprite($icon-email);
}
*/
/*
The `sprites` mixin generates identical output to the CSS template
  but can be overridden inside of SCSS

@include sprites($spritesheet-sprites);
*/
.specialAbout {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  background-color: rgba(21, 27, 37, 0.9);
  width: 100%;
  height: 100%;
  z-index: 2;
}
.specialAbout .inner {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 620px;
  height: 400px;
}
.specialAbout .inner > .ttl {
  background-image: url(../images/sprites/specialSprite.png);
  background-position: 0px -516px;
  width: 91px;
  height: 24px;
  margin-bottom: 56px;
}
.specialAbout .inner .txt {
  background-image: url(../images/sprites/specialSprite.png);
  background-position: 0px 0px;
  width: 604px;
  height: 263px;
}
.specialAbout .inner .from {
  position: absolute;
  right: 0;
  bottom: 0;
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -441px -479px;
  width: 131px;
  height: 15px;
}
.specialAbout .inner .btnClose {
  position: absolute;
  right: 0;
  top: 0;
  width: 26px;
  height: 26px;
}
.specialAbout .inner .btnClose a {
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -527px -282px;
  width: 26px;
  height: 26px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  display: block;
  width: inherit;
  height: inherit;
}

#special {
  -webkit-perspective: 500;
          perspective: 500;
  overflow: hidden;
  width: 100%;
  height: 100%;
  position: relative;
  background-color: #111e2a;
}
#special * {
  box-sizing: border-box;
}
#special canvas {
  width: 100%;
  height: 100%;
}
#special .notice {
  line-height: 1.4;
  font-size: 11px;
  color: #7d7d7d;
  text-indent: -1em;
}
#special .notice:before {
  content: '※';
}
#special #bgMap {
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: border-width 0.6s cubic-bezier(0.19, 1, 0.22, 1);
          transition: border-width 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  background-color: #111e2a;
}
#special #bgMap.animate {
  border-width: 0;
}
#special .mapDot {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(/assets/images/sp/mapDot.png);
}
#special #specialRestart {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  background-color: rgba(21, 27, 37, 0.5);
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 4;
}
#special #specialRestart:before {
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -277px -456px;
  width: 162px;
  height: 38px;
  position: absolute;
  -webkit-transform: scale(0.79, 0.79);
      -ms-transform: scale(0.79, 0.79);
          transform: scale(0.79, 0.79);
  content: '';
  top: 22px;
  left: 30px;
  -webkit-transform-origin: top left;
      -ms-transform-origin: top left;
          transform-origin: top left;
}
#special #specialRestart .inner {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background-color: rgba(21, 27, 37, 0.85);
  width: 630px;
  height: 180px;
}
#special #specialRestart .inner:after {
  background-image: url(../images/sprites/specialSprite.png);
  background-position: 0px -265px;
  width: 525px;
  height: 90px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: '';
}
#special #specialMain > .ttl, #special #specialCompany > .ttl {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  -webkit-transition: background-color 0.6s cubic-bezier(0.19, 1, 0.22, 1);
          transition: background-color 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  font-weight: bold;
  font-size: 20px;
  color: #fff;
  background-color: rgba(21, 27, 37, 0);
  line-height: 1;
  height: 60px;
}
#special #specialMain > .ttl .lineLeft, #special #specialMain > .ttl .lineRight, #special #specialMain > .ttl .lineTop, #special #specialMain > .ttl .lineBottom, #special #specialCompany > .ttl .lineLeft, #special #specialCompany > .ttl .lineRight, #special #specialCompany > .ttl .lineTop, #special #specialCompany > .ttl .lineBottom {
  -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
          transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  background-color: #fff;
  width: 3px;
  height: 3px;
}
#special #specialMain > .ttl .lineLeft, #special #specialCompany > .ttl .lineLeft {
  position: absolute;
  left: 0;
  top: 0;
  height: 0%;
}
#special #specialMain > .ttl .lineRight, #special #specialCompany > .ttl .lineRight {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 0%;
}
#special #specialMain > .ttl .lineTop, #special #specialCompany > .ttl .lineTop {
  position: absolute;
  right: 0;
  top: 0;
  width: 0%;
}
#special #specialMain > .ttl .lineBottom, #special #specialCompany > .ttl .lineBottom {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0%;
}
#special #specialMain > .ttl .label, #special #specialCompany > .ttl .label {
  -webkit-transition: height 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0s;
          transition: height 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  position: absolute;
  bottom: 20px;
  left: 30px;
  display: block;
  height: 0px;
  text-align: center;
  overflow: hidden;
}
#special #specialMain > .ttl.animate, #special #specialCompany > .ttl.animate {
  background-color: rgba(21, 27, 37, 0.7);
}
#special #specialMain > .ttl.animate .lineLeft, #special #specialMain > .ttl.animate .lineRight, #special #specialCompany > .ttl.animate .lineLeft, #special #specialCompany > .ttl.animate .lineRight {
  height: 100%;
}
#special #specialMain > .ttl.animate .lineTop, #special #specialMain > .ttl.animate .lineBottom, #special #specialCompany > .ttl.animate .lineTop, #special #specialCompany > .ttl.animate .lineBottom {
  width: 100%;
}
#special #specialMain > .ttl.animate .label, #special #specialCompany > .ttl.animate .label {
  -webkit-transition: height 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
          transition: height 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
  height: 20px;
}
#special #specialMain {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  box-shadow: 0 0 10px 4px rgba(0, 0, 0, 0.1);
  background-color: #0e232d;
}
#special #specialMain > .ttl {
  top: 8%;
}
#special #specialMain > .ttl .lineLeft, #special #specialMain > .ttl .lineRight {
  width: 2px;
}
#special #specialMain > .ttl .lineTop, #special #specialMain > .ttl .lineBottom {
  height: 2px;
}
#special #specialMain .notice {
  position: absolute;
  bottom: 20px;
  right: 20px;
}
#special #specialMain .pickUpNews {
  position: absolute;
  left: 0;
  top: 0;
  visibility: hidden;
  opacity: 0;
  background-color: rgba(0, 32, 48, 0.8);
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#special #specialMain .pickUpNews .inner {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 100px 44px 60px;
  width: 100%;
  max-width: 900px;
}
#special #specialMain .pickUpNews .inner article {
  width: 100%;
  position: relative;
  margin-bottom: 40px;
}
#special #specialMain .pickUpNews .inner article .date {
  position: absolute;
  left: 0;
  top: 0;
  font-family: 'Montserrat', sans-serif;
  top: 3px;
  font-size: 16px;
  width: 120px;
  color: #33ddff;
}
#special #specialMain .pickUpNews .inner article .ttl {
  padding-left: 120px;
  color: #fff;
  font-size: 16px;
}
#special header {
  z-index: 3;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
#special header .logo {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  position: absolute;
  left: 0;
  top: 0;
  text-indent: 200%;
  width: 222px;
  height: 82px;
}
#special header .logo span {
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -277px -456px;
  width: 162px;
  height: 38px;
  position: absolute;
  top: 22px;
  left: 30px;
  -webkit-transform-origin: top left;
      -ms-transform-origin: top left;
          transform-origin: top left;
}
#special header .btns {
  width: 331px;
  height: 40px;
  position: absolute;
  right: 0;
  top: 0;
}
#special header .btns .btnAbout {
  width: 97px;
  height: 40px;
  position: relative;
  border-left: 1px solid #555c66;
  float: left;
}
#special header .btns .btnAbout a {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: inherit;
  height: inherit;
}
#special header .btns .btnAbout a span {
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -555px -282px;
  width: 41px;
  height: 11px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
#special header .btns .btnShare {
  width: 93px;
  height: 40px;
  position: relative;
  border-left: 1px solid #555c66;
  float: left;
}
#special header .btns .btnShare a {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: inherit;
  height: inherit;
}
#special header .btns .btnShare a span {
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -555px -295px;
  width: 36px;
  height: 11px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
#special header .btns .btnShare .inner {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
#special header .btns .btnShare .inner .btnFB {
  width: 45px;
  height: 40px;
  position: relative;
  float: left;
}
#special header .btns .btnShare .inner .btnFB a {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: inherit;
  height: inherit;
}
#special header .btns .btnShare .inner .btnFB a span {
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -527px -338px;
  width: 8px;
  height: 17px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
#special header .btns .btnShare .inner .btnFB span {
  right: 10px !important;
  left: auto !important;
}
#special header .btns .btnShare .inner .btnTW {
  float: left;
  width: 46px;
  height: 40px;
  position: relative;
}
#special header .btns .btnShare .inner .btnTW a {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: inherit;
  height: inherit;
}
#special header .btns .btnShare .inner .btnTW a span {
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -585px -265px;
  width: 15px;
  height: 13px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
#special header .btns .btnShare .inner .btnTW span {
  right: auto !important;
  left: 10px !important;
}
#special header .btns .btnSound {
  width: 66px;
  height: 40px;
  position: relative;
  border-left: 1px solid #555c66;
  float: left;
}
#special header .btns .btnSound a {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: inherit;
  height: inherit;
}
#special header .btns .btnSound a span {
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -591px -310px;
  width: 12px;
  height: 10px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
#special header .btns .btnSound .off {
  opacity: 0.4;
}
#special header .btns .btnFullScreen {
  width: 75px;
  height: 40px;
  position: relative;
  border-left: 1px solid #555c66;
  float: left;
}
#special header .btns .btnFullScreen a {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: inherit;
  height: inherit;
}
#special header .btns .btnFullScreen a span {
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -527px -324px;
  width: 16px;
  height: 12px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
#special header .btns .btnFullScreen span {
  bottom: auto !important;
  top: 15px !important;
}
#special h1 {
  visibility: hidden;
  opacity: 0;
  width: 256px;
  position: absolute;
  top: 98px;
  left: 30px;
  z-index: 2;
}
#special h1 .txt1 {
  position: absolute;
  left: 0;
  top: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -276px -357px;
  width: 264px;
  height: 94px;
}
#special h1 .txt2 {
  position: absolute;
  top: 118px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -441px -456px;
  width: 159px;
  height: 21px;
}
#special .ttlBlock {
  position: absolute;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  visibility: hidden;
  opacity: 0;
  width: 790px;
  opacity: 0.85;
  height: 220px;
  left: 0;
  margin: auto;
}
#special .ttlBlock.aqua .bg {
  background-color: #33ddff;
}
#special .ttlBlock .bg {
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-transition: background-color 0.4s linear;
          transition: background-color 0.4s linear;
  -webkit-transform-origin: top left;
      -ms-transform-origin: top left;
          transform-origin: top left;
  background-color: rgba(21, 27, 37, 0.85);
  width: 100%;
  height: 100%;
}
#special .ttlBlock .ttl {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  background-image: url(../images/sprites/specialSprite.png);
  background-position: 0px -357px;
  width: 274px;
  height: 97px;
  position: absolute;
  top: 60px;
  left: 60px;
}
#special .ttlBlock .lead {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  background-image: url(../images/sprites/specialSprite.png);
  background-position: 0px -456px;
  width: 275px;
  height: 38px;
  position: absolute;
  top: 64px;
  right: 66px;
}
#special .ttlBlock .line {
  content: '';
  width: 1px;
  background-color: #555c66;
  position: absolute;
  -webkit-transition: height 0.6s cubic-bezier(0.19, 1, 0.22, 1);
          transition: height 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  position: absolute;
  height: 0;
  width: 1px;
  left: 393px;
  top: 55px;
  background-color: #555c66;
}
#special .ttlBlock .line.animate {
  height: 110px;
}
#special .ttlBlock .btnEnter {
  width: 165px;
  height: 58px;
  position: relative;
  position: absolute;
  right: 194px;
  top: 120px;
}
#special .ttlBlock .btnEnter a {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: inherit;
  height: inherit;
}
#special .ttlBlock .btnEnter a span {
  background-image: url(../images/sprites/specialSprite.png);
  background-position: 0px -496px;
  width: 125px;
  height: 18px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
#special .ttlBlock dl {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 50px;
  height: 120px;
}
#special .ttlBlock dl dt {
  position: absolute;
  top: 26px;
  left: 50px;
}
#special .ttlBlock dl dd {
  position: absolute;
  top: 60px;
  left: 50px;
  color: #fff;
}
#special .ttlBlock dl.keyword {
  width: 264px;
  left: 50%;
  margin-left: -441px;
}
#special .ttlBlock dl.keyword dt {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -527px -265px;
  width: 56px;
  height: 15px;
}
#special .ttlBlock dl.keyword dd {
  font-size: 20px;
  font-weight: bold;
}
#special .ttlBlock dl.date {
  width: 354px;
  left: 50%;
  margin-left: -177px;
}
#special .ttlBlock dl.date dt {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -560px -310px;
  width: 29px;
  height: 11px;
}
#special .ttlBlock dl.date dd {
  font-size: 22px;
  font-family: 'Montserrat', sans-serif;
}
#special .ttlBlock dl.date:before, #special .ttlBlock dl.date:after {
  content: '';
  width: 1px;
  background-color: #555c66;
  position: absolute;
  -webkit-transition: height 0.6s cubic-bezier(0.19, 1, 0.22, 1);
          transition: height 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  height: 0;
}
#special .ttlBlock dl.date:before {
  left: 0;
  top: 0;
}
#special .ttlBlock dl.date:after {
  right: 0;
  bottom: 0;
}
#special .ttlBlock dl.date.animate:before, #special .ttlBlock dl.date.animate:after {
  height: 100%;
}
#special .ttlBlock dl.total {
  width: 190px;
  left: 50%;
  margin-left: 177px;
}
#special .ttlBlock dl.total dt {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -527px -310px;
  width: 31px;
  height: 12px;
}
#special .ttlBlock dl.total dd {
  font-family: 'Montserrat', sans-serif;
  font-size: 28px;
  font-weight: bold;
  top: 55px;
}
#special .clock {
  visibility: hidden;
  opacity: 0;
  font-family: 'Montserrat', sans-serif;
  -webkit-transition: font-size 0.6s cubic-bezier(1, 0, 0, 1), width 0.6s cubic-bezier(1, 0, 0, 1), bottom 0.6s cubic-bezier(1, 0, 0, 1), margin-bottom 0.6s cubic-bezier(1, 0, 0, 1);
          transition: font-size 0.6s cubic-bezier(1, 0, 0, 1), width 0.6s cubic-bezier(1, 0, 0, 1), bottom 0.6s cubic-bezier(1, 0, 0, 1), margin-bottom 0.6s cubic-bezier(1, 0, 0, 1);
  position: absolute;
  bottom: 36px;
  right: 36px;
  color: #fff;
  font-size: 20px;
  width: 210px;
  text-align: right;
  margin-bottom: 0px;
}
#special .clock .d {
  display: inline-block;
  vertical-align: bottom;
  width: 6em;
  position: relative;
}
#special .clock .d .year {
  position: absolute;
  bottom: 0;
  right: 3.8em;
}
#special .clock .d .dot1 {
  position: absolute;
  bottom: 0;
  right: 3.3em;
}
#special .clock .d .month {
  position: absolute;
  bottom: 0;
  right: 1.9em;
}
#special .clock .d .dot2 {
  position: absolute;
  bottom: 0;
  right: 1.4em;
}
#special .clock .d .date {
  position: absolute;
  bottom: 0;
  right: 0;
}
#special .clock .t {
  vertical-align: bottom;
  margin-left: 16px;
  display: inline-block;
  width: 3em;
  position: relative;
}
#special .clock .t .hours {
  position: absolute;
  bottom: 0;
  right: 1.9em;
}
#special .clock .t .colon {
  position: absolute;
  bottom: 0.1em;
  right: 1.4em;
}
#special .clock .t .minutes {
  position: absolute;
  bottom: 0;
  right: 0;
}
#special .clock.animate {
  text-align: center;
  font-size: 36px;
  width: 100%;
  bottom: 50%;
  margin-bottom: -18px;
}
#special .dataBlock {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 360px;
  /* width: 420px; */
}
#special .dataBlock .ttl {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -276px -357px;
  width: 264px;
  height: 94px;
  position: absolute;
  top: 98px;
  left: 30px;
}
#special .dataBlock dl {
  margin-top: 314px;
  margin-left: 30px;
}
#special .dataBlock dl dt {
  margin-bottom: 16px;
}
#special .dataBlock dl dd {
  color: #fff;
}
#special .dataBlock dl.keyword dt {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -527px -265px;
  width: 56px;
  height: 15px;
}
#special .dataBlock dl.keyword dd {
  font-size: 22px;
  padding-bottom: 12px;
}
#special .dataBlock dl.keyword:after {
  display: block;
  content: '';
  width: 250px;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.5);
}
#special .dataBlock dl.date {
  margin-top: 50px;
}
#special .dataBlock dl.date dt {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -560px -310px;
  width: 29px;
  height: 11px;
}
#special .dataBlock dl.date dd {
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
}
#special .dataBlock dl.total {
  margin-top: 30px;
}
#special .dataBlock dl.total dt {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 0.1;
  background-image: url(../images/sprites/specialSprite.png);
  background-position: -527px -310px;
  width: 31px;
  height: 12px;
}
#special .dataBlock dl.total dd {
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
}
#special .txtBlock {
  visibility: hidden;
  opacity: 0;
  font-family: 'ヒラギノ明朝 ProN W3', '游明朝体', 'Yu Mincho', 'HiraMinProN-W3', 'HG明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', 'MS 明朝', serif;
  position: absolute;
  margin: -280px 0 0 -220px;
  left: 50%;
  top: 50%;
  width: 800px;
  height: 500px;
}
#special .txtBlock p {
  display: table-cell;
  color: #fff;
  font-size: 80px;
  vertical-align: middle;
  width: 800px;
  height: 560px;
  line-height: 1.8;
}
#special #specialCompany {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(21, 27, 37, 0);
  -webkit-transition: background-color 0.3s linear;
          transition: background-color 0.3s linear;
}
#special #specialCompany canvas {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
}
#special #specialCompany.animate {
  background-color: rgba(21, 27, 37, 0.75);
}
#special #specialCompany.animate .inner:after, #special #specialCompany.animate .inner:before {
  width: 100%;
}
#special #specialCompany .notice {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: 230px;
}
#special #specialCompany .ttl {
  top: 50%;
  margin-top: 190px;
}
#special #specialCompany .ttl .lineLeft, #special #specialCompany .ttl .lineRight, #special #specialCompany .ttl .lineTop, #special #specialCompany .ttl .lineBottom {
  background-color: #004488;
}
#special #specialCompany .inner {
  position: absolute;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  width: 100%;
  height: 440px;
  overflow: hidden;
}
#special #specialCompany .inner:before, #special #specialCompany .inner:after {
  -webkit-transition: width 0.6s cubic-bezier(0.19, 1, 0.22, 1);
          transition: width 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  width: 0;
  height: 1px;
  background-color: #004488;
  content: '';
  position: absolute;
}
#special #specialCompany .inner:before {
  left: 0;
  top: 0;
}
#special #specialCompany .inner:after {
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 1260px) {
  #specialCompany .notice {
    width: 260px;
  }
}
