/* ====================================================
reset style
==================================================== */
@import url("https://fonts.googleapis.com/css?family=Roboto:400,400i,500,500i,700,700i,900,900i&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&display=swap");
html {
  overflow-y: scroll;
  overflow-x: hidden;
  font-size: 10px;
  /* Base font size, change to 14px or 16px if needed */
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

fieldset, img {
  border: 0;
}

img {
  vertical-align: middle;
  max-width: 100%;
}

address, caption, cite, code, dfn, var {
  font-style: normal;
  font-weight: normal;
}

li {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

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

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

/*to enable resizing for IE*/
input, textarea, select {
  *font-size: 100%;
}

/*because legend doesn't inherit in IE */
legend {
  color: #000;
}

del, ins {
  text-decoration: none;
}

main {
  display: block;
}

section {
  position: relative;
}

/* ====================================================
Font
==================================================== */
/* ====================================================
Media Quary
==================================================== */
@media screen and (min-width: 769px) {
  .mbpc-1 {
    margin-bottom: 1px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-1 {
    margin-bottom: 1px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-2 {
    margin-bottom: 2px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-2 {
    margin-bottom: 2px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-3 {
    margin-bottom: 3px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-3 {
    margin-bottom: 3px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-4 {
    margin-bottom: 4px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-4 {
    margin-bottom: 4px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-5 {
    margin-bottom: 5px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-5 {
    margin-bottom: 5px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-6 {
    margin-bottom: 6px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-6 {
    margin-bottom: 6px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-7 {
    margin-bottom: 7px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-7 {
    margin-bottom: 7px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-8 {
    margin-bottom: 8px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-8 {
    margin-bottom: 8px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-9 {
    margin-bottom: 9px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-9 {
    margin-bottom: 9px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-10 {
    margin-bottom: 10px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-10 {
    margin-bottom: 10px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-11 {
    margin-bottom: 11px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-11 {
    margin-bottom: 11px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-12 {
    margin-bottom: 12px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-12 {
    margin-bottom: 12px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-13 {
    margin-bottom: 13px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-13 {
    margin-bottom: 13px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-14 {
    margin-bottom: 14px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-14 {
    margin-bottom: 14px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-15 {
    margin-bottom: 15px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-15 {
    margin-bottom: 15px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-16 {
    margin-bottom: 16px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-16 {
    margin-bottom: 16px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-17 {
    margin-bottom: 17px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-17 {
    margin-bottom: 17px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-18 {
    margin-bottom: 18px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-18 {
    margin-bottom: 18px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-19 {
    margin-bottom: 19px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-19 {
    margin-bottom: 19px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-20 {
    margin-bottom: 20px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-20 {
    margin-bottom: 20px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-21 {
    margin-bottom: 21px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-21 {
    margin-bottom: 21px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-22 {
    margin-bottom: 22px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-22 {
    margin-bottom: 22px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-23 {
    margin-bottom: 23px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-23 {
    margin-bottom: 23px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-24 {
    margin-bottom: 24px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-24 {
    margin-bottom: 24px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-25 {
    margin-bottom: 25px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-25 {
    margin-bottom: 25px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-26 {
    margin-bottom: 26px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-26 {
    margin-bottom: 26px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-27 {
    margin-bottom: 27px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-27 {
    margin-bottom: 27px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-28 {
    margin-bottom: 28px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-28 {
    margin-bottom: 28px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-29 {
    margin-bottom: 29px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-29 {
    margin-bottom: 29px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-30 {
    margin-bottom: 30px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-30 {
    margin-bottom: 30px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-31 {
    margin-bottom: 31px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-31 {
    margin-bottom: 31px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-32 {
    margin-bottom: 32px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-32 {
    margin-bottom: 32px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-33 {
    margin-bottom: 33px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-33 {
    margin-bottom: 33px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-34 {
    margin-bottom: 34px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-34 {
    margin-bottom: 34px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-35 {
    margin-bottom: 35px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-35 {
    margin-bottom: 35px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-36 {
    margin-bottom: 36px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-36 {
    margin-bottom: 36px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-37 {
    margin-bottom: 37px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-37 {
    margin-bottom: 37px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-38 {
    margin-bottom: 38px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-38 {
    margin-bottom: 38px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-39 {
    margin-bottom: 39px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-39 {
    margin-bottom: 39px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-40 {
    margin-bottom: 40px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-40 {
    margin-bottom: 40px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-41 {
    margin-bottom: 41px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-41 {
    margin-bottom: 41px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-42 {
    margin-bottom: 42px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-42 {
    margin-bottom: 42px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-43 {
    margin-bottom: 43px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-43 {
    margin-bottom: 43px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-44 {
    margin-bottom: 44px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-44 {
    margin-bottom: 44px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-45 {
    margin-bottom: 45px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-45 {
    margin-bottom: 45px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-46 {
    margin-bottom: 46px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-46 {
    margin-bottom: 46px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-47 {
    margin-bottom: 47px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-47 {
    margin-bottom: 47px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-48 {
    margin-bottom: 48px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-48 {
    margin-bottom: 48px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-49 {
    margin-bottom: 49px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-49 {
    margin-bottom: 49px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-50 {
    margin-bottom: 50px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-50 {
    margin-bottom: 50px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-51 {
    margin-bottom: 51px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-51 {
    margin-bottom: 51px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-52 {
    margin-bottom: 52px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-52 {
    margin-bottom: 52px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-53 {
    margin-bottom: 53px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-53 {
    margin-bottom: 53px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-54 {
    margin-bottom: 54px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-54 {
    margin-bottom: 54px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-55 {
    margin-bottom: 55px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-55 {
    margin-bottom: 55px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-56 {
    margin-bottom: 56px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-56 {
    margin-bottom: 56px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-57 {
    margin-bottom: 57px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-57 {
    margin-bottom: 57px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-58 {
    margin-bottom: 58px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-58 {
    margin-bottom: 58px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-59 {
    margin-bottom: 59px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-59 {
    margin-bottom: 59px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-60 {
    margin-bottom: 60px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-60 {
    margin-bottom: 60px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-61 {
    margin-bottom: 61px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-61 {
    margin-bottom: 61px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-62 {
    margin-bottom: 62px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-62 {
    margin-bottom: 62px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-63 {
    margin-bottom: 63px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-63 {
    margin-bottom: 63px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-64 {
    margin-bottom: 64px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-64 {
    margin-bottom: 64px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-65 {
    margin-bottom: 65px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-65 {
    margin-bottom: 65px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-66 {
    margin-bottom: 66px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-66 {
    margin-bottom: 66px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-67 {
    margin-bottom: 67px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-67 {
    margin-bottom: 67px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-68 {
    margin-bottom: 68px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-68 {
    margin-bottom: 68px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-69 {
    margin-bottom: 69px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-69 {
    margin-bottom: 69px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-70 {
    margin-bottom: 70px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-70 {
    margin-bottom: 70px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-71 {
    margin-bottom: 71px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-71 {
    margin-bottom: 71px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-72 {
    margin-bottom: 72px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-72 {
    margin-bottom: 72px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-73 {
    margin-bottom: 73px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-73 {
    margin-bottom: 73px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-74 {
    margin-bottom: 74px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-74 {
    margin-bottom: 74px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-75 {
    margin-bottom: 75px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-75 {
    margin-bottom: 75px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-76 {
    margin-bottom: 76px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-76 {
    margin-bottom: 76px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-77 {
    margin-bottom: 77px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-77 {
    margin-bottom: 77px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-78 {
    margin-bottom: 78px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-78 {
    margin-bottom: 78px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-79 {
    margin-bottom: 79px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-79 {
    margin-bottom: 79px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-80 {
    margin-bottom: 80px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-80 {
    margin-bottom: 80px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-81 {
    margin-bottom: 81px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-81 {
    margin-bottom: 81px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-82 {
    margin-bottom: 82px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-82 {
    margin-bottom: 82px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-83 {
    margin-bottom: 83px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-83 {
    margin-bottom: 83px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-84 {
    margin-bottom: 84px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-84 {
    margin-bottom: 84px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-85 {
    margin-bottom: 85px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-85 {
    margin-bottom: 85px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-86 {
    margin-bottom: 86px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-86 {
    margin-bottom: 86px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-87 {
    margin-bottom: 87px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-87 {
    margin-bottom: 87px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-88 {
    margin-bottom: 88px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-88 {
    margin-bottom: 88px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-89 {
    margin-bottom: 89px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-89 {
    margin-bottom: 89px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-90 {
    margin-bottom: 90px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-90 {
    margin-bottom: 90px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-91 {
    margin-bottom: 91px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-91 {
    margin-bottom: 91px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-92 {
    margin-bottom: 92px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-92 {
    margin-bottom: 92px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-93 {
    margin-bottom: 93px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-93 {
    margin-bottom: 93px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-94 {
    margin-bottom: 94px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-94 {
    margin-bottom: 94px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-95 {
    margin-bottom: 95px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-95 {
    margin-bottom: 95px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-96 {
    margin-bottom: 96px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-96 {
    margin-bottom: 96px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-97 {
    margin-bottom: 97px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-97 {
    margin-bottom: 97px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-98 {
    margin-bottom: 98px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-98 {
    margin-bottom: 98px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-99 {
    margin-bottom: 99px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-99 {
    margin-bottom: 99px !important;
  }
}

@media screen and (min-width: 769px) {
  .mbpc-100 {
    margin-bottom: 100px !important;
  }
}

@media screen and (max-width: 768px) {
  .mbsp-100 {
    margin-bottom: 100px !important;
  }
}

body {
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 100%;
  -webkit-font-smoothing: antialiased;
  line-height: 1.4;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: #fff;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  z-index: 2;
}

@media screen and (max-width: 1024px) {
  .header {
    height: auto;
  }
}

.header__inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

.header__inner .nav-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background: #fff;
}

@media screen and (max-width: 1024px) {
  .header__inner .nav-menu {
    display: block;
    position: fixed;
    top: 35px;
    left: 0;
    right: 0;
    height: calc(100vh - 35px);
    overflow-y: auto;
    padding: 10px 0 30px;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
  }
  .header__inner .nav-menu.active {
    opacity: 1;
    pointer-events: auto;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
  }
}

.header__inner .nav-menu .show-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: calc(100% - 240px);
}

@media screen and (max-width: 1024px) {
  .header__inner .nav-menu .show-menu {
    display: block;
    width: 100%;
    margin-bottom: 30px;
  }
}

.header__inner .nav-menu .show-menu > .item {
  padding: 0;
  position: relative;
  margin-right: 33px;
}

@media screen and (max-width: 1024px) {
  .header__inner .nav-menu .show-menu > .item {
    border-bottom: 1px solid #ccc;
    margin-right: 0;
  }
}

.header__inner .nav-menu .show-menu > .item > a {
  display: block;
  font-size: 18px;
  font-size: 1.8rem;
  padding: 0 0;
}

@media screen and (max-width: 1024px) {
  .header__inner .nav-menu .show-menu > .item > a {
    text-align: center;
    position: relative;
    padding: 10px;
    font-size: 15px;
    font-size: 1.5rem;
  }
}

.header__inner .nav-menu .show-menu > .item > a img {
  margin: 0 7px 0 0;
  position: relative;
  top: -2px;
}

.header__inner .nav-menu .show-menu > .item--logo {
  width: 100%;
  padding: 20px;
}

@media screen and (max-width: 1024px) {
  .header__inner .nav-menu .show-menu > .item--logo {
    display: none;
  }
}

.header__inner .nav-menu .show-menu > .item--logo img {
  margin: 0;
}

.header__inner .nav-menu .list-contact {
  width: 100%;
  max-width: 240px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  margin: 0 auto;
}

.header__inner .nav-menu .list-contact .item {
  width: 50%;
  text-align: center;
  font-size: 16px;
  font-size: 1.6rem;
  color: #fff;
}

@media screen and (max-width: 1024px) {
  .header__inner .nav-menu .list-contact .item {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

.header__inner .nav-menu .list-contact .item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  height: 100%;
  min-height: 120px;
  background: #1a50ca;
  padding-top: 3px;
}

@media screen and (max-width: 1024px) {
  .header__inner .nav-menu .list-contact {
	width:120px;
	margin:0 auto !important;
  }
  .header__inner .nav-menu .list-contact .item a {
	width:120px;
    min-height: 90px;
	margin:0 auto !important;
  }
}

.header__inner .nav-menu .list-contact .item a > span span {
  display: block;
  width: 100%;
  margin-top: 6px;
}

.header__inner .nav-menu .list-contact .item--email a {
  background: #f49000;
}

.header__inner .mobile-icon {
  width: 45px;
  height: 45px;
  position: absolute;
  right: 0;
  top: 0;
  cursor: pointer;
  z-index: 12;
  background: #1a50ca;
  display: none;
  color: #fff;
  padding-top: 4px;
}

@media screen and (max-width: 1024px) {
  .header__inner .mobile-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
	
	.header__inner .nav-menu .list-contact .item--email a {
	  margin:0 auto;
	}

}



.header__inner .mobile-icon__wrap {
  position: relative;
  width: 22px;
  height: 14px;
}

.header__inner .mobile-icon__wrap span {
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  font-size: 0;
  border-radius: 3px;
  top: 0;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.header__inner .mobile-icon__wrap span:nth-of-type(2) {
  top: 46%;
}

.header__inner .mobile-icon__wrap span:last-child {
  top: auto;
  bottom: 0;
}

.header__inner .mobile-icon__txt {
  font-size: 9px;
  font-size: 0.9rem;
  margin-top: -6px;
}

.header__inner .mobile-icon.mobile-close .mobile-icon__wrap span {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.header__inner .mobile-icon.mobile-close .mobile-icon__wrap span:first-child {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 50%;
}

.header__inner .mobile-icon.mobile-close .mobile-icon__wrap span:nth-of-type(2) {
  opacity: 0;
}

.header__inner .mobile-icon.mobile-close .mobile-icon__wrap span:last-child {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 50%;
}

.header__logo {
  text-align: center;
  padding: 9px;
}

@media screen and (max-width: 1024px) {
  .header__logo {
    padding: 14px 9px;
  }
}

.contact__inner {
  border-top: 1px solid #cccccc;
  padding: 47px 0 20px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .contact__inner {
    padding: 30px 0;
  }
}

.contact__ttl {
  margin-bottom: 38px;
}

@media screen and (max-width: 768px) {
  .contact__ttl {
    margin-bottom: 30px;
  }
}

.contact-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 128px;
}

@media screen and (max-width: 768px) {
  .contact-list {
    display: block;
    margin: 0 auto 30px;
  }
}

.contact-list__item {
  width: calc(33.33% - 10px);
  margin-right: 15px;
}

@media screen and (max-width: 768px) {
  .contact-list__item {
    width: 100%;
    max-width: 260px;
    margin: 0 auto 6px;
  }
}

@media screen and (min-width: 769px) {
  .contact-list__item:last-child {
    margin-right: 0;
  }
}

.footer {
  background: url("../img/common/bg-footer.jpg") no-repeat;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .footer {
    background: url("../img/common/bg-footer-sp.jpg") no-repeat;
    background-size: cover;
  }
}

.footer__wrap {
  width: 95%;
  max-width: 644px;
  margin: 0 auto;
  padding: 27px 0 23px;
}

@media screen and (max-width: 768px) {
  .footer__wrap {
    font-size: 11px;
    font-size: 1.1rem;
  }
}

.footer__logo {
  display: inline-block;
  margin-bottom: 22px;
}

@media screen and (max-width: 768px) {
  .footer__logo img {
    width: 200px;
  }
}

.footer__txt {
  margin-bottom: 7px;
}

.footer__btn {
  width: 100%;
  max-width: 280px;
  display: block;
  margin: 0 auto 42px;
  background: #f49000;
  color: white;
  padding: 3px 10px 5px 20px;
  font-weight: bold;
}

.footer__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 40px;
}

.footer__flex .footer-list {
  width: 80%;
}

@media screen and (max-width: 768px) {
  .footer__flex .footer-list {
    width: 100%;
  }
}

.footer__flex .footer-list--style01 {
  width: 20%;
}

@media screen and (max-width: 768px) {
  .footer__flex .footer-list--style01 {
    width: 100%;
  }
}

.footer-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.footer-list__item {
  width: 50.8%;
  margin-bottom: 13px;
}

@media screen and (max-width: 768px) {
  .footer-list__item {
    width: 50% !important;
  }
  .footer-list__item:last-child {
    margin-left: auto;
  }
}

.footer-list__item:nth-child(even) {
  width: 49.2%;
}

@media screen and (max-width: 768px) {
  .footer-list--style01 {
    display: none;
  }
}

.footer-list--style01 .footer-list__item {
  width: 100%;
}

.footer .copyright {
  font-size: 14px;
  font-size: 1.4rem;
  text-align: center;
  background: #fff;
  padding: 10px 10px 11px;
}

@media screen and (max-width: 768px) {
  .footer .copyright {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

.inner {
  display: block;
  width: 100%;
  max-width: 980px;
  padding: 0 10px;
  margin: 0 auto;
}

.inner-1000 {
  max-width: 1020px;
}

.clearfix {
  *zoom: 1;
}

.clearfix:before {
  content: "";
  display: table;
}

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

a {
  text-decoration: none;
  color: inherit;
  -webkit-backface-visibility: hidden;
  -webkit-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease;
}

a:hover {
  opacity: 0.7;
}

@media screen and (min-width: 769px) {
  a[href^="tel"] {
    pointer-events: none;
  }
}

@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  .pc-ipd {
    display: none !important;
  }
}

@media screen and (max-width: 990px) {
  .pc-lg {
    display: none !important;




  }
}

@media screen and (max-width: 640px) {
  .pc-sm {
    display: none !important;
  }
}

@media screen and (max-width: 374px) {
  .pc-xs {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}

@media screen and (min-width: 1025px) {
  .sp-ipd {
    display: none !important;
  }
}

@media screen and (min-width: 991px) {
  .sp-lg {
    display: none !important;
  }
}

@media screen and (min-width: 641px) {
  .sp-sm {
    display: none !important;
  }
}

.ttl-comp01 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.085;
  font-weight: bold;
  overflow: hidden;
}

@media screen and (max-width: 990px) {
  .ttl-comp01 {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

@media screen and (max-width: 768px) {
  .ttl-comp01 {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

.ttl-comp01--blue {
  color: #1a50ca;
}

.ttl-comp01--lg {
  font-size: 32px;
  font-size: 3.2rem;
  letter-spacing: 3.2px;
}

@media screen and (max-width: 990px) {
  .ttl-comp01--lg {
    font-size: 24px;
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 768px) {
  .ttl-comp01--lg {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

.ttl-comp01--line {
  margin: 0 -20px;
  text-align: center;
}

@media screen and (max-width: 990px) {
  .ttl-comp01--line {
    margin: 0 -10px;
  }
}

.ttl-comp01--line .ttl-comp01__wrap {
  padding: 0 23px;
  position: relative;
}

@media screen and (max-width: 768px) {
  .ttl-comp01--line .ttl-comp01__wrap {
    padding: 0 10px;
  }
}

.ttl-comp01--line .ttl-comp01__wrap:before, .ttl-comp01--line .ttl-comp01__wrap:after {
  position: absolute;
  content: '';
  height: 1px;
  width: 100vw;
  top: 72%;
  background: #ccc;
}
.ttl-comp01--line .ttl-dx:before, .ttl-comp01--line .ttl-dx:after {
  top: 60% !important;
}

.ttl-comp01--line .ttl-comp01__wrap:before {
  right: 100%;
}

.ttl-comp01--line .ttl-comp01__wrap:after {
  left: 100%;
}

.ttl-comp01__wrap {
  display: inline-block;
}

.ttl-comp01__wrap small {
  display: block;
  font-size: 16px;
  font-size: 1.6rem;
  margin-top: 14px;
}

@media screen and (max-width: 768px) {
  .ttl-comp01__wrap small {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

.ttl-comp01__en {
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: normal;
  color: #999999;
  letter-spacing: 1.3px;
  display: block;
  margin: 0 0 8px;
}

@media screen and (max-width: 768px) {
  .ttl-comp01__en {
    font-size: 11px;
    font-size: 1.1rem;
  }
}

.ttl-comp01__en--after {
  position: relative;
  top: 2px;
  margin: 0 0 0 3px;
  display: inline;
}

.ttl-comp02 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.2;
  padding: 16px 0 18px 14px;
  position: relative;
  letter-spacing: 2px;
  margin-bottom: 25px;
}

@media screen and (max-width: 990px) {
  .ttl-comp02 {
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 1px;
  }
}

@media screen and (max-width: 768px) {
  .ttl-comp02 {
    font-size: 15px;
    font-size: 1.5rem;
    padding: 10px;
  }
}

.ttl-comp02:before {
  position: absolute;
  content: '';
  width: 1px;
  top: 0;
  left: 0;
  bottom: 0;
  background: #1a50ca;
}

.txt-basic {
  line-height: 1.43;
  font-size: 14px;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .txt-basic {
    font-size: 11px;
    font-size: 1.1rem;
  }
}

.txt-basic--lg {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.625;
}

@media screen and (max-width: 768px) {
  .txt-basic--lg {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.4;
  }

  .staffonly .txt-basic--lg{
    font-size: 1.6rem;
  }

}

.txt-center {
  text-align: center;
}

.txt-right {
  text-align: right;
}

.txt-left {
  text-align: left;
}

.sec-mv {
  /*margin-bottom: 53px;*/
  position: relative;
  z-index: 1;
}

.txt-ready {
    font-size: 16px;
    font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .sec-mv {
    margin-bottom: 41px;
  }
}


.mv-slider__item {
  outline: none;
  background:#F5F5F5;
}

.mv-slider__item img {
  display: block;
  width: 100%;
  max-width:1500px;
  height:auto;
/*
  height: 400px;
*/
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover;';
  -o-object-position: top center;
     object-position: top center;
  margin:0 auto;
}

@media screen and (max-width: 768px) {
  .mv-slider__item img {
    height: 56.2vw;
    max-height: 360px;
  }
}

.mv-content {
/*
  position: absolute;
  bottom: -10px;
*/
  width: 100%;
}

@media screen and (max-width: 768px) {
  .mv-content {
    bottom: -28px;
  }
  .mv-content .inner {
    padding: 0 5px;
  }
}

@media screen and (min-width: 769px) {
	.mv-slider {
/*
		padding-bottom:140px;
*/
	}
	.mv-content {
		bottom: -20px;
	}
}

.mv-content__ttl {
/*
  background: #1a50ca;
*/
  background-color: rgba(26,80,202,1.00);
  font-size: 30px;
  font-size: 3rem;
  font-weight: bold;
  line-height: 2;
  color: #fff;
  width: 100%;
  max-width: 960px;
  padding: 39px 0 41px 0;
  letter-spacing: 1.5px;

  text-align: center;
  margin: 0 auto;
}
.mv-content__ttl span {
  display: inline-block;
  text-align: left;
}

@media screen and (max-width: 990px) {
  .mv-content__ttl {
    font-size: 22px;
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 768px) {
  .mv-content__ttl {
    font-size: 18px;
    font-size: 1.8rem;
    padding: 15px 18px 15px 26px;
    letter-spacing: 0.7px;
  }
}

@media screen and (max-width: 374px) {
  .mv-content__ttl {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

.sec-info {
  margin-bottom: 31px;
}

.info-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.info-flex__left {
  width: 55%;
  padding-right: 31px;
}

@media screen and (max-width: 990px) {
  .info-flex__left {
    padding-right: 20px;
    width: 67%;
  }
}

@media screen and (max-width: 768px) {
  .info-flex__left {
    width: 100%;
    padding-right: 0;
        order: 1;
  }
}

.info-flex__right {
  width: 34.375%;
  padding-top: 7px;
}

@media screen and (max-width: 990px) {
  .info-flex__right {
    width: 33%;
  }
}

@media screen and (max-width: 768px) {
  .info-flex__right {
    width: 100%;
    padding: 0 6px 0 4px;
    margin-bottom: 30px;
        order: 2;
  }
}

.info-flex__right img {
  width: 100%;
}

.info__ttl {
  margin-bottom: 18px;
}

.info__txt dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /*border-bottom: 1px dotted #ccc;*/
  padding-bottom: 6px;
  margin-bottom: 6px;
  overflow-y: scroll;
  height: 360px;
}

.info__txt dl:last-child {
  margin-bottom: 0;
}

.info__txt dl dt {
  width: 148px;
  padding-right: 10px;
}

dl#news a {
    text-decoration: underline;
    color: #1a50ca;
}

.top-info {
  /* overflow-y: scroll; */
  height: 445px;
  background: #ffffff;
  padding: 20px;
  border-radius: 10px;
}

@media screen and (max-width: 990px) {
  .top-info {
      order: 1;
      width: 100%;
  }
}

/* Twitter */
.sec-twitter {
    padding: 50px 0 40px 0;
    background: #efefef;
}

.twitter-wrap {
    padding: 0px 10px 10px 10px;
}

.twitter-embed {
    width: 44%;
    margin: 0 0 0 1%;
    /* border: 1px solid #1a50ca; */
    padding: 0;
    border-radius: 10px;
    background: #ffffff;
}

@media screen and (max-width: 990px) {
  .twitter-embed {
    width: 100%;
    margin: 20px 0 20px 0;
    /* height: 355px; */
    order: 2;
  }
}


h2.twitter-ttl {
    font-size: 16px;
    font-size: 1.6rem;
    text-align: center;
    margin: 0 0 10px 0;
    color: #1a50ca;
    letter-spacing: 1px;
}
h2.twitter-ttl img {
    display: block;
    border-radius: 10px 10px 0 0;
}

@media screen and (max-width: 990px) {
  h2.twitter-ttl {
  }
}

@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .twitter-embed {
    display: none;
  }
  
  *::-ms-backdrop, .twitter-embed a {
        display: none;
  }
  *::-ms-backdrop, .top-info {
    width: 100%;
  }
}

@media screen and (max-width: 990px) {
  .info__txt dl dt {
    width: 130px;
  }
}

@media screen and (max-width: 768px) {
  .info__txt dl dt {
    width: 110px;
  }
}

.info__txt dl dd {
  width: calc(100% - 148px);
}

@media screen and (max-width: 990px) {
  .info__txt dl dd {
    width: calc(100% - 130px);
  }
}

@media screen and (max-width: 768px) {
  .info__txt dl dd {
    width: calc(100% - 110px);
  }
}

.info__txt dl dd:after {
    width: calc(100% + 148px);
    margin: 5px 0 5px -148px;
    content: "";
    /* background: #aaaaaa; */
    height: 1px;
    display: block;
    border: 1px dotted #cccccc;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
}

@media screen and (max-width: 990px) {
  .info__txt dl dd:after {
  }
}

@media screen and (max-width: 768px) {
  .info__txt dl dd:after {
  }
}


.recruit-bnr {
  display: block;
  width: 966px;
  margin: 0 auto 50px auto;
  /* border: 3px solid #1abe29; */
}

.recruit-bnr a {
    border: 3px solid #1abe29;
    display: block;
}

.recruit-bnr-sp {
  display: none;
}

@media screen and (max-width: 990px) {
  .recruit-bnr {
      display: none;
  }
}

@media screen and (max-width: 990px) {
  .recruit-bnr-sp {
    display: block;
    width: 94%;
    max-width: 586px;
    margin: 0px auto 50px auto;
  }
}

@media screen and (max-width: 990px) {
  .recruit-bnr-sp a {
      display: block;
      border: 3px solid #1abe2a;
  }
}



.sec-service {
  background: url("../img/index/bg-gray-right.png") no-repeat;
  background-size: 100% auto;
  background-position: bottom center;
  padding-bottom: 83px;
}

@media screen and (max-width: 768px) {
  .sec-service {
    padding-bottom: 50px;
  }
}

.service__ttl {
  margin-bottom: 29px;
}

.service-list {
  width: 100%;
  max-width: 920px;
  margin: 0 auto 45px;
}

@media screen and (max-width: 768px) {
  .service-list {
    width: 74.36%;
    max-width: 450px;
  }
}

.service-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

@media screen and (max-width: 768px) {
  .service-list__item {
    display: block;
    margin-bottom: 30px;
  }
  .service-list__item:last-child {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 769px) {
  .service-list__item:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .service-list__item:nth-child(even) .service-list__ttl {
    margin-bottom: 26px;
  }
  .service-list__item:nth-child(even) .service-list__btn {
    right: 15px;
    bottom: 15px;
  }
}

.service-list__img {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .service-list__img {
    width: 100%;
  }
}

.service-list__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover;';
}

@media screen and (max-width: 768px) {
  .service-list__img img {
    height: auto;
  }
}

.service-list__content {
  width: 50%;
  padding: 27px 13px 34px 28px;
  position: relative;
}

@media screen and (max-width: 768px) {
  .service-list__content {
    width: 100%;
    padding: 15px 15px 0;
  }
}

.service-list__content .txt-basic {
  padding-right: 22px;
}

@media screen and (max-width: 768px) {
  .service-list__content .txt-basic {
    padding-right: 0;
    margin-bottom: 10px;
  }
}

.service-list__ttl {
  margin-bottom: 21px;
}

@media screen and (max-width: 768px) {
  .service-list__ttl {
    margin-bottom: 10px;
  }
}

.service-list__btn {
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  position: absolute;
  background: #000;
  color: white;
  right: 13px;
  bottom: 14px;
  padding: 2px 0;
  text-align: center;
  width: 80px;
}

@media screen and (max-width: 768px) {
  .service-list__btn {
    position: inherit;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    width: 60px;
    font-size: 10px;
    font-size: 1rem;
  }
}

.respond-box__ttl {
  margin-bottom: 26px;
  text-align: center;
}

.respond-box__txt {
  width: 100%;
  max-width: 868px;
  margin: 0 auto 22px;
  padding-left: 100px;
  text-indent: -80px;
}

@media screen and (max-width: 768px) {
  .respond-box__txt {
    padding-left: 0;
    text-indent: 0;
  }
}

@media screen and (max-width: 768px) {
  .respond-box__heading {
    text-align: center;
    display: block;
  }
}

.respond-box__btn {
  font-size: 16px;
  font-size: 1.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 768px) {
  .respond-box__btn {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.respond-box__btn a {
  background: black;
  color: white;
  padding: 3px 27px 5px;
}

.sec-common {
  background-color: #f5f5f5;
  background-image: url("../img/index/bg-gray-left.png");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: bottom center;
  padding: 36px 0 136px;
  margin-bottom: 26px;
}

@media screen and (max-width: 768px) {
  .sec-common {
    padding-bottom: 100px;
  }
}

@media screen and (max-width: 768px) {
  .sec-common {
    padding: 30px 0 70px;
  }
}

.sec-common__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 95%;
  max-width: 1080px;
  margin: 0 auto;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .sec-common__inner {
    width: 82%;
    display: block;
  }
}

.sec-common__inner .box-common {
  width: 47%;
  max-width: 440px;
}

@media screen and (max-width: 768px) {
  .sec-common__inner .box-common {
    width: 100%;
    margin: 0 auto 50px;
  }
  .sec-common__inner .box-common:last-child {
    margin-bottom: 0;
  }
}

.box-common__ttl {
  text-align: center;
  margin-bottom: 21px;
  letter-spacing: 2.4px;
}

.box-common__txt {
  margin-bottom: 41px;
}

@media screen and (max-width: 768px) {
  .box-common__txt {
    margin-bottom: 20px;
  }
}

.box-common__img {
  margin-bottom: 2px;
}

.box-common__txt02 {
  margin-bottom: 27px;
}

@media screen and (max-width: 768px) {
  .box-common__txt02 {
    margin-bottom: 15px;
  }
}

.box-common__btn {
  display: block;
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  text-align: center;
  background: black;
  color: white;
  padding: 11px 10px 13px;
}

.box-common__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.box-common__list .item {
  width: calc(50% - 0.5px);
  margin: 0 1px 29px 0;
}

.box-common__list .item:nth-child(even) {
  margin-right: 0;
}

.box-common__list .txt {
  text-align: center;
}

.box-common__list .txt span {
  color: white;
  background: #1a50ca;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.3;
  padding: 0 4px 1px;
}

@media screen and (max-width: 768px) {
  .box-common__list .txt span {
    font-size: 11px;
    font-size: 1.1rem;
  }
}

.sec-about {
  margin-bottom: 27px;
}

.sec-about__inner {
  width: 90%;
  max-width: 900px;
  padding-left: 32px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 990px) {
  .sec-about__inner {
    padding-left: 0;
  }
}

.sec-about__inner .about__head {
  width: 45%;
  padding-top: 3px;
}

@media screen and (max-width: 768px) {
  .sec-about__inner .about__head {
    width: 100%;
    padding-top: 0;
    margin-bottom: 30px;
  }
}

.sec-about__inner .about-list {
  width: 55%;
  max-width: 443px;
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .sec-about__inner .about-list {
    width: 100%;
    margin: auto;
  }
}

.about__ttl {
  margin-bottom: 24px;
}

@media screen and (max-width: 768px) {
  .about__ttl {
    margin-bottom: 20px;
  }
}

.about__txt {
  line-height: 1.86;
  letter-spacing: 1.2px;
}

@media screen and (max-width: 768px) {
  .about__txt {
    letter-spacing: 0;
    line-height: 1.5;
  }
}

.about-list {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .about-list {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.about-list__item {
  width: 47.6%;
  margin-bottom: 34px;
}

@media screen and (max-width: 768px) {
  .about-list__item {
    width: 50% !important;
    margin-bottom: 20px;
  }
}

.about-list__item:nth-child(even) {
  width: 52.4%;
}

.about-list__item a {
  display: block;
  padding-left: 31px;
  position: relative;
}

@media screen and (max-width: 768px) {
  .about-list__item a {
    padding: 0 10px 0 20px;
  }
}

.about-list__item a:before {
  position: absolute;
  content: '';
  width: 30px;
  height: 30px;
  background: url("../img/index/arrow-right.png") no-repeat;
  left: 0;
  top: 3px;
}

@media screen and (max-width: 768px) {
  .about-list__item a:before {
    width: 16px;
    background-size: 100%;
  }
}

.sec-mv02 {
  margin-bottom: 30px;
}

.mv-img img {
  display: block;
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover;';
  -o-object-position: top right;
     object-position: top right;
}

@media screen and (max-width: 768px) {
  .mv-img img {
    height: 150px;
  }
}

.sec-about02 {
  margin-bottom: 266px;
}

@media screen and (max-width: 1200px) {
  .sec-about02 {
    margin-bottom: 180px;
  }
}

@media screen and (max-width: 990px) {
  .sec-about02 {
    margin-bottom: 110px;
  }
}

@media screen and (max-width: 768px) {
  .sec-about02 {
    margin-bottom: 50px;
  }
}

.about02__ttl {
  margin-bottom: 31px;
}

.about02-block {
  margin-bottom: 104px;
  overflow: hidden;
}

@media screen and (max-width: 990px) {
  .about02-block {
    margin-bottom: 80px;
  }
}

@media screen and (max-width: 768px) {
  .about02-block {
    margin-bottom: 50px;
  }
}

.about02-block:last-child {
  margin-bottom: 0;
}

/* e!¨a?°a-´ */
dl.award-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 20px 0 20px 0;
    margin: 20px 0 20px 0;
    border: 1px solid #cccccc;
    border-left: 0;
    border-right: 0;
}

dl.award-list dt {
    font-size: 16px;
    font-size: 1.6rem;
    width: 16%;
}
@media screen and (max-width: 990px) {
  dl.award-list dt {
      width: 100%;
      margin: 0 0 10px 0;
        font-size: 14px;
    font-size: 1.4rem;
  }
}


dl.award-list dd {}

dd.award-list-txt {
    width: 63%;
}
@media screen and (max-width: 990px) {
  dd.award-list-txt {
      width: 100%;
      margin: 0 0 20px 0;
  }
}
h2.award-list-title {
    font-size: 16px;
    font-size: 1.6rem;
    margin: 0 0 .5em 0;
    color: #1a50ca;
    font-weight: bold;
}
@media screen and (max-width: 990px) {
  h2.award-list-title {
      font-size: 14px;
      font-size: 1.4rem;
  }
}
dd.award-list-txt p {
    font-size: 16px;
    font-size: 1.6rem;
    text-align: justify;
}
@media screen and (max-width: 990px) {
  dd.award-list-txt p {
      font-size: 14px;
      font-size: 1.4rem;
  }
}

dd.award-list-img {
    width: 15%;
    margin: 0 0 0 6%;
}
@media screen and (max-width: 990px) {
  dd.award-list-img {
      width: 100%;
      margin: 0;
  }
}

dd.award-list-img img {
    border: 1px solid #ececec;
}

@media screen and (max-width: 990px) {

  dd.award-list-img img {
      margin: 0 auto;
      display: block;
    max-width: 200px;
  }
}

dl.award-list + dl.award-list {
    border-top: 0;
    padding-top: 0 !important;
}

dl.award-list:last-child {
    border-bottom: 0;
}



/* a?aa?3a?￣e¨-aR? */
.internal-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 -5px 61px;
}

@media screen and (max-width: 990px) {
  .internal-links {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

@media screen and (max-width: 768px) {
  .internal-links {
    margin-bottom: 50px;
  }
}

.internal-links__item {
  width: 14.43%;
  padding: 5px;
}

@media screen and (max-width: 990px) {
  .internal-links__item {
    width: 33.33%;
  }
}

@media screen and (max-width: 640px) {
  .internal-links__item {
    width: 50%;
  }
}

.internal-links__item a {
  border: 1px solid #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 40px;
  font-size: 14px;
  font-size: 1.4rem;
}

.info-tbl {
  width: 100%;
  max-width: 940px;
  margin: 0 auto;
  font-size: 15px;
  font-size: 1.5rem;
  /* line-height: 2.2; */
  line-height: 150%;
}

.info-tbl a {
	color:#00e;
}

.info-tbl a:hover {
	color:#03418B;
}

@media screen and (max-width: 768px) {
  .info-tbl {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.8;
  }
}

.info-tbl tr td {
  border: 1px solid #bfbfbf;
  width: calc(100% - 165px);
  padding: 10px 10px 10px 14px;
}

@media screen and (max-width: 768px) {
  .info-tbl tr td {
    width: calc(100% - 100px);
    padding: 10px;
  }
}

.info-tbl tr td.info-tbl__ttl {
  width: 129px;
  background: #f2f2f2;
}

@media screen and (max-width: 768px) {
  .info-tbl tr td.info-tbl__ttl {
    width: 100px;
  }
}

.info-tbl__box-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 785px;
}

.info-tbl__box dl dt, .info-tbl__box dl dd {
    margin-bottom: .5em;
}

.info-tbl__box p {
    font-size: 120%;
    margin: 0 0 .5em -13px;
    color: #1a50ca;
}

.info-tbl__box {
  margin-bottom: 30px;
  width: 100%;
  max-width: 380px;
}

.info-tbl__box:last-child {
  margin-bottom: 0;
}

.info-tbl__box dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  flex-wrap: wrap;
}

.info-tbl__box dl dt {
  width: calc(100% - 55px);
  /* width: 10em; */
}

.info-tbl__box dl dd {
  width: 3em;
  text-align: right;
}

.profile-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 -30px;
}

@media screen and (max-width: 990px) {
  .profile-list {
    margin: 0 -15px;
  }
}

@media screen and (max-width: 768px) {
  .profile-list {
    margin: 0;
  }
}

.profile-list__item {
  width: 50%;
  padding: 0 30px;
}

@media screen and (max-width: 990px) {
  .profile-list__item {
    padding: 0 15px;
  }
}

@media screen and (max-width: 768px) {
  .profile-list__item {
    width: 100%;
    margin-bottom: 30px;
  }
  .profile-list__item:last-child {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 769px) {
  .profile-list__item:first-child {
    width: 90%;
    max-width: 658px;
    margin-bottom: 62px;
  }
}

.profile-list__img {
  text-align: center;
  margin-bottom: 18px;
}

@media screen and (max-width: 768px) {
  .profile-list__img {
    margin-bottom: 15px;
  }
  .profile-list__img img {
    display: block;
    width: 100%;
    max-width: 200px;
    margin: 0 auto;
  }
}

.profile-list__ttl {
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: bold;
  color: #1a50ca;
  line-height: 1;
  margin-bottom: 18px;
  text-align: center;
  letter-spacing: 2px;
}

@media screen and (max-width: 990px) {
  .profile-list__ttl {
    font-size: 22px;
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 768px) {
  .profile-list__ttl {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

.profile-list__des {
  text-align: center;
  margin-bottom: 26px;
}

@media screen and (max-width: 768px) {
  .profile-list__des {
    margin-bottom: 18px;
  }
}

.philosophy-box dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #cccccc;
  padding: 0 0 6px 14px;
  margin-bottom: 7px;
}

@media screen and (max-width: 768px) {
  .philosophy-box dl {
    padding: 0 0 6px 0;
  }
}

.philosophy-box dl:last-child {
  margin-bottom: 0;
}

.philosophy-box dl dt {
  width: 152px;
  padding-right: 10px;
}

@media screen and (max-width: 768px) {
  .philosophy-box dl dt {
    width: 130px;
  }
}

.philosophy-box dl dd {
  width: calc(100% - 152px);
}

@media screen and (max-width: 768px) {
  .philosophy-box dl dd {
    width: calc(100% - 130px);
  }
}

.chart-img {
	margin-top:24px;
	overflow-x: auto;
	text-align: center;
}

.chart-img img {
	width:96%;
	max-width: 750px;
	height:auto;
	margin:0 auto;
}

/* a??a?ca??a??a?・a??a??a?aa?・a?? */
.privacy-wrap {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 160%;
}

.privacy-wrap {}

.privacy-wrap h3.privacy-title {
    font-size: 18px;
    font-size: 1.8rem;
    margin: 2em 0 .5em 0;
    color: #1a50ca;
}

.recruit-txt-intro {
    margin: 20px 0;
}

.recruit-txt-intro p {
    font-size: 1.8rem;
    line-height: 170%;
}
.recruit-btn a {
    width: 300px;
    height: 80px;
    background: #e8eeff;
   /* display: block;*/
  display: inline-block;
    margin: 10px auto 0 auto;
    color: #2164f3;
    border-radius: 10px;
    line-height: 74px;
    /* border: 2px solid #2164f3; */
}

/* 求人情報 */
ul.recruit-btn-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    list-style: none;
    margin: 20px auto;
    padding: 0;
}

ul.recruit-btn-list li {
    width: 32%;
    height: 100%;
    display: block;
}



@media screen and (max-width: 768px) {
  ul.recruit-btn-list li {
    width: 100%;
    max-width: 300px;
  }
}

ul.recruit-btn-list li + li {
    margin-left: .5%;
}

@media screen and (max-width: 768px) {
  ul.recruit-btn-list li + li {
      margin-top: 5px;
  }
}


ul.recruit-btn-list a {
background: #e8eeff;
    color: #2164f3;
    border-radius: 10px;
    font-size: 18px;
    font-size: 1.8rem;
    /* line-height: 170%; */
    padding: 32px 20px;
    width: 100%;
    display: block;
    text-align: center;
}

li.recruit-btn-img a {
    padding: 0;
    background: 0;
    margin: 0;
}


/* 上に戻る */
#goto_top {
    position: fixed;
    right: 20px;
    bottom: 20px;
    display: none;
    width: 100px;
}

#goto_top a {
    /* width: 100px; */
    /* height: 100px; */
    /* border-radius: 20px; */
    /* background: #f86560; */
    color: #000;
    text-align: center;
    text-decoration: none;
}

#goto_top a img {
    margin: 7px 0 0 0;
    display: block;
}

span.page-top-arrow {
    font-size: 18px;
    display: block;
    background: #1a50ca;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    line-height: 30px;
    color: #ffffff;
    margin: 0 auto 7px auto;
}

span.page-top-txt {
    display: block;
    font-size: 11px;
    color: #1a50ca;
}

#female-achievement {
	background: #fefefe;
	margin:2em;
	padding: 2em 0;
	text-align:center;
	font-size: 1.6px;
	font-size: 1.6rem;
	border:#F2F2F2 1px solid;
	box-shadow: 3px 3px #cccccc;
}
#female-achievement .contents-area {
	position: relative;
	width:100%;
	max-width: 840px;
	margin: 0 auto;
}

#female-achievement h1 {
	padding:0 0 0.8em;
	color: #333333;
	font-size: 2.2px;
	font-size: 2.2rem;
	line-height: 1.6;
	text-align:center;
}
#female-achievement h2 {
	padding:0 1em 0.8em;
	color:#333;
	line-height: 1.6;
	text-align:left;
}
#female-achievement p {
	color:#333;
	line-height: 1.6;
	margin:0 0.8em;
	padding:0 1em;
	text-align:left;
}
#female-achievement .thanks {
	height:auto;
	margin:0 40px 0 0;
	float:left;
}
@media screen and (max-width: 768px) {
	#female-achievement .thanks {
		float:none !important;
	}
}

#female-achievement .seido {
	display:inline-block;
	width:100%;
	max-width:480px;
	margin:0;
	padding:0;
	text-align: left;
}
#female-achievement .seido p{
	margin:0;
	padding:0;
	line-height:1.4;
}
#female-achievement .seido p.main{
	margin:0 0 0.5em;
	padding:0;
	font-size: 20px;
}
#female-achievement .seido p.main span{
	font-size: 14px;
}
#female-achievement .seido dl{
	width:100%;
	margin:12px 0 0;
	padding:0;
	line-height:1.4;
}
#female-achievement .seido dl dt{
	margin:0;
	padding:0;
}
#female-achievement .seido dl dd{
	margin:0;
	padding:0 0 0 1em;
}
#female-achievement .seido dl dd a{
	color:#f90;
}
#female-achievement .seido dl dd a:hover{
	color:#f60;
}

dl.authorization-list {
    /* font-size: 1.6rem; */
    /* line-height: 160%; */
    margin: 0 0 0 0;
    padding: 0;
}

dl.authorization-list dt, dl.authorization-list dd {
    font-size: 1.6rem;
    line-height: 160%;
}

dl.authorization-list dt {
    font-size: 1.8rem;
    margin: 0 0 10px 0;
    color: #000000;
    background: #f4f4f4;
    padding: 10px 20px;
    border-bottom: 1px dotted #ccc;
}

dl.authorization-list dd {
    margin: 0 0 50px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
dl.authorization-list dd p {
    margin-left: 2rem;
    margin-right: 2rem;
    color: #333333;
}

ul.authorization-list-detail {
margin: 0 0 20px 0;
    width: 100%;
    /* background: #aaaaaa; */
    color: #333333;
    border-bottom: 1px dotted #cccccc;
    padding-bottom: 20px;
}

ul.authorization-list-detail li {
    margin: 10px 0;
}

.authorization-list-img {
    width: 100%;
    /* background: #cccccc; */
    display: flex;
    flex-wrap: wrap;
    justify-content:center;
    align-items: flex-start;
    margin: 20px auto 20px auto;
}

.authorization-list-img div {
    width: 240px;
    margin: 0 1% 20px 1%;
    height: auto;
}

.authorization-list-img div + div {
    /* margin-left: 15px; */
}

.authorization-list-img div img {
    display: block;
    width: 100%;
    height: auto;
}

.authorization-list-img div a {
    /* display: block; */
    box-shadow: 0px 1px 4px 0 rgb(0 0 0 / 20%);
}

.authorization-list-img div p{
	margin-top:1em;
	font-size:1.4em;
	line-height:1.4;
}

.ttl-work {
	margin: 0 0 15px;
	color: #1a50ca;
	font-size: 22px;
	font-weight:bold;
}

.list-work {
	margin:1rem;
	padding:0;
	font-size:1.8rem;
	line-height:1.8;
}
.list-work li{
	margin:0;
	padding:0;
	list-style: inside!important;
}

.work-sec {
	margin:1rem;
	padding:1rem;
}

.work-sec .txt-ready{
	font-size:1.6rem;
	line-height:1.6;
}
@media screen and (max-width: 768px) {
	.work-sec {
		margin:0;
		padding:0;
	}
	.ttl-work {
		font-size: 1.5rem;
	}
	.list-work {
		font-size:1.4rem;
		margin:0 0.5em;
		text-indent: -1.25em;
		padding-left:1em;
	}
	.work-sec .txt-ready{
		font-size:1.4rem;
	}
}


.column_table {
	width:100%;
	margin:1rem auto 3rem;
}

.column_table,
.column_table td,
.column_table th {
border: 1px solid #cbced2;
border-collapse: collapse;
font-size:1.6rem;
line-height:1.4;
}

.column_table thead th {
text-align: center;
line-height:2;
background:#2f4d93!important;
color: #ffffff;
}

.column_table tbody th {
background: #01214d;
color: #fff;
padding: 4px 12px;
}

.column_table tr:nth-child(odd) th,
.column_table tr:nth-child(odd) td {
    background: #fff;
}

.column_table td {
background: #E7EEFF;
padding: 4px 12px;
}

.column_table td[data-title]::before {
}

@media screen and (max-width: 768px) {

	.column_table,
	.column_table td,
	.column_table th {
	  border: 1px solid #cbced2;
	  border-collapse: collapse;
		font-size:1.4rem;
		line-height:1.4;
	}

	.column_table thead th {
	  display: none;
	  text-align: center;
	}

	.column_table tbody th {
	  background: #01214d;
	  color: #fff;
	  padding: 4px 12px;
	  display: block;
	  width: 100%
	}

	.column_table td {
	  background: #E7EEFF;
	  padding: 4px 12px;
	  display: block;
	  width: 100%
	}

	.column_table td[data-title]::before {
	  color: #666;
	  content: attr(data-title) " :";
	  font-weight: bold;
	  padding: 0 10px 0 0;
	  display: inline;
	}

}
@media screen and (min-width: 769px) {

	.column_table td:nth-child(1) {
		text-align: left;
	}
	.column_table td:nth-child(2) {
		min-width:7em;
		text-align: center;
	}
	.column_table td:nth-child(3) {
		min-width:30em;
		text-align: left;
	}

}




.tool_table {
	width:100%;
	margin:1rem auto 3rem;
}

.tool_table a {
	color:#1a73e8;
}

.tool_table a:hover {
	color:#ff6600;
}

.tool_table,
.tool_table td,
.tool_table th {
border: 1px solid #cbced2;
border-collapse: collapse;
font-size:1.6rem;
line-height:1.4;
}

.tool_table thead th {
text-align: center;
line-height:2;
background:#2f4d93!important;
color: #ffffff;
}

.tool_table tbody th {
background: #01214d;
color: #fff;
padding: 4px 12px;
}

.tool_table td {
background: #ffffff;
padding: 4px 12px;
}

.tool_table td.blue {
  background: #E7EEFF;
  
  }
  
  .tool_title{
    font-size: 24px;
    font-weight: bold;
    margin-top: 60px;
  }

/* 安全管理 */

  .safety .title{
    font-size: 24px;
    font-weight: bold;
    color: #1a50ca;
    margin-top: 40px;
    
    border-bottom:#1a50ca 1px solid ;
    padding-bottom: 10px;
  }

  .safety .text{
    font-size: 16px;
    color: #333333;
    margin-top: 10px;
    margin-bottom: 40px;
  }

  .safety img{
    text-align: center;
    margin: 0 auto;
    max-width: 100%;
    display: block;
  }

/* サイトマップ */
.sitemap__sec {
  padding: 0 20px;
  margin-top: 40px;
}
.sitemap__title {
  position: relative;
  padding: 17px 0 18px;
  border-top: 2px solid #1a50ca;
  border-bottom: 1px solid #1a50ca;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.1;
  color: #1a50ca;
  padding-left: 1.4em;
}
.sitemap__title::after, .sitemap__title:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 5px;
  margin: auto;
  vertical-align: middle;
}
.sitemap__title::after {
  left: 10px;
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}
.sitemap__title:before {
  width: 18px;
  height: 18px;
  background: #1a50ca;
}


.sitemap__items {
  padding-top: 10px;
  padding-left: 30px;
}
.sitemap__item {
  font-size: 1.6rem;
  color: #1a50ca;
  line-height: 1.1;
  font-weight: bold;
  position: relative;
  padding-left: 1.1em;
  margin-top: 12px;
}
.sitemap__item::after, .sitemap__item:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  vertical-align: middle;
}
.sitemap__item::after {
  left: 3px;
  width: 3px;
  height: 3px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}
.sitemap__item:before {
  width: 12px;
  height: 12px;
  background: #1a50ca;
}


.sitemap__sub-items {
  padding-top: 5px;
  padding-left: 20px;
}
.sitemap__sub-item {
  position: relative;
  color: #1a50ca;
  font-size: 1.4rem;
  line-height: 1.1;
  position: relative;
  padding-left: 1em;
  margin-top: 12px;
}
.sitemap__sub-item::after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  vertical-align: middle;
}
.sitemap__sub-item::after {
  left: 3px;
  width: 3px;
  height: 3px;
  border-top: 1px solid #1a50ca;
  border-right: 1px solid #1a50ca;
  transform: rotate(45deg);
}

.sitemap__items--2col,
.sitemap__sub-items--2col {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

@media screen and (max-width: 768px) {
  .sitemap__sec {
    margin-top: 40px;
  }
  .sitemap__title {
    font-size: 1.8rem;
  }
  .sitemap__title:before {
    width: 15px;
    height: 15px;
  }
  .sitemap__title::after {
    left: 9px;
    width: 4px;
    height: 4px;
  }
  .sitemap__item {
    font-size: 1.4rem;
    margin-top: 13px;
  }
  .sitemap__sub-item {
    font-size: 1.3rem;
    margin-top: 13px;
  }
}  

/* 社長挨拶 */
.president-greeting__image {
  display: block;
  float: right;
  margin: 0 5px 40px 40px;
}
.president-greeting__image img {
  width: 100%;
}
.president-greeting__content {
    font-size: 16px;
    line-height: 1.5;
    text-align: justify;
    width: 100%;
}
.president-greeting__content p {
  margin-top: 20px;
}
.president-greeting__content b {
    font-weight: bold;
}
@media screen and (max-width: 768px) {
  .president-greeting__image {
    width: 35%;
    margin: 0 5px 20px 20px;
  }
  .president-greeting__content {
    font-size: 13px;
  }
}  


.data-link{
	width:70%;
	margin:0 auto 36px;
}

.data-link dt{
	margin:0;
	padding:0;
	line-height:2.2;
	font-size: 22px;
	font-size: 2.2rem;
	font-weight:bold;
	color:#1a50ca;
}
.data-link dd{
	margin:0 0 0 1em;
	padding:0;
	line-height:2;
	font-size: 18px;
	font-size: 1.8rem;
}

.data-link dd:before {
	content: "・ ";
}

.data-link dd a[target=_blank] {
	padding-right: 20px;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22feather%20feather-external-link%22%3E%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%3E%3C%2Fpath%3E%3Cpolyline%20points%3D%2215%203%2021%203%2021%209%22%3E%3C%2Fpolyline%3E%3Cline%20x1%3D%2210%22%20y1%3D%2214%22%20x2%3D%2221%22%20y2%3D%223%22%3E%3C%2Fline%3E%3C%2Fsvg%3E');
	background-size: 16px;
	background-repeat: no-repeat;
	background-position: right center;
}

.data-link dd a[target=_blank]:hover {
	color: #F49000;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23B99b00%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22feather%20feather-external-link%22%3E%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%3E%3C%2Fpath%3E%3Cpolyline%20points%3D%2215%203%2021%203%2021%209%22%3E%3C%2Fpolyline%3E%3Cline%20x1%3D%2210%22%20y1%3D%2214%22%20x2%3D%2221%22%20y2%3D%223%22%3E%3C%2Fline%3E%3C%2Fsvg%3E');
}

@media screen and (max-width: 768px) {
	.data-link{
		width:96%;
	}
	.data-link dt{
		font-size: 18px;
		font-size: 1.8rem;
	}
	.data-link dd{
		font-size: 15px;
		font-size: 1.5rem;
	}
 }

.dx-subtitle{
		font-size: 19px;
		font-size: 1.9rem;
 		 color: #1a50ca;
}

dl.dx-contents {
	margin:1em;
    font-size: 16px;
    line-height: 1.5;
    text-align: justify;
    width: 100%;
}
dl.dx-contents dt{
	margin-top:0.5em;
	font-weight:bold;
}
dl.dx-contents dd{
	padding:1em;
}
dl.dx-contents dd.no-dt{
	padding-top:0;
}

.tbl-kpi {
	margin:1em auto;
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
	max-width:880px;
    background: #fff;
    border: none;
}
.tbl-kpi th,
.tbl-kpi td {
    font-size: 16px;
    line-height: 1.5;
    text-align: justify;
    background: #fff;
    border: 1px solid #ccc;
    padding: 8px;
    vertical-align: middle;
    box-sizing: border-box;
}
.tbl-kpi th {
    font-weight: 700;
    text-align: center;
	font-weight:normal;
}
.tbl-kpi th {
    color: #111;
    background: #E7EEFF;
}
.tbl-kpi thead th:nth-child(1) {
  width: 12%;
}
.tbl-kpi thead th:nth-child(2) {
  width: auto;
}
.tbl-kpi thead th:nth-child(3) {
  width: 15%;
}
.tbl-kpi thead th:nth-child(4) {
  width: 22%;
}
.tbl-kpi thead th:nth-child(5) {
  width: 14%;
}
@media screen and (max-width: 768px) {
	.header__inner .nav-menu .list-contact {
/*
	  max-width: 240px;
*/
	}
  .tbl-kpi thead {
    display:none;
  }
  .tbl-kpi tr {
    background-color: unset;
  }
  .tbl-kpi th, .ex_tbl-kpi td {
    display: block;
    width: 100%;
    border: 0;
    border-bottom: 1px solid #ccc;
  }
  .tbl-kpi tbody th{
    background: #14116e;
    color:#fff;
    text-align: center;
  }
  .tbl-kpi tbody tr td {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }
  .tbl-kpi tbody tr td::before{
    content: attr(data-label);
    width: fit-content;
    padding: 0.2em 1em;
    border-radius: 100vw;
    font-size: 12px;
    background: #eee;
  }

}

.environmental {
	display:flex;
	flex-wrap:wrap;
	width: 100%;
}

.environmental dl {
    font-size: 16px;
    line-height: 1.6;
    text-align: justify;
	width:16em;
}
.environmental dl dt{
	margin-top:0.5em;
	margin-bottom:0.5em;
	font-size: 19px;
	font-size: 1.9rem;
	font-weight:bold;
	text-align: center;
}
.environmental dl dd{
	padding:0;
	font-size: 17px;
	font-size: 1.7rem;
}
.environmental dl dd.no-dt{
	padding-top:0;
}

.dx-message {
	font-size: 22px;
	font-size: 2.2rem;
	font-weight:bold;
}

.bl_simple_text,
.bl_simple_heading,
.bl_simple_list,
.bl_simple_table,
.bl_simple_image {
  margin: 1em 0;
}
.bl_simple_heading {
	font-size: 22px;
	font-size: 2.2rem;
 	font-weight: bold;
	margin:1em 1em 0.5em 0;
}
.bl_simple_text.bl_simple_text__txtLeft {
  text-align: left;
}
.bl_simple_text.bl_simple_text__txtCenter {
  text-align: center;
}
.bl_simple_text.bl_simple_text__txtRight {
  text-align: right;
}
.bl_simple_text.bl_simple_text__nowrap {
  word-break: keep-all;
}
.bl_simple_text p {
  margin: 1em 0 1em 1em;
}
.bl_simple_text img {
  display: inline-block;
}

.nintei {
    width: 100%;
    /* background: #cccccc; */
    display: flex;
    flex-wrap: wrap;
    justify-content:center;
    align-items: flex-start;
    margin: 40px 0 40px 0;
}

.nintei div {
    width: 23%;
    margin: 0 1% 20px 1%;
    height: auto;
}

.nintei div + div {
    /* margin-left: 15px; */
}

.nintei div img {
    display: block;
    width: 100%;
    height: auto;
}

.nintei div a {
    /* display: block; */
    box-shadow: 0px 1px 4px 0 rgb(0 0 0 / 20%);
}

.nintei div p{
	margin-top:1em;
	font-size:14px;
	line-height:1.4;
}