@charset "UTF-8";
/*
Theme Name: 東京警備
*/
/*-----------------------------------
テーマ用CSS設定　自由入力
-----------------------------------*/
/*
Theme Name: 東京工事警備株式会社
*/
/*-----------------------------------

-----------------------------------*/
body {
  font-family: "Noto Sans JP", "メイリオ", "Meiryo", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ＭＳ ゴシック", sans-serif; }

a {
  text-decoration: none; }

* {
  margin: 0;
  padding: 0;
  line-height: 150%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

li {
  list-style-type: none; }

.text-color-white {
  color: #fff; }
  .text-color-white span {
    color: #fff; }

.text-color-blue {
  color: #0c32a0; }
  .text-color-blue span {
    color: #0c32a0; }

.text-shadow {
  text-shadow: 2px 2px 7px rgba(0, 0, 0, .5); }

h1 {
  font-size: 56px; }

h2 {
  font-size: 56px; }

h4 {
  font-size: 24px; }
  @media (max-width: 480px) {
    h4 {
      font-size: 1em; } }

p,
li,
a {
  color: #555555;
  font-size: 16px; }
  @media (max-width: 480px) {
    p,
    li,
    a {
      font-size: 1em; } }

span {
  font-size: 12px; }

#page_top {
  cursor: pointer;
  z-index: 3;
  width: 72px;
  height: 72px;
  position: fixed;
  bottom: 0;
  right: 0;
  display: block;
  background: #222222; }
  #page_top::before {
    content: "";
    width: 32px;
    height: 32px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    display: block;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    top: 24px;
    left: 0;
    margin: auto; }
  @media (max-width: 480px) {
    #page_top {
      width: 100%;
      bottom: 40px;
      height: 40px; }
      #page_top::before {
        width: 16px;
        height: 16px;
        top: 16px; } }

.pc_only {
  display: block; }

.sp_only {
  display: none; }

@media (max-width: 480px) {
  .pc_only {
    display: none; }
  .sp_only {
    display: block; } }

.flex-col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .flex-col2 .flex-item {
    width: 50%; }
  @media (max-width: 480px) {
    .flex-col2 {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-flow: column;
              flex-flow: column; }
      .flex-col2 .flex-item {
        width: 100%; }
      .flex-col2.wrap-flow-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-flow: column-reverse;
                flex-flow: column-reverse; } }

.flex-col3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .flex-col3 .flex-item {
    width: calc(33.33333% - 12px); }
    .flex-col3 .flex-item:not(:last-child) {
      margin-right: 24px; }
    @media (max-width: 780px) {
      .flex-col3 .flex-item {
        width: 100%; }
        .flex-col3 .flex-item:not(:last-child) {
          margin-right: 0;
          margin-bottom: 24px; } }
  @media (max-width: 480px) {
    .flex-col3 {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-flow: column;
              flex-flow: column; }
      .flex-col3 .flex-item {
        width: 100%; }
      .flex-col3.wrap-flow-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-flow: column-reverse;
                flex-flow: column-reverse; } }

.text-area {
  width: calc(100% - 48px);
  margin: 0  auto; }
  @media (max-width: 480px) {
    .text-area {
      width: 100%;
      margin: 0 auto; } }

.white-arrow {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }

.button-link {
  width: 240px;
  margin: auto;
  padding: 0 64px 0 32px;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 64px;
  position: relative;
  -webkit-transition: .3s;
  transition: .3s; }
  .button-link.fs-lg {
    font-size: 20px; }
  .button-link.bg-blue {
    background: linear-gradient(45deg, #0c32a0 95%, transparent 21%); }
  .button-link.bg-yellow {
    background: linear-gradient(45deg, #fcb407 95%, transparent 21%); }
  @media (max-width: 480px) {
    .button-link {
      padding: 8px 36px 8px 8px; } }
  .button-link > span {
    position: absolute;
    right: 32px;
    top: 0;
    bottom: 0;
    margin: auto; }
    .button-link > span.white-link {
      right: 44px;
      width: 1em;
      height: 1em; }
      @media (max-width: 480px) {
        .button-link > span.white-link {
          right: 20px; } }
      .button-link > span.white-link::before, .button-link > span.white-link::after {
        content: "";
        width: 12px;
        height: 8px;
        border: 1px solid #fff;
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        background: #0c32a0; }
      .button-link > span.white-link::before {
        margin-top: 2px;
        margin-right: 2px; }
      .button-link > span.white-link::after {
        margin-top: -2px;
        margin-right: -2px;
        z-index: 1; }
  .button-link.bl-btn-wide {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 640px; }
  .button-link::after {
    content: "";
    display: block;
    position: absolute;
    top: 100%;
    height: 64px;
    right: 0;
    width: 27px;
    top: 0; }
  .button-link:hover {
    opacity: .8; }

.blue-edge {
  position: relative;
  overflow: hidden;
  display: block;
  width: 100%; }
  .blue-edge::before {
    content: "";
    display: block;
    position: absolute;
    top: -80px;
    left: -80px;
    width: 160px;
    height: 160px;
    background: #0c32a0;
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
    @media (max-width: 780px) {
      .blue-edge::before {
        top: -40px;
        left: -40px;
        width: 80px;
        height: 80px; } }

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none; }

textarea {
  resize: vertical; }

input[type='checkbox'],
input[type='radio'] {
  display: none; }

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer; }

select::-ms-expand {
  display: none; }

.pc_only {
  display: block; }
  @media (max-width: 480px) {
    .pc_only {
      display: none; } }

.sp_only {
  display: none; }
  @media (max-width: 480px) {
    .sp_only {
      display: block; } }

.white-link {
  width: 1em;
  height: 1em; }
  .white-link::before, .white-link::after {
    content: "";
    width: 12px;
    height: 8px;
    border: 1px solid #555555;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background: #fff; }
  .white-link::before {
    margin-top: 2px;
    margin-right: 2px; }
  .white-link::after {
    margin-top: -2px;
    margin-right: -2px;
    z-index: 1; }

.mx-width {
  width: 100%;
  margin: auto; }

.full-width {
  width: calc(100% - 48px);
  margin: auto; }

.mid-width {
  width: calc(100% - 48px);
  margin: auto;
  max-width: 1100px; }

.min-width {
  width: calc(100% - 48px);
  margin: auto;
  max-width: 800px; }

.bg-line {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(51, 51, 51, 0)), to(#e6e8ec)), url(/common/img/bg-line_pc.png);
  background: linear-gradient(rgba(51, 51, 51, 0), #e6e8ec), url(/common/img/bg-line_pc.png);
  background-size: 100% auto; }
  @media (max-width: 480px) {
    .bg-line {
      background: -webkit-gradient(linear, left top, left bottom, from(rgba(51, 51, 51, 0)), to(#e6e8ec)), url(/common/img/bg-line_sp.png);
      background: linear-gradient(rgba(51, 51, 51, 0), #e6e8ec), url(/common/img/bg-line_sp.png);
      background-size: 100% auto; } }

.bg-line-white {
  background: url(/common/img/bg-line_pc.png) #f6f6f6;
  background-size: 100% auto; }
  @media (max-width: 480px) {
    .bg-line-white {
      background: url(/common/img/bg-line_sp.png) #f6f6f6;
      background-size: 100% auto; } }

.bg-line-gray {
  background: #e6e8ec url(/common/img/bg-line_pc.png);
  background-size: 100% auto; }
  @media (max-width: 480px) {
    .bg-line-gray {
      background: #e6e8ec url(/common/img/bg-line_sp.png);
      background-size: 100% auto; } }

.bg-train {
  background: url(/common/img/index/bg-image-training.jpg) no-repeat;
  background-size: cover; }

.bg-white {
  background: #fff; }

.bg-blue {
  background: #0c32a0; }

.bg-black {
  background: #222222; }

header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  height: 80px;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(51, 51, 51, 0)), to(rgba(39, 39, 39, 0.54118)));
  background: linear-gradient(0deg, rgba(51, 51, 51, 0), rgba(39, 39, 39, 0.54118));
  z-index: 3;
  -webkit-transition: 0.3s;
  transition: 0.3s; }
  header .head-inner {
    position: relative;
    height: 100%;
    max-width: 1100px;
    margin: auto;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    header .head-inner .logo-area {
      /* padding-top: 20px; */
      padding-left: 20px;
      height: 60px;
      width: auto;
      display: flex;
      max-width: 420px;
      align-items: center;
      justify-content: space-between; }
      header .head-inner .logo-area a,
      header .head-inner .logo-area img {
        height: auto;
        width: 100%;
        display: block; }
      header .logo-area a {
          width: 70%;
          display: block;
      }      
      header .logo-area .kandenko-logo {
          width: 30%;
          margin-left: 15px;
      }
    header .head-inner .menu-area {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      height: 100%; }
    header .head-inner .main-menu {
      height: 100%; }
      header .head-inner .main-menu > ul {
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        header .head-inner .main-menu > ul > li {
          height: 100%;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          list-style-type: none;
          margin-right: 24px;
          position: relative; }
          header .head-inner .main-menu > ul > li > p {
            position: relative; }
            header .head-inner .main-menu > ul > li > p::after {
              content: "";
              width: 0px;
              height: 0px;
              border-top: 6px solid #fff;
              border-right: 6px solid rgba(51, 51, 51, 0);
              border-left: 6px solid rgba(51, 51, 51, 0);
              border-bottom: 6px solid rgba(51, 51, 51, 0);
              display: inline-block;
              position: relative;
              bottom: 0;
              right: 0;
              top: -0px;
              margin: auto auto auto 6px;
              -webkit-transform: translateY(calc(50% + -3px)) scale(1);
                      transform: translateY(calc(50% + -3px)) scale(1);
              -webkit-transition: 0.3s;
              transition: 0.3s; }
          header .head-inner .main-menu > ul > li > .hovered-menu-inner {
            position: absolute;
            left: 0;
            top: 80%;
            width: 240px;
            background: rgba(85, 85, 85, .7);
            opacity: 0;
            overflow-y: hidden;
            -webkit-transform-origin: top;
                    transform-origin: top;
            -webkit-transform: scale(1, 0);
                    transform: scale(1, 0);
            -webkit-transition: opacity 0.3s, overflow 3s 3s, -webkit-transform 0.3s 0s;
            transition: opacity 0.3s, overflow 3s 3s, -webkit-transform 0.3s 0s;
            transition: opacity 0.3s, transform 0.3s 0s, overflow 3s 3s;
            transition: opacity 0.3s, transform 0.3s 0s, overflow 3s 3s, -webkit-transform 0.3s 0s;
            padding-bottom: 8px; }
            header .head-inner .main-menu > ul > li > .hovered-menu-inner li {
              width: 100%;
              display: block; }
              header .head-inner .main-menu > ul > li > .hovered-menu-inner li a {
                color: #fff;
                padding: 8px;
                width: 100%;
                display: block;
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
                position: relative; }
                header .head-inner .main-menu > ul > li > .hovered-menu-inner li a::after {
                  width: calc(100% - 16px);
                  height: 2px;
                  background: rgba(255, 255, 255, .5);
                  position: absolute;
                  bottom: 0;
                  left: 0;
                  right: 0;
                  margin: auto;
                  content: "";
                  display: block;
                  -webkit-transition: 0.3s;
                  transition: 0.3s; }
                header .head-inner .main-menu > ul > li > .hovered-menu-inner li a:hover::after {
                  opacity: 1;
                  background: rgba(12, 50, 160, .5); }
          header .head-inner .main-menu > ul > li:hover .hovered-menu-inner {
            opacity: 1;
            -webkit-transform: scale(1);
                    transform: scale(1);
            overflow-y: visible; }
          header .head-inner .main-menu > ul > li > a,
          header .head-inner .main-menu > ul > li > p {
            -webkit-transition: 0.3s;
            transition: 0.3s;
            text-decoration: none;
            color: #fff;
            position: relative;
            cursor: pointer; }
            header .head-inner .main-menu > ul > li > a::before,
            header .head-inner .main-menu > ul > li > p::before {
              content: "";
              width: 80%;
              height: 3px;
              background: #fff;
              display: block;
              position: absolute;
              bottom: -8px;
              left: 0;
              right: 0;
              margin: auto;
              -webkit-transition: width 0.5s, background 0.25s;
              transition: width 0.5s, background 0.25s; }
            header .head-inner .main-menu > ul > li > a:hover::before,
            header .head-inner .main-menu > ul > li > p:hover::before {
              width: 100%;
              background: #0c32a0; }
    header .head-inner .hum-menu .hum-menu-button {
      cursor: pointer;
      width: 80px;
      height: 80px;
      background: #0c32a0; }
      header .head-inner .hum-menu .hum-menu-button .hum-menu-button-inner {
        height: 100%;
        width: 100%;
        padding: 8px 0; }
        header .head-inner .hum-menu .hum-menu-button .hum-menu-button-inner p {
          height: 30%;
          text-align: center; }
        header .head-inner .hum-menu .hum-menu-button .hum-menu-button-inner .spans {
          height: calc(70% - 16px);
          margin: 8px auto 0;
          position: relative; }
          header .head-inner .hum-menu .hum-menu-button .hum-menu-button-inner .spans span {
            height: 5px;
            width: 60%;
            background: #fff;
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            left: 0;
            right: 0;
            margin: auto;
            -webkit-transform: translateY(-50%);
                    transform: translateY(-50%);
            -webkit-transition: opacity 0.6s, -webkit-transform 0.3s;
            transition: opacity 0.6s, -webkit-transform 0.3s;
            transition: opacity 0.6s, transform 0.3s;
            transition: opacity 0.6s, transform 0.3s, -webkit-transform 0.3s; }
            header .head-inner .hum-menu .hum-menu-button .hum-menu-button-inner .spans span:nth-child(1) {
              top: 0%; }
            header .head-inner .hum-menu .hum-menu-button .hum-menu-button-inner .spans span:nth-child(3) {
              top: 100%; }
        header .head-inner .hum-menu .hum-menu-button .hum-menu-button-inner:hover .spans span:nth-child(2) {
          opacity: 0; }
        header .head-inner .hum-menu .hum-menu-button .hum-menu-button-inner:hover .spans span:nth-child(1), header .head-inner .hum-menu .hum-menu-button .hum-menu-button-inner:hover .spans span:nth-child(3) {
          top: 50%; }
        header .head-inner .hum-menu .hum-menu-button .hum-menu-button-inner:hover .spans span:nth-child(1) {
          -webkit-transform: rotate(45deg);
                  transform: rotate(45deg); }
        header .head-inner .hum-menu .hum-menu-button .hum-menu-button-inner:hover .spans span:nth-child(3) {
          -webkit-transform: rotate(-45deg);
                  transform: rotate(-45deg); }
  @media (max-width: 780px) {
    header {
      height: 60px; }
      header .head-inner .logo-area {
        width: 80%;
        padding-left: 5px;
        max-width: 300px; }
      header .head-inner .main-menu {
        display: none; }
      header .head-inner .hum-menu .hum-menu-button {
        height: 60px;
        width: 60px; }
        header .head-inner .hum-menu .hum-menu-button .hum-menu-button-inner > p {
          font-size: 12px; }
        header .head-inner .hum-menu .hum-menu-button .hum-menu-button-inner .spans span {
          height: 3px; } }
  header .hum-menu-inner {
    opacity: 0;
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: top;
            transform-origin: top;
    overflow-y: hidden;
    -webkit-transition: opacity 0.3s, overflow-y 0.3s 0.3s, -webkit-transform 0.3s;
    transition: opacity 0.3s, overflow-y 0.3s 0.3s, -webkit-transform 0.3s;
    transition: opacity 0.3s, transform 0.3s, overflow-y 0.3s 0.3s;
    transition: opacity 0.3s, transform 0.3s, overflow-y 0.3s 0.3s, -webkit-transform 0.3s;
    width: 100%;
    padding: 16px 24px;
    background: rgba(85, 85, 85, .7);
    position: absolute;
    left: 0;
    right: 0;
    top: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline; }
    header .hum-menu-inner .menu-cont {
      width: calc(50% - 16px);
      margin: 0 auto; }
      header .hum-menu-inner .menu-cont .navigation {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        header .hum-menu-inner .menu-cont .navigation li {
          width: 33.33333%; }
          header .hum-menu-inner .menu-cont .navigation li a {
            width: 100%;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            padding: 8px 0; }
            header .hum-menu-inner .menu-cont .navigation li a > span {
              margin-right: 8px; }
          header .hum-menu-inner .menu-cont .navigation li.title {
            width: 100%;
            font-size: 24px;
            border-bottom: 1px solid #fff;
            margin-bottom: 8px;
            padding-bottom: 8px; }
    header .hum-menu-inner .menu-link img {
      width: 160px; }
    header .hum-menu-inner .menu-contact {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      header .hum-menu-inner .menu-contact li:not(:first-child) {
        width: 50% !important; }
      header .hum-menu-inner .menu-contact a {
        font-size: 24px; }
    @media (max-width: 780px) {
      header .hum-menu-inner {
        top: 60px;
        width: calc(100% - 16px);
        margin: auto;
        padding: 16px 8px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-flow: column;
                flex-flow: column; }
        header .hum-menu-inner .menu-cont {
          width: 100%; }
          header .hum-menu-inner .menu-cont .navigation {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; }
            header .hum-menu-inner .menu-cont .navigation li {
              width: 50%; }
            header .hum-menu-inner .menu-cont .navigation.main-menu li:not(:first-child) a {
              padding: 8px 16px; }
        header .hum-menu-inner .menu-link {
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; }
          header .hum-menu-inner .menu-link img {
            display: block;
            margin: auto;
            width: 160px; }
        header .hum-menu-inner .menu-contact {
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; }
          header .hum-menu-inner .menu-contact li:not(:first-child) {
            width: 80% !important; }
          header .hum-menu-inner .menu-contact a {
            font-size: 24px;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center; } }
  header.open .hum-menu-inner {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    z-index: 100; }
  header.open .hum-menu .hum-menu-button .hum-menu-button-inner .spans span:nth-child(2) {
    opacity: 0; }
  header.open .hum-menu .hum-menu-button .hum-menu-button-inner .spans span:nth-child(1), header.open .hum-menu .hum-menu-button .hum-menu-button-inner .spans span:nth-child(3) {
    top: 50%; }
  header.open .hum-menu .hum-menu-button .hum-menu-button-inner .spans span:nth-child(1) {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  header.open .hum-menu .hum-menu-button .hum-menu-button-inner .spans span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  header.open .mat-area {
    width: 100vw;
    height: 100vh;
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto; }

@media (max-width: 480px) {
  footer {
    padding: 0 0 80px 0; } }

footer p.copy-right {
  text-align: center;
  padding: 8px 0; }

footer .footer-inner a,
footer .footer-inner p,
footer .footer-inner span {
  color: #fff; }

footer .footer-inner img,
footer .footer-inner a {
  width: 100%;
  height: auto;
  display: block; }

footer .footer-inner .footer-nav {
  width: 100%; }
  footer .footer-inner .footer-nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 40px 0; }
    footer .footer-inner .footer-nav ul li {
      width: 33.33333%; }
      footer .footer-inner .footer-nav ul li a {
        padding: 8px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        footer .footer-inner .footer-nav ul li a > span {
          margin-right: 8px; }

footer .footer-inner .info-area {
  padding: 40px 0; }
  footer .footer-inner .info-area .tell {
    padding: 8px 0 24px;
    font-size: 24px;
    font-weight: bold; }
  footer .footer-inner .info-area .logo.tokyokeibi {
    max-width: 320px; }
  footer .footer-inner .info-area .logo.kandenko {
    max-width: 160px;margin-top: 2em; }
  @media (max-width: 480px) {
    footer .footer-inner .info-area {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-flow: column;
              flex-flow: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      text-align: center;
      padding-bottom: 0; }
      footer .footer-inner .footer-nav ul li {
        width: 50%;
      } }

.following header {
  background: rgba(85, 85, 85, .7); }
  .following header .logo-area {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    padding-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }

main {
  overflow: hidden; }
  main.index .kv-area {
    height: 472px; }
    @media (max-width: 480px) {
      main.index .kv-area {
        height: 472px; } }
    main.index .kv-area .kv-inner .kv-contents-area h1 {
      position: absolute;
      top: 124px;
      left: 40px;
      display: block; }
      @media (max-width: 480px) {
        main.index .kv-area .kv-inner .kv-contents-area h1 {
          left: 16px; } }
    main.index .kv-area .kv-inner .kv-img-area {
      background: url(/common/img/index/kv-index_pc.jpg) no-repeat;
      background-size: cover;
      background-position: center; }
      @media (max-width: 480px) {
        main.index .kv-area .kv-inner .kv-img-area {
          background: url(/common/img/index/kv-index_sp.jpg) no-repeat;
          background-size: cover;
          background-position: center top; } }
  main.news .kv-area .kv-inner .kv-img-area {
    background: url(/common/img/news/kv-news_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center; }
    @media (max-width: 480px) {
      main.news .kv-area .kv-inner .kv-img-area {
        background: url(/common/img/news/kv-news_sp.jpg) no-repeat;
        background-size: cover;
        background-position: center top; } }
  main.news .news-content .news-title {
    border-bottom: 1px solid #555555;
    padding-bottom: 16px;
    margin-bottom: 16px; }
    main.news .news-content .news-title h2 {
      font-size: 24px;
      font-weight: normal; }
      @media (max-width: 480px) {
        main.news .news-content .news-title h2 {
          font-size: 1em; } }
  main.news .news-content .news-text {
    width: calc(100% - 24px);
    margin: auto; }
    main.news .news-content .news-text p,
    main.news .news-content .news-text img {
      margin-bottom: 36px; }
    main.news .news-content .news-text img {
      max-width: 640px;
      margin: auto; }
  main.contact .kv-area .kv-inner .kv-img-area {
    background: url(/common/img/contact/kv-contact_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center; }
    @media (max-width: 480px) {
      main.contact .kv-area .kv-inner .kv-img-area {
        background: url(/common/img/contact/kv-contact_sp.jpg) no-repeat;
        background-size: cover;
        background-position: center top; } }
  main.contact .contact-form .input-item {
    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; }
    main.contact .contact-form .input-item.check-policy {
      padding: 0px 0 24px;
      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: nowrap;
          flex-wrap: nowrap; }
      main.contact .contact-form .input-item.check-policy input {
        width: 1em;
        height: 1em;
        border: 1px solid #555555;
        display: block;
        margin-right: 16px; }
        main.contact .contact-form .input-item.check-policy input:checked {
          position: relative; }
          main.contact .contact-form .input-item.check-policy input:checked::after {
            content: "";
            border-top: 3px solid #B21A15;
            border-right: 3px solid #B21A15;
            width: 16px;
            height: 8px;
            display: block;
            position: absolute;
            top: -9px;
            right: 7px;
            left: 0;
            bottom: 0;
            margin: auto;
            -webkit-transform: rotate(132deg);
                    transform: rotate(132deg); }
      main.contact .contact-form .input-item.check-policy label {
        width: auto; }
    main.contact .contact-form .input-item label {
      width: 30%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding: 16px; }
      @media (max-width: 480px) {
        main.contact .contact-form .input-item label {
          width: 100%;
          padding-left: 0; } }
      main.contact .contact-form .input-item label span {
        background: #B21A15;
        color: #fff;
        display: inline-block;
        padding: 0em 0.5em;
        margin-left: 1em; }
    main.contact .contact-form .input-item .wpcf7-form-control-wrap {
      width: 70%;
      display: block;
      margin-bottom: 24px; }
      @media (max-width: 480px) {
        main.contact .contact-form .input-item .wpcf7-form-control-wrap {
          width: 95%;
          margin-left: 5%; } }
      main.contact .contact-form .input-item .wpcf7-form-control-wrap.input_agree {
        width: 0;
        margin: 0;
        padding-right: 16px; }
        @media (max-width: 480px) {
          main.contact .contact-form .input-item .wpcf7-form-control-wrap.input_agree {
            padding-right: 30px; } }
      main.contact .contact-form .input-item .wpcf7-form-control-wrap textarea,
      main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="text"],
      main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="email"],
      main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="tel"] {
        display: block;
        padding: 16px;
        width: 100%;
        border: 1px solid #e6e8ec;
        background: #fff;
        color: #555555;
        line-height: 1.3; }
        main.contact .contact-form .input-item .wpcf7-form-control-wrap textarea ::-webkit-input-placeholder,
        main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="text"] ::-webkit-input-placeholder,
        main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="email"] ::-webkit-input-placeholder,
        main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="tel"] ::-webkit-input-placeholder {
          color: #e6e8ec; }
        main.contact .contact-form .input-item .wpcf7-form-control-wrap textarea ::-moz-placeholder,
        main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="text"] ::-moz-placeholder,
        main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="email"] ::-moz-placeholder,
        main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="tel"] ::-moz-placeholder {
          color: #e6e8ec; }
        main.contact .contact-form .input-item .wpcf7-form-control-wrap textarea ::-ms-input-placeholder,
        main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="text"] ::-ms-input-placeholder,
        main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="email"] ::-ms-input-placeholder,
        main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="tel"] ::-ms-input-placeholder {
          color: #e6e8ec; }
        main.contact .contact-form .input-item .wpcf7-form-control-wrap textarea ::placeholder,
        main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="text"] ::placeholder,
        main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="email"] ::placeholder,
        main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="tel"] ::placeholder {
          color: #e6e8ec; }
        @media (max-width: 480px) {
          main.contact .contact-form .input-item .wpcf7-form-control-wrap textarea,
          main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="text"],
          main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="email"],
          main.contact .contact-form .input-item .wpcf7-form-control-wrap input[type="tel"] {
            width: 100%;
            margin-left: 0%; } }
    main.contact .contact-form .input-item .policy {
      padding: 16px;
      width: 70%;
      border: 1px solid #e6e8ec;
      margin-bottom: 24px;
      background: #fff;
      color: #555555; }
      main.contact .contact-form .input-item .policy ::-webkit-input-placeholder {
        color: #e6e8ec; }
      main.contact .contact-form .input-item .policy ::-moz-placeholder {
        color: #e6e8ec; }
      main.contact .contact-form .input-item .policy ::-ms-input-placeholder {
        color: #e6e8ec; }
      main.contact .contact-form .input-item .policy ::placeholder {
        color: #e6e8ec; }
      @media (max-width: 480px) {
        main.contact .contact-form .input-item .policy {
          width: 95%;
          margin-left: 5%; } }
    main.contact .contact-form .input-item.check-policy span.wpcf7-form-control-wrap {
          width: 30px !important;
          margin-bottom: 0 !important;
      }
  main.company .kv-area .kv-inner .kv-img-area {
    background: url(/common/img/company/kv-company_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center; }
    @media (max-width: 480px) {
      main.company .kv-area .kv-inner .kv-img-area {
        background: url(/common/img/company/kv-company_sp.jpg) no-repeat;
        background-size: cover;
        background-position: center top; } }
  main.company .section-area-content h2 {
    font-size: 22px;
    border-bottom: 1px solid #0c32a0;
    padding-bottom: 10px;
    margin-bottom: 10px;
    color: #0c32a0; }
    @media (max-width: 480px) {
      main.company .section-area-content h2 {
        font-size: 32px; } }
  main.company .company-profile .profile-table {
    width: 95%;
    margin: 40px auto 60px; }
    main.company .company-profile .profile-table dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      main.company .company-profile .profile-table dl dt {
        width: 30%;
        padding: 10px 20px;
        color: #555555;
        background: #dedede;
        border-bottom: 1px solid #fff;
        -webkit-box-sizing: border-box;
                box-sizing: border-box; }
      main.company .company-profile .profile-table dl dd {
        width: 70%;
        padding: 10px 20px;
        color: #555555;
        border-bottom: 1px solid #dedede;
        -webkit-box-sizing: border-box;
                box-sizing: border-box; }
        main.company .company-profile .profile-table dl dd span {
          display: inline-block;
          margin-right: 0.5em;
          font-size: 1em; }
        main.company .company-profile .profile-table dl dd ol li {
          list-style-type: inherit;
          margin-left: 20px; }
        main.company .company-profile .profile-table dl dd.profile-table-txt1 span {
          min-width: 5em; }
        main.company .company-profile .profile-table dl dd.profile-table-txt2 span {
          min-width: 11em; }
        main.company .company-profile .profile-table dl dd.profile-table-txt3 span {
          min-width: 4em; }
    @media (max-width: 480px) {
      main.company .company-profile .profile-table {
        width: 100%;
        margin: 0 auto 60px; }
        main.company .company-profile .profile-table dl dt {
          width: 7em;
          padding: 10px 0.5em;
          letter-spacing: -0.05em;
          font-size: 15px; }
        main.company .company-profile .profile-table dl dd {
          width: calc(100% - 7em);
          padding: 10px 0.5em;
          letter-spacing: -0.05em;
          font-size: 15px; } }
  main.company .company-hub .hub-list {
    width: 95%;
    margin: 40px auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    main.company .company-hub .hub-list .hub-list-box {
      width: calc(50% - 10px);
      margin: 0 20px 60px 0; }
      main.company .company-hub .hub-list .hub-list-box .access {
        padding: 0; }
        main.company .company-hub .hub-list .hub-list-box .access h3 {
          border-left: 10px solid #0c32a0;
          padding-left: 10px;
          color: #0c32a0; }
        main.company .company-hub .hub-list .hub-list-box .access h5 {
          padding: 10px 10px;
          font-size: 16px;
          font-weight: normal;
          color: #555555; }
        main.company .company-hub .hub-list .hub-list-box .access h4 {
          font-size: 18px;
          color: #0c32a0;
          line-height: 28px;
          position: relative;
          padding: 0 10px 0 34px; }
          main.company .company-hub .hub-list .hub-list-box .access h4 .icon {
            max-width: 16px;
            position: absolute;
            left: 10px;
            top: 4px; }
        main.company .company-hub .hub-list .hub-list-box .access p {
          padding: 0 0 20px 30px; }
      main.company .company-hub .hub-list .hub-list-box iframe {
        width: calc(100% - 20px);
        margin: 0 10px; }
      main.company .company-hub .hub-list .hub-list-box:nth-child(2n) {
        margin: 0 0 60px 0; }
    @media (max-width: 480px) {
      main.company .company-hub .hub-list {
        width: 100%;
        margin: 0 auto 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; }
        main.company .company-hub .hub-list .hub-list-box {
          width: 100%;
          margin: 0 0 40px 0;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
          -webkit-box-pack: justify;
              -ms-flex-pack: justify;
                  justify-content: space-between; }
          main.company .company-hub .hub-list .hub-list-box .access {
            width: 100%; }
            main.company .company-hub .hub-list .hub-list-box .access h3 {
              font-size: 18px; }
            main.company .company-hub .hub-list .hub-list-box .access h5 {
              font-size: 14px; }
            main.company .company-hub .hub-list .hub-list-box .access h4 {
              font-size: 16px; }
              main.company .company-hub .hub-list .hub-list-box .access h4 .icon {
                max-width: 20px;
                display: inline-block; }
            main.company .company-hub .hub-list .hub-list-box .access p {
              padding: 10px 0 0 20px;
              font-size: 14px; }
          main.company .company-hub .hub-list .hub-list-box iframe {
            width: 100%;
            margin: 1rem 0; }
          main.company .company-hub .hub-list .hub-list-box:nth-child(2n) {
            margin: 0 0 40px 0; } }
  main.company .company-history .history-table {
    width: 95%;
    margin: 10px auto 60px; }
    main.company .company-history .history-table dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      main.company .company-history .history-table dl dt {
        width: 30%;
        border-bottom: 1px solid #dedede;
        padding: 30px 0;
        color: #555555; }
      main.company .company-history .history-table dl dd {
        width: 70%;
        border-bottom: 1px solid #dedede;
        padding: 30px 0;
        color: #555555; }
    @media (max-width: 480px) {
      main.company .company-history .history-table {
        width: 100%;
        margin: 0 auto 60px; }
        main.company .company-history .history-table dl dt {
          width: 9em; }
        main.company .company-history .history-table dl dd {
          width: calc(100% - 9em); } }
  main.advantage .kv-area .kv-inner .kv-img-area {
    background: url(/common/img/advantage/kv-advantage_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center; }
    @media (max-width: 480px) {
      main.advantage .kv-area .kv-inner .kv-img-area {
        background: url(/common/img/advantage/kv-advantage_sp.jpg) no-repeat;
        background-size: cover;
        background-position: center top; } }
  main.advantage .advantage-list {
    padding: 40px 0 126px;
    max-width: 1920px;
    margin: auto; }
    @media (max-width: 480px) {
      main.advantage .advantage-list {
        padding-bottom: 40px; } }
    main.advantage .advantage-list .item {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      margin-left: -5%;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      main.advantage .advantage-list .item:not(:last-child) {
        margin-bottom: 80px; }
      main.advantage .advantage-list .item:nth-child(odd) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
            -ms-flex-flow: row-reverse;
                flex-flow: row-reverse;
        margin-left: 0%;
        margin-right: -5%; }
      @media (max-width: 780px) {
        main.advantage .advantage-list .item {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-flow: column;
                  flex-flow: column;
          width: 95%;
          margin-left: 0%; }
          main.advantage .advantage-list .item:nth-child(odd) {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-flow: column;
                    flex-flow: column;
            margin-left: 5%; } }
      main.advantage .advantage-list .item .image {
        width: 50%; }
        @media (max-width: 780px) {
          main.advantage .advantage-list .item .image {
            width: 100%; } }
      main.advantage .advantage-list .item .text-area {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding: 16px 16px 0;
        margin: 0;
        width: 560px; }
        main.advantage .advantage-list .item .text-area p {
          padding-left: 1em; }
        @media (max-width: 780px) {
          main.advantage .advantage-list .item .text-area {
            width: 100%; } }
  main.works .kv-area .kv-inner .kv-img-area {
    background: url(/common/img/works/kv-works_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center; }
    @media (max-width: 480px) {
      main.works .kv-area .kv-inner .kv-img-area {
        background: url(/common/img/works/kv-works_sp.jpg) no-repeat;
        background-size: cover;
        background-position: center top; } }
  main.works .works-cat h2 {
    font-size: 32px;
    position: relative;
    color: #555555; }
    main.works .works-cat h2::before {
      content: "";
      width: 100px;
      height: 6px;
      display: block;
      position: absolute;
      background: #0c32a0;
      bottom: -6px; }
    @media (max-width: 480px) {
      main.works .works-cat h2 {
        font-size: 27px; } }
  main.works .works-cat .works-cat-list {
    margin-top: 56px;
    margin-bottom: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    main.works .works-cat .works-cat-list .works-cat-box {
      border-top: 1px solid #555555;
      border-right: 1px solid #555555;
      border-bottom: 1px solid #555555;
      border-left: 10px solid #0c32a0;
      padding: 15px 0;
      width: calc(33.33333% - 13.33333px);
      margin: 0 20px 20px 0; }
      main.works .works-cat .works-cat-list .works-cat-box:nth-child(3n) {
        margin: 0 0 20px 0; }
      main.works .works-cat .works-cat-list .works-cat-box h3 {
        background: #e2e9f8;
        line-height: 32px;
        display: block;
        color: #0c32a0;
        padding: 0 15px; }
      main.works .works-cat .works-cat-list .works-cat-box dl {
        margin: 0 15px 0 30px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; }
        main.works .works-cat .works-cat-list .works-cat-box dl dt {
          background: #0c32a0;
          color: #fff;
          padding: 2px 0;
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          text-align: center;
          width: 5em;
          font-size: 14px;
          margin-top: 10px;
          box-sizing: border-box;
          min-height: 28px; }
        main.works .works-cat .works-cat-list .works-cat-box dl dd {
          width: calc(100% - 6em);
          font-size: 16px;
          margin-top: 10px;
          padding: 2px 0;
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          font-weight: normal;
          color: #555555; }
      @media (max-width: 480px) {
        main.works .works-cat .works-cat-list .works-cat-box {
          width: 100%;
          margin: 0 0 20px 0; } }
  main.works .works-cat.event h2::before {
    content: "";
    background: #970f0f; }
  main.works .works-cat.event .works-cat-list .works-cat-box {
    border-left: 10px solid #970f0f; }
    main.works .works-cat.event .works-cat-list .works-cat-box h3 {
      background: #f9e6e6;
      color: #970f0f; }
    main.works .works-cat.event .works-cat-list .works-cat-box dl dt {
      background: #970f0f; }
  main.works .works-cat.equipment h2::before {
    background: #79a121; }
  main.works .works-cat.equipment .works-cat-list .works-cat-box {
    border-left: 10px solid #79a121; }
    main.works .works-cat.equipment .works-cat-list .works-cat-box h3 {
      background: #f1f8e1;
      color: #79a121; }
    main.works .works-cat.equipment .works-cat-list .works-cat-box dl dt {
      background: #79a121; }
  main.service .kv-area .kv-inner .kv-img-area {
    background: url(/common/img/service/kv-service_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center; }
    @media (max-width: 480px) {
      main.service .kv-area .kv-inner .kv-img-area {
        background: url(/common/img/service/kv-service_sp.jpg) no-repeat;
        background-size: cover;
        background-position: center top; } }
  main.service .content-area {
    padding-top: 0; }
  main.service .service-list {
    overflow: hidden;
    width: 100%; }
  main.service .service-list .traffic-archive li {
      list-style: disc;
      margin-left: 1rem;
      margin-bottom: 0.5rem;
  }
  main.service .contents .facility-sub-img {
      display: flex;
  }
  main.service .contents .facility-sub-img img {
      display: block;
      width: 50%;
      padding: 0 0.3rem;
      border-radius: 0.7rem;
      margin-top: 0;
  }
    @media (max-width: 780px) {
      main.service .service-list {
        width: 90%;
        margin: auto; } }
    @media (max-width: 780px) {
      main.service .service-list .item {
        margin-top: 5%; } }
    main.service .service-list .item .title {
      width: 100%;
      margin-left: 0%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      main.service .service-list .item .title .text-area {
        max-width: 540px;
        width: 50%;
        margin-right: 0; }
        main.service .service-list .item .title .text-area h3 {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start;
          border-bottom: 1px solid #0c32a0;
          font-size: 32px; }
          main.service .service-list .item .title .text-area h3 .icon {
            height: 50px;
            margin-right: 16px; }
            main.service .service-list .item .title .text-area h3 .icon img {
              height: 100%;
              width: auto;
              display: block; }
        main.service .service-list .item .title .text-area p,
        main.service .service-list .item .title .text-area h4 {
          padding-left: 56px; }
          @media (max-width: 780px) {
            main.service .service-list .item .title .text-area p,
            main.service .service-list .item .title .text-area h4 {
              padding-left: 24px;
              margin-bottom: 1em; } }
      main.service .service-list .item .title .image {
        width: 50%; }
      @media (max-width: 780px) {
        main.service .service-list .item .title {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-flow: column;
                  flex-flow: column; }
          main.service .service-list .item .title .text-area {
            width: 100%;
            max-width: none; }
          main.service .service-list .item .title .image {
            width: 100%; } }
  main.service .contents {
    width: 100%;
    max-width: 1100px;
    margin: auto;
    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;
    margin-bottom: 56px;
    margin-top: 24px; }
    main.service .contents .txt_indent {
      font-size: 14px;
      text-align: right; }
    main.service .contents .content {
      width: calc(50% - 20px); }
      main.service .contents .content:not(:first-child) {
        margin-left: 40px; }
      @media (max-width: 780px) {
        main.service .contents .content {
          width: 100%; }
          main.service .contents .content:not(:first-child) {
            margin-left: 0;
            margin-top: 24px; }
          main.service .contents .content .text-area {
            width: 95%;
            margin: auto; } }
      main.service .contents .content h4 {
        background: linear-gradient(45deg, #0c32a0 97%, rgba(0, 0, 0, 0) 10%);
        color: #fff;
        font-weight: normal;
        padding: 0.25em 0.5em; }
      main.service .contents .content p,
      main.service .contents .content img,
      main.service .contents .content ul {
        margin-top: 16px; }
        main.service .contents .content p span,
        main.service .contents .content img span,
        main.service .contents .content ul span {
          font-size: inherit; }
      main.service .contents .content ul {
        counter-reset: eventFeature; }
        main.service .contents .content ul li {
          padding-left: 1em;
          text-indent: -1em; }
          main.service .contents .content ul li p {
            margin: 0 0.5em 0 0;
            position: relative;
            display: inline-block;
            width: 1em;
            height: 1em;
            background-color: #0c32a0;
            border-radius: 50%;
            line-height: 100%; }
            main.service .contents .content ul li p span {
              font-size: 12px;
              position: absolute;
              left: 0;
              top: 0;
              right: 0;
              bottom: 0;
              margin: auto;
              color: #fff;
              text-align: center;
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-align: center;
                  -ms-flex-align: center;
                      align-items: center;
              height: 100%;
              width: 100%;
              -webkit-box-pack: end;
                  -ms-flex-pack: end;
                      justify-content: end; }
            @media (max-width: 780px) {
              main.service .contents .content ul li p {
                height: 1.25em;
                width: 1.25em; } }
  main.flow .kv-area .kv-inner .kv-img-area {
    background: url(/common/img/flow/kv-flow_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center; }
    @media (max-width: 480px) {
      main.flow .kv-area .kv-inner .kv-img-area {
        background: url(/common/img/flow/kv-flow_sp.jpg) no-repeat;
        background-size: cover;
        background-position: center top; } }
  @media (max-width: 480px) {
    main.flow .section-area-content {
      width: 90%;
      margin: auto; } }
  main.flow .flow-list {
    max-width: 932px;
    margin: 0 auto 80px; }
    main.flow .flow-list .flow-arrow {
      width: 100px;
      height: 40px;
      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;
      margin: 20px auto; }
      main.flow .flow-list .flow-arrow img {
        width: 100%;
        display: block;
        height: auto;
        margin: auto; }
    main.flow .flow-list .flow {
      border-radius: 30px;
      border: 2px solid #0c32a0;
      background: #fff;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      overflow: hidden; }
      main.flow .flow-list .flow .flow-inner {
        margin-left: 5%; }
        main.flow .flow-list .flow .flow-inner h3 {
          color: #0c32a0;
          padding: 0.5em;
          border-bottom: 1px solid #555555;
          margin-bottom: 16px; }
        main.flow .flow-list .flow .flow-inner p {
          margin-bottom: 16px; }
          main.flow .flow-list .flow .flow-inner p a {
            color: #0080D2; }
      main.flow .flow-list .flow .flow-image {
        width: 28%;
        position: relative;
        height: 210px;
        display: block; }
        main.flow .flow-list .flow .flow-image img {
          position: absolute;
          top: 0;
          left: 0;
          margin: auto;
          height: 100%;
          width: auto; }
      main.flow .flow-list .flow .step {
        position: relative; }
        main.flow .flow-list .flow .step p {
          padding: 8px;
          color: #fff;
          font-size: 24px;
          position: relative;
          z-index: 2; }
        main.flow .flow-list .flow .step .tri {
          position: absolute;
          width: 400px;
          height: 200px;
          background: #0c32a0;
          display: block;
          -webkit-transform: rotate(-36deg) translateX(14px) translateY(-213px);
                  transform: rotate(-36deg) translateX(14px) translateY(-213px); }
    @media (max-width: 480px) {
      main.flow .flow-list .flow {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-flow: column;
                flex-flow: column; }
        main.flow .flow-list .flow .flow-inner {
          width: 90%;
          margin: auto; }
          main.flow .flow-list .flow .flow-inner h3 {
            text-align: center;
            padding: 0 0 0.5em;
            margin-bottom: 0.5em; }
          main.flow .flow-list .flow .flow-inner p {
            margin-bottom: 5%; }
            main.flow .flow-list .flow .flow-inner p a {
              color: #0080D2; }
        main.flow .flow-list .flow .step {
          position: relative; }
          main.flow .flow-list .flow .step .tri {
            -webkit-transform: rotate(-25deg) translateX(7px) translateY(-200px);
                    transform: rotate(-25deg) translateX(7px) translateY(-200px); }
        main.flow .flow-list .flow .flow-image {
          width: 100%;
          position: relative;
          height: auto;
          display: block; }
          main.flow .flow-list .flow .flow-image img {
            position: relative;
            top: 0;
            left: 0;
            margin: auto;
            height: auto;
            width: 100%; } }
  main.recruitment .kv-area .kv-inner .kv-img-area {
    background: url(/common/img/recruitment/kv-recruitment_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center; }
    @media (max-width: 480px) {
      main.recruitment .kv-area .kv-inner .kv-img-area {
        background: url(/common/img/recruitment/kv-recruitment_sp.jpg) no-repeat;
        background-size: cover;
        background-position: center top; } }
  main.recruitment .section-area-content .bl-rec-title {
    text-align: center;
    margin: 104px auto 40px;
    font-size: 32px; }
    @media (max-width: 480px) {
      main.recruitment .section-area-content .bl-rec-title {
        margin: 64px auto 24px; } }
  main.recruitment .section-area-content .bl-rec-subtitle {
    font-size: 25px;
    text-align: center;
    color: #555555; }
    main.recruitment .section-area-content .bl-rec-subtitle.width-num {
      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; }
      main.recruitment .section-area-content .bl-rec-subtitle.width-num .num {
        width: 32px;
        margin-right: 8px; }
  main.recruitment .section-area-content .bl-rec-kyujin-list {
    margin: 24px auto 40px;
    text-align: center;
    max-width: 560px;
    width: 100%; }
    main.recruitment .section-area-content .bl-rec-kyujin-list .item > a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 100%;
      padding: 16px 32px 16px 24px;
      position: relative;
      text-align: left; }
      main.recruitment .section-area-content .bl-rec-kyujin-list .item > a .tri {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 8px;
        margin: auto;
        width: 0;
        height: 0;
        border: 8px solid transparent;
        border-bottom: 8px solid #0c32a0;
        -webkit-transform: rotate(90deg);
                transform: rotate(90deg);
        display: block; }
      main.recruitment .section-area-content .bl-rec-kyujin-list .item > a .white-link {
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 12px;
        margin: auto; }
    main.recruitment .section-area-content .bl-rec-kyujin-list .item:not(first-child) {
      border-bottom: 1px solid #555; }
  main.recruitment .section-area-content .bl-rec-img {
    max-width: 932px;
    width: 100%;
    margin: 0 auto 80px; }
  main.recruitment .section-area-content .bl-rec-text {
    font-size: 18px;
    color: #555555;
    text-align: center;
    margin: 24px auto 32px; }
    @media (max-width: 480px) {
      main.recruitment .section-area-content .bl-rec-text {
        margin: 24px auto; } }
  main.recruitment .section-area-content .bl-rec-quests {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto 80px;
    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 (max-width: 480px) {
      main.recruitment .section-area-content .bl-rec-quests {
        margin-bottom: 24px; } }
    main.recruitment .section-area-content .bl-rec-quests .bl-rec-quest {
      width: calc(50% - 10px);
      margin-bottom: 40px; }
      main.recruitment .section-area-content .bl-rec-quests .bl-rec-quest .bl-rec-inner {
        height: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding: 8px;
        border-radius: 8px;
        background: rgba(85, 85, 85, .05);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-flow: column;
                flex-flow: column;
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch; }
        main.recruitment .section-area-content .bl-rec-quests .bl-rec-quest .bl-rec-inner span {
          color: #0c32a0;
          font-size: 30px;
          font-weight: bold; }
        main.recruitment .section-area-content .bl-rec-quests .bl-rec-quest .bl-rec-inner h4 {
          font-size: 18px;
          color: #555;
          position: relative;
          text-indent: -36px;
          padding-left: 44px; }
        main.recruitment .section-area-content .bl-rec-quests .bl-rec-quest .bl-rec-inner p {
          margin-top: 8px;
          font-size: 16px;
          background: #fff;
          display: block;
          position: relative;
          padding: 8px;
          padding-left: 38px;
          height: 100%; }
          main.recruitment .section-area-content .bl-rec-quests .bl-rec-quest .bl-rec-inner p span {
            position: absolute;
            top: 0;
            left: 8px; }
      main.recruitment .section-area-content .bl-rec-quests .bl-rec-quest:nth-child(odd) {
        margin-right: 20px; }
      @media (max-width: 480px) {
        main.recruitment .section-area-content .bl-rec-quests .bl-rec-quest {
          margin-bottom: 20px;
          width: 100%; }
          main.recruitment .section-area-content .bl-rec-quests .bl-rec-quest:nth-child(odd) {
            margin-right: 0; } }
  @media (max-width: 480px) {
    main.recruitment .section-area-content {
      width: 90%;
      margin: auto; } }
  main.faq .kv-area .kv-inner .kv-img-area {
    background: url(/common/img/faq/kv-faq_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center; }
    @media (max-width: 480px) {
      main.faq .kv-area .kv-inner .kv-img-area {
        background: url(/common/img/faq/kv-faq_sp.jpg) no-repeat;
        background-size: cover;
        background-position: center top; } }
  main.faq .faq-list-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    main.faq .faq-list-container .faq-title-list {
      width: 30%; }
      main.faq .faq-list-container .faq-title-list ul {
        width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding-right: 24px; }
        main.faq .faq-list-container .faq-title-list ul li {
          width: 100%; }
          main.faq .faq-list-container .faq-title-list ul li:not(:last-child) {
            margin-bottom: 16px; }
          main.faq .faq-list-container .faq-title-list ul li a {
            width: 100%;
            padding: 1em;
            background: #e6e8ec;
            display: block;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            position: relative; }
            main.faq .faq-list-container .faq-title-list ul li a span {
              position: absolute;
              color: #fff;
              right: 16px;
              top: 0;
              bottom: 0;
              margin: auto; }
    main.faq .faq-list-container .faq-contents {
      width: 70%;
      margin: 0 auto; }
      main.faq .faq-list-container .faq-contents .faq-content {
        margin-bottom: 64px; }
        main.faq .faq-list-container .faq-contents .faq-content .faq-title {
          margin-bottom: 24px;
          padding-bottom: 8px;
          border-bottom: 1px solid #0c32a0;
          font-size: 24px; }
        main.faq .faq-list-container .faq-contents .faq-content .faqs .faq {
          -webkit-transition: 0.3s;
          transition: 0.3s;
          background: #e6e8ec;
          color: #555555;
          padding: 0 16px 0;
          cursor: pointer; }
          main.faq .faq-list-container .faq-contents .faq-content .faqs .faq:not(:last-child) {
            margin-bottom: 24px; }
          main.faq .faq-list-container .faq-contents .faq-content .faqs .faq h5 {
            padding-top: 16px;
            padding-bottom: 16px;
            padding-right: 32px;
            font-size: 18px;
            color: #555555;
            font-weight: normal;
            width: 100%;
            position: relative; }
          main.faq .faq-list-container .faq-contents .faq-content .faqs .faq p {
            background: #fff;
            color: #555555;
            padding: 0 16px;
            -webkit-transition: 0.3s;
            transition: 0.3s;
            height: 0; }
          main.faq .faq-list-container .faq-contents .faq-content .faqs .faq .toggle {
            position: absolute;
            display: block;
            height: 16px;
            width: 16px;
            right: 8px;
            top: 0;
            bottom: 0;
            margin: auto; }
            main.faq .faq-list-container .faq-contents .faq-content .faqs .faq .toggle::after, main.faq .faq-list-container .faq-contents .faq-content .faqs .faq .toggle::before {
              -webkit-transition: 0.3s;
              transition: 0.3s;
              content: "";
              width: 2px;
              height: 16px;
              background: #555555;
              display: block;
              position: absolute;
              top: 0;
              bottom: 0;
              right: 0;
              left: 0;
              margin: auto;
              -webkit-transform: rotate(90deg);
                      transform: rotate(90deg);
              -webkit-transform-origin: center;
                      transform-origin: center; }
            main.faq .faq-list-container .faq-contents .faq-content .faqs .faq .toggle::before {
              -webkit-transform: rotate(0deg);
                      transform: rotate(0deg); }
          main.faq .faq-list-container .faq-contents .faq-content .faqs .faq.open p {
            margin-bottom: 8px;
            height: auto;
            padding: 16px; }
          main.faq .faq-list-container .faq-contents .faq-content .faqs .faq.open .toggle::before {
            -webkit-transform: rotate(90deg);
                    transform: rotate(90deg); }
    @media (max-width: 780px) {
      main.faq .faq-list-container .faq-title-list {
        width: 100%; }
        main.faq .faq-list-container .faq-title-list ul {
          padding: 0;
          width: 100%;
          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;
          -webkit-box-align: start;
              -ms-flex-align: start;
                  align-items: flex-start; }
          main.faq .faq-list-container .faq-title-list ul li {
            width: 30%;
            margin: 0 1%; }
            main.faq .faq-list-container .faq-title-list ul li a {
              text-align: center;
              padding-bottom: 32px; }
              main.faq .faq-list-container .faq-title-list ul li a span {
                left: 0;
                right: 0;
                margin: auto;
                position: absolute;
                top: unset;
                bottom: 8px; }
      main.faq .faq-list-container .faq-contents {
        width: 100%; } }
  main.document .kv-area .kv-inner .kv-img-area {
    background: url(/common/img/document/kv-document_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center; }
    @media (max-width: 480px) {
      main.document .kv-area .kv-inner .kv-img-area {
        background: url(/common/img/document/kv-document_sp.jpg) no-repeat;
        background-size: cover;
        background-position: center top; } }
  main .kv-area {
    margin: auto;
    height: 316px;
    width: 100%;
    overflow: hidden;
    position: relative; }
    main .kv-area .kv-inner {
      width: 100%;
      height: 100%; }
      main .kv-area .kv-inner::before, main .kv-area .kv-inner::after {
        content: "";
        width: 100%;
        position: absolute;
        z-index: 1;
        height: 100%;
        background: url(../img/mv-decoration.png) no-repeat;
        background-size: contain;
        top: 0;
        bottom: 0;
        margin: auto; }
      main .kv-area .kv-inner::after {
        -webkit-transform: scale(-1);
                transform: scale(-1); }
        @media (max-width: 1500px) {
          main .kv-area .kv-inner::after {
            right: -20%; } }
        @media (max-width: 1100px) {
          main .kv-area .kv-inner::after {
            right: -40%; } }
        @media (max-width: 780px) {
          main .kv-area .kv-inner::after {
            right: -50%; } }
      @media (max-width: 1500px) {
        main .kv-area .kv-inner::before {
          left: -20%; } }
      @media (max-width: 1100px) {
        main .kv-area .kv-inner::before {
          left: -40%; } }
      @media (max-width: 780px) {
        main .kv-area .kv-inner::before {
          left: -50%; } }
      main .kv-area .kv-inner .kv-img-area {
        position: absolute;
        z-index: 0;
        width: 100%;
        height: 100%;
        display: block; }
        main .kv-area .kv-inner .kv-img-area::before {
          content: "";
          width: 100%;
          height: 80px;
          position: absolute;
          content: "";
          display: block;
          top: 0;
          left: 0;
          right: 0;
          margin: auto;
          background: -webkit-gradient(linear, left bottom, left top, from(rgba(51, 51, 51, 0)), to(rgba(39, 39, 39, 0.54118)));
          background: linear-gradient(0deg, rgba(51, 51, 51, 0), rgba(39, 39, 39, 0.54118)); }
      main .kv-area .kv-inner .kv-contents-area {
        position: relative;
        z-index: 2;
        width: 100%;
        height: 100%;
        max-width: 1100px;
        margin: auto;
        letter-spacing: 2px; }
        main .kv-area .kv-inner .kv-contents-area h1 {
          position: absolute;
          top: 25%;
          left: 0;
          right: 0;
          bottom: 0;
          margin: auto;
          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;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-flow: column;
                  flex-flow: column; }
          main .kv-area .kv-inner .kv-contents-area h1 span {
            line-height: 100%;
            font-size: 0.25em;
            display: block; }
          @media (max-width: 480px) {
            main .kv-area .kv-inner .kv-contents-area h1 {
              top: 10%; } }
    @media (max-width: 480px) {
      main .kv-area {
        height: 240px; } }
  main section.content-area {
    padding: 40px 0 56px; }
    main section.content-area img {
      width: 100%;
      display: block;
      height: auto; }
    main section.content-area .section-title {
      text-align: center;
      margin-bottom: 24px;
      letter-spacing: 4px; }
      main section.content-area .section-title p {
        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; }
        main section.content-area .section-title p .deco {
          display: inline-block;
          width: 8px;
          height: 2px;
          background: #0c32a0;
          margin: 0 4px; }
        main section.content-area .section-title p.text-color-white .deco {
          background: #fff; }
    main section.content-area .page-introduce {
      text-align: center;
      padding: 80px 0; }
      main section.content-area .page-introduce p {
        line-height: 200%; }
      @media (max-width: 480px) {
        main section.content-area .page-introduce {
          padding: 5% 0; } }
    main section.content-area .section-area-content {
      margin-bottom: 40px; }
      main section.content-area .section-area-content .text-area {
        position: relative; }
        main section.content-area .section-area-content .text-area p {
          margin-top: 8px;
          margin-bottom: 24px;
          line-height: 200%; }
        main section.content-area .section-area-content .text-area .button-link {
          position: relative;
          bottom: 0;
          right: 0;
          left: 0;
          margin: auto; }
        main section.content-area .section-area-content .text-area table {
          width: 100%;
          border-collapse: collapse;
          border-top: 1px solid #ccc;
          border-bottom: 1px solid #ccc;
          font-weight: normal;
          font-size: 16px;
          color: #555; }
          main section.content-area .section-area-content .text-area table.tb02 {
            margin-top: 10px; }
            main section.content-area .section-area-content .text-area table.tb02 th {
              width: 70%;
              background-color: transparent; }
            main section.content-area .section-area-content .text-area table.tb02 td {
              text-align: right; }
          main section.content-area .section-area-content .text-area table th {
            width: 30%;
            padding: 6px;
            text-align: left;
            vertical-align: top;
            color: #666666;
            background: url(bg.jpg) repeat-x top left #eee;
            border-bottom: 1px solid #999;
            font-weight: normal;
            font-size: 16px; }
          main section.content-area .section-area-content .text-area table td {
            padding: 6px;
            border-bottom: 1px solid #999;
            font-size: 16px; }
      main section.content-area .section-area-content .txt_center {
        text-align: center; }
    main section.content-area #sec-business .flex-item {
      background: #fff; }
      main section.content-area #sec-business .flex-item .content-area {
        width: calc(100% - 24px);
        background: #fff;
        margin: auto;
        position: relative;
        top: -24px;
        padding: 0px 16px; }
        main section.content-area #sec-business .flex-item .content-area .title-area {
          text-align: center; }
          main section.content-area #sec-business .flex-item .content-area .title-area span {
            width: 50%;
            margin: auto;
            display: block; }
        main section.content-area #sec-business .flex-item .content-area .text-area {
          padding: 0;
          width: 100%; }
      main section.content-area #sec-business .flex-item .img-area {
        position: relative;
        width: 100%;
        padding-top: 56%;
        overflow: hidden; }
        main section.content-area #sec-business .flex-item .img-area img {
          position: absolute;
          top: 0;
          right: 0;
          left: 0;
          margin: auto; }
    main section.content-area #sec-training .training-flow {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: calc(100% - 48px);
      margin: auto; }
      main section.content-area #sec-training .training-flow img {
        display: block;
        height: auto;
        width: calc(33.33333% - 11px); }
        main section.content-area #sec-training .training-flow img:not(:last-child) {
          margin-right: 16px; }
      @media (max-width: 480px) {
        main section.content-area #sec-training .training-flow {
          width: 100%; } }
    @media (max-width: 480px) {
      main section.content-area #sec-access .flex-col2 {
        margin-bottom: 24px; } }

#page_contact {
  position: fixed;
  right: 0;
  bottom: 80px;
  z-index: 4; }
  #page_contact img {
    -webkit-box-shadow: 5px 4px 2px rgba(0, 0, 0, 0.1098);
            box-shadow: 5px 4px 2px rgba(0, 0, 0, 0.1098); }
  @media (max-width: 480px) {
    #page_contact {
      height: 40px;
      width: 100%;
      left: 0;
      bottom: 0; }
      #page_contact a {
        width: auto;
        height: 100%;
        display: block;
        margin: auto;
        background: #fcb407; }
      #page_contact img {
        width: auto;
        height: 100%;
        display: block;
        margin: auto;
        background: #fcb407;
        -webkit-box-shadow: none;
                box-shadow: none; } }

.br-8 {
  border-radius: 8px;
  overflow: hidden; }

.box-shadow {
  -webkit-box-shadow: 5px 4px 2px rgba(0, 0, 0, 0.1098);
          box-shadow: 5px 4px 2px rgba(0, 0, 0, 0.1098); }

.ly-news > ul {
  padding: 24px 0 64px; }
  .ly-news > ul > li {
    border-bottom: 1px solid #555555;
    margin-bottom: 16px; }
    .ly-news > ul > li > a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      position: relative;
      padding: 16px 0 16px;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .ly-news > ul > li > a .date {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: 0 0 0 16px; }
        .ly-news > ul > li > a .date p {
          color: #0c32a0; }
        @media (max-width: 480px) {
          .ly-news > ul > li > a .date {
            width: 100%;
            margin: 0; } }
      .ly-news > ul > li > a .tag {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .ly-news > ul > li > a .tag p {
          padding: 0.25em 1em; }
          .ly-news > ul > li > a .tag p:not(:first-child) {
            margin-left: 1em; }
        .ly-news > ul > li > a .tag .category {
          background: #fcb407;
          color: #fff; }
        @media (max-width: 480px) {
          .ly-news > ul > li > a .tag {
            width: 100%;
            margin-bottom: 2.5%; } }
      .ly-news > ul > li > a .text {
        margin-left: 24px;
        padding-right: 32px; }
        @media (max-width: 480px) {
          .ly-news > ul > li > a .text {
            margin-left: 1em; } }
      .ly-news > ul > li > a .arrow-icon {
        position: absolute;
        right: 16px;
        top: 0;
        bottom: 0;
        margin: auto; }
        @media (max-width: 480px) {
          .ly-news > ul > li > a .arrow-icon {
            width: 1.25em;
            height: 1.25em; } }
      .ly-news > ul > li > a .pdf-icon {
        position: absolute;
        right: 16px;
        top: 0;
        bottom: 0;
        margin: auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        @media (max-width: 480px) {
          .ly-news > ul > li > a .pdf-icon {
            width: 1.25em;
            height: 1.25em;
            top: unset;
            bottom: 8px; } }
  @media (max-width: 480px) {
    .ly-news > ul li {
      margin-bottom: 2.5%; }
      .ly-news > ul li a {
        padding: 2.5% 0; } }

.arrow-icon {
  background: #555555;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  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; }
  .arrow-icon span {
    color: #fff;
    line-height: 100%;
    display: block; }
  .arrow-icon.white-icon {
    background: #fff; }
    .arrow-icon.white-icon span {
      color: #555555; }

@media (max-width: 480px) {
  .branch-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .branch-list .branch-item {
      width: 98%; }
      .branch-list .branch-item:not(:nth-child(2n)) {
        margin-right: 2%; } }

.branch-list .branch-item h4 {
  border-left: 6px solid #0c32a0;
  padding-left: 6px; }
  @media (max-width: 480px) {
    .branch-list .branch-item h4 {
      padding-left: 2%; } }

.branch-list .branch-item p {
  padding-left: 16px; }
  @media (max-width: 480px) {
    .branch-list .branch-item p {
      padding-left: 4%; } }

.nav-links {
  margin: auto;
  width: 100%;
  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; }
  .nav-links .page-numbers {
    width: 32px;
    height: 32px;
    margin: 0 4px;
    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;
    background: #fff;
    border: 1px solid #0c32a0;
    font-size: 16px;
    color: #0c32a0; }
    .nav-links .page-numbers.current {
      color: #555555;
      border-color: #555555; }
    .nav-links .page-numbers.prev, .nav-links .page-numbers.next {
      border: none;
      background: none;
      position: relative;
      color: #fff; }
      .nav-links .page-numbers.prev::before, .nav-links .page-numbers.next::before {
        content: "";
        width: 50%;
        height: 50%;
        display: block;
        border-top: 2px solid #0c32a0;
        border-right: 2px solid #0c32a0;
        position: absolute; }
    .nav-links .page-numbers.prev {
      -webkit-transform: rotate(225deg);
              transform: rotate(225deg); }
    .nav-links .page-numbers.next {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }

.screen-reader-response p {
  text-align: center;
  color: #B21A15;
  margin-bottom: 1em; }

.screen-reader-response ul {
  display: none; }

.wpcf7-form-control-wrap span.wpcf7-not-valid-tip {
  color: #B21A15; }

.wpcf7-response-output {
  text-align: center;
  color: #B21A15;
  margin-top: 1em; }

.screen-reader-text {
  display: none; }

.logo-tomonin {
  width: 240px;
  margin: 80px auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fff;
  padding: 36px; }

a.outbound-link-btn {
    padding: 0.5em 1em;
    display: block;
    border: solid 1px #518ce9;
    width: 16em;
    text-align: center;
    margin: 0 0.5em;
    color: #518ce9;
}

a.outbound-link-btn:hover {
    background: #518ce9;
    color: white;
}

@media (max-width: 480px) {
  a.outbound-link-btn {
      font-size: 0.8rem;
      padding: 0.5rem 0.2rem;
      width: 11rem;
  }
}

main.advantage .advantage-list .item .text-area ol li {
  display: block;
  padding-left: 3em;
  position: relative;
}

main.advantage .advantage-list .item .text-area ol li:before {
  content: "(" counter(count) ")";
  counter-increment: count 1;
  position: absolute;
  left: 1.5em;
}

main.advantage .advantage-list .item .text-area ol {
  counter-reset: count 0;
}
ol.policy-row {
  counter-reset: count 0;
}

ol.policy-row > li:before {
  content: counter(count) ". ";
  counter-increment: count 1;
  position: absolute;
  left: 1em;
}

ol.policy-row > li {
  padding-left: 2.5em;
  position: relative;
  margin-bottom: 1em;
}

ul.policy-inrow {
  margin-top: 0.5em;
}

ul.policy-inrow > li {
  padding-left: 1.5em;
  position: relative;
  margin-bottom: 0.5em;
}

ul.policy-inrow > li:before {
  content: "・";
  position: absolute;
  left: 0;
}
