@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.mt0 {
  margin-top: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt11 {
  margin-top: 11px !important;
}

.mt14 {
  margin-top: 14px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt85 {
  margin-top: 85px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mt95 {
  margin-top: 95px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mr9 {
  margin-right: 9px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mr65 {
  margin-right: 65px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.mr75 {
  margin-right: 75px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.mr85 {
  margin-right: 85px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.mr95 {
  margin-right: 95px !important;
}

.mr100 {
  margin-right: 100px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb11 {
  margin-bottom: 11px !important;
}

.mb14 {
  margin-bottom: 14px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.ml5 {
  margin-left: 5px !important;
}

.ml9 {
  margin-left: 9px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.ml65 {
  margin-left: 65px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.ml75 {
  margin-left: 75px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.ml85 {
  margin-left: 85px !important;
}

.ml90 {
  margin-left: 90px !important;
}

.ml95 {
  margin-left: 95px !important;
}

.ml100 {
  margin-left: 100px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt11 {
  padding-top: 11px !important;
}

.pt14 {
  padding-top: 14px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pt75 {
  padding-top: 75px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pt85 {
  padding-top: 85px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pt95 {
  padding-top: 95px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pr9 {
  padding-right: 9px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pr55 {
  padding-right: 55px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.pr65 {
  padding-right: 65px !important;
}

.pr70 {
  padding-right: 70px !important;
}

.pr75 {
  padding-right: 75px !important;
}

.pr80 {
  padding-right: 80px !important;
}

.pr85 {
  padding-right: 85px !important;
}

.pr90 {
  padding-right: 90px !important;
}

.pr95 {
  padding-right: 95px !important;
}

.pr100 {
  padding-right: 100px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb11 {
  padding-bottom: 11px !important;
}

.pb14 {
  padding-bottom: 14px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pb65 {
  padding-bottom: 65px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pb75 {
  padding-bottom: 75px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pb85 {
  padding-bottom: 85px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pb95 {
  padding-bottom: 95px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.pl5 {
  padding-left: 5px !important;
}

.pl9 {
  padding-left: 9px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pl55 {
  padding-left: 55px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.pl65 {
  padding-left: 65px !important;
}

.pl70 {
  padding-left: 70px !important;
}

.pl75 {
  padding-left: 75px !important;
}

.pl80 {
  padding-left: 80px !important;
}

.pl85 {
  padding-left: 85px !important;
}

.pl90 {
  padding-left: 90px !important;
}

.pl95 {
  padding-left: 95px !important;
}

.pl100 {
  padding-left: 100px !important;
}

.tal {
  text-align: left !important;
}

.tar {
  text-align: right !important;
}

.tac {
  text-align: center !important;
}

.fll {
  float: left !important;
}

.flr {
  float: right !important;
}

.op a img,
.op2 {
  transition: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  -webkit-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
}

.op a img:hover,
.op2:hover {
  opacity: 0.7;
}

.op3 {
  transition: background-color 0.5s;
  -moz-transition: background-color 0.5s;
  -webkit-transition: background-color 0.5s;
  -o-transition: background-color 0.5s;
  background-color: rgba(255, 255, 255, 0);
}
.op3:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

.clearfix:after {
  display: block;
  clear: both;
  content: "";
}

.show_pc {
  display: block;
}
@media only screen and (max-width: 979px) {
  .show_pc {
    display: none;
  }
}
@media only screen and (max-width: 479px) {
  .show_pc {
    display: none;
  }
}

img.show_pc, span.show_pc {
  display: inline;
}
@media only screen and (max-width: 979px) {
  img.show_pc, span.show_pc {
    display: none;
  }
}
@media only screen and (max-width: 479px) {
  img.show_pc, span.show_pc {
    display: none;
  }
}

.show_pctb {
  display: block;
}
@media only screen and (max-width: 979px) {
  .show_pctb {
    display: block;
  }
}
@media only screen and (max-width: 479px) {
  .show_pctb {
    display: none;
  }
}

img.show_pctb, span.show_pctb {
  display: inline;
}
@media only screen and (max-width: 979px) {
  img.show_pctb, span.show_pctb {
    display: inline;
  }
}
@media only screen and (max-width: 479px) {
  img.show_pctb, span.show_pctb {
    display: none;
  }
}

.show_tbsp {
  display: none;
}
@media only screen and (max-width: 979px) {
  .show_tbsp {
    display: block;
  }
}
@media only screen and (max-width: 479px) {
  .show_tbsp {
    display: block;
  }
}

img.show_tbsp, span.show_tbsp {
  display: none;
}
@media only screen and (max-width: 979px) {
  img.show_tbsp, span.show_tbsp {
    display: inline;
  }
}
@media only screen and (max-width: 479px) {
  img.show_tbsp, span.show_tbsp {
    display: inline;
  }
}

.show_tb {
  display: none;
}
@media only screen and (max-width: 979px) {
  .show_tb {
    display: block;
  }
}
@media only screen and (max-width: 479px) {
  .show_tb {
    display: none;
  }
}

img.show_tb, span.show_tb {
  display: none;
}
@media only screen and (max-width: 979px) {
  img.show_tb, span.show_tb {
    display: inline;
  }
}
@media only screen and (max-width: 479px) {
  img.show_tb, span.show_tb {
    display: none;
  }
}

.show_sp {
  display: none;
}
@media only screen and (max-width: 979px) {
  .show_sp {
    display: none;
  }
}
@media only screen and (max-width: 479px) {
  .show_sp {
    display: block;
  }
}

img.show_sp, span.show_sp {
  display: none;
}
@media only screen and (max-width: 979px) {
  img.show_sp, span.show_sp {
    display: none;
  }
}
@media only screen and (max-width: 479px) {
  img.show_sp, span.show_sp {
    display: inline;
  }
}

html, body {
  height: 100%;
  text-align: center;
}

body, div, p, li, dt, dd, th, td, h1, h2, h3, h4, h5, h6, input, textarea, option {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN", Roboto, "Droid Sans", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: normal;
  font-style: normal;
  color: #1a1a1a;
}
@media only screen and (max-width: 479px) {
  body, div, p, li, dt, dd, th, td, h1, h2, h3, h4, h5, h6, input, textarea, option {
    font-size: 12px;
  }
}

a {
  text-decoration: none;
  color: #1a1a1a;
}

img {
  vertical-align: middle;
}

.pg-canvas {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.rotate {
  width: 120%;
  height: 120%;
  position: absolute;
  top: -238px;
  left: 50%;
  transform: rotate(-7deg) translateX(-50%);
  z-index: -1;
}
@media only screen and (max-width: 479px) {
  .rotate {
    display: none;
  }
}

body {
  opacity: 0;
  transition: all 1s;
}
body.on {
  opacity: 1;
}

#wrap {
  width: 100%;
  overflow: hidden;
  position: relative;
  min-width: 1280px;
}
#wrap > div {
  position: relative;
}
@media only screen and (max-width: 479px) {
  #wrap {
    min-width: auto;
  }
}

.ttl_enjp {
  font-family: 'Teko', sans-serif;
  margin-bottom: 56px;
  position: relative;
}
.ttl_enjp .en {
  font-size: 95px;
  letter-spacing: 11px;
  display: block;
  margin-bottom: 6px;
  color: #d81820;
  font-weight: bold;
  position: relative;
  z-index: 1;
}
.ttl_enjp .jp {
  font-size: 16px;
  letter-spacing: 3px;
  font-weight: bold;
  position: relative;
  z-index: 1;
}
.ttl_enjp:before {
  position: absolute;
  left: 50%;
  bottom: 4px;
  font-size: 290px;
  letter-spacing: 32px;
  font-weight: bold;
}
@media only screen and (max-width: 479px) {
  .ttl_enjp {
    margin-bottom: 50px;
  }
  .ttl_enjp .en {
    font-size: 44px;
    letter-spacing: 6px;
    margin-bottom: 3px;
  }
  .ttl_enjp .jp {
    font-size: 12px;
    letter-spacing: 1px;
  }
  .ttl_enjp:before {
    bottom: 5px;
    font-size: 80px;
    letter-spacing: 10px;
  }
}

#mv {
  height: 800px;
}
#mv .pg-canvas {
  background: #d81820;
}
#mv .logo {
  padding: 40px 0 0 40px;
  text-align: left;
}
#mv h1 {
  width: 100%;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#mv h1 .en {
  font-size: 95px;
  display: block;
  margin-bottom: 20px;
  font-family: 'Teko', sans-serif;
  letter-spacing: 12px;
}
#mv h1 .jp {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 8px;
}
@media only screen and (max-width: 479px) {
  #mv {
    height: auto;
    min-height: 320px;
    overflow: hidden;
    padding: 20px 0 0;
  }
  #mv .logo {
    text-align: center;
    padding: 0;
    margin-bottom: 30px;
  }
  #mv .logo img {
    width: 150px;
    height: auto;
  }
  #mv h1 {
    position: static;
    top: auto;
    left: auto;
    transform: none;
    width: 88%;
    margin: 0 auto;
  }
  #mv h1 .en {
    font-size: 40px;
    line-height: 1.2;
    margin-bottom: 20px;
  }
  #mv h1 .jp {
    font-size: 14px;
    line-height: 1.8;
  }
}

#mission {
  padding: 100px 40px 300px;
}
#mission ul {
  max-width: 1200px;
  margin: 0 auto;
}
#mission ul::after {
  content: "";
  display: block;
  clear: both;
}
#mission ul li {
  width: 31%;
  height: 270px;
  margin-right: 3.5%;
  box-sizing: border-box;
  border: solid 1px #d81820;
  float: left;
  padding-top: 53px;
}
#mission ul li:last-child {
  margin-right: 0;
}
#mission ul li:last-child h3 {
  margin-bottom: 38px;
}
#mission ul li h3 {
  color: #d81820;
  margin-bottom: 21px;
}
#mission ul li h3 .en {
  font-size: 40px;
  letter-spacing: 5px;
  font-family: 'Teko', sans-serif;
  display: block;
  margin-bottom: 16px;
}
#mission ul li h3 .jp {
  font-weight: bold;
  letter-spacing: 3px;
}
#mission ul li p {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 4px;
}
@media only screen and (max-width: 479px) {
  #mission {
    padding: 50px 0;
  }
  #mission h2:before {
    content: "MISSION";
    color: #e9edf1;
  }
  #mission ul {
    width: 88%;
  }
  #mission ul li {
    width: 100%;
    height: auto;
    margin: 0 0 30px;
    padding: 30px 0;
  }
  #mission ul li:last-child {
    margin-bottom: 0;
  }
  #mission ul li h3 {
    margin-bottom: 16px !important;
  }
  #mission ul li h3 .en {
    font-size: 28px;
    letter-spacing: 2px;
    margin-bottom: 3px;
  }
  #mission ul li p {
    font-size: 16px;
    letter-spacing: 2px;
  }
}

