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: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

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

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/*
font-family: 'Amiri', serif;
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Sawarabi Mincho', sans-serif;
*/
html {
  width: 100%;
}

body {
  color: #bababa;
  background-color: #000;
  background-image: url(../img_2x/bk_loop.jpg);
  background-size: 1920px 1524px;
  background-repeat: no-repeat;
  background-position: 50% 4900px;
  font-family: YakuHanJP, 'Noto Serif JP', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.14em;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
}

img {
  vertical-align: bottom;
}

a {
  text-decoration: none;
}

#container {
  position: relative;
  width: 100%;
  min-width: 1000px;
  margin: 0 auto;
  overflow-x: hidden;
  z-index: 2;
}

#background .img {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-size: cover;
  background-position: 0 0;
  background-repeat: no-repeat;
  opacity: 0;
  -webkit-transition: 1.5s ease opacity;
  transition: 1.5s ease opacity;
}

#background .img.img_01 {
  background-image: url(../img_2x/bk_01.jpg);
}

#background .img.img_02 {
  background-image: url(../img_2x/bk_02.jpg);
}

#background .img.img_03 {
  background-image: url(../img_2x/bk_03.jpg);
}

#background .img.active {
  -webkit-transition: 3s ease opacity;
  transition: 3s ease opacity;
  opacity: 1;
}

#header .inner {
  width: 1020px;
  height: 30px;
  padding-top: 30px;
  margin: 0 auto;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

#header .inner h1 {
  width: 110px;
  height: 20px;
  -webkit-flex: 1 0 auto;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
}

#header .inner h1 a {
  display: block;
  width: 110px;
  height: 20px;
  background-image: url(../img_2x/header_logo.png);
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
  -webkit-transition: 0.2s ease opacity;
  transition: 0.2s ease opacity;
}

#header .inner h1 a:hover {
  opacity: 0.5;
}

#header .inner ul {
  height: 30px;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-justify-content: flex-end;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

#header .inner ul li {
  margin-left: 20px;
}

#header .inner ul li.item a {
  display: block;
  width: 100%;
  height: 100%;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
  -webkit-transition: 0.2s ease opacity;
  transition: 0.2s ease opacity;
}

#header .inner ul li.item a:hover {
  opacity: 0.5;
}

#header .inner ul li.item_01 a {
  width: 112px;
  height: 15px;
  background-image: url(../img_2x/nav_01.png);
}

#header .inner ul li.item_02 a {
  width: 165px;
  height: 15px;
  background-image: url(../img_2x/nav_02.png);
}

#header .inner ul li.item_03 a {
  width: 129px;
  height: 15px;
  background-image: url(../img_2x/nav_03.png);
}

#header .inner ul li.item_04 a {
  width: 93px;
  height: 14px;
  background-image: url(../img_2x/nav_04.png);
}

#header .inner ul li.contact {
  width: 100px;
  margin-left: 30px;
  padding-left: 10px;
  height: 23px;
}

#header .inner ul li.contact a {
  display: block;
  position: relative;
  width: 100px;
  height: 23px;
  background-image: url(../img_2x/nav_contact.png);
  background-size: 67px 10px;
  background-position: 46% 50%;
  background-repeat: no-repeat;
  font-size: 0;
  background-color: #fff;
  -webkit-transition: 0.2s ease opacity;
  transition: 0.2s ease opacity;
}

#header .inner ul li.contact a:hover {
  opacity: 0.5;
}

#header .inner ul li.contact a:before {
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  top: 0px;
  left: -10px;
  border-style: solid;
  border-width: 0 0 23px 10px;
  border-color: transparent transparent #ffffff transparent;
  content: "";
}

