@import url(normalize.css);
#opacity {
  opacity: 0; }

.fs12 {
  font-size: 12px;
  font-size: 12rem; }

.fs14 {
  font-size: 14px;
  font-size: 14rem; }

.fs18 {
  font-size: 18px;
  font-size: 18rem; }

.sptext {
  display: none; }

.btn_wrap {
  text-align: center;
  margin: 40px 0 0; }

.orange_btn {
  position: relative;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  padding: 16px 60px;
  color: #fff;
  background-color: #f39800;
  border-radius: 5px; }
  .orange_btn:hover {
    opacity: 0.7;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s; }
  .orange_btn span:after {
    content: "\f054";
    position: absolute;
    top: 50%;
    right: 1.5em;
    margin: -0.5em; }

html {
  font-size: 6.25%; }

body {
  font-size: 16px;
  font-size: 16rem;
  min-width: 1300px;
  line-height: 1.6;
  -webkit-transition: 1s background-color,1s color;
  -o-transition: 1s background-color,1s color;
  transition: 1s background-color,1s color; }

@media (max-width: 750px) {
  #opacity {
    opacity: 1; }
  .btn_wrap {
    margin: 7.33333vw 0 0; }
  .orange_btn {
    padding: 1em 0;
    width: 70vw; }
  .pctext {
    display: none; }
  .sptext {
    display: block; }
  body {
    min-width: inherit;
    font-size: 3.73333vw; } }

