@charset "UTF-8";
/*
Theme Name: original_theme
Author:original_theme
Description:original_theme
Version: 2.01
License: original_theme
Text Domain: original_theme
*/
/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-y: scroll; /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible; /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

summary {
  display: list-item; /* Add the correct display in all browsers */
}

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden],
template {
  display: none; /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: 1px dotted; /* Add a bordered underline effect in all browsers */
  text-decoration: none; /* Remove text decoration in Firefox 40+ */
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects; /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

b,
strong {
  font-weight: bolder; /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic; /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

input {
  border-radius: 0;
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type=number] {
  width: auto; /* Firefox 36+ */
}

[type=search] {
  -webkit-appearance: textfield; /* Safari 8+ */
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; /* Safari 8 */
}

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule. */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  color: inherit;
}

/* Style select like a standard input */
select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

[type=search] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden; /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block; /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN,", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.8;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}

a {
  text-decoration: none;
  color: inherit;
  -webkit-transition: color 0.3s, background 0.3s, border 0.3s;
  transition: color 0.3s, background 0.3s, border 0.3s;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  word-break: break-all;
}

img {
  display: inline-block;
  max-width: 100%;
}

.wrap {
  min-height: 800px;
}

.container {
  width: 100%;
  padding: 0 3rem;
  max-width: 152rem;
  margin: auto;
}
@media screen and (min-width: 992px) {
  .container {
    padding: 0 6rem;
  }
}

.not_found {
  text-align: center;
  margin: 0 0 30px;
  font-family: "Overpass", sans-serif;
  line-height: 1.2;
  color: #DDE2EA;
}
.not_found span {
  display: block;
}

.pageLink {
  padding-top: 100px;
  margin-top: -100px;
}
@media screen and (min-width: 768px) {
  .pageLink {
    padding-top: 200px;
    margin-top: -200px;
  }
}

.row {
  --bs-gutter-x: 1.5rem;
}
@media screen and (min-width: 768px) {
  .row {
    --bs-gutter-x: 4rem;
  }
}

/*========================================
大見出し
========================================*/
/*パターン1*/
.largeHeadline01 {
  position: relative;
  margin: 0 0 3rem;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  .largeHeadline01 {
    margin-bottom: 4.5rem;
  }
}
.largeHeadline01 .el_sub {
  display: block;
  color: #155AA8;
  font-weight: 500;
  font-size: 1.5rem;
  font-family: "Ubuntu", sans-serif;
  margin: 0 0 0.5rem;
  text-align: center;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .largeHeadline01 .el_sub {
    font-size: 2.1rem;
  }
}
.largeHeadline01 .el_main {
  font-weight: bold;
  font-size: 2.6rem;
  display: block;
  margin: 0 0 5px;
  line-height: 1.4;
  color: #29303F;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .largeHeadline01 .el_main {
    font-size: 5.2rem;
    letter-spacing: 1px;
  }
}

/*パターン2*/
.largeHeadline02 {
  position: relative;
  text-align: center;
  margin: 0 0 3rem;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .largeHeadline02 {
    text-align: left;
    margin-bottom: 4.5rem;
  }
}
.largeHeadline02 .el_sub {
  position: relative;
  display: inline-block;
  color: #155AA8;
  font-weight: bold;
  font-size: 1.5rem;
  padding: 0 0 0 1.5rem;
}
@media screen and (min-width: 768px) {
  .largeHeadline02 .el_sub {
    font-size: 1.6rem;
  }
}
.largeHeadline02 .el_sub::before {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
  background-color: #155AA8;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}
.largeHeadline02 .el_main {
  display: block;
  color: #29303F;
  font-weight: 500;
  font-size: 3.8rem;
  font-family: "Ubuntu", sans-serif;
  margin: 0 0 0.5rem;
}
@media screen and (min-width: 768px) {
  .largeHeadline02 .el_main {
    font-size: 5.2rem;
  }
}
@media screen and (min-width: 1200px) {
  .largeHeadline02 .el_main {
    font-size: 8.8rem;
  }
}
.largeHeadline02.--white .el_sub {
  color: #fff;
}
.largeHeadline02.--white .el_sub::before {
  background-color: #fff;
}
.largeHeadline02.--white .el_main {
  color: #fff;
}

/*========================================
中見出し
========================================*/
/*パターン1*/
.mediumHeadline01 {
  position: relative;
  margin: 0 0 0.5rem;
}
.mediumHeadline01 .el_text {
  display: block;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.5;
  color: #155AA8;
}
@media screen and (min-width: 768px) {
  .mediumHeadline01 .el_text {
    font-size: 2.1rem;
  }
}

/*パターン2*/
.mediumHeadline02 {
  position: relative;
  margin: 0 0 2.5rem;
  text-align: center;
}
.mediumHeadline02 .el_text {
  display: block;
  font-weight: bold;
  font-size: 2.1rem;
  line-height: 1.5;
  color: #6FA4CE;
}
@media screen and (min-width: 768px) {
  .mediumHeadline02 .el_text {
    font-size: 3.4rem;
  }
}
.mediumHeadline02.--color01 .el_text {
  color: #6FC1CE;
}

/*パターン3*/
.mediumHeadline03 {
  position: relative;
  margin: 0 0 2rem;
}
.mediumHeadline03 .el_text {
  display: block;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.5;
  color: #155AA8;
}
@media screen and (min-width: 768px) {
  .mediumHeadline03 .el_text {
    font-size: 2.2rem;
  }
}

/*パターン4*/
.mediumHeadline04 {
  position: relative;
  margin: 0 0 3rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .mediumHeadline04 {
    text-align: left;
  }
}
.mediumHeadline04 .el_text {
  display: block;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 1.5;
  color: #155AA8;
}
@media screen and (min-width: 768px) {
  .mediumHeadline04 .el_text {
    font-size: 3rem;
  }
}
@media screen and (min-width: 1200px) {
  .mediumHeadline04 .el_text {
    font-size: 3.6rem;
  }
}

/*パターン5*/
.mediumHeadline05 {
  position: relative;
  padding: 0 0 1.5rem;
  margin: 0 0 3rem;
  border-bottom: 0.2rem solid #DDE2EA;
}
@media screen and (min-width: 768px) {
  .mediumHeadline05 {
    margin: 0 0 5rem;
  }
}
.mediumHeadline05::after {
  content: "";
  display: inline-block;
  width: 12rem;
  height: 0.2rem;
  background-color: #155AA8;
  position: absolute;
  bottom: -0.2rem;
  left: 0;
}
.mediumHeadline05 .el_text {
  display: block;
  font-weight: bold;
  font-size: 2.1rem;
  line-height: 1.5;
  color: #102B41;
}
@media screen and (min-width: 768px) {
  .mediumHeadline05 .el_text {
    font-size: 3.4rem;
  }
}

/*パターン6*/
.mediumHeadline06 {
  position: relative;
  margin: 0 0 2rem;
}
.mediumHeadline06 .el_text {
  display: block;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.5;
  color: #155AA8;
}
@media screen and (min-width: 768px) {
  .mediumHeadline06 .el_text {
    font-size: 2.2rem;
  }
}
.mediumHeadline06.--white .el_text {
  color: #fff;
}

/*========================================
小見出し
========================================*/
/*パターン1*/
.smallheadline01 {
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  margin-bottom: 1rem;
  color: #29303F;
}
@media screen and (min-width: 768px) {
  .smallheadline01 {
    font-size: 2.4rem;
  }
}

/*本文*/
.text {
  margin: 0 0 3rem;
}
.text.--white {
  color: #fff;
}

.textLink {
  color: #1E7ED5;
}
.textLink:hover {
  text-decoration: underline;
}

.c_gray {
  color: #DDE2EA !important;
}

/*====================================

  ■共通リスト

=====================================*/
.list01 {
  padding: 3rem 2rem 2rem;
  margin: 0 auto 3rem;
  background-color: #333333;
}
@media screen and (min-width: 768px) {
  .list01 {
    padding: 4rem 4rem 3rem;
    margin: 0 auto 8rem;
  }
}
.list01 li {
  list-style: none;
  padding: 0 0 0.5rem 4rem;
  margin: 0 0 1rem;
  background-image: url(./images/icon_check-brown.svg);
  background-repeat: no-repeat;
  background-position: top left;
  background-size: auto auto;
  font-family: "Noto Serif JP", YuMincho, "Yu Mincho", serif;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .list01 li {
    font-size: 1.8rem;
  }
}

.list02 {
  margin: 0 auto 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .list02 {
    width: calc(100% + 3rem);
    margin: 0 0 3rem -1.5rem;
  }
}
.list02 li {
  list-style: none;
  width: 100%;
  max-width: calc(50% - 3rem);
  padding: 0 0 1rem;
  margin: 0 1.5rem 1.5rem;
  font-weight: 500;
  font-size: 1.3rem;
  border-bottom: 1px solid #DDE2EA;
}
@media screen and (min-width: 768px) {
  .list02 li {
    max-width: calc(33.3333333333% - 3rem);
    font-size: 1.6rem;
  }
}

img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  line-height: 1;
}

.img {
  text-align: center;
  margin: 0 0 40px;
  line-height: 1;
}

picture.img {
  display: block;
}

.mapFrame {
  position: relative;
  overflow: hidden;
  padding-top: 56.25%;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .mapFrame {
    padding-top: 46rem;
  }
}
.mapFrame iframe {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}

.videoFrame {
  position: relative;
  overflow: hidden;
  padding-top: 56.25%;
  margin: 0 auto 3rem;
  max-width: 82rem;
}
@media screen and (min-width: 768px) {
  .videoFrame {
    padding-top: 46rem;
  }
}
.videoFrame video,
.videoFrame iframe {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}

.rounded-1 {
  border-radius: 1.5rem;
}

/*========================================
ボタン
========================================*/
.btn01 {
  display: inline-block;
  width: 100%;
  max-width: 27rem;
  text-align: left;
  background-color: #155AA8;
  color: #fff;
  position: relative;
  z-index: 1;
  font-size: 1.6rem;
  font-weight: bold;
  text-decoration: none;
  padding: 1.4rem 0 1.4rem 3rem;
  margin: 0 0 3rem;
  border: 2px solid #155AA8;
  border-radius: 5rem;
}
@media screen and (min-width: 768px) {
  .btn01:hover {
    opacity: 1;
    background-color: #fff;
  }
  .btn01:hover .el_text {
    color: #155AA8;
  }
}
@media screen and (min-width: 992px) {
  .btn01 {
    padding: 2.4rem 0 2.4rem 3rem;
  }
}
.btn01 .el_text {
  display: inline-block;
  color: #fff;
}
.btn01 .el_icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 5.4rem;
  height: 2.7rem;
  background-color: #F8F8F8;
  border-radius: 3rem;
  border: 1px solid #DDE2EA;
  position: absolute;
  text-align: center;
  top: 50%;
  right: 2rem;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}