#info .rotate {
  background: #f4f6f8;
}
#info > .inner {
  padding: 100px 0 250px;
}
#info > .inner h2:before {
  content: "INFORMATION";
  color: #e9edf1;
}
#info > .inner ul {
  max-width: 720px;
  margin: 0 auto;
  display: inline-block;
}
#info > .inner ul li {
  text-align: left;
  margin-bottom: 36px;
}
#info > .inner ul li a {
  transition: all 0.4s;
}
#info > .inner ul li a time, #info > .inner ul li a span {
  display: table-cell;
  vertical-align: middle;
}
#info > .inner ul li a time {
  font-family: 'Teko', sans-serif;
  color: #d81820;
  letter-spacing: 3px;
  padding-right: 20px;
}
#info > .inner ul li a:hover {
  opacity: 0.6;
}
@media only screen and (max-width: 479px) {
  #info {
    background: #f4f6f8;
  }
  #info > .inner {
    padding: 50px 0;
  }
  #info > .inner ul {
    width: 88%;
    display: block;
  }
  #info > .inner ul li {
    margin-bottom: 20px;
  }
  #info > .inner ul li:last-child {
    margin-bottom: 0;
  }
  #info > .inner ul li a {
    display: block;
  }
  #info > .inner ul li a time, #info > .inner ul li a span {
    display: block;
  }
  #info > .inner ul li a time {
    margin-bottom: 10px;
  }
}

#message .rotate {
  background: url("../img/message_bg.jpg");
}
#message > .inner {
  max-width: 720px;
  margin: 0 auto;
  padding: 100px 0 280px;
}
#message > .inner h2 .jp {
  color: #fff;
}
#message > .inner h2:before {
  content: "MESSAGE";
  color: #1e1c1a;
}
#message > .inner p {
  color: #fff;
  text-align: left;
  line-height: 2;
  margin-bottom: 25px;
  letter-spacing: 2px;
}
#message > .inner p.name {
  text-align: right;
  margin-bottom: 0;
}
#message > .inner p.name span {
  font-size: 20px;
  display: block;
}
@media only screen and (max-width: 479px) {
  #message {
    background: url("../img/message_bg.jpg");
  }
  #message > .inner {
    width: 88%;
    padding: 50px 0;
  }
  #message > .inner p {
    margin-bottom: 20px;
  }
  #message > .inner p.name span {
    font-size: 16px;
  }
}

