@charset "UTF-8";
/* CSS Document */
/* Mobile */
/* =============================================
share
================================================ */
.pc {
  display: none; }

.mb {
  display: block; }

body {
  background: white;
  min-width: 100%; }

.center {
  width: 90%;
  padding: 0 5%; }

a:hover img {
  opacity: 1;
  filter: alpha(opacity=100); }

#header {
  position: relative;
  height: auto; }
  #header h1 img.mb {
    padding: 20px 5% 0 !important;
    width: 12%; }
  #header #open {
    width: 15%;
    position: absolute;
    top: 15px;
    right: 10px;
    height: 40px;
    z-index: 99;
    background: none !important;
    border-bottom: none !important; }
  #header #open a {
    display: block;
    position: relative;
    width: 100%;
    display: block;
    padding: 0 !important;
    text-align: center; }
  #header #open span#op1,
  #header #open span#op2,
  #header #open span#op3 {
    position: absolute;
    display: block;
    width: 70%;
    height: 4px;
    margin: 0 15%;
    background: #777;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out; }
  #header #open span#op1 {
    top: 5px; }
  #header #open span#op2 {
    top: 16px; }
  #header #open span#op3 {
    top: 27px; }
  #header #open.after {
    background: white;
    color: white !important; }
  #header #open.after span#op1 {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    top: 16px; }
  #header #open.after span#op2 {
    top: 16px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg); }
  #header #open.after span#op3 {
    opacity: 0;
    filter: opacity(0); }
  #header #nav {
    position: static;
    padding-right: 0; }
    #header #nav #nav_in {
      width: 100%;
      float: none;
      display: none; }
    #header #nav ul li.head,
    #header #nav #mb_down_nav {
      display: block;
      float: none;
      background: #777;
      border-bottom: solid 1px white; }
      #header #nav ul li.head a,
      #header #nav #mb_down_nav a {
        display: block;
        height: 100%;
        width: 100%;
        color: white;
        text-align: center;
        padding: 15px 0; }
      #header #nav ul li.head a:hover,
      #header #nav #mb_down_nav a:hover {
        background: none; }
    #header #nav ul.child {
      display: none !important; }
    #header #nav #mb_down_nav {
      overflow: hidden;
      zoom: 1; }
      #header #nav #mb_down_nav a {
        float: left;
        width: 33%;
        padding: 0;
        border-left: 1px white solid;
        padding: 65px 0 15px;
        text-decoration: none;
        font-size: 90%; }
      #header #nav #mb_down_nav a:first-child {
        border: none; }
      #header #nav #mb_down_nav a.tel {
        background: url(../img/share/head_nav_mb/tel_ico.jpg) no-repeat center 15px;
        background-size: 30% auto; }
      #header #nav #mb_down_nav a.mail {
        background: url(../img/share/head_nav_mb/mail_ico.jpg) no-repeat center 20px;
        background-size: 30% auto; }
      #header #nav #mb_down_nav a.access {
        background: url(../img/share/head_nav_mb/access_ico.jpg) no-repeat center 20px;
        background-size: 40% auto; }

#footer {
  height: auto;
  min-width: 100%;
  padding-top: 0; }
  #footer #banner {
    display: none; }
  #footer #foot_nav {
    width: 100%;
    background: #777777;
    overflow: hidden;
    zoom: 1; }
    #footer #foot_nav div {
      float: left;
      width: 33%; }
    #footer #foot_nav .ugo a {
      background: #145E9B; }
    #footer #foot_nav div:nth-last-child(2) {
      width: 100%; }
    #footer #foot_nav div:last-child {
      width: 100%; }
    #footer #foot_nav a {
      display: block;
      color: white;
      padding: 20px 0;
      text-align: center;
      text-decoration: none;
      border-bottom: solid 1px white;
      border-left: solid 1px white;
      width: 100%; }
    #footer #foot_nav div:nth-child(1) a,
    #footer #foot_nav div:nth-child(4) a,
    #footer #foot_nav div:nth-child(7) a,
    #footer #foot_nav div:nth-child(8) a {
      border-left: none; }
  #footer small {
    bottom: 0;
    width: 100%;
    left: 0; }

#pankuzu {
  display: none; }

#toTop {
  position: static;
  margin-bottom: 30px; }
  #toTop a {
    display: block;
    background: white;
    height: 60px;
    width: 100%;
    position: relative; }
  #toTop a:after {
    border-right: 3px solid #777;
    border-top: 3px solid #777;
    border-radius: 0;
    content: "";
    left: auto;
    height: 25px;
    margin-left: -14px;
    left: 50%;
    top: 40%;
    position: absolute;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    width: 25px; }

input,
textarea {
  max-width: 90%; }

/* =============================================
top
================================================ */
#top #header {
  padding-top: 50px; }
