@charset "UTF-8";
 /*----------------
  CONFIG
----------------*/
/*---------------------------------------
  variables
-----------------------------------------*/
/*===== Color =====*/
/*----------------------------------------------
  default
------------------------------------------------*/
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, font, 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 {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0; }

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

ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

:focus {
  outline: 0; }

ins {
  text-decoration: none; }

del {
  text-decoration: line-through; }

a {
  text-decoration: none;
  border: none; }

a:hover {
  text-decoration: none;
  border: none; }

a:active {
  text-decoration: none;
  border: none; }

table, tr, th, td {
  border-collapse: collapse;
  border-spacing: 0;
  vertical-align: middle; }

dt, dd {
  display: inline-block; }

img {
  width: 100%;
  height: auto;
  vertical-align: top; }

body {
  -webkit-text-size-adjust: 100%; }

input[type^=email], input[type^=tel], input[type^=number], input[type^=text], button, textarea, select {
  -webkit-appearance: none;
  box-sizing: border-box;
  border-radius: 0; }

input[type^=text] {
  vertical-align: top; }

address {
  font-style: normal; }

* {
  -webkit-appearance: none; }

/*--------レイアウト--------*/
html {
  font-size: 1.5625vw; }

body, textarea {
  line-height: 1.3;
  font-family: "メイリオ","Meiryo",arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif; }

/*----------------------------
  extends
------------------------------*/
/*--------------------------
  general-purpose class
----------------------------*/
.anchor {
  margin-top: -15.625vw;
  padding-top: 15.625vw; }

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

.cont-wd {
  margin: 0 auto;
  width: 90.625vw; }

.red {
  color: #e60012;
  font-weight: bold; }

/*---------------------------
  JS
-----------------------------*/
body {
  color: #333;
  font-size: 2.4rem; }

/*--------------------------------------------------
  TMP
-------------------------------------------------*/
/*========== HEADER ==========*/
header {
  position: fixed;
  width: 100%;
  z-index: 100; }
  header #h-cont {
    background: #fff;
    box-sizing: border-box;
    display: table;
    padding: 2.03125vw 4.6875vw;
    vertical-align: middle;
    width: 100%; }
    header #h-cont #h-logo {
      display: table-cell;
      vertical-align: bottom; }
      header #h-cont #h-logo img {
        width: 56.71875vw; }
    header #h-cont #menu-btn {
      display: table-cell;
      vertical-align: bottom;
      width: 9.375vw; }
  header #nav {
    background: #040d18;
    color: #fff;
    display: block;
    font-size: 3.6rem;
    font-weight: bold;
    padding: 4.6875vw 0 12.5vw 0;
    text-align: center; }
    header #nav li {
      line-height: 1em;
      padding: 3.125vw 0; }
      header #nav li a {
        color: #fff;
        display: block; }
    header #nav .nav02 {
      font-size: 2.8rem;
      padding: 0 0 3.125vw 0; }
      header #nav .nav02 a {
        color: #b2c3e9; }
    header #nav #nav-close {
      padding-bottom: 0; }
      header #nav #nav-close a {
        display: inline-block; }
      header #nav #nav-close img {
        width: 70.3125vw; }
  header #mask {
    background: url(../images/tmp/bg_tmp_mask.png);
    width: 100%;
    height: 10%; }

/*========== FOOTER ==========*/
footer {
  letter-spacing: 0.15625vw;
  position: relative;
  text-align: center; }
  footer #to-top {
    bottom: 3.125vw;
    position: fixed;
    right: 2.34375vw;
    width: 9.6875vw; }
  footer #f-cont {
    background: #edf4ff;
    padding: 4.6875vw 0 6.25vw; }
    footer #f-cont #f-logo {
      margin-bottom: 3.90625vw; }
      footer #f-cont #f-logo img {
        width: 56.71875vw; }
  footer #copy {
    background: url(../images/tmp/bg_tmp_copy.png) repeat-x;
    color: #fff;
    font-size: 2.2rem;
    line-height: 9.375vw; }

/*-------------------------------------------------------
  PAGES
---------------------------------------------------------*/
/********** COMMON **********/
#mainimg {
  margin-bottom: 6.25vw;
  padding-top: 15.625vw; }
  #index #mainimg {
    margin-bottom: 0; }

/*========== INDEX ==========*/
#index #main .btn img {
  width: 70.3125vw; }
#index #main #sec01 {
  background: #1341a5;
  color: #fff;
  padding: 4.6875vw 0 15.625vw 0;
  text-align: center; }
  #index #main #sec01 h3 {
    margin-bottom: 7.8125vw; }
    #index #main #sec01 h3 img {
      width: 29.375vw; }
  #index #main #sec01 .img {
    margin-bottom: 6.25vw; }
  #index #main #sec01 h4 {
    font-size: 3.2rem;
    letter-spacing: 0.15625vw;
    margin-bottom: 7.03125vw; }
  #index #main #sec01 p {
    letter-spacing: 0.15625vw;
    margin-bottom: 7.03125vw;
    text-align: left; }
  #index #main #sec01 .cont01 {
    margin-bottom: 15.625vw; }
    #index #main #sec01 .cont01 .img img {
      width: 34.375vw; }
  #index #main #sec01 .cont02 .img img {
    width: 37.5vw; }