.first_section .header h2 {
  width: 1020px;
  height: 280px;
  margin: 10px auto 0;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-justify-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

.first_section .header h2 .en {
  display: block;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

.first_section .header h2 .line {
  display: block;
  width: 100%;
  margin: 10px 0 12px;
  height: 1px;
}

.first_section .header h2 .line span {
  display: block;
  width: 0;
  height: 1px;
  margin: 0 auto;
  background: #ececec;
  background: -webkit-gradient(linear, left top, right top, from(#ececec), to(#0167a2));
  background: -webkit-linear-gradient(left, #ececec 0%, #0167a2 100%);
  background: linear-gradient(90deg, #ececec 0%, #0167a2 100%);
}

.first_section .header h2 .jp {
  display: block;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

.first_section .header .copy {
  width: 1020px;
  margin: -40px auto 70px;
}

.first_section .header .copy h3 {
  margin: 0 auto;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

.first_section .header .copy p {
  width: 960px;
  margin: 0 auto;
  margin: 20px auto 0;
  color: #fff;
  font-size: 14px;
  line-height: 200%;
  text-align: center;
  letter-spacing: 0.15em;
}

#footer_nav {
  width: 100%;
  margin: 150px 0 100px;
}

#footer_nav .btn {
  display: block;
  position: relative;
  width: 190px;
  height: 50px;
  margin: 0 auto;
}

#footer_nav .btn span {
  display: block;
  position: relative;
  height: 50px;
  color: #fff;
  font-family: 'Amiri', serif;
  font-size: 16px;
  line-height: 50px;
  text-align: center;
  -webkit-transition: 0.2s ease color;
  transition: 0.2s ease color;
  z-index: 5;
}

#footer_nav .btn .cover {
  position: absolute;
  width: 0;
  height: 50px;
  top: 0;
  left: 0;
  background-color: #fff;
  -webkit-transform: skewX(-15deg);
  transform: skewX(-15deg);
  -webkit-transition: 0.2s ease width;
  transition: 0.2s ease width;
}

#footer_nav .btn .bg {
  position: absolute;
  width: 188px;
  height: 48px;
  top: 0;
  left: 0;
  border: 1px solid #fff;
  -webkit-transform: skewX(-15deg);
  transform: skewX(-15deg);
}

#footer_nav .btn:hover span {
  color: #000;
}

#footer_nav .btn:hover .cover {
  width: 190px;
}

#footer {
  position: relative;
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background-color: #000;
}

#footer .inner {
  position: relative;
  z-index: 10;
  width: 1020px;
  height: 100px;
  margin: 0 auto;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

#footer .inner .name {
  display: block;
  width: 183px;
  height: 22px;
  background-image: url(../img_2x/footer_logo.png);
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

#footer .inner .meta {
  display: block;
  margin-left: 35px;
  font-size: 12px;
  line-height: 160%;
  color: #999;
}

#footer .inner .copyright {
  -webkit-flex: 1 0 auto;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  font-family: 'Amiri', serif;
  font-size: 12px;
  text-align: right;
  color: #fff;
}

#body_home #home_header {
  position: relative;
  z-index: 5;
  height: 40px;
  padding: 28px 0 0;
}

#body_home #home_header .inner {
  width: 100%;
  height: 30px;
  margin: 0 auto;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-justify-content: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

#body_home #home_header .inner h1 {
  display: block;
  width: 110px;
  height: 20px;
  margin: 0 20px 0 30px;
  background-image: url(../img_2x/header_logo.png);
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

#body_home #home_header .inner ul {
  position: relative;
  height: 30px;
  top: 3px;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-justify-content: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

#body_home #home_header .inner ul li {
  margin-left: 20px;
}

#body_home #home_header .inner ul li.item a {
  display: block;
  width: 100%;
  height: 100%;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
  -webkit-transition: 0.2s ease opacity;
  transition: 0.2s ease opacity;
}

#body_home #home_header .inner ul li.item a:hover {
  opacity: 0.5;
}

#body_home #home_header .inner ul li.item_01 a {
  width: 112px;
  height: 15px;
  background-image: url(../img_2x/home_nav_01.png);
}

#body_home #home_header .inner ul li.item_02 a {
  width: 165px;
  height: 15px;
  background-image: url(../img_2x/home_nav_02.png);
}

#body_home #home_header .inner ul li.item_03 a {
  width: 129px;
  height: 15px;
  background-image: url(../img_2x/home_nav_03.png);
}

#body_home #home_header .inner ul li.item_04 a {
  width: 93px;
  height: 14px;
  background-image: url(../img_2x/home_nav_04.png);
}

#body_home #home_header .inner ul li.contact {
  width: 100px;
  margin-left: 30px;
  padding-left: 10px;
  height: 23px;
}