@media screen and (min-width: 992px) {
  .btn01 .el_icon {
    width: 7.8rem;
    height: 3.4rem;
  }
}
.btn01 .el_icon svg {
  display: inline-block;
  font-size: 0;
  line-height: 1;
  max-width: 1.1rem;
}
@media screen and (min-width: 992px) {
  .btn01 .el_icon svg {
    max-width: 100%;
  }
}

.table01 {
  border-top: 1px solid #C5C5C5;
  width: 100%;
  border-collapse: collapse;
  margin: 0 auto 3rem;
}
@media screen and (max-width: 767px) {
  .table01 {
    display: block;
    border-top: none;
  }
}
@media screen and (max-width: 767px) {
  .table01 tbody {
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .table01 tbody tr {
    display: block;
    width: 100%;
  }
}
.table01 tbody tr th {
  border-bottom: 1px solid #C5C5C5;
  font-weight: bold;
  padding: 2.1rem 1.5rem 2.1rem 0;
  color: #155AA8;
}
@media screen and (max-width: 767px) {
  .table01 tbody tr th {
    background-color: #fff;
    display: block;
    width: 100%;
    padding: 1rem;
    border-bottom: none;
  }
}
.table01 tbody tr td {
  font-weight: normal;
  border-bottom: 1px solid #C5C5C5;
  padding: 2.1rem 0 2.1rem 1.5rem;
}
@media screen and (max-width: 767px) {
  .table01 tbody tr td {
    display: block;
    width: 100%;
    padding: 1rem;
    word-break: break-all;
    border-bottom: none;
  }
}
@media screen and (max-width: 767px) {
  .table01.--white th {
    background-color: #F2F9FF;
  }
}

/*============================================
archive.php ページネーション
============================================*/
.wp-pagenavi {
  text-align: center;
  margin: 3rem auto 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.wp-pagenavi .screen-reader-text {
  display: none;
}
.wp-pagenavi .navigation {
  margin: 0 auto;
}
.wp-pagenavi a,
.wp-pagenavi span {
  border: none;
  padding: 5px 5px 4px !important;
  margin: 0 16px 16px 0;
  border-color: #DDE2EA;
  background: none;
  color: #333333;
  display: inline-block;
  text-align: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
  min-width: 4.1rem;
  min-height: 4.1rem;
  border-radius: 0.8rem;
}
.wp-pagenavi a:hover,
.wp-pagenavi span:hover {
  opacity: 1;
  border-color: #DDE2EA !important;
  background-color: #DDE2EA !important;
  color: #333333;
}
.wp-pagenavi a.nextpostslink,
.wp-pagenavi span.nextpostslink {
  background-color: #DDE2EA;
  border-color: #DDE2EA;
}
.wp-pagenavi span.current {
  font-weight: normal;
  background-color: #DDE2EA;
  color: #333333;
  border-color: #DDE2EA !important;
}
.wp-pagenavi span.extend {
  background: none !important;
  border: none !important;
  color: #333333;
}
.wp-pagenavi span.pages {
  font-weight: normal;
  color: #333333;
  display: none;
  border: none;
}

/*============================================
single.php ページネーション
============================================*/
.paginate__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 30px 0;
}
.paginate__wrap a {
  display: block;
  padding: 4px 13px;
  color: #155AA8;
  font-size: 14px;
  background: #F8F8F8;
  border-radius: 0;
  text-decoration: none;
  text-align: center;
  border-radius: 5rem;
  border: 1px solid #DDE2EA;
}
@media screen and (max-width: 767px) {
  .paginate__wrap a {
    min-width: 38px;
  }
}
.paginate__wrap a:hover {
  opacity: 1;
  background: #155AA8;
  color: #fff;
}
.paginate__wrap .paginate__block--next {
  min-width: 3.5rem;
}
.paginate__wrap .paginate__block--next a {
  background: none;
  background-image: url(./images/btn_next.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  min-height: 3.5rem;
  min-width: 3.5rem;
  border: none;
}
.paginate__wrap .paginate__block--next a span {
  display: none;
}
@media screen and (min-width: 768px) {
  .paginate__wrap .paginate__block--next a span {
    display: inline-block;
  }
}
.paginate__wrap .paginate__block--prev {
  min-width: 3.5rem;
}
.paginate__wrap .paginate__block--prev a {
  background: none;
  background-image: url(./images/btn_prev.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  min-height: 3.5rem;
  min-width: 3.5rem;
  border: none;
}
.paginate__wrap .paginate__block--prev a span {
  display: none;
}
@media screen and (min-width: 768px) {
  .paginate__wrap .paginate__block--prev a span {
    display: inline-block;
  }
}
@media screen and (min-width: 768px) {
  .paginate__wrap .paginate__block--back {
    min-width: 15rem;
  }
}

/*====================================

  ■ヘッダー

=====================================*/
/*ヘッダー固定の高さ調整*/
#pagetop {
  /*
  height: 54px;
  @include mixins.mq(min-xs) {
    height: 73px;
  }
  */
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20;
  min-height: 6rem;
  background-color: #002664;
}
@media screen and (min-width: 768px) {
  .header {
    background: none;
    padding: 1.5rem 1.5rem 0;
  }
}
.header h1 {
  display: none;
}
.headerInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  min-height: 6rem;
  padding: 1.5rem;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .headerInner {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 2rem;
    margin: 0;
    border-radius: 1rem;
  }
}
.headerInner {
  /*ロゴ*/
}
.headerInner .headerLogo {
  position: relative;
  z-index: 5;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  padding: 0;
  margin: 0;
  width: 100%;
  max-width: 15rem;
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .headerInner .headerLogo {
    text-align: left;
    max-width: 14.15rem;
  }
}
@media screen and (min-width: 1700px) {
  .headerInner .headerLogo {
    max-width: 28.3rem;
    padding-left: 1rem;
  }
}
.headerInner .headerLogo a {
  display: inline-block;
}
.headerInner .headerLogo a img {
  display: inline-block;
  width: 100%;
  max-width: 100%;
}
.headerInner {
  /*グローバルメニューの親*/
}
.headerInner .headerMenu {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .headerInner .headerMenu {
    position: static;
    top: 0;
    left: 0;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-right: 2rem;
    margin-left: auto;
    width: 100%;
    max-width: 90rem;
  }
}
.headerInner {
  /*お問い合わせ*/
}
.headerInner .headerBtn {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  width: 100%;
  max-width: 3.6rem;
  margin: 0 5rem 0 auto;
}
@media screen and (min-width: 768px) {
  .headerInner .headerBtn {
    margin: 0;
    max-width: 15rem;
  }
}
@media screen and (min-width: 1700px) {
  .headerInner .headerBtn {
    max-width: 20rem;
  }
}
.headerInner .headerBtn .headerBtnItem {
  width: 100%;
}
.headerInner .headerBtn .hederbtn01 {
  display: inline-block;
  width: 100%;
  max-width: 100%;
  min-width: 3.6rem;
  min-height: 3.6rem;
  text-align: center;
  background-color: #002664;
  color: #fff;
  border: 2px solid #002664;
  position: relative;
  z-index: 1;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  padding: 0.7rem 0 0;
  margin: 0;
  border-radius: 100%;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .headerInner .headerBtn .hederbtn01 {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    padding: 1.5rem 0;
    font-size: 1.5rem;
    border-radius: 5rem;
  }
  .headerInner .headerBtn .hederbtn01:hover {
    opacity: 1;
    background-color: #fff;
    color: #002664;
  }
  .headerInner .headerBtn .hederbtn01:hover .el_text {
    background-image: url(./images/icon_contact_white.svg);
    background-image: url(./images/icon_contact.svg);
  }
}
.headerInner .headerBtn .hederbtn01 .el_text {
  display: inline-block;
  padding: 0 0 0 2.8rem;
  background-repeat: no-repeat;
  background-image: url(./images/icon_contact_white.svg);
  background-position: center center;
  background-size: 1.8rem auto;
  min-height: 1.8rem;
}
@media screen and (min-width: 768px) {
  .headerInner .headerBtn .hederbtn01 .el_text {
    background-position: center left;
    background-size: auto;
  }
}

#headerNavbar {
  margin: 0;
  padding: 0;
}
#headerNavbar .container-fluid {
  padding: 0;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
#headerNavbar .container-fluid .navbar-toggler {
  background: none;
  border: none;
  padding: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}