#index #main #sec02 {
  background: url(../images/index/bg_index01.png) top center/cover no-repeat;
  color: #fff;
  padding: 4.6875vw 0 15.625vw;
  text-align: center; }
  #index #main #sec02 h3 {
    margin-bottom: 4.6875vw; }
    #index #main #sec02 h3 img {
      width: 45vw; }
  #index #main #sec02 .p01 {
    margin-bottom: 6.25vw; }
  #index #main #sec02 .p02 {
    margin-bottom: 7.8125vw; }
#index #main #sec03 {
  background: #e8ebf3;
  padding: 10.9375vw 0 14.0625vw;
  text-align: center; }
  #index #main #sec03 h3 {
    margin-bottom: 3.90625vw; }
    #index #main #sec03 h3 img {
      width: 50vw; }
  #index #main #sec03 table {
    width: 100%; }
    #index #main #sec03 table tr th {
      color: #979797;
      line-height: 1em;
      padding-bottom: 1.5625vw; }
    #index #main #sec03 table tr td {
      padding-bottom: 3.90625vw; }
      #index #main #sec03 table tr td a {
        color: #1365b7;
        text-decoration: underline; }
    #index #main #sec03 table tr:last-of-type th,
    #index #main #sec03 table tr:last-of-type td {
      padding-bottom: 0; }
#index #main #sec04 {
  padding: 6.25vw 0 15.625vw;
  text-align: center; }
  #index #main #sec04 img {
    width: 84.375vw; }
  #index #main #sec04 #to-work {
    margin-bottom: 4.6875vw; }

/*========== BUSINESS ==========*/
#business #main .cont01 {
  background: #e8ebf3;
  padding: 6.25vw 0 12.5vw; }
#business #main .cont02 {
  margin-top: 9.375vw; }
#business #main section > div:last-of-type {
  padding-bottom: 15.625vw; }
#business #main .heading {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1em;
  margin-bottom: 3.125vw; }
#business #main table {
  border-top: 1px solid #b4b4b4;
  margin-bottom: 12.5vw;
  text-align: left;
  width: 100%; }
  #business #main table tr {
    border-bottom: 1px solid #b4b4b4; }
    #business #main table tr th {
      background: #dcdcdd;
      padding: 3.125vw 0 3.125vw 3.125vw;
      width: 31.25vw; }
    #business #main table tr td {
      background: #fff;
      padding: 3.125vw 3.125vw 3.125vw 5.46875vw; }
#business #main h5 {
  border-bottom: 0.3125vw solid #bfbfbf;
  border-top: 0.3125vw solid #bfbfbf;
  color: #000;
  font-size: 2.8rem;
  line-height: 1em;
  margin-bottom: 6.25vw;
  padding: 2.1875vw 0;
  text-align: center; }
#business #main h6 {
  border-bottom: 0.46875vw solid #1341a5;
  color: #1341a5;
  font-size: 2.8rem;
  margin-bottom: 4.6875vw; }
#business #main #sec-top {
  margin-bottom: 12.5vw;
  position: relative;
  text-align: center; }
  #business #main #sec-top h3 {
    margin-bottom: 9.375vw; }
    #business #main #sec-top h3 img {
      width: 43.90625vw; }
  #business #main #sec-top h4 {
    margin-bottom: 7.8125vw; }
    #business #main #sec-top h4 img {
      width: 81.09375vw; }
  #business #main #sec-top select {
    line-height: 13.28125vw;
    opacity: 0;
    position: relative;
    width: 100%;
    z-index: 1; }
  #business #main #sec-top .select {
    position: absolute;
    top: 62.5vw;
    width: 90.625vw;
    z-index: 0; }
    #business #main #sec-top .select li {
      background: url(../images/business/bg_business_select.png) 83.59375vw center/auto 2.96875vw no-repeat, #1341a5;
      border: 1px solid  #bfbfbf;
      box-sizing: border-box;
      color: #fff;
      font-size: 3rem;
      font-weight: bold;
      padding: 3.59375vw 0;
      text-align: center; }
#business #main #sec01 .cont01 .cont-s {
  background: url(../images/business/bg_business_line.png) bottom/auto 0.625vw repeat-x;
  margin-bottom: 7.8125vw;
  padding-bottom: 12.5vw; }
  #business #main #sec01 .cont01 .cont-s .p01 {
    margin-bottom: 7.8125vw; }
  #business #main #sec01 .cont01 .cont-s table {
    font-size: 2.2rem;
    margin-bottom: 6.25vw; }
  #business #main #sec01 .cont01 .cont-s li {
    text-align: center; }
    #business #main #sec01 .cont01 .cont-s li img {
      width: 71.875vw; }
    #business #main #sec01 .cont01 .cont-s li:first-of-type {
      margin-bottom: 4.6875vw; }
  #business #main #sec01 .cont01 .cont-s .img04 img {
    width: 65.625vw; }