#body_home #home_header .inner ul li.contact a {
  display: block;
  position: relative;
  width: 100px;
  height: 23px;
  background-image: url(../img_2x/nav_contact.png);
  background-size: 67px 10px;
  background-position: 46% 50%;
  background-repeat: no-repeat;
  font-size: 0;
  background-color: #fff;
  -webkit-transition: 0.2s ease opacity;
  transition: 0.2s ease opacity;
}

#body_home #home_header .inner ul li.contact a:hover {
  opacity: 0.5;
}

#body_home #home_header .inner ul li.contact a:before {
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  top: 0px;
  left: -10px;
  border-style: solid;
  border-width: 0 0 23px 10px;
  border-color: transparent transparent #ffffff transparent;
  content: "";
}

#body_home #home_footer {
  position: fixed;
  bottom: 30px;
  left: 0;
  z-index: 5;
}

#body_home #home_footer .inner {
  display: block;
  padding: 0 30px;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

#body_home #home_footer .inner h2 {
  position: relative;
  padding-right: 50px;
  font-size: 14px;
  line-height: 100%;
  color: #fff;
  font-family: 'Amiri', serif;
}

#body_home #home_footer .inner h2:after {
  display: block;
  position: absolute;
  width: 30px;
  height: 1px;
  top: 5px;
  right: 10px;
  background-color: rgba(255, 255, 255, 0.4);
  content: "";
}

#body_home #home_footer .inner dl {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

#body_home #home_footer .inner dl dt {
  padding-right: 10px;
  color: #fff;
}

#body_home #home_footer .inner dl a {
  color: #bababa;
  -webkit-transition: 0.2s ease opacity;
  transition: 0.2s ease opacity;
}

#body_home #home_footer .inner dl a:hover {
  opacity: 0.5;
}

#body_home .copyright {
  position: fixed;
  bottom: 30px;
  right: 30px;
  font-size: 12px;
  line-height: 100%;
  color: #fff;
  font-family: 'Amiri', serif;
  z-index: 5;
}

#body_home #home_message {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 3;
}

#body_home #home_message .inner {
  position: absolute;
  width: 100%;
  height: 210px;
  margin: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

#body_home #home_message h2 {
  width: 100%;
  height: 111px;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-justify-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

#body_home #home_message h2 .lead {
  display: block;
  width: 451px;
  height: 65px;
  background-image: url(../img_2x/home_copy_01.png);
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

#body_home #home_message h2 .line {
  display: block;
  width: 100%;
  margin: 14px 0 12px;
  height: 1px;
}

#body_home #home_message h2 .line span {
  display: block;
  width: 0;
  height: 1px;
  margin: 0 auto;
  background: #ececec;
  background: -webkit-gradient(linear, left top, right top, from(#ececec), to(#0167a2));
  background: -webkit-linear-gradient(left, #ececec 0%, #0167a2 100%);
  background: linear-gradient(90deg, #ececec 0%, #0167a2 100%);
}

#body_home #home_message h2 .line.anime span {
  width: 297px;
}

#body_home #home_message h2 .jp {
  display: block;
  width: 174px;
  height: 19px;
  background-image: url(../img_2x/home_copy_02.png);
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

#body_home #home_message .btn {
  display: block;
  position: relative;
  width: 190px;
  height: 50px;
  margin: 49px auto 0;
}

#body_home #home_message .btn span {
  display: block;
  position: relative;
  height: 50px;
  color: #fff;
  font-family: 'Amiri', serif;
  font-size: 16px;
  line-height: 50px;
  text-align: center;
  -webkit-transition: 0.2s ease color;
  transition: 0.2s ease color;
  z-index: 5;
}

#body_home #home_message .btn .cover {
  position: absolute;
  width: 0;
  height: 50px;
  top: 0;
  left: 0;
  background-color: #fff;
  -webkit-transform: skewX(-15deg);
  transform: skewX(-15deg);
  -webkit-transition: 0.2s ease width;
  transition: 0.2s ease width;
}

#body_home #home_message .btn .bg {
  position: absolute;
  width: 188px;
  height: 48px;
  top: 0;
  left: 0;
  border: 1px solid #fff;
  -webkit-transform: skewX(-15deg);
  transform: skewX(-15deg);
}

#body_home #home_message .btn:hover span {
  color: #000;
}

#body_home #home_message .btn:hover .cover {
  width: 190px;
}