#headerNavbar .container-fluid .navbar-toggler .navbar-toggler-icon {
  background: none;
  position: relative;
  height: 6rem;
  width: 6rem;
  padding: 1.9rem 0 0;
  margin: 0;
  border: none;
  border-radius: 0;
  font-size: 0;
}
@media screen and (min-width: 768px) {
  #headerNavbar .container-fluid .navbar-toggler .navbar-toggler-icon {
    display: none;
  }
}
#headerNavbar .container-fluid .navbar-toggler .navbar-toggler-icon span {
  background-color: #002664;
  display: block;
  width: 50%;
  height: 2px;
  font-size: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#headerNavbar .container-fluid .navbar-toggler .navbar-toggler-icon span:nth-of-type(1) {
  display: none;
}
#headerNavbar .container-fluid .navbar-toggler .navbar-toggler-icon span:nth-of-type(2) {
  display: block;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#headerNavbar .container-fluid .navbar-toggler .navbar-toggler-icon span:last-child {
  display: block;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#headerNavbar .container-fluid .navbar-toggler.collapsed .navbar-toggler-icon span:nth-of-type(1) {
  display: block;
  margin: 0 auto;
}
#headerNavbar .container-fluid .navbar-toggler.collapsed .navbar-toggler-icon span:nth-of-type(2) {
  display: block;
  position: static;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  margin: 1rem auto;
}
#headerNavbar .container-fluid .navbar-toggler.collapsed .navbar-toggler-icon span:last-child {
  display: block;
  position: static;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  margin: 0 auto;
}
#headerNavbar .container-fluid .navbar-collapse {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
#headerNavbar .container-fluid .navbar-collapse .navbar-nav {
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  #headerNavbar .container-fluid .navbar-collapse .navbar-nav {
    background: none;
  }
}
#headerNavbar .container-fluid .navbar-collapse .navbar-nav > .menu-item {
  display: block;
  margin: 0;
}
@media screen and (min-width: 768px) {
  #headerNavbar .container-fluid .navbar-collapse .navbar-nav > .menu-item {
    display: inline-block;
    margin: 0 0.8rem;
  }
}
@media screen and (min-width: 1400px) {
  #headerNavbar .container-fluid .navbar-collapse .navbar-nav > .menu-item {
    margin: 0 2rem;
  }
}
#headerNavbar .container-fluid .navbar-collapse .navbar-nav > .menu-item > a {
  display: block;
  color: #29303F;
  padding: 1rem;
  font-size: 1.5rem;
  font-weight: 500;
  border-bottom: 0.1rem solid #DDE2EA;
}
@media screen and (min-width: 768px) {
  #headerNavbar .container-fluid .navbar-collapse .navbar-nav > .menu-item > a {
    font-size: 1.3rem;
    border-bottom: none;
    padding: 2.3rem 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    border-bottom: 0.3rem solid rgba(255, 255, 255, 0);
  }
  #headerNavbar .container-fluid .navbar-collapse .navbar-nav > .menu-item > a:hover {
    text-decoration: none;
    color: #155AA8;
    border-bottom: 0.3rem solid #155AA8;
  }
}
@media screen and (min-width: 1200px) {
  #headerNavbar .container-fluid .navbar-collapse .navbar-nav > .menu-item > a {
    font-size: 1.6rem;
  }
}
#headerNavbar .container-fluid .navbar-collapse .navbar-nav > .menu-item > a.dropdown-toggle::after {
  content: "";
  display: inline-block;
  width: 0.8rem;
  height: 0.5rem;
  background-image: url(./images/icon_menu_blue.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center center;
  border: none;
  margin-left: 0.8rem;
}
#headerNavbar .container-fluid .navbar-collapse .navbar-nav > .menu-item:last-child > a {
  border-bottom: none;
}

.dropdown-menu {
  padding: 0;
  margin: 0 !important;
  border: none;
  background-color: #155AA8;
  border-radius: 0;
}
@media screen and (min-width: 768px) {
  .dropdown-menu {
    border-radius: 0.3rem;
    position: absolute;
    -webkit-transform: translate(-50%, 0%);
            transform: translate(-50%, 0%);
    left: 50% !important;
  }
}
.dropdown-menu .menu-item {
  width: 100%;
  padding: 0;
  margin: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .dropdown-menu .menu-item {
    margin: 0;
  }
}
.dropdown-menu .menu-item .dropdown-item {
  display: inline-block;
  padding: 1rem;
  margin: 0;
  font-size: 1.4rem;
  font-weight: 500;
  background: none;
  border-bottom: 0.1rem solid #DDE2EA;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .dropdown-menu .menu-item .dropdown-item {
    padding: 1rem 1.5rem;
    margin: 0;
  }
}
.dropdown-menu .menu-item .dropdown-item:hover {
  opacity: 1;
  color: #fff;
  background-color: #6FA4CE;
}
.dropdown-menu .menu-item:last-child .dropdown-item {
  border-bottom: none;
}