#service .rotate {
  background: #fff;
}
#service > .inner {
  padding: 90px 0 290px;
}
#service > .inner h2:before {
  content: "SERVICE";
  color: #e9edf1;
}
#service > .inner ul {
  max-width: 1600px;
  margin: 0 auto;
}
#service > .inner ul li {
  margin-bottom: 60px;
}
#service > .inner ul li::after {
  content: "";
  display: block;
  clear: both;
}
#service > .inner ul li:last-child {
  margin-bottom: 0;
}
#service > .inner ul li .pic {
  width: 53.75%;
  height: 480px;
  background: center center / cover;
}
#service > .inner ul li .txt {
  width: 30%;
  height: 480px;
  text-align: left;
}
#service > .inner ul li .txt .inner {
  display: table-cell;
  width: 100%;
  height: 480px;
  vertical-align: middle;
}
#service > .inner ul li .txt .inner .num {
  position: relative;
  margin-bottom: 30px;
}
#service > .inner ul li .txt .inner .num::before {
  font-family: 'Teko', sans-serif;
  font-size: 25px;
  color: #d81820;
  font-weight: bold;
  letter-spacing: 1px;
}
#service > .inner ul li .txt .inner .num::after {
  content: "";
  width: 20px;
  height: 1px;
  background: #d81820;
  position: absolute;
  top: 50%;
  left: 40px;
  transform: translateY(-50%);
}
#service > .inner ul li .txt .inner h3 {
  font-size: 25px;
  line-height: 1.6;
  margin-bottom: 30px;
  font-weight: bold;
  letter-spacing: 5px;
}
#service > .inner ul li .txt .inner p {
  line-height: 1.8;
  letter-spacing: 3px;
}
#service > .inner ul li:nth-child(odd) .pic, #service > .inner ul li:nth-child(odd) .txt {
  float: left;
}
#service > .inner ul li:nth-child(odd) .pic {
  margin-right: 3.75%;
}
#service > .inner ul li:nth-child(even) .pic, #service > .inner ul li:nth-child(even) .txt {
  float: right;
}
#service > .inner ul li:nth-child(even) .pic {
  margin-left: 3.75%;
}
#service > .inner ul li:nth-child(1) .num::before {
  content: "01";
}
#service > .inner ul li:nth-child(2) .num::before {
  content: "02";
}
#service > .inner ul li:nth-child(3) .num::before {
  content: "03";
}
#service > .inner ul li:nth-child(4) .num::before {
  content: "04";
}
#service > .inner ul li:nth-child(5) .num::before {
  content: "05";
}
#service > .inner ul li:nth-child(6) .num::before {
  content: "06";
}
#service > .inner ul li:nth-child(7) .num::before {
  content: "07";
}
#service > .inner ul li:nth-child(8) .num::before {
  content: "08";
}
#service > .inner ul li:nth-child(9) .num::before {
  content: "09";
}
#service > .inner ul li:nth-child(10) .num::before {
  content: "10";
}
@media only screen and (max-width: 479px) {
  #service > .inner {
    padding: 50px 0;
  }
  #service > .inner ul {
    width: 88%;
  }
  #service > .inner ul li {
    margin-bottom: 30px;
  }
  #service > .inner ul li .pic, #service > .inner ul li .txt {
    width: 100%;
    margin: 0 !important;
    float: none !important;
  }
  #service > .inner ul li .pic {
    height: 180px;
    margin-bottom: 20px !important;
  }
  #service > .inner ul li .txt {
    height: auto;
  }
  #service > .inner ul li .txt .inner {
    height: auto;
    display: block;
  }
  #service > .inner ul li .txt .inner .num {
    margin-bottom: 10px;
  }
  #service > .inner ul li .txt .inner h3 {
    font-size: 16px;
    letter-spacing: 2px;
    margin-bottom: 10px;
  }
  #service > .inner ul li .txt .inner h3 br {
    display: none;
  }
  #service > .inner ul li .txt .inner p {
    letter-spacing: 1px;
  }
}

#works .rotate {
  background: #f4f6f8;
}
#works > .inner {
  padding: 100px 0 260px;
}
#works > .inner h2:before {
  content: "WORKS";
  color: #e9edf1;
}
#works > .inner ul {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 80px;
}
#works > .inner ul::after {
  content: "";
  display: block;
  clear: both;
}
#works > .inner ul li {
  float: left;
  width: 31%;
  margin: 0 3.5% 40px 0;
}
#works > .inner ul li:nth-child(3n) {
  margin-right: 0;
}
#works > .inner ul li a {
  width: 100%;
  height: 240px;
  background: center center / cover;
  display: block;
  position: relative;
}
#works > .inner ul li a .cate {
  letter-spacing: 1px;
  font-family: 'Teko', sans-serif;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  padding: 10px;
  background: #000;
  color: #fff;
}
#works > .inner ul li a:before {
  content: "";
  width: 100%;
  height: 100%;
  opacity: 0;
  background: #d81820;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  transition: all 0.4s;
  transform: scale(0.9);
}
#works > .inner ul li a p {
  width: 100%;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 2px;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1.1);
  z-index: 1;
  opacity: 0;
  transition: all 0.4s;
}
#works > .inner ul li a:hover:before {
  opacity: 0.9;
  transform: scale(1);
}
#works > .inner ul li a:hover p {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
#works > .inner ul li:nth-child(3n+2) {
  transform: translateY(-40px);
}
#works > .inner ul li:nth-child(3n+3) {
  transform: translateY(-80px);
}
@media only screen and (max-width: 479px) {
  #works {
    background: #f4f6f8;
  }
  #works > .inner {
    padding: 50px 0;
  }
  #works > .inner ul {
    padding: 0;
    width: 88%;
  }
  #works > .inner ul li {
    width: 100%;
    float: none;
    margin: 0 0 30px !important;
    transform: none !important;
  }
  #works > .inner ul li:last-child {
    margin-bottom: 0 !important;
  }
  #works > .inner ul li a {
    height: 180px;
  }
  #works > .inner ul li a p {
    font-size: 14px;
    letter-spacing: 1px;
  }
}

#company .rotate {
  background: #fff;
}
#company > .inner {
  padding: 100px 0 280px;
}
#company > .inner h2:before {
  content: "COMPANY";
  color: #e9edf1;
}
#company > .inner table {
  width: 100%;
  max-width: 760px;
  margin: 0 auto 80px;
}
#company > .inner table tr th, #company > .inner table tr td {
  text-align: left;
  line-height: 2;
  padding-bottom: 25px;
}
#company > .inner table tr th {
  font-weight: bold;
  padding-right: 50px;
  letter-spacing: 2px;
}
#company > .inner table tr td {
  letter-spacing: 3px;
}
#company > .inner table tr:last-child th, #company > .inner table tr:last-child td {
  padding-bottom: 0;
}
#company > .inner #sns {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
}
#company > .inner #sns::after {
  content: "";
  display: block;
  clear: both;
}
#company > .inner #sns #fb, #company > .inner #sns #tw {
  width: 48%;
  height: 500px;
  overflow: scroll;
}
#company > .inner #sns #fb {
  float: left;
}
#company > .inner #sns #tw {
  float: right;
  box-sizing: border-box;
  border: 1px solid #ccc;
  background: #fff;
}
@media only screen and (max-width: 479px) {
  #company > .inner {
    padding: 50px 0;
  }
  #company > .inner table {
    width: 88%;
    display: block;
    margin-bottom: 50px;
  }
  #company > .inner table tbody {
    display: block;
  }
  #company > .inner table tr {
    display: block;
  }
  #company > .inner table tr th, #company > .inner table tr td {
    display: block;
    padding-bottom: 0;
  }
  #company > .inner table tr th {
    margin-bottom: 10px;
    font-size: 14px;
  }
  #company > .inner table tr td {
    margin-bottom: 20px;
    letter-spacing: 1px;
  }
  #company > .inner table tr:last-child th {
    margin-bottom: 10px;
  }
  #company > .inner table tr:last-child td {
    margin-bottom: 0;
  }
  #company > .inner #sns {
    width: 88%;
  }
  #company > .inner #sns #fb, #company > .inner #sns #tw {
    width: 100%;
    float: none;
  }
  #company > .inner #sns #fb {
    margin-bottom: 30px;
  }
  #company > .inner #sns #fb > div {
    max-width: 100%;
  }
}

