@charset "UTF-8";
/* ==========================================================================
リセット
========================================================================== */
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

/* HTML5 display definitions
----------------------------------------------------------------- */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden],
template {
  display: none; }

/* Links
----------------------------------------------------------------- */
a {
  background-color: transparent; }

a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
----------------------------------------------------------------- */
abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

h1 {
  font-size: 1rem;
  line-height: 1;
  margin: 0; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
----------------------------------------------------------------- */
img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

/* Grouping content
----------------------------------------------------------------- */
figure {
  margin: 1em 40px; }

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

pre {
  overflow: auto; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
----------------------------------------------------------------- */
button,
input,
optgroup,
select,
textarea {
  outline: none;
  color: inherit;
  font: inherit;
  margin: 0; }

button {
  overflow: visible;
  border: none;
  padding: 0; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled],
html input[disabled] {
  cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: bold; }

/* Tables
----------------------------------------------------------------- */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/* ==========================================================================
汎用CSS
========================================================================== */
/* サイト全体のフォントサイズや色に関する設定
----------------------------------------------------------------- */
html {
  color: #333;
  font-family: "source-han-sans-cjk-ja", sans-serif;
  font-size: 16px;
  font-weight: 200;
  line-height: 2;
  text-align: justify;
  text-justify: inter-ideograph;
  vertical-align: baseline;
  background: #fff;
  z-index: 100; }

body {
  font-family: "source-han-sans-cjk-ja", sans-serif; }

::selection {
  color: #fff;
  background-color: #676767; }

::-moz-selection {
  color: #fff;
  background-color: #676767; }

.dp_wrap {
  overflow: hidden;
  overscroll-behavior: contain; }

a {
  color: #333;
  text-decoration: none;
  cursor: pointer; }
  a:hover {
    text-decoration: none; }

p {
  padding: 0;
  margin: 0; }

img {
  max-width: 100%;
  height: auto;
  box-sizing: border-box; }

audio, canvas, iframe, img, svg, video {
  vertical-align: middle; }

hr {
  overflow: visible;
  border: 0;
  border-top: 1px solid #e9e9e9;
  text-align: inherit;
  margin: 0 0 0 0; }

ul {
  margin: 0;
  padding: 0; }
  ul li {
    list-style-type: none; }

table {
  border-collapse: collapse;
  box-sizing: border-box;
  text-align: left;
  width: 100%; }

dt {
  font-weight: 700; }

dd {
  margin: 0; }

/* ブレイクポイント
----------------------------------------------------------------- */
.dp_visible_pc {
  display: block; }
  @media screen and (max-width: 1024px) {
    .dp_visible_pc {
      display: none !important; } }

.dp_visible_pctb {
  display: block; }
  @media screen and (max-width: 896px) {
    .dp_visible_pctb {
      display: none !important; } }

.dp_visible_tb {
  display: none !important; }
  @media screen and (max-width: 896px) {
    .dp_visible_tb {
      display: block !important; } }

.dp_visible_sp {
  display: none !important; }
  @media screen and (max-width: 480px) {
    .dp_visible_sp {
      display: block !important; } }

.visible_point_pctb {
  display: block; }
  @media screen and (max-width: 480px) {
    .visible_point_pctb {
      display: none !important; } }

.visible_point_tb {
  display: none !important; }
  @media screen and (max-width: 896px) {
    .visible_point_tb {
      display: block !important; } }
  @media screen and (max-width: 480px) {
    .visible_point_tb {
      display: none !important; } }

.visible_point_tbsp {
  display: none !important; }
  @media screen and (max-width: 896px) {
    .visible_point_tbsp {
      display: block !important; } }

.visible_point_sp {
  display: none !important; }
  @media screen and (max-width: 480px) {
    .visible_point_sp {
      display: block !important; } }

/* ページタイトル
----------------------------------------------------------------- */
.dp_page_title {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 350px;
  position: relative; }
  @media screen and (max-width: 896px) {
    .dp_page_title {
      margin-top: 80px;
      height: 280px; } }
  @media screen and (max-width: 480px) {
    .dp_page_title {
      margin-top: 0; } }
  .dp_page_title .dp_page_title_inner {
    position: absolute;
    top: 50%;
    left: 8%;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    width: fit-content; }
    .dp_page_title .dp_page_title_inner .dp_page_title_jp {
      color: #fff;
      font-size: 48px;
      font-size: 3rem;
      text-align: left;
      letter-spacing: 0.1rem;
      text-shadow: 0 0 30px rgba(0, 112, 152, 0.4); }
      @media screen and (max-width: 896px) {
        .dp_page_title .dp_page_title_inner .dp_page_title_jp {
          font-size: 42px;
          font-size: 2.625rem; } }
      @media screen and (max-width: 480px) {
        .dp_page_title .dp_page_title_inner .dp_page_title_jp {
          font-size: 36px;
          font-size: 2.25rem; } }
    .dp_page_title .dp_page_title_inner .dp_page_title_en {
      color: #fff;
      font-family: "azo-sans-web", sans-serif 　　　;
      font-size: 20px;
      font-size: 1.25rem;
      font-weight: 400 !important;
      text-align: left;
      line-height: 1;
      letter-spacing: 0.2rem;
      text-shadow: 0 0 10px rgba(0, 112, 152, 0.4); }
      @media screen and (max-width: 896px) {
        .dp_page_title .dp_page_title_inner .dp_page_title_en {
          font-size: 18px;
          font-size: 1.125rem; } }

.border_blue {
  border-bottom: 30px solid #007098; }

@media all and (-ms-high-contrast: none) {
  .dp_page_title .dp_page_title_inner .dp_page_title_en {
    margin-bottom: 0.625rem; } }

/* パンくずリスト
----------------------------------------------------------------- */
.dp_breadcrumb,
.dp_breadcrumb_ft {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 32px; }
  @media screen and (max-width: 896px) {
    .dp_breadcrumb,
    .dp_breadcrumb_ft {
      font-size: 10px; } }
  .dp_breadcrumb ul,
  .dp_breadcrumb_ft ul {
    display: flex;
    justify-content: flex-end; }
    @media screen and (max-width: 896px) {
      .dp_breadcrumb ul,
      .dp_breadcrumb_ft ul {
        overflow-x: scroll;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch; } }
    .dp_breadcrumb ul li,
    .dp_breadcrumb_ft ul li {
      color: #676767;
      white-space: nowrap; }
      .dp_breadcrumb ul li a,
      .dp_breadcrumb_ft ul li a {
        color: #676767; }
      .dp_breadcrumb ul li:first-child img,
      .dp_breadcrumb_ft ul li:first-child img {
        width: 10px;
        vertical-align: baseline; }
        @media screen and (max-width: 896px) {
          .dp_breadcrumb ul li:first-child img,
          .dp_breadcrumb_ft ul li:first-child img {
            width: 9px; } }
      .dp_breadcrumb ul li:nth-child(n+2),
      .dp_breadcrumb_ft ul li:nth-child(n+2) {
        padding-left: 16px;
        position: relative; }
        .dp_breadcrumb ul li:nth-child(n+2):before,
        .dp_breadcrumb_ft ul li:nth-child(n+2):before {
          content: "";
          width: 3px;
          height: 3px;
          border: 0px;
          border-top: solid 1px #676767;
          border-right: solid 1px #676767;
          transform: rotate(45deg);
          -webkit-transform: rotate(45deg);
          position: absolute;
          top: 0;
          left: 5px;
          bottom: 0;
          margin: auto; }

.dp_breadcrumb_ft ul {
  justify-content: flex-start; }

/* セクション
----------------------------------------------------------------- */
.dp_sec_small {
  padding: 1rem 0; }

.dp_sec_medium {
  padding: 2.5rem 0; }

.dp_sec_large {
  padding: 3.75rem 0; }
  @media screen and (max-width: 480px) {
    .dp_sec_large {
      padding: 2.5rem 0; } }

.dp_sec_xlarge {
  padding: 5rem 0; }
  @media screen and (max-width: 480px) {
    .dp_sec_xlarge {
      padding: 3.75rem 0; } }

.dp_sec_xxlarge_remove_top {
  padding: 0 0 6.25rem; }
  @media screen and (max-width: 480px) {
    .dp_sec_xxlarge_remove_top {
      padding: 0 0 3.75rem; } }

.sec_padding {
  padding: 6.25rem 0 7.5rem; }
  @media screen and (max-width: 896px) {
    .sec_padding {
      padding: 5rem 0 6.25rem; } }
  @media screen and (max-width: 480px) {
    .sec_padding {
      padding: 3.75rem 0 5rem; } }

/* ナビ
----------------------------------------------------------------- */
.dp_page_nav {
  margin-top: 1rem; }
  .dp_page_nav ul {
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    margin: -1%; }
    .dp_page_nav ul li {
      margin: 1%;
      background-color: #f6f6f6;
      width: 31.3333333333%; }
      @media screen and (max-width: 480px) {
        .dp_page_nav ul li {
          width: 98%; } }
      .dp_page_nav ul li a {
        display: block;
        color: #007098;
        line-height: 3;
        transition: .3s;
        position: relative; }
        .dp_page_nav ul li a:after {
          content: "";
          width: 6px;
          height: 6px;
          border: 0px;
          border-right: solid 1px #007098;
          border-bottom: solid 1px #007098;
          transform: rotate(45deg);
          -webkit-transform: rotate(45deg);
          position: absolute;
          top: 40%;
          right: 1rem;
          transition: .3s; }
        .dp_page_nav ul li a:hover {
          color: #2c84b6; }
          .dp_page_nav ul li a:hover:after {
            border-color: #2c84b6; }

.dp_page_nav_tag {
  margin: auto; }
  .dp_page_nav_tag ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 14px;
    font-size: 0.875rem;
    text-align: center; }
    .dp_page_nav_tag ul li {
      display: inline-block;
      background-color: #2c84b6;
      margin: 2px; }
      .dp_page_nav_tag ul li a {
        display: block;
        color: #fff;
        line-height: 3;
        padding: 0 3rem;
        transition: .3s; }
        .dp_page_nav_tag ul li a:hover {
          opacity: .7; }

.dp_related_nav {
  background-color: #f6f6f6;
  padding: 3.75rem 0; }
  @media screen and (max-width: 480px) {
    .dp_related_nav {
      padding: 2.5rem 0; } }
  .dp_related_nav h4 {
    color: #007098;
    border-left: 4px solid #007098;
    line-height: 1.5;
    padding-left: .75rem; }
  .dp_related_nav .dp_related_tmb {
    position: relative; }
    .dp_related_nav .dp_related_tmb p {
      text-align: center;
      color: #007098;
      background-color: #fff;
      background-image: url(/resource/images/ico_arrow_right_main.svg);
      background-size: 10px auto;
      background-position: center right 1.375rem;
      background-repeat: no-repeat;
      font-size: 14px;
      font-size: 0.875rem;
      font-weight: 700;
      line-height: 3.375; }
    .dp_related_nav .dp_related_tmb a {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      text-indent: -999px;
      transition: .3s; }
      .dp_related_nav .dp_related_tmb a:hover {
        background-color: rgba(255, 255, 255, 0.3); }

.dp_page_link {
  background-color: #007098; }

.page_nav {
  margin: auto; }
  .page_nav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 16px;
    font-size: 1rem;
    text-align: center; }
    @media screen and (max-width: 480px) {
      .page_nav ul {
        padding: 0.3rem 0 0.5rem; } }
    .page_nav ul li {
      display: inline-block; }
      .page_nav ul li a {
        position: relative;
        display: block;
        color: #fff;
        line-height: 3.8;
        padding: 0 3rem;
        transition: .3s; }
        @media screen and (max-width: 896px) {
          .page_nav ul li a {
            padding: 0 0.85rem; } }
        @media screen and (max-width: 480px) {
          .page_nav ul li a {
            line-height: 2.5; } }
        .page_nav ul li a span::after {
          content: '';
          /*何も入れない*/
          display: inline-block;
          /*忘れずに！*/
          width: 10px;
          height: 8px;
          background-image: url(/resource/images/ico_arrow_white_bottom.png);
          background-repeat: no-repeat;
          margin-left: 10px;
          background-size: contain; }
        .page_nav ul li a:hover {
          color: #f2e242; }
          .page_nav ul li a:hover span::after {
            background-image: url(/resource/images/ico_arrow_yellow_bottom.png); }
      .page_nav ul li:first-child a {
        padding: 0 3rem 0 0; }
        @media screen and (max-width: 896px) {
          .page_nav ul li:first-child a {
            padding: 0 1rem 0 0; } }
        @media screen and (max-width: 480px) {
          .page_nav ul li:first-child a {
            padding: 0 1rem; } }
      .page_nav ul li:last-child a {
        padding: 0 0 0 3rem; }
        @media screen and (max-width: 896px) {
          .page_nav ul li:last-child a {
            padding: 0 0 0 1rem; } }
        @media screen and (max-width: 480px) {
          .page_nav ul li:last-child a {
            padding: 0 1rem; } }

/* コンテナーボックス
----------------------------------------------------------------- */
.dp_container,
.dp_container_small,
.dp_container_large {
  box-sizing: content-box;
  margin-left: auto;
  margin-right: auto;
  padding-left: 5%;
  padding-right: 5%; }

.dp_container {
  max-width: 980px; }

.dp_container_small {
  max-width: 720px; }

.dp_container_large {
  max-width: 1120px; }

/* メールフォーム
----------------------------------------------------------------- */
.dp_form_wrap table {
  font-size: 16px;
  font-size: 1rem; }
  .dp_form_wrap table tr th, .dp_form_wrap table tr td {
    padding: 1.562rem 0; }
    @media screen and (max-width: 896px) {
      .dp_form_wrap table tr th, .dp_form_wrap table tr td {
        display: block; } }
  .dp_form_wrap table tr th {
    font-weight: 700;
    text-align: left;
    vertical-align: top;
    position: relative;
    width: 24%; }
    @media screen and (max-width: 896px) {
      .dp_form_wrap table tr th {
        padding: 1.25rem 0 0;
        width: 100%; } }
  .dp_form_wrap table tr th.dp_form_required:after {
    content: "※";
    display: inline-block;
    color: #F14639;
    line-height: 2;
    position: relative;
    left: 0.5rem; }
  @media screen and (max-width: 896px) {
    .dp_form_wrap table tr td {
      padding: .5rem 0 1.25rem 0; } }

.dp_check_wrap table {
  font-size: 16px;
  font-size: 1rem; }
  .dp_check_wrap table tr {
    border-bottom: solid 1px #E5E5E5;
    position: relative; }
    @media screen and (max-width: 480px) {
      .dp_check_wrap table tr th, .dp_check_wrap table tr td {
        line-height: 1.7; } }
    .dp_check_wrap table tr th {
      padding: 1.5rem 1.25rem;
      font-weight: 700;
      text-align: left;
      vertical-align: top;
      width: 25%; }
    .dp_check_wrap table tr td {
      padding: 1.5rem 3.75rem; }
      .dp_check_wrap table tr td .paragraph {
        margin-left: 5em; }

.radio_wrap {
  display: flex; }
  .radio_wrap label:first-child {
    margin-right: 3.75rem; }

.dp_radio,
.dp_checkbox {
  display: inline-block;
  border: 1px solid #d4d4d4;
  margin: -0.25rem .5rem 0 0;
  height: 1.2rem;
  width: 1.2rem;
  vertical-align: middle;
  -webkit-appearance: none;
  -moz-appearance: none; }
  .dp_radio:not(:disabled),
  .dp_checkbox:not(:disabled) {
    cursor: pointer; }

.dp_radio {
  border-radius: 50%; }
  .dp_radio:checked {
    border: 7px solid #2c84b6; }

.dp_checkbox {
  background-color: #fff; }
  .dp_checkbox:checked:before {
    content: "\02713";
    color: #2c84b6;
    font-size: 3rem;
    line-height: 0;
    position: relative;
    right: 0.7rem; }

.dp_input,
.dp_textarea {
  display: inline-block;
  background-color: #EFF7F9;
  border: 1px solid transparent;
  box-sizing: border-box;
  font-size: 16px;
  font-size: 1rem;
  vertical-align: middle;
  padding: .5rem 1rem;
  width: 100%; }

.dp_input {
  height: 48px; }

.dp_textarea {
  height: 305px; }

.dp_form_privacy {
  background-color: #EFF7F9;
  margin-top: 2.5rem;
  padding: 2.5rem; }
  @media screen and (max-width: 480px) {
    .dp_form_privacy {
      padding: 2rem 5%; } }
  .dp_form_privacy .dp_form_privacy_panel {
    background-color: #fff;
    border: 1px solid transparent;
    font-size: 16px;
    font-size: 1rem;
    max-width: 850px;
    height: 180px;
    margin-top: 1.25rem;
    padding: 1.875rem 2.5rem;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    resize: both; }
    @media screen and (max-width: 480px) {
      .dp_form_privacy .dp_form_privacy_panel {
        padding: 1.875rem 1.25rem; } }
    @media screen and (max-width: 480px) {
      .dp_form_privacy .dp_form_privacy_panel ul {
        font-size: 14px;
        font-size: 0.875rem; } }

span.required {
  color: #F14639;
  display: inline-block;
  position: relative;
  left: 0.5rem; }

.privacy_detail_txt {
  text-align: center; }
  @media screen and (max-width: 480px) {
    .privacy_detail_txt {
      text-align: left; } }

/* お電話でのお問い合わせ
----------------------------------------------------------------- */
.photo_card {
  background-color: #fff;
  border: 6px solid #007098;
  padding: 2.5rem; }
  @media screen and (max-width: 480px) {
    .photo_card {
      padding: 1.875rem 1; } }
  .photo_card .contact_txt_tel {
    transition: .2s; }
    .photo_card .contact_txt_tel img {
      width: 28px;
      margin-top: 10px;
      margin-right: 10px; }
      @media screen and (max-width: 480px) {
        .photo_card .contact_txt_tel img {
          width: 20px;
          margin-top: 5px;
          margin-right: 8px; } }
    .photo_card .contact_txt_tel a {
      font-size: 48px;
      font-size: 3rem;
      color: #007098;
      font-weight: 700;
      font-family: "azo-sans-web", sans-serif 　　　 !important;
      vertical-align: middle;
      line-height: 1.2; }
      @media screen and (max-width: 480px) {
        .photo_card .contact_txt_tel a {
          font-size: 32px;
          font-size: 2rem; } }
      .photo_card .contact_txt_tel a span {
        font-weight: 400;
        color: #333;
        font-size: 20px;
        font-size: 1.25rem;
        vertical-align: middle; }
        @media screen and (max-width: 480px) {
          .photo_card .contact_txt_tel a span {
            font-size: 18px;
            font-size: 1.125rem; } }
    .photo_card .contact_txt_tel:hover {
      opacity: .8; }

/* グリッド
----------------------------------------------------------------- */
.dp_grid_small,
.dp_grid_xmedium,
.dp_grid_medium,
.dp_grid_large,
.dp_grid_xlarge,
.dp_grid_collapse,
.grid_message,
.grid_news,
.grid_about_greeting,
.grid_about_access {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  width: 100%; }

.dp_grid_small > * {
  margin-left: 1%; }
  .dp_grid_small > *:first-child {
    margin-left: 0; }

.dp_grid_small .dp_grid_5_clm, .dp_grid_small .dp_grid_5_clm_sp {
  width: 19.2%; }

.dp_grid_small .dp_grid_4_clm {
  width: 24.25%; }

.dp_grid_small .dp_grid_3_clm {
  width: 32.6666666667%; }

.dp_grid_small .dp_grid_2_clm {
  width: 49.5%; }

@media screen and (max-width: 480px) {
  .dp_grid_small > * {
    margin-top: 1rem;
    margin-left: 0; }
    .dp_grid_small > *:first-child {
      margin-top: 0; }
  .dp_grid_small .dp_grid_5_clm, .dp_grid_small .dp_grid_4_clm, .dp_grid_small .dp_grid_3_clm, .dp_grid_small .dp_grid_2_clm {
    width: 100%; }
  .dp_grid_small .dp_grid_5_clm_sp {
    width: 48%;
    margin-top: 0; }
    .dp_grid_small .dp_grid_5_clm_sp:nth-child(n+3) {
      margin-top: 1rem; }
    .dp_grid_small .dp_grid_5_clm_sp:nth-child(odd) {
      margin-right: 4%; } }

.dp_grid_xmedium > * {
  margin-left: 2%; }
  .dp_grid_xmedium > *:first-child {
    margin-left: 0; }

.dp_grid_xmedium .dp_grid_3_clm {
  width: 32%; }

.dp_grid_xmedium .dp_grid_2_clm {
  width: 49%; }

@media screen and (max-width: 480px) {
  .dp_grid_xmedium > * {
    margin-top: 2rem;
    margin-left: 0; }
    .dp_grid_xmedium > *:first-child {
      margin-top: 0; }
  .dp_grid_xmedium .dp_grid_3_clm, .dp_grid_xmedium .dp_grid_2_clm {
    width: 100%; } }

.dp_grid_medium > * {
  margin-left: 4%; }
  .dp_grid_medium > *:first-child {
    margin-left: 0; }

.dp_grid_medium .dp_grid_3_clm {
  width: 30.6666666667%; }

.dp_grid_medium .dp_grid_2_clm {
  width: 48%; }

@media screen and (max-width: 480px) {
  .dp_grid_medium > * {
    margin-top: 2rem;
    margin-left: 0; }
    .dp_grid_medium > *:first-child {
      margin-top: 0; }
  .dp_grid_medium .dp_grid_3_clm, .dp_grid_medium .dp_grid_2_clm {
    width: 100%; } }

.dp_grid_large > * {
  margin-left: 6%; }
  .dp_grid_large > *:first-child {
    margin-left: 0; }

.dp_grid_large .dp_grid_3_clm {
  width: 29.3333333333%; }

.dp_grid_large .dp_grid_2_clm {
  width: 47%; }

@media screen and (max-width: 480px) {
  .dp_grid_large > * {
    margin-top: 3rem;
    margin-left: 0; }
    .dp_grid_large > *:first-child {
      margin-top: 0; }
  .dp_grid_large .dp_grid_3_clm, .dp_grid_large .dp_grid_2_clm {
    width: 100%; } }

.dp_grid_xlarge > * {
  margin-left: 8%; }
  .dp_grid_xlarge > *:first-child {
    margin-left: 0; }

.dp_grid_xlarge .dp_grid_3_clm {
  width: 29.3333333333%; }

.dp_grid_xlarge .dp_grid_2_clm {
  width: 46%; }

@media screen and (max-width: 480px) {
  .dp_grid_xlarge > * {
    margin-top: 3rem;
    margin-left: 0; }
    .dp_grid_xlarge > *:first-child {
      margin-top: 0; }
  .dp_grid_xlarge .dp_grid_3_clm, .dp_grid_xlarge .dp_grid_2_clm {
    width: 100%; } }

.dp_grid_collapse .dp_grid_5_clm {
  width: 20%; }

.dp_grid_collapse .dp_grid_4_clm {
  width: 25%; }

.dp_grid_collapse .dp_grid_3_clm {
  width: 33.3333333334%; }

.dp_grid_collapse .dp_grid_2_clm {
  width: 50%; }

@media screen and (max-width: 480px) {
  .dp_grid_collapse .dp_grid_5_clm, .dp_grid_collapse .dp_grid_4_clm, .dp_grid_collapse .dp_grid_3_clm, .dp_grid_collapse .dp_grid_2_clm {
    width: 100%; } }

.dp_grid_pdf:nth-child(n+6) {
  margin-top: 30px; }

.dp_grid_pdf:nth-of-type(6n) {
  margin-left: 0 !important; }

/* フレックスボックス
----------------------------------------------------------------- */
.dp_flex_small {
  display: flex;
  flex-wrap: wrap;
  margin: -1%; }
  @media screen and (max-width: 480px) {
    .dp_flex_small {
      display: block; } }

.dp_flex_small_flex {
  display: flex;
  flex-wrap: wrap;
  margin: -1%; }

.dp_flex_small > *,
.dp_flex_small_flex > * {
  margin: 1%; }

.dp_flex_small .dp_flex_2_clm,
.dp_flex_small_flex .dp_flex_2_clm {
  width: 48%; }
  @media screen and (max-width: 480px) {
    .dp_flex_small .dp_flex_2_clm,
    .dp_flex_small_flex .dp_flex_2_clm {
      width: 98%; } }

.dp_flex_small .dp_flex_3_clm,
.dp_flex_small_flex .dp_flex_3_clm {
  width: 31.3333333334%; }
  @media screen and (max-width: 480px) {
    .dp_flex_small .dp_flex_3_clm,
    .dp_flex_small_flex .dp_flex_3_clm {
      width: 48%; } }

/* リスト
----------------------------------------------------------------- */
.dp_list_number {
  counter-reset: number;
  list-style-type: none;
  padding: 0;
  margin: 0; }
  .dp_list_number li {
    position: relative;
    padding-left: 1.5rem; }
    .dp_list_number li:before {
      content: counter(number) ".";
      counter-increment: number;
      position: absolute;
      display: inline-block;
      color: #333;
      font-weight: 700;
      margin-left: -1.5rem; }

.dp_list_number_divider {
  counter-reset: number;
  list-style-type: none;
  padding: 0;
  margin: 0; }
  .dp_list_number_divider li {
    border-bottom: 1px solid #e9e9e9;
    position: relative;
    padding-left: 2.5rem;
    padding-bottom: 1rem;
    margin-top: 1rem; }
    .dp_list_number_divider li:before {
      content: counter(number);
      counter-increment: number;
      position: absolute;
      display: inline-block;
      color: #007098;
      font-family: "azo-sans-web", sans-serif 　　　;
      font-size: 30px;
      font-size: 1.875rem;
      font-weight: 700;
      margin-left: -2rem; }

.dp_list_dot li {
  text-indent: -1em;
  margin-left: 1em; }
  .dp_list_dot li:before {
    content: "・";
    color: #2c84b6;
    font-weight: 700; }

/* テーブル
----------------------------------------------------------------- */
.dp_tb_pattern1 {
  position: relative; }
  .dp_tb_pattern1 tr {
    border-bottom: solid 1px #E5E5E5; }
    @media screen and (max-width: 480px) {
      .dp_tb_pattern1 tr th, .dp_tb_pattern1 tr td {
        line-height: 1.7;
        width: 100%;
        display: block; } }
    .dp_tb_pattern1 tr th {
      padding: 1.5rem 1.25rem;
      font-weight: 700;
      text-align: left;
      vertical-align: top;
      width: 16%;
      position: relative; }
      @media screen and (max-width: 896px) {
        .dp_tb_pattern1 tr th {
          width: 20%;
          padding: 1.5rem 1rem; } }
      @media screen and (max-width: 480px) {
        .dp_tb_pattern1 tr th {
          width: 100%;
          padding: 1rem 0 0; } }
      .dp_tb_pattern1 tr th:after {
        position: absolute;
        left: 0;
        content: " ";
        display: block;
        border-bottom: solid 1px #007098;
        bottom: -1px;
        width: 100%; }
        @media screen and (max-width: 480px) {
          .dp_tb_pattern1 tr th:after {
            border-bottom: solid 0px #007098; } }
    .dp_tb_pattern1 tr td {
      padding: 1.5rem 3.75rem; }
      @media screen and (max-width: 896px) {
        .dp_tb_pattern1 tr td {
          padding: 1.5rem 1.5rem; } }
      @media screen and (max-width: 480px) {
        .dp_tb_pattern1 tr td {
          padding: 1rem 0; } }

.dp_tb_pattern2 tr {
  border-bottom: solid 1px #E5E5E5;
  position: relative; }
  @media screen and (max-width: 480px) {
    .dp_tb_pattern2 tr th, .dp_tb_pattern2 tr td {
      line-height: 1.7;
      width: 100%;
      display: block; } }
  .dp_tb_pattern2 tr th {
    padding: 1.5rem 1.25rem;
    font-weight: 700;
    text-align: left;
    vertical-align: top;
    width: 15%;
    color: #007098; }
    @media screen and (max-width: 896px) {
      .dp_tb_pattern2 tr th {
        width: 20%; } }
    @media screen and (max-width: 480px) {
      .dp_tb_pattern2 tr th {
        width: 100%;
        padding: 1rem 0 0; } }
  .dp_tb_pattern2 tr td {
    padding: 1.5rem 3.75rem; }
    @media screen and (max-width: 896px) {
      .dp_tb_pattern2 tr td {
        padding: 1.5rem; } }
    @media screen and (max-width: 480px) {
      .dp_tb_pattern2 tr td {
        padding: 1rem 0; } }
    .dp_tb_pattern2 tr td .paragraph {
      margin-left: 5em; }
      @media screen and (max-width: 480px) {
        .dp_tb_pattern2 tr td .paragraph {
          margin-left: 0; } }

.dp_tb_pattern3 {
  overflow: auto; }
  @media screen and (max-width: 480px) {
    .dp_tb_pattern3 {
      max-height: 445px; } }
  .dp_tb_pattern3::-webkit-scrollbar {
    width: 8px;
    background: #e9e9e9; }
  .dp_tb_pattern3::-webkit-scrollbar:horizontal {
    height: 8px;
    background: #e9e9e9; }
  .dp_tb_pattern3::-webkit-scrollbar-thumb {
    background: #007098;
    border-radius: 4px; }
  .dp_tb_pattern3::-webkit-scrollbar-thumb:horizontal {
    background: #007098;
    border-radius: 4px; }
  .dp_tb_pattern3 table {
    width: 100%;
    min-width: 720px; }
    .dp_tb_pattern3 table tr:nth-child(2n) {
      background-color: #EFF7F9; }
    .dp_tb_pattern3 table th, .dp_tb_pattern3 table td {
      border-right: solid 1px #fff;
      text-align: left;
      font-weight: 700; }
    .dp_tb_pattern3 table th {
      padding: 0.312rem 1.5rem;
      color: #fff;
      background-color: #007098; }
    .dp_tb_pattern3 table td {
      font-weight: 200;
      padding: 1rem 1.5rem; }
    .dp_tb_pattern3 table .first {
      font-weight: 700; }

/* スクロール
----------------------------------------------------------------- */
.dp_scroll_anchor {
  display: block; }

/* モーダルウィンドウ
----------------------------------------------------------------- */
.dp_modal {
  display: none;
  height: 100vh;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1; }

.dp_modal_bg {
  background: rgba(51, 51, 51, 0.7);
  height: 100vh;
  width: 100%; }

.dp_modal_content {
  color: #fff;
  background: rgba(255, 255, 255, 0);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  width: 80%;
  max-width: 720px; }
  @media screen and (max-width: 1024px) {
    .dp_modal_content {
      width: 90%; } }

.dp_modal_content_inner {
  position: relative; }
  .dp_modal_content_inner .dp_modal_close {
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    line-height: 0;
    position: absolute;
    top: -1.5rem;
    right: 0; }

.dp_modal_open {
  display: block;
  position: relative;
  transition: .3s; }
  .dp_modal_open:hover {
    opacity: .7; }
  .dp_modal_open:before {
    content: "\0002B";
    display: block;
    color: #007098;
    background-color: #fff;
    width: 1rem;
    height: 1rem;
    text-align: center;
    line-height: .8;
    padding: .25rem;
    position: absolute;
    top: 2px;
    left: 2px; }

/* 横へ自動スライド
----------------------------------------------------------------- */
/* 右から左へ----------------------------*/
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }

/* IE11対策 ----------------------------*/
_:-ms-lang(x)::-ms-backdrop,
.idx_slide {
  display: -ms-grid;
  overflow: hidden; }

.idx_slide_wrap {
  display: flex;
  overflow: hidden; }
  @media screen and (max-width: 896px) {
    .idx_slide_wrap {
      margin-top: 80px; } }
  @media screen and (max-width: 480px) {
    .idx_slide_wrap {
      margin-top: 0; } }

.idx_slide_list {
  display: flex;
  list-style: none;
  margin-bottom: 50px; }

.idx_slide_left {
  animation: infinity-scroll-left 95s infinite linear 0.5s both; }

.idx_slide_item {
  width: calc(100vw / 1.8);
  padding: 0 20px; }
  @media screen and (max-width: 896px) {
    .idx_slide_item {
      width: calc(100vw / 1.4); } }
  @media screen and (max-width: 480px) {
    .idx_slide_item {
      width: calc(100vw / 0.8);
      padding: 0 10px; } }
  .idx_slide_item > img {
    width: 100%;
    border-radius: 10px; }

/* 下から上
----------------------------------------------------------------- */
.anime-fadetop {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 1s,transform 0.5s; }

.fadein {
  opacity: 1;
  transform: translateY(0); }

/* ==========================================================================
アニメーション_パララックス
========================================================================== */
/* 背景固定
----------------------------------------------------------------- */
.parallax_fixed {
  min-height: 320px;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover; }
  @media screen and (max-width: 480px) {
    .parallax_fixed {
      min-height: 180px; } }

.idx_parallax_fixed {
  height: 320px; }
  @media screen and (max-width: 480px) {
    .idx_parallax_fixed {
      height: 180px; } }
  .idx_parallax_fixed:before {
    background: url(/resource/images/idx_parallax_bg.jpg) no-repeat center center/cover;
    content: "";
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -100; }

.recruit_parallax_fixed {
  height: 320px; }
  @media screen and (max-width: 480px) {
    .recruit_parallax_fixed {
      height: 180px; } }
  .recruit_parallax_fixed:before {
    background: url(/resource/images/recruit_parallax_bg.jpg) no-repeat center center/cover;
    content: "";
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -100; }

.idx_bg_white {
  background: #fff;
  z-index: 100; }

@media screen and (max-width: 896px) {
  ._:lang(x) + _:-webkit-full-screen-document, .idx_parallax_fixed::before {
    background: url(/resource/images/idx_parallax_bg_safari.jpg) no-repeat center center/cover; } }

@media screen and (max-width: 896px) {
  ._:lang(x) + _:-webkit-full-screen-document, .recruit_parallax_fixed::before {
    background: url(/resource/images/recruit_parallax_bg_safari.jpg) no-repeat center center/cover; } }

/* ==========================================================================
ローディング画面
========================================================================== */
.loading {
  background: #fff;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 9999; }

/* 背景
----------------------------------------------------------------- */
.dp_bg_white {
  background-color: #fff !important; }

.dp_bg_whiteblue {
  background-color: #EFF7F9 !important; }

.dp_bg_whitesmoke {
  background-color: #f6f6f6 !important; }

.dp_bg_lightgray {
  background-color: #e9e9e9 !important; }

.dp_bg_silver {
  background-color: #d4d4d4 !important; }

.dp_bg_gray {
  background-color: #676767 !important; }

.dp_bg_black {
  background-color: #333 !important; }

.dp_bg_main {
  background-color: #007098 !important; }

.dp_bg_sub {
  background-color: #2c84b6 !important; }

.dp_bg_key {
  background-color: #f2e242 !important; }

.dp_bg_hover {
  background-color: #11172d !important; }

.dp_bg_tomato {
  background-color: #F14639 !important; }

/* ボタン
----------------------------------------------------------------- */
.dp_btn_main,
.dp_btn_main_white,
.dp_btn_main_key,
.dp_btn_main_window {
  text-align: center;
  max-width: 280px; }
  .dp_btn_main a, .dp_btn_main button,
  .dp_btn_main_white a,
  .dp_btn_main_white button,
  .dp_btn_main_key a,
  .dp_btn_main_key button,
  .dp_btn_main_window a,
  .dp_btn_main_window button {
    position: relative;
    display: block;
    color: #fff;
    background-color: #007098;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 4;
    width: 100%;
    transition: .2s; }
    .dp_btn_main a::after, .dp_btn_main button::after,
    .dp_btn_main_white a::after,
    .dp_btn_main_white button::after,
    .dp_btn_main_key a::after,
    .dp_btn_main_key button::after,
    .dp_btn_main_window a::after,
    .dp_btn_main_window button::after {
      position: absolute;
      content: '';
      display: block;
      top: 0;
      right: 0;
      width: 55px;
      height: 100%;
      background-image: url(/resource/images/ico_arrow_yellow.png);
      background-size: contain;
      background-repeat: no-repeat;
      /*画像を繰り返さない*/
      background-position: bottom right -1px; }
    .dp_btn_main a:hover, .dp_btn_main button:hover,
    .dp_btn_main_white a:hover,
    .dp_btn_main_white button:hover,
    .dp_btn_main_key a:hover,
    .dp_btn_main_key button:hover,
    .dp_btn_main_window a:hover,
    .dp_btn_main_window button:hover {
      color: #007098;
      background-color: #f2e242; }
      .dp_btn_main a:hover::after, .dp_btn_main button:hover::after,
      .dp_btn_main_white a:hover::after,
      .dp_btn_main_white button:hover::after,
      .dp_btn_main_key a:hover::after,
      .dp_btn_main_key button:hover::after,
      .dp_btn_main_window a:hover::after,
      .dp_btn_main_window button:hover::after {
        background-image: url(/resource/images/ico_arrow_blue.png); }

.dp_btn_main_white a, .dp_btn_main_white button {
  color: #007098;
  background-color: #fff;
  border: 1px solid transparent; }
  .dp_btn_main_white a:hover, .dp_btn_main_white button:hover {
    border: 1px solid #f2e242; }

.dp_btn_main_key a, .dp_btn_main_key button {
  color: #007098;
  background-color: #f2e242;
  border: 1px solid #f2e242; }
  .dp_btn_main_key a::after, .dp_btn_main_key button::after {
    background-image: url(/resource/images/ico_arrow_blue.png); }
  .dp_btn_main_key a:hover, .dp_btn_main_key button:hover {
    background-color: #fbfb30;
    border: 1px solid #fbfb30; }

.dp_btn_main_window a::after, .dp_btn_main_window button::after {
  background-image: url(/resource/images/ico_window_yellow.png); }

.dp_btn_main_window a:hover::after, .dp_btn_main_window button:hover::after {
  background-image: url(/resource/images/ico_window_blue.png); }

.dp_btn_card,
.dp_btn_card_tmb {
  border: 4px solid #e9e9e9;
  padding: 2rem 2.5rem;
  position: relative; }
  @media screen and (max-width: 896px) {
    .dp_btn_card,
    .dp_btn_card_tmb {
      padding: 2rem; } }
  @media screen and (max-width: 480px) {
    .dp_btn_card,
    .dp_btn_card_tmb {
      padding: 1.5rem; } }
  .dp_btn_card h5,
  .dp_btn_card_tmb h5 {
    margin-bottom: .5rem; }
  .dp_btn_card p,
  .dp_btn_card_tmb p {
    color: #676767; }
    .dp_btn_card p span,
    .dp_btn_card_tmb p span {
      color: #2c84b6; }
  .dp_btn_card a,
  .dp_btn_card_tmb a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent: -999px;
    transition: .3s; }
    .dp_btn_card a:hover,
    .dp_btn_card_tmb a:hover {
      background-color: rgba(255, 255, 255, 0.4); }

.dp_btn_card_tmb {
  border: 1px solid #e9e9e9;
  padding: 0; }
  .dp_btn_card_tmb p {
    font-size: 14px;
    font-size: 0.875rem; }
    .dp_btn_card_tmb p span {
      color: #2c84b6; }

.dp_btn_pdf {
  text-align: left;
  line-height: 1;
  text-indent: -2.2em;
  padding-left: 2.2em; }
  .dp_btn_pdf a::before {
    content: '';
    display: inline-block;
    width: 25px;
    height: 35px;
    vertical-align: middle;
    background: url(/resource/images/ico_pdf.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    margin-right: 0.45em; }
  .dp_btn_pdf a span {
    color: #333;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;
    transition: .3s;
    line-height: 1.2;
    position: relative;
    top: -0.5rem; }
  .dp_btn_pdf:hover {
    opacity: 0.6; }

/* カード
----------------------------------------------------------------- */
.dp_card_small,
.dp_card_medium {
  border: 1px solid #e9e9e9; }

.dp_card_small {
  padding: 1rem; }

.dp_card_medium {
  padding: 2.5rem; }

.dp_card_pattern1 {
  border: 1px solid rgba(0, 112, 152, 0.2); }
  .dp_card_pattern1 .dp_card_head {
    background-color: rgba(0, 112, 152, 0.2);
    text-align: center;
    padding: 2rem 1rem; }
    .dp_card_pattern1 .dp_card_head h4 {
      color: #007098; }
  .dp_card_pattern1 .dp_card_txt {
    padding: 2.5rem; }
  .dp_card_pattern1 .dp_card_txt_small {
    padding: 1.5rem; }

.dp_card_pattern2 {
  border: 4px solid #2c84b6;
  padding: 1.5rem;
  text-align: center; }
  .dp_card_pattern2 h4 {
    color: #2c84b6;
    font-size: 30px;
    font-size: 1.875rem; }
    .dp_card_pattern2 h4 span {
      display: block;
      font-size: 16px;
      font-size: 1rem;
      margin-bottom: .5rem; }
  .dp_card_pattern2 h5 {
    font-size: 20px;
    font-size: 1.25rem;
    margin-top: 1.5rem; }
  .dp_card_pattern2 p {
    text-align: left;
    margin-top: 1rem; }

.white_card {
  background-color: #fff;
  box-shadow: 0 0 30px rgba(0, 112, 152, 0.08); }

/* テキスト
----------------------------------------------------------------- */
.dp_txt_english {
  font-family: "azo-sans-web", sans-serif 　　　; }

.dp_txt_title {
  font-family: "fot-tsukuardgothic-std", sans-serif; }

.dp_txt_regular {
  font-weight: 400; }

.dp_txt_bold {
  font-weight: 700; }

.dp_txt_small {
  font-size: 14px;
  font-size: 0.875rem; }

.dp_txt_medium {
  font-size: 18px;
  font-size: 1.125rem; }

.dp_txt_large {
  font-size: 20px;
  font-size: 1.25rem; }

.txt_space {
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  letter-spacing: 0.02rem; }

.dp_txt_link {
  color: #007098;
  text-decoration: underline; }
  .dp_txt_link:hover {
    color: #11172d;
    text-decoration: none; }

.dp_txt_center {
  text-align: center !important; }

.dp_txt_left {
  text-align: left !important; }

.dp_txt_right {
  text-align: right !important; }

.dp_txt_white {
  color: #fff !important; }

.dp_txt_whiteblue {
  color: #EFF7F9 !important; }

.dp_txt_whitesmoke {
  color: #f6f6f6 !important; }

.dp_txt_lightgray {
  color: #e9e9e9 !important; }

.dp_txt_silver {
  color: #d4d4d4 !important; }

.dp_txt_gray {
  color: #676767 !important; }

.dp_txt_black {
  color: #333 !important; }

.dp_txt_main {
  color: #007098 !important; }

.dp_txt_sub {
  color: #2c84b6 !important; }

.dp_txt_key {
  color: #f2e242 !important; }

.dp_txt_hover {
  color: #11172d !important; }

.dp_txt_tomato {
  color: #F14639 !important; }

h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-feature-settings: "palt";
  letter-spacing: 0.1rem; }

h2 {
  font-size: 38px;
  font-size: 2.375rem; }
  @media screen and (max-width: 896px) {
    h2 {
      font-size: 36px;
      font-size: 2.25rem; } }
  @media screen and (max-width: 480px) {
    h2 {
      font-size: 32px;
      font-size: 2rem; } }

h3 {
  font-size: 36px;
  font-size: 2.25rem; }
  @media screen and (max-width: 896px) {
    h3 {
      font-size: 28px;
      font-size: 1.75rem; } }
  @media screen and (max-width: 480px) {
    h3 {
      font-size: 26px;
      font-size: 1.625rem; } }

h4 {
  font-size: 28px;
  font-size: 1.75rem; }
  @media screen and (max-width: 896px) {
    h4 {
      font-size: 24px;
      font-size: 1.5rem; } }
  @media screen and (max-width: 480px) {
    h4 {
      font-size: 22px;
      font-size: 1.375rem; } }

h5 {
  font-size: 24px;
  font-size: 1.5rem; }
  @media screen and (max-width: 896px) {
    h5 {
      font-size: 22px;
      font-size: 1.375rem; } }
  @media screen and (max-width: 480px) {
    h5 {
      font-size: 20px;
      font-size: 1.25rem; } }

h6 {
  font-size: 22px;
  font-size: 1.375rem; }
  @media screen and (max-width: 896px) {
    h6 {
      font-size: 20px;
      font-size: 1.25rem; } }
  @media screen and (max-width: 480px) {
    h6 {
      font-size: 18px;
      font-size: 1.125rem; } }

.dp_ttl_main {
  border-bottom: solid 1px #dadada;
  position: relative;
  padding-bottom: 0.625rem; }
  .dp_ttl_main:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 1px #007098;
    bottom: -1px;
    width: 1em; }

.dp_ttl_sub {
  color: #007098;
  border-bottom: 1px solid #007098;
  padding-bottom: .5rem; }

.dp_txt_tel {
  font-family: "azo-sans-web", sans-serif 　　　;
  font-size: 42px;
  font-size: 2.625rem;
  font-weight: 700;
  line-height: 1;
  color: #f2e242;
  display: block; }
  @media screen and (max-width: 896px) {
    .dp_txt_tel {
      font-size: 30px;
      font-size: 1.875rem; } }
  .dp_txt_tel img {
    margin-right: .25rem;
    width: 21px;
    vertical-align: baseline; }
    @media screen and (max-width: 896px) {
      .dp_txt_tel img {
        width: 14px; } }
  .dp_txt_tel span {
    font-size: 16px;
    font-size: 1rem;
    color: #fff; }
  .dp_txt_tel a[href^="tel:"] {
    color: #f2e242;
    display: inline-block;
    transition: .2s; }
    .dp_txt_tel a[href^="tel:"]:hover {
      color: #fbfb30; }

.idx_main_ttl .dp_page_title_jp, .idx_white_ttl .dp_page_title_jp {
  color: #333; }

.idx_main_ttl .dp_page_title_en, .idx_white_ttl .dp_page_title_en {
  color: #007098;
  font-family: "azo-sans-web", sans-serif 　　　;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5; }

.idx_white_ttl .dp_page_title_jp {
  color: #fff; }

.idx_white_ttl .dp_page_title_en {
  color: #fff; }

/* マージン
----------------------------------------------------------------- */
.dp_margin_auto {
  margin: auto; }

.dp_margin_remove {
  margin: 0 !important; }

.dp_margin_remove_top {
  margin-top: 0 !important; }

.dp_margin_xxsmall_top {
  margin-top: 0.625rem; }

.dp_margin_xsmall_top {
  margin-top: 1.25rem; }

.dp_margin_small_top {
  margin-top: 1.875rem; }

.dp_margin_medium_top {
  margin-top: 2.5rem; }
  @media screen and (max-width: 896px) {
    .dp_margin_medium_top {
      margin-top: 1.875rem; } }

.dp_margin_xmedium_top {
  margin-top: 3.125rem; }
  @media screen and (max-width: 896px) {
    .dp_margin_xmedium_top {
      margin-top: 2rem; } }
  @media screen and (max-width: 480px) {
    .dp_margin_xmedium_top {
      margin-top: 1.875rem; } }

.dp_margin_xxmedium_top {
  margin-top: 3.75rem; }
  @media screen and (max-width: 896px) {
    .dp_margin_xxmedium_top {
      margin-top: 3.125rem; } }
  @media screen and (max-width: 480px) {
    .dp_margin_xxmedium_top {
      margin-top: 2.5rem; } }

.dp_margin_large_top {
  margin-top: 5rem; }
  @media screen and (max-width: 896px) {
    .dp_margin_large_top {
      margin-top: 3.75rem; } }
  @media screen and (max-width: 480px) {
    .dp_margin_large_top {
      margin-top: 3.125rem; } }

.dp_margin_xlarge_top {
  margin-top: 6.25rem; }
  @media screen and (max-width: 896px) {
    .dp_margin_xlarge_top {
      margin-top: 5rem; } }
  @media screen and (max-width: 480px) {
    .dp_margin_xlarge_top {
      margin-top: 3.125rem; } }

.dp_margin_xxlarge_top {
  margin-top: 7.5rem; }
  @media screen and (max-width: 896px) {
    .dp_margin_xxlarge_top {
      margin-top: 6.25rem; } }
  @media screen and (max-width: 480px) {
    .dp_margin_xxlarge_top {
      margin-top: 3.75rem; } }

/* パディング
----------------------------------------------------------------- */
.dp_padding_remove {
  padding: 0 !important; }

.dp_padding_small {
  padding: 1rem; }

.dp_padding_medium {
  padding: 2.5rem; }

.dp_padding_large {
  padding: 3.75rem; }
  @media screen and (max-width: 480px) {
    .dp_padding_large {
      padding: 2.5rem; } }

/* ==========================================================================
ヘッダー
========================================================================== */
header {
  position: relative; }

.dp_header {
  display: flex;
  justify-content: space-between;
  background-color: white;
  height: 100px;
  z-index: 1010;
  position: relative; }
  @media screen and (max-width: 896px) {
    .dp_header {
      position: fixed;
      width: 100%;
      height: 80px; } }
  @media screen and (max-width: 480px) {
    .dp_header {
      height: 60px;
      position: relative; } }

.dp_header_logo {
  position: relative;
  max-width: 360px; }
  @media screen and (max-width: 896px) {
    .dp_header_logo {
      max-width: 320px; } }
  @media screen and (max-width: 480px) {
    .dp_header_logo {
      max-width: 240px; } }
  .dp_header_logo h1 {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%; }
    .dp_header_logo h1 a {
      position: relative;
      display: flex;
      align-items: center;
      height: 100%;
      padding: 5px 5% 5px 10px;
      box-sizing: border-box;
      transition: .2s; }
      .dp_header_logo h1 a:hover {
        opacity: .75; }
      .dp_header_logo h1 a img {
        position: relative;
        display: block;
        width: 350px;
        height: 100%; }
        @media screen and (max-width: 896px) {
          .dp_header_logo h1 a img {
            width: 320px; } }
        @media screen and (max-width: 480px) {
          .dp_header_logo h1 a img {
            width: 240px; } }

/* PC版メニュー
----------------------------------------------------------------- */
.dp_header_nav {
  position: relative;
  display: flex;
  justify-content: flex-end;
  flex: 1;
  min-width: 70%;
  text-align: center;
  font-size: 0.875rem; }
  @media screen and (max-width: 1024px) {
    .dp_header_nav {
      font-size: 1.25vw; } }
  .dp_header_nav .dp_header_nav_global {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1; }
    .dp_header_nav .dp_header_nav_global ul.dp_header_nav_pattern1_main {
      display: flex;
      justify-content: flex-end;
      line-height: 100px;
      margin-right: 100px; }
      @media screen and (max-width: 896px) {
        .dp_header_nav .dp_header_nav_global ul.dp_header_nav_pattern1_main {
          line-height: 80px; } }
      .dp_header_nav .dp_header_nav_global ul.dp_header_nav_pattern1_main > li {
        width: 16.6666667%;
        max-width: 120px;
        position: relative; }
        .dp_header_nav .dp_header_nav_global ul.dp_header_nav_pattern1_main > li a {
          position: relative;
          display: inline-block;
          text-decoration: none;
          transition: .3s;
          font-weight: 400; }
          .dp_header_nav .dp_header_nav_global ul.dp_header_nav_pattern1_main > li a::after {
            position: absolute;
            bottom: 30px;
            left: 0;
            content: '';
            width: 100%;
            height: 2px;
            background: #007098;
            opacity: 0;
            visibility: hidden;
            transition: .3s; }
          .dp_header_nav .dp_header_nav_global ul.dp_header_nav_pattern1_main > li a:hover {
            color: #007098; }
            .dp_header_nav .dp_header_nav_global ul.dp_header_nav_pattern1_main > li a:hover::after {
              bottom: 35px;
              opacity: 1;
              visibility: visible; }
    .dp_header_nav .dp_header_nav_global .dp_dropdown {
      position: relative; }
      @media (orientation: landscape) and (max-device-width: 1024px) {
        .dp_header_nav .dp_header_nav_global .dp_dropdown > a {
          pointer-events: none; } }
      .dp_header_nav .dp_header_nav_global .dp_dropdown ul.dp_dropdown_nav {
        position: absolute;
        bottom: 0;
        left: 50%;
        display: block;
        min-width: max-content;
        width: max-content;
        transform-origin: top center;
        transform: translate(-50%, 100%) scale(1, 0);
        -webkit-transform: translate(-50%, 100%) scale(1, 0);
        -ms-transform: translate(-50%, 100%) scale(1, 0);
        overflow: hidden;
        transition: .5s .1s; }
        .dp_header_nav .dp_header_nav_global .dp_dropdown ul.dp_dropdown_nav li {
          width: 100%;
          background-color: #fff;
          line-height: 1.6;
          font-size: 13px; }
          .dp_header_nav .dp_header_nav_global .dp_dropdown ul.dp_dropdown_nav li a {
            padding: 10px 20px;
            opacity: 0;
            transition: .2s; }
        .dp_header_nav .dp_header_nav_global .dp_dropdown ul.dp_dropdown_nav.dp_dropdown_open {
          overflow: visible;
          transform: translate(-50%, 100%) scale(1, 1);
          -webkit-transform: translate(-50%, 100%) scale(1, 1);
          -ms-transform: translate(-50%, 100%) scale(1, 1);
          transition: .4s; }
          .dp_header_nav .dp_header_nav_global .dp_dropdown ul.dp_dropdown_nav.dp_dropdown_open a {
            opacity: 1;
            transition: .3s .2s; }
      .dp_header_nav .dp_header_nav_global .dp_dropdown .dp_dropdown_arrow::after {
        content: "";
        display: inline-block;
        width: 5px;
        height: 5px;
        border-top: 1px solid #007098;
        border-right: 1px solid #007098;
        transform: rotate(135deg) translateY(50%);
        -webkit-transform: rotate(135deg) translateY(50%);
        margin-left: .6125em;
        transition: .2s; }
      .dp_header_nav .dp_header_nav_global .dp_dropdown:hover .dp_dropdown_arrow::after {
        border-top: 1px solid #2c84b6;
        border-right: 1px solid #2c84b6; }

/* お問い合わせ／電話_ボタン
----------------------------------------------------------------- */
.dp_header_nav_contact, .dp_header_nav_phone {
  width: 27%;
  max-width: 100px;
  line-height: 80px;
  position: fixed; }
  @media screen and (max-width: 896px) {
    .dp_header_nav_contact, .dp_header_nav_phone {
      line-height: 60px;
      max-width: 80px; } }
  @media screen and (max-width: 480px) {
    .dp_header_nav_contact, .dp_header_nav_phone {
      line-height: 40px;
      max-width: 60px; } }
  .dp_header_nav_contact ul, .dp_header_nav_phone ul {
    display: flex;
    justify-content: flex-end; }
    .dp_header_nav_contact ul li, .dp_header_nav_phone ul li {
      width: 100%; }
      .dp_header_nav_contact ul li a, .dp_header_nav_phone ul li a {
        position: relative;
        font-size: 13px;
        font-size: 0.8125rem;
        display: block;
        color: #fff;
        transition: .3s;
        background-color: #2c84b6;
        overflow: hidden;
        text-align: center; }
        @media screen and (max-width: 896px) {
          .dp_header_nav_contact ul li a, .dp_header_nav_phone ul li a {
            font-size: 11px;
            font-size: 0.6875rem;
            text-align: center; } }
        .dp_header_nav_contact ul li a span, .dp_header_nav_phone ul li a span {
          padding-top: 20px;
          display: inline-block; }
        .dp_header_nav_contact ul li a::before, .dp_header_nav_phone ul li a::before {
          content: "";
          position: absolute;
          top: 35%;
          left: 50%;
          transform: translate(-50%, -50%);
          -webkit-transform: translate(-50%, -50%);
          display: inline-block;
          width: 20px;
          height: 15px;
          background: url(/resource/images/hd_ico_mail_yellow.svg) no-repeat;
          background-size: contain;
          padding-bottom: 5%;
          transition: all .2s ease-out; }
          @media screen and (max-width: 480px) {
            .dp_header_nav_contact ul li a::before, .dp_header_nav_phone ul li a::before {
              top: 40%;
              width: 18px;
              height: 15px; } }
        .dp_header_nav_contact ul li a:hover, .dp_header_nav_phone ul li a:hover {
          background-color: #f2e242;
          color: #007098; }
          .dp_header_nav_contact ul li a:hover::before, .dp_header_nav_phone ul li a:hover::before {
            background: url(/resource/images/hd_ico_mail_blue.svg) no-repeat; }

.dp_header_nav_contact {
  top: 0;
  right: 0; }
  @media screen and (max-width: 896px) {
    .dp_header_nav_contact {
      top: 80px; } }
  @media screen and (max-width: 480px) {
    .dp_header_nav_contact {
      top: 60px;
      right: 0; } }

.dp_header_nav_phone {
  top: 100px;
  right: 0; }
  @media screen and (max-width: 896px) {
    .dp_header_nav_phone {
      top: 160px; } }
  @media screen and (max-width: 480px) {
    .dp_header_nav_phone {
      top: 120px;
      right: 0; } }
  .dp_header_nav_phone ul li a {
    background-color: #007098;
    font-family: "azo-sans-web", sans-serif 　　　; }
    .dp_header_nav_phone ul li a::before {
      width: 20px;
      height: 26px;
      background: url(/resource/images/hd_ico_phone_yellow.svg) no-repeat; }
      @media screen and (max-width: 480px) {
        .dp_header_nav_phone ul li a::before {
          top: 35%;
          width: 18px;
          height: 15px; } }
    .dp_header_nav_phone ul li a:hover::before {
      background: url(/resource/images/hd_ico_phone_blue.svg) no-repeat; }

/* ドロワーメニュー
----------------------------------------------------------------- */
.area_toggle {
  display: block;
  width: 80px;
  height: 80px;
  background-image: url(/resource/images/menu_open.svg);
  transition: background-image .1s linear;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 999;
  position: fixed;
  top: 0;
  right: 0; }
  @media screen and (max-width: 480px) {
    .area_toggle {
      width: 60px;
      height: 60px; } }

body.open .area_toggle {
  background-image: url(/resource/images/menu_close.svg); }

.area_drawer {
  display: block;
  width: 0;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 998;
  overflow: auto;
  background-color: #007098;
  opacity: 0;
  transition: .3s;
  height: 100vh;
  /* 変数をサポートしていないブラウザのフォールバック */ }
  .area_drawer .area_drawer_body {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%); }
    .area_drawer .area_drawer_body ul.area_drawer_nav_main {
      background-color: transparent;
      font-size: 18px;
      font-size: 1.125rem;
      font-weight: 400;
      line-height: 4;
      text-align: left; }
      @media screen and (max-width: 896px) {
        .area_drawer .area_drawer_body ul.area_drawer_nav_main {
          line-height: 4; } }
      @media screen and (max-width: 480px) {
        .area_drawer .area_drawer_body ul.area_drawer_nav_main {
          line-height: 3.2;
          font-size: 14px;
          font-size: 0.875rem; } }
      .area_drawer .area_drawer_body ul.area_drawer_nav_main li a {
        display: block;
        position: relative;
        padding: 0 15%;
        color: #fff; }
        .area_drawer .area_drawer_body ul.area_drawer_nav_main li a:after {
          content: "";
          width: 6px;
          height: 6px;
          border: 0px;
          border-top: solid 1px #fff;
          border-right: solid 1px #fff;
          transform: rotate(45deg);
          -webkit-transform: rotate(45deg);
          position: absolute;
          top: 45%;
          right: 20%; }
        .area_drawer .area_drawer_body ul.area_drawer_nav_main li a.btn_emboss .btn_inner {
          display: block;
          max-width: 240px;
          margin: auto;
          background-color: #f2e242;
          line-height: 3.5;
          color: #007098;
          text-align: center;
          width: 100%; }
          @media screen and (max-width: 480px) {
            .area_drawer .area_drawer_body ul.area_drawer_nav_main li a.btn_emboss .btn_inner {
              line-height: 3.2; } }
      .area_drawer .area_drawer_body ul.area_drawer_nav_main li .drawer_mail, .area_drawer .area_drawer_body ul.area_drawer_nav_main li .drawer_phone {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem; }
        .area_drawer .area_drawer_body ul.area_drawer_nav_main li .drawer_mail::before, .area_drawer .area_drawer_body ul.area_drawer_nav_main li .drawer_phone::before {
          content: "";
          position: absolute;
          top: 58%;
          left: 28%;
          transform: translate(-50%, -50%);
          -webkit-transform: translate(-50%, -50%);
          display: inline-block;
          width: 18px;
          height: 15px;
          background-size: contain;
          padding-bottom: 5%;
          transition: all .2s ease-out; }
        .area_drawer .area_drawer_body ul.area_drawer_nav_main li .drawer_mail::after, .area_drawer .area_drawer_body ul.area_drawer_nav_main li .drawer_phone::after {
          display: none; }
      @media screen and (max-width: 480px) {
        .area_drawer .area_drawer_body ul.area_drawer_nav_main li .drawer_mail {
          padding-top: 1rem;
          padding-bottom: 0.5rem; } }
      .area_drawer .area_drawer_body ul.area_drawer_nav_main li .drawer_mail::before {
        background: url(/resource/images/hd_ico_mail_blue.svg) no-repeat; }
        @media screen and (max-width: 480px) {
          .area_drawer .area_drawer_body ul.area_drawer_nav_main li .drawer_mail::before {
            left: 25%;
            width: 14px;
            height: 0; } }
      @media screen and (max-width: 480px) {
        .area_drawer .area_drawer_body ul.area_drawer_nav_main li .drawer_phone {
          padding-top: 0.5rem;
          padding-bottom: 1rem; } }
      .area_drawer .area_drawer_body ul.area_drawer_nav_main li .drawer_phone::before {
        top: 55%;
        background: url(/resource/images/hd_ico_phone_blue.svg) no-repeat; }
        @media screen and (max-width: 480px) {
          .area_drawer .area_drawer_body ul.area_drawer_nav_main li .drawer_phone::before {
            top: 52%;
            left: 25%;
            width: 11px;
            height: 12px; } }
      .area_drawer .area_drawer_body ul.area_drawer_nav_main li:hover a {
        color: #f2e242; }
        .area_drawer .area_drawer_body ul.area_drawer_nav_main li:hover a:after {
          border-top: solid 1px #f2e242;
          border-right: solid 1px #f2e242; }

.area_drawer_overlay {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 997;
  display: none;
  content: "";
  background: linear-gradient(to right, rgba(51, 51, 51, 0.6) 10%, rgba(51, 51, 51, 0.6) 100%) fixed;
  width: 100vw;
  height: 100vh;
  /* 変数をサポートしていないブラウザのフォールバック */
  height: calc(var(--vh, 1vh) * 100);
  opacity: 0;
  transition: .3s; }

body.open .area_drawer_overlay {
  display: block;
  opacity: 1; }

body.open .area_drawer {
  width: 45%;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  opacity: 1; }
  @media screen and (max-width: 480px) {
    body.open .area_drawer {
      width: 65%; } }

#header.UpMove {
  position: fixed;
  width: 100%;
  animation: UpAnime 0.5s forwards;
  background-color: rgba(0, 112, 152, 0.5); }

@keyframes UpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
    background-color: #007098; }
  to {
    opacity: 0;
    transform: translateY(-100px);
    background-color: rgba(0, 112, 152, 0); } }

#header.DownMove {
  position: fixed;
  width: 100%;
  animation: DownAnime 0.5s forwards;
  background-color: rgba(255, 255, 255, 0.8);
  /*　下に下がる動き　*/ }

@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
    background-color: white;
    backdrop-filter: blur(0); }
  to {
    opacity: 1;
    transform: translateY(0);
    background-color: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(2px); } }

/* ==========================================================================
フッター
========================================================================== */
footer {
  background-color: #fff;
  padding-bottom: 1px; }

.dp_footer {
  border-top: 30px solid #007098; }

@media all and (-ms-high-contrast: none) {
  .dp_footer {
    margin-top: -1px; } }

.dp_footer_logo {
  text-align: left;
  width: 40%;
  margin-top: -18px; }
  @media screen and (max-width: 896px) {
    .dp_footer_logo {
      width: 100%;
      margin-top: -8px;
      margin: 0 auto;
      text-align: center; } }
  .dp_footer_logo a {
    display: block; }
    .dp_footer_logo a img {
      height: 52px; }
      @media screen and (max-width: 896px) {
        .dp_footer_logo a img {
          height: 50px;
          margin-left: -50px; } }
      @media screen and (max-width: 480px) {
        .dp_footer_logo a img {
          height: 42px;
          margin-left: -20px; } }
    .dp_footer_logo a:hover {
      opacity: .8; }

@media screen and (max-width: 896px) {
  .ft_address {
    display: grid;
    justify-content: center; } }

.ft_address_txt {
  margin-left: 90px; }
  .ft_address_txt span {
    font-weight: 400; }
  @media screen and (max-width: 896px) {
    .ft_address_txt {
      margin-left: 0; } }

/* メニュー
----------------------------------------------------------------- */
.dp_footer_nav {
  padding: 3.75rem 0 4.375rem;
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  width: 100%;
  position: relative; }
  @media screen and (max-width: 896px) {
    .dp_footer_nav {
      padding: 2.75rem 0;
      display: block; } }
  .dp_footer_nav .dp_footer_nav_main {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    width: 60%; }
    @media screen and (max-width: 896px) {
      .dp_footer_nav .dp_footer_nav_main {
        display: none; } }
    .dp_footer_nav .dp_footer_nav_main ul {
      line-height: 1.2;
      margin-right: 5%; }
      @media screen and (max-width: 896px) {
        .dp_footer_nav .dp_footer_nav_main ul {
          margin-right: 8%;
          margin-top: 8%; } }
      .dp_footer_nav .dp_footer_nav_main ul:last-child {
        margin-right: 0; }
      .dp_footer_nav .dp_footer_nav_main ul > li {
        margin-bottom: 2rem; }
        @media screen and (max-width: 896px) {
          .dp_footer_nav .dp_footer_nav_main ul > li {
            margin-bottom: 1.5rem; } }
        .dp_footer_nav .dp_footer_nav_main ul > li a {
          font-size: 14px;
          font-size: 0.875rem;
          font-weight: 400;
          color: #007098;
          transition: .3s; }
          .dp_footer_nav .dp_footer_nav_main ul > li a:hover {
            opacity: 0.7; }
      .dp_footer_nav .dp_footer_nav_main ul > ul {
        font-size: 12px; }
        @media screen and (max-width: 480px) {
          .dp_footer_nav .dp_footer_nav_main ul > ul {
            display: none; } }
        .dp_footer_nav .dp_footer_nav_main ul > ul > li {
          margin-bottom: 1rem; }
          .dp_footer_nav .dp_footer_nav_main ul > ul > li a {
            font-size: 14px;
            font-size: 0.875rem;
            color: #333;
            font-weight: 200;
            font-feature-settings: "palt"; }
            .dp_footer_nav .dp_footer_nav_main ul > ul > li a:hover {
              color: #007098;
              opacity: 1; }

/* コピーライト
----------------------------------------------------------------- */
.dp_copyright {
  font-family: "azo-sans-web", sans-serif 　　　;
  font-size: 10px;
  line-height: 1;
  text-align: left;
  padding: .85rem 0;
  color: rgba(51, 51, 51, 0.8); }

/* ページトップに戻るボタン
----------------------------------------------------------------- */
a#pagetop {
  line-height: 0;
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 100; }
  @media screen and (max-width: 480px) {
    a#pagetop {
      right: 0.625rem; } }
  a#pagetop img {
    width: 80px;
    transition: .3s; }
    @media screen and (max-width: 480px) {
      a#pagetop img {
        width: 70px; } }
  a#pagetop:hover img {
    opacity: .8; }

/* ==========================================================================
トップページ
========================================================================== */
/* スライドショー
----------------------------------------------------------------- */
.dp_idx_slide_wrap {
  width: 100%;
  position: relative;
  background: linear-gradient(180deg, #fff 0%, #fff 75%, #007098 75%, #007098 100%); }
  .dp_idx_slide_wrap .dp_idx_slide_catch {
    z-index: 1;
    position: absolute;
    top: 50%;
    left: 24%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    max-width: 550px; }
    @media screen and (max-width: 1024px) {
      .dp_idx_slide_wrap .dp_idx_slide_catch {
        left: 30%;
        width: 55%; } }
    @media screen and (max-width: 480px) {
      .dp_idx_slide_wrap .dp_idx_slide_catch {
        width: 100%;
        left: 50%;
        top: 60%; } }
    .dp_idx_slide_wrap .dp_idx_slide_catch img {
      max-width: 100%; }
  .dp_idx_slide_wrap .dp_idx_slide_items .slick-slide {
    background-position: center center;
    background-size: cover; }
    @media screen and (max-width: 1024px) {
      .dp_idx_slide_wrap .dp_idx_slide_items .slick-slide {
        height: 505px; } }
  .dp_idx_slide_wrap .dp_idx_slide_items .slick-list {
    pointer-events: none; }
  .dp_idx_slide_wrap .dp_idx_slide_items .slick-dots {
    display: flex;
    justify-content: center;
    bottom: 15px; }
    .dp_idx_slide_wrap .dp_idx_slide_items .slick-dots li {
      width: 32px;
      height: 3px;
      margin: 0 4px; }
      .dp_idx_slide_wrap .dp_idx_slide_items .slick-dots li button {
        padding: 0;
        width: 32px;
        height: 3px; }
        .dp_idx_slide_wrap .dp_idx_slide_items .slick-dots li button:before {
          content: "";
          width: 32px;
          height: 3px;
          opacity: .7;
          font-size: 0;
          background-color: #fff;
          border-radius: 1.5px; }
        .dp_idx_slide_wrap .dp_idx_slide_items .slick-dots li button:hover:before {
          opacity: 1;
          background-color: #2c84b6; }
    .dp_idx_slide_wrap .dp_idx_slide_items .slick-dots li.slick-active button:before {
      opacity: 1;
      background-color: #007098; }
  .dp_idx_slide_wrap .dp_idx_slide_items .slick-next,
  .dp_idx_slide_wrap .dp_idx_slide_items .slick-prev {
    z-index: 2;
    width: 25px;
    height: 25px; }
    .dp_idx_slide_wrap .dp_idx_slide_items .slick-next:before,
    .dp_idx_slide_wrap .dp_idx_slide_items .slick-prev:before {
      display: none; }
  .dp_idx_slide_wrap .dp_idx_slide_items .slick-next {
    right: 20px;
    width: 20px;
    height: 20px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }
  .dp_idx_slide_wrap .dp_idx_slide_items .slick-prev {
    left: 20px;
    width: 20px;
    height: 20px;
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }

.slick-dotted.slick-slider {
  margin: 0 auto !important; }

/* お知らせ
----------------------------------------------------------------- */
.idx_news {
  position: relative; }
  @media screen and (max-width: 480px) {
    .idx_news {
      padding-left: 0;
      padding-right: 0;
      padding-top: 1px; } }

.dp_idx_news_wrap {
  display: flex;
  flex: 0 auto;
  justify-content: space-between;
  font-size: 14px;
  line-height: 1;
  vertical-align: middle;
  position: absolute;
  bottom: 70px;
  right: 0px;
  background-color: #fff; }
  @media screen and (max-width: 896px) {
    .dp_idx_news_wrap {
      font-size: 13px;
      right: 20px; } }
  @media screen and (max-width: 480px) {
    .dp_idx_news_wrap {
      position: relative;
      bottom: 0;
      font-size: 12px;
      line-height: 1.5;
      right: 0; } }
  .dp_idx_news_wrap .idx_news_cont {
    flex: 0 auto;
    display: flex;
    min-width: 1px;
    padding: 0.75rem 2.875rem 0.75rem 1.875rem; }
    @media screen and (max-width: 896px) {
      .dp_idx_news_wrap .idx_news_cont {
        padding: 0.55rem 1.5rem 0.55rem 1.5rem; } }
    @media screen and (max-width: 480px) {
      .dp_idx_news_wrap .idx_news_cont {
        padding: 0.55rem 0.55rem 0 5%;
        display: block; } }
    .dp_idx_news_wrap .idx_news_cont .idx_news_cont {
      display: block; }
    .dp_idx_news_wrap .idx_news_cont .idx_news_items {
      display: flex;
      justify-content: center;
      align-items: center; }
      @media screen and (max-width: 480px) {
        .dp_idx_news_wrap .idx_news_cont .idx_news_items {
          display: block;
          justify-content: flex-start;
          align-items: flex-start; } }
      .dp_idx_news_wrap .idx_news_cont .idx_news_items:first-child {
        content: "";
        border-right: 1px solid rgba(51, 51, 51, 0.2); }
        @media screen and (max-width: 480px) {
          .dp_idx_news_wrap .idx_news_cont .idx_news_items:first-child {
            border-right: 0px solid rgba(51, 51, 51, 0.2); } }
      .dp_idx_news_wrap .idx_news_cont .idx_news_items h4 {
        font-size: 16px;
        font-size: 1rem;
        white-space: nowrap;
        margin-right: 1.5rem; }
      .dp_idx_news_wrap .idx_news_cont .idx_news_items ul {
        line-height: 1.5;
        margin-left: 1.5rem; }
        @media screen and (max-width: 480px) {
          .dp_idx_news_wrap .idx_news_cont .idx_news_items ul {
            height: 2.5rem;
            margin-left: 0;
            margin-top: 0.55rem; } }
        .dp_idx_news_wrap .idx_news_cont .idx_news_items ul li {
          font-size: 14px;
          font-size: 0.875rem;
          padding-right: 3.125rem;
          white-space: nowrap; }
          @media screen and (max-width: 480px) {
            .dp_idx_news_wrap .idx_news_cont .idx_news_items ul li {
              font-size: 13px;
              font-size: 0.8125rem;
              padding-right: 0;
              white-space: normal; } }
          .dp_idx_news_wrap .idx_news_cont .idx_news_items ul li a {
            display: block;
            transition: .3s; }
            .dp_idx_news_wrap .idx_news_cont .idx_news_items ul li a:hover {
              color: #2c84b6; }
            .dp_idx_news_wrap .idx_news_cont .idx_news_items ul li a .dp_idx_news_data {
              font-size: 12px;
              font-size: 0.75rem;
              display: block; }
            .dp_idx_news_wrap .idx_news_cont .idx_news_items ul li a .dp_idx_news_ttl {
              display: block;
              min-width: 180px; }
  .dp_idx_news_wrap .dp_idx_news_btn {
    text-align: center;
    width: 15%; }
    @media screen and (max-width: 480px) {
      .dp_idx_news_wrap .dp_idx_news_btn {
        width: 19%; } }
    .dp_idx_news_wrap .dp_idx_news_btn a {
      display: block;
      color: #fff;
      width: 100%;
      height: 100%;
      position: relative;
      display: block;
      font-family: "azo-sans-web", sans-serif 　　　;
      font-weight: 500;
      color: #fff;
      background-color: #007098;
      background-image: url(/resource/images/ico_idx_news_white.svg);
      background-size: 18px auto;
      background-position: center top 30%;
      background-repeat: no-repeat;
      font-size: 12px;
      font-size: 0.75rem;
      font-weight: 400;
      line-height: 4.5;
      letter-spacing: 0.05rem;
      width: 100%;
      transition: .3s; }
      @media screen and (max-width: 480px) {
        .dp_idx_news_wrap .dp_idx_news_btn a {
          background-size: 22px auto;
          font-size: 11px;
          font-size: 0.6875rem; } }
      .dp_idx_news_wrap .dp_idx_news_btn a span {
        position: relative;
        top: 1.125rem; }
        @media screen and (max-width: 896px) {
          .dp_idx_news_wrap .dp_idx_news_btn a span {
            top: 1rem; } }
        @media screen and (max-width: 480px) {
          .dp_idx_news_wrap .dp_idx_news_btn a span {
            top: 2.5rem; } }
    .dp_idx_news_wrap .dp_idx_news_btn:hover a {
      background-image: url(/resource/images/ico_idx_news_yellow.svg);
      color: #f2e242; }

/* メッセージ
----------------------------------------------------------------- */
.dp_container_message {
  box-sizing: content-box;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10%;
  max-width: 1260px; }
  @media screen and (max-width: 896px) {
    .dp_container_message {
      padding-left: 5%; } }
  @media screen and (max-width: 480px) {
    .dp_container_message {
      padding-left: 5%;
      padding-right: 5%; } }

.dp_idx_pattern1_bg {
  background-position: top -8.75rem left;
  background-repeat: no-repeat;
  background-size: 120% auto; }
  @media screen and (max-width: 896px) {
    .dp_idx_pattern1_bg {
      background-position: top -3.75rem left; } }
  @media screen and (max-width: 480px) {
    .dp_idx_pattern1_bg {
      background-position: top 2rem left -7.5rem;
      background-size: 240% auto; } }

.dp_idx_pattern1_wrap {
  padding: 7.5rem 0 12.5rem; }
  @media screen and (max-width: 896px) {
    .dp_idx_pattern1_wrap {
      padding: 5rem 0 7.5rem; } }
  .dp_idx_pattern1_wrap .grid_message > * {
    margin-left: 8%; }
    @media screen and (max-width: 480px) {
      .dp_idx_pattern1_wrap .grid_message > * {
        margin-left: 0; } }
    .dp_idx_pattern1_wrap .grid_message > *:first-child {
      margin-left: 0; }
  .dp_idx_pattern1_wrap .grid_message .grid_2_clm_message:first-child {
    width: 38%; }
    @media screen and (max-width: 896px) {
      .dp_idx_pattern1_wrap .grid_message .grid_2_clm_message:first-child {
        width: 48%; } }
    @media screen and (max-width: 480px) {
      .dp_idx_pattern1_wrap .grid_message .grid_2_clm_message:first-child {
        width: 100%; } }
  .dp_idx_pattern1_wrap .grid_message .grid_2_clm_message:last-child {
    width: 54%; }
    @media screen and (max-width: 896px) {
      .dp_idx_pattern1_wrap .grid_message .grid_2_clm_message:last-child {
        width: 44%; } }
    @media screen and (max-width: 480px) {
      .dp_idx_pattern1_wrap .grid_message .grid_2_clm_message:last-child {
        width: 100%;
        margin-top: 3.75rem; } }
  .dp_idx_pattern1_wrap .idx_pattern1_ttl span {
    font-size: 13px;
    font-size: 0.8125rem;
    color: #007098;
    font-family: "fot-tsukuardgothic-std", sans-serif;
    letter-spacing: 0.05rem;
    margin-bottom: 1.25rem;
    font-weight: 300; }
  .dp_idx_pattern1_wrap .idx_pattern1_ttl h2 {
    margin-bottom: 3.75rem; }
    @media screen and (max-width: 896px) {
      .dp_idx_pattern1_wrap .idx_pattern1_ttl h2 {
        font-size: 30px;
        font-size: 1.875rem;
        margin-bottom: 2rem; } }
    @media screen and (max-width: 480px) {
      .dp_idx_pattern1_wrap .idx_pattern1_ttl h2 {
        font-size: 28px;
        font-size: 1.75rem; } }
  @media screen and (max-width: 896px) {
    .dp_idx_pattern1_wrap .idx_message_img1, .dp_idx_pattern1_wrap .idx_message_img2, .dp_idx_pattern1_wrap .idx_message_img3 {
      width: 49.5%; } }
  .dp_idx_pattern1_wrap .idx_message_img1 {
    margin-top: 5.937rem; }
    @media screen and (max-width: 896px) {
      .dp_idx_pattern1_wrap .idx_message_img1 {
        margin-top: 0; } }
  .dp_idx_pattern1_wrap .idx_message_img2 {
    margin-top: 11.25rem; }
    @media screen and (max-width: 896px) {
      .dp_idx_pattern1_wrap .idx_message_img2 {
        margin-top: 10.5rem; } }
    @media screen and (max-width: 480px) {
      .dp_idx_pattern1_wrap .idx_message_img2 {
        margin-left: 1%; } }
  @media screen and (max-width: 896px) {
    .dp_idx_pattern1_wrap .idx_message_img3 {
      margin-left: -0.1%;
      margin-top: -10.2rem; } }
  @media screen and (max-width: 480px) {
    .dp_idx_pattern1_wrap .idx_message_img3 {
      margin-top: -57.5%; } }

/* 事業内容
----------------------------------------------------------------- */
.idx_business_box {
  background: linear-gradient(180deg, #fff 0%, #fff 10%, #007098 10%, #007098 100%);
  margin-top: 10rem;
  padding-bottom: 6.25rem; }
  @media screen and (max-width: 480px) {
    .idx_business_box {
      background: linear-gradient(180deg, #fff 0%, #fff 5%, #007098 5%, #007098 100%);
      margin-top: 9rem; } }
  .idx_business_box .idx_business_img img {
    margin-top: -6.25rem; }

.idx_quality_bnr_wrap {
  display: flex;
  border: 1px solid #fff; }
  .idx_quality_bnr_wrap .idx_quality_bnr {
    width: 100%;
    height: 185px; }
    @media screen and (max-width: 480px) {
      .idx_quality_bnr_wrap .idx_quality_bnr {
        height: 240px; } }
    .idx_quality_bnr_wrap .idx_quality_bnr .idx_quality_txt {
      color: #fff;
      text-align: left;
      padding: 0 3.75rem;
      align-items: center; }
      @media screen and (max-width: 480px) {
        .idx_quality_bnr_wrap .idx_quality_bnr .idx_quality_txt {
          padding: 0 1.25rem; } }
      .idx_quality_bnr_wrap .idx_quality_bnr .idx_quality_txt p {
        font-size: 14px;
        font-size: 0.875rem;
        line-height: 1.8; }
    .idx_quality_bnr_wrap .idx_quality_bnr .ico_arrow {
      position: absolute;
      bottom: -1px;
      right: -1px; }
      .idx_quality_bnr_wrap .idx_quality_bnr .ico_arrow img {
        width: 65px; }
        @media screen and (max-width: 480px) {
          .idx_quality_bnr_wrap .idx_quality_bnr .ico_arrow img {
            width: 55px; } }
  .idx_quality_bnr_wrap .bg-zoom {
    position: relative;
    overflow: hidden;
    background: #333; }
    .idx_quality_bnr_wrap .bg-zoom::after {
      position: absolute;
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      top: 0;
      background: url(/resource/images/idx_quality_bg.jpg) no-repeat center center;
      transition: all .3s ease;
      background-size: cover; }
      @media screen and (max-width: 480px) {
        .idx_quality_bnr_wrap .bg-zoom::after {
          background: url(/resource/images/idx_quality_bg.jpg) no-repeat center right 40%;
          background-size: cover; } }
    .idx_quality_bnr_wrap .bg-zoom .bg-zoom-cont {
      z-index: 1;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center; }
  .idx_quality_bnr_wrap:hover {
    border: 1px solid #f2e242; }
    .idx_quality_bnr_wrap:hover .bg-zoom::after {
      opacity: .6;
      transform: scale(1.05); }

.idx_quality_ttl .dp_page_title_jp {
  color: #fff;
  text-align: left;
  font-size: 32px;
  font-size: 2rem; }

.idx_quality_ttl .dp_page_title_en {
  color: #fff;
  font-family: "azo-sans-web", sans-serif 　　　;
  font-size: 12px;
  font-size: 0.75rem;
  text-align: left;
  line-height: 1.5; }

/* 保有車両一覧
----------------------------------------------------------------- */
.idx_vehicle_wrap {
  position: relative; }
  @media screen and (max-width: 480px) {
    .idx_vehicle_wrap {
      padding: 6.25rem 0; } }
  .idx_vehicle_wrap .grid_idx_vehicle {
    display: flex;
    align-items: center; }
    @media screen and (max-width: 480px) {
      .idx_vehicle_wrap .grid_idx_vehicle {
        display: block; } }
    .idx_vehicle_wrap .grid_idx_vehicle:before {
      content: "";
      display: block;
      padding-top: 100%; }
      @media screen and (max-width: 480px) {
        .idx_vehicle_wrap .grid_idx_vehicle:before {
          padding-top: 0; } }
  .idx_vehicle_wrap .idx_vehicle_img {
    position: absolute;
    left: 0;
    display: flex;
    align-items: center;
    top: 0;
    height: 100%; }
    @media screen and (max-width: 480px) {
      .idx_vehicle_wrap .idx_vehicle_img {
        position: relative;
        display: block; } }
    .idx_vehicle_wrap .idx_vehicle_img img {
      width: 100%; }
  .idx_vehicle_wrap .idx_vehicle_cont {
    margin-left: 50%; }
    @media screen and (max-width: 480px) {
      .idx_vehicle_wrap .idx_vehicle_cont {
        margin-left: 0; } }

/* 採用情報
----------------------------------------------------------------- */
.idx_recruit_wrap {
  position: relative;
  background-color: #fff; }
  @media screen and (max-width: 480px) {
    .idx_recruit_wrap {
      padding: 6.25rem 0; } }
  .idx_recruit_wrap .grid_idx_recruit {
    display: flex;
    align-items: center; }
    @media screen and (max-width: 480px) {
      .idx_recruit_wrap .grid_idx_recruit {
        display: block; } }
    .idx_recruit_wrap .grid_idx_recruit:before {
      content: "";
      display: block;
      padding-top: 100%; }
      @media screen and (max-width: 480px) {
        .idx_recruit_wrap .grid_idx_recruit:before {
          padding-top: 0; } }
  .idx_recruit_wrap .idx_recruit_img {
    position: absolute;
    right: 0;
    display: flex;
    align-items: center;
    top: 0;
    height: 100%; }
    @media screen and (max-width: 480px) {
      .idx_recruit_wrap .idx_recruit_img {
        display: block;
        position: relative; } }
    .idx_recruit_wrap .idx_recruit_img img {
      width: 100%; }

.idx_recruit_nav ul li {
  text-align: left; }
  .idx_recruit_nav ul li a {
    width: 100%;
    height: 100%;
    display: block;
    color: #007098;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 2.6;
    background: transparent;
    border: 1px solid #007098;
    margin-bottom: 15px;
    position: relative;
    z-index: 1;
    transition: .2s;
    background-color: #fff; }
    .idx_recruit_nav ul li a span {
      padding: 0 20px; }
      .idx_recruit_nav ul li a span::after {
        content: '';
        display: inline-block;
        width: 8px;
        height: 12px;
        background-image: url(/resource/images/ico_arrow_main.svg);
        background-repeat: no-repeat;
        position: absolute;
        top: 40%;
        right: 20px; }
    .idx_recruit_nav ul li a:hover {
      color: #fff;
      background-color: #007098; }
      .idx_recruit_nav ul li a:hover span::after {
        background-image: url(/resource/images/ico_arrow_white.svg); }

/* 新着情報
----------------------------------------------------------------- */
.idx_information_wrap {
  padding: 5rem 0 7.5rem; }

.idx_information .idx_information_panel {
  background-color: #fff;
  border: 1px solid #fff;
  font-size: 16px;
  font-size: 1rem;
  max-height: 280px;
  padding: 2.5rem;
  overflow: auto; }
  @media screen and (max-width: 480px) {
    .idx_information .idx_information_panel {
      padding: 1.5rem; } }
  .idx_information .idx_information_panel::-webkit-scrollbar {
    width: 8px;
    background: #e9e9e9; }
  .idx_information .idx_information_panel::-webkit-scrollbar:horizontal {
    height: 8px;
    background: #e9e9e9; }
  .idx_information .idx_information_panel::-webkit-scrollbar-thumb {
    background: #d4d4d4;
    border-radius: 4px; }
  .idx_information .idx_information_panel::-webkit-scrollbar-thumb:horizontal {
    background: #d4d4d4;
    border-radius: 4px; }
  .idx_information .idx_information_panel .idx_information_txt li {
    margin-top: 2.5rem;
    display: flex;
    border-bottom: 1px solid rgba(0, 112, 152, 0.2);
    padding-bottom: 2.5rem; }
    @media screen and (max-width: 480px) {
      .idx_information .idx_information_panel .idx_information_txt li {
        display: block; } }
    .idx_information .idx_information_panel .idx_information_txt li > * {
      margin-left: 15%; }
      @media screen and (max-width: 896px) {
        .idx_information .idx_information_panel .idx_information_txt li > * {
          margin-left: 8%; } }
      .idx_information .idx_information_panel .idx_information_txt li > *:first-child {
        margin-left: 0; }
    .idx_information .idx_information_panel .idx_information_txt li:first-child {
      margin-top: 0; }
    .idx_information .idx_information_panel .idx_information_txt li:last-child {
      border-bottom: 0 solid rgba(0, 112, 152, 0.2);
      padding-bottom: 0; }
    .idx_information .idx_information_panel .idx_information_txt li dl {
      margin-block-start: 0;
      margin-block-end: 0; }
      .idx_information .idx_information_panel .idx_information_txt li dl dt {
        font-family: "fot-tsukuardgothic-std", sans-serif;
        margin-bottom: 0.625rem; }
        .idx_information .idx_information_panel .idx_information_txt li dl dt span {
          font-weight: 400;
          font-family: "azo-sans-web", sans-serif 　　　;
          margin-right: 1em; }
      .idx_information .idx_information_panel .idx_information_txt li dl dd {
        font-size: 14px;
        font-size: 0.875rem; }
    .idx_information .idx_information_panel .idx_information_txt li .idx_information_link {
      text-align: left;
      width: 16%;
      padding-top: 3.125rem; }
      @media screen and (max-width: 896px) {
        .idx_information .idx_information_panel .idx_information_txt li .idx_information_link {
          width: 32%; } }
      @media screen and (max-width: 480px) {
        .idx_information .idx_information_panel .idx_information_txt li .idx_information_link {
          width: 40%;
          margin: 0 auto;
          padding-top: 1.5rem; } }
      .idx_information .idx_information_panel .idx_information_txt li .idx_information_link a {
        display: block;
        color: #007098;
        border-bottom: 1px solid #007098;
        background-image: url(/resource/images/ico_arrow_main.svg);
        background-size: 7px;
        background-position: top 3px right;
        background-repeat: no-repeat;
        font-weight: 400;
        line-height: 1;
        width: 100%;
        transition: .3s;
        padding-right: 10px;
        padding-bottom: 10px;
        transition: .2s; }
        .idx_information .idx_information_panel .idx_information_txt li .idx_information_link a:hover {
          border-bottom: 1px solid transparent; }

@media all and (-ms-high-contrast: none) {
  .idx_information .idx_information_panel .idx_information_txt li .idx_information_link {
    width: 24%; }
    .idx_information .idx_information_panel .idx_information_txt li .idx_information_link a {
      background-size: 30px;
      background-position: top 5px right -12px; } }

/* お知らせ2
----------------------------------------------------------------- */
.dp_idx_news_list_wrap {
  padding-top: 5rem; }
  @media screen and (max-width: 480px) {
    .dp_idx_news_list_wrap {
      line-height: 1.5;
      display: block; } }
  @media screen and (max-width: 480px) {
    .dp_idx_news_list_wrap .dp_container {
      padding: 0; } }
  @media screen and (max-width: 480px) {
    .dp_idx_news_list_wrap .dp_grid_medium {
      display: block; } }
  .dp_idx_news_list_wrap .dp_idx_news_list_ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #007098;
    padding: 2rem 7%; }
    .dp_idx_news_list_wrap .dp_idx_news_list_ttl .dp_ttl_main {
      font-size: 22px; }
      .dp_idx_news_list_wrap .dp_idx_news_list_ttl .dp_ttl_main span {
        font-size: 14px; }
    @media screen and (max-width: 480px) {
      .dp_idx_news_list_wrap .dp_idx_news_list_ttl {
        padding: 2rem 0; } }
  .dp_idx_news_list_wrap .dp_idx_news_list_items {
    flex: 1;
    min-width: 1px;
    padding: .8125rem 1rem 0;
    margin-left: 0; }
    @media screen and (max-width: 480px) {
      .dp_idx_news_list_wrap .dp_idx_news_list_items {
        padding: 0 .75rem; } }
    @media screen and (max-width: 480px) {
      .dp_idx_news_list_wrap .dp_idx_news_list_items ul {
        padding-top: 0; } }
    .dp_idx_news_list_wrap .dp_idx_news_list_items ul li a {
      display: flex;
      align-items: baseline;
      padding: .75rem 1rem;
      transition: .2s; }
      .dp_idx_news_list_wrap .dp_idx_news_list_items ul li a *, .dp_idx_news_list_wrap .dp_idx_news_list_items ul li a ::before, .dp_idx_news_list_wrap .dp_idx_news_list_items ul li a ::after {
        transition: .2s; }
      @media screen and (max-width: 480px) {
        .dp_idx_news_list_wrap .dp_idx_news_list_items ul li a {
          padding: .8125rem .5rem; } }
      .dp_idx_news_list_wrap .dp_idx_news_list_items ul li a .dp_idx_news_list_article_data {
        font-size: 13px; }
      .dp_idx_news_list_wrap .dp_idx_news_list_items ul li a .dp_idx_news_list_article_ttl {
        position: relative;
        display: inline-block;
        width: 100%;
        margin-left: 1.25rem;
        font-size: 16px;
        vertical-align: middle; }
        .dp_idx_news_list_wrap .dp_idx_news_list_items ul li a .dp_idx_news_list_article_ttl::after {
          content: "";
          display: block;
          position: absolute;
          top: 50%;
          right: .25rem;
          width: 5px;
          height: 5px;
          opacity: .7;
          font-size: 0;
          border-top: 1px solid #007098;
          border-right: 1px solid #007098;
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg) translateY(-50%); }
      .dp_idx_news_list_wrap .dp_idx_news_list_items ul li a:hover {
        color: #2c84b6; }
        .dp_idx_news_list_wrap .dp_idx_news_list_items ul li a:hover .dp_idx_news_list_article_ttl::after {
          right: 0; }
    .dp_idx_news_list_wrap .dp_idx_news_list_items .dp_idx_news_list_btn {
      margin-top: .25rem;
      margin-right: .25rem;
      display: block;
      text-align: right;
      line-height: 1; }
      @media screen and (max-width: 480px) {
        .dp_idx_news_list_wrap .dp_idx_news_list_items .dp_idx_news_list_btn {
          text-align: left;
          margin-top: 1.5rem; } }
      .dp_idx_news_list_wrap .dp_idx_news_list_items .dp_idx_news_list_btn a {
        font-size: .75rem;
        display: inline-block;
        padding: .25rem .75rem;
        transition: .3s; }
        .dp_idx_news_list_wrap .dp_idx_news_list_items .dp_idx_news_list_btn a:hover {
          color: #2c84b6; }

/* お問い合わせエリア
----------------------------------------------------------------- */
.dp_idx_contact_wrap {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  box-sizing: border-box;
  padding: 3.75rem 0; }
  @media screen and (max-width: 480px) {
    .dp_idx_contact_wrap {
      padding: 5rem 0; } }
  .dp_idx_contact_wrap .idx_contact_txt h4 {
    font-family: "source-han-sans-cjk-ja", sans-serif; }
  .dp_idx_contact_wrap .dp_idx_contact_box {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media screen and (max-width: 480px) {
      .dp_idx_contact_wrap .dp_idx_contact_box {
        display: block; } }
    .dp_idx_contact_wrap .dp_idx_contact_box > * {
      width: 50%;
      text-align: center;
      box-sizing: border-box;
      padding: 0 5%; }
      .dp_idx_contact_wrap .dp_idx_contact_box > *:first-child {
        padding: 0 2% 0 0; }
        @media screen and (max-width: 480px) {
          .dp_idx_contact_wrap .dp_idx_contact_box > *:first-child {
            padding: 0;
            margin-bottom: 1.875rem; } }
      .dp_idx_contact_wrap .dp_idx_contact_box > *:last-child {
        padding: 0 0 0 5%; }
        @media screen and (max-width: 480px) {
          .dp_idx_contact_wrap .dp_idx_contact_box > *:last-child {
            padding: 0; } }
      @media screen and (max-width: 480px) {
        .dp_idx_contact_wrap .dp_idx_contact_box > * {
          width: 100%; } }
      .dp_idx_contact_wrap .dp_idx_contact_box > *:last-child {
        border-left: 1px solid #e9e9e9; }
        @media screen and (max-width: 480px) {
          .dp_idx_contact_wrap .dp_idx_contact_box > *:last-child {
            border-top: 1px solid #e9e9e9;
            border-left: none; } }
    @media screen and (max-width: 480px) {
      .dp_idx_contact_wrap .dp_idx_contact_box .dp_btn_main_key {
        margin: 0 auto;
        margin-top: 1.875rem; } }
    .dp_idx_contact_wrap .dp_idx_contact_box .dp_btn_main_key a img {
      width: 20px;
      margin-right: 8px;
      margin-top: -2px; }

/* ==========================================================================
私たちについて
========================================================================== */
/* ごあいさつ
----------------------------------------------------------------- */
@media screen and (max-width: 480px) {
  .grid_about_greeting {
    display: block; } }

.grid_about_greeting .grid_2_clm:first-child {
  width: 50%; }

.grid_about_greeting .grid_2_clm:last-child {
  margin-left: 10%;
  width: 40%; }

@media screen and (max-width: 480px) {
  .grid_about_greeting .grid_2_clm:first-child {
    width: 100%; }
  .grid_about_greeting .grid_2_clm:last-child {
    margin-left: 0;
    width: 100%;
    margin-top: 1.875rem; } }

/* 会社情報
----------------------------------------------------------------- */
.five_oaths_card {
  padding: 3.125rem 8.75rem; }
  @media screen and (max-width: 896px) {
    .five_oaths_card {
      padding: 1.875rem;
      display: grid;
      justify-content: center; } }
  @media screen and (max-width: 896px) {
    .five_oaths_card {
      padding: 1.875rem 1.25rem; } }
  .five_oaths_card .five_oaths_list_number li {
    font-size: 18px;
    font-size: 1.125rem;
    padding-bottom: 0.75rem;
    align-items: center;
    display: flex;
    padding-left: 2.5rem; }
    @media screen and (max-width: 480px) {
      .five_oaths_card .five_oaths_list_number li {
        font-size: 16px;
        font-size: 1rem;
        padding-left: 2rem;
        align-items: flex-start; } }
    .five_oaths_card .five_oaths_list_number li:before {
      font-size: 22px;
      font-size: 1.375rem;
      content: "0" counter(number);
      font-family: "azo-sans-web", sans-serif 　　　;
      margin-left: -2.5rem;
      color: #007098; }
      @media screen and (max-width: 480px) {
        .five_oaths_card .five_oaths_list_number li:before {
          font-size: 18px;
          font-size: 1.125rem;
          margin-left: -2rem; } }

.organization_card {
  padding: 2.5rem 2.5rem 5rem; }
  @media screen and (max-width: 480px) {
    .organization_card {
      padding: 1rem 0.5rem 2.5rem; } }

.organization_img {
  max-width: 640px;
  margin: 0 auto;
  text-align: center; }
  .organization_img p {
    font-size: 14px;
    font-size: 0.875rem;
    text-align: right;
    margin-bottom: 1.25rem; }
    @media screen and (max-width: 480px) {
      .organization_img p {
        font-size: 11px;
        font-size: 0.6875rem; } }
  .organization_img img {
    width: 100%; }

/* アクセス
----------------------------------------------------------------- */
.grid_about_access .grid_2_clm:first-child {
  width: 10%; }
  @media screen and (max-width: 896px) {
    .grid_about_access .grid_2_clm:first-child {
      width: 15%; } }
  @media screen and (max-width: 480px) {
    .grid_about_access .grid_2_clm:first-child {
      width: 100%; } }

.grid_about_access .grid_2_clm:last-child {
  margin-left: 5%;
  width: 85%; }
  @media screen and (max-width: 896px) {
    .grid_about_access .grid_2_clm:last-child {
      width: 80%; } }
  @media screen and (max-width: 480px) {
    .grid_about_access .grid_2_clm:last-child {
      margin-left: 0;
      width: 100%; } }

/* ==========================================================================
事業案内
========================================================================== */
/* 事業内容
----------------------------------------------------------------- */
.content_wrap {
  padding: 2rem 2.5rem; }
  @media screen and (max-width: 896px) {
    .content_wrap {
      padding: 2rem 1.875rem; } }
  @media screen and (max-width: 480px) {
    .content_wrap {
      padding: 1.25rem 0.95rem; } }

/* 安全品質
----------------------------------------------------------------- */
.business_quality_ttl {
  display: flex; }

.ico_number {
  max-width: 60px;
  margin-right: 0.5rem; }
  .ico_number img {
    width: 60px; }

@media screen and (max-width: 480px) {
  .quality_cont {
    display: flex;
    flex-direction: column; } }

@media screen and (max-width: 480px) {
  .quality_cont .quality_order_1 {
    order: 1;
    margin-top: 0; } }

@media screen and (max-width: 480px) {
  .quality_cont .quality_order_2 {
    order: 2;
    margin-top: 1.25rem; } }

@media screen and (max-width: 480px) {
  .quality_cont_margin {
    margin-top: 1.25rem; } }

/* ==========================================================================
採用情報
========================================================================== */
/* 採用メッセージ
----------------------------------------------------------------- */
.grid_recruit_message > * {
  margin-left: 1%; }
  .grid_recruit_message > *:first-child {
    margin-left: 0; }

.grid_recruit_message .dp_grid_2_clm {
  width: 49.5%; }

/* 社員の声
----------------------------------------------------------------- */
.recruit_voice_bg {
  background-position: top right;
  background-repeat: no-repeat;
  background-size: 68% auto; }
  @media screen and (max-width: 480px) {
    .recruit_voice_bg {
      background-size: 480px auto;
      background-position: bottom center;
      padding-bottom: 235px; } }
  .recruit_voice_bg .recruit_voice_cont {
    display: flex;
    align-items: center;
    padding: 5.312rem 0; }
    @media screen and (max-width: 896px) {
      .recruit_voice_bg .recruit_voice_cont {
        padding: 2rem 0; } }
    @media screen and (max-width: 480px) {
      .recruit_voice_bg .recruit_voice_cont {
        padding: 0; } }
    .recruit_voice_bg .recruit_voice_cont .recruit_voice_ttl {
      background-color: #fff;
      padding: 1.562rem 3.437rem 1.875rem 0; }
      @media screen and (max-width: 896px) {
        .recruit_voice_bg .recruit_voice_cont .recruit_voice_ttl {
          padding: 1.562rem 1.5rem 1.875rem 0; } }
      @media screen and (max-width: 480px) {
        .recruit_voice_bg .recruit_voice_cont .recruit_voice_ttl {
          padding: 0; } }
      .recruit_voice_bg .recruit_voice_cont .recruit_voice_ttl h4 {
        padding-left: 120px;
        display: flex;
        align-items: center; }
        @media screen and (max-width: 480px) {
          .recruit_voice_bg .recruit_voice_cont .recruit_voice_ttl h4 {
            padding-left: 0;
            display: block;
            align-items: flex-start; } }
        .recruit_voice_bg .recruit_voice_cont .recruit_voice_ttl h4 img {
          margin-left: -120px;
          margin-right: 1.25rem;
          width: 120px; }
          @media screen and (max-width: 896px) {
            .recruit_voice_bg .recruit_voice_cont .recruit_voice_ttl h4 img {
              width: 80px; } }
          @media screen and (max-width: 480px) {
            .recruit_voice_bg .recruit_voice_cont .recruit_voice_ttl h4 img {
              margin-left: 0;
              margin-right: 0; } }
      .recruit_voice_bg .recruit_voice_cont .recruit_voice_ttl p {
        margin-top: 2.5rem;
        margin-left: 140px;
        font-weight: 400; }
        @media screen and (max-width: 896px) {
          .recruit_voice_bg .recruit_voice_cont .recruit_voice_ttl p {
            margin-top: 1rem;
            margin-left: 100px; } }
        @media screen and (max-width: 480px) {
          .recruit_voice_bg .recruit_voice_cont .recruit_voice_ttl p {
            margin-left: 0; } }

/* 働く環境
----------------------------------------------------------------- */
.welfare_card {
  padding: 1.25rem 1.875rem 1.875rem;
  margin: 0 auto;
  text-align: center; }
  @media screen and (max-width: 896px) {
    .welfare_card {
      padding: 1.25rem 1.3rem 1.875rem; } }
  .welfare_card img {
    width: 60px; }
  .welfare_card .welfare_card_ttl_sub {
    line-height: 1.5; }
  .welfare_card p {
    text-align: left; }

.support_card {
  padding: 3.125rem 2.5rem; }
  @media screen and (max-width: 480px) {
    .support_card {
      padding: 1.875rem; } }

/* 募集要項・エントリー
----------------------------------------------------------------- */
.guideline_flow {
  max-width: 500px; }
  .guideline_flow img {
    width: 100%; }

/* ==========================================================================
お知らせ
========================================================================== */
/* 記事
----------------------------------------------------------------- */
.dp_article .dp_article_data {
  color: #007098;
  font-family: "azo-sans-web", sans-serif 　　　;
  font-weight: 700; }

.dp_article .dp_article_content {
  border-bottom: 1px solid #e9e9e9;
  margin-bottom: 5rem;
  padding: 1.875rem 0; }
  @media screen and (max-width: 480px) {
    .dp_article .dp_article_content {
      margin-bottom: 3.75rem 0 3.75rem; } }
  .dp_article .dp_article_content p:nth-child(n+2) {
    margin-top: 1.5rem; }
  .dp_article .dp_article_content a {
    color: #2c84b6;
    text-decoration: underline; }
    .dp_article .dp_article_content a:hover {
      color: #11172d;
      text-decoration: none; }

/* ページネーション
----------------------------------------------------------------- */
.wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 3.75rem;
  position: relative; }
  .wp-pagenavi .pages {
    display: none; }
  .wp-pagenavi .current {
    color: #fff;
    background-color: #007098; }

.wp-pagenavi span,
.wp-pagenavi a {
  display: block;
  color: #007098;
  background-color: #e9e9e9;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  text-align: center;
  width: 2rem;
  margin: 0 .25rem;
  padding: .5rem 0; }

.wp-pagenavi a {
  transition: .3s; }
  .wp-pagenavi a:hover {
    color: #fff;
    background-color: #007098; }

/*# sourceMappingURL=style.css.map */