/*====================================

  ■SP用ページ下部リンク

=====================================*/
.navbar-header {
  display: block;
}
@media screen and (max-width: 767px) {
  .navbar-header {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 100;
    background: #002664;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .navbar-header .navbar-header-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .navbar-header .navbar-header-flex {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .navbar-header .navbar-header-flex .navbar-header-flex-item {
    width: 100%;
    text-align: center;
    border-right: 1px solid #333333;
  }
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__menu {
  line-height: 1;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__menu .navbar-toggler {
  background: none;
  border: none;
  padding: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__menu .navbar-toggler .navbar-toggler-icon {
  background: none;
  position: relative;
  height: 5rem;
  width: 6rem;
  padding: 1.5rem 0 0;
  margin: 0;
  border: none;
  border-radius: 0;
  font-size: 0;
}
@media screen and (min-width: 768px) {
  .navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__menu .navbar-toggler .navbar-toggler-icon {
    display: none;
  }
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__menu .navbar-toggler .navbar-toggler-icon span {
  background-color: #fff;
  display: block;
  width: 50%;
  height: 2px;
  font-size: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__menu .navbar-toggler .navbar-toggler-icon span:nth-of-type(1) {
  display: none;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__menu .navbar-toggler .navbar-toggler-icon span:nth-of-type(2) {
  display: block;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__menu .navbar-toggler .navbar-toggler-icon span:last-child {
  display: block;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__menu .navbar-toggler.collapsed .navbar-toggler-icon span:nth-of-type(1) {
  display: block;
  margin: 0 auto;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__menu .navbar-toggler.collapsed .navbar-toggler-icon span:nth-of-type(2) {
  display: block;
  position: static;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  margin: 1rem auto;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__menu .navbar-toggler.collapsed .navbar-toggler-icon span:last-child {
  display: block;
  position: static;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  margin: 0 auto;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__menu .el_text {
  display: block;
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  margin: 9px auto 0;
  color: #fff;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__tel {
  line-height: 1;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__tel a {
  display: block;
  width: 100%;
  padding: 15px 5px 13px;
  font-size: 29px;
  color: #fff;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__tel a .el_icon {
  display: block;
  text-align: center;
  line-height: 1;
  font-size: 0;
  min-height: 2.7rem;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__tel a .el_icon img {
  display: inline-block;
  max-width: 100%;
  font-size: 0;
  margin: 0 0 0.5rem;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__tel a .el_text {
  display: block;
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  margin: 14px auto 0;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__contact {
  line-height: 1;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__contact a {
  display: block;
  width: 100%;
  padding: 13px 5px 13px;
  font-size: 29px;
  color: #fff;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__contact a .el_icon {
  display: block;
  text-align: center;
  line-height: 1;
  font-size: 0;
  min-height: 2.7rem;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__contact a .el_icon img {
  display: inline-block;
  max-width: 100%;
  font-size: 0;
  margin: 9px auto 0;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__contact a .el_text {
  display: block;
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  margin: 18px auto 0;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__instagram {
  line-height: 1;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__instagram a {
  display: block;
  width: 100%;
  padding: 13px 5px 13px;
  font-size: 29px;
  color: #fff;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__instagram a .el_icon {
  display: block;
  text-align: center;
  line-height: 1;
  font-size: 0;
  min-height: 2.7rem;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__instagram a .el_icon img {
  display: inline-block;
  width: 100%;
  max-width: 2rem;
  font-size: 0;
  margin: 0.5rem 0 0.5rem;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item .navbar-header__instagram a .el_text {
  display: block;
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  margin: 15px auto 0;
}
.navbar-header .navbar-header-flex .navbar-header-flex-item:last-child {
  border-right: none;
}

/*====================================================
フッターお問い合わせ
====================================================*/
.commonBnr {
  position: relative;
}
.commonBnr .commonBnrInner {
  padding: 6rem 0 3rem;
}
@media screen and (min-width: 768px) {
  .commonBnr .commonBnrInner {
    padding: 10rem 0 5rem;
  }
}
.commonBnr .commonBnrInner .commonBnrWrap {
  position: relative;
  margin-bottom: 3rem;
}
.commonBnr .commonBnrInner .commonBnrWrap .commonBnrText {
  color: #fff;
  line-height: 1.5;
  position: absolute;
  top: 3rem;
  left: 3rem;
  max-width: calc(100% - 6rem);
}
@media screen and (min-width: 768px) {
  .commonBnr .commonBnrInner .commonBnrWrap .commonBnrText {
    top: 50%;
    left: 8rem;
    max-width: calc(100% - 16rem);
    transform: translate(0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
  }
}
.commonBnr .commonBnrInner .commonBnrWrap .commonBnrText .el_main {
  position: relative;
  display: block;
  font-weight: 500;
  font-family: "Ubuntu", sans-serif;
  font-size: 9vw;
  line-height: 1;
  padding: 0 0 0 2rem;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .commonBnr .commonBnrInner .commonBnrWrap .commonBnrText .el_main {
    font-size: 6vw;
    padding: 0 0 0 4rem;
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 1200px) {
  .commonBnr .commonBnrInner .commonBnrWrap .commonBnrText .el_main {
    font-size: 8.4rem;
    margin-bottom: 3rem;
  }
}
.commonBnr .commonBnrInner .commonBnrWrap .commonBnrText .el_main::before {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0%, -50%);
  -webkit-transform: translate(0%, -50%);
  -ms-transform: translate(0%, -50%);
}
@media screen and (min-width: 768px) {
  .commonBnr .commonBnrInner .commonBnrWrap .commonBnrText .el_main::before {
    width: 2rem;
    height: 2rem;
  }
}
.commonBnr .commonBnrInner .commonBnrWrap .commonBnrText .el_sub {
  display: block;
  font-size: 1.3rem;
}
@media screen and (min-width: 768px) {
  .commonBnr .commonBnrInner .commonBnrWrap .commonBnrText .el_sub {
    font-size: 1.6rem;
  }
}

.footerBg {
  background-color: #F2F9FF;
  background-image: url(./images/bg_footer.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% auto;
}
.footerBg.--white {
  background-color: #fff;
}

/*====================================================
フッター
====================================================*/
/*ページトップ*/
#page-top {
  display: block;
  text-align: center;
  position: fixed;
  right: 1rem;
  bottom: 1.2rem;
  z-index: 10;
}
@media screen and (min-width: 992px) {
  #page-top {
    right: 6rem;
  }
}
#page-top a {
  display: inline-block;
  text-decoration: none;
}
#page-top a img {
  max-width: 3.5rem;
}
@media screen and (min-width: 768px) {
  #page-top a img {
    max-width: 7rem;
  }
}

#footer {
  position: relative;
}
#footer .footerInner {
  background-color: #002664;
  border-radius: 5rem 5rem 0 0;
}
@media screen and (min-width: 992px) {
  #footer .footerInner {
    border-radius: 10rem 10rem 0 0;
  }
}
#footer .footerInner .container {
  max-width: 156rem;
}
#footer .footerInner .footerWrap {
  padding: 6rem 0 3rem;
}
@media screen and (min-width: 992px) {
  #footer .footerInner .footerWrap {
    padding: 10rem 0 7rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
  }
}
#footer .footerInner .footerWrap .footerWrap__cell01 {
  width: 100%;
}
@media screen and (min-width: 992px) {
  #footer .footerInner .footerWrap .footerWrap__cell01 {
    max-width: 30.5rem;
    margin: 0 3rem 0 0;
  }
}
@media screen and (min-width: 1200px) {
  #footer .footerInner .footerWrap .footerWrap__cell01 {
    max-width: 37.5rem;
    margin: 0 5rem 0 0;
  }
}
#footer .footerInner .footerWrap .footerWrap__cell01 .footerLogo {
  display: block;
  text-align: center;
  margin: 0 0 3rem;
}
@media screen and (min-width: 992px) {
  #footer .footerInner .footerWrap .footerWrap__cell01 .footerLogo {
    text-align: left;
    margin: 0 0 4rem;
  }
}
#footer .footerInner .footerWrap .footerWrap__cell01 .footerLogo img {
  max-width: 70%;
}
@media screen and (min-width: 992px) {
  #footer .footerInner .footerWrap .footerWrap__cell01 .footerLogo img {
    max-width: 100%;
  }
}
#footer .footerInner .footerWrap .footerWrap__cell01 .text {
  color: #fff;
}
@media screen and (min-width: 1200px) {
  #footer .footerInner .footerWrap .footerWrap__cell01 .text {
    font-size: 1.6rem;
  }
}
#footer .footerInner .footerWrap .footerWrap__cell02 {
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 992px) {
  #footer .footerInner .footerWrap .footerWrap__cell02 {
    width: auto;
    max-width: 83rem;
    margin: 0 0 0 auto;
    text-align: left;
  }
}
@media screen and (min-width: 1921px) {
  #footer .footerInner .footerWrap .footerWrap__cell02 {
    max-width: 88rem;
  }
}

/*フッターメニュー*/
.footerMenu {
  margin: 0 0 0 -1.5rem;
  width: calc(100% + 3rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.footerMenu .footerMenuItem {
  width: 100%;
  max-width: calc(50% - 3rem);
  margin: 0 1.5rem 1rem;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .footerMenu .footerMenuItem {
    width: auto;
    max-width: calc(100% - 3rem);
    margin: 0 1.5rem 1rem 0;
  }
}
@media screen and (min-width: 1400px) {
  .footerMenu .footerMenuItem {
    max-width: calc(50% - 3rem);
    margin: 0 0 0 5.5rem;
  }
}
@media screen and (min-width: 1921px) {
  .footerMenu .footerMenuItem {
    width: auto;
    max-width: auto;
    margin: 0 0 0 7rem;
  }
}
.footerMenu .menu_first {
  padding: 0;
  margin: 0;
}
.footerMenu .menu_first > li {
  padding: 0;
  margin: 0;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .footerMenu .menu_first > li {
    margin: 0;
  }
}
.footerMenu .menu_first > li .inactive {
  position: relative;
  display: block;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.4;
  padding: 0 0 0 1.5rem;
  margin: 0 0 2.4rem;
  color: #fff;
}
@media screen and (min-width: 1200px) {
  .footerMenu .menu_first > li .inactive {
    font-size: 1.7rem;
  }
}
.footerMenu .menu_first > li .inactive::before {
  content: "";
  display: inline-block;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 100%;
  position: absolute;
  top: 0.8rem;
  left: 0;
  background-color: #1E7ED5;
}
.footerMenu .menu_first > li .inactive .el_text {
  display: inline-block;
}
.footerMenu .menu_second {
  padding: 0;
  margin: 0 0 3rem;
}
@media screen and (min-width: 1200px) {
  .footerMenu .menu_second {
    padding: 0 0 0 1.8rem;
  }
}
.footerMenu .menu_second > li {
  padding: 0;
  margin: 0;
  list-style: none;
  line-height: 1.4;
}
.footerMenu .menu_second > li > a {
  display: inline-block;
  color: #DDE2EA;
  font-size: 1.2rem;
  line-height: 1.4;
  margin: 0 0 1.1rem;
}
@media screen and (min-width: 1700px) {
  .footerMenu .menu_second > li > a {
    font-size: 1.5rem;
  }
}
.footerMenu .menu_third {
  padding: 0;
  margin: 0 0 3rem;
}
.footerMenu .menu_third > li {
  padding: 0;
  margin: 0;
  list-style: none;
  line-height: 1.4;
}
.footerMenu .menu_third > li > a {
  display: inline-block;
  color: #DDE2EA;
  font-size: 1.3rem;
  line-height: 1.4;
  margin: 0 0 1rem;
}

/*コピーライト*/
.copyright {
  text-align: center;
  padding: 2rem 0;
  font-size: 1.2rem;
  color: #fff;
  border-top: 0.1rem solid #325082;
}
.copyright .container {
  opacity: 0.5;
}

/*====================================

  ■neck

=====================================*/
.neck {
  position: relative;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding: 10rem 0 3rem;
  background-image: url(./images/neck_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center right;
}
@media screen and (min-width: 768px) {
  .neck {
    padding: 17rem 0 10rem;
  }
}
.neck .neckWrap {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .neck .neckWrap {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.neck .neckWrap .neckTitle .sub_text {
  display: block;
  font-weight: 500;
  font-size: 12vw;
  font-family: "Ubuntu", sans-serif;
  color: #102B41;
  line-height: 1;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  .neck .neckWrap .neckTitle .sub_text {
    font-size: 9rem;
  }
}
.neck .neckWrap .neckTitle .main_text {
  display: block;
  font-weight: bold;
  font-size: 1.8rem;
  color: #155AA8;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .neck .neckWrap .neckTitle .main_text {
    font-size: 2.4rem;
  }
}

/*====================================================
メインビジュアル
====================================================*/
.slick-dotted.slick-slider {
  margin-bottom: 0;
}

.fv {
  position: relative;
  overflow: hidden;
  line-height: 1;
  font-size: 0;
  margin-top: 6rem;
  background-color: #f4f5f1;
}
@media screen and (min-width: 768px) {
  .fv {
    margin-top: 0;
  }
}
.fv .fvWrap .slick-list {
  background: none;
}
.fv .fvWrap .fvItem {
  position: relative;
  margin: 0;
  padding: 0;
}
.fv .fvWrap .fvItem .fvText {
  display: block;
  text-align: center;
  width: 100%;
  max-width: 100%;
  position: absolute;
  top: 50%;
  left: 53%;
  z-index: 1;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #fff;
  font-weight: bold;
  font-size: 6vw;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem .fvText {
    font-size: 4vw;
    letter-spacing: 0.1rem;
  }
}
@media screen and (min-width: 1200px) {
  .fv .fvWrap .fvItem .fvText {
    font-size: 6.8rem;
  }
}
.fv .fvWrap .fvItem .fvVideo {
  height: 40rem;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem .fvVideo {
    height: 80rem;
  }
}
.fv .fvWrap .fvItem .fvVideo video {
  display: inline-block;
  text-align: center;
  min-width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  min-width: 150%;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem .fvVideo video {
    min-width: 120%;
    top: auto;
    bottom: 0;
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
  }
}
.fv .fvWrap .fvItem .fvImg {
  position: relative;
  text-align: center;
  line-height: 1;
  padding-top: 70%;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem .fvImg {
    padding-top: 0;
  }
}
.fv .fvWrap .fvItem .fvImg img,
.fv .fvWrap .fvItem .fvImg source {
  display: inline-block;
  text-align: center;
  min-width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  min-width: 150%;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem .fvImg img,
  .fv .fvWrap .fvItem .fvImg source {
    position: static;
    -webkit-transform: translate(0%, 0%);
    transform: translate(0%, 0%);
    min-width: 100%;
  }
}

/*====================================================
ナンレイについて
====================================================*/
.frontAbout {
  overflow: hidden;
  background-image: url(./images/front_about_bg.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding: 6rem 0 8rem;
}
@media screen and (min-width: 768px) {
  .frontAbout {
    background-size: 100% auto;
    padding: 11rem 0 13rem;
  }
}
.frontAbout .frontAboutInner {
  position: relative;
}
@media screen and (min-width: 768px) {
  .frontAbout .frontAboutInner {
    text-align: right;
    padding: 8.6rem 0 3rem;
  }
}
.frontAbout .frontAboutInner .frontAboutWrap {
  position: relative;
  z-index: 1;
  display: inline-block;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .frontAbout .frontAboutInner .frontAboutWrap {
    width: 100%;
    max-width: 50%;
  }
}
@media screen and (min-width: 1400px) {
  .frontAbout .frontAboutInner .frontAboutWrap {
    max-width: 59%;
  }
}
.frontAbout .frontAboutInner .frontAboutWrap .frontAboutWrapDetail {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .frontAbout .frontAboutInner .frontAboutWrap .frontAboutWrapDetail .largeHeadline02 .el_main {
    white-space: nowrap;
  }
}
.frontAbout .frontAboutInner .frontAboutWrap .frontAboutWrapDetail .frontAboutWrapInner {
  display: inline-block;
  text-align: left;
}
@media screen and (min-width: 1400px) {
  .frontAbout .frontAboutInner .frontAboutWrap .frontAboutWrapDetail .frontAboutWrapInner {
    padding: 0 0 0 6rem;
  }
}
@media screen and (min-width: 768px) {
  .frontAbout .frontAboutInner .frontAboutWrap .frontAboutWrapDetail .frontAboutWrapInner .text {
    margin-bottom: 5rem;
  }
}
@media screen and (min-width: 1400px) {
  .frontAbout .frontAboutInner .frontAboutWrap .frontAboutWrapDetail .frontAboutWrapInner .text {
    line-height: 1.85;
    font-size: 2.1rem;
  }
}
@media screen and (min-width: 1400px) {
  .frontAbout .frontAboutInner .frontAboutWrap .frontAboutWrapDetail .frontAboutWrapInner .mediumHeadline06 .el_text {
    font-size: 3.2rem;
  }
}
.frontAbout .frontAboutInner .frontAboutImg01 {
  max-width: 60%;
}
@media screen and (min-width: 768px) {
  .frontAbout .frontAboutInner .frontAboutImg01 {
    position: absolute;
    top: 0;
    left: 0;
    max-width: 50%;
  }
}
@media screen and (min-width: 1200px) {
  .frontAbout .frontAboutInner .frontAboutImg01 {
    left: calc(50% - 62rem);
    max-width: 64rem;
  }
}
@media screen and (min-width: 1400px) {
  .frontAbout .frontAboutInner .frontAboutImg01 {
    left: calc(50% - 75rem);
  }
}
.frontAbout .frontAboutInner .frontAboutImg02 {
  position: absolute;
  max-width: 55%;
  right: -4rem;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .frontAbout .frontAboutInner .frontAboutImg02 {
    display: none;
    top: 55%;
    right: -4rem;
    bottom: auto;
    max-width: 17%;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
}
@media screen and (min-width: 1200px) {
  .frontAbout .frontAboutInner .frontAboutImg02 {
    display: inline-block;
    right: -5.1rem;
    max-width: 34rem;
  }
}
@media screen and (min-width: 1400px) {
  .frontAbout .frontAboutInner .frontAboutImg02 {
    right: -6.1rem;
    max-width: 39rem;
  }
}

.commonLoop {
  overflow: hidden;
  width: 100%;
  margin: 0;
}
.commonLoop .loop-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: scrollLeft 10s linear infinite;
          animation: scrollLeft 10s linear infinite;
}
@media screen and (min-width: 768px) {
  .commonLoop .loop-track {
    -webkit-animation: scrollLeft 20s linear infinite;
            animation: scrollLeft 20s linear infinite;
  }
}
.commonLoop .loop-track img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  width: auto;
  max-width: none;
  height: 4.6rem;
}
@media screen and (min-width: 768px) {
  .commonLoop .loop-track img {
    height: 15.4rem;
  }
}

@-webkit-keyframes scrollLeft {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes scrollLeft {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
/*====================================================
事業紹介
====================================================*/
.frontService {
  position: relative;
  top: -5rem;
  margin-bottom: -5rem;
}
@media screen and (min-width: 768px) {
  .frontService {
    top: -10rem;
    margin-bottom: -10rem;
  }
}
.frontService .frontServiceInner {
  overflow: hidden;
  background-color: #fff;
  border-radius: 5rem 5rem 0 0;
  padding: 6rem 0 3rem;
}
@media screen and (min-width: 768px) {
  .frontService .frontServiceInner {
    border-radius: 10rem 10rem 0 0;
    padding: 12rem 0 9.5rem;
  }
}
@media screen and (min-width: 992px) {
  .frontService .frontServiceInner .frontServiceHead .text {
    font-size: 1.9rem;
  }
}
.frontService .frontServiceInner .frontServiceWrap {
  padding: 0 3rem;
}
@media screen and (min-width: 992px) {
  .frontService .frontServiceInner .frontServiceWrap {
    padding: 0 5rem;
  }
}

.frontServiceItem {
  position: relative;
  border-radius: 1rem;
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
  padding: 3rem;
  margin-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .frontServiceItem {
    border-radius: 4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 11rem 7rem 7rem;
  }
}
@media screen and (min-width: 1200px) {
  .frontServiceItem {
    padding: 4.5rem 5rem 5.5rem;
  }
}
.frontServiceItem .frontServiceNum {
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .frontServiceItem .frontServiceNum {
    position: absolute;
    top: 4.5rem;
    left: 3rem;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1200px) {
  .frontServiceItem .frontServiceNum {
    left: 5rem;
  }
}
.frontServiceItem .frontServiceNum span {
  display: inline-block;
  color: #6FA4CE;
  border: 1px solid #6FA4CE;
  font-family: "Ubuntu", sans-serif;
  font-weight: bold;
  font-size: 1.4rem;
  padding: 0.1rem 1.5rem;
  border-radius: 3rem;
}
@media screen and (min-width: 768px) {
  .frontServiceItem .frontServiceNum span {
    font-size: 1.6rem;
  }
}
.frontServiceItem .frontServiceItem__left {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .frontServiceItem .frontServiceItem__left {
    max-width: 100%;
    margin: 0 3rem 0 0;
    text-align: center;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail {
  display: inline-block;
  max-width: 80rem;
  text-align: left;
}
.frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .frontServiceHeadline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 992px) {
  .frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .frontServiceHeadline {
    margin-bottom: 3.5rem;
  }
}
.frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .frontServiceHeadline .el_img {
  max-width: 6rem;
  margin: 0 1rem 0 0;
}
@media screen and (min-width: 1200px) {
  .frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .frontServiceHeadline .el_img {
    max-width: 8rem;
    margin: 0 3rem 0 0;
  }
}
@media screen and (min-width: 1400px) {
  .frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .frontServiceHeadline .el_img {
    max-width: 10rem;
  }
}
@media screen and (min-width: 1700px) {
  .frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .frontServiceHeadline .el_img {
    max-width: 12rem;
  }
}
.frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .frontServiceHeadline .el_text {
  font-weight: bold;
  font-size: 2.1rem;
  color: #29303F;
}
@media screen and (min-width: 768px) {
  .frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .frontServiceHeadline .el_text {
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 992px) {
  .frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .frontServiceHeadline .el_text {
    font-size: 3.4rem;
  }
}
@media screen and (min-width: 1200px) {
  .frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .frontServiceHeadline .el_text {
    font-size: 4.7rem;
  }
}
@media screen and (min-width: 1400px) {
  .frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .frontServiceHeadline .el_text {
    font-size: 5rem;
  }
}
@media screen and (min-width: 1700px) {
  .frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .frontServiceHeadline .el_text {
    font-size: 5.4rem;
  }
}
.frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .frontServiceSubHeadline {
  color: #6FA4CE;
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 2rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .frontServiceSubHeadline {
    font-size: 2.1rem;
  }
}
@media screen and (min-width: 1200px) {
  .frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .frontServiceSubHeadline {
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 768px) {
  .frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .text {
    font-size: 1.8rem;
    margin-bottom: 4.5rem;
  }
}
@media screen and (min-width: 768px) {
  .frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .btn01 {
    padding: 1.4rem 0 1.4rem 3rem;
    max-width: 27rem;
  }
}
@media screen and (min-width: 1200px) {
  .frontServiceItem .frontServiceItem__left .frontServiceItem__leftDetail .btn01 {
    padding: 2.4rem 0 2.4rem 3rem;
    max-width: 34rem;
  }
}
.frontServiceItem .frontServiceItem__right {
  width: 100%;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .frontServiceItem .frontServiceItem__right {
    max-width: 55rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-bottom: 0;
  }
}
.frontServiceItem .frontServiceItem__right .text-center {
  position: relative;
  overflow: hidden;
  padding-top: 56.25%;
  border-radius: 0.8rem;
}
@media screen and (min-width: 768px) {
  .frontServiceItem .frontServiceItem__right .text-center {
    padding: 0;
    border-radius: 0;
  }
}
.frontServiceItem .frontServiceItem__right .text-center img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  .frontServiceItem .frontServiceItem__right .text-center img {
    position: static;
    -webkit-transform: translate(0%, 0%);
    transform: translate(0%, 0%);
  }
}
.frontServiceItem.--cold-strage {
  background-image: url(./images/front_service_cold-strage_bg.png);
}
.frontServiceItem.--cold-strage .frontServiceNum span {
  color: #6FA4CE;
  border: 1px solid #6FA4CE;
}
.frontServiceItem.--cold-strage .btn01 {
  background-color: #6FA4CE;
  border-color: #6FA4CE;
}
@media screen and (min-width: 768px) {
  .frontServiceItem.--cold-strage .btn01:hover {
    background-color: #fff;
  }
  .frontServiceItem.--cold-strage .btn01:hover .el_text {
    color: #6FA4CE;
  }
}
.frontServiceItem.--yuzu-cultivation {
  background-image: url(./images/front_service_yuzu-cultivation_bg.png);
}
.frontServiceItem.--yuzu-cultivation .frontServiceNum span {
  color: #6FC1CE;
  border: 1px solid #6FC1CE;
}
.frontServiceItem.--yuzu-cultivation .btn01 {
  background-color: #6FC1CE;
  border-color: #6FC1CE;
}
@media screen and (min-width: 768px) {
  .frontServiceItem.--yuzu-cultivation .btn01:hover {
    background-color: #fff;
  }
  .frontServiceItem.--yuzu-cultivation .btn01:hover .el_text {
    color: #6FC1CE;
  }
}

/*====================================================
会社案内
====================================================*/
.frontBnr {
  position: relative;
  background-color: #fff;
  overflow: hidden;
}
.frontBnr .frontBnrInner {
  overflow: hidden;
  background-color: #F3F9FF;
  background-image: url(./images/front_bnr_bg.png);
  background-position: top right;
  background-size: 100% auto;
  background-repeat: no-repeat;
  border-radius: 5rem 5rem 0 0;
  padding: 6rem 0 3rem;
}
@media screen and (min-width: 768px) {
  .frontBnr .frontBnrInner {
    border-radius: 10rem 10rem 0 0;
    padding: 12rem 0 9rem;
  }
}
.frontBnr .frontBnrInner .frontBnrItem {
  margin: 0 0 1.5rem;
}
@media screen and (min-width: 768px) {
  .frontBnr .frontBnrInner .frontBnrItem {
    margin: 0 0 3rem;
  }
}
.frontBnr .frontBnrInner .frontBnrItem .frontBnrItemInner {
  position: relative;
  overflow: hidden;
  display: block;
  padding-top: 56.25%;
  border-radius: 0.8rem;
}
@media screen and (min-width: 768px) {
  .frontBnr .frontBnrInner .frontBnrItem .frontBnrItemInner {
    border-radius: 4rem;
    padding-top: 0;
    min-height: 24rem;
  }
  .frontBnr .frontBnrInner .frontBnrItem .frontBnrItemInner:hover .frontBnrBg {
    height: 110%;
  }
}
@media screen and (min-width: 1200px) {
  .frontBnr .frontBnrInner .frontBnrItem .frontBnrItemInner {
    min-height: 32rem;
  }
}
.frontBnr .frontBnrInner .frontBnrItem .frontBnrItemInner::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background: #155aa8;
  background: -webkit-gradient(linear, left top, right top, from(rgba(21, 90, 168, 0.9)), to(rgba(21, 90, 168, 0)));
  background: linear-gradient(90deg, rgba(21, 90, 168, 0.9) 0%, rgba(21, 90, 168, 0) 100%);
}
.frontBnr .frontBnrInner .frontBnrItem .frontBnrItemInner .frontBnrTitle {
  position: absolute;
  z-index: 3;
  line-height: 1;
  top: 3rem;
  left: 3rem;
  margin: 0 0 2rem;
}
@media screen and (min-width: 768px) {
  .frontBnr .frontBnrInner .frontBnrItem .frontBnrItemInner .frontBnrTitle {
    top: 5rem;
    left: 5rem;
  }
}
.frontBnr .frontBnrInner .frontBnrItem .frontBnrItemInner .frontBnrTitle .el_main {
  display: block;
  font-weight: 500;
  font-size: 3rem;
  font-family: "Ubuntu", sans-serif;
  line-height: 1;
  color: #fff;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .frontBnr .frontBnrInner .frontBnrItem .frontBnrItemInner .frontBnrTitle .el_main {
    font-size: 5.4rem;
  }
}
.frontBnr .frontBnrInner .frontBnrItem .frontBnrItemInner .frontBnrTitle .el_sub {
  display: block;
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1;
  color: #fff;
}
.frontBnr .frontBnrInner .frontBnrItem .frontBnrItemInner .frontBnrArrow {
  position: absolute;
  z-index: 1;
  right: 2.4rem;
  bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .frontBnr .frontBnrInner .frontBnrItem .frontBnrItemInner .frontBnrArrow {
    right: 3rem;
  }
}
.frontBnr .frontBnrInner .frontBnrItem .frontBnrItemInner .frontBnrArrow img {
  max-width: 6rem;
}
@media screen and (min-width: 768px) {
  .frontBnr .frontBnrInner .frontBnrItem .frontBnrItemInner .frontBnrArrow img {
    max-width: 8rem;
  }
}
.frontBnr .frontBnrInner .frontBnrItem .frontBnrItemInner .frontBnrBg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  height: 100%;
  width: auto;
  max-width: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

/*====================================================
お知らせ
====================================================*/
.frontNews {
  position: relative;
  background-color: #F3F9FF;
}
.frontNews .frontNewsInner {
  overflow: hidden;
  background-color: #fff;
  border-radius: 5rem 5rem 0 0;
  padding: 6rem 0 3rem;
}
@media screen and (min-width: 768px) {
  .frontNews .frontNewsInner {
    border-radius: 10rem 10rem 0 0;
    padding: 11rem 0 7rem;
  }
}
@media screen and (min-width: 768px) {
  .frontNews .frontNewsInner .btn01 {
    padding: 1.4rem 0 1.4rem 3rem;
    max-width: 24rem;
  }
}
@media screen and (min-width: 1200px) {
  .frontNews .frontNewsInner .btn01 {
    padding: 2.4rem 0 2.4rem 3rem;
    max-width: 27rem;
  }
}

.newsWrap {
  border-top: 1px solid #DDE2EA;
}
.newsWrap .newsItem a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #DDE2EA;
  padding: 2.7rem 7rem 2.7rem 1.3rem;
}
@media screen and (min-width: 768px) {
  .newsWrap .newsItem a:hover {
    opacity: 1;
    background-color: #F1F4F8;
  }
}
@media screen and (min-width: 992px) {
  .newsWrap .newsItem a {
    padding: 2.7rem 11rem 2.7rem 1.3rem;
  }
}
.newsWrap .newsItem a .newsItemData {
  color: #6FA4CE;
  font-weight: 500;
  font-size: 1.5rem;
  font-family: "Ubuntu", sans-serif;
  margin: 0 1.5rem 0 0;
}
@media screen and (min-width: 768px) {
  .newsWrap .newsItem a .newsItemData {
    font-size: 1.8rem;
    margin: 0 3rem 0 0;
  }
}
.newsWrap .newsItem a .newsItemTitle {
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .newsWrap .newsItem a .newsItemTitle {
    font-size: 1.8rem;
  }
}
.newsWrap .newsItem a .newsItemIcon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 5.5rem;
  height: 2.9rem;
  background-color: #F8F8F8;
  border-radius: 3rem;
  border: 1px solid #DDE2EA;
  position: absolute;
  text-align: center;
  top: 50%;
  right: 1rem;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}
@media screen and (min-width: 992px) {
  .newsWrap .newsItem a .newsItemIcon {
    width: 7.8rem;
    height: 3.4rem;
  }
}
.newsWrap .newsItem a .newsItemIcon svg {
  display: inline-block;
  font-size: 0;
  line-height: 1;
  max-width: 1.1rem;
}
@media screen and (min-width: 992px) {
  .newsWrap .newsItem a .newsItemIcon svg {
    max-width: 100%;
  }
}

/*====================================================
採用情報
====================================================*/
.frontRecruit {
  position: relative;
  padding: 0 3rem;
}
.frontRecruit .frontRecruitInner {
  position: relative;
  overflow: hidden;
  background-color: #fff;
  background-image: url(./images/front_recruit_bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 2.5rem;
  padding: 6rem 0 3rem;
}
@media screen and (min-width: 768px) {
  .frontRecruit .frontRecruitInner {
    border-radius: 8rem;
    padding: 12rem 0 5rem;
  }
}
@media screen and (min-width: 1200px) {
  .frontRecruit .frontRecruitInner {
    padding: 12rem 0 9rem;
  }
}
.frontRecruit .frontRecruitInner {
  /*
  &::before {
  	content: "";
  	display: block;
  	background: #6fa4ce;
  	background: linear-gradient(92deg, rgba(111, 164, 206, 1) 0%, rgba(111, 164, 206, 0) 80%);
  	position: absolute;
  	top: 0;
  	left: 0;
  	width: 100%;
  	height: 100%;
  }
  */
}
@media screen and (min-width: 768px) {
  .frontRecruit .frontRecruitInner .container {
    padding: 0 6rem;
  }
}
.frontRecruit .frontRecruitInner .frontRecruitWrap {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1200px) {
  .frontRecruit .frontRecruitInner .frontRecruitWrap {
    max-width: 50%;
  }
}
@media screen and (min-width: 1200px) {
  .frontRecruit .frontRecruitInner .frontRecruitWrap .largeHeadline02 {
    margin-bottom: 3rem;
  }
}
.frontRecruit .frontRecruitInner .frontRecruitWrap .mediumHeadline06 {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .frontRecruit .frontRecruitInner .frontRecruitWrap .mediumHeadline06 {
    text-align: left;
  }
}
@media screen and (min-width: 1200px) {
  .frontRecruit .frontRecruitInner .frontRecruitWrap .mediumHeadline06 .el_text {
    font-size: 4.4rem;
    margin-bottom: 4rem;
  }
}
@media screen and (min-width: 1200px) {
  .frontRecruit .frontRecruitInner .frontRecruitWrap .text {
    font-size: 2.1rem;
    margin-bottom: 5rem;
  }
}
.frontRecruit .frontRecruitInner .frontRecruitWrap .frontRecruitLink .frontRecruitLinkItem {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #fff;
  border: 4px solid #fff;
  border-radius: 1rem;
  margin-bottom: 1.5rem;
  padding: 2rem;
}
@media screen and (min-width: 768px) {
  .frontRecruit .frontRecruitInner .frontRecruitWrap .frontRecruitLink .frontRecruitLinkItem {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 3rem;
    padding: 0.9rem 11rem 0.9rem 1rem;
    margin-bottom: 3rem;
  }
  .frontRecruit .frontRecruitInner .frontRecruitWrap .frontRecruitLink .frontRecruitLinkItem:hover {
    border: 4px solid #155AA8;
  }
}
@media screen and (min-width: 1200px) {
  .frontRecruit .frontRecruitInner .frontRecruitWrap .frontRecruitLink .frontRecruitLinkItem {
    padding-right: 11rem;
  }
}
.frontRecruit .frontRecruitInner .frontRecruitWrap .frontRecruitLink .frontRecruitLinkItem .frontRecruitLinkItem__left {
  width: 100%;
  max-width: 7rem;
  margin: 0 1.5rem 0 0;
  padding: 0.5rem 0 0;
}
@media screen and (min-width: 768px) {
  .frontRecruit .frontRecruitInner .frontRecruitWrap .frontRecruitLink .frontRecruitLinkItem .frontRecruitLinkItem__left {
    max-width: 14rem;
    margin: 0 3rem 0 0;
    padding: 0;
  }
}
.frontRecruit .frontRecruitInner .frontRecruitWrap .frontRecruitLink .frontRecruitLinkItem .frontRecruitLinkItem__right {
  width: 100%;
  position: relative;
  padding: 0 0 3.5rem;
}
@media screen and (min-width: 768px) {
  .frontRecruit .frontRecruitInner .frontRecruitWrap .frontRecruitLink .frontRecruitLinkItem .frontRecruitLinkItem__right {
    position: static;
    padding: 0;
  }
}
.frontRecruit .frontRecruitInner .frontRecruitWrap .frontRecruitLink .frontRecruitLinkItem .frontRecruitLinkItem__right .el_title {
  display: block;
  color: #155AA8;
  font-size: 1.7rem;
  font-weight: bold;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  .frontRecruit .frontRecruitInner .frontRecruitWrap .frontRecruitLink .frontRecruitLinkItem .frontRecruitLinkItem__right .el_title {
    font-size: 2.1rem;
  }
}
.frontRecruit .frontRecruitInner .frontRecruitWrap .frontRecruitLink .frontRecruitLinkItem .frontRecruitLinkItem__right .el_text {
  font-weight: 500;
  font-size: 1.3rem;
}
@media screen and (min-width: 1400px) {
  .frontRecruit .frontRecruitInner .frontRecruitWrap .frontRecruitLink .frontRecruitLinkItem .frontRecruitLinkItem__right .el_text {
    font-size: 1.6rem;
  }
}
.frontRecruit .frontRecruitInner .frontRecruitWrap .frontRecruitLink .frontRecruitLinkItem .frontRecruitLinkItem__right .el_icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 6rem;
  height: 2.4rem;
  line-height: 1;
  background-color: #F8F8F8;
  border-radius: 3rem;
  border: 1px solid #DDE2EA;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .frontRecruit .frontRecruitInner .frontRecruitWrap .frontRecruitLink .frontRecruitLinkItem .frontRecruitLinkItem__right .el_icon {
    top: 50%;
    right: 1.5rem;
    bottom: auto;
    left: auto;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    width: 7.8rem;
    height: 3.4rem;
    padding: 0;
    bottom: auto;
  }
}
.frontRecruit .frontRecruitInner .frontRecruitWrap .frontRecruitLink .frontRecruitLinkItem .frontRecruitLinkItem__right .el_icon svg {
  display: inline-block;
  font-size: 0;
  line-height: 1;
  max-width: 1.1rem;
}
@media screen and (min-width: 768px) {
  .frontRecruit .frontRecruitInner .frontRecruitWrap .frontRecruitLink .frontRecruitLinkItem .frontRecruitLinkItem__right .el_icon svg {
    max-width: 100%;
  }
}

.frontRecruitImg {
  position: absolute;
  top: 50%;
  left: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0rem;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  max-width: 90%;
  width: 100%;
  opacity: 0.2;
}
@media screen and (min-width: 768px) {
  .frontRecruitImg {
    max-width: calc(50% - 5rem);
    right: 3rem;
    left: auto;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    opacity: 0.4;
  }
}
@media screen and (min-width: 1200px) {
  .frontRecruitImg {
    right: 5rem;
    max-width: 50rem;
    opacity: 0.9;
  }
}
@media screen and (min-width: 1400px) {
  .frontRecruitImg {
    max-width: 50rem;
  }
}
@media screen and (min-width: 1700px) {
  .frontRecruitImg {
    max-width: 67rem;
  }
}
.frontRecruitImg .frontRecruitImgInner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.frontRecruitImg .frontRecruitImgInner img {
  display: block;
  line-height: 1;
  font-size: 0;
  margin: 0.5rem;
}
.frontRecruitImg .frontRecruitImgInner.frontRecruitImgLeft {
  -webkit-animation: recruitScrollDown 50s linear infinite;
          animation: recruitScrollDown 50s linear infinite;
}
.frontRecruitImg .frontRecruitImgInner.frontRecruitImgRight {
  -webkit-animation: recruitScrollUp 50s linear infinite;
          animation: recruitScrollUp 50s linear infinite;
}

@-webkit-keyframes recruitScrollUp {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-25%);
            transform: translateY(-25%);
  }
}

@keyframes recruitScrollUp {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-25%);
            transform: translateY(-25%);
  }
}
@-webkit-keyframes recruitScrollDown {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(25%);
            transform: translateY(25%);
  }
}
@keyframes recruitScrollDown {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(25%);
            transform: translateY(25%);
  }
}
/*====================================================
ページ内メニュー
====================================================*/
.pageMenu {
  background-color: #F8F8F8;
  padding: 5rem 0 3.5rem;
}
@media screen and (min-width: 768px) {
  .pageMenu {
    padding: 8rem 0 5rem;
  }
}
.pageMenu ul {
  padding: 0;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .pageMenu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: calc(100% + 3rem);
    margin-left: -1.5rem;
  }
}
.pageMenu ul li {
  border-left: 1px solid #fff;
  margin: 0 0 1.5rem;
  line-height: 1;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .pageMenu ul li {
    width: 100%;
    max-width: calc(50% - 3rem);
    margin: 0 1.5rem 3rem;
  }
}
@media screen and (min-width: 992px) {
  .pageMenu ul li {
    max-width: calc(33.3333333333% - 3rem);
  }
}
@media screen and (min-width: 1200px) {
  .pageMenu ul li {
    max-width: calc(25% - 3rem);
  }
}
@media screen and (min-width: 1921px) {
  .pageMenu ul li {
    max-width: 25.6rem;
  }
}
.pageMenu ul li a {
  display: block;
  padding: 2rem 1.5rem 2rem 2.4rem;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: left;
  border-radius: 2rem;
  background-color: #fff;
  background-image: url(./images/icon_pagemenu.svg);
  background-repeat: no-repeat;
  background-position: center right 1.5rem;
  letter-spacing: 0.1rem;
}
@media screen and (min-width: 768px) {
  .pageMenu ul li a {
    padding: 3rem 1.5rem 3rem 2.4rem;
    font-size: 1.8rem;
  }
  .pageMenu ul li a:hover {
    background-color: #155AA8;
    color: #fff;
  }
}
.pageMenu + .commonSec {
  background-color: #F8F8F8 !important;
}