#contact .rotate {
  background: #d81820;
}
#contact > .inner {
  padding: 100px 0 200px;
}
#contact > .inner h2:before {
  content: "CONTACT";
  color: #c80d13;
}
#contact > .inner h2 .en, #contact > .inner h2 .jp {
  color: #fff;
}
#contact > .inner > p {
  color: #fff;
  line-height: 2;
  margin-bottom: 60px;
}
#contact > .inner > p em {
  font-weight: bold;
}
#contact > .inner dl {
  max-width: 720px;
  margin: 0 auto 60px;
}
#contact > .inner dl dt {
  color: #fff;
  text-align: left;
  margin-bottom: 17px;
  font-weight: bold;
}
#contact > .inner dl dd {
  margin-bottom: 44px;
}
#contact > .inner dl dd input[type="text"], #contact > .inner dl dd textarea {
  border: none;
  padding: 0 20px;
  line-height: 50px;
  width: 100%;
  box-sizing: border-box;
  color: #d81820;
}
#contact > .inner dl dd textarea {
  padding: 20px;
  line-height: 1.6;
  height: 150px;
}
#contact > .inner dl dd:last-child {
  margin-bottom: 0;
}
#contact > .inner dl dd .error {
  margin-top: 10px;
  text-align: left;
  color: #fff;
}
#contact > .inner #privacy {
  margin-bottom: 60px;
}
#contact > .inner #privacy a {
  color: #fff;
}
#contact > .inner #privacy a:hover {
  text-decoration: underline;
}
#contact > .inner .btn {
  width: 300px;
  line-height: 78px;
  border: solid 1px #fff;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 1px;
  display: block;
  margin: 0 auto;
  border-radius: 37px;
  transition: all 0.4s;
}
#contact > .inner .btn:hover {
  opacity: 0.6;
}
@media only screen and (max-width: 479px) {
  #contact {
    background: #d81820;
  }
  #contact > .inner {
    padding: 50px 0;
  }
  #contact > .inner p {
    width: 88%;
    margin: 0 auto 30px;
  }
  #contact > .inner p br {
    display: none;
  }
  #contact > .inner p em {
    display: block;
  }
  #contact > .inner dl {
    width: 88%;
    margin: 0 auto 30px;
  }
  #contact > .inner dl dt {
    font-size: 14px;
    margin-bottom: 10px;
  }
  #contact > .inner dl dd {
    margin-bottom: 20px;
  }
  #contact > .inner dl dd .error {
    width: 100%;
  }
  #contact > .inner #privacy {
    margin-bottom: 30px;
  }
  #contact > .inner .btn {
    width: 180px;
    line-height: 50px;
    border-radius: 25px;
    font-size: 14px;
  }
}

footer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
footer small {
  display: block;
  line-height: 90px;
  color: #fff;
  font-family: 'Teko', sans-serif;
  font-size: 11px;
  background: #b70204;
  letter-spacing: 2px;
}
footer a {
  width: 90px;
  height: 90px;
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  background: #9b0001;
  transition: all 0.4s;
}
footer a::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-left: 1px solid #fff;
  border-top: 1px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -10px;
  box-sizing: border-box;
  transform: rotate(45deg) translate(-50%, -50%);
  margin-top: 3px;
  margin-left: -3px;
}
footer a:hover {
  opacity: 0.6;
}
@media only screen and (max-width: 479px) {
  footer {
    position: static;
    bottom: auto;
    left: auto;
  }
  footer small {
    line-height: 50px;
    font-size: 10px;
    letter-spacing: 1px;
  }
  footer a {
    width: 50px;
    height: 50px;
  }
}

#lightbox_bg {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 10;
  position: absolute;
  position: fixed;
  top: 0;
  left: 0;
  cursor: pointer;
  display: none;
}

#lightbox_info, #lightbox_works {
  display: none;
}
#lightbox_info article, #lightbox_works article {
  background: #fff;
  width: 780px;
  padding: 50px;
  box-sizing: border-box;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: left;
  z-index: 11;
  display: none;
}
#lightbox_info article a, #lightbox_works article a {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  background: #000;
}
#lightbox_info article a::before, #lightbox_info article a::after, #lightbox_works article a::before, #lightbox_works article a::after {
  content: "";
  width: 32px;
  height: 2px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
#lightbox_info article a::after, #lightbox_works article a::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
#lightbox_info article h1, #lightbox_works article h1 {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 20px;
  line-height: 1.4;
}
#lightbox_info article time, #lightbox_works article time {
  font-size: 16px;
  letter-spacing: 2px;
  text-align: right;
  display: block;
  font-family: 'Teko', sans-serif;
  margin-bottom: 20px;
}
#lightbox_info article img, #lightbox_works article img {
  width: 100%;
  height: auto;
  margin-bottom: 20px;
}
#lightbox_info article p, #lightbox_info article li, #lightbox_info article dt, #lightbox_info article dd, #lightbox_works article p, #lightbox_works article li, #lightbox_works article dt, #lightbox_works article dd {
  line-height: 1.8;
}
#lightbox_info article p, #lightbox_info article dl, #lightbox_info article ul, #lightbox_info article ol, #lightbox_works article p, #lightbox_works article dl, #lightbox_works article ul, #lightbox_works article ol {
  margin-bottom: 1em;
}
@media only screen and (max-width: 479px) {
  #lightbox_info article, #lightbox_works article {
    width: 88%;
    padding: 30px;
  }
  #lightbox_info article a, #lightbox_works article a {
    width: 25px;
    height: 25px;
  }
  #lightbox_info article a::before, #lightbox_info article a::after, #lightbox_works article a::before, #lightbox_works article a::after {
    width: 20px;
    height: 1px;
  }
  #lightbox_info article h1, #lightbox_works article h1 {
    font-size: 16px;
    margin-bottom: 10px;
  }
  #lightbox_info article time, #lightbox_works article time {
    font-size: 14px;
    margin-bottom: 10px;
  }
  #lightbox_info article img, #lightbox_works article img {
    margin-bottom: 10px;
  }
}

h2.trigger::before {
  opacity: 0;
  transform: translateX(10%);
}
h2.trigger.on::before {
  animation: fadeinX 0.6s ease-in-out forwards;
}

div.trigger, li.trigger, p.trigger, a.trigger {
  opacity: 0;
  transform: translateY(10%);
}
div.trigger.on, li.trigger.on, p.trigger.on, a.trigger.on {
  animation: fadein 0.6s ease-in-out forwards;
}