#top #head {
  padding: 0px 0 70px;
  background: none; }
  #top #head #head_mb_back {
    padding-top: 30px;
    background: url(../img/top/top_back.jpg) repeat-x top;
    background-size: contain; }
  #top #head .logo {
    padding: 0 0 40px; }
    #top #head .logo img {
      width: 80%;
      height: auto; }
  #top #head .anniversary img {
    width: 24%;
    height: auto; }
  #top #head h1 {
    font-size: 150%; }
  #top #head h2 {
    font-size: 120%; }
  #top #head h3 {
    font-size: 110%;
    padding-bottom: 35px; }
  #top #head h3#disc {
    margin: 0 5%; }
  #top #head #mb_head_nav {
    overflow: hidden;
    zoom: 1;
    width: 90%;
    margin: 30px auto 0; }
    #top #head #mb_head_nav a {
      display: block;
      float: left;
      width: 25%;
      border: solid 2px #777;
      border-radius: 10px;
      text-decoration: none;
      text-align: center;
      padding: 55px 0 10px;
      margin: 0 3.3%;
      font-size: 70%;
      line-height: 120%;
      font-weight: bold;
      color: #777;
      background-size: 50% auto; }
    #top #head #mb_head_nav a.tel {
      background: url(../img/share/tel_ico.png) no-repeat center 10px;
      background-size: 40% auto; }
    #top #head #mb_head_nav a.mail {
      background: url(../img/share/mail_ico.png) no-repeat center 15px;
      background-size: 46% auto; }
    #top #head #mb_head_nav a.access {
      background: url(../img/share/access_ico.png) no-repeat center 15px;
      background-size: 60% auto;
      padding: 65px 0 15px; }
  #top #head #news {
    margin: 30px auto 0; }
    #top #head #news h4 {
      background: #888888;
      color: white;
      width: 90%;
      border-top: solid 1px white;
      margin: 0 auto;
      padding: 10px 0; }
    #top #head #news ul {
      width: 90%; }
      #top #head #news ul li {
        float: none;
        width: 100%;
        background: #777;
        border-top: solid 1px white;
        position: relative; }
        #top #head #news ul li p.date {
          position: absolute;
          display: block;
          width: 100%;
          padding-top: 10px;
          background: none;
          border: none;
          color: #ddd; }
        #top #head #news ul li a {
          padding: 35px 5% 10px;
          display: block;
          width: 90%;
          height: 100%;
          position: relative;
          top: 0;
          color: white;
          text-decoration: none;
          text-align: center; }
        #top #head #news ul li a:hover {
          color: white; }
        #top #head #news ul li a:after {
          top: 50%;
          margin-top: -5px; }
      #top #head #news ul li.mb a {
        background: #888;
        padding: 10px 0;
        width: 100%; }
        #top #head #news ul li.mb a:after {
          display: none; }
  #top #head #news li a:after,
  #top #head #head_info a:after {
    border-right: 1px solid white;
    border-top: 1px solid white;
    border-radius: 0;
    content: "";
    left: auto;
    height: 10px;
    right: 15px;
    position: absolute;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    width: 10px; }
  #top #head #head_info {
    position: relative;
    width: 90%;
    height: auto;
    background-position: center top; }
    #top #head #head_info h4 {
      text-align: center;
      color: #D77612;
      font-weight: bold;
      margin: 10px 0; }
    #top #head #head_info a {
      width: 90%;
      padding: 10px 5%;
      border-top: solid 1px white;
      background: #D77612;
      color: white;
      text-align: center;
      position: relative; }
    #top #head #head_info a:hover {
      text-decoration: none; }
    #top #head #head_info a:after {
      top: 50%;
      margin-top: -5px; }
  #top #head #scroll {
    display: none; }
#top #products,
#top #works,
#top #company,
#top #ugo {
  padding: 40px 0; }
#top #products h1,
#top #works h1,
#top #company h1,
#top #ugo h1 {
  font-size: 230%; }
#top #products h2,
#top #works h2,
#top #company h2,
#top #ugo h2 {
  margin: 20px auto 30px;
  font-size: 100%; }
#top #ugo img {
  width: 90%;
  height: auto; }
#top #products {
  background: url(../img/top/products_back_mb.jpg) no-repeat;
  background-size: cover; }
  #top #products a img {
    width: 22%;
    height: auto;
    max-width: 140px; }
#top #magic_top .gradient-txt {
  padding: 60px 0; }
  #top #magic_top .gradient-txt .txt {
    height: 150%;
    bottom: -150%;
    left: 2%; }
  #top #magic_top .gradient-txt .num0 {
    bottom: 0; }
@keyframes scrollSample00 {
  0% {
    transform: translateY(0); }
  100% {
    transform: translateY(-100%); } }
@keyframes scrollSample01 {
  0% {
    transform: translateY(0); }
  100% {
    transform: translateY(-200%); } }
  #top #magic_top .gradient-txt .m_cont .m_title p {
    font-size: 110%;
    margin-bottom: 25px;
    line-height: 150%; }
  #top #magic_top .gradient-txt .m_cont .m_title h1 {
    line-height: 140%;
    font-size: 150%; }
    #top #magic_top .gradient-txt .m_cont .m_title h1 span {
      font-size: 150%; }
  #top #magic_top .gradient-txt .m_cont .m_img {
    padding: 15px 0; }
    #top #magic_top .gradient-txt .m_cont .m_img img {
      width: 50%;
      height: auto; }
    #top #magic_top .gradient-txt .m_cont .m_img .click_here {
      position: absolute;
      width: 25%;
      top: 50%;
      right: 3%;
      display: inline-block; }
      #top #magic_top .gradient-txt .m_cont .m_img .click_here:hover {
        right: 3%; }
      #top #magic_top .gradient-txt .m_cont .m_img .click_here a {
        text-align: center;
        width: 100%;
        padding-top: 25px;
        font-size: 70%;
        background-image: url(../img/magic/sp_arrow.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: top center;
        pointer-events: auto; }
#top #bento_top img {
  width: 100%;
  height: auto; }
#top #company {
  background: url(../img/top/company_back_mb.jpg) no-repeat;
  background-size: cover; }
  #top #company a img {
    width: 22%;
    height: auto;
    max-width: 140px; }

#contact {
  padding: 40px 0; }
  #contact h1 {
    font-size: 230%; }
  #contact h2 {
    margin: 20px auto 30px;
    font-size: 110%; }

#contact h2 + div {
  width: 100%; }
  #contact h2 + div #tel,
  #contact h2 + div #mail {
    width: 100%;
    float: none;
    margin-bottom: 30px; }

/* =============================================
products
================================================ */
#main_img {
  height: auto;
  margin-bottom: 40px; }
  #main_img img {
    width: 100%;
    height: auto;
    left: 0;
    top: 0;
    margin-left: 0;
    position: relative; }
  #main_img h2 {
    position: relative;
    top: 0;
    margin-top: -8%;
    width: 100%;
    line-height: 100%;
    font-size: 130%; }

#products #header h1,
#magic #header h1,
#company_page #header h1,
#works_page #header h1,
#recruit_page #header h1,
#news_page #header h1,
#info_page #header h1,
#ugos_room #header h1,
#inquiry_page #header h1,
#privacy_page #header h1,
#anniversary30th #header h1,
#contact_page #header h1 {
  position: relative;
  width: 100%;
  margin: 0 auto;
  left: 0; }