/*====================================================
汎用セクション
====================================================*/
.commonSec {
  position: relative;
}
.commonSec .commonSecInner {
  overflow: hidden;
  border-radius: 5rem 5rem 0 0;
  padding: 6rem 0 3rem;
}
@media screen and (min-width: 768px) {
  .commonSec .commonSecInner {
    border-radius: 10rem 10rem 0 0;
    padding: 10rem 0 7rem;
  }
}
.commonSec.--whiteBG {
  background-color: #F2F9FF;
}
.commonSec.--whiteBG .commonSecInner {
  background-color: #fff;
}
.commonSec.--blueBG {
  background-color: #fff;
}
.commonSec.--blueBG .commonSecInner {
  background-color: #F2F9FF;
}
.commonSec.--grayBG {
  background-color: #F8F8F8;
}
.commonSec.--grayBG + .commonSec {
  background-color: #F8F8F8;
}

.nametext {
  text-align: right;
  margin-bottom: 3rem;
}
.nametext .el_sub {
  display: block;
  font-size: 1.5rem;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .nametext .el_sub {
    font-size: 1.8rem;
  }
}
.nametext .el_main {
  display: block;
  font-size: 2.1rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .nametext .el_main {
    font-size: 2.4rem;
  }
}

/*====================================================
ギャラリー
====================================================*/
.gallery {
  position: relative;
  padding: 0;
  margin: 0 0 3rem;
}
.gallery .galleryItem {
  text-align: center;
}
.gallery .galleryItem img {
  display: inline-block;
  max-width: calc(100% - 1.5rem);
}
@media screen and (min-width: 768px) {
  .gallery .galleryItem img {
    max-width: calc(100% - 4rem);
  }
}
.gallery .slick-arrow {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  width: 6rem;
  height: 6rem;
  z-index: 10;
}
.gallery .slick-arrow.slick-prev {
  background-image: url(./images/btn_prev.svg);
}
@media screen and (min-width: 768px) {
  .gallery .slick-arrow.slick-prev {
    left: -0.6rem;
  }
}
.gallery .slick-arrow.slick-prev::before {
  display: none;
}
.gallery .slick-arrow.slick-next {
  background-image: url(./images/btn_next.svg);
}
@media screen and (min-width: 768px) {
  .gallery .slick-arrow.slick-next {
    right: -0.6rem;
  }
}
.gallery .slick-arrow.slick-next::before {
  display: none;
}