#business #main #sec01 .cont01 .cont-s03 .p01,
#business #main #sec01 .cont01 .cont-s03 .p02 {
  line-height: 1em;
  text-align: center; }
#business #main #sec01 .cont01 .cont-s03 .p01 {
  margin-bottom: 6.25vw; }
#business #main #sec01 .cont01 .cont-s03 div {
  text-align: center; }
  #business #main #sec01 .cont01 .cont-s03 div img {
    margin-bottom: 3.125vw;
    width: 71.875vw; }
#business #main #sec01 .cont02 .p01 {
  margin-bottom: 7.8125vw; }
#business #main #sec01 .cont02 .img01 {
  margin-bottom: 6.25vw;
  text-align: center; }
  #business #main #sec01 .cont02 .img01 img {
    width: 71.875vw; }
#business #main #sec01 .cont02 ul {
  margin: 0 auto;
  width: 84.375vw; }
  #business #main #sec01 .cont02 ul li {
    display: inline-block;
    margin-bottom: 4.6875vw;
    text-align: center;
    width: 37.5vw; }
    #business #main #sec01 .cont02 ul li:nth-of-type(odd) {
      margin-right: 9.375vw; }
    #business #main #sec01 .cont02 ul li:last-of-type {
      margin-bottom: 0; }
    #business #main #sec01 .cont02 ul li img {
      margin-bottom: 1.5625vw; }
#business #main #sec02 .cont01 h6 span {
  letter-spacing: -3px; }
#business #main #sec02 .cont01 .p01 {
  font-weight: bold;
  margin-bottom: 6.25vw; }
  #business #main #sec02 .cont01 .p01 span {
    color: #e71f19; }
#business #main #sec02 .cont01 .p02 {
  margin-bottom: 6.25vw; }
#business #main #sec02 .cont01 .imges {
  margin: 0 auto 6.25vw;
  width: 71.875vw; }
  #business #main #sec02 .cont01 .imges li {
    text-align: center; }
    #business #main #sec02 .cont01 .imges li img {
      margin-bottom: 3.125vw; }
  #business #main #sec02 .cont01 .imges .img01 {
    margin-bottom: 4.6875vw; }
#business #main #sec02 .cont01 .img-box {
  border: 1px solid  #a1a1a1;
  padding: 4.6875vw 7.03125vw 7.03125vw; }
  #business #main #sec02 .cont01 .img-box li {
    text-align: center; }
    #business #main #sec02 .cont01 .img-box li img {
      margin-bottom: 3.90625vw; }
  #business #main #sec02 .cont01 .img-box .img03 {
    margin-bottom: 7.8125vw; }
#business #main #sec02 .cont02 .p01 {
  margin-bottom: 9.375vw; }
#business #main #sec02 .cont02 .cont-s .img {
  margin-bottom: 4.6875vw;
  text-align: center; }
  #business #main #sec02 .cont02 .cont-s .img img {
    width: 62.5vw; }
#business #main #sec02 .cont02 .cont-s p {
  margin-bottom: 4.6875vw;
  text-align: center; }
  #business #main #sec02 .cont02 .cont-s p span {
    font-weight: bold; }
#business #main #sec02 .cont02 ul li {
  display: inline-block;
  margin-bottom: 6.25vw;
  text-align: center;
  vertical-align: top;
  width: 42.1875vw; }
  #business #main #sec02 .cont02 ul li:nth-of-type(odd) {
    margin-right: 6.25vw; }
  #business #main #sec02 .cont02 ul li:nth-last-of-type(1), #business #main #sec02 .cont02 ul li:nth-last-of-type(2) {
    margin-bottom: 0; }
  #business #main #sec02 .cont02 ul li img {
    margin-bottom: 3.125vw; }
#business #main #sec03 .cont01 .p01 {
  margin-bottom: 9.375vw; }
#business #main #sec03 .cont01 .imges {
  margin: 0 auto 12.5vw;
  width: 71.875vw; }
  #business #main #sec03 .cont01 .imges li {
    display: inline-block;
    width: 33.75vw; }
  #business #main #sec03 .cont01 .imges .img01 {
    margin-right: 4.375vw; }
#business #main #sec03 .cont01 .cont-s:last-of-type table {
  margin-bottom: 0; }
#business #main #sec03 .cont01 .cont-s p,
#business #main #sec03 .cont01 .cont-s .img {
  text-align: center; }
