@charset "UTF-8";
*, *::after, *::before {
  box-sizing: border-box; }

body {
  margin: 0;
  line-height: 1; }

ul, ol {
  list-style: none; }

a {
  text-decoration: none; }

h1, h2, h3, h4, h5, h6, p, ul, ol {
  margin: 0;
  padding: 0; }

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

button {
  background-color: inherit;
  padding: 0;
  border: none; }

iframe {
  border: none;
  width: 100%; }

figure {
  margin: 0; }

* {
  word-wrap: break-word; }

html {
  font-family: "Helvetica", "Arial", YuGothic, "Yu Gothic", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

a {
  color: #00698C; }

.svg_sym {
  display: none; }

.l-wrapper {
  max-width: 1024px;
  margin: 0 auto;
  padding: 2em 0; }

.l-wrapper-wide {
  max-width: 80%;
  padding: 2em 0; }

@media screen and (min-width: 1024px) {
  .l-content {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    position: relative; } }

.l-content-main {
  padding: 10px; }
  @media screen and (min-width: 1024px) {
    .l-content-main {
      width: 100%;
      margin-right: 40px;
      max-width: 700px; } }

@media screen and (min-width: 1024px) {
  .l-wrapper-wide .l-content-main {
    max-width: 100%;
    margin-right: 0; } }

.l-content-sub {
  padding: 20px; }
  @media screen and (min-width: 1024px) {
    .l-content-sub {
      padding: 0;
      position: relative;
      max-width: 300px;
      flex-basis: 300px;
      margin: 0 auto 40px 0; } }
  .l-content-sub .sub-2 {
    position: sticky;
    top: 0;
    right: 0; }

@media screen and (min-width: 768px) {
  .md-hide {
    display: none; } }

.sp-none {
  display: none; }
  @media screen and (min-width: 768px) {
    .sp-none {
      display: block; } }

/*!
 * animate.css - https://animate.style/
 * Version - 4.1.1
 * Licensed under the Hippocratic License 2.1 - http://firstdonoharm.dev
 *
 * Copyright (c) 2022 Animate.css
 */
:root {
  --animate-duration: 1s;
  --animate-delay: 1s;
  --animate-repeat: 1; }

[class*="inview-"] {
  opacity: 0; }

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-duration: var(--animate-duration);
  animation-duration: var(--animate-duration);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated.animate__infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animated.animate__repeat-1 {
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-iteration-count: var(--animate-repeat);
  animation-iteration-count: var(--animate-repeat); }

.animated.animate__repeat-2 {
  -webkit-animation-iteration-count: calc(1 * 2);
  animation-iteration-count: calc(1 * 2);
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 2);
  animation-iteration-count: calc(var(--animate-repeat) * 2); }

.animated.animate__repeat-3 {
  -webkit-animation-iteration-count: calc(1 * 3);
  animation-iteration-count: calc(1 * 3);
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 3);
  animation-iteration-count: calc(var(--animate-repeat) * 3); }

.animated.animate__delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
  -webkit-animation-delay: var(--animate-delay);
  animation-delay: var(--animate-delay); }

.animated.animate__delay-2s {
  -webkit-animation-delay: calc(1s * 2);
  animation-delay: calc(1s * 2);
  -webkit-animation-delay: calc(var(--animate-delay) * 2);
  animation-delay: calc(var(--animate-delay) * 2); }

.animated.animate__delay-3s {
  -webkit-animation-delay: calc(1s * 3);
  animation-delay: calc(1s * 3);
  -webkit-animation-delay: calc(var(--animate-delay) * 3);
  animation-delay: calc(var(--animate-delay) * 3); }

.animated.animate__delay-4s {
  -webkit-animation-delay: calc(1s * 4);
  animation-delay: calc(1s * 4);
  -webkit-animation-delay: calc(var(--animate-delay) * 4);
  animation-delay: calc(var(--animate-delay) * 4); }

.animated.animate__delay-5s {
  -webkit-animation-delay: calc(1s * 5);
  animation-delay: calc(1s * 5);
  -webkit-animation-delay: calc(var(--animate-delay) * 5);
  animation-delay: calc(var(--animate-delay) * 5); }