/*====================================================
画像付き説明
====================================================*/
@media screen and (min-width: 768px) {
  .commonFlex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: calc(100% + 3rem);
    margin: 0 0 0 -1.5rem;
  }
}
.commonFlex .commonFlexItem {
  width: 100%;
  background-color: #F2F9FF;
  border-radius: 1.5rem;
  padding: 3rem 3rem 0;
  margin: 0 0 3rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .commonFlex .commonFlexItem {
    max-width: calc(33.3333333333% - 3rem);
    margin: 0 1.5rem 3rem;
  }
}
.commonFlex .commonFlexItem .commonFlexNum {
  margin-bottom: 1.6rem;
}
.commonFlex .commonFlexItem .commonFlexNum span {
  display: inline-block;
  border-radius: 3rem;
  padding: 0.8rem 1.5rem;
  border: 1px solid #155AA8;
  color: #155AA8;
  line-height: 1;
  font-size: 1.6rem;
  font-weight: bold;
  font-family: "Ubuntu", sans-serif;
}
@media screen and (min-width: 768px) {
  .commonFlex.--2col .commonFlexItem {
    max-width: calc(50% - 3rem);
  }
}
.commonFlex.--white .commonFlexItem {
  background-color: #fff;
}

/*====================================================
よくある質問
====================================================*/
.faq {
  margin: 0 0 40px;
}
.faq .faqItem {
  display: block;
}
.faq .faqItem dl {
  background: #fff;
  padding: 20px;
  margin: 0 0 20px;
  border-radius: 1rem;
}
.faq .faqItem dl dt {
  position: relative;
  padding: 0 0 15px 30px;
  margin: 0 0 17px;
  border-bottom: 1px solid #DDE2EA;
}
.faq .faqItem dl dt::before {
  content: "Q";
  position: absolute;
  top: 0.5rem;
  left: 0;
  font-family: "Ubuntu", sans-serif;
  font-weight: bold;
  font-size: 2rem;
  color: #325082;
  line-height: 1;
}
.faq .faqItem dl dd {
  position: relative;
  padding: 0 0 0 30px;
}
.faq .faqItem dl dd::before {
  content: "A";
  position: absolute;
  top: 0.5rem;
  left: 0;
  font-family: "Ubuntu", sans-serif;
  font-weight: bold;
  font-size: 2rem;
  color: #9B0031;
  line-height: 1;
}
.faq .faqItem.on {
  display: block;
}