#business #main #sec03 .cont01 .cont-s .img {
  margin-bottom: 4.6875vw; }
  #business #main #sec03 .cont01 .cont-s .img img {
    width: 62.5vw; }
#business #main #sec03 .cont01 .cont-s p {
  font-weight: bold;
  margin-bottom: 4.6875vw; }
#business #main #sec04 .cont01 .p01 {
  margin-bottom: 7.8125vw; }
#business #main #sec04 .cont01 table {
  font-size: 2.2rem; }
#business #main #sec04 .cont01 .imges {
  margin: 0 auto;
  width: 71.875vw; }
  #business #main #sec04 .cont01 .imges li {
    text-align: center; }
    #business #main #sec04 .cont01 .imges li img {
      margin-bottom: 3.125vw; }
  #business #main #sec04 .cont01 .imges .img01 {
    margin-bottom: 4.6875vw; }
#business #main #sec05 h3 {
  margin-bottom: 9.375vw;
  text-align: center; }
  #business #main #sec05 h3 img {
    width: 51.71875vw; }
#business #main #sec05 h4 {
  margin-bottom: 7.8125vw;
  text-align: center; }
  #business #main #sec05 h4 img {
    width: 39.375vw; }
#business #main #sec05 .p01 {
  margin-bottom: 7.8125vw; }
  #business #main #sec05 .p01 span {
    color: #1341a5;
    font-weight: bold; }
#business #main #sec05 #to-eco {
  margin-bottom: 12.5vw;
  text-align: center; }
  #business #main #sec05 #to-eco img {
    width: 70.3125vw; }
#business #main #sec05 .heading {
  margin-bottom: 3.125vw; }
  #business #main #sec05 .heading span {
    font-size: 2.4rem; }
#business #main #sec05 table {
  margin-bottom: 7.8125vw; }
#business #main #sec05 .img {
  text-align: center; }
  #business #main #sec05 .img img {
    width: 62.5vw; }

/*========== ECO ==========*/
#eco #sec01 h3 {
  margin-bottom: 9.375vw; }
#eco #sec01 .p01 {
  margin-bottom: 12.5vw; }