#body_about #about_us .header h2 .en {
  width: 201px;
  height: 43px;
  background-image: url(../img_2x/about_h2_en.png);
}

#body_about #about_us .header h2 .line.anime span {
  width: 301px;
}

#body_about #about_us .header h2 .jp {
  width: 69px;
  height: 16px;
  background-image: url(../img_2x/about_h2.png);
}

#body_about #about_us .header .copy h3 {
  width: 325px;
  height: 73px;
  background-image: url(../img_2x/about_copy.png);
}

#body_about #about_us .inner {
  width: 1020px;
  margin: 0 auto;
}

#body_about #about_us .inner .img {
  width: 1020px;
  height: 302px;
  background-image: url(../img_2x/about_img_01.png);
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

#body_about .content_section {
  width: 960px;
  margin: 100px auto 0;
}

#body_about .content_section .header {
  position: relative;
  width: 100%;
  height: 25px;
  margin-bottom: 50px;
}

#body_about .content_section .header .en {
  display: block;
  position: absolute;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

#body_about .content_section .header .jp {
  display: block;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

#body_about #philosophy {
  margin: 90px auto 0;
}

#body_about #philosophy .header .en {
  width: 369px;
  height: 84px;
  top: -33px;
  left: -35px;
  background-image: url(../img_2x/about_h3_03_en.png);
}

#body_about #philosophy .header .jp {
  width: 107px;
  height: 25px;
  background-image: url(../img_2x/about_h3_03.png);
}

#body_about #philosophy .inner {
  padding-bottom: 40px;
}

#body_about #philosophy .inner ul {
  padding-top: 10px;
}

#body_about #philosophy .inner ul li {
  width: 100%;
  height: 70px;
  margin-bottom: 18px;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-justify-content: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

#body_about #philosophy .inner ul li .num {
  padding: 0 35px;
  font-family: 'Amiri', serif;
  font-size: 30px;
  line-height: 100%;
  color: #fff;
}

#body_about #philosophy .inner ul li .line {
  width: 1px;
  height: 70px;
  background-color: rgba(255, 255, 255, 0.4);
}

#body_about #philosophy .inner ul li p {
  padding-left: 45px;
  font-size: 16px;
  line-height: 160%;
}

#body_about #philosophy .inner ul li p strong {
  color: #fff;
}

#body_about #philosophy .inner .footer {
  padding: 20px 35px 0;
}

#body_about #philosophy .inner .footer .name {
  width: 240px;
  height: 38px;
  margin: 0 0 0 auto;
  background-image: url(../img_2x/about_name.png);
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

#body_about #company {
  margin-top: 30px;
}

#body_about #company .header .en {
  width: 630px;
  height: 82px;
  top: -33px;
  left: -35px;
  background-image: url(../img_2x/about_h3_01_en.png);
}

#body_about #company .header .jp {
  width: 105px;
  height: 24px;
  background-image: url(../img_2x/about_h3_01.png);
}

#body_about #company .inner dl {
  width: 960px;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}

#body_about #company .inner dl dt {
  width: 100px;
  padding: 20px 15px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
  color: #fff;
}

#body_about #company .inner dl dd {
  width: 800px;
  padding: 20px 15px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

#body_about #company .inner .imgs {
  width: 960px;
  margin: 50px auto 0;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}

#body_about #company .inner .imgs .img_01 {
  width: 472px;
  height: 312px;
  background-image: url(../img_2x/company_img_01.png);
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

#body_about #company .inner .imgs .img_02 {
  width: 472px;
  height: 312px;
  background-image: url(../img_2x/company_img_02.png);
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

#body_about #customer .header .en {
  width: 318px;
  height: 60px;
  top: -33px;
  left: -35px;
  background-image: url(../img_2x/about_h3_02_en.png);
}

#body_about #customer .header .jp {
  width: 130px;
  height: 25px;
  background-image: url(../img_2x/about_h3_02.png);
}

#body_about #customer .inner ul {
  width: 960px;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}

#body_about #customer .inner ul li {
  width: 300px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  text-align: center;
}

#body_quipment #quipment .header h2 .en {
  width: 247px;
  height: 43px;
  background-image: url(../img_2x/quipment_h2_en.png);
}

#body_quipment #quipment .header h2 .line.anime span {
  width: 347px;
}