.animated.animate__faster {
  -webkit-animation-duration: calc(1s / 2);
  animation-duration: calc(1s / 2);
  -webkit-animation-duration: calc(var(--animate-duration) / 2);
  animation-duration: calc(var(--animate-duration) / 2); }

.animated.animate__fast {
  -webkit-animation-duration: calc(1s * 0.8);
  animation-duration: calc(1s * 0.8);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.8);
  animation-duration: calc(var(--animate-duration) * 0.8); }

.animated.animate__slow {
  -webkit-animation-duration: calc(1s * 2);
  animation-duration: calc(1s * 2);
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
  animation-duration: calc(var(--animate-duration) * 2); }

.animated.animate__slower {
  -webkit-animation-duration: calc(1s * 3);
  animation-duration: calc(1s * 3);
  -webkit-animation-duration: calc(var(--animate-duration) * 3);
  animation-duration: calc(var(--animate-duration) * 3); }

@media print, (prefers-reduced-motion: reduce) {
  .animated {
    -webkit-animation-duration: 1ms !important;
    animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
    transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important; } }
/* Fading entrances  */
@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-30px, 0, 0);
    transform: translate3d(-30px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-30px, 0, 0);
    transform: translate3d(-30px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(30px, 0, 0);
    transform: translate3d(30px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(30px, 0, 0);
    transform: translate3d(30px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

/* CSS Document */
:root {
  --color-blue: #1C2A4A; }

html {
  font-family: 'Noto Serif JP', serif; }

body {
  background: #FFF url("../images/body_bg.jpg") repeat top center;
  color: #333;
  font-weight: 500; }

section {
  padding: 30px 0;
  position: relative; }
  @media screen and (min-width: 768px) {
    section {
      padding: 70px 0; } }
  section.noPadding {
    padding: 0; }

.hover-line {
  position: relative;
  display: inline-block;
  text-decoration: none; }
  .hover-line::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s; }
  .hover-line:hover::after {
    transform: scale(1, 1); }

br.sp-hide {
  display: none; }
  @media screen and (min-width: 768px) {
    br.sp-hide {
      display: inline; } }
@media screen and (min-width: 768px) {
  br.pc-hide {
    display: none; } }

.inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 1; }

.mid_title {
  font-size: 20px;
  text-align: center;
  margin: 0 0 2em;
  line-height: 1.4;
  letter-spacing: .3em; }
  @media screen and (min-width: 768px) {
    .mid_title {
      font-size: 28px; } }

.large_title {
  font-size: 22px;
  line-height: 1.7;
  text-align: center;
  color: var(--color-red);
  letter-spacing: .15em;
  margin: 0 0 1.3em; }
  @media screen and (min-width: 768px) {
    .large_title {
      font-size: 34px;
      line-height: 1.3; } }

.lead {
  font-size: 14px;
  text-align: justify;
  letter-spacing: .15em;
  font-weight: 700;
  line-height: 2; }
  @media screen and (min-width: 768px) {
    .lead {
      font-size: 16px;
      text-align: center; } }

.bg_blue {
  background-color: var(--color-blue); }

.bg_light_blue {
  background-color: rgba(28, 42, 74, 0.1); }

.siteHeader {
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
  align-items: center;
  height: 50px; }
  @media screen and (min-width: 768px) {
    .siteHeader {
      padding: 0 60px;
      height: 110px; } }
  @media screen and (min-width: 768px) {
    .siteHeader nav {
      display: block; } }
  .siteHeader nav ul {
    display: flex; }
  .siteHeader nav li {
    margin: 0 1em;
    width: calc( 100% - 2em);
    border-bottom: solid 1px #CCC; }
    @media screen and (min-width: 768px) {
      .siteHeader nav li {
        width: auto;
        border-bottom: none; } }
  .siteHeader nav a {
    font-size: 18px;
    color: #333;
    text-align: left; }
  @media screen and (min-width: 768px) {
    .siteHeader {
      display: flex; } }
  .siteHeader .menu-btn {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    height: 50px;
    width: 50px;
    justify-content: center;
    align-items: center;
    z-index: 5; }
    @media screen and (min-width: 768px) {
      .siteHeader .menu-btn {
        display: none; } }
    .siteHeader .menu-btn span,
    .siteHeader .menu-btn span::before,
    .siteHeader .menu-btn span::after {
      content: '';
      display: block;
      height: 1px;
      width: 25px;
      border-radius: 3px;
      background-color: #333;
      position: absolute; }
    .siteHeader .menu-btn span:before {
      bottom: 8px; }
    .siteHeader .menu-btn span:after {
      top: 8px; }
  .siteHeader #menu-btn-check {
    display: none; }
    .siteHeader #menu-btn-check:checked ~ .menu-btn {
      z-index: 99; }
    .siteHeader #menu-btn-check:checked ~ .menu-btn span {
      background-color: rgba(255, 255, 255, 0);
      /*メニューオープン時は真ん中の線を透明にする*/ }
    .siteHeader #menu-btn-check:checked ~ .menu-btn span::before {
      bottom: 0;
      transform: rotate(45deg); }
    .siteHeader #menu-btn-check:checked ~ .menu-btn span::after {
      top: 0;
      transform: rotate(-45deg); }
  .siteHeader .menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;
    /*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #FFF;
    transition: all 0.5s;
    /*アニメーション設定*/ }
    @media screen and (min-width: 768px) {
      .siteHeader .menu-content {
        position: static;
        background-color: transparent; } }
    .siteHeader .menu-content ul {
      text-align: center;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      height: 100vh; }
      @media screen and (min-width: 768px) {
        .siteHeader .menu-content ul {
          display: flex;
          height: auto;
          flex-direction: row;
          align-items: center;
          height: auto;
          justify-content: flex-end; } }
      .siteHeader .menu-content ul li a {
        padding: 16px 10px;
        display: block; }
        @media screen and (min-width: 768px) {
          .siteHeader .menu-content ul li a {
            padding: 20px 10px 10px; } }
  .siteHeader #menu-btn-check:checked ~ .menu-content {
    left: 0; }
  .siteHeader .sub_info {
    display: none; }
    @media screen and (min-width: 768px) {
      .siteHeader .sub_info {
        text-align: right;
        font-size: 14px;
        padding: 10px 0;
        color: var(--color-blue);
        display: flex;
        align-items: center;
        margin: 0 24px 0 0;
        letter-spacing: .2em;
        justify-content: flex-end; }
        .siteHeader .sub_info .label {
          display: inline-block;
          background: var(--color-blue);
          color: #FFF;
          font-size: 11px;
          padding: 5px;
          margin: 0 8px 0 0;
          vertical-align: middle; }
        .siteHeader .sub_info .header-insta {
          display: inline-block;
          width: 20px;
          margin: 0 0 0 18px; } }