#eco #sec02 {
  background: #e8ebf3;
  letter-spacing: 0.15625vw;
  padding-bottom: 15.625vw;
  position: relative; }
  #eco #sec02 h4 {
    padding: 7.8125vw 0 6.25vw;
    text-align: center; }
    #eco #sec02 h4 img {
      width: 52.65625vw; }
  #eco #sec02 select {
    line-height: 12.5vw;
    opacity: 0;
    position: relative;
    width: 100%;
    z-index: 1; }
  #eco #sec02 .select {
    position: absolute;
    top: 148.90625vw;
    width: 90.625vw;
    z-index: 0; }
    #eco #sec02 .select li {
      background: url(../images/business/bg_business_select.png) 83.59375vw center/auto 2.96875vw no-repeat, #1341a5;
      border: 1px solid  #bfbfbf;
      box-sizing: border-box;
      color: #fff;
      font-size: 3rem;
      font-weight: bold;
      padding: 3.59375vw 0;
      text-align: center; }
      #eco #sec02 .select li span {
        font-size: 2.4rem; }
  #eco #sec02 h5 {
    margin-bottom: 2.34375vw;
    padding-left: 2.8125vw; }
  #eco #sec02 p {
    margin: 0 auto;
    width: 81.25vw; }
  #eco #sec02 .step01 {
    background: #fff;
    border-radius: 10px;
    padding: 4.6875vw 0 7.03125vw; }
    #eco #sec02 .step01 h5 img {
      width: 79.0625vw; }
    #eco #sec02 .step01 p {
      margin-bottom: 5.46875vw;
      width: 81.25vw; }
    #eco #sec02 .step01 .img01 {
      text-align: center; }
      #eco #sec02 .step01 .img01 img {
        width: 56.5625vw; }
  #eco #sec02 #next-step {
    padding: 6.25vw 0;
    text-align: center; }
    #eco #sec02 #next-step img {
      width: 56.25vw; }
  #eco #sec02 .arrow {
    padding: 0.78125vw 0 1.5625vw;
    text-align: center; }
    #eco #sec02 .arrow img {
      width: 10vw; }
  #eco #sec02 .ttl {
    font-size: 2.8rem;
    font-weight: bold;
    text-align: center; }
  #eco #sec02 #flow01 {
    color: #fff; }
    #eco #sec02 #flow01 .ttl {
      line-height: 1em;
      padding: 3.90625vw 0; }
    #eco #sec02 #flow01 .cont01 {
      background: url(../images/eco/bg_eco01.png) top center/contain no-repeat;
      padding-bottom: 5.78125vw; }
      #eco #sec02 #flow01 .cont01 .step02 {
        padding: 4.375vw 0 15.625vw; }
        #eco #sec02 #flow01 .cont01 .step02 h5 img {
          width: 42.34375vw; }
        #eco #sec02 #flow01 .cont01 .step02 .p01 {
          margin-bottom: 3.90625vw; }
        #eco #sec02 #flow01 .cont01 .step02 .img01 {
          text-align: center; }
          #eco #sec02 #flow01 .cont01 .step02 .img01 img {
            width: 57.8125vw; }
      #eco #sec02 #flow01 .cont01 .step03 h5 img {
        width: 67.34375vw; }
      #eco #sec02 #flow01 .cont01 .step03 .p02 {
        margin-bottom: 4.6875vw; }
      #eco #sec02 #flow01 .cont01 .step03 .img02 {
        margin-bottom: 3.125vw;
        text-align: center; }
        #eco #sec02 #flow01 .cont01 .step03 .img02 img {
          width: 57.8125vw; }
      #eco #sec02 #flow01 .cont01 .step03 .p03 {
        text-align: center; }
    #eco #sec02 #flow01 .cont02 {
      background: url(../images/eco/bg_eco02.png) top center/contain no-repeat;
      padding: 15.625vw 0 7.03125vw; }
      #eco #sec02 #flow01 .cont02 .step04 {
        margin-bottom: 14.0625vw; }
        #eco #sec02 #flow01 .cont02 .step04 .cont-s {
          float: left;
          width: 73.4375vw; }
          #eco #sec02 #flow01 .cont02 .step04 .cont-s h5 img {
            width: 67.03125vw; }
          #eco #sec02 #flow01 .cont02 .step04 .cont-s p {
            width: 62.5vw; }
            #eco #sec02 #flow01 .cont02 .step04 .cont-s p span {
              font-weight: bold; }
      #eco #sec02 #flow01 .cont02 .step05 .cont-s {
        float: right;
        width: 73.4375vw; }
        #eco #sec02 #flow01 .cont02 .step05 .cont-s h5 img {
          width: 67.03125vw; }
        #eco #sec02 #flow01 .cont02 .step05 .cont-s p {
          width: 62.5vw; }
  #eco #sec02 #flow02 .arrow {
    padding-top: 6.71875vw; }
  #eco #sec02 #flow02 .cont01 {
    background: url(../images/eco/bg_eco03.png) top center/contain no-repeat;
    color: #fff;
    margin-bottom: 1.5625vw;
    padding-bottom: 5.78125vw; }
    #eco #sec02 #flow02 .cont01 .step02 {
      margin-bottom: 3.125vw;
      padding-bottom: 4.84375vw; }
      #eco #sec02 #flow02 .cont01 .step02 .ttl {
        line-height: 1.1em;
        margin-bottom: 3.90625vw;
        padding: 1.25vw 0 1.71875vw; }
        #eco #sec02 #flow02 .cont01 .step02 .ttl span {
          font-size: 2.4rem; }
      #eco #sec02 #flow02 .cont01 .step02 h5 img {
        width: 51.40625vw; }
      #eco #sec02 #flow02 .cont01 .step02 .p01 {
        margin-bottom: 5.78125vw; }
      #eco #sec02 #flow02 .cont01 .step02 .img {
        margin: 0 auto 3.125vw;
        width: 72.1875vw; }
        #eco #sec02 #flow02 .cont01 .step02 .img img {
          margin-left: 2.34375vw;
          width: 100%; }
    #eco #sec02 #flow02 .cont01 .step03 h5 img {
      width: 67.34375vw; }
    #eco #sec02 #flow02 .cont01 .step03 .p02 {
      margin-bottom: 4.6875vw; }
    #eco #sec02 #flow02 .cont01 .step03 .img02 {
      margin-bottom: 3.125vw;
      text-align: center; }
      #eco #sec02 #flow02 .cont01 .step03 .img02 img {
        width: 57.8125vw; }
    #eco #sec02 #flow02 .cont01 .step03 .p03 {
      text-align: center; }
  #eco #sec02 #flow02 .cont02 {
    background: url(../images/eco/bg_eco02.png) top center/contain no-repeat;
    color: #fff;
    margin-bottom: 15.625vw;
    padding: 15.625vw 0 7.03125vw; }
    #eco #sec02 #flow02 .cont02 .step04 {
      margin-bottom: 14.0625vw; }
      #eco #sec02 #flow02 .cont02 .step04 .cont-s {
        float: left;
        width: 73.4375vw; }
        #eco #sec02 #flow02 .cont02 .step04 .cont-s h5 img {
          width: 67.03125vw; }
        #eco #sec02 #flow02 .cont02 .step04 .cont-s p {
          width: 62.5vw; }
          #eco #sec02 #flow02 .cont02 .step04 .cont-s p span {
            font-weight: bold; }
    #eco #sec02 #flow02 .cont02 .step05 .cont-s {
      float: right;
      width: 73.4375vw; }
      #eco #sec02 #flow02 .cont02 .step05 .cont-s h5 img {
        width: 67.03125vw; }
      #eco #sec02 #flow02 .cont02 .step05 .cont-s p {
        width: 62.5vw; }
  #eco #sec02 #flow02 #merit h5 {
    padding: 0; }
  #eco #sec02 #flow02 #merit .p01 {
    width: 100%; }