#body_quipment #quipment .header h2 .jp {
  width: 113px;
  height: 16px;
  background-image: url(../img_2x/quipment_h2.png);
}

#body_quipment #quipment .header .copy h3 {
  width: 385px;
  height: 78px;
  background-image: url(../img_2x/quipment_copy.png);
}

#body_quipment .content_section {
  width: 960px;
  margin: 100px auto 0;
}

#body_quipment .content_section .header {
  position: relative;
  width: 100%;
  height: 25px;
  margin-bottom: 50px;
}

#body_quipment .content_section .header .en {
  display: block;
  position: absolute;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

#body_quipment .content_section .header .jp {
  display: block;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

#body_quipment #machine .header .en {
  width: 361px;
  height: 81px;
  top: -33px;
  left: -35px;
  background-image: url(../img_2x/technology_h3_01_en.png);
}

#body_quipment #machine .header .jp {
  width: 104px;
  height: 25px;
  background-image: url(../img_2x/technology_h3_01.png);
}

#body_quipment #machine > .inner {
  width: 1020px;
  padding-top: 25px;
}

#body_quipment #machine > .inner h3 {
  display: none;
}

#body_quipment #machine > .inner .item {
  width: 1020px;
  margin-bottom: 35px;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

#body_quipment #machine > .inner .item .thumbnail {
  width: 400px;
  height: 232px;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

#body_quipment #machine > .inner .item .inner h4 {
  padding-bottom: 10px;
  color: #fff;
  font-family: 'Sawarabi Mincho', sans-serif;
  font-size: 26px;
  line-height: 200%;
}

#body_quipment #machine > .inner .item .thumbnail + .inner {
  width: 570px;
  padding-left: 50px;
}

#body_quipment #machine > .inner .item.item_01 .thumbnail {
  background-image: url(../img_2x/quipment_img_02.png);
}

#body_quipment #machine > .inner .item.item_02 .thumbnail {
  background-image: url(../img_2x/quipment_img_03.png);
}

#body_quipment #machine > .inner .item.item_03 .thumbnail {
  background-image: url(../img_2x/quipment_img_04.png);
}

#body_quipment #machine > .inner .item.item_04 .thumbnail {
  background-image: url(../img_2x/quipment_img_05.png);
}

#body_quipment #workflow {
  margin: 100px auto 0;
}

#body_quipment #workflow .header {
  text-align: center;
}

#body_quipment #workflow .header h3 {
  display: inline-block;
  padding: 0 12px 2px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  color: #fff;
  font-family: 'Sawarabi Mincho', sans-serif;
  font-size: 20px;
  line-height: 160%;
}

#body_quipment #workflow .inner {
  width: 1020px;
  margin: 0 auto;
}

#body_quipment #workflow .inner ul {
  width: 1020px;
  margin-top: 30px;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}

#body_quipment #workflow .inner ul .item {
  margin-top: 30px;
}

#body_quipment #workflow .inner ul .item .thumbnail {
  width: 320px;
  height: 200px;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

#body_quipment #workflow .inner ul .item p {
  padding: 15px 0 0;
  font-family: 'Sawarabi Mincho', sans-serif;
  font-size: 14px;
  line-height: 140%;
  text-align: center;
}

#body_quipment #workflow .inner ul .item.item_01 .thumbnail {
  background-image: url(../img_2x/quipment_flow_img_01.png);
}

#body_quipment #workflow .inner ul .item.item_02 .thumbnail {
  background-image: url(../img_2x/quipment_flow_img_02.png);
}

#body_quipment #workflow .inner ul .item.item_03 .thumbnail {
  background-image: url(../img_2x/quipment_flow_img_03.png);
}

#body_quipment #workflow .inner ul .item.item_04 .thumbnail {
  background-image: url(../img_2x/quipment_flow_img_04.png);
}

#body_quipment #workflow .inner ul .item.item_05 .thumbnail {
  background-image: url(../img_2x/quipment_flow_img_05.png);
}

#body_quipment #workflow .inner ul .item.item_06 .thumbnail {
  background-image: url(../img_2x/quipment_flow_img_06.png);
}

#body_quipment #workflow .inner ul .item.item_07 .thumbnail {
  background-image: url(../img_2x/quipment_flow_img_07.png);
}