.siteFooter {
  padding: 40px 0;
  color: #FFF;
  text-align: center; }
  .siteFooter .footer_nav ul {
    display: flex;
    flex-wrap: wrap;
    width: 80%;
    margin: 0 auto 40px; }
    @media screen and (min-width: 768px) {
      .siteFooter .footer_nav ul {
        width: 100%;
        justify-content: center;
        padding: 20px 0; } }
  .siteFooter .footer_nav li {
    font-size: 15px;
    flex-basis: 50%;
    margin: 0 0 1em; }
    @media screen and (min-width: 768px) {
      .siteFooter .footer_nav li {
        flex-basis: auto;
        margin: 0 10px;
        font-size: 16px; } }
  .siteFooter .footer_nav a {
    color: #FFF; }
  .siteFooter .footer_logo {
    margin: 0 0 20px;
    text-align: center; }
    .siteFooter .footer_logo img {
      width: 140px; }
  .siteFooter .footer_info {
    font-size: 14px;
    line-height: 1.9;
    margin: 0 0 30px; }
  .siteFooter .site_name {
    margin: 0 0 10px;
    font-size: 30px;
    font-weight: bold;
    display: block;
    letter-spacing: .2em; }
  .siteFooter .footer_info address {
     font-style: normal;
     margin: 0 0 20px;
   }
  .siteFooter .footer_info .info_detail {
     line-height: 1.6;
  }
  .siteFooter .copyright {
    display: block;
    text-align: center;
    font-size: 10px; }
    @media screen and (min-width: 768px) {
      .siteFooter .copyright {
        font-size: 13px; } }

.site_logo a {
  display: flex;
  width: auto;
  align-items: center; }
  @media screen and (min-width: 768px) {
    .site_logo a {
      width: max-content; } }
.site_logo img {
  width: 40px; }
  @media screen and (min-width: 768px) {
    .site_logo img {
      width: 70px; } }
.site_logo p {
  flex-grow: 1;
  display: block;
  font-size: 18px;
  color: #333;
  letter-spacing: .2em;
  margin: 0 0 0 10px; }
  @media screen and (min-width: 768px) {
    .site_logo p {
      font-size: 22px; } }
.site_logo a span {
  color: var(--color-blue); }
.site_logo p em {
  display: block;
  margin: 6px 0;
  font-style: normal;
}
.site_logo p span {
	font-size: 13px;
}
.sec_page_title {
  background: none no-repeat center center;
  background-size: cover;
  height: 130px;
  position: relative;
  background-color: var(--color-blue); }
  .sec_page_title::after {
    height: 100%;
    width: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: var(--color-blue);
    mix-blend-mode: multiply;
    z-index: 0;
    pointer-events: none;
    opacity: .6; }
  @media screen and (min-width: 768px) {
    .sec_page_title {
      height: 300px; } }
  .sec_page_title .page_title {
    text-align: center;
    color: #FFF;
    font-weight: normal;
    font-style: italic;
    letter-spacing: .3em;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: 22px;
    line-height: 1.5;
    position: relative;
    z-index: 1; }
    @media screen and (min-width: 768px) {
      .sec_page_title .page_title {
        font-size: 44px; } }

.loading {
  position: fixed;
  background: #EAEEF7;
  width: 100%;
  height: 100vh;
  z-index: 999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; }
  .loading .loading_logo {
    width: 270px;
    margin: 0 0 20px; }
  .loading #progressBar {
    position: relative;
    text-align: center;
    max-width: 200px;
    height: 2px; }
  .loading .progressbar-text {
    width: 100%; }