ul.trigger li, ul.trigger dt, ul.trigger dd, ul.trigger tr, dl.trigger li, dl.trigger dt, dl.trigger dd, dl.trigger tr, table.trigger li, table.trigger dt, table.trigger dd, table.trigger tr {
  opacity: 0;
  transform: translateY(10%);
}
ul.trigger.on li, ul.trigger.on dt, ul.trigger.on dd, ul.trigger.on tr, dl.trigger.on li, dl.trigger.on dt, dl.trigger.on dd, dl.trigger.on tr, table.trigger.on li, table.trigger.on dt, table.trigger.on dd, table.trigger.on tr {
  animation: fadein 0.6s ease-in-out forwards;
}
ul.trigger.on li:nth-child(2), ul.trigger.on dt:nth-child(2), ul.trigger.on dd:nth-child(2), ul.trigger.on tr:nth-child(2), dl.trigger.on li:nth-child(2), dl.trigger.on dt:nth-child(2), dl.trigger.on dd:nth-child(2), dl.trigger.on tr:nth-child(2), table.trigger.on li:nth-child(2), table.trigger.on dt:nth-child(2), table.trigger.on dd:nth-child(2), table.trigger.on tr:nth-child(2) {
  animation-delay: 0.2s;
}
ul.trigger.on li:nth-child(3), ul.trigger.on dt:nth-child(3), ul.trigger.on dd:nth-child(3), ul.trigger.on tr:nth-child(3), dl.trigger.on li:nth-child(3), dl.trigger.on dt:nth-child(3), dl.trigger.on dd:nth-child(3), dl.trigger.on tr:nth-child(3), table.trigger.on li:nth-child(3), table.trigger.on dt:nth-child(3), table.trigger.on dd:nth-child(3), table.trigger.on tr:nth-child(3) {
  animation-delay: 0.4s;
}
ul.trigger.on li:nth-child(4), ul.trigger.on dt:nth-child(4), ul.trigger.on dd:nth-child(4), ul.trigger.on tr:nth-child(4), dl.trigger.on li:nth-child(4), dl.trigger.on dt:nth-child(4), dl.trigger.on dd:nth-child(4), dl.trigger.on tr:nth-child(4), table.trigger.on li:nth-child(4), table.trigger.on dt:nth-child(4), table.trigger.on dd:nth-child(4), table.trigger.on tr:nth-child(4) {
  animation-delay: 0.6s;
}
ul.trigger.on li:nth-child(5), ul.trigger.on dt:nth-child(5), ul.trigger.on dd:nth-child(5), ul.trigger.on tr:nth-child(5), dl.trigger.on li:nth-child(5), dl.trigger.on dt:nth-child(5), dl.trigger.on dd:nth-child(5), dl.trigger.on tr:nth-child(5), table.trigger.on li:nth-child(5), table.trigger.on dt:nth-child(5), table.trigger.on dd:nth-child(5), table.trigger.on tr:nth-child(5) {
  animation-delay: 0.8s;
}
ul.trigger.on li:nth-child(6), ul.trigger.on dt:nth-child(6), ul.trigger.on dd:nth-child(6), ul.trigger.on tr:nth-child(6), dl.trigger.on li:nth-child(6), dl.trigger.on dt:nth-child(6), dl.trigger.on dd:nth-child(6), dl.trigger.on tr:nth-child(6), table.trigger.on li:nth-child(6), table.trigger.on dt:nth-child(6), table.trigger.on dd:nth-child(6), table.trigger.on tr:nth-child(6) {
  animation-delay: 1s;
}
ul.trigger.on li:nth-child(7), ul.trigger.on dt:nth-child(7), ul.trigger.on dd:nth-child(7), ul.trigger.on tr:nth-child(7), dl.trigger.on li:nth-child(7), dl.trigger.on dt:nth-child(7), dl.trigger.on dd:nth-child(7), dl.trigger.on tr:nth-child(7), table.trigger.on li:nth-child(7), table.trigger.on dt:nth-child(7), table.trigger.on dd:nth-child(7), table.trigger.on tr:nth-child(7) {
  animation-delay: 1.2s;
}
ul.trigger.on li:nth-child(8), ul.trigger.on dt:nth-child(8), ul.trigger.on dd:nth-child(8), ul.trigger.on tr:nth-child(8), dl.trigger.on li:nth-child(8), dl.trigger.on dt:nth-child(8), dl.trigger.on dd:nth-child(8), dl.trigger.on tr:nth-child(8), table.trigger.on li:nth-child(8), table.trigger.on dt:nth-child(8), table.trigger.on dd:nth-child(8), table.trigger.on tr:nth-child(8) {
  animation-delay: 1.4s;
}
ul.trigger.on li:nth-child(9), ul.trigger.on dt:nth-child(9), ul.trigger.on dd:nth-child(9), ul.trigger.on tr:nth-child(9), dl.trigger.on li:nth-child(9), dl.trigger.on dt:nth-child(9), dl.trigger.on dd:nth-child(9), dl.trigger.on tr:nth-child(9), table.trigger.on li:nth-child(9), table.trigger.on dt:nth-child(9), table.trigger.on dd:nth-child(9), table.trigger.on tr:nth-child(9) {
  animation-delay: 1.6s;
}
ul.trigger.on li:nth-child(10), ul.trigger.on dt:nth-child(10), ul.trigger.on dd:nth-child(10), ul.trigger.on tr:nth-child(10), dl.trigger.on li:nth-child(10), dl.trigger.on dt:nth-child(10), dl.trigger.on dd:nth-child(10), dl.trigger.on tr:nth-child(10), table.trigger.on li:nth-child(10), table.trigger.on dt:nth-child(10), table.trigger.on dd:nth-child(10), table.trigger.on tr:nth-child(10) {
  animation-delay: 1.8s;
}
ul.trigger.on li:nth-child(11), ul.trigger.on dt:nth-child(11), ul.trigger.on dd:nth-child(11), ul.trigger.on tr:nth-child(11), dl.trigger.on li:nth-child(11), dl.trigger.on dt:nth-child(11), dl.trigger.on dd:nth-child(11), dl.trigger.on tr:nth-child(11), table.trigger.on li:nth-child(11), table.trigger.on dt:nth-child(11), table.trigger.on dd:nth-child(11), table.trigger.on tr:nth-child(11) {
  animation-delay: 2s;
}
ul.trigger.on li:nth-child(12), ul.trigger.on dt:nth-child(12), ul.trigger.on dd:nth-child(12), ul.trigger.on tr:nth-child(12), dl.trigger.on li:nth-child(12), dl.trigger.on dt:nth-child(12), dl.trigger.on dd:nth-child(12), dl.trigger.on tr:nth-child(12), table.trigger.on li:nth-child(12), table.trigger.on dt:nth-child(12), table.trigger.on dd:nth-child(12), table.trigger.on tr:nth-child(12) {
  animation-delay: 2.2s;
}
ul.trigger.on li:nth-child(13), ul.trigger.on dt:nth-child(13), ul.trigger.on dd:nth-child(13), ul.trigger.on tr:nth-child(13), dl.trigger.on li:nth-child(13), dl.trigger.on dt:nth-child(13), dl.trigger.on dd:nth-child(13), dl.trigger.on tr:nth-child(13), table.trigger.on li:nth-child(13), table.trigger.on dt:nth-child(13), table.trigger.on dd:nth-child(13), table.trigger.on tr:nth-child(13) {
  animation-delay: 2.4s;
}
ul.trigger.on li:nth-child(14), ul.trigger.on dt:nth-child(14), ul.trigger.on dd:nth-child(14), ul.trigger.on tr:nth-child(14), dl.trigger.on li:nth-child(14), dl.trigger.on dt:nth-child(14), dl.trigger.on dd:nth-child(14), dl.trigger.on tr:nth-child(14), table.trigger.on li:nth-child(14), table.trigger.on dt:nth-child(14), table.trigger.on dd:nth-child(14), table.trigger.on tr:nth-child(14) {
  animation-delay: 2.6s;
}
ul.trigger.on li:nth-child(15), ul.trigger.on dt:nth-child(15), ul.trigger.on dd:nth-child(15), ul.trigger.on tr:nth-child(15), dl.trigger.on li:nth-child(15), dl.trigger.on dt:nth-child(15), dl.trigger.on dd:nth-child(15), dl.trigger.on tr:nth-child(15), table.trigger.on li:nth-child(15), table.trigger.on dt:nth-child(15), table.trigger.on dd:nth-child(15), table.trigger.on tr:nth-child(15) {
  animation-delay: 2.8s;
}
ul.trigger.on li:nth-child(16), ul.trigger.on dt:nth-child(16), ul.trigger.on dd:nth-child(16), ul.trigger.on tr:nth-child(16), dl.trigger.on li:nth-child(16), dl.trigger.on dt:nth-child(16), dl.trigger.on dd:nth-child(16), dl.trigger.on tr:nth-child(16), table.trigger.on li:nth-child(16), table.trigger.on dt:nth-child(16), table.trigger.on dd:nth-child(16), table.trigger.on tr:nth-child(16) {
  animation-delay: 3s;
}
ul.trigger.on li:nth-child(17), ul.trigger.on dt:nth-child(17), ul.trigger.on dd:nth-child(17), ul.trigger.on tr:nth-child(17), dl.trigger.on li:nth-child(17), dl.trigger.on dt:nth-child(17), dl.trigger.on dd:nth-child(17), dl.trigger.on tr:nth-child(17), table.trigger.on li:nth-child(17), table.trigger.on dt:nth-child(17), table.trigger.on dd:nth-child(17), table.trigger.on tr:nth-child(17) {
  animation-delay: 3.2s;
}
ul.trigger.on li:nth-child(18), ul.trigger.on dt:nth-child(18), ul.trigger.on dd:nth-child(18), ul.trigger.on tr:nth-child(18), dl.trigger.on li:nth-child(18), dl.trigger.on dt:nth-child(18), dl.trigger.on dd:nth-child(18), dl.trigger.on tr:nth-child(18), table.trigger.on li:nth-child(18), table.trigger.on dt:nth-child(18), table.trigger.on dd:nth-child(18), table.trigger.on tr:nth-child(18) {
  animation-delay: 3.4s;
}
ul.trigger.on li:nth-child(19), ul.trigger.on dt:nth-child(19), ul.trigger.on dd:nth-child(19), ul.trigger.on tr:nth-child(19), dl.trigger.on li:nth-child(19), dl.trigger.on dt:nth-child(19), dl.trigger.on dd:nth-child(19), dl.trigger.on tr:nth-child(19), table.trigger.on li:nth-child(19), table.trigger.on dt:nth-child(19), table.trigger.on dd:nth-child(19), table.trigger.on tr:nth-child(19) {
  animation-delay: 3.6s;
}
ul.trigger.on li:nth-child(20), ul.trigger.on dt:nth-child(20), ul.trigger.on dd:nth-child(20), ul.trigger.on tr:nth-child(20), dl.trigger.on li:nth-child(20), dl.trigger.on dt:nth-child(20), dl.trigger.on dd:nth-child(20), dl.trigger.on tr:nth-child(20), table.trigger.on li:nth-child(20), table.trigger.on dt:nth-child(20), table.trigger.on dd:nth-child(20), table.trigger.on tr:nth-child(20) {
  animation-delay: 3.8s;
}
ul.trigger.fast.on li, ul.trigger.fast.on dt, ul.trigger.fast.on dd, ul.trigger.fast.on tr, dl.trigger.fast.on li, dl.trigger.fast.on dt, dl.trigger.fast.on dd, dl.trigger.fast.on tr, table.trigger.fast.on li, table.trigger.fast.on dt, table.trigger.fast.on dd, table.trigger.fast.on tr {
  animation: fadein 0.3s ease-in-out forwards;
}
ul.trigger.fast.on li:nth-child(2), ul.trigger.fast.on dt:nth-child(2), ul.trigger.fast.on dd:nth-child(2), ul.trigger.fast.on tr:nth-child(2), dl.trigger.fast.on li:nth-child(2), dl.trigger.fast.on dt:nth-child(2), dl.trigger.fast.on dd:nth-child(2), dl.trigger.fast.on tr:nth-child(2), table.trigger.fast.on li:nth-child(2), table.trigger.fast.on dt:nth-child(2), table.trigger.fast.on dd:nth-child(2), table.trigger.fast.on tr:nth-child(2) {
  animation-delay: 0.1s;
}
ul.trigger.fast.on li:nth-child(3), ul.trigger.fast.on dt:nth-child(3), ul.trigger.fast.on dd:nth-child(3), ul.trigger.fast.on tr:nth-child(3), dl.trigger.fast.on li:nth-child(3), dl.trigger.fast.on dt:nth-child(3), dl.trigger.fast.on dd:nth-child(3), dl.trigger.fast.on tr:nth-child(3), table.trigger.fast.on li:nth-child(3), table.trigger.fast.on dt:nth-child(3), table.trigger.fast.on dd:nth-child(3), table.trigger.fast.on tr:nth-child(3) {
  animation-delay: 0.2s;
}
ul.trigger.fast.on li:nth-child(4), ul.trigger.fast.on dt:nth-child(4), ul.trigger.fast.on dd:nth-child(4), ul.trigger.fast.on tr:nth-child(4), dl.trigger.fast.on li:nth-child(4), dl.trigger.fast.on dt:nth-child(4), dl.trigger.fast.on dd:nth-child(4), dl.trigger.fast.on tr:nth-child(4), table.trigger.fast.on li:nth-child(4), table.trigger.fast.on dt:nth-child(4), table.trigger.fast.on dd:nth-child(4), table.trigger.fast.on tr:nth-child(4) {
  animation-delay: 0.3s;
}
ul.trigger.fast.on li:nth-child(5), ul.trigger.fast.on dt:nth-child(5), ul.trigger.fast.on dd:nth-child(5), ul.trigger.fast.on tr:nth-child(5), dl.trigger.fast.on li:nth-child(5), dl.trigger.fast.on dt:nth-child(5), dl.trigger.fast.on dd:nth-child(5), dl.trigger.fast.on tr:nth-child(5), table.trigger.fast.on li:nth-child(5), table.trigger.fast.on dt:nth-child(5), table.trigger.fast.on dd:nth-child(5), table.trigger.fast.on tr:nth-child(5) {
  animation-delay: 0.4s;
}
ul.trigger.fast.on li:nth-child(6), ul.trigger.fast.on dt:nth-child(6), ul.trigger.fast.on dd:nth-child(6), ul.trigger.fast.on tr:nth-child(6), dl.trigger.fast.on li:nth-child(6), dl.trigger.fast.on dt:nth-child(6), dl.trigger.fast.on dd:nth-child(6), dl.trigger.fast.on tr:nth-child(6), table.trigger.fast.on li:nth-child(6), table.trigger.fast.on dt:nth-child(6), table.trigger.fast.on dd:nth-child(6), table.trigger.fast.on tr:nth-child(6) {
  animation-delay: 0.5s;
}
ul.trigger.fast.on li:nth-child(7), ul.trigger.fast.on dt:nth-child(7), ul.trigger.fast.on dd:nth-child(7), ul.trigger.fast.on tr:nth-child(7), dl.trigger.fast.on li:nth-child(7), dl.trigger.fast.on dt:nth-child(7), dl.trigger.fast.on dd:nth-child(7), dl.trigger.fast.on tr:nth-child(7), table.trigger.fast.on li:nth-child(7), table.trigger.fast.on dt:nth-child(7), table.trigger.fast.on dd:nth-child(7), table.trigger.fast.on tr:nth-child(7) {
  animation-delay: 0.6s;
}
ul.trigger.fast.on li:nth-child(8), ul.trigger.fast.on dt:nth-child(8), ul.trigger.fast.on dd:nth-child(8), ul.trigger.fast.on tr:nth-child(8), dl.trigger.fast.on li:nth-child(8), dl.trigger.fast.on dt:nth-child(8), dl.trigger.fast.on dd:nth-child(8), dl.trigger.fast.on tr:nth-child(8), table.trigger.fast.on li:nth-child(8), table.trigger.fast.on dt:nth-child(8), table.trigger.fast.on dd:nth-child(8), table.trigger.fast.on tr:nth-child(8) {
  animation-delay: 0.7s;
}
ul.trigger.fast.on li:nth-child(9), ul.trigger.fast.on dt:nth-child(9), ul.trigger.fast.on dd:nth-child(9), ul.trigger.fast.on tr:nth-child(9), dl.trigger.fast.on li:nth-child(9), dl.trigger.fast.on dt:nth-child(9), dl.trigger.fast.on dd:nth-child(9), dl.trigger.fast.on tr:nth-child(9), table.trigger.fast.on li:nth-child(9), table.trigger.fast.on dt:nth-child(9), table.trigger.fast.on dd:nth-child(9), table.trigger.fast.on tr:nth-child(9) {
  animation-delay: 0.8s;
}
ul.trigger.fast.on li:nth-child(10), ul.trigger.fast.on dt:nth-child(10), ul.trigger.fast.on dd:nth-child(10), ul.trigger.fast.on tr:nth-child(10), dl.trigger.fast.on li:nth-child(10), dl.trigger.fast.on dt:nth-child(10), dl.trigger.fast.on dd:nth-child(10), dl.trigger.fast.on tr:nth-child(10), table.trigger.fast.on li:nth-child(10), table.trigger.fast.on dt:nth-child(10), table.trigger.fast.on dd:nth-child(10), table.trigger.fast.on tr:nth-child(10) {
  animation-delay: 0.9s;
}
ul.trigger.fast.on li:nth-child(11), ul.trigger.fast.on dt:nth-child(11), ul.trigger.fast.on dd:nth-child(11), ul.trigger.fast.on tr:nth-child(11), dl.trigger.fast.on li:nth-child(11), dl.trigger.fast.on dt:nth-child(11), dl.trigger.fast.on dd:nth-child(11), dl.trigger.fast.on tr:nth-child(11), table.trigger.fast.on li:nth-child(11), table.trigger.fast.on dt:nth-child(11), table.trigger.fast.on dd:nth-child(11), table.trigger.fast.on tr:nth-child(11) {
  animation-delay: 1s;
}
ul.trigger.fast.on li:nth-child(12), ul.trigger.fast.on dt:nth-child(12), ul.trigger.fast.on dd:nth-child(12), ul.trigger.fast.on tr:nth-child(12), dl.trigger.fast.on li:nth-child(12), dl.trigger.fast.on dt:nth-child(12), dl.trigger.fast.on dd:nth-child(12), dl.trigger.fast.on tr:nth-child(12), table.trigger.fast.on li:nth-child(12), table.trigger.fast.on dt:nth-child(12), table.trigger.fast.on dd:nth-child(12), table.trigger.fast.on tr:nth-child(12) {
  animation-delay: 1.1s;
}
ul.trigger.fast.on li:nth-child(13), ul.trigger.fast.on dt:nth-child(13), ul.trigger.fast.on dd:nth-child(13), ul.trigger.fast.on tr:nth-child(13), dl.trigger.fast.on li:nth-child(13), dl.trigger.fast.on dt:nth-child(13), dl.trigger.fast.on dd:nth-child(13), dl.trigger.fast.on tr:nth-child(13), table.trigger.fast.on li:nth-child(13), table.trigger.fast.on dt:nth-child(13), table.trigger.fast.on dd:nth-child(13), table.trigger.fast.on tr:nth-child(13) {
  animation-delay: 1.2s;
}
ul.trigger.fast.on li:nth-child(14), ul.trigger.fast.on dt:nth-child(14), ul.trigger.fast.on dd:nth-child(14), ul.trigger.fast.on tr:nth-child(14), dl.trigger.fast.on li:nth-child(14), dl.trigger.fast.on dt:nth-child(14), dl.trigger.fast.on dd:nth-child(14), dl.trigger.fast.on tr:nth-child(14), table.trigger.fast.on li:nth-child(14), table.trigger.fast.on dt:nth-child(14), table.trigger.fast.on dd:nth-child(14), table.trigger.fast.on tr:nth-child(14) {
  animation-delay: 1.3s;
}
ul.trigger.fast.on li:nth-child(15), ul.trigger.fast.on dt:nth-child(15), ul.trigger.fast.on dd:nth-child(15), ul.trigger.fast.on tr:nth-child(15), dl.trigger.fast.on li:nth-child(15), dl.trigger.fast.on dt:nth-child(15), dl.trigger.fast.on dd:nth-child(15), dl.trigger.fast.on tr:nth-child(15), table.trigger.fast.on li:nth-child(15), table.trigger.fast.on dt:nth-child(15), table.trigger.fast.on dd:nth-child(15), table.trigger.fast.on tr:nth-child(15) {
  animation-delay: 1.4s;
}
ul.trigger.fast.on li:nth-child(16), ul.trigger.fast.on dt:nth-child(16), ul.trigger.fast.on dd:nth-child(16), ul.trigger.fast.on tr:nth-child(16), dl.trigger.fast.on li:nth-child(16), dl.trigger.fast.on dt:nth-child(16), dl.trigger.fast.on dd:nth-child(16), dl.trigger.fast.on tr:nth-child(16), table.trigger.fast.on li:nth-child(16), table.trigger.fast.on dt:nth-child(16), table.trigger.fast.on dd:nth-child(16), table.trigger.fast.on tr:nth-child(16) {
  animation-delay: 1.5s;
}
ul.trigger.fast.on li:nth-child(17), ul.trigger.fast.on dt:nth-child(17), ul.trigger.fast.on dd:nth-child(17), ul.trigger.fast.on tr:nth-child(17), dl.trigger.fast.on li:nth-child(17), dl.trigger.fast.on dt:nth-child(17), dl.trigger.fast.on dd:nth-child(17), dl.trigger.fast.on tr:nth-child(17), table.trigger.fast.on li:nth-child(17), table.trigger.fast.on dt:nth-child(17), table.trigger.fast.on dd:nth-child(17), table.trigger.fast.on tr:nth-child(17) {
  animation-delay: 1.6s;
}
ul.trigger.fast.on li:nth-child(18), ul.trigger.fast.on dt:nth-child(18), ul.trigger.fast.on dd:nth-child(18), ul.trigger.fast.on tr:nth-child(18), dl.trigger.fast.on li:nth-child(18), dl.trigger.fast.on dt:nth-child(18), dl.trigger.fast.on dd:nth-child(18), dl.trigger.fast.on tr:nth-child(18), table.trigger.fast.on li:nth-child(18), table.trigger.fast.on dt:nth-child(18), table.trigger.fast.on dd:nth-child(18), table.trigger.fast.on tr:nth-child(18) {
  animation-delay: 1.7s;
}
ul.trigger.fast.on li:nth-child(19), ul.trigger.fast.on dt:nth-child(19), ul.trigger.fast.on dd:nth-child(19), ul.trigger.fast.on tr:nth-child(19), dl.trigger.fast.on li:nth-child(19), dl.trigger.fast.on dt:nth-child(19), dl.trigger.fast.on dd:nth-child(19), dl.trigger.fast.on tr:nth-child(19), table.trigger.fast.on li:nth-child(19), table.trigger.fast.on dt:nth-child(19), table.trigger.fast.on dd:nth-child(19), table.trigger.fast.on tr:nth-child(19) {
  animation-delay: 1.8s;
}
ul.trigger.fast.on li:nth-child(20), ul.trigger.fast.on dt:nth-child(20), ul.trigger.fast.on dd:nth-child(20), ul.trigger.fast.on tr:nth-child(20), dl.trigger.fast.on li:nth-child(20), dl.trigger.fast.on dt:nth-child(20), dl.trigger.fast.on dd:nth-child(20), dl.trigger.fast.on tr:nth-child(20), table.trigger.fast.on li:nth-child(20), table.trigger.fast.on dt:nth-child(20), table.trigger.fast.on dd:nth-child(20), table.trigger.fast.on tr:nth-child(20) {
  animation-delay: 1.9s;
}