/*========== WORK ==========*/
#work #main #sec01 {
  padding-bottom: 15.625vw; }
  #work #main #sec01 h3 {
    margin-bottom: 9.375vw;
    text-align: center; }
    #work #main #sec01 h3 img {
      width: 39.21875vw; }
  #work #main #sec01 table {
    margin-bottom: 6.25vw; }
    #work #main #sec01 table:last-of-type {
      margin-bottom: 0; }
    #work #main #sec01 table tr th,
    #work #main #sec01 table tr td {
      word-break: break-all; }
    #work #main #sec01 table tr th {
      text-align: left; }
    #work #main #sec01 table tr .name {
      background: #00b6ca;
      border-bottom: 0.625vw solid #fff;
      border-radius: 5px 5px 0 0;
      color: #fff;
      line-height: 1em;
      padding: 2.8125vw 4.6875vw; }
    #work #main #sec01 table tr .type {
      font-weight: normal;
      padding-left: 4.6875vw;
      vertical-align: top;
      width: 27.34375vw; }
    #work #main #sec01 table tr .t-cont {
      padding-right: 4.6875vw; }
    #work #main #sec01 table tr:nth-of-type(2) {
      background: #e8ebf3; }
      #work #main #sec01 table tr:nth-of-type(2) th,
      #work #main #sec01 table tr:nth-of-type(2) td {
        padding-top: 3.125vw; }
    #work #main #sec01 table tr:last-of-type {
      background: #e8ebf3; }
      #work #main #sec01 table tr:last-of-type th,
      #work #main #sec01 table tr:last-of-type td {
        padding-bottom: 3.125vw; }
      #work #main #sec01 table tr:last-of-type th {
        border-radius: 0 0 0 5px; }
      #work #main #sec01 table tr:last-of-type td {
        border-radius: 0 0 5px 0; }

/*========== COMPANY ==========*/
#company #main h3 {
  margin-bottom: 9.375vw;
  text-align: center; }
#company #main #sec01 {
  margin-bottom: 12.5vw; }
  #company #main #sec01 h3 img {
    width: 25.78125vw; }
  #company #main #sec01 table {
    width: 100%; }
    #company #main #sec01 table tr th {
      background: #f1f1f1;
      font-size: 2.2rem;
      text-align: left;
      padding: 1.875vw 4.6875vw; }
    #company #main #sec01 table tr td {
      padding: 1.875vw 4.6875vw 3.4375vw; }
    #company #main #sec01 table tr:last-of-type td {
      padding-bottom: 0; }
#company #main #sec02 {
  margin-bottom: 12.5vw; }
  #company #main #sec02 h3 img {
    width: 32.03125vw; }
  #company #main #sec02 ul {
    border: 0.625vw solid #a1a1a1;
    box-sizing: border-box;
    display: block;
    height: 44.375vw;
    margin: 0 auto 6vw;
    overflow-y: scroll;
    padding: 2.96875vw;
    width: 71.875vw; }
    #company #main #sec02 ul::-webkit-scrollbar {
      width: 2.65625vw; }
    #company #main #sec02 ul::-webkit-scrollbar-thumb {
      background: #1341a5; }
    #company #main #sec02 ul::-webkit-scrollbar-track-piece:start {
      background: #f1f1f1; }
    #company #main #sec02 ul::-webkit-scrollbar-track-piece:end {
      background: #f1f1f1; }
    #company #main #sec02 ul li {
      display: block;
      margin-bottom: 0.625vw; }
#company #main #sec03 {
  margin-bottom: 15.625vw; }
  #company #main #sec03 h3 img {
    width: 42.65625vw; }
  #company #main #sec03 .cont-s .gmap {
    margin-bottom: 1.5625vw; }
    #company #main #sec03 .cont-s .gmap iframe {
      border: 0.625vw solid #567abd;
      box-sizing: border-box;
      height: 100%;
      width: 100%; }
  #company #main #sec03 .cont-s h4 {
    font-size: 2.8rem;
    margin-bottom: 1.5625vw;
    padding-left: 4.6875vw; }
    #company #main #sec03 .cont-s h4 span {
      color: #567abd; }
  #company #main #sec03 .cont-s p {
    padding-left: 4.6875vw; }
  #company #main #sec03 .cont-s:first-of-type {
    margin-bottom: 9.375vw; }

/*========== RECRUIT ==========*/
#recruit #main h3 {
  margin-bottom: 9.375vw;
  text-align: center; }