.sec_mv {
  margin: 0 0 50px; }
  @media screen and (min-width: 768px) {
    .sec_mv {
      margin: 0 0 100px; } }
.sec_top_intro .lead {
  margin: 0 0 30px;
}
@media screen and (min-width: 768px) {
  .sec_top_intro .lead {
    margin: 0 0 60px;
    font-size: 22px;
  }
}
.sec_top_company .row {
  max-width: 900px;
  margin: 0 auto 60px; }
  @media screen and (min-width: 768px) {
    .sec_top_company .row {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; } }
  .sec_top_company .row .card {
    flex-basis: 32%;
    background: #FFF; }
    .sec_top_company .row .card .card_info {
      padding: 20px; }
    .sec_top_company .row .card figure {
      text-align: center; }
    .sec_top_company .row .card time {
      color: var(--green-color);
      font-size: 12px;
      display: block;
      margin: 0 0 10px; }
    .sec_top_company .row .card h3 {
      text-align: center;
      border-bottom: solid 1px;
      padding: 0 0 20px;
      margin: 0 20px 20px; }
    .sec_top_company .row .card .lead {
      font-size: 13px;
      color: var(--green-color);
      margin: 0 0 10px; }
    .sec_top_company .row .card .desc {
      margin: 0 20px 0;
      padding: 0 0 20px; }
      .sec_top_company .row .card .desc.center {
        text-align: center; }
    .sec_top_company .row .card .read_more {
      margin: 30px 0 0;
      font-size: 10px;
      text-align: right;
      letter-spacing: .2em; }
  .sec_top_company .row .col {
    text-align: center;
    flex-basis: 31%;
    border: solid;
    padding: 20px 0;
    border-radius: 10px;
    margin: 0 0 20px; }
    .sec_top_company .row .col a {
      color: var(--color-blue); }
    .sec_top_company .row .col figure {
      margin: 0 auto 20px;
      background: var(--color-blue);
      border-radius: 50%;
      width: 80px;
      height: 80px;
      display: flex;
      align-items: center;
      justify-content: center; }
      .sec_top_company .row .col figure img {
        max-width: 50px; }

.sec_top_vehicle {
  padding: 60px 0;
  margin: 0 0 60px; }
  .sec_top_vehicle .row {
    max-width: 1200px;
    margin: 0 auto; }
    @media screen and (min-width: 768px) {
      .sec_top_vehicle .row {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; } }
    .sec_top_vehicle .row .card {
      flex-basis: 32%;
      background: #FFF; }
      .sec_top_vehicle .row .card .card_info {
        padding: 20px; }
      .sec_top_vehicle .row .card figure {
        text-align: center; }
      .sec_top_vehicle .row .card time {
        color: var(--green-color);
        font-size: 12px;
        display: block;
        margin: 0 0 10px; }
      .sec_top_vehicle .row .card h3 {
        text-align: center;
        border-bottom: solid 1px;
        padding: 0 0 20px;
        margin: 0 20px 20px; }
      .sec_top_vehicle .row .card .lead {
        font-size: 13px;
        color: var(--green-color);
        margin: 0 0 10px; }
      .sec_top_vehicle .row .card .desc {
        margin: 0 20px 0;
        padding: 0 0 20px; }
        .sec_top_vehicle .row .card .desc.center {
          text-align: center; }
      .sec_top_vehicle .row .card .read_more {
        margin: 30px 0 0;
        font-size: 10px;
        text-align: right;
        letter-spacing: .2em; }
    .sec_top_vehicle .row .col {
      flex-basis: 32%;
      text-align: center; }

body.company .sec_page_title {
  background-image: url("../images/bg_compnay_title.jpg"); }
body.company .company_block {
  margin: 0 0 30px; }
  @media screen and (min-width: 768px) {
    body.company .company_block {
      margin: 0 0 60px; } }
  body.company .company_block dl {
    line-height: 1.7;
    margin: 0 0 20px;
    border-bottom: solid 1px #CCC; }
    body.company .company_block dl dt {
      font-size: 15px;
      padding: 0 0 1em;
      flex-basis: 25%;
      font-weight: bold; }
    body.company .company_block dl dd {
      font-size: 15px;
      padding: 0 0 1em;
      flex-basis: 65%;
      margin: 0; }
    @media screen and (min-width: 768px) {
      body.company .company_block dl {
        display: flex;
        margin: 0; }
        body.company .company_block dl dt {
          padding: 20px 0;
          font-size: 16px;
          border-right: solid 1px #CCC; }
        body.company .company_block dl dd {
          padding: 20px 0 20px 50px;
          font-size: 16px; } }
    body.company .company_block dl:first-of-type {
      border-top: solid 1px #CCC;
      padding: 16px 0 0; }
      @media screen and (min-width: 768px) {
        body.company .company_block dl:first-of-type {
          padding: 0; } }
@media screen and (min-width: 768px) {
  body.company .greeting_box {
    display: flex;
    margin: 60px 0 0; } }
body.company .greeting_box figure {
  max-width: 80%;
  margin: 0 auto; }
  @media screen and (min-width: 768px) {
    body.company .greeting_box figure {
      width: 300px;
      position: relative;
      z-index: 3; } }
body.company .greeting_box .info {
  border: solid 1px #CCC;
  margin: -30px auto 30px;
  padding: 60px 20px 20px; }
  @media screen and (min-width: 768px) {
    body.company .greeting_box .info {
      flex-basis: calc( 100% - 300px);
      margin: -30px auto 30px -30px;
      padding: 60px 20px 60px 60px; } }
body.company .greeting_box .message {
  font-size: 16px;
  line-height: 1.3;
  margin: 0 0 1em; }
  @media screen and (min-width: 768px) {
    body.company .greeting_box .message {
      line-height: 2; } }
body.company .greeting_box .ceo {
  text-align: right;
  line-height: 1.6;
  font-size: 14px; }

body.access .sec_page_title {
  background-image: url("../images/bg_compnay_title.jpg"); }
body.access .row {
  margin: 30px auto;
  max-width: 600px; }
  @media screen and (min-width: 768px) {
    body.access .row {
      display: flex;
      justify-content: space-between; } }
  body.access .row figure {
    margin: 0 0 20px; }
  body.access .row .col {
    margin: 0 0 30px;
    flex-basis: 48%; }
  body.access .row .col {
    text-align: center; }
body.access .addr_txt {
  text-align: center;
  line-height: 2;
  margin: 20px 0; }
  body.access .addr_txt em {
    font-style: normal;
    font-weight: bold;
    font-size: 16px;
    display: block; }

body.items .sec_page_title {
  background-image: url("../images/bg_compnay_title.jpg"); }
body.items .card_wrap--col3 {
	padding: 1%;
  max-width: 900px;
  margin: 0 auto; }

   .sec_items .lead {
    margin: 0 0 30px;
   }

  @media screen and (min-width: 768px) {
   .sec_items .lead {
    font-size: 25px;
    margin: 0 0 60px;
   }

  }
  @media screen and (min-width: 768px) {
    body.items .card_wrap--col3 {
      display: flex;
      flex-wrap: wrap;
		flex-basis: calc( 100% - 200px);
      justify-content: space-between; } }
  body.items .card_wrap--col3 .card {
    flex-basis: 31%;
	  margin: 1%;
    background: #FFF; }
    body.items .card_wrap--col3 .card .card_info {
      padding: 0; }
    body.items .card_wrap--col3 .card figure {
      text-align: center; }
    body.items .card_wrap--col3 .card time {
      color: var(--green-color);
      font-size: 12px;
      display: block;
      margin: 0 0 10px; }
    body.items .card_wrap--col3 .card h3 {
      text-align: center;
      border-bottom: solid 1px;
      padding: 0 0 20px;
      margin: 0 20px 20px; }
    body.items .card_wrap--col3 .card .lead {
      font-size: 13px;
      color: var(--green-color);
      margin: 0 0 10px; }
    body.items .card_wrap--col3 .card .desc {
      margin: 0 20px 0;
      padding: 0 0 20px; }
      body.items .card_wrap--col3 .card .desc.center {
        text-align: center; }
    body.items .card_wrap--col3 .card .read_more {
      margin: 30px 0 0;
      font-size: 10px;
      text-align: right;
      letter-spacing: .2em; }

body.vehicle .sec_page_title {
  background-image: url("../images/bg_compnay_title.jpg"); }
body.vehicle .card_wrap--col2 {
  max-width: 900px;
  margin: 0 auto 60px; }
body.items .card_wrap--col3 .card figure img {
    aspect-ratio: 1;
    object-fit: cover;
}
  @media screen and (min-width: 768px) {
    body.vehicle .card_wrap--col2 {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; } }
  body.vehicle .card_wrap--col2 .card {
    flex-basis: 48%;
    background: #FFF; }
    body.vehicle .card_wrap--col2 .card .card_info {
      padding: 20px; }
    body.vehicle .card_wrap--col2 .card figure {
      text-align: center; }
    body.vehicle .card_wrap--col2 .card time {
      color: var(--green-color);
      font-size: 12px;
      display: block;
      margin: 0 0 10px; }
    body.vehicle .card_wrap--col2 .card h3 {
      text-align: center;
      border-bottom: solid 1px;
      padding: 0 0 20px;
      margin: 0 20px 20px; }
    body.vehicle .card_wrap--col2 .card .lead {
      font-size: 13px;
      color: var(--green-color);
      margin: 0 0 10px; }
    body.vehicle .card_wrap--col2 .card .desc {
      margin: 0 20px 0;
      padding: 0 0 20px; }
      body.vehicle .card_wrap--col2 .card .desc.center {
        text-align: center; }
    body.vehicle .card_wrap--col2 .card .read_more {
      margin: 30px 0 0;
      font-size: 10px;
      text-align: right;
      letter-spacing: .2em; }

body.contact .sec_page_title {
  background-image: url("../images/bg_compnay_title.jpg"); }
body.contact .tel_contact {
  text-align: center;
  margin: 0 0 20px;
}
@media screen and (min-width: 768px) {
  body.contact .tel_contact {
    margin: 0 0 50px;
  }
}
  body.contact .tel_contact .tel, body.contact .tel_contact .fax {
    font-size: 20px;
    display: block; }
  body.contact .tel_contact .tel {
    font-size: 30px;
    margin: 0 0 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
  }
  body.contact .tel_contact .tel img {
    width: 28px;
    margin: 0 10px 0 0;
  }
@media screen and (min-width: 768px) {
  body.contact .tel_contact .tel {
    font-size: 35px;
  }
  body.contact .tel_contact .tel img {
    width: 33px;
  }

}
body.contact .desc {
  text-align: center;
  font-size: 14px;
  margin: 30px 0; }
body.contact .form {
  max-width: 600px;
  margin: 0 auto; }
  body.contact .form .formgroup {
    margin: 0 0 1em; }
    body.contact .form .formgroup .label {
      margin: 0 0 .5em; }
  body.contact .form input[type="text"],
  body.contact .form textarea {
    width: 100%;
    border: solid 1px #CCC;
    padding: 10px;
    border-radius: 4px; }
  body.contact .form .btnArea {
    padding: 3em 0 0;
    text-align: center; }
    body.contact .form .btnArea .btn {
      background: #1C2A4A;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      color: #FFF;
      border: none;
      padding: 1em 3em;
      font-size: 14px;
      letter-spacing: .3em;
      text-indent: 0.3em;
      cursor: pointer; }

.sec_top_items .inv_row_wrap .inv_row .info {
  flex-basis: 60%;
  background: var(--color-blue);
  display: flex;
  align-items: center;
  margin: 40px 0;
  border: var(--color-blue) solid 3px;
  color: #FFF;
  font-size: 20px;
  justify-content: center; }
  @media screen and (min-width: 768px) {
    .sec_top_items .inv_row_wrap .inv_row .info {
      justify-content: flex-start;
      padding: 0 60px; } }
  .sec_top_items .inv_row_wrap .inv_row .info h3 {
    padding: 10px 0; }
    @media screen and (min-width: 768px) {
      .sec_top_items .inv_row_wrap .inv_row .info h3 {
        border-bottom: solid 3px; } }
.sec_top_items .inv_row_wrap .inv_row .fig {
  z-index:3;
  flex-basis: 60%; }
  @media screen and (min-width: 768px) {
    .sec_top_items .inv_row_wrap .inv_row .fig {
      margin: 0 0 0 -20%; } }
.sec_top_items .inv_row_wrap .inv_row ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
.sec_top_items .inv_row_wrap .inv_row li {
  flex-basis: 31%;
  padding: 5px; }
@media screen and (min-width: 768px) {
  .sec_top_items .inv_row_wrap .inv_row {
    display: flex;
    margin: 0 0 50px; } }
.sec_top_items .inv_row_wrap .inv_row:nth-last-of-type(2n+1) {
  flex-direction: row-reverse; }
  @media screen and (min-width: 768px) {
    .sec_top_items .inv_row_wrap .inv_row:nth-last-of-type(2n+1) .fig {
      margin: 0 -20% 0 0; } }
  @media screen and (min-width: 768px) {
    .sec_top_items .inv_row_wrap .inv_row:nth-last-of-type(2n+1) .info {
      justify-content: flex-end; } }
.sp_header {
    padding: 10px;
    border-top: solid 1px #CCC;
}
.sec_top_items .inv_row_wrap  .fig img {
	 aspect-ratio: 1;
    object-fit: cover;
}
.sp_header .row {
    display: flex;
    justify-content: space-between;
}
.sp_header .col {
    flex-basis: 48%;
    text-align: center;	
}
.sp_header .col a {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    padding: 8px 5px;
	border: solid 1px var(--color-blue);
	color: var(--color-blue);
}
.sp_header .col a.map_link {
	color: #FFF;
	background: var(--color-blue);
}
.sp_header .col a img {
	width: 16px;
    margin: 0 6px 0 0;	
}


@media screen and (min-width: 768px) {
	.sp_header {
		display: none;
	}
}

.access_company_name {
    text-align: center;
    font-size: 25px;
    margin: 30px 0;;
}

.access_tel {
	text-align: center;
}

.access_tel img {
    width: 26px;
    margin: 0 10px 0 0;
}
.access_tel a {
    color: #333;
    font-size: 30px;
    margin: 0 0 20px;
    display: inline-block;
}
.access_tel span {
	display: block;
}

.item_wrap {
/*    display: flex;*/
    border: solid 3px var(--color-blue);
	margin: 0 0 30px;
}

.item_heading {
    background: var(--color-blue);
    color: #FFF;
    align-items: center;
    justify-content: center;
    display: flex;
    flex-basis: 200px;
    line-height: 1.6;
    font-size: 28px;
    flex-direction: column;
    text-align: center;
    padding: 10px 0 16px;
}
.item_heading span {
	display: block;
	font-size: 14px;
}


#instagram_feed {
	display: flex;
	flex-wrap: wrap;
	max-width: 635px;
	margin: 0 auto;
	justify-content: space-between;
}

#instagram_feed > div {
	flex-basis: 32%;
	margin-bottom: 2%;
}

#instagram_feed > div img {
    aspect-ratio: 1;
    object-fit: cover;
}