@keyframes fadein {
  0% {
    opacity: 0;
    transform: translateY(10%);
  }
  100% {
    opacity: 1;
    transform: translateY(0%);
  }
}
@keyframes fadeinX {
  0% {
    opacity: 0;
    transform: translateX(10%);
  }
  100% {
    opacity: 1;
    transform: translateX(0%);
  }
}
.subpage #wrap #mv {
  height: 360px;
}
.subpage #wrap #mv h1 .en {
  font-size: 70px;
  margin-bottom: 10px;
  letter-spacing: 10px;
}
.subpage #wrap #mv h1 .jp {
  font-size: 16px;
  letter-spacing: 6px;
}
.subpage #wrap #content {
  padding: 50px 40px 100px;
  text-align: left;
}
.subpage #wrap #content #breadcrumb {
  max-width: 1200px;
  margin: 0 auto 80px;
}
.subpage #wrap #content #breadcrumb ul::after {
  content: "";
  display: block;
  clear: both;
}
.subpage #wrap #content #breadcrumb ul li {
  float: left;
  font-size: 12px;
  padding-right: 15px;
  position: relative;
  margin-right: 6px;
  line-height: 1.2;
  text-align: left;
  font-weight: 500;
  letter-spacing: 3px;
}
.subpage #wrap #content #breadcrumb ul li::after {
  content: ">";
  position: absolute;
  top: -0.5px;
  right: 0;
}
.subpage #wrap #content #breadcrumb ul li:last-child {
  padding: 0;
  margin: 0;
}
.subpage #wrap #content #breadcrumb ul li:last-child::after {
  display: none;
}
.subpage #wrap #content #breadcrumb ul li a {
  font-size: 12px;
}
@media only screen and (max-width: 479px) {
  .subpage #wrap #content #breadcrumb {
    margin-bottom: 50px;
    width: 88%;
    overflow: scroll;
  }
  .subpage #wrap #content #breadcrumb ul li {
    line-height: 1.8;
    white-space: nowrap;
  }
}
.subpage #wrap #content .inner {
  max-width: 1200px;
  margin: 0 auto;
  text-align: left;
}
.subpage #wrap #content .inner p {
  font-size: 14px;
  line-height: 2;
  margin-bottom: 1em;
}
.subpage #wrap #content .inner p:last-child {
  margin-bottom: 0;
}
.subpage #wrap #content .inner a {
  color: #d81820;
  text-decoration: underline;
}
.subpage #wrap #content .inner a:hover {
  text-decoration: none;
}
.subpage #wrap footer {
  position: static;
  bottom: auto;
  left: auto;
}
@media only screen and (max-width: 479px) {
  .subpage #wrap #mv {
    padding: 0;
    min-height: auto;
    height: auto;
    padding-bottom: 30px;
  }
  .subpage #wrap #mv .logo {
    background: #000;
    padding: 10px 0;
    margin: 0 0 30px;
  }
  .subpage #wrap #mv .logo img {
    width: 120px;
  }
  .subpage #wrap #mv h1 .en {
    font-size: 30px;
    margin: 0;
    letter-spacing: 4px;
  }
  .subpage #wrap #mv h1 .jp {
    font-size: 12px;
    letter-spacing: 1px;
  }
  .subpage #wrap #content {
    padding: 30px 0 50px;
  }
  .subpage #wrap #content .inner {
    width: 88%;
    font-size: 12px;
  }
  .subpage #wrap #content .inner p {
    font-size: 12px;
  }
}