#products h1,
#magic h1,
#company_page h1,
#works_page h1,
#recruit_page h1,
#news_page h1,
#info_page h1,
#ugos_room h1,
#inquiry_page h1,
#privacy_page h1,
#anniversary30th h1,
#contact_page h1 {
  font-size: 130%;
  margin: 10px 5% 0; }

#products {
  padding-top: 0; }
  #products h1 + p {
    margin: 30px 5%;
    font-size: 90%;
    text-align: left; }
  #products #products_area {
    position: relative; }
    #products #products_area div {
      height: auto;
      width: 48%;
      margin-right: 4%;
      margin-left: 0;
      position: relative;
      margin-bottom: 20px; }
    #products #products_area div:nth-child(2n) {
      margin-right: 0; }

/* =============================================
magic
================================================ */
#magic {
  padding-top: 0; }
  #magic .sp-flex-ce {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
  #magic .gradient {
    padding: 15% 0 15vw;
    background: linear-gradient(-45deg, #b000d6 0%, #b800a7 11%, #be5f00 22%, #00d499 33%, #5c00d4 46%, #bc057d 56%, #02c917 72%, #e1d700 90%, #e1d700 100%);
    background-size: 300% 300%;
    animation: gradient 4s linear infinite; }
  #magic #magic_area .first_magic h1 {
    font-size: 200%;
    margin-bottom: 8%; }
  #magic #magic_area .first_magic p {
    font-size: 106%;
    line-height: 150%; }
  #magic #magic_area .first_magic img {
    width: 100%;
    height: auto;
    margin: 10% auto 12%; }
  #magic #magic_area .reason .reason_top h2 {
    font-size: 150%;
    margin-bottom: 8%; }
  #magic #magic_area .reason .reason_top img {
    width: 23px;
    height: auto;
    animation-delay: 2s; }
  #magic #magic_area .reason ul {
    margin-top: 50px; }
    #magic #magic_area .reason ul li {
      padding-bottom: 27vw;
      margin-bottom: 10%; }
      #magic #magic_area .reason ul li .txt_cont {
        width: 90%;
        height: auto;
        background-color: #1E598F;
        box-sizing: border-box; }
        #magic #magic_area .reason ul li .txt_cont .txt_posi {
          padding: 10% 10% 40vw 10%; }
          #magic #magic_area .reason ul li .txt_cont .txt_posi h3 {
            font-size: 160%;
            margin-bottom: 8%; }
      #magic #magic_area .reason ul li .pic_cont {
        right: 0;
        width: 90%;
        height: auto; }
      #magic #magic_area .reason ul li .pic_cont_1,
      #magic #magic_area .reason ul li .pic_cont_3 {
        bottom: 0; }
      #magic #magic_area .reason ul li .re_txt_cont .txt_posi {
        padding: 10% 10% 40vw 10%; }
      #magic #magic_area .reason ul li .re_pic_cont {
        left: 0;
        width: 90%; }
  #magic #mg_list_area {
    padding: 15% 0; }
    #magic #mg_list_area h1 {
      margin-bottom: 8%; }
    #magic #mg_list_area ul {
      margin-top: 10%;
      flex-wrap: wrap; }
      #magic #mg_list_area ul li {
        width: 100%;
        padding: 5%;
        box-sizing: border-box;
        background-color: #fff;
        text-align: center;
        margin-bottom: 20px; }
        #magic #mg_list_area ul li h3,
        #magic #mg_list_area ul li p {
          color: #1E598F;
          line-height: 170%; }
        #magic #mg_list_area ul li h3 {
          font-weight: bold;
          font-size: 125%; }
        #magic #mg_list_area ul li img {
          margin: 15px auto 20px; }
        #magic #mg_list_area ul li p {
          text-align: left; }
  #magic #migration {
    padding: 15% 0 10%; }
    #magic #migration h1 {
      margin-bottom: 8%; }
    #magic #migration h2 {
      font-size: 110%; }
    #magic #migration .table_box {
      margin-top: 50px; }
      #magic #migration .table_box .scroll_box {
        overflow: scroll;
        width: 105.5%; }
        #magic #migration .table_box .scroll_box table {
          width: 800px; }
      #magic #migration .table_box table {
        width: 100%;
        border-collapse: collapse;
        border-top: 1px solid #1E598F;
        border-right: 1px solid #1E598F; }
        #magic #migration .table_box table tr th,
        #magic #migration .table_box table tr td {
          font-size: 87.5%;
          border-left: 1px solid #1E598F;
          border-bottom: 1px solid #1E598F;
          padding: 13px 0; }
        #magic #migration .table_box table tr th {
          background-color: #5B8FBE;
          color: #fff;
          font-weight: bold; }
        #magic #migration .table_box table tr td {
          padding-left: 25px;
          padding-right: 5px; }
    #magic #migration .support {
      margin-top: 65px; }
      #magic #migration .support b {
        display: block;
        margin-bottom: 30px;
        font-weight: bold; }
      #magic #migration .support p {
        text-align: left;
        line-height: 150%; }
      #magic #migration .support ul {
        list-style-type: disc;
        padding-left: 1.2em;
        margin-top: 5px; }
        #magic #migration .support ul li {
          margin-bottom: 10px; }
  #magic #mg_case {
    padding: 15% 0 10%; }
    #magic #mg_case .center {
      width: 100%;
      padding: 0;
      margin: 0; }
    #magic #mg_case h1 {
      font-size: 160%;
      margin-bottom: 10%; }
    #magic #mg_case ul li {
      height: 100px;
      padding: 4% 0 6.5%;
      box-sizing: border-box;
      background-size: auto 100%; }
      #magic #mg_case ul li:after {
        width: 60px;
        height: 20px;
        bottom: 13%;
        right: 5%; }
      #magic #mg_case ul li:hover:after {
        right: 5%; }
      #magic #mg_case ul li a .case_name {
        width: 55%; }
        #magic #mg_case ul li a .case_name .label {
          font-size: 65%;
          padding: 2% 2% 1%; }
        #magic #mg_case ul li a .case_name h2 {
          margin-top: 4%;
          margin-bottom: 10%;
          font-size: 97%;
          line-height: 130%; }