.faqtext {
  position: relative;
  color: #6FA4CE;
  font-size: 1.7rem;
  font-weight: bold;
  text-align: center;
  padding: 0 0 4rem;
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .faqtext {
    margin-top: 5rem;
    font-size: 2.4rem;
  }
}
.faqtext::after {
  content: "";
  display: inline-block;
  border-left: 2rem solid transparent;
  border-right: 2rem solid transparent;
  border-top: 2rem solid #6FA4CE;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0%);
  -webkit-transform: translate(-50%, 0%);
  -ms-transform: translate(-50%, 0%);
}

/*====================================================
募集要項一覧
====================================================*/
.recruitList {
  margin: 0 0 3rem;
}
.recruitList .recruitListItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 2rem 5rem 2rem 2rem;
  margin: 0 0 1.5rem;
  background-color: #155AA8;
  background-image: url(./images/btn_next.svg);
  background-repeat: no-repeat;
  background-position: center right 1rem;
  background-size: 3rem auto;
  color: #fff;
  border-radius: 0.8rem;
}
@media screen and (min-width: 768px) {
  .recruitList .recruitListItem {
    padding: 2rem 5rem 2rem 2rem;
  }
  .recruitList .recruitListItem:hover {
    background-color: #F1F4F8;
    color: #155AA8;
  }
}
.recruitList .recruitListItem .recruitListItemDate {
  display: block;
  font-family: "Ubuntu", sans-serif;
  margin: 0 2rem 0 0;
}
.recruitList .recruitListItem .recruitListItemTitle {
  display: block;
  font-size: 1.6rem;
  font-weight: bold;
}

/*====================================================
社員紹介
====================================================*/
@media screen and (min-width: 768px) {
  .staffList .staffListItem .order-md-first {
    padding-right: 8rem;
  }
}

/*====================================

  ■お知らせ

=====================================*/
.singleData {
  color: #6FA4CE;
  font-weight: 500;
  font-size: 1.5rem;
  font-family: "Ubuntu", sans-serif;
  margin: 0 3rem 0 0;
}
@media screen and (min-width: 768px) {
  .singleData {
    font-size: 1.8rem;
  }
}

/*====================================

  ■投稿基本設定

=====================================*/
/*投稿
--------------------------------------*/
.post__content {
  margin: 0 auto 3rem;
}

.post__content:before,
.post__content:after {
  content: " ";
  display: table;
}

.post__content:after {
  clear: both;
}

.post__content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-top: 20px;
  margin-bottom: 20px;
}