@media only screen and (max-width: 479px) {
  #send #wrap #content .inner p br {
    display: none;
  }
}

#single #wrap #content .inner article {
  margin-bottom: 50px;
}
#single #wrap #content .inner article h1 {
  font-weight: bold;
  font-size: 30px;
  line-height: 1.4;
  letter-spacing: 3px;
  margin-bottom: 50px;
}
#single #wrap #content .inner article #the_content {
  margin-bottom: 50px;
}
#single #wrap #content .inner article #the_content * {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 1em;
}
#single #wrap #content .inner article time {
  display: block;
  text-align: right;
  font-family: 'Teko', sans-serif;
  letter-spacing: 4px;
  font-weight: bold;
  font-size: 18px;
}
#single #wrap #content .inner #prev_next::after {
  content: "";
  display: block;
  clear: both;
}
#single #wrap #content .inner #prev_next li {
  float: left;
  font-family: 'Teko', sans-serif;
  letter-spacing: 4px;
  font-size: 18px;
}
#single #wrap #content .inner #prev_next li a {
  text-decoration: none;
}
#single #wrap #content .inner #prev_next li:last-child {
  float: right;
}
@media only screen and (max-width: 479px) {
  #single #wrap #content .inner article {
    margin-bottom: 30px;
  }
  #single #wrap #content .inner article h1 {
    font-size: 20px;
    letter-spacing: 1px;
    margin-bottom: 30px;
  }
  #single #wrap #content .inner article #the_content {
    margin-bottom: 30px;
  }
  #single #wrap #content .inner article #the_content * {
    font-size: 12px;
  }
  #single #wrap #content .inner article time {
    letter-spacing: 2px;
    font-size: 16px;
  }
  #single #wrap #content .inner #prev_next li {
    letter-spacing: 2px;
    font-size: 16px;
  }
}

#privacy #wrap #content .inner * {
  font-size: 14px;
  line-height: 2;
}
#privacy #wrap #content .inner h2 {
  font-size: 20px;
  font-weight: bold;
  color: #d81820;
}
#privacy #wrap #content .inner p, #privacy #wrap #content .inner ol {
  margin-bottom: 2em;
}
#privacy #wrap #content .inner p:last-child, #privacy #wrap #content .inner ol:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 479px) {
  #privacy #wrap #content .inner * {
    font-size: 12px;
  }
  #privacy #wrap #content .inner h2 {
    font-size: 16px;
  }
  #privacy #wrap #content .inner .mail {
    width: auto;
    height: 24px;
  }
}