/* =============================================
company
================================================ */
#company_page {
  padding-top: 0; }
  #company_page ul.company_nav {
    width: 100%;
    margin: 30px auto 40px; }
    #company_page ul.company_nav li {
      width: 25%;
      display: table;
      margin: 0; }
      #company_page ul.company_nav li a {
        width: 100%;
        padding: 14% 0;
        height: auto;
        border-radius: 50%; }
        #company_page ul.company_nav li a img {
          height: 90%; }
  #company_page ul.company_nav:first-child {
    margin: 0px auto 30px; }
  #company_page article#greeting {
    padding-bottom: 50px; }
    #company_page article#greeting h1 {
      width: 100%;
      margin: 0;
      padding-bottom: 20px; }
    #company_page article#greeting div {
      margin: 50px auto 0; }
    #company_page article#greeting p {
      width: 100%; }
    #company_page article#greeting p + p img {
      right: auto;
      margin-top: 0; }
    #company_page article#greeting img {
      position: relative;
      margin: 30px auto 0;
      display: block; }
  #company_page article#philosophy {
    padding: 50px 0; }
    #company_page article#philosophy h1 {
      font-size: 130%;
      margin-bottom: 20px; }
    #company_page article#philosophy h2 {
      font-size: 140%;
      width: 90%;
      margin: auto; }
  #company_page article#profile h1,
  #company_page article#torihiki h1,
  #company_page article#history h1 {
    width: 100%;
    margin: 0;
    padding-bottom: 20px; }
  #company_page article#profile table,
  #company_page article#torihiki table,
  #company_page article#history table {
    width: 100%;
    padding: 30px 0; }
    #company_page article#profile table th + th,
    #company_page article#torihiki table th + th,
    #company_page article#history table th + th {
      width: 10%;
      vertical-align: top; }
    #company_page article#profile table tr,
    #company_page article#profile table th,
    #company_page article#profile table td,
    #company_page article#torihiki table tr,
    #company_page article#torihiki table th,
    #company_page article#torihiki table td,
    #company_page article#history table tr,
    #company_page article#history table th,
    #company_page article#history table td {
      vertical-align: top; }
  #company_page article#history th:first-child {
    width: 60px; }
  #company_page article#profile table th,
  #company_page article#profile table td,
  #company_page article#torihiki table th,
  #company_page article#torihiki table td {
    vertical-align: top; }
  #company_page article#profile table tr,
  #company_page article#profile table th,
  #company_page article#profile table td,
  #company_page article#torihiki table tr,
  #company_page article#torihiki table th,
  #company_page article#torihiki table td {
    display: block;
    width: 100%; }
  #company_page article#profile table tr,
  #company_page article#torihiki table tr {
    margin-bottom: 10px; }
  #company_page article#profile table th,
  #company_page article#torihiki table th {
    text-align: left;
    padding-bottom: 0px;
    font-weight: bold;
    font-size: 110%; }
  #company_page article#profile table td,
  #company_page article#torihiki table td {
    width: 100%;
    padding-left: 0; }
  #company_page article#access .in {
    width: 90%;
    padding: 0 5% 8%;
    background-position: center bottom;
    background-size: 8% auto; }
  #company_page article#access .archive a {
    color: white; }
  #company_page article#access .subMenu li img {
    width: 100%;
    height: auto; }

/* =============================================
works
================================================ */
#works_page {
  padding-top: 0; }
  #works_page .center:first-child .w_btn.back {
    margin: -20px 0px 0 auto;
    width: 50px;
    height: 50px;
    text-indent: -9999px;
    padding: 0;
    background-position: 45% center; }
  #works_page h1 + h2,
  #works_page article#case h2 {
    font-size: 110%;
    margin: 40px auto 20px; }
  #works_page article#case .archive {
    font-size: 95%;
    line-height: 130%; }
  #works_page article#case h3 {
    font-size: 100%;
    margin: 20px auto 10px; }
  #works_page article#case table {
    margin: 0; }