#body_quipment #workflow .inner ul .item.item_08 .thumbnail {
  background-image: url(../img_2x/quipment_flow_img_08.png);
}

#body_quipment #workflow .inner ul .item.item_09 .thumbnail {
  background-image: url(../img_2x/quipment_flow_img_09.png);
}

#body_products #products .header h2 .en {
  width: 280px;
  height: 43px;
  background-image: url(../img_2x/products_h2_en.png);
}

#body_products #products .header h2 .line.anime span {
  width: 380px;
}

#body_products #products .header h2 .jp {
  width: 68px;
  height: 16px;
  background-image: url(../img_2x/products_h2.png);
}

#body_products #products .header .copy h3 {
  width: 515px;
  height: 73px;
  background-image: url(../img_2x/products_copy.png);
}

#body_products #products .inner {
  width: 1020px;
  margin: 0 auto;
}

#body_products #online_store {
  position: relative;
  display: block;
  width: 1020px;
  height: 110px;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-justify-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

#body_products #online_store:before, #body_products #online_store:after {
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  left: 0;
  background: white;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(15%, rgba(255, 255, 255, 0.4)), color-stop(85%, rgba(255, 255, 255, 0.4)), to(rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 15%, rgba(255, 255, 255, 0.4) 85%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 15%, rgba(255, 255, 255, 0.4) 85%, rgba(255, 255, 255, 0) 100%);
  content: "";
}

#body_products #online_store:before {
  top: 0;
}

#body_products #online_store:after {
  bottom: 0;
}

#body_products #online_store h3 {
  position: relative;
  top: 2px;
  font-family: 'Amiri', serif;
  font-size: 30px;
  line-height: 100%;
  color: #fff;
}

#body_products #online_store .line {
  display: block;
  width: 1px;
  height: 70px;
  margin: 0 35px;
  background-color: rgba(255, 255, 255, 0.4);
}

#body_products #products_list ul {
  width: 1020px;
  margin-top: 30px;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}

#body_products #products_list ul .item {
  margin-top: 30px;
}

#body_products #products_list ul .item .thumbnail {
  width: 320px;
  height: 222px;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

#body_products #products_list ul .item p {
  padding: 15px 0 0;
  font-family: 'Sawarabi Mincho', sans-serif;
  font-size: 14px;
  line-height: 140%;
  text-align: center;
}

#body_products #products_list ul .item.item_01 .thumbnail {
  background-image: url(../img_2x/products_img_01.png);
}

#body_products #products_list ul .item.item_02 .thumbnail {
  background-image: url(../img_2x/products_img_02.png);
}

#body_products #products_list ul .item.item_03 .thumbnail {
  background-image: url(../img_2x/products_img_03.png);
}

#body_news #news .header h2 .en {
  width: 117px;
  height: 35px;
  background-image: url(../img_2x/news_h2_en.png);
}

#body_news #news .header h2 .line.anime span {
  width: 217px;
}

#body_news #news .header h2 .jp {
  width: 64px;
  height: 16px;
  background-image: url(../img_2x/news_h2.png);
}

#body_news #news .inner {
  width: 1020px;
  margin: 0 auto;
}

#body_news .entry_box {
  width: 840px;
  margin: 0 auto;
}

#body_news .entry_box .header h3 {
  padding-bottom: 5px;
  color: #fff;
  font-family: 'Sawarabi Mincho', sans-serif;
  font-size: 24px;
  line-height: 160%;
}

#body_news .entry_box .header .date {
  font-family: 'Amiri', serif;
  font-size: 16px;
  line-height: 100%;
}

#body_news .entry_box .inner {
  padding-top: 30px;
}

#body_news .entry_box .inner p {
  font-size: 16px;
  line-height: 200%;
}

#body_contact #contact .header h2 .en {
  width: 166px;
  height: 36px;
  background-image: url(../img_2x/contact_h2_en.png);
}

#body_contact #contact .header h2 .line.anime span {
  width: 266px;
}

#body_contact #contact .header h2 .jp {
  width: 102px;
  height: 16px;
  background-image: url(../img_2x/contact_h2.png);
}

#body_contact #contact .inner {
  width: 840px;
  padding: 30px 0 50px;
  margin: 0 auto;
  font-family: 'Sawarabi Mincho', sans-serif;
}