.post__content img.aligncenter {
  margin: 20px auto;
  display: block;
}

.post__content h1 {
  background: #f8f8f9;
  border-left: 3px solid #212836;
  margin: 30px 0 20px;
  padding: 12px 10px 12px 15px;
  font-size: 2.2rem;
  font-weight: bold;
}

.post__content h2 {
  font-size: 2rem;
  margin: 30px 0 20px;
  padding: 0 0 10px;
  border-bottom: 1px solid #d2d2d2;
}

.post__content h3 {
  font-size: 2rem;
  margin: 30px 0 20px;
  padding: 0 0 0 25px;
  position: relative;
}
.post__content h3::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background: #adb1b9;
  border-radius: 100%;
  position: absolute;
  top: 9px;
  left: 5px;
}

.post__content h4 {
  font-size: 1.7rem;
  margin: 20px 0;
}

.post__content h5 {
  font-size: 1.5rem;
  margin: 20px 0;
}

.post__content h6 {
  font-size: 1.3rem;
  margin: 20px 0;
}

.post__content h1,
.post__content h2,
.post__content h3,
.post__content h4,
.post__content h5,
.post__content h6 {
  line-height: 1.4;
}

.post__content div {
  max-width: 100%;
}

.post__content p {
  margin-bottom: 10px;
}

.post__content a {
  text-decoration: underline;
}

.post__content a:hover {
  text-decoration: none;
}

.post__content ul,
.post__content ol {
  margin: 15px 0;
  padding: 0 0 0 15px;
}

.post__content ul li {
  list-style-type: disc;
  margin: 5px 0;
  text-indent: 5px;
}

.post__content ol li {
  list-style-type: decimal;
  margin: 5px 0;
}

.post__content table {
  border-collapse: collapse;
  width: 100%;
  margin-top: 20px;
  margin-bottom: 20px;
}

.post__content table th {
  background: #eee;
  border: 1px solid #ccc;
  padding: 10px;
}

.post__content table td {
  border: 1px solid #ccc;
  padding: 10px;
}

/*投稿が何もなかった時の表示用*/
.null__block {
  width: 100%;
  text-align: center;
  padding: 20px;
  background-color: #fff;
  border-radius: 5px;
}

/*左寄せ*/
.alignleft {
  margin-top: 10px;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .alignleft {
    float: left;
    margin-right: 20px;
    margin-bottom: 20px;
  }
}

/*右寄せ*/
.alignright {
  margin-top: 10px;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .alignright {
    float: right;
    margin-left: 20px;
    margin-bottom: 20px;
  }
}

/*====================================

  ■Contact お問い合わせ

=====================================*/
.telBlock {
  color: #002664;
  font-weight: 500;
  font-family: "Ubuntu", sans-serif;
  font-size: 2.4rem;
  margin-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .telBlock {
    font-size: 3.2rem;
  }
}

.contactWrap {
  overflow: hidden;
  background-color: #fff;
  border-radius: 4rem;
  padding: 5rem 3rem 3rem;
}

table.set {
  width: 100%;
  max-width: 90rem;
  border-collapse: collapse;
  margin: 0 auto 3rem;
}
@media screen and (max-width: 767px) {
  table.set {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  table.set tbody {
    width: 100%;
    display: block;
  }
}
@media screen and (max-width: 767px) {
  table.set tbody tr {
    width: 100%;
    display: block;
  }
}
table.set tbody tr th {
  width: 25%;
  min-width: 20.5rem;
  padding: 2rem 1rem 2rem 0;
  font-weight: bold;
  vertical-align: top;
  text-align: left;
  font-size: 1.8rem;
  border-bottom: 1px solid #DDE2EA;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  table.set tbody tr th {
    display: block;
    padding: 0;
    width: 100%;
    border: none;
    font-size: 1.4rem;
  }
}
table.set tbody tr th .inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
table.set tbody tr th .red {
  display: inline-block;
  width: 4.5rem;
  height: 2rem;
  margin: 0;
  padding: 0.4rem 0.4rem 0;
  color: #fff;
  background: #9B0031;
  font-weight: normal;
  font-size: 1.2rem;
  line-height: 1;
  text-align: center;
}
table.set tbody tr th p {
  padding: 0;
  margin: 0;
}
table.set tbody tr td {
  width: 75%;
  padding: 2rem 0 2rem 2rem;
  vertical-align: middle;
  border-bottom: 1px solid #DDE2EA;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  table.set tbody tr td {
    display: block;
    padding: 0.1rem 0 2rem;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-bottom: none;
  }
}
table.set tbody tr td p {
  line-height: 1;
  margin-top: 1rem;
}
table.set tbody tr td input[type=text],
table.set tbody tr td input[type=email],
table.set tbody tr td input[type=tel],
table.set tbody tr td select,
table.set tbody tr td textarea {
  width: 100%;
  -webkit-box-shadow: none;
          box-shadow: none;
  line-height: 1.8;
  padding: 1rem;
  border-radius: 0.2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: 4.8rem;
  height: 4.8rem;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  table.set tbody tr td input[type=text],
  table.set tbody tr td input[type=email],
  table.set tbody tr td input[type=tel],
  table.set tbody tr td select,
  table.set tbody tr td textarea {
    line-height: 1.5;
    min-height: 3rem;
    height: 3rem;
    font-size: 1.3rem;
  }
}
table.set tbody tr td input[type=text]::-webkit-input-placeholder, table.set tbody tr td input[type=email]::-webkit-input-placeholder, table.set tbody tr td input[type=tel]::-webkit-input-placeholder, table.set tbody tr td select::-webkit-input-placeholder, table.set tbody tr td textarea::-webkit-input-placeholder {
  opacity: 0.5;
}
table.set tbody tr td input[type=text]::-moz-placeholder, table.set tbody tr td input[type=email]::-moz-placeholder, table.set tbody tr td input[type=tel]::-moz-placeholder, table.set tbody tr td select::-moz-placeholder, table.set tbody tr td textarea::-moz-placeholder {
  opacity: 0.5;
}
table.set tbody tr td input[type=text]:-ms-input-placeholder, table.set tbody tr td input[type=email]:-ms-input-placeholder, table.set tbody tr td input[type=tel]:-ms-input-placeholder, table.set tbody tr td select:-ms-input-placeholder, table.set tbody tr td textarea:-ms-input-placeholder {
  opacity: 0.5;
}
table.set tbody tr td input[type=text]::-ms-input-placeholder, table.set tbody tr td input[type=email]::-ms-input-placeholder, table.set tbody tr td input[type=tel]::-ms-input-placeholder, table.set tbody tr td select::-ms-input-placeholder, table.set tbody tr td textarea::-ms-input-placeholder {
  opacity: 0.5;
}
table.set tbody tr td input[type=text]::placeholder,
table.set tbody tr td input[type=email]::placeholder,
table.set tbody tr td input[type=tel]::placeholder,
table.set tbody tr td select::placeholder,
table.set tbody tr td textarea::placeholder {
  opacity: 0.5;
}
table.set tbody tr td textarea {
  resize: vertical;
  height: 20rem;
}
table.set tbody tr td.input_half input, table.set tbody tr td.input_half select {
  width: 100%;
  max-width: 100%;
}

.wpcf7-form-control-wrap.request .wpcf7-list-item {
  display: block;
}

.wpcf7-list-item {
  margin: 0;
}

.wpcf7-spinner {
  display: none;
  margin: 0 auto;
  text-align: center;
}

div.wpcf7 .ajax-loader {
  margin: 5px auto 0;
  display: block;
  color: #fff;
  border: none !important;
  margin: 0px auto 10px;
  text-align: center;
  opacity: 1;
  position: absolute;
  z-index: 1;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.formBtn {
  position: relative;
  padding: 0;
  margin: 0 auto 3rem;
  max-width: 28rem;
}
@media screen and (min-width: 768px) {
  .formBtn {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .formBtn:hover {
    opacity: 1;
  }
  .formBtn:hover .wpcf7-form-control {
    background-color: #fff;
    display: inline-block;
    color: #155AA8;
  }
}
.formBtn p {
  padding: 0;
  margin: 0;
}
.formBtn .wpcf7-form-control {
  display: inline-block;
  width: 100%;
  max-width: 28rem;
  text-align: left;
  background-color: #155AA8;
  color: #fff;
  position: relative;
  z-index: 1;
  font-size: 1.6rem;
  font-weight: bold;
  text-decoration: none;
  padding: 1.4rem 0 1.4rem 3rem;
  margin: 0;
  border: 2px solid #155AA8;
  border-radius: 5rem;
}
@media screen and (min-width: 768px) {
  .formBtn .wpcf7-form-control {
    padding: 2.4rem 0 2.4rem 3rem;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
}
.formBtn::after {
  content: "";
  display: inline-block;
  width: 7.8rem;
  height: 3.4rem;
  background-color: #F8F8F8;
  background-image: url(./images/icon_link.svg);
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 3rem;
  border: 1px solid #DDE2EA;
  position: absolute;
  text-align: center;
  top: 50%;
  right: 2rem;
  z-index: 5;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}
.formBtn::after span {
  display: inline-block;
}

div.wpcf7-validation-errors {
  background-color: #9B0031;
  color: #fff;
  border: none !important;
  margin: 0px auto 50px;
  text-align: center;
}

div.wpcf7-mail-sent-ok {
  background-color: #002664;
  color: #fff;
  border: none !important;
  margin: 0 auto 50px;
  text-align: center;
}

.wpcf7-checkbox .wpcf7-list-item {
  margin-right: 2.4rem;
}

.wpcf7-radio .wpcf7-list-item {
  margin: 0.3rem 2rem 0.3rem 0;
}

.wpcf7-not-valid-tip {
  margin-top: 0.5rem;
}

.left {
  text-align: left;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

@media screen and (max-width: 767px) {
  .xs_left {
    text-align: left;
  }
  .xs_center {
    text-align: center;
  }
  .xs_right {
    text-align: right;
  }
}
@media screen and (max-width: 991px) {
  .sm_left {
    text-align: left;
  }
  .sm_center {
    text-align: center;
  }
  .sm_right {
    text-align: right;
  }
}
@media screen and (max-width: 1199px) {
  .md_left {
    text-align: left;
  }
  .md_center {
    text-align: center;
  }
  .md_right {
    text-align: right;
  }
}
.xxxs_visible {
  display: block;
}
@media screen and (min-width: 421px) {
  .xxxs_visible {
    display: none;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mb0 {
  margin-bottom: 0 !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}
/*# sourceMappingURL=style.css.map */