#works_page .single {
  /******
  プロダクトからワークスへ移動したページの共通
  *******/ }
  #works_page .single h1 {
    font-size: 130%;
    margin: 5px 5% 15px; }
  #works_page .single h2.center {
    font-size: 105%;
    margin-top: 30px; }
  #works_page .single #works_main_img {
    width: 100%; }
    #works_page .single #works_main_img img {
      width: 100%; }
  #works_page .single .cont1,
  #works_page .single .cont2,
  #works_page .single .cont3,
  #works_page .single .cont4 {
    padding: 10px 0 40px; }
  #works_page .single article + .center .w_btn {
    margin: 0px auto 30px; }
  #works_page .single article#works1 .cont2 p + .img {
    margin: 30px auto;
    padding: 5px 0 30px; }
    #works_page .single article#works1 .cont2 p + .img h3 {
      font-size: 110%; }
    #works_page .single article#works1 .cont2 p + .img img {
      width: 90%; }
  #works_page .single article#works1 .cont2 b + div p,
  #works_page .single article#works1 .cont2 b + div .img {
    float: none;
    width: 100%; }
  #works_page .single article#works1 .cont2 b + div .img {
    margin: 30px 0; }
    #works_page .single article#works1 .cont2 b + div .img img {
      display: block;
      margin: auto;
      max-width: 400px;
      width: 100%;
      height: auto; }
  #works_page .single article#works1 .cont4 .center div {
    float: none;
    width: 100%; }
  #works_page .single article#works1 .cont4 .center img {
    float: none;
    max-width: 240px;
    margin-top: 40px;
    width: 100%;
    height: auto; }
  #works_page .single article#works2 .cont2 .img {
    width: 100%;
    margin: 20px auto 0;
    padding-bottom: 0; }
    #works_page .single article#works2 .cont2 .img img {
      width: 100%;
      max-width: 680px; }
  #works_page .single article#works2 .cont3 .center:first-child + .center + .center + .center div,
  #works_page .single article#works2 .cont3 .center:first-child + .center div {
    float: none;
    width: 100%; }
  #works_page .single article#works2 .cont3 .center:first-child + .center + .center + .center img,
  #works_page .single article#works2 .cont3 .center:first-child + .center img {
    float: none;
    width: 100%;
    margin-top: 20px; }
  #works_page .single article#works2 .cont3 .center:first-child + .center img {
    max-width: 400px; }
  #works_page .single article#works2 .cont3 .center:first-child + .center + .center + .center img {
    max-width: 270px; }
  #works_page .single article#works2 .cont5 {
    padding-bottom: 40px; }
    #works_page .single article#works2 .cont5 .center {
      width: 90%;
      text-align: center; }
      #works_page .single article#works2 .cont5 .center img {
        margin: 20px auto 5px;
        width: 100%;
        max-width: 320px; }
  #works_page .single article#works2 .cont6 .center {
    width: 75%;
    margin: 20px auto 40px;
    padding: 30px 5%; }
  #works_page .single article#works3 .cont2 .img img {
    width: 100%;
    height: auto;
    margin: 0px 0 0; }
  #works_page .single article#works3 .cont3 h3 + div .img + p {
    float: none;
    width: 100%; }
  #works_page .single article#works3 .cont3 h3 + div .img {
    float: none;
    width: 100%;
    margin-bottom: 30px; }
    #works_page .single article#works3 .cont3 h3 + div .img img {
      display: block;
      width: 100%; }
  #works_page .single article#works3 .cont4 .center div {
    float: none;
    width: 100%; }
  #works_page .single article#works3 .cont4 .center .img {
    float: none;
    width: 100%;
    margin: 30px auto 0;
    text-align: center; }
  #works_page .single article#works3 .cont5 {
    padding-bottom: 30px; }
    #works_page .single article#works3 .cont5 .center {
      overflow: hidden;
      zoom: 1;
      padding-top: 50px; }
      #works_page .single article#works3 .cont5 .center h3 {
        margin: 0 auto 40px;
        float: none; }
      #works_page .single article#works3 .cont5 .center h3 + p {
        float: none;
        width: 100%;
        color: #6C829F; }
  #works_page .single article#works3 #client {
    width: 90%;
    margin: 0 auto 50px; }
    #works_page .single article#works3 #client img {
      display: block;
      margin: auto;
      margin-bottom: 30px; }
  #works_page .single article#works4 .cont2 {
    background: #555; }
    #works_page .single article#works4 .cont2 .center {
      position: relative; }
    #works_page .single article#works4 .cont2 h2 {
      position: static;
      display: block;
      margin: 40px auto -10px;
      text-align: center; }
    #works_page .single article#works4 .cont2 h3,
    #works_page .single article#works4 .cont2 p {
      padding-left: 0; }
  #works_page .single article#works4 .cont3 .img_area {
    float: none;
    width: 100%;
    font-size: 80%;
    color: #555;
    text-align: center; }
    #works_page .single article#works4 .cont3 .img_area h2 {
      position: static;
      display: block;
      margin: 40px auto 20px;
      text-align: center; }
  #works_page .single article#works4 .cont3 .img_area + div {
    float: none;
    width: 100%; }
  #works_page .single article#works4 .cont4 h3,
  #works_page .single article#works4 .cont4 p {
    padding-left: 0; }
  #works_page .single article#works4 .cont4 h2 {
    position: static;
    display: block;
    margin: 40px auto 20px;
    text-align: center; }
  #works_page .single article#works4 .cont5 .center h3,
  #works_page .single article#works4 .cont5 .center p {
    color: white !important;
    padding-left: 0; }
  #works_page .single article#works4 .cont5 .center p {
    margin-bottom: 20px; }
  #works_page .single article#works4 .cont5 .center img {
    position: static;
    margin: 30px auto -20px;
    display: block; }
  #works_page .single article#works4 #client {
    margin: 30px auto 50px; }
  #works_page .single article#works5 .cont1 .center {
    background-position: center bottom;
    background-size: 89% auto;
    padding-bottom: 75%; }
  #works_page .single article#works5 .cont1 p {
    padding: 0;
    width: 100%; }
  #works_page .single article#works5 .cont2 {
    background-size: auto 85%; }
    #works_page .single article#works5 .cont2 img {
      width: 100%;
      height: auto; }
  #works_page .single article#works5 .cont3 .img_area,
  #works_page .single article#works5 .cont4 .img_area,
  #works_page .single article#works5 .cont5 .img_area,
  #works_page .single article#works5 .cont6 .img_area,
  #works_page .single article#works5 .cont7 .img_area,
  #works_page .single article#works5 .cont8 .img_area {
    float: none;
    width: 100%; }
    #works_page .single article#works5 .cont3 .img_area img,
    #works_page .single article#works5 .cont4 .img_area img,
    #works_page .single article#works5 .cont5 .img_area img,
    #works_page .single article#works5 .cont6 .img_area img,
    #works_page .single article#works5 .cont7 .img_area img,
    #works_page .single article#works5 .cont8 .img_area img {
      width: 70%;
      display: block;
      margin: auto;
      height: auto;
      max-width: 100%; }
  #works_page .single article#works5 .cont3 .img_area + div,
  #works_page .single article#works5 .cont4 .img_area + div,
  #works_page .single article#works5 .cont5 .img_area + div,
  #works_page .single article#works5 .cont6 .img_area + div,
  #works_page .single article#works5 .cont7 .img_area + div,
  #works_page .single article#works5 .cont8 .img_area + div {
    float: none;
    width: 100%;
    padding-top: 0; }
  #works_page .single article#works5 .cont5 .img_area img,
  #works_page .single article#works5 .cont6 .img_area img,
  #works_page .single article#works5 .cont7 .img_area img {
    width: 55%; }
  #works_page .single article#works5 .cont7 .img_area img,
  #works_page .single article#works5 .cont8 .img_area img {
    width: 65%; }
  #works_page .single article#works5 .cont8 {
    margin-bottom: 30px; }
  #works_page .single article#works6 .cont3 .center,
  #works_page .single article#works6 .cont4 .center,
  #works_page .single article#works6 .cont5 .center {
    width: 90%; }
    #works_page .single article#works6 .cont3 .center div,
    #works_page .single article#works6 .cont4 .center div,
    #works_page .single article#works6 .cont5 .center div {
      float: none;
      width: 100%; }
  #works_page .single article#works6 .cont3 .img,
  #works_page .single article#works6 .cont4 .img,
  #works_page .single article#works6 .cont5 .img {
    float: none;
    width: 100%;
    margin-top: 20px;
    padding-bottom: 0;
    text-align: center; }
    #works_page .single article#works6 .cont3 .img img,
    #works_page .single article#works6 .cont4 .img img,
    #works_page .single article#works6 .cont5 .img img {
      width: 100%;
      max-width: 240px;
      margin: auto; }
  #works_page .single article#works6 .cont4 .img img {
    max-width: 400px; }
  #works_page .single article#works6 .cont5 img {
    display: block;
    float: none;
    margin: 40px auto 0; }
  #works_page .single article#works6 .cont5 #ezumen img {
    margin: 0 auto; }
  #works_page .single article#works6 .cont6 .center {
    width: 75%;
    margin: 20px auto 40px;
    padding: 30px 5%; }
  #works_page .single article#works7 .cont3 .center,
  #works_page .single article#works7 .cont4 .center,
  #works_page .single article#works7 .cont5 .center {
    width: 90%; }
    #works_page .single article#works7 .cont3 .center div,
    #works_page .single article#works7 .cont4 .center div,
    #works_page .single article#works7 .cont5 .center div {
      float: none;
      width: 100%; }
  #works_page .single article#works7 .cont3 .img,
  #works_page .single article#works7 .cont4 .img,
  #works_page .single article#works7 .cont5 .img {
    float: none;
    width: 100%;
    margin-top: 20px;
    padding-bottom: 0;
    text-align: center; }
    #works_page .single article#works7 .cont3 .img img,
    #works_page .single article#works7 .cont4 .img img,
    #works_page .single article#works7 .cont5 .img img {
      width: 100%;
      max-width: 470px;
      margin: auto; }
  #works_page .single article#works7 .cont4 {
    margin: 0 auto 40px; }
    #works_page .single article#works7 .cont4 .img {
      float: none;
      width: 100%;
      margin-bottom: 20px;
      padding-bottom: 0;
      text-align: center; }
      #works_page .single article#works7 .cont4 .img img {
        width: 100%;
        max-width: 240px;
        margin: auto; }
    #works_page .single article#works7 .cont4 #toretore {
      width: 100%; }
  #works_page .single.from_products #works_main_img + h2 img {
    width: 85%;
    height: auto; }
  #works_page .single.from_products .img img {
    max-width: 100%; }
  #works_page .single.from_products article {
    padding: 50px 0; }
    #works_page .single.from_products article h2.midashi {
      font-size: 180%;
      margin-bottom: 30px;
      padding: 0 5%;
      width: 90%; }
    #works_page .single.from_products article h1 {
      font-size: 120%;
      margin-bottom: 30px; }
  #works_page .single.from_products article#gaiyo h1 + .img {
    width: 100%; }
    #works_page .single.from_products article#gaiyo h1 + .img img {
      display: block;
      width: 90%;
      margin: 0 auto 10px !important; }
  #works_page .single.from_products article#gaiyo h3 {
    width: 90%;
    margin: 30px auto 20px;
    font-size: 105%; }
  #works_page .single.from_products article#gaiyo h3 + p {
    width: 90%;
    margin: 0 auto 30px; }
  #works_page .single.from_products article#gaiyo p + .img img {
    width: 90%;
    height: auto; }
  #works_page .single.from_products article#gaiyo #q,
  #works_page .single.from_products article#gaiyo #a {
    width: 95% !important;
    padding: 20px 5% !important; }
  #works_page .single.from_products article#tokucho {
    padding-left: 5%;
    padding-right: 5%;
    width: 90%; }
    #works_page .single.from_products article#tokucho b,
    #works_page .single.from_products article#tokucho p {
      width: 100%;
      line-height: 150%; }
    #works_page .single.from_products article#tokucho p {
      margin-bottom: 30px; }
    #works_page .single.from_products article#tokucho .img {
      margin: 50px auto; }
  #works_page .single.from_products article#lineup h1 {
    margin-bottom: 10px; }
  #works_page .single.from_products article#lineup table,
  #works_page .single.from_products article#lineup tr,
  #works_page .single.from_products article#lineup td,
  #works_page .single.from_products article#lineup th {
    display: block;
    width: 100%; }
  #works_page .single.from_products article#lineup table {
    width: 90%; }
    #works_page .single.from_products article#lineup table th {
      font-weight: bold;
      margin-top: 15px; }
    #works_page .single.from_products article#lineup table span {
      display: none; }
  #works_page .single.from_products article#lineup .img {
    margin-top: 20px; }
  #works_page .single.from_products article#environment table {
    display: block;
    width: 90%;
    margin: auto; }
  #works_page .single.from_products article#func p.center {
    margin-bottom: 10px; }
  #works_page .single.from_products article#func .center {
    margin-bottom: 0; }
    #works_page .single.from_products article#func .center div {
      float: left;
      width: 50%;
      margin-bottom: 30px; }
    #works_page .single.from_products article#func .center br.mb {
      display: block;
      clear: both; }
  #works_page .single.from_products article#case div#border {
    width: 75%;
    padding: 40px 5% 0; }
  #works_page .single.from_products article#works8 article#gaiyo h1 + p {
    padding: 0 !important; }
  #works_page .single.from_products article#works8 #works_main_img {
    height: auto; }
  #works_page .single.from_products article#works8 #works_main_img + h2 {
    padding: 60px 0 10px !important; }
    #works_page .single.from_products article#works8 #works_main_img + h2 img {
      width: 60% !important;
      height: auto; }
  #works_page .single.from_products article#works8 article#tokucho .center {
    padding: 0; }
    #works_page .single.from_products article#works8 article#tokucho .center div {
      float: none !important;
      width: 100% !important;
      margin: 40px auto 0px !important; }
      #works_page .single.from_products article#works8 article#tokucho .center div img {
        width: 35%;
        max-width: 150px;
        margin-bottom: -40px;
        margin: 0 auto -15px !important; }
      #works_page .single.from_products article#works8 article#tokucho .center div p {
        margin-top: -15px; }
    #works_page .single.from_products article#works8 article#tokucho .center div:first-child {
      margin-top: 0 !important; }
  #works_page .single.from_products article#works8 article#case {
    padding-bottom: 50px; }
  #works_page .single.from_products article#works8 article#video {
    margin-bottom: 30px;
    /*video*/ }
    #works_page .single.from_products article#works8 article#video .video-container {
      max-width: 853px; }
    #works_page .single.from_products article#works8 article#video .video {
      position: relative;
      padding-bottom: 56.25%;
      padding-top: 30px;
      height: 0;
      overflow: hidden;
      max-width: 100%;
      height: auto; }
    #works_page .single.from_products article#works8 article#video .video iframe,
    #works_page .single.from_products article#works8 article#video .video object,
    #works_page .single.from_products article#works8 article#video .video embed {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  #works_page .single.from_products article#works8 article#result .center {
    padding: 0 5% 30px;
    margin-bottom: 30px;
    width: 90%;
    background-position: bottom center !important; }
  #works_page .single.from_products article#works8 article#result .img {
    width: 90%;
    margin: auto; }
  #works_page .single.from_products article#works8 article#result h3 {
    font-size: 120%;
    margin: 50px 5%; }
  #works_page .single.from_products article#works8 article#result b {
    font-size: 110%; }
  #works_page .single.from_products article#works9 #works_main_img {
    height: auto; }
  #works_page .single.from_products article#works9 article#gaiyo p {
    margin: 0 auto;
    width: 90%; }
  #works_page .single.from_products article#works9 article#gaiyo .img {
    margin: 40px auto; }
  #works_page .single.from_products article#works9 article#tokucho .center {
    width: 100%;
    margin: auto;
    padding: 0;
    background-position: bottom center;
    background-size: 60%; }
  #works_page .single.from_products article#works9 article#scene .center div {
    float: none !important;
    width: 100% !important;
    margin: 40px auto 0px !important; }
    #works_page .single.from_products article#works9 article#scene .center div img {
      width: 35%;
      max-width: 150px;
      margin: 0 auto 5px !important; }
  #works_page .single.from_products article#works9 article#scene .center div:first-child {
    margin-top: 0 !important; }
  #works_page .single.from_products article#works9 article#screen {
    margin-bottom: 30px; }
    #works_page .single.from_products article#works9 article#screen div img {
      max-width: 90%; }
  #works_page .single.from_products article#works9 article#environment {
    background: #64A0DF; }
    #works_page .single.from_products article#works9 article#environment th,
    #works_page .single.from_products article#works9 article#environment td {
      border-bottom: solid 1px #64A0DF;
      border-left: solid 1px #64A0DF; }