header.header_style1 {
  -webkit-transition: 1s;
  -o-transition: 1s;
  transition: 1s; }
  header.header_style1 .header_layout {
    position: relative; }
    header.header_style1 .header_layout nav .header_menu {
      position: absolute;
      top: 0;
      z-index: 10;
      margin: 0 0 0 -260px;
      padding: 0 85px;
      background-color: rgba(0, 0, 0, 0.4);
      height: 100%; }
      header.header_style1 .header_layout nav .header_menu h1 {
        margin: 65px 0 0; }
      header.header_style1 .header_layout nav .header_menu .menu {
        display: none; }
      header.header_style1 .header_layout nav .header_menu ul {
        margin: 0;
        padding: 0;
        list-style: none;
        text-align: center; }
        header.header_style1 .header_layout nav .header_menu ul li a {
          display: block;
          margin-top: 45px;
          padding-top: 60px; }
          header.header_style1 .header_layout nav .header_menu ul li a.nav_advantage {
            background: url("../img/header_nav2.png") center no-repeat; }
          header.header_style1 .header_layout nav .header_menu ul li a.nav_company {
            background: url("../img/header_nav3.png") center no-repeat; }
          header.header_style1 .header_layout nav .header_menu ul li a.nav_service {
            background: url("../img/header_nav4.png") center no-repeat; }
          header.header_style1 .header_layout nav .header_menu ul li a.nav_works {
            background: url("../img/header_nav5.png") center no-repeat; }
          header.header_style1 .header_layout nav .header_menu ul li a.nav_contact {
            background: url("../img/header_nav6.png") center no-repeat; }
          header.header_style1 .header_layout nav .header_menu ul li a:hover {
            opacity: 0.7;
            -webkit-transition: 0.5s;
            -o-transition: 0.5s;
            transition: 0.5s; }
    header.header_style1 .header_layout .main_video {
      position: relative;
      width: 100%;
      padding-top: 56.25%; }
      header.header_style1 .header_layout .main_video video {
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%; }
      header.header_style1 .header_layout .main_video #sound {
        display: none;
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: 10;
        padding: 16px 24px;
        width: 45px;
        font-size: 48px;
        color: white; }
        header.header_style1 .header_layout .main_video #sound:hover {
          opacity: 0.7; }
    header.header_style1 .header_layout .main_img {
      height: 0;
      padding-top: 56.25%;
      background: url("../img/index_main_img.png") center no-repeat;
      background-size: contain; }
    header.header_style1 .header_layout .switch {
      position: fixed;
      z-index: 100;
      top: 0;
      right: 0;
      margin: 50px 50px 0 0; }
      header.header_style1 .header_layout .switch p {
        display: inline-block;
        color: white;
        margin-right: 1em;
        min-height: 1.1em; }
      header.header_style1 .header_layout .switch .btn {
        display: inline-block;
        margin: 0; }
        header.header_style1 .header_layout .switch .btn input {
          display: none; }
        header.header_style1 .header_layout .switch .btn label {
          display: block;
          width: 32px;
          position: relative;
          background-color: #dadada;
          color: #929292;
          padding: 10px 43px 10px 10px;
          border-radius: 20px; }
          header.header_style1 .header_layout .switch .btn label:after {
            content: "";
            position: absolute;
            top: 50%;
            right: 5%;
            background-color: white;
            padding: 16px;
            margin: -16px 0;
            border-radius: 50%;
            -webkit-transition: 1s;
            -o-transition: 1s;
            transition: 1s; }
        header.header_style1 .header_layout .switch .btn input:checked + label {
          padding: 10px 0 10px 53px;
          background-color: #f39800; }
          header.header_style1 .header_layout .switch .btn input:checked + label:after {
            -webkit-transform: translate(-135%, 0);
            -ms-transform: translate(-135%, 0);
            transform: translate(-135%, 0); }
    header.header_style1 .header_layout h2 {
      position: absolute;
      top: 40%;
      left: 36%;
      width: 40%; }
      header.header_style1 .header_layout h2 img {
        max-width: 100%; }

@media (max-width: 750px) {
  header.header_style1 .header_layout nav .header_menu {
    position: relative;
    margin: 0;
    padding: 2.93333vw 3.33333vw;
    background-color: inherit; }
    header.header_style1 .header_layout nav .header_menu h1 {
      display: inline-block;
      margin: 0; }
      header.header_style1 .header_layout nav .header_menu h1 img {
        display: inline-block;
        vertical-align: middle;
        width: 10.66667vw; }
      header.header_style1 .header_layout nav .header_menu h1 span {
        display: inline-block;
        font-family: rounded-light;
        font-size: 3.6vw;
        padding-left: 0.74074em; }
    header.header_style1 .header_layout nav .header_menu .menu {
      text-align: center;
      display: inline-block;
      line-height: 1;
      margin-top: 0.8em;
      float: right; }
      header.header_style1 .header_layout nav .header_menu .menu .menu-trigger,
      header.header_style1 .header_layout nav .header_menu .menu .menu-trigger span {
        display: inline-block;
        -webkit-transition: all 0.4s;
        -o-transition: all 0.4s;
        transition: all 0.4s;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
      header.header_style1 .header_layout nav .header_menu .menu .menu-trigger {
        position: relative;
        z-index: 200;
        width: 8.66667vw;
        height: 4.66667vw; }
      header.header_style1 .header_layout nav .header_menu .menu .menu-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 0.93333vw;
        background-color: #f39800; }
      header.header_style1 .header_layout nav .header_menu .menu .menu-trigger span:nth-of-type(1) {
        top: 0; }
      header.header_style1 .header_layout nav .header_menu .menu .menu-trigger span:nth-of-type(2) {
        top: 1.86667vw; }
      header.header_style1 .header_layout nav .header_menu .menu .menu-trigger span:nth-of-type(3) {
        bottom: 0; }
      header.header_style1 .header_layout nav .header_menu .menu .menu-trigger.active span:nth-of-type(1) {
        -webkit-transform: translateY(1.86667vw) rotate(-45deg);
        -ms-transform: translateY(1.86667vw) rotate(-45deg);
        transform: translateY(1.86667vw) rotate(-45deg); }
      header.header_style1 .header_layout nav .header_menu .menu .menu-trigger.active span:nth-of-type(2) {
        left: 50%;
        opacity: 0;
        -webkit-animation: active-menu-bar02 0.8s forwards;
        animation: active-menu-bar02 0.8s forwards; }
  @-webkit-keyframes active-menu-bar02 {
    100% {
      height: 0; } }
  @keyframes active-menu-bar02 {
    100% {
      height: 0; } }
      header.header_style1 .header_layout nav .header_menu .menu .menu-trigger.active span:nth-of-type(3) {
        -webkit-transform: translateY(-1.86667vw) rotate(45deg);
        -ms-transform: translateY(-1.86667vw) rotate(45deg);
        transform: translateY(-1.86667vw) rotate(45deg); }
      header.header_style1 .header_layout nav .header_menu .menu p {
        margin: 0;
        font-size: 2.66667vw; }
    header.header_style1 .header_layout nav .header_menu ul {
      display: none;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      background: rgba(0, 0, 0, 0.8);
      z-index: 10;
      height: 100vh; }
      header.header_style1 .header_layout nav .header_menu ul li a {
        display: inline-block;
        color: white;
        text-decoration: none;
        margin-top: 6.66667vw;
        padding: 8vw 0 0;
        min-width: 6em; }
        header.header_style1 .header_layout nav .header_menu ul li a span {
          font-family: rounded-light;
          padding-top: 9.33333vw; }
  header.header_style1 .header_layout .main_video {
    background: url("../img/index_main_img.png") top center no-repeat;
    background-size: contain; }
    header.header_style1 .header_layout .main_video video {
      display: none; }
    header.header_style1 .header_layout .main_video #sound {
      display: none; }
  header.header_style1 .header_layout .switch {
    position: absolute;
    top: 33%;
    right: 5%;
    margin: 0;
    z-index: 5; }
    header.header_style1 .header_layout .switch p {
      font-size: 2.66667vw;
      margin-right: 1em;
      min-height: 1.1em; }
    header.header_style1 .header_layout .switch .btn label {
      width: 4.26667vw;
      font-size: 2.66667vw;
      padding: 1.86667vw 8vw 1.86667vw 2vw; }
      header.header_style1 .header_layout .switch .btn label:after {
        padding: 2.66667vw;
        margin: -2.66667vw 0 0; }
    header.header_style1 .header_layout .switch .btn input:checked + label {
      padding: 1.86667vw 2vw 1.86667vw 8vw; }
  header.header_style1 .header_layout h2 {
    position: absolute;
    top: 50%;
    left: 30%; } }

header.header_style2 nav {
  max-width: 1170px;
  margin: 0 auto; }
  header.header_style2 nav:after {
    content: " ";
    display: block;
    clear: both; }
  header.header_style2 nav .logo {
    position: relative;
    padding-left: 70px;
    float: left;
    margin: 0;
    padding: 25.5px 0 25.5px 70px;
    font-size: 21px;
    font-size: 21rem;
    font-family: rounded-light;
    text-decoration: none;
    color: #5e5e5e; }
    header.header_style2 nav .logo img {
      display: inline-block;
      vertical-align: middle;
      padding-right: 1em; }
  header.header_style2 nav .menu {
    display: none; }
  header.header_style2 nav ul {
    float: right;
    list-style: none;
    padding: 0;
    margin: 0; }
    header.header_style2 nav ul li {
      display: inline-block;
      font-family: rounded-light;
      padding: 42.5px 16px; }
      header.header_style2 nav ul li a {
        text-decoration: none;
        color: black; }
        header.header_style2 nav ul li a:hover {
          opacity: 0.7; }

header.header_style2 .header_layout {
  position: relative; }
  header.header_style2 .header_layout .header_mainimg {
    position: relative;
    height: 0;
    padding-top: 14.64%;
    background-size: contain; }
    header.header_style2 .header_layout .header_mainimg h1 {
      position: absolute;
      top: 50%;
      left: 20vw;
      display: inline-block;
      font-family: rounded-light;
      font-size: 36px;
      font-size: 36rem;
      color: white;
      margin: -0.5em 0 0; }

@media (max-width: 750px) {
  header.header_style2 nav {
    margin: 0;
    padding: 2.93333vw 3.33333vw; }
    header.header_style2 nav .logo {
      padding: 0;
      font-size: 3.6vw; }
      header.header_style2 nav .logo img {
        width: 10.66667vw; }
    header.header_style2 nav .menu {
      text-align: center;
      display: inline-block;
      line-height: 1;
      margin-top: 0.8em;
      float: right; }
      header.header_style2 nav .menu .menu-trigger,
      header.header_style2 nav .menu .menu-trigger span {
        display: inline-block;
        -webkit-transition: all 0.4s;
        -o-transition: all 0.4s;
        transition: all 0.4s;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
      header.header_style2 nav .menu .menu-trigger {
        position: relative;
        z-index: 200;
        width: 8.66667vw;
        height: 4.66667vw; }
      header.header_style2 nav .menu .menu-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 0.93333vw;
        background-color: #f39800; }
      header.header_style2 nav .menu .menu-trigger span:nth-of-type(1) {
        top: 0; }
      header.header_style2 nav .menu .menu-trigger span:nth-of-type(2) {
        top: 1.86667vw; }
      header.header_style2 nav .menu .menu-trigger span:nth-of-type(3) {
        bottom: 0; }
      header.header_style2 nav .menu .menu-trigger.active span:nth-of-type(1) {
        -webkit-transform: translateY(1.86667vw) rotate(-45deg);
        -ms-transform: translateY(1.86667vw) rotate(-45deg);
        transform: translateY(1.86667vw) rotate(-45deg); }
      header.header_style2 nav .menu .menu-trigger.active span:nth-of-type(2) {
        left: 50%;
        opacity: 0;
        -webkit-animation: active-menu-bar02 0.8s forwards;
        animation: active-menu-bar02 0.8s forwards; }
  @-webkit-keyframes active-menu-bar02 {
    100% {
      height: 0; } }
  @keyframes active-menu-bar02 {
    100% {
      height: 0; } }
      header.header_style2 nav .menu .menu-trigger.active span:nth-of-type(3) {
        -webkit-transform: translateY(-1.86667vw) rotate(45deg);
        -ms-transform: translateY(-1.86667vw) rotate(45deg);
        transform: translateY(-1.86667vw) rotate(45deg); }
      header.header_style2 nav .menu p {
        margin: 0;
        font-size: 2.66667vw; }
    header.header_style2 nav .header_menu a {
      display: inline-block;
      margin: 0; }
      header.header_style2 nav .header_menu a img {
        display: inline-block;
        vertical-align: middle;
        width: 10.66667vw; }
      header.header_style2 nav .header_menu a span {
        display: inline-block;
        font-family: rounded-light;
        font-size: 3.6vw;
        padding-left: 0.74074em; }
    header.header_style2 nav .header_menu ul {
      display: none;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      background: rgba(0, 0, 0, 0.8);
      z-index: 10;
      height: 100vh; }
      header.header_style2 nav .header_menu ul li {
        display: block;
        text-align: center;
        margin: 0;
        padding: 0; }
        header.header_style2 nav .header_menu ul li a {
          display: inline-block;
          color: white;
          text-decoration: none;
          margin-top: 6.66667vw;
          padding: 8vw 0 0;
          min-width: 6em; }
          header.header_style2 nav .header_menu ul li a.nav_advantage {
            background: url("../img/header_nav2.png") center no-repeat; }
          header.header_style2 nav .header_menu ul li a.nav_company {
            background: url("../img/header_nav3.png") center no-repeat; }
          header.header_style2 nav .header_menu ul li a.nav_service {
            background: url("../img/header_nav4.png") center no-repeat; }
          header.header_style2 nav .header_menu ul li a.nav_works {
            background: url("../img/header_nav5.png") center no-repeat; }
          header.header_style2 nav .header_menu ul li a.nav_contact {
            background: url("../img/header_nav6.png") center no-repeat; }
          header.header_style2 nav .header_menu ul li a:hover {
            opacity: 0.7;
            -webkit-transition: 0.5s;
            -o-transition: 0.5s;
            transition: 0.5s; }
          header.header_style2 nav .header_menu ul li a span {
            display: inline-block;
            color: white;
            text-decoration: none;
            padding: 9.33333vw 0 0;
            min-width: 6em;
            font-size: 3.73333vw; }
  header.header_style2 .header_layout .header_mainimg {
    background-size: cover;
    padding-top: 23.2%; }
    header.header_style2 .header_layout .header_mainimg h1 {
      margin: 0;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      font-size: 5.86667vw;
      left: 50%; } }

.header_mainimg.contact_mainimg {
  background: url(../img/contact_mainimg.png) center no-repeat; }

.header_mainimg.works_mainimg {
  background: url(../img/works_mainimg.png) center no-repeat; }

footer {
  background-color: #f2f2f2;
  -webkit-transition: 1s;
  -o-transition: 1s;
  transition: 1s; }
  footer nav {
    max-width: 1170px;
    margin: 0 auto; }
    footer nav .bottom_nav {
      display: inline; }
    footer nav dl {
      display: inline-block;
      vertical-align: top;
      margin: 45px 0 30px; }
      footer nav dl:not(:last-child) {
        margin-right: 30px; }
      footer nav dl:nth-child(3) {
        margin-right: 45px; }
      footer nav dl.icon {
        position: relative;
        padding-left: 40px; }
        footer nav dl.icon dt a {
          color: #5e5e5e;
          text-decoration: none; }
        footer nav dl.icon.blog:before {
          position: absolute;
          left: 0;
          content: "";
          padding: 35px 35px 0 0;
          display: block;
          background: url("../img/footer2.png") center no-repeat; }
        footer nav dl.icon.recruit:before {
          position: absolute;
          left: 0;
          content: "";
          padding: 35px 35px 0 0;
          display: block;
          background: url("../img/footer3.png") center no-repeat; }
        footer nav dl.icon.contact:before {
          position: absolute;
          left: 0;
          content: "";
          padding: 35px 35px 0 0;
          display: block;
          background: url("../img/footer4.png") center no-repeat; }
      footer nav dl dd {
        margin: 0;
        font-family: rounded-light; }
        footer nav dl dd a {
          font-family: rounded-light; }
  footer .site_info {
    background-color: #f39800;
    padding: 1em; }
    footer .site_info .infowrap {
      max-width: 1170px;
      margin: 0 auto; }
      footer .site_info .infowrap ul {
        display: inline-block;
        list-style: none;
        padding: 0;
        font-size: 0; }
        footer .site_info .infowrap ul li {
          display: inline-block; }
          footer .site_info .infowrap ul li:not(:first-child):before {
            content: "|";
            color: white;
            font-size: 12px;
            font-size: 12rem;
            padding: 0 1em;
            pointer-events: none; }
          footer .site_info .infowrap ul li a {
            text-decoration: none;
            color: white; }
            footer .site_info .infowrap ul li a:hover {
              opacity: 0.7; }
      footer .site_info .infowrap p {
        display: inline-block;
        float: right;
        color: white;
        margin: 0; }

@media (max-width: 750px) {
  footer nav {
    margin: 0 7.46667vw;
    padding: 5.6vw 0; }
    footer nav .bottom_nav {
      margin-top: 3.33333vw;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between; }
    footer nav dl {
      margin: 0; }
      footer nav dl:not(:last-child) {
        margin: 0 0 0 3.33333vw; }
      footer nav dl.footer_logo {
        float: left;
        margin: 0 0 0 8.66667vw; }
      footer nav dl.office {
        margin-bottom: 2vw; }
      footer nav dl.icon {
        margin: 0; }
        footer nav dl.icon.blog {
          padding-left: 4.53333vw; }
          footer nav dl.icon.blog:before {
            top: 50%;
            margin-top: -2.26667vw;
            width: 3.86667vw;
            padding: 4.26667vw 0 0;
            background-size: cover; }
        footer nav dl.icon.recruit {
          padding-left: 6.4vw; }
          footer nav dl.icon.recruit:before {
            top: 50%;
            margin-top: -2.13333vw;
            width: 4.8vw;
            padding: 4.26667vw 0 0;
            background-size: cover; }
        footer nav dl.icon.contact {
          padding-left: 6.4vw; }
          footer nav dl.icon.contact:before {
            top: 50%;
            margin-top: -1.53333vw;
            width: 4.4vw;
            padding: 3.06667vw 0 0;
            background-size: cover; }
      footer nav dl dt {
        display: inline-block;
        font-size: 2.66667vw; }
        footer nav dl dt.fs14 {
          font-size: 2.66667vw;
          min-width: 6em; }
        footer nav dl dt.fs18 {
          font-size: 3.46667vw; }
      footer nav dl dd {
        display: inline-block; }
        footer nav dl dd .fs12 {
          font-size: 2.66667vw; }
        footer nav dl dd a.fs12 {
          font-size: 2.4vw; }
        footer nav dl dd p {
          margin: 0; }
          footer nav dl dd p img {
            width: 12vw;
            vertical-align: middle; }
  footer .site_info {
    padding: 3.06667vw 2.66667vw; }
    footer .site_info .infowrap ul li:not(:first-child):before {
      font-size: 2.4vw;
      padding: 0;
      pointer-events: none; }
    footer .site_info .infowrap ul li .fs12 {
      font-size: 2.4vw; }
    footer .site_info .infowrap ul li a {
      text-decoration: none;
      color: white; }
      footer .site_info .infowrap ul li a:hover {
        opacity: 0.7; }
    footer .site_info .infowrap p {
      display: inline-block;
      float: right;
      color: white;
      margin: 0; }
      footer .site_info .infowrap p .fs12 {
        font-size: 2.4vw; } }

main .information {
  max-width: 1170px;
  margin: 70px auto; }
  main .information h3 {
    text-align: center;
    font-family: rounded-light;
    color: #5e5e5e; }
    main .information h3:before {
      content: "";
      background: url("../img/index_information.png") center no-repeat;
      padding-top: 50px;
      display: block;
      margin-bottom: 10px; }
  main .information dl {
    display: inline-block;
    vertical-align: top;
    width: 33%; }
    main .information dl dt {
      color: #a16724;
      padding: 0 1em 1em; }
      main .information dl dt .date {
        padding: 0 5px; }
    main .information dl dd {
      margin: 0;
      padding: 0 1em; }
      main .information dl dd a {
        color: #cccccc; }

main .advantage_service {
  position: relative;
  height: 0;
  padding-top: 45.88%;
  background: url("../img/index_bg_img.png") center no-repeat;
  background-size: contain; }
  main .advantage_service .advantage {
    position: absolute;
    top: 50%;
    left: 5%;
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    background-color: rgba(255, 255, 255, 0.7);
    width: 43%;
    padding: 70px 0; }
    main .advantage_service .advantage h3 {
      text-align: center;
      margin: 0 0 30px;
      font-family: rounded-light;
      color: #5e5e5e; }
      main .advantage_service .advantage h3:before {
        content: "";
        background: url("../img/index_advantage.png") center no-repeat;
        padding-top: 50px;
        display: block;
        margin-bottom: 10px; }
    main .advantage_service .advantage p {
      min-height: 8em;
      margin: 0 40px;
      line-height: 1.6; }
  main .advantage_service .service {
    position: absolute;
    top: 50%;
    right: 5%;
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    background-color: rgba(255, 255, 255, 0.7);
    width: 43%;
    padding: 70px 0; }
    main .advantage_service .service h3 {
      text-align: center;
      margin: 0 0 30px;
      font-family: rounded-light;
      color: #5e5e5e; }
      main .advantage_service .service h3:before {
        content: "";
        background: url("../img/index_service.png") center no-repeat;
        padding-top: 50px;
        display: block;
        margin-bottom: 10px; }
    main .advantage_service .service p {
      min-height: 8em;
      margin: 0 40px;
      line-height: 1.6; }

main .works {
  max-width: 1170px;
  margin: 70px auto; }
  main .works h3 {
    margin-bottom: 30px;
    text-align: center;
    font-family: rounded-light;
    color: #5e5e5e; }
    main .works h3:before {
      content: "";
      background: url("../img/index_works.png") center no-repeat;
      padding-top: 50px;
      display: block;
      margin-bottom: 10px; }
  main .works ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    width: 100%;
    list-style: none;
    padding: 0;
    margin: 0; }
    main .works ul li {
      vertical-align: middle;
      text-align: center; }

body.night {
  background-color: #333333; }
  body.night a {
    color: #cccccc; }
  body.night .orange_btn {
    color: white; }
  body.night main .information {
    color: white; }
    body.night main .information h3 {
      color: white; }
    body.night main .information dl dt {
      color: #f39800; }
  body.night main .advantage_service:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.4); }
  body.night .works h3 {
    color: white; }
  body.night footer {
    background-color: #525252; }
    body.night footer nav dl:nth-child(-n+3) dt {
      color: #afafaf; }
    body.night footer nav dl.icon dt a {
      color: #f39800; }
    body.night footer nav dl dd {
      color: white; }
      body.night footer nav dl dd a {
        color: white; }

@media (max-width: 750px) {
  main .information {
    margin: 5.33333vw auto; }
    main .information h3 {
      font-size: 4.8vw; }
      main .information h3:before {
        display: inline-block;
        width: 4.26667vw;
        margin: 0 1.6vw 0 0;
        padding-top: 6.66667vw;
        background-size: cover;
        vertical-align: middle; }
    main .information dl {
      display: block;
      width: 100%; }
      main .information dl dd {
        margin: 0 1em;
        padding: 0;
        border-bottom: 1px dashed; }
  main .advantage_service {
    padding: 0;
    background-size: cover;
    height: auto;
    padding: 7.33333vw 0; }
    main .advantage_service .advantage {
      position: relative;
      top: 0;
      left: 0;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none;
      width: 85.33333vw;
      margin: 0 auto;
      padding: 5.33333vw 0; }
      main .advantage_service .advantage h3 {
        text-align: center;
        margin: 0 0 5.33333vw; }
        main .advantage_service .advantage h3:before {
          display: inline-block;
          width: 3.73333vw;
          margin: 0 1.6vw 0 0;
          padding-top: 6.66667vw;
          background-size: cover;
          vertical-align: middle; }
      main .advantage_service .advantage p {
        min-height: inherit;
        margin: 0 5.33333vw; }
    main .advantage_service .service {
      position: relative;
      top: 0;
      left: 0;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none;
      width: 85.33333vw;
      margin: 7.33333vw auto 0;
      padding: 5.33333vw 0; }
      main .advantage_service .service h3 {
        text-align: center;
        margin: 0 0 5.33333vw; }
        main .advantage_service .service h3:before {
          display: inline-block;
          width: 6.8vw;
          margin: 0 1.6vw 0 0;
          padding-top: 6.66667vw;
          background-size: cover;
          vertical-align: middle; }
      main .advantage_service .service p {
        min-height: inherit;
        margin: 0 5.33333vw; }
  main .works {
    margin: 5.33333vw auto; }
    main .works h3 {
      margin-bottom: 4vw; }
      main .works h3:before {
        display: inline-block;
        width: 5.2vw;
        margin: 0 1.6vw 0 0;
        padding-top: 6.66667vw;
        background-size: cover;
        vertical-align: middle; }
    main .works ul {
      width: auto;
      margin: 0 5.33333vw; }
      main .works ul li:nth-child(n +3) {
        margin-top: 40px; }
      main .works ul li img {
        width: 33.33333vw; } }