#recruit #main #sec01 {
  margin-bottom: 12.5vw; }
  #recruit #main #sec01 h3 img {
    width: 26.09375vw; }
  #recruit #main #sec01 table {
    width: 100%; }
    #recruit #main #sec01 table tr th {
      background: #f1f1f1;
      font-size: 2.2rem;
      text-align: left;
      padding: 1.875vw 4.6875vw; }
    #recruit #main #sec01 table tr td {
      padding: 1.875vw 4.6875vw 3.4375vw; }
    #recruit #main #sec01 table tr:last-of-type td {
      padding-bottom: 0; }
#recruit #main #sec02 {
  margin-bottom: 15.625vw; }
  #recruit #main #sec02 h3 img {
    width: 61.875vw; }
  #recruit #main #sec02 .p01 {
    margin-bottom: 9.375vw;
    text-align: center; }
  #recruit #main #sec02 .imges {
    margin: 0 auto;
    width: 71.875vw; }
    #recruit #main #sec02 .imges .img01 {
      margin-bottom: 4.6875vw; }

/*========== CONTACT ==========*/
#contact #main #sec01 h3 {
  margin-bottom: 9.375vw;
  text-align: center; }
  #contact #main #sec01 h3 img {
    width: 63.125vw; }
#contact #main #sec01 #p01 {
  margin-bottom: 6.25vw; }
#contact #main #sec01 #p02 {
  margin-bottom: 12.5vw; }
#contact #main #sec01 #form-area {
  background: #e8ebf3;
  padding: 4.6875vw 0 15.625vw; }
#contact #main #sec01 table tr th {
  background: #e8ebf3;
  color: #0765a1;
  font-size: 2.2rem;
  text-align: left;
  padding: 1.875vw 0; }
  #contact #main #sec01 table tr th .hiss,
  #contact #main #sec01 table tr th .ninni {
    border-radius: 0.78125vw;
    color: #fff;
    font-size: 2rem;
    margin-right: 1.5625vw;
    padding: 0.46875vw 1.5625vw; }
  #contact #main #sec01 table tr th .hiss {
    background: #0765a1; }
  #contact #main #sec01 table tr th .ninni {
    background: #a6bfcf; }
#contact #main #sec01 table tr td {
  padding: 1.875vw 0 3.4375vw; }
  #contact #main #sec01 table tr td input,
  #contact #main #sec01 table tr td select,
  #contact #main #sec01 table tr td textarea {
    border: 1px solid #6bb0dd;
    border-radius: 5px;
    box-sizing: border-box;
    font-size: 2.4rem;
    line-height: 1.1em;
    padding: 3.125vw 4.6875vw 2.34375vw;
    width: 100%; }
    #contact #main #sec01 table tr td input:focus,
    #contact #main #sec01 table tr td select:focus,
    #contact #main #sec01 table tr td textarea:focus {
      border: 1px solid #00b6ca;
      box-shadow: 0 0 0.78125vw 0.15625vw #00b6ca;
      outline: 0; }
  #contact #main #sec01 table tr td select {
    background: #fff;
    width: 30%; }
  #contact #main #sec01 table tr td input[type="radio"],
  #contact #main #sec01 table tr td input[type="submit"] {
    display: none; }
  #contact #main #sec01 table tr td label {
    cursor: pointer;
    display: block;
    position: relative; }
  #contact #main #sec01 table tr td #radio-box {
    margin: 3.125vw 0 6.25vw; }
    #contact #main #sec01 table tr td #radio-box input[type="radio"] + label {
      color: #0765a1;
      margin-left: 8.59375vw; }
      #contact #main #sec01 table tr td #radio-box input[type="radio"] + label:first-of-type {
        margin-bottom: 3.125vw; }
      #contact #main #sec01 table tr td #radio-box input[type="radio"] + label:before {
        background: #fff;
        border-radius: 15.625vw;
        content: '';
        display: inline-block;
        height: 3.90625vw;
        left: -5vw;
        position: absolute;
        top: 0.54688vw;
        width: 3.90625vw; }
    #contact #main #sec01 table tr td #radio-box input[type="radio"]:checked + label:after {
      background: #00b6ca;
      border-radius: 15.625vw;
      box-shadow: 0 0 0.78125vw 0 #00b6ca;
      content: '';
      display: inline-block;
      height: 1.71875vw;
      left: -3.90625vw;
      position: absolute;
      top: 1.5625vw;
      width: 1.71875vw; }
  #contact #main #sec01 table tr td ul li {
    margin-bottom: 1.5625vw; }
    #contact #main #sec01 table tr td ul li:last-of-type {
      margin-bottom: 0; }
#contact #main #sec01 table tr:last-of-type td {
  padding-bottom: 0; }
#contact #main #sec01 .submit {
  margin-top: 12.5vw; }
  #contact #main #sec01 .submit input {
    display: none; }
  #contact #main #sec01 .submit label {
    background: #70767c;
    border-radius: 10px;
    color: #fff;
    display: block;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1em;
    margin: 0 auto;
    padding: 5.625vw 0 4.6875vw;
    text-align: center;
    width: 62.5vw; }