/* =============================================
recruit
================================================ */
#recruit_page {
  padding-top: 0; }
  #recruit_page .recruit_nav {
    background: #777;
    padding: 0;
    width: 100%;
    margin: 10px auto 50px; }
    #recruit_page .recruit_nav a {
      font-size: 70% !important;
      line-height: 130%; }
  #recruit_page article + .recruit_nav {
    margin-top: 40px; }
  #recruit_page h1 {
    margin-bottom: 20px; }
  #recruit_page article#message .archive img {
    width: 100%;
    height: auto; }
  #recruit_page article#message .subMenu li {
    width: 90%;
    padding: 30px 5% 40px; }
    #recruit_page article#message .subMenu li img.face {
      display: block;
      margin: 20px auto 0; }
    #recruit_page article#message .subMenu li .row {
      margin-top: 30px; }
      #recruit_page article#message .subMenu li .row b {
        width: 100%;
        float: none; }
      #recruit_page article#message .subMenu li .row p {
        float: none;
        width: 100%; }
    #recruit_page article#message .subMenu li h3 {
      margin: 30px auto 80px; }
    #recruit_page article#message .subMenu li .message_box {
      padding: 80px 5% 20px; }
      #recruit_page article#message .subMenu li .message_box img {
        float: none;
        margin: auto; }
      #recruit_page article#message .subMenu li .message_box div {
        float: none;
        width: 100%;
        padding: 20px 0; }
    #recruit_page article#message .subMenu li .message_box:before {
      width: 90%; }
  #recruit_page article#saiyo {
    padding: 50px 0; }
    #recruit_page article#saiyo #bosyu {
      margin-top: 30px;
      font-size: 100%; }
  #recruit_page article#qa {
    background: white;
    padding: 50px 0 20px; }
    #recruit_page article#qa .row {
      margin-bottom: 30px; }
  #recruit_page article#jinji #jinji_main_img img {
    width: 100%;
    height: auto; }
  #recruit_page article#jinji #cont1 .center div {
    float: none;
    width: 100%; }
  #recruit_page article#jinji #cont1 .center div + div {
    float: none;
    width: auto;
    text-align: center; }
  #recruit_page article#jinji #cont2 .center div div,
  #recruit_page article#jinji #cont4 .center div div {
    float: none;
    width: 100%; }
  #recruit_page article#jinji #cont2 .center div img,
  #recruit_page article#jinji #cont4 .center div img {
    float: none;
    display: block;
    margin: 20px auto 0; }
  #recruit_page article#jinji #cont4 .center div img {
    margin: -20px auto 40px; }
  #recruit_page article#bosyu table {
    margin-bottom: 30px !important; }
    #recruit_page article#bosyu table tr:first-child {
      background: #999;
      padding: 15px 0; }
      #recruit_page article#bosyu table tr:first-child th,
      #recruit_page article#bosyu table tr:first-child td {
        width: 90%;
        padding: 1; }
    #recruit_page article#bosyu table th,
    #recruit_page article#bosyu table td {
      vertical-align: top;
      width: 90% !important;
      padding: 0 5% !important; }
    #recruit_page article#bosyu table tr,
    #recruit_page article#bosyu table th,
    #recruit_page article#bosyu table td {
      display: block;
      border: none !important; }
    #recruit_page article#bosyu table tr {
      width: 100%;
      margin-bottom: 10px; }
    #recruit_page article#bosyu table th {
      font-weight: bold;
      font-size: 110%; }
  #recruit_page article#bosyu table + p {
    margin-bottom: 20px !important; }