#body_contact #contact_send {
  font-family: 'Sawarabi Mincho', sans-serif;
  text-align: center;
}

#body_contact #contact_send h3 {
  font-size: 18px;
  color: #fff;
}

#body_contact #contact_send p {
  padding-top: 15px;
}

#body_contact #form dl {
  width: 640px;
  margin: 0 auto;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}

#body_contact #form dl dt {
  position: relative;
  width: 140px;
  top: 5px;
  margin-bottom: 10px;
}

#body_contact #form dl dd {
  width: 500px;
}

#body_contact #form dl dd input {
  display: block;
  width: 100%;
  height: 36px;
  margin-bottom: 10px;
  padding: 0 14px;
  border: 1px solid #ccc;
  background-color: rgba(0, 0, 0, 0.4);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 14px;
  line-height: 36px;
}

#body_contact #form dl dd input:focus {
  outline: 0;
}

#body_contact #form dl dd textarea {
  width: 100%;
  height: 200px;
  margin-bottom: 10px;
  padding: 8px 14px;
  border: 1px solid #ccc;
  background-color: rgba(0, 0, 0, 0.4);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 14px;
  line-height: 170%;
}

#body_contact #form dl dd textarea:focus {
  outline: 0;
}

#body_contact #form dl dd .err {
  display: block;
  margin-bottom: 20px;
  font-size: 12px;
  color: #ffc64b;
  line-height: 100%;
}

#body_contact #form .send {
  display: block;
  padding-top: 50px;
  text-align: center;
}

#body_contact #form .send p {
  padding-bottom: 40px;
  font-size: 12px;
  letter-spacing: 0.1em;
}

#body_contact #form .send p a {
  display: inline-block;
  padding: 0 2px;
  color: #fff;
  text-decoration: underline;
  -webkit-transition: 0.2s ease opacity;
  transition: 0.2s ease opacity;
}

#body_contact #form .send p a:hover {
  opacity: 0.5;
}

#body_contact #form .send label {
  display: none;
  position: relative;
  width: 200px;
  height: 50px;
  margin: 0 auto;
  background-color: #fff;
  color: #000;
  font-family: 'Sawarabi Mincho', sans-serif;
  text-align: center;
  font-size: 18px;
  line-height: 50px;
  letter-spacing: 0;
  -webkit-transition: 0.2s ease opacity;
  transition: 0.2s ease opacity;
  cursor: pointer;
}

#body_contact #form .send label:hover {
  opacity: 0.5;
}

#body_contact #form .send .dis_submit {
  display: block;
  position: relative;
  width: 200px;
  height: 50px;
  margin: 0 auto;
  background-color: rgba(255, 255, 255, 0.2);
  color: rgba(0, 0, 0, 0.8);
  font-family: 'Sawarabi Mincho', sans-serif;
  text-align: center;
  font-size: 18px;
  line-height: 50px;
  letter-spacing: 0;
}

#body_contact #form .send input {
  display: none;
}

#body_pp #pp .header h2 .en {
  width: 293px;
  height: 43px;
  background-image: url(../img_2x/pp_h2_en.png);
}

#body_pp #pp .header h2 .line.anime span {
  width: 393px;
}

#body_pp #pp .header h2 .jp {
  width: 157px;
  height: 14px;
  background-image: url(../img_2x/pp_h2.png);
}

#body_pp #pp .inner {
  width: 800px;
  padding: 30px 0 50px;
  margin: 0 auto;
  font-family: 'Sawarabi Mincho', sans-serif;
}

#body_pp #pp .inner h3 {
  margin-bottom: 25px;
  font-size: 18px;
  color: #fff;
}

#body_pp #pp .inner p {
  margin-bottom: 40px;
  font-size: 14px;
  line-height: 200%;
  text-align: justify;
}

#loading {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #000;
  z-index: 50;
}

#loading .inner {
  position: absolute;
  width: 400px;
  height: 1px;
  margin: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

#loading .inner .progress {
  position: absolute;
  width: 100%;
  height: 1px;
  top: 0;
  right: 0;
  background-color: #222;
}

#loading .inner .progress .bar {
  width: 0;
  height: 1px;
  top: 0;
  left: 0;
  background-color: #555;
}
/*# sourceMappingURL=style_2x.css.map */