/*========== SUBMIT ==========*/
#submit #main #sec01 h3 {
  margin-bottom: 9.375vw;
  text-align: center; }
  #submit #main #sec01 h3 img {
    width: 31.5625vw; }
#submit #main #sec01 #form-area {
  background: #e8ebf3;
  padding: 4.6875vw 0 15.625vw; }
#submit #main #sec01 .henshin {
  margin-bottom: 15.625vw; }
  #submit #main #sec01 .henshin h3 img {
    width: 25.625vw; }
#submit #main #sec01 table tr:last-of-type td {
  padding-bottom: 0; }
#submit #main #sec01 table tr th {
  background: #e8ebf3;
  color: #0765a1;
  font-size: 2.2rem;
  text-align: left;
  padding: 1.875vw 0; }
  #submit #main #sec01 table tr th .hiss,
  #submit #main #sec01 table tr th .ninni {
    border-radius: 0.78125vw;
    color: #fff;
    font-size: 2rem;
    margin-right: 1.5625vw;
    padding: 0.46875vw 1.5625vw; }
  #submit #main #sec01 table tr th .hiss {
    background: #0765a1; }
  #submit #main #sec01 table tr th .ninni {
    background: #a6bfcf; }
#submit #main #sec01 table tr td {
  padding: 1.875vw 4.6875vw 3.4375vw; }
  #submit #main #sec01 table tr td input,
  #submit #main #sec01 table tr td select,
  #submit #main #sec01 table tr td textarea {
    border: 1px solid #6bb0dd;
    border-radius: 5px;
    box-sizing: border-box;
    font-size: 2.4rem;
    line-height: 1.1em;
    padding: 3.125vw 4.6875vw 2.34375vw;
    width: 100%; }
    #submit #main #sec01 table tr td input:focus,
    #submit #main #sec01 table tr td select:focus,
    #submit #main #sec01 table tr td textarea:focus {
      border: 1px solid #00b6ca;
      box-shadow: 0 0 0.78125vw 0.15625vw #00b6ca;
      outline: 0; }
#submit #main #sec01 .btns {
  margin-top: 12.5vw; }
  #submit #main #sec01 .btns input {
    display: none; }
  #submit #main #sec01 .btns label {
    background: #70767c;
    border-radius: 10px;
    color: #fff;
    display: block;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1em;
    margin: 0 auto;
    padding: 5.625vw 0 4.6875vw;
    text-align: center;
    width: 62.5vw; }
  #submit #main #sec01 .btns #btns-li01 {
    margin-bottom: 9.0625vw; }


/*========== 2025/09/05 メール依頼分 ==========*/

/* -----テンプレート----- */
.sp-h-sdgs-btn {
    display: flex !important;
    align-items: center;
    background: #fff;
    padding: 8px;
    margin: 10px 30px 30px;
    justify-content: center;
}

.sp-h-sdgs-btn-inner {
    margin-right: 10px;
}

.sp-h-sdgs-btn-txt_01 {
    font-size: 15px;
    color: #0044cc;
    font-weight: bold;
    margin-bottom: 4px;
}

.sp-h-sdgs-btn-txt_02 {
    font-size: 12px;
    color: #000;
    margin: 0;
}

.sp-h-sdgs-btn-txt_02 strong {
    font-weight: bold;
}

.sp-h-sdgs-btn img {
    width: 40px;
    height: auto;
    display: block;
}

/* -----SDGsページ----- */

.sdgs-unit {
    margin-top: -50px;
    padding-top: 70px;
}

.sdgs-block {
    padding: 0 0 50px;
}

.sdgs-item {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.sdgs-ttl {
    border-bottom: 3px solid #1341a5;
    color: #1341a5;
    font-size: 19px;
    margin-bottom: 29px;
    padding-bottom: 13px;
    font-weight: bold;
}

.sdgs-ttl span {
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    color: #777;
}

.sdgs-txt {
    font-size: 16px;
    line-height: 1.8;
}

.sdgs-element {
    display: flex;
    align-items: center;
    justify-content: center;
}

.sdgs-caption {
    font-size: 20px;
    color: #1341a5;
    font-weight: bold;
}

.sdgs-img {
    display: block;
    width: 85px;
}

.sdgs-list {
    margin: 0 15px;
    display: flex;
    flex-direction: column;
    gap: 60px 0;
}

.sdgs-ttl-wrap {
    display: flex;
    margin-bottom: 15px;
    flex-direction: column;
    align-items: flex-start;
}

.sdgs-sub-ttl {
    font-size: 17px;
    padding-bottom: 5px;
    margin-bottom: 15px;
    font-weight: bold;
    border-bottom: 1px solid #444;
    width: 100%;
}

.sdgs-icon-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.sdgs-icon-list li .sdgs-icon-img {
    width: 70px;
    height: 70px;
}