/* =============================================
news
================================================ */
#news_page,
#info_page {
  padding-top: 0; }
  #news_page #news_all,
  #info_page #news_all {
    margin: 20px auto 40px; }
    #news_page #news_all article,
    #info_page #news_all article {
      background-position: 95% center; }
      #news_page #news_all article a,
      #info_page #news_all article a {
        text-decoration: none; }
        #news_page #news_all article a img,
        #info_page #news_all article a img {
          width: 20%;
          max-width: 140px; }
        #news_page #news_all article a div,
        #info_page #news_all article a div {
          float: right;
          margin-left: 0;
          width: 70%;
          margin-right: 5%; }
      #news_page #news_all article p.date,
      #info_page #news_all article p.date {
        font-size: 90%;
        padding-top: 0 !important; }
  #news_page #news_single div.center:first-child,
  #info_page #news_single div.center:first-child {
    position: relative; }
    #news_page #news_single div.center:first-child .w_btn.back,
    #info_page #news_single div.center:first-child .w_btn.back {
      top: -60px;
      right: 0;
      width: 50px;
      height: 50px;
      text-indent: -9999px;
      padding: 0;
      background-position: 45% center; }
  #news_page #news_single article,
  #info_page #news_single article {
    padding: 20px 5%; }
    #news_page #news_single article p.date,
    #info_page #news_single article p.date {
      padding: 5px 0 20px; }
    #news_page #news_single article h1,
    #info_page #news_single article h1 {
      font-size: 140%; }
    #news_page #news_single article .cont_text,
    #info_page #news_single article .cont_text {
      margin-bottom: 30px; }
    #news_page #news_single article .cont_text.pic,
    #info_page #news_single article .cont_text.pic {
      float: none;
      width: 100%; }
    #news_page #news_single article .pic_area,
    #info_page #news_single article .pic_area {
      float: none;
      width: 100%; }
      #news_page #news_single article .pic_area img,
      #info_page #news_single article .pic_area img {
        width: 100%; }

#news_page #news_single {
  margin: 80px auto 0; }

#info_page #info_title {
  font-size: 140%; }

/* =============================================
UGOs room
================================================ */
#ugos_room {
  padding-top: 0; }
  #ugos_room article#new_area {
    padding: 40px 0 30px;
    margin: 40px auto 30px; }
    #ugos_room article#new_area img {
      width: 90%;
      height: auto; }
  #ugos_room #ugo_area {
    padding: 0;
    width: 90%;
    margin: 20px auto !important; }
    #ugos_room #ugo_area article {
      width: 31.3%;
      margin-right: 3%;
      margin-left: 0;
      margin-bottom: 0;
      font-size: 85%; }
      #ugos_room #ugo_area article img {
        width: 100%; }
      #ugos_room #ugo_area article p {
        font-size: 70%;
        margin-top: 5px;
        height: 35px;
        line-height: 120%; }
    #ugos_room #ugo_area article:nth-child(3n) {
      margin-right: 0; }

/* =============================================
tel page
================================================ */
#tel_page article ul li {
  background: #555555;
  text-align: center;
  color: white;
  border-bottom: solid 1px white; }
#tel_page article ul a {
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  color: white;
  text-decoration: none;
  font-size: 150%;
  font-weight: normal;
  padding: 15px 0; }
#tel_page article ul p {
  color: #DDDDDD;
  font-size: 65%;
  margin-bottom: 10px; }
#tel_page article ul:before {
  content: "";
  display: block;
  background: url(../img/share/tel_white.jpg) no-repeat center;
  background-color: #999999;
  height: 60px; }

/* =============================================
privacy
================================================ */
#privacy_page article#privacy .privacy_ico {
  display: flex;
  align-items: flex-start; }
  #privacy_page article#privacy .privacy_ico .cont {
    margin-left: 60px; }

/* =============================================
contact_page
================================================ */
.container#contact_page #contact h2.midashi {
  width: 90%; }
  .container#contact_page #contact h2.midashi + p + p {
    margin-bottom: 40px; }
.container#contact_page #privacy_text p {
  padding: 0 5% !important; }

#mailform tr,
#mailform .row {
  display: block;
  overflow: hidden;
  zoom: 1;
  padding-bottom: 30px; }
#mailform th,
#mailform .name {
  width: 100% !important;
  text-align: left !important;
  float: none !important;
  padding: 0 0 5px !important; }
#mailform td,
#mailform .cont {
  float: none !important;
  width: 100% !important;
  padding-left: 0 !important; }
#mailform td input {
  max-width: 85% !important; }
#mailform tr span.gray,
#mailform .row span.gray {
  display: block;
  margin-top: 5px;
  padding: 0; }
#mailform .cont input,
#mailform .cont textarea {
  max-width: 85% !important; }

.form_text {
  width: 90% !important;
  margin: auto;
  padding-left: 0; }

/* =============================================
inquiry
================================================ */
#contact_page,
#inquiry_page,
#privacy_page,
#anniversary30th {
  padding-top: 0; }

/* =============================================
anniversary30th
================================================ */
#anniversary30th #main_img {
  margin-bottom: 3%; }
#anniversary30th #anniversary_cont {
  padding: 40px 0 80px; }
  #anniversary30th #anniversary_cont img {
    max-width: 100%;
    height: auto; }
  #anniversary30th #anniversary_cont figure {
    margin: 30px auto 40px; }
  #anniversary30th #anniversary_cont .cont .text {
    float: none;
    width: 100%; }
  #anniversary30th #anniversary_cont .cont img {
    float: none;
    display: block;
    margin: 40px auto 0; }
