@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;
  font-size: 1.4rem;
  line-height: 2;
  background-color: #F3F5F5;
}
@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;
}

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

.wrap {
  min-height: 800px;
}

.container {
  width: 100%;
  max-width: 145.5rem;
  margin: auto;
}
.container.w-100 {
  max-width: 100%;
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
  --bs-gutter-x: 6rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .container,
  .container-fluid,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    --bs-gutter-x: 6rem;
  }
}
@media screen and (min-width: 992px) {
  .container,
  .container-fluid,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    --bs-gutter-x: 12rem;
  }
}

/*2カラム*/
@media screen and (min-width: 768px) {
  .separate {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.separate__main {
  width: 100%;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .separate__main {
    width: calc(100% - 239px);
    margin-bottom: 0;
  }
}

.separate__sub {
  max-width: none;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .separate__sub {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .separate__sub {
    width: 100%;
    margin: 0 0 50px 18px;
    max-width: 239px;
  }
}
@media screen and (min-width: 992px) {
  .separate__sub {
    margin: 0 0 50px 54px;
  }
}

/*404*/
.sectionError {
  padding: 50px 0 10px;
}
@media screen and (min-width: 768px) {
  .sectionError {
    padding: 90px 50px;
  }
}

.not_found {
  text-align: center;
  margin: 0 0 30px;
  font-family: "Syne", "游ゴシック体", 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.2;
  color: #cfd6d6;
}
.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;
  }
}

.bgGray {
  background-color: #f8f8f8;
}

.msg {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.5;
  margin-top: 40px;
  text-align: center;
}

.box-inner {
  max-width: 700px;
  margin: 250px auto;
  padding: 0 40px;
}

.box {
  width: 200px;
  height: 200px;
  background-color: orange;
  margin: 50px auto 0;
}

.fadein {
  opacity: 0;
  -webkit-transition-duration: 1000ms;
          transition-duration: 1000ms;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
}

.fadein-up {
  -webkit-transform: translate(0, 60px);
          transform: translate(0, 60px);
}

.fadein-down {
  -webkit-transform: translate(0, -60px);
          transform: translate(0, -60px);
}

.fadein-left {
  -webkit-transform: translate(-60px, 0);
          transform: translate(-60px, 0);
}

.fadein-right {
  -webkit-transform: translate(60px, 0);
          transform: translate(60px, 0);
}

.scroll-in {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.delay300 {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.delay600 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.delay900 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.delay1200 {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.delay1500 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.delay1800 {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

.delay2100 {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

.delay2400 {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.delay2700 {
  -webkit-transition-delay: 2.7s;
          transition-delay: 2.7s;
}

.delay3000 {
  -webkit-transition-delay: 3s;
          transition-delay: 3s;
}

.delay4000 {
  -webkit-transition-delay: 4s;
          transition-delay: 4s;
}

.delay5000 {
  -webkit-transition-delay: 5s;
          transition-delay: 5s;
}

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

  ■ローディング

=====================================*/
#loading {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  background-color: #fff;
  text-align: center;
  color: #fff;
}
#loading .loadingInner {
  position: absolute;
  top: 40%;
  left: 0;
  transform: translate(0%, -50%);
  -webkit-transform: translate(0%, -50%);
  -ms-transform: translate(0%, -50%);
  -moz-transform: translate(0%, -50%);
  width: 100%;
  padding: 0 1.5rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  #loading .loadingInner {
    top: 50%;
  }
}
#loading .loadingInner .loadingLogo {
  display: block;
  text-align: center;
  margin: 0 auto 5rem;
  width: 50%;
}
@media screen and (min-width: 768px) {
  #loading .loadingInner .loadingLogo {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 8rem;
  }
}
#loading .loadingInner .loadingLogo img {
  width: 100%;
  max-width: 30rem;
}
@media screen and (min-width: 768px) {
  #loading .loadingInner .loadingLogo img {
    max-width: 35rem;
  }
}

/*============================================
大見出し
============================================*/
/*パターン1*/
.largeHeadline01 {
  position: relative;
  margin: 0 0 3rem;
  line-height: 1.4;
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .largeHeadline01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 0 4.4rem;
    text-align: left;
  }
}
.largeHeadline01 .main_text {
  display: block;
  font-weight: 600;
  line-height: 1.4;
  font-family: "Montserrat", "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;
  font-size: 3.5rem;
}
@media screen and (min-width: 768px) {
  .largeHeadline01 .main_text {
    font-size: 6rem;
    line-height: 1;
    white-space: nowrap;
  }
}
@media screen and (min-width: 1200px) {
  .largeHeadline01 .main_text {
    font-size: 9rem;
  }
}
@media screen and (min-width: 1700px) {
  .largeHeadline01 .main_text {
    font-size: 11.8rem;
  }
}
.largeHeadline01 .el_border {
  background-color: #445AC4;
  height: 0.1rem;
  width: 100%;
  display: none;
}
@media screen and (min-width: 768px) {
  .largeHeadline01 .el_border {
    display: block;
    margin: 0 1rem 1.1rem;
  }
}
.largeHeadline01 .sub_text {
  display: block;
  font-weight: bold;
  font-size: 1.7rem;
}
@media screen and (min-width: 768px) {
  .largeHeadline01 .sub_text {
    white-space: nowrap;
  }
}

/*パターン2*/
.largeHeadline02 {
  margin: 0 0 3rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .largeHeadline02 {
    margin: 0 0 3rem;
    text-align: left;
  }
}
@media screen and (min-width: 992px) {
  .largeHeadline02 {
    margin: 0 0 4rem;
  }
}
.largeHeadline02 .sub_text {
  display: inline-block;
  color: #06054E;
  padding: 0 0 0 4rem;
  position: relative;
  background-image: url(./images/deco_headline_shikaku.svg);
  background-repeat: no-repeat;
  background-size: auto auto;
  background-position: center left;
  font-size: 1.3rem;
}
@media screen and (min-width: 768px) {
  .largeHeadline02 .sub_text {
    font-size: 1.6rem;
  }
}
.largeHeadline02 .main_text {
  display: block;
  font-weight: 600;
  line-height: 1.4;
  color: #201F88;
  font-family: "Montserrat", "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;
  font-size: 4rem;
}
@media screen and (min-width: 768px) {
  .largeHeadline02 .main_text {
    font-size: 6rem;
    white-space: nowrap;
  }
}
@media screen and (min-width: 1200px) {
  .largeHeadline02 .main_text {
    font-size: 9rem;
  }
}
@media screen and (min-width: 1700px) {
  .largeHeadline02 .main_text {
    font-size: 11.8rem;
  }
}

h3.largeHeadline02 .sub_text {
  margin-bottom: 1.5rem;
}
h3.largeHeadline02 .main_text {
  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;
  font-size: 2.6rem;
}
@media screen and (min-width: 768px) {
  h3.largeHeadline02 .main_text {
    font-size: 3rem;
    font-weight: bold;
    white-space: wrap;
  }
}
@media screen and (min-width: 1200px) {
  h3.largeHeadline02 .main_text {
    font-size: 3.6rem;
  }
}
h3.largeHeadline02.--ver02 .sub_text {
  padding: 0 0 0 4rem;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  h3.largeHeadline02.--ver02 .main_text {
    font-size: 5rem;
  }
}
@media screen and (min-width: 992px) {
  h3.largeHeadline02.--ver02 .main_text {
    font-size: 6rem;
  }
}

/*パターン3*/
.largeHeadline03 {
  margin: 0 0 3rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .largeHeadline03 {
    margin: 0 0 7rem;
  }
}
.largeHeadline03 .main_text {
  display: block;
  font-weight: 600;
  line-height: 1;
  color: #201F88;
  font-family: "Montserrat", "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;
  font-size: 3rem;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .largeHeadline03 .main_text {
    font-size: 8rem;
  }
}
.largeHeadline03 .sub_text {
  display: block;
  color: #333333;
  padding: 0;
  font-size: 1.3rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .largeHeadline03 .sub_text {
    font-size: 1.7rem;
  }
}
.largeHeadline03.--white .main_text {
  color: #fff;
}
.largeHeadline03.--white .sub_text {
  color: #fff;
}

/*パターン4*/
.largeHeadline04 {
  font-weight: bold;
  line-height: 1.5;
  padding: 0 0 1.5rem;
  margin: 0 0 3rem;
  border-bottom: 0.2rem solid #201F88;
}
.largeHeadline04 .main_text {
  display: block;
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .largeHeadline04 .main_text {
    font-size: 3rem;
  }
}

/*============================================
中見出し1
============================================*/
/*パターン1*/
.mediumHeadline01 {
  font-weight: bold;
  line-height: 1.5;
  margin: 0 0 3rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .mediumHeadline01 {
    text-align: left;
  }
}
.mediumHeadline01 .main_text {
  display: block;
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .mediumHeadline01 .main_text {
    font-size: 3rem;
  }
}
@media screen and (min-width: 1400px) {
  .mediumHeadline01 .main_text {
    font-size: 4.7rem;
  }
}
.mediumHeadline01.text-start {
  text-align: left;
}

/*パターン2*/
.mediumHeadline02 {
  margin: 0 0 2rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .mediumHeadline02 {
    text-align: left;
    margin: 0 0 3rem;
  }
}
.mediumHeadline02 .sub_text {
  display: block;
  font-weight: bold;
  line-height: 1.4;
  color: #0881CF;
  font-size: 1.5rem;
  font-family: "Montserrat", "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;
  font-weight: 500;
  margin: 0 0 0.5rem;
}
@media screen and (min-width: 768px) {
  .mediumHeadline02 .sub_text {
    font-size: 1.7rem;
  }
}
.mediumHeadline02 .main_text {
  display: block;
  font-weight: bold;
  line-height: 1.4;
  color: #06054E;
  font-size: 2.2rem;
}
@media screen and (min-width: 768px) {
  .mediumHeadline02 .main_text {
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 1200px) {
  .mediumHeadline02 .main_text {
    font-size: 3.2rem;
  }
}

/*パターン3*/
.mediumHeadline03 {
  font-weight: bold;
  line-height: 1.5;
  margin: 0 0 0.5rem;
}
.mediumHeadline03 .main_text {
  display: block;
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .mediumHeadline03 .main_text {
    font-size: 2.1rem;
  }
}

/*============================================
小見出し
============================================*/
/*パターン1*/
.smallHeadline01 {
  font-weight: bold;
  line-height: 1.5;
  margin: 0 0 2rem;
  color: #0681CF;
}
.smallHeadline01 .main_text {
  display: inline-block;
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  .smallHeadline01 .main_text {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 1200px) {
  .smallHeadline01 .main_text {
    font-size: 2.6rem;
  }
}

/*パターン2*/
.smallHeadline02 {
  font-weight: bold;
  line-height: 1.5;
  padding: 0 0 0.5rem;
  margin: 0 0 1rem;
  border-bottom: 1px solid #cfd6d6;
}
.smallHeadline02 .main_text {
  display: block;
  font-size: 1.6rem;
}

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

  ■本文

=====================================*/
.text {
  margin: 0 0 3rem;
}

.textLink {
  text-decoration: underline;
  color: inherit;
}
.textLink:hover {
  color: inherit;
  text-decoration: none;
}

.c_red {
  color: #C61400 !important;
}

.c_main {
  color: #201F88 !important;
}

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

  ■共通リスト

=====================================*/
.list01 {
  padding: 3rem 2rem 2rem;
  margin: 0 auto 3rem;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .list01 {
    padding: 4rem 4rem 3rem;
  }
}
.list01 li {
  position: relative;
  list-style: none;
  padding: 0 0 0.5rem 2rem;
  margin: 0 0 1rem;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .list01 li {
    display: inline-block;
    font-size: 1.8rem;
    margin: 0 3rem 1rem 0;
  }
}
@media screen and (min-width: 1200px) {
  .list01 li {
    margin: 0 6rem 1rem 0;
  }
}
.list01 li::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.5rem;
  left: 0;
  width: 1rem;
  height: 1rem;
  background-color: #201F88;
}
@media screen and (min-width: 768px) {
  .list01 li::before {
    top: 0.8rem;
  }
}

.list02 {
  padding: 0;
  margin: 0 auto 3rem;
}
.list02 li {
  position: relative;
  list-style: none;
  padding: 0 0 0 3.5rem;
  margin: 0 0 1.5rem;
}
.list02 li .el_num {
  display: inline-block;
  position: absolute;
  top: 0.7rem;
  left: 0;
  font-family: "Poppins", sans-serif;
  line-height: 1;
  font-weight: bold;
  font-size: 1.9rem;
}

.list03 {
  padding: 0;
  margin: 0 auto 3rem;
}
.list03 li {
  position: relative;
  list-style: none;
  padding: 0 0 0 1.5rem;
  margin: 0 0 1.5rem;
}
.list03 li::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 1rem;
  left: 0;
  line-height: 1;
  background-color: #a4acb8;
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
}

.list04 {
  padding: 0;
  margin: 0 auto 3rem;
}
@media screen and (min-width: 768px) {
  .list04 {
    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;
  }
}
.list04 li {
  position: relative;
  list-style: none;
  padding: 0 0 1rem 3.5rem;
  margin: 0 0 1.5rem;
  width: 100%;
  border-bottom: 1px solid #cfd6d6;
}
@media screen and (min-width: 768px) {
  .list04 li {
    max-width: calc(50% - 3rem);
    margin: 0 1.5rem 1.5rem;
    font-size: 1.8rem;
  }
}
.list04 li .el_num {
  display: inline-block;
  position: absolute;
  top: 0.7rem;
  left: 0;
  font-family: "Poppins", sans-serif;
  line-height: 1;
  font-weight: bold;
  font-size: 1.9rem;
}
@media screen and (min-width: 768px) {
  .list04 li .el_num {
    font-size: 2.3rem;
  }
}

.ListWrap {
  padding: 3rem 2rem 2rem;
  margin: 0 0 3rem;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .ListWrap {
    padding: 4rem 6rem 3rem;
  }
}

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

  ■共通リスト02

=====================================*/
dl.text {
  padding: 0;
}
dl.text dt {
  margin: 0 0 0.5rem;
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  dl.text dt {
    font-size: 2rem;
  }
}
dl.text dd {
  margin: 0 0 3rem;
}
dl.text dd ul {
  padding: 0;
  margin: 2rem 0 0;
}
dl.text dd ul li {
  list-style: none;
  padding: 0 0 0 2rem;
  font-size: 1.4rem;
}

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

.img {
  text-align: center;
  margin: 0 0 3rem;
  line-height: 1;
}

.mapFrame {
  position: relative;
  overflow: hidden;
  padding-top: 56.25%;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .mapFrame {
    padding-top: 100%;
  }
}
.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%;
}

.btn01 {
  display: inline-block;
  width: 100%;
  max-width: 44rem;
  text-align: center;
  background-color: #201F88;
  color: #fff;
  position: relative;
  z-index: 1;
  font-size: 1.6rem;
  font-weight: bold;
  text-decoration: none;
  padding: 1.5rem 1rem;
  margin: 0 auto 3rem;
  border: none;
  border-radius: 10rem;
}
@media screen and (min-width: 768px) {
  .btn01 {
    max-width: 37.6rem;
    padding: 2.1rem 1rem;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .btn01:hover {
    opacity: 0.5;
  }
}
.btn01 .el_icon {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  background-image: url(./images/icon_links01_white.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  width: 2.5rem;
  height: 2.5rem;
}
.btn01 .el_icon span {
  display: inline-block;
}

/*============================================
汎用テーブル1
============================================*/
.table01 {
  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 #cfd6d6;
  font-weight: bold;
  padding: 2.5rem 1.5rem 2.5rem 0;
  font-size: 1.6rem;
  vertical-align: top;
  width: 20%;
  color: #06054E;
}
@media screen and (max-width: 767px) {
  .table01 > tbody > tr > th {
    background-color: #fff;
    display: block;
    width: 100%;
    padding: 0;
    font-size: 1.6rem;
    border-bottom: none;
  }
}
.table01 > tbody > tr > td {
  font-weight: normal;
  border-bottom: 1px solid #cfd6d6;
  padding: 2.5rem 0 2.5rem 1.5rem;
  letter-spacing: 1px;
  width: 80%;
}
@media screen and (max-width: 767px) {
  .table01 > tbody > tr > td {
    display: block;
    width: 100%;
    padding: 0 0 2rem;
    word-break: break-all;
    font-size: 1.4rem;
    border-bottom: none;
  }
}
.table01 > tbody > tr > td .tableMark {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 48rem;
  background-color: #F9F9F9;
  border-radius: 1em;
  padding: 1.5rem;
  margin: 1.2rem 0 0;
}
.table01 > tbody > tr > td .tableMark .tableMarkImg {
  width: 100%;
  max-width: 4rem;
  text-align: center;
  margin: 0 2rem 0 0;
}
@media screen and (min-width: 768px) {
  .table01 > tbody > tr > td .tableMark .tableMarkImg {
    max-width: 8.9rem;
  }
}
.table01 > tbody > tr > td .tableMark .tableMarkImg img {
  display: inline-block;
}
.table01 > tbody > tr > td .tableMark .tableMarkText {
  font-size: 1.3rem;
}
@media screen and (min-width: 768px) {
  .table01 > tbody > tr > td .tableMark .tableMarkText {
    font-size: 1.6rem;
  }
}
.table01 > tbody > tr > td table {
  width: 100%;
  max-width: 60.7rem;
}
@media screen and (max-width: 767px) {
  .table01 > tbody > tr > td table {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .table01 > tbody > tr > td table tbody {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .table01 > tbody > tr > td table tbody tr {
    display: block;
  }
}
.table01 > tbody > tr > td table tbody tr th {
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .table01 > tbody > tr > td table tbody tr th {
    display: block;
    width: 100%;
    font-weight: bold;
    line-height: 1.4;
  }
}
.table01 > tbody > tr > td table tbody tr td {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .table01 > tbody > tr > td table tbody tr td {
    display: block;
    width: 100%;
    margin-bottom: 2rem;
    text-align: left;
  }
}
.table01 > tbody > tr:last-child > th,
.table01 > tbody > tr:last-child > td {
  border-bottom: none;
}

/*====================================
スクロールヒント
=====================================*/
.scroll-hint {
  margin: 0 auto 3rem;
}

.js-scrollable table {
  min-width: 90rem;
}

.js-scrollable,
.js-scrollable-shadow {
  margin: 0;
}
.js-scrollable table,
.js-scrollable-shadow table {
  margin-bottom: 0 !important;
}
.js-scrollable-shadow table {
  background-color: transparent;
}

.scroll-hint.is-right-scrollable {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint-icon-wrap.is-active {
  background-color: rgba(0, 0, 0, 0.3);
}

.scroll-hint-icon {
  top: calc(50% - 45px);
}

.bgGrade {
  background-image: url(./images/bg_grad.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
}
@media screen and (min-width: 768px) {
  .bgGrade {
    background-size: 100% auto;
  }
}
@media screen and (min-width: 1921px) {
  .bgGrade {
    background-size: cover;
  }
}

.bgGrade02 {
  background-image: url(./images/bg_grad02.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
}

/*============================================
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: #cfd6d6;
  background: none;
  color: #06054E;
  display: inline-block;
  text-align: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
  min-width: 4.1rem;
  min-height: 4.1rem;
}
.wp-pagenavi a:hover,
.wp-pagenavi span:hover {
  opacity: 1;
  border-color: #cfd6d6 !important;
  background-color: #cfd6d6 !important;
  color: #06054E;
}
.wp-pagenavi a.nextpostslink,
.wp-pagenavi span.nextpostslink {
  background-color: #cfd6d6;
  border-color: #cfd6d6;
}
.wp-pagenavi span.current {
  font-weight: normal;
  background-color: #cfd6d6;
  color: #06054E;
  border-color: #cfd6d6 !important;
}
.wp-pagenavi span.extend {
  background: none !important;
  border: none !important;
  color: #06054E;
}
.wp-pagenavi span.pages {
  font-weight: normal;
  color: #06054E;
  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: 5px 13px;
  color: #06054E;
  font-size: 14px;
  background: #cfd6d6;
  border-radius: 0;
  text-decoration: none;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .paginate__wrap a {
    min-width: 38px;
  }
}
.paginate__wrap a:hover {
  background: #06054E;
  color: #fff;
}
.paginate__wrap .paginate__block--next {
  min-width: 80px;
}
@media screen and (min-width: 768px) {
  .paginate__wrap .paginate__block--next {
    min-width: 15rem;
  }
}
.paginate__wrap .paginate__block--next i {
  display: inline-block;
  margin: 0 10px 0 0;
}
@media screen and (max-width: 767px) {
  .paginate__wrap .paginate__block--next i {
    margin: 0;
  }
}
.paginate__wrap .paginate__block--prev {
  min-width: 80px;
}
@media screen and (min-width: 768px) {
  .paginate__wrap .paginate__block--prev {
    min-width: 15rem;
  }
}
.paginate__wrap .paginate__block--prev i {
  display: inline-block;
  margin: 0 0 0 10px;
}
@media screen and (max-width: 767px) {
  .paginate__wrap .paginate__block--prev i {
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  .paginate__wrap .paginate__block--back {
    min-width: 15rem;
  }
}

/*============================================
検索ページネーション
============================================*/
.pageNaviCtr {
  width: 100%;
  text-align: center;
}

.pageNaviRht {
  text-align: right;
  margin: 0 auto;
}

.page_navi {
  clear: both;
}
.page_navi li {
  display: inline-block !important;
  letter-spacing: normal;
  background: transparent;
  margin: 0 0.5rem 0 0;
}
@media screen and (min-width: 768px) {
  .page_navi li {
    margin: 0 1rem 0 0;
  }
}
.page_navi li a,
.page_navi li span {
  border: solid 1px #cfd6d6;
  background: transparent;
  width: 100%;
  font-size: 1.5rem;
  color: #06054E;
  display: block;
  padding: 0.2rem 1rem;
  min-width: 3.6rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 0.5rem;
  text-align: center;
}
.page_navi li.current span {
  background: #09977F;
  border: solid 1px #09977F;
  color: #fff;
}
.page_navi li:hover a {
  background: #09977F;
  border: solid 1px #09977F;
  color: #fff;
}
.page_navi li:last-child {
  margin-right: 0;
}

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

  ■ヘッダー

=====================================*/
/*ヘッダー固定の高さ調整*/
#pagetop {
  height: 5.5rem;
}
@media screen and (min-width: 768px) {
  #pagetop {
    height: 8.4rem;
  }
}
@media screen and (min-width: 1200px) {
  #pagetop {
    height: 11rem;
  }
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20;
  background-color: #F3F5F5;
}
@media screen and (min-width: 768px) {
  .header {
    background: none;
  }
}
@media screen and (min-width: 768px) {
  .header::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 8.4rem;
    background-color: #F3F5F5;
  }
}
@media screen and (min-width: 1200px) {
  .header::before {
    height: 11rem;
  }
}

.headerInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
  z-index: 5;
  /*ロゴ*/
  /*グローバルメニューの親*/
  /*お問い合わせ*/
}
@media screen and (min-width: 768px) {
  .headerInner {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.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: 25rem;
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .headerInner .headerLogo {
    max-width: 15rem;
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media screen and (min-width: 1200px) {
  .headerInner .headerLogo {
    max-width: 20rem;
  }
}
.headerInner .headerLogo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .headerInner .headerLogo a {
    display: inline-block;
  }
}
.headerInner .headerLogo a img {
  display: inline-block;
  width: 100%;
  max-width: 5.5rem;
  margin: 0 1rem 0 0;
}
@media screen and (min-width: 768px) {
  .headerInner .headerLogo a img {
    max-width: 100%;
    margin: 0;
  }
}
.headerInner .headerLogo a p {
  margin: 0;
  font-weight: bold;
  color: #0C0C27;
  text-wrap: nowrap;
  font-size: 1.7rem;
}
@media screen and (min-width: 768px) {
  .headerInner .headerLogo a p {
    display: none;
  }
}
.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-top: 2.8rem;
    margin-right: 2rem;
    margin-left: auto;
    width: 100%;
  }
}
@media screen and (min-width: 992px) {
  .headerInner .headerMenu {
    max-width: 800px;
  }
}
@media screen and (min-width: 1200px) {
  .headerInner .headerMenu {
    margin-top: 4.1rem;
  }
}
@media screen and (min-width: 1400px) {
  .headerInner .headerMenu {
    margin-top: 3.6rem;
  }
}
.headerInner .headerBtn {
  display: none;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  width: 100%;
  max-width: 41.2rem;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .headerInner .headerBtn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 2rem 4.4rem 0 0;
    max-width: 26rem;
  }
}
@media screen and (min-width: 1200px) {
  .headerInner .headerBtn {
    margin-top: 3.5rem;
    max-width: 41rem;
  }
}
.headerInner .headerBtn .hederbtn01,
.headerInner .headerBtn .hederbtn02 {
  width: 100%;
  max-width: 18.6rem;
  margin: 0 0 0 1rem;
}
@media screen and (min-width: 1200px) {
  .headerInner .headerBtn .hederbtn01,
  .headerInner .headerBtn .hederbtn02 {
    margin: 0 0 0 2rem;
  }
}
.headerInner .headerBtn .hederbtn01 a,
.headerInner .headerBtn .hederbtn02 a {
  width: 100%;
  display: inline-block;
  text-align: center;
  z-index: 1;
  margin: 0;
  padding: 0;
  color: #fff;
  border-radius: 3rem;
}
@media screen and (min-width: 768px) {
  .headerInner .headerBtn .hederbtn01 a,
  .headerInner .headerBtn .hederbtn02 a {
    padding: 0.4rem 0 0.6rem;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .headerInner .headerBtn .hederbtn01 a:hover,
  .headerInner .headerBtn .hederbtn02 a:hover {
    opacity: 0.5;
  }
}
.headerInner .headerBtn .hederbtn01 a {
  background-color: #0881CF;
}
.headerInner .headerBtn .hederbtn02 a {
  background-color: #201F88;
}

#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: 5.5rem;
  width: 5.5rem;
  padding: 1.3rem 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: #06054E;
  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 0 1rem;
  }
}
@media screen and (min-width: 1200px) {
  #headerNavbar .container-fluid .navbar-collapse > .navbar-nav > .menu-item {
    margin: 0 0 0 2.5rem;
  }
}
@media screen and (min-width: 1400px) {
  #headerNavbar .container-fluid .navbar-collapse > .navbar-nav > .menu-item {
    margin: 0 0 0 5.5rem;
  }
}
#headerNavbar .container-fluid .navbar-collapse > .navbar-nav > .menu-item > a {
  display: block;
  color: #0C0C27;
  padding: 1.5rem 1.5rem;
  font-size: 1.1rem;
  font-weight: 500;
  border-bottom: 1px solid #cfd6d6;
}
@media screen and (min-width: 768px) {
  #headerNavbar .container-fluid .navbar-collapse > .navbar-nav > .menu-item > a {
    font-size: 1.2rem;
    border-bottom: none;
    padding: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  #headerNavbar .container-fluid .navbar-collapse > .navbar-nav > .menu-item > a:hover {
    text-decoration: none;
    opacity: 0.7;
  }
}
@media screen and (min-width: 1400px) {
  #headerNavbar .container-fluid .navbar-collapse > .navbar-nav > .menu-item > a {
    font-size: 1.6rem;
  }
}
#headerNavbar .container-fluid .navbar-collapse > .navbar-nav > .menu-item:last-child > a {
  border-bottom: none;
}

header .dropdown-menu {
  padding: 0;
  margin: 0;
  border-radius: 0;
  background-color: #06054E;
  border: none;
}
header .dropdown-menu .menu-item {
  width: 100%;
  padding: 0;
  margin: 0;
}
header .dropdown-menu .menu-item .dropdown-item {
  display: block;
  padding: 1rem 1rem 1rem 3rem;
  margin: 0;
  font-size: 1.2rem;
  color: #cfd6d6;
}
@media screen and (min-width: 768px) {
  header .dropdown-menu .menu-item .dropdown-item {
    color: #fff;
    padding: 0.8rem 1rem;
    border-bottom: 1px solid #201F88;
    font-size: 1.4rem;
  }
}
header .dropdown-menu .menu-item .dropdown-item.active, header .dropdown-menu .menu-item .dropdown-item:hover {
  background-color: #201F88;
  color: #fff;
}

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

  ■SP用ページ下部リンク

=====================================*/
.navbar-header {
  display: block;
}
@media screen and (max-width: 767px) {
  .navbar-header {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 100;
    background: #201F88;
    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 #06054E;
  }
}
.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;
}

.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border: none;
  background-image: url(./images/icon_crent.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
  width: 1.1rem;
  height: 1.1rem;
  vertical-align: inherit;
  position: relative;
  top: 1px;
}
@media screen and (min-width: 1400px) {
  .dropdown-toggle::after {
    width: 1.4rem;
    height: 1.4rem;
  }
}

/*ページトップ*/
#page-top {
  display: block;
  background: #eeeeee;
  text-align: center;
}
#page-top a {
  display: block;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
}

#footer {
  position: relative;
  background-color: #fff;
  padding: 5rem 0 0;
}
@media screen and (min-width: 992px) {
  #footer {
    padding: 8.6rem 0 0;
  }
}
#footer .container {
  max-width: 176.4rem;
}
@media screen and (min-width: 992px) {
  #footer .footerWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 6rem;
  }
}
#footer .footerWrap .footerWrap__cell01 {
  position: relative;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 992px) {
  #footer .footerWrap .footerWrap__cell01 {
    max-width: 28.4rem;
    margin: 0 10rem 0 0;
    padding: 0;
    text-align: left;
  }
}
@media screen and (min-width: 1700px) {
  #footer .footerWrap .footerWrap__cell01 {
    margin: 0 5rem 0 0;
  }
}
@media screen and (min-width: 992px) {
  #footer .footerWrap .footerWrap__cell01::before {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background-color: #e3e3e3;
    position: absolute;
    top: 0;
    right: -2rem;
  }
}
@media screen and (min-width: 1200px) {
  #footer .footerWrap .footerWrap__cell01::before {
    right: -2rem;
  }
}
@media screen and (min-width: 1700px) {
  #footer .footerWrap .footerWrap__cell01::before {
    right: -11rem;
  }
}
#footer .footerWrap .footerWrap__cell01 > a {
  display: block;
  margin: 0 0 1rem;
  font-weight: bold;
  color: #06054E;
  font-size: 1.8rem;
}
#footer .footerWrap .footerWrap__cell01 .text {
  font-size: 1.4rem;
  margin-bottom: 4rem;
  color: #06054E;
}
#footer .footerWrap .footerWrap__cell01 .footerList {
  padding: 0;
  margin: 0 0 3rem;
  border-top: 1px solid #cfd6d6;
}
@media screen and (min-width: 992px) {
  #footer .footerWrap .footerWrap__cell01 .footerList {
    max-width: 35.8rem;
  }
}
#footer .footerWrap .footerWrap__cell01 .footerList li {
  padding: 0;
  margin: 0;
  list-style: none;
  border-bottom: 1px solid #cfd6d6;
}
#footer .footerWrap .footerWrap__cell01 .footerList li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2rem 0;
}
@media screen and (min-width: 768px) {
  #footer .footerWrap .footerWrap__cell01 .footerList li a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  #footer .footerWrap .footerWrap__cell01 .footerList li a:hover {
    opacity: 0.5;
  }
}
#footer .footerWrap .footerWrap__cell01 .footerList li a .el_img {
  margin: 0 2rem 0 0;
}
#footer .footerWrap .footerWrap__cell01 .footerList li a .el_text {
  font-size: 1.6rem;
  font-weight: bold;
}
#footer .footerWrap .footerWrap__cell02 {
  width: 100%;
  max-width: 81rem;
}
@media screen and (min-width: 768px) {
  #footer .footerWrap .footerWrap__cell02 {
    margin: 0 auto;
    max-width: 62rem;
  }
}
@media screen and (min-width: 992px) {
  #footer .footerWrap .footerWrap__cell02 {
    max-width: 81rem;
    margin: 0 0 0 auto;
  }
}
#footer .footerWrap .footerWrap__cell03 {
  display: none;
}
@media screen and (min-width: 992px) {
  #footer .footerWrap .footerWrap__cell03 {
    display: block;
  }
}
#footer .footerWrap .footerWrap__cell03 .img img {
  max-width: 30%;
}
@media screen and (min-width: 992px) {
  #footer .footerWrap .footerWrap__cell03 .img img {
    max-width: 100%;
  }
}

/*フッターメニュー*/
.footerMenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 992px) {
  .footerMenu {
    margin: 0 0 0 -1.5rem;
    width: calc(100% + 3rem);
  }
}
.footerMenu .footerMenuItem {
  width: calc(100% - 3rem);
  margin: 0 1.5rem;
}
@media screen and (min-width: 1400px) {
  .footerMenu .footerMenuItem {
    width: calc(25% - 3rem);
  }
}
@media screen and (min-width: 768px) {
  .footerMenu .footerMenuItem a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .footerMenu .footerMenuItem a:hover {
    opacity: 0.5;
  }
}
.footerMenu .footerMenuItem.--01 {
  max-width: 10rem;
}
@media screen and (max-width: 1399px) {
  .footerMenu .footerMenuItem.--01 {
    max-width: calc(50% - 3rem);
  }
}
@media screen and (max-width: 767px) {
  .footerMenu .footerMenuItem.--01 {
    max-width: calc(100% - 3rem);
  }
}
.footerMenu .footerMenuItem.--02 {
  max-width: 10rem;
}
@media screen and (max-width: 1399px) {
  .footerMenu .footerMenuItem.--02 {
    max-width: calc(30% - 3rem);
  }
}
@media screen and (max-width: 767px) {
  .footerMenu .footerMenuItem.--02 {
    max-width: calc(100% - 3rem);
  }
}
.footerMenu .footerMenuItem.--03 {
  max-width: 15rem;
  min-width: 28rem;
}
@media screen and (max-width: 1399px) {
  .footerMenu .footerMenuItem.--03 {
    max-width: calc(50% - 3rem);
  }
}
@media screen and (max-width: 767px) {
  .footerMenu .footerMenuItem.--03 {
    max-width: calc(100% - 3rem);
  }
}
@media screen and (min-width: 768px) {
  .footerMenu .footerMenuItem.--03 {
    position: relative;
    margin-top: -10rem;
  }
}
@media screen and (min-width: 1400px) {
  .footerMenu .footerMenuItem.--03 {
    position: static;
    margin-top: 0;
  }
}
.footerMenu .footerMenuItem.--04 {
  max-width: 10rem;
}
@media screen and (max-width: 1399px) {
  .footerMenu .footerMenuItem.--04 {
    max-width: calc(30% - 3rem);
  }
}
@media screen and (max-width: 767px) {
  .footerMenu .footerMenuItem.--04 {
    max-width: calc(100% - 3rem);
  }
}
.footerMenu .menu_first {
  padding: 0;
  margin: 0;
}
@media screen and (min-width: 1400px) {
  .footerMenu .menu_first {
    min-height: 16rem;
  }
}
.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-family: "Montserrat", "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;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.4;
  margin: 0 0 1.5rem;
  color: #06054E;
}
@media screen and (min-width: 768px) {
  .footerMenu .menu_first > li .inactive {
    font-size: 2rem;
  }
}
.footerMenu .menu_first > li .inactive::before {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  background-color: #06054E;
  border-radius: 1rem;
  position: absolute;
  top: 50%;
  left: -1.5rem;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}
.footerMenu .menu_first > li .inactive .el_text {
  display: inline-block;
}
.footerMenu .menu_second {
  padding: 0;
  margin: 0 0 1rem;
}
@media screen and (min-width: 768px) {
  .footerMenu .menu_second {
    margin: 0 0 3rem;
  }
}
.footerMenu .menu_second > li {
  padding: 0;
  margin: 0 0 0.5rem;
  list-style: none;
  line-height: 1.4;
}
.footerMenu .menu_second > li > a {
  display: inline-block;
  color: #7c7b94;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.4;
  margin: 0 0 0.5rem;
}
@media screen and (min-width: 768px) {
  .footerMenu .menu_second > li > a {
    font-size: 1.5rem;
  }
}
.footerMenu .menu_second.--mt {
  margin-top: 5rem;
  padding-top: 2rem;
  border-top: 1px solid #cfd6d6;
}
.footerMenu .menu_third {
  padding: 0.5rem 0 0 2rem;
  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: #06054E;
  font-size: 1.1rem;
  line-height: 1.4;
  margin: 0 0 1.3rem;
}
@media screen and (min-width: 768px) {
  .footerMenu .menu_third > li > a {
    font-size: 1.4rem;
  }
}

/*コピーライト*/
.copyright {
  text-align: center;
  padding: 0 0 4.2rem;
  font-size: 1.2rem;
  color: #b4b4b4;
}

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

  ■フローティングバナー

=====================================*/
.floatBnr {
  position: fixed;
  bottom: 45px;
  right: 15px;
  z-index: 15;
  max-width: 185px;
  display: none;
}
@media screen and (min-width: 768px) {
  .floatBnr {
    max-width: 287px;
    bottom: 15px;
  }
}
.floatBnr .floatBnrInner {
  position: relative;
  padding: 4px;
  background: #fff;
  border-radius: 5px;
}
.floatBnr .floatBnrInner .floatBnrClose {
  position: absolute;
  top: -10px;
  right: -10px;
  width: 30px;
  height: 30px;
  border-radius: 100%;
  background: #fff;
  z-index: 10;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  cursor: pointer;
}
.floatBnr .floatBnrInner .floatBnrClose:hover {
  opacity: 0.7;
}
.floatBnr .floatBnrInner .floatBnrClose span {
  display: inline-block;
  background: #201F88;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.floatBnr .floatBnrInner .floatBnrClose span:nth-child(n) {
  width: calc(100% - 10px);
  height: 2px;
}
.floatBnr .floatBnrInner .floatBnrClose span:nth-child(even) {
  height: calc(100% - 10px);
  width: 2px;
}
.floatBnr .floatBnrInner a {
  display: inline-block;
}
.floatBnr .floatBnrInner a img {
  display: inline-block;
}

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

  ■neck

=====================================*/
.neck {
  position: relative;
  padding: 0;
  margin: 0 0 3rem;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .neck {
    margin: 0 0 7rem;
  }
}
.neck .neckWrap {
  position: relative;
  z-index: 2;
  padding: 0;
  bottom: 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .neck .neckWrap {
    padding-bottom: 110px;
  }
}
.neck .neckWrap .neckTitle {
  position: absolute;
  bottom: 1.5rem;
  left: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  width: 100%;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .neck .neckWrap .neckTitle {
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    bottom: 0;
    left: 6rem;
    z-index: 5;
    border-radius: 0 1.5rem 0 0;
    min-width: 66.2rem;
    padding: 3rem 3rem 0 0;
    background-color: #F3F5F5;
  }
}
.neck .neckWrap .neckTitle .main_text {
  font-family: "Montserrat", "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;
  font-weight: 600;
  font-size: 4rem;
  display: block;
  margin: 0 0 1rem;
  line-height: 1;
  color: #201F88;
}
@media screen and (min-width: 768px) {
  .neck .neckWrap .neckTitle .main_text {
    font-size: 9rem;
    margin: 0 2rem 0 0;
  }
}
.neck .neckWrap .neckTitle .sub_text {
  display: block;
  font-weight: bold;
  font-size: 1.5rem;
  color: #06054E;
}
@media screen and (min-width: 768px) {
  .neck .neckWrap .neckTitle .sub_text {
    letter-spacing: 2px;
    font-size: 2.2rem;
  }
}
.neck .neckWrap .neckBG {
  padding: 1.5rem 3rem 0;
}
@media screen and (min-width: 768px) {
  .neck .neckWrap .neckBG {
    padding: 0 6rem;
  }
}
.neck .neckWrap .neckBG .neckBGInner {
  overflow: hidden;
  position: relative;
  border-radius: 2.5rem;
  min-height: 22rem;
  background-position: center;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .neck .neckWrap .neckBG .neckBGInner {
    border-radius: 5rem;
    min-height: 62.9rem;
  }
}
.neck.--company .neckWrap .neckBG .neckBGInner {
  background-image: url(images/neck_company.jpg);
}
.neck.--history .neckWrap .neckBG .neckBGInner {
  background-image: url(images/neck_history.jpg);
}
.neck.--service .neckWrap .neckBG .neckBGInner {
  background-image: url(images/neck_servive.jpg);
}

video {
  max-width: 100%;
  height: auto;
}

#cboxLoadedContent {
  background: #000;
}

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

ループアニメ

=====================================*/
.commonLoop {
  overflow: hidden;
  width: 100%;
}
.commonLoop .loop-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: scrollLeft 30s linear infinite;
          animation: scrollLeft 30s linear infinite;
}
.commonLoop .loop-track img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  width: auto;
  max-width: none;
  height: 6.8rem;
}
@media screen and (min-width: 768px) {
  .commonLoop .loop-track img {
    height: 13.4rem;
  }
}
@media screen and (min-width: 768px) {
  .commonLoop.recruitLoop .loop-track img {
    height: 16.5rem;
  }
}
.commonLoop.companyLoop .loop-track img {
  margin-right: 7rem;
}
@media screen and (min-width: 768px) {
  .commonLoop.companyLoop .loop-track img {
    height: 16.5rem;
    margin-right: 14rem;
  }
}

@-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%);
  }
}
/*====================================

メインビジュアル

=====================================*/
.fv {
  position: relative;
  margin: 0 0 2.5rem;
}
@media screen and (min-width: 768px) {
  .fv {
    margin: 0 0 8rem;
  }
}
@media screen and (min-width: 1200px) {
  .fv {
    margin: 0 0 12rem;
  }
}
.fv .fvWrap {
  position: relative;
  z-index: 2;
  /*
  .slick-list {
  	background: none;
  }
  */
}
.fv .fvWrap .fvItem {
  position: relative;
  margin: 0;
  padding: 0;
}
.fv .fvWrap .fvItem .fvText {
  width: 100%;
  position: absolute;
  bottom: 3rem;
  left: 0;
  z-index: 5;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem .fvText {
    bottom: -3rem;
  }
}
.fv .fvWrap .fvItem .fvText .fvTextInner {
  width: 100%;
  max-width: 100%;
  padding: 0 1.5rem 0 0;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem .fvText .fvTextInner {
    padding: 0 6rem 0 0;
  }
}
.fv .fvWrap .fvItem .fvText .fvTextInner picture {
  display: block;
}
.fv .fvWrap .fvItem .fvText .fvTextInner source,
.fv .fvWrap .fvItem .fvText .fvTextInner img {
  display: inline-block;
  width: 100%;
  max-width: 75%;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem .fvText .fvTextInner source,
  .fv .fvWrap .fvItem .fvText .fvTextInner img {
    max-width: 65%;
  }
}
@media screen and (min-width: 1700px) {
  .fv .fvWrap .fvItem .fvText .fvTextInner source,
  .fv .fvWrap .fvItem .fvText .fvTextInner img {
    max-width: 142.3rem;
  }
}
.fv .fvWrap .fvItem .fvImg {
  position: relative;
  padding: 0 1.5rem;
  text-align: center;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem .fvImg {
    padding: 0 5.1rem 0 13.3rem;
  }
}
.fv .fvWrap .fvItem .fvImg .fvImgItem {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  padding-top: 100%;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem .fvImg .fvImgItem {
    border-radius: 3rem;
    padding-top: 56.25%;
  }
}
.fv .fvWrap .fvItem .fvImg .fvImgItem video {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  height: 100%;
  min-height: 100%;
  width: auto;
  max-width: none;
}
.fv .fvWrap .fvItem .fvScroll {
  display: none;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem .fvScroll {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 2.2rem;
    transform: translate(0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    -moz-transform: translate(0%, -50%);
  }
}
.fv .fvWrap .fvItem .fvScroll a {
  display: inline-block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.fv .fvWrap .fvItem .fvScroll a img {
  display: inline-block;
}
.fv .fvWrap .fvItem .fvScroll a:hover {
  opacity: 0.5;
}

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

株式会社ステップとは

=====================================*/
.whatSec {
  background-image: url(./images/bg_what.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 6rem 0 3rem;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .whatSec {
    padding: 14rem 0 11rem;
  }
}
@media screen and (min-width: 768px) {
  .whatSec .whatFlex {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.whatSec .whatFlex .whatFlex__left {
  margin: 0 0 3rem;
}
@media screen and (min-width: 768px) {
  .whatSec .whatFlex .whatFlex__left {
    max-width: 50%;
    padding: 3rem 0 0;
    margin: 0 2rem 0 0;
  }
}
@media screen and (min-width: 1200px) {
  .whatSec .whatFlex .whatFlex__left {
    padding-top: 6.2rem;
  }
}
.whatSec .whatFlex .whatFlex__left .text {
  color: #C7D3E9;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .whatSec .whatFlex .whatFlex__left .text {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 768px) {
  .whatSec .whatFlex .whatFlex__right {
    max-width: 50%;
  }
}
@media screen and (min-width: 1200px) {
  .whatSec .whatFlex .whatFlex__right {
    max-width: 76.4rem;
  }
}

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

株式会社ステップとは

=====================================*/
.featureSec {
  padding: 6rem 0 3rem;
}
@media screen and (min-width: 768px) {
  .featureSec {
    padding: 14rem 0 8rem;
  }
}
.featureSec .featureFlex {
  padding: 0 0 3rem;
}
@media screen and (min-width: 768px) {
  .featureSec .featureFlex {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 0 7.4rem;
  }
}
.featureSec .featureFlex .featureFlex__left {
  margin: 0 0 3rem;
}
@media screen and (min-width: 768px) {
  .featureSec .featureFlex .featureFlex__left {
    max-width: calc(50% - 3rem);
    padding: 0;
    margin: 0 2rem 0 0;
  }
}
@media screen and (min-width: 1200px) {
  .featureSec .featureFlex .featureFlex__left {
    max-width: 56.4rem;
  }
}
.featureSec .featureFlex .featureFlex__left .featureFlexCatch {
  color: #201F88;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .featureSec .featureFlex .featureFlex__left .featureFlexCatch {
    font-size: 1.8rem;
    text-align: left;
  }
}
@media screen and (min-width: 768px) {
  .featureSec .featureFlex .featureFlex__right {
    max-width: 50%;
  }
}
@media screen and (min-width: 1200px) {
  .featureSec .featureFlex .featureFlex__right {
    max-width: 76.4rem;
  }
}
.featureSec .featureFlex .featureFlex__right .featurePop {
  position: relative;
  display: none;
}
@media screen and (min-width: 768px) {
  .featureSec .featureFlex .featureFlex__right .featurePop {
    display: block;
  }
}
.featureSec .featureFlex .featureFlex__right .featurePop a {
  background: none;
  border: none;
  position: absolute;
  width: 11%;
  height: 13.7%;
  opacity: 1;
}
.featureSec .featureFlex .featureFlex__right .featurePop a img {
  display: inline-block;
  opacity: 1;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0%);
  -webkit-transform: translate(-50%, 0%);
  -ms-transform: translate(-50%, 0%);
  -moz-transform: translate(-50%, 0%);
  pointer-events: none;
  max-width: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  height: 100%;
  width: auto;
}
@media screen and (min-width: 768px) {
  .featureSec .featureFlex .featureFlex__right .featurePop a img {
    opacity: 0;
  }
}
@media screen and (min-width: 768px) {
  .featureSec .featureFlex .featureFlex__right .featurePop a:hover img {
    opacity: 1;
    pointer-events: all;
  }
}
.featureSec .featureFlex .featureFlex__right .featurePop a.step1 {
  top: 0%;
  left: 39%;
}
.featureSec .featureFlex .featureFlex__right .featurePop a.step1 img {
  left: 50%;
}
.featureSec .featureFlex .featureFlex__right .featurePop a.step2 {
  top: 36.7%;
  left: 89%;
}
.featureSec .featureFlex .featureFlex__right .featurePop a.step2 img {
  left: auto;
  right: 0;
  transform: translate(0%, 0%);
  -webkit-transform: translate(0%, 0%);
  -ms-transform: translate(0%, 0%);
  -moz-transform: translate(0%, 0%);
}
.featureSec .featureFlex .featureFlex__right .featurePop a.step3 {
  bottom: 0;
  left: 0%;
}
.featureSec .featureFlex .featureFlex__right .featurePop a.step3 img {
  left: 0;
  right: auto;
  transform: translate(0%, 0%);
  -webkit-transform: translate(0%, 0%);
  -ms-transform: translate(0%, 0%);
  -moz-transform: translate(0%, 0%);
}
.featureSec .featureFlex .featureFlex__right .featurePopSP {
  display: block;
}
@media screen and (min-width: 768px) {
  .featureSec .featureFlex .featureFlex__right .featurePopSP {
    display: none;
  }
}
.featureSec .featureFlex .featureFlex__right .featurePopSP .d-inline-block {
  max-width: 30rem;
}
.featureSec .featureFlex .featureFlex__right .featurePopSP .d-inline-block img {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .featureSec .featureFlex .featureFlex__right .featurePopSP .d-inline-block img {
    max-width: 100%;
  }
}
.featureSec .featureContents {
  background-color: #fff;
  border-radius: 1.5rem;
  padding: 0.5rem 1.5rem 0;
}
@media screen and (min-width: 768px) {
  .featureSec .featureContents {
    padding: 11.28rem 3rem 8.28rem;
    border-radius: 3rem;
  }
}
.featureSec .featureContents .featureContentsItem {
  max-width: 112rem;
  margin: 0 auto 2rem;
}
@media screen and (min-width: 992px) {
  .featureSec .featureContents .featureContentsItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.featureSec .featureContents .featureContentsItem__left {
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 992px) {
  .featureSec .featureContents .featureContentsItem__left {
    max-width: 55rem;
  }
}
@media screen and (min-width: 1200px) {
  .featureSec .featureContents .featureContentsItem__left {
    margin: 0 5rem 0 0;
  }
}
.featureSec .featureContents .featureContentsItem__left .img {
  width: 100%;
}
.featureSec .featureContents .featureContentsItem__left .img img {
  display: inline-block;
  max-width: 70%;
  height: auto;
}
@media screen and (min-width: 992px) {
  .featureSec .featureContents .featureContentsItem__left .img img {
    max-width: 100%;
  }
}
.featureSec .featureContents .featureContentsItem__right {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 768px) {
  .featureSec .featureContents .featureContentsItem__right .text {
    margin-bottom: 3.8rem;
    font-size: 1.6rem;
    line-height: 2;
  }
}
.featureSec .featureContents .featureContentsItem.--invert {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (min-width: 1200px) {
  .featureSec .featureContents .featureContentsItem.--invert .featureContentsItem__left {
    margin: 0 0 0 5rem;
  }
}

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

Recruit

=====================================*/
.recruitSec {
  padding: 0rem 0 3rem;
}
@media screen and (min-width: 768px) {
  .recruitSec {
    padding: 0rem 0 11rem;
  }
}
.recruitSec .recruitFlex {
  padding: 0 0 1rem;
  margin: 0 auto;
}
@media screen and (min-width: 992px) {
  .recruitSec .recruitFlex {
    width: 100%;
    max-width: 182.4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.recruitSec .recruitFlex .recruitFlex__left {
  width: 100%;
  padding: 3rem 3rem 4rem;
  margin: 0 0 3rem;
  background-image: url(./images/bg_recruit_mage.jpg);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  border-radius: 2.5rem;
  overflow: hidden;
}
@media screen and (min-width: 992px) {
  .recruitSec .recruitFlex .recruitFlex__left {
    max-width: calc(50% - 1rem);
    padding: 0 3rem;
    margin: 0 2rem 0 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    border-radius: 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.recruitSec .recruitFlex .recruitFlex__left .recruitFlex__leftInner {
  max-width: 53.1rem;
  margin: 0 auto;
}
@media screen and (min-width: 992px) {
  .recruitSec .recruitFlex .recruitFlex__left .recruitFlex__leftInner {
    margin: 3rem auto;
  }
}
@media screen and (min-width: 768px) {
  .recruitSec .recruitFlex .recruitFlex__left .recruitFlex__leftInner .largeHeadline02 .main_text {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 1200px) {
  .recruitSec .recruitFlex .recruitFlex__left .recruitFlex__leftInner .largeHeadline02 .main_text {
    font-size: 3rem;
  }
}
.recruitSec .recruitFlex .recruitFlex__left .recruitFlex__leftInner .recruitFlexCatch {
  color: #201F88;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .recruitSec .recruitFlex .recruitFlex__left .recruitFlex__leftInner .recruitFlexCatch {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 768px) {
  .recruitSec .recruitFlex .recruitFlex__left .recruitFlex__leftInner .text {
    font-size: 1.6rem;
    line-height: 2;
  }
}
.recruitSec .recruitFlex .recruitFlex__right {
  width: 100%;
  position: relative;
}
@media screen and (min-width: 992px) {
  .recruitSec .recruitFlex .recruitFlex__right {
    max-width: calc(50% - 1rem);
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.recruitSec .recruitFlex .recruitFlex__right .imgtitle {
  display: none;
  position: absolute;
  top: 50%;
  left: -8rem;
  transform: translate(0%, -50%);
  -webkit-transform: translate(0%, -50%);
  -ms-transform: translate(0%, -50%);
  -moz-transform: translate(0%, -50%);
  line-height: 1;
}
@media screen and (min-width: 992px) {
  .recruitSec .recruitFlex .recruitFlex__right .imgtitle {
    display: block;
    left: -4rem;
    max-width: 10rem;
  }
}
@media screen and (min-width: 1200px) {
  .recruitSec .recruitFlex .recruitFlex__right .imgtitle {
    left: -6rem;
    max-width: 15rem;
  }
}
@media screen and (min-width: 1700px) {
  .recruitSec .recruitFlex .recruitFlex__right .imgtitle {
    left: -8rem;
    max-width: 19.3rem;
  }
}
.recruitSec .recruitFlex .recruitFlex__right .img {
  display: block;
  margin: 0 0 1.5rem;
}
@media screen and (min-width: 992px) {
  .recruitSec .recruitFlex .recruitFlex__right .img {
    margin: 0;
  }
}
.recruitSec .recruitFlex .recruitFlex__right .img img {
  width: 100%;
  border-radius: 2.5rem;
}
@media screen and (min-width: 768px) {
  .recruitSec .recruitFlex .recruitFlex__right .img img {
    border-radius: 5rem;
  }
}

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

Works

=====================================*/
.worksSec {
  padding: 0rem 0 3rem;
}
@media screen and (min-width: 768px) {
  .worksSec {
    padding: 0rem 0 11rem;
  }
}
@media screen and (min-width: 768px) {
  .worksSec .articleWorks {
    width: calc(100% + 3rem);
    margin: 0 0 0 -1.5rem;
    padding: 0 0 2rem;
  }
}
.worksSec .articleWorks .articleWorksItem {
  width: 100%;
  margin: 0 0 3rem;
  background-color: #fff;
  border-radius: 2.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .worksSec .articleWorks .articleWorksItem {
    max-width: calc(33.3333333333% - 3rem);
    margin: 0 1.5rem 3rem;
    border-radius: 3rem;
  }
}
.worksSec .articleWorks .articleWorksItem a {
  display: block;
  height: 100%;
  padding: 2.5rem;
}
.worksSec .articleWorks .articleWorksItem a .img {
  margin: 0 0 1.5rem;
}
.worksSec .articleWorks .articleWorksItem a .img img {
  display: inline-block;
}
.worksSec .articleWorks .articleWorksItem a .articleWorksTitle {
  color: #06054E;
  font-weight: bold;
  font-size: 1.6rem;
  margin: 0 0 1rem;
}
@media screen and (min-width: 768px) {
  .worksSec .articleWorks .articleWorksItem a .articleWorksTitle {
    font-size: 1.9rem;
  }
}
.worksSec .articleWorks .articleWorksItem a .articleWorksCompany {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.worksSec .articleWorks .articleWorksItem a .articleWorksCompany .articleWorksCompany01 {
  padding: 0;
  margin: 0 1rem 0 0;
  width: 100%;
  max-width: 9rem;
  display: inline-block;
  text-align: center;
  z-index: 1;
  background-color: #d9ebf2;
  color: #201F88;
  border-radius: 3rem;
  font-size: 1.3rem;
  font-weight: 500;
}
.worksSec .btn01 {
  max-width: 48.6rem;
}

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

Company

=====================================*/
.companySec {
  padding: 0rem 0 3rem;
}
@media screen and (min-width: 768px) {
  .companySec {
    padding: 0rem 0 11rem;
  }
}
.companySec .companyFlex {
  padding: 0 0 2rem;
  margin: 0 auto;
}
@media screen and (min-width: 992px) {
  .companySec .companyFlex {
    width: 100%;
    max-width: 182.4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.companySec .companyFlex .companyFlex__left {
  width: 100%;
  padding: 3rem 3rem 4rem;
  margin: 0 0 3rem;
  background-image: url(./images/bg_recruit_mage.jpg);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  border-radius: 2.5rem;
}
@media screen and (min-width: 992px) {
  .companySec .companyFlex .companyFlex__left {
    max-width: calc(50% - 1rem);
    padding: 0 3rem;
    margin: 0 0 0 2rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    border-radius: 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.companySec .companyFlex .companyFlex__left .companyFlex__leftInner {
  max-width: 53.1rem;
  margin: 0 auto;
}
@media screen and (min-width: 992px) {
  .companySec .companyFlex .companyFlex__left .companyFlex__leftInner {
    margin: 3rem auto;
  }
}
@media screen and (min-width: 768px) {
  .companySec .companyFlex .companyFlex__left .companyFlex__leftInner .largeHeadline02 .main_text {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 1200px) {
  .companySec .companyFlex .companyFlex__left .companyFlex__leftInner .largeHeadline02 .main_text {
    font-size: 3rem;
  }
}
.companySec .companyFlex .companyFlex__left .companyFlex__leftInner .companyFlexCatch {
  color: #201F88;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .companySec .companyFlex .companyFlex__left .companyFlex__leftInner .companyFlexCatch {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 768px) {
  .companySec .companyFlex .companyFlex__left .companyFlex__leftInner .text {
    font-size: 1.6rem;
    line-height: 2;
  }
}
.companySec .companyFlex .companyFlex__right {
  width: 100%;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 992px) {
  .companySec .companyFlex .companyFlex__right {
    max-width: calc(50% - 1rem);
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.companySec .companyFlex .companyFlex__right .imgtitle {
  display: none;
  position: absolute;
  top: 50%;
  right: -8rem;
  transform: translate(0%, -50%);
  -webkit-transform: translate(0%, -50%);
  -ms-transform: translate(0%, -50%);
  -moz-transform: translate(0%, -50%);
  line-height: 1;
}
@media screen and (min-width: 992px) {
  .companySec .companyFlex .companyFlex__right .imgtitle {
    display: block;
    right: -4rem;
    max-width: 7rem;
  }
}
@media screen and (min-width: 1200px) {
  .companySec .companyFlex .companyFlex__right .imgtitle {
    right: -6rem;
    max-width: 10rem;
  }
}
@media screen and (min-width: 1700px) {
  .companySec .companyFlex .companyFlex__right .imgtitle {
    right: -8rem;
    max-width: 14.3rem;
  }
}
.companySec .companyFlex .companyFlex__right .img {
  display: block;
  margin: 0 0 1.5rem;
}
@media screen and (min-width: 992px) {
  .companySec .companyFlex .companyFlex__right .img {
    margin: 0;
  }
}
.companySec .companyFlex .companyFlex__right .img img {
  width: 100%;
  border-radius: 2.5rem;
}
@media screen and (min-width: 768px) {
  .companySec .companyFlex .companyFlex__right .img img {
    border-radius: 5rem;
  }
}

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

Bnr

=====================================*/
.bnrSec {
  background-color: #2B2B32;
  background-image: url(./images/bg_bnr.jpg);
  background-size: cover;
  padding: 6rem 0 3rem;
}
@media screen and (min-width: 992px) {
  .bnrSec {
    padding: 14rem 0 11rem;
  }
}
@media screen and (min-width: 768px) {
  .bnrSec .bnrWrap {
    margin: 0 0 3.6rem;
  }
}
.bnrSec .bnrWrap .row {
  --bs-gutter-x: 3rem;
  --bs-gutter-y: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.bnrSec .img a {
  display: inline-block;
  position: relative;
}
.bnrSec .img a img.el_sp {
  display: inline-block;
  width: 100%;
  max-width: 40rem;
}
@media screen and (min-width: 768px) {
  .bnrSec .img a img.el_sp {
    display: none;
  }
}
.bnrSec .img a img.el_hover {
  display: none;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .bnrSec .img a img.el_hover {
    display: block;
    opacity: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    position: absolute;
    top: 0;
    left: 0;
  }
}
.bnrSec .img a img.el_normal {
  display: none;
}
@media screen and (min-width: 768px) {
  .bnrSec .img a img.el_normal {
    display: inline-block;
  }
}
@media screen and (min-width: 768px) {
  .bnrSec .img a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .bnrSec .img a:hover img.el_hover {
    opacity: 1;
  }
}

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

  ■サブメニュー

=====================================*/
.subLink {
  padding: 0;
  margin: 0 0 5rem;
}
@media screen and (min-width: 768px) {
  .subLink {
    margin: 0 0 12rem;
  }
}
.subLink li {
  list-style: none;
  display: inline-block;
  margin: 0 1.5rem 1.5rem 0;
}
@media screen and (min-width: 768px) {
  .subLink li {
    margin: 0 3rem 3rem 0;
  }
}
@media screen and (min-width: 1200px) {
  .subLink li {
    margin: 0 6rem 3rem 0;
  }
}
.subLink li a {
  color: #333333;
  font-size: 1.5rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .subLink li a {
    font-size: 1.8rem;
  }
}
.subLink li a span {
  display: inline-block;
  padding: 0 0 0 2.5rem;
  background-image: url(./images/icon_link.svg);
  background-repeat: no-repeat;
  background-position: center left;
  background-size: 2rem auto;
}
@media screen and (min-width: 768px) {
  .subLink li a span {
    padding: 0 0 0 4rem;
    background-size: auto auto;
  }
}

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

  ■経営理念・経営方針

=====================================*/
.companyMission {
  padding: 0 0 3rem;
}
@media screen and (min-width: 768px) {
  .companyMission {
    padding: 0 0 10rem;
  }
}
.companyMission .companyMissionWrap .companyMissionItem {
  overflow: hidden;
  padding: 3rem 0 0;
  border-top: 1px solid #DFDFDF;
}
@media screen and (min-width: 768px) {
  .companyMission .companyMissionWrap .companyMissionItem {
    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;
    padding: 8rem 0 5rem;
  }
}
.companyMission .companyMissionWrap .companyMissionItem__left {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .companyMission .companyMissionWrap .companyMissionItem__left {
    max-width: 30%;
    padding-right: 2rem;
  }
}
.companyMission .companyMissionWrap .companyMissionItem__right {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .companyMission .companyMissionWrap .companyMissionItem__right {
    max-width: 70%;
  }
}
.companyMission .companyMissionWrap .companyMissionItem__right .companyMissionCatch {
  font-size: 1.7rem;
  font-weight: bold;
  color: #201F88;
  line-height: 1.4;
  margin-bottom: 3rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .companyMission .companyMissionWrap .companyMissionItem__right .companyMissionCatch {
    font-size: 2rem;
    text-align: left;
  }
}
@media screen and (min-width: 1200px) {
  .companyMission .companyMissionWrap .companyMissionItem__right .companyMissionCatch {
    font-size: 4.4rem;
  }
}
.companyMission .companyMissionWrap .companyMissionItem__right .companyMissionList {
  padding: 0;
  margin-bottom: 3rem;
}
.companyMission .companyMissionWrap .companyMissionItem__right .companyMissionList li {
  position: relative;
  padding: 0 0 0 1.5rem;
  margin: 0;
  list-style: none;
  font-size: 1.5rem;
  font-weight: bold;
  color: #333333;
}
@media screen and (min-width: 768px) {
  .companyMission .companyMissionWrap .companyMissionItem__right .companyMissionList li {
    font-size: 2rem;
    padding: 0 0 0 3rem;
  }
}
@media screen and (min-width: 1200px) {
  .companyMission .companyMissionWrap .companyMissionItem__right .companyMissionList li {
    font-size: 3rem;
  }
}
.companyMission .companyMissionWrap .companyMissionItem__right .companyMissionList li::before {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 100%;
  background-color: #201F88;
  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) {
  .companyMission .companyMissionWrap .companyMissionItem__right .companyMissionList li::before {
    width: 1.3rem;
    height: 1.3rem;
  }
}
.companyMission .companyMissionWrap .companyMissionItem__right .companyMissionList .shortlist {
  margin-bottom: 20px;
  font-size: 1.4rem;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .companyMission .companyMissionWrap .companyMissionItem__right .companyMissionList .shortlist {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1200px) {
  .companyMission .companyMissionWrap .companyMissionItem__right .companyMissionList .shortlist {
    font-size: 1.6rem;
  }
}
.companyMission .companyMissionWrap .companyMissionItem__right .companyMissionList .shortlist::before {
  display: none;
}
.companyMission .companyMissionWrap .companyMissionItem__right .companyMissionList .list_last {
  margin-bottom: 0;
}
.companyMission .companyMissionWrap .companyMissionItem__right .companyMissionList_last {
  margin-bottom: 0;
}
.companyMission .companyMissionWrap .companyMissionItem .textb_mb {
  margin-bottom: 30px;
}

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

  ■代表あいさつ

=====================================*/
.companyMessage {
  position: relative;
  padding: 6rem 0 3rem;
}
@media screen and (min-width: 768px) {
  .companyMessage {
    padding: 12rem 0 9rem;
  }
}
.companyMessage::before {
  content: "";
  display: block;
  background-image: url(./images/bg_company_message.jpg);
  background-repeat: no-repeat;
  background-position: top center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 18.4rem;
}
@media screen and (min-width: 768px) {
  .companyMessage::before {
    height: 48.4rem;
  }
}
.companyMessage .companyMessageWrap {
  position: relative;
  z-index: 5;
  background-color: #F3F5F5;
  padding: 3rem 0 0;
  border-radius: 2.5rem;
}
@media screen and (min-width: 768px) {
  .companyMessage .companyMessageWrap {
    padding: 6rem 0 0;
    border-radius: 5rem;
  }
}
@media screen and (min-width: 992px) {
  .companyMessage .companyMessageWrap {
    padding: 13rem 0 0;
  }
}
.companyMessage .companyMessageWrap .companyMessageItem {
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 992px) {
  .companyMessage .companyMessageWrap .companyMessageItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 3rem;
  }
}
.companyMessage .companyMessageWrap .companyMessageItem__left {
  width: 100%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .companyMessage .companyMessageWrap .companyMessageItem__left {
    max-width: 64.2rem;
    margin: 0 auto;
  }
}
@media screen and (min-width: 992px) {
  .companyMessage .companyMessageWrap .companyMessageItem__left {
    max-width: 64.2rem;
    margin: 0 3rem 0 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (min-width: 1200px) {
  .companyMessage .companyMessageWrap .companyMessageItem__left {
    margin: 0 10.7rem 0 0;
  }
}
.companyMessage .companyMessageWrap .companyMessageItem__left .companyMessageimg01 {
  width: 100%;
  max-width: 30rem;
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .companyMessage .companyMessageWrap .companyMessageItem__left .companyMessageimg01 {
    max-width: 100%;
    padding-bottom: 0rem;
  }
}
@media screen and (min-width: 992px) {
  .companyMessage .companyMessageWrap .companyMessageItem__left .companyMessageimg01 {
    height: calc(100% - 10rem);
    padding: 0;
  }
}
.companyMessage .companyMessageWrap .companyMessageItem__left .companyMessageimg01 .el_img01 {
  display: none;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  .companyMessage .companyMessageWrap .companyMessageItem__left .companyMessageimg01 .el_img01 {
    display: inline-block;
  }
}
@media screen and (min-width: 992px) {
  .companyMessage .companyMessageWrap .companyMessageItem__left .companyMessageimg01 .el_img01 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 0;
  }
}
.companyMessage .companyMessageWrap .companyMessageItem__left .companyMessageimg01 .el_img02 {
  display: block;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  .companyMessage .companyMessageWrap .companyMessageItem__left .companyMessageimg01 .el_img02 {
    position: absolute;
    bottom: 0;
    right: 0;
    max-width: 43%;
  }
}
@media screen and (min-width: 992px) {
  .companyMessage .companyMessageWrap .companyMessageItem__left .companyMessageimg01 .el_img02 {
    display: inline-block;
    max-width: none;
    right: auto;
    bottom: 0;
    left: 0;
    z-index: 1;
  }
}
.companyMessage .companyMessageWrap .companyMessageItem__right {
  width: 100%;
}
@media screen and (min-width: 992px) {
  .companyMessage .companyMessageWrap .companyMessageItem__right {
    max-width: 59.4rem;
    margin: 0 3rem 0 0;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
@media screen and (min-width: 1200px) {
  .companyMessage .companyMessageWrap .companyMessageItem__right {
    margin: 0 10.7rem 0 0;
  }
}
.companyMessage .companyMessageWrap .companyMessageItem__right .companyMessageCatch {
  color: #201F88;
  font-weight: bold;
  line-height: 1.4;
  font-size: 1.7rem;
  text-align: center;
  margin: 0 0 2.5rem;
}
@media screen and (min-width: 768px) {
  .companyMessage .companyMessageWrap .companyMessageItem__right .companyMessageCatch {
    font-size: 2.5rem;
    margin: 0 0 4rem;
  }
}
@media screen and (min-width: 992px) {
  .companyMessage .companyMessageWrap .companyMessageItem__right .companyMessageCatch {
    text-align: left;
    margin: 0 0 4rem;
  }
}
@media screen and (min-width: 1200px) {
  .companyMessage .companyMessageWrap .companyMessageItem__right .companyMessageCatch {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .companyMessage .companyMessageWrap .companyMessageItem__right .w-50 {
    width: 75% !important;
  }
}
.companyMessage .companyMessageWrap .companyMessageimg02 {
  width: 100%;
  max-width: 30rem;
  text-align: center;
  margin: 0 auto 3rem;
}
@media screen and (min-width: 768px) {
  .companyMessage .companyMessageWrap .companyMessageimg02 {
    max-width: 100%;
  }
}
.companyMessage .companyMessageWrap .companyMessageimg02 .el_img01 {
  display: inline-block;
}

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

  ■会社概要

=====================================*/
.companyOutline .companyOutlineWrap {
  position: relative;
  z-index: 5;
  background-color: #fff;
  padding: 4rem 2.5rem 1rem;
  border-radius: 2.5rem;
}
@media screen and (min-width: 768px) {
  .companyOutline .companyOutlineWrap {
    padding: 11rem 3rem;
    border-radius: 5rem;
  }
}
.companyOutline .companyOutlineWrap .companyOutlineInner {
  max-width: 112.9rem;
  margin: 0 auto;
}

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

  アクセスマップ

=====================================*/
.companyAccess {
  padding: 6rem 0 3rem;
}
@media screen and (min-width: 768px) {
  .companyAccess {
    padding: 12rem 0 9rem;
  }
}
.companyAccess .companyAccessWrap {
  max-width: 112.9rem;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .companyAccess .companyAccessWrap .largeHeadline03 {
    margin-bottom: 5rem;
  }
}
.companyAccess .companyAccessWrap .mapFrame {
  position: relative;
  padding-top: 56.25%;
  margin-bottom: 1rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .companyAccess .companyAccessWrap .mapFrame {
    padding-top: 46.1rem;
  }
}
.companyAccess .companyAccessWrap .mapFrame iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}

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

  ■組織図

=====================================*/
.companyOrganization {
  padding: 0 0 3rem;
}
@media screen and (min-width: 768px) {
  .companyOrganization {
    padding: 0 0 3rem;
  }
}
@media screen and (min-width: 992px) {
  .companyOrganization {
    padding: 0 0 6rem;
  }
}
.companyOrganization .companyOrganizationWrap {
  overflow: hidden;
  position: relative;
  z-index: 5;
  background-color: #fff;
  padding: 4rem 1.5rem 0;
  border-radius: 2.5rem;
}
@media screen and (min-width: 768px) {
  .companyOrganization .companyOrganizationWrap {
    padding: 11rem 3rem 8rem;
    border-radius: 5rem;
  }
}
.companyOrganization .companyOrganizationWrap .companyOrganizationInner {
  max-width: 112.9rem;
  margin: 0 auto;
}

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

  ■一般事業主行動計画

=====================================*/
.companyPlan {
  padding: 0 0 3rem;
}
@media screen and (min-width: 768px) {
  .companyPlan {
    padding: 0 0 3rem;
  }
}
@media screen and (min-width: 992px) {
  .companyPlan {
    padding: 0 0 6rem;
  }
}
.companyPlan .text02 {
  font-size: 1.7rem;
  font-weight: bold;
}
.companyPlan .list01 li {
  display: block;
}

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

  ■沿革

=====================================*/
.historySec {
  padding: 2rem 0 6rem;
}
@media screen and (min-width: 768px) {
  .historySec {
    padding: 2rem 0 6rem;
  }
}
.historySec .historyWrap {
  width: 100%;
  max-width: 123.6rem;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .historySec .historyWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.historySec .historyWrap .historyWrap__left {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .historySec .historyWrap .historyWrap__left {
    max-width: 78.7rem;
    margin: 0 3rem 0 0;
  }
}
.historySec .historyWrap .historyWrap__left .historyCont {
  margin: 0 auto 3rem;
}
.historySec .historyWrap .historyWrap__left .historyCont .historyFlex {
  display: block;
  position: relative;
  padding: 0 0 3.7rem;
}
@media screen and (min-width: 768px) {
  .historySec .historyWrap .historyWrap__left .historyCont .historyFlex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.historySec .historyWrap .historyWrap__left .historyCont .historyFlex:before {
  position: absolute;
  content: "";
  height: 100%;
  width: 0.2rem;
  background-color: #c7dfdf;
  top: 0.8rem;
  left: 0.8rem;
}
.historySec .historyWrap .historyWrap__left .historyCont .historyFlex .number {
  position: relative;
  padding-left: 3rem;
  margin-right: 5rem;
  min-width: 8rem;
}
.historySec .historyWrap .historyWrap__left .historyCont .historyFlex .number:before {
  content: "";
  width: 1.9rem;
  height: 1.9rem;
  background: #201F88;
  border-radius: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.historySec .historyWrap .historyWrap__left .historyCont .historyFlex .number .year {
  color: #333333;
  line-height: 1;
  font-size: 2rem;
  font-weight: bold;
  font-family: "Montserrat", "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;
  margin: 0 0 0.2rem;
}
@media screen and (min-width: 768px) {
  .historySec .historyWrap .historyWrap__left .historyCont .historyFlex .number .year {
    margin: 0;
  }
}
.historySec .historyWrap .historyWrap__left .historyCont .historyFlex .historyTit {
  padding-left: 3rem;
}
@media screen and (min-width: 768px) {
  .historySec .historyWrap .historyWrap__left .historyCont .historyFlex .historyTit {
    margin-top: -0.8rem;
  }
}
.historySec .historyWrap .historyWrap__left .historyCont .historyFlex:last-child {
  padding: 0;
}
.historySec .historyWrap .historyWrap__left .historyCont .historyFlex:last-child::before {
  display: none;
}
.historySec .historyWrap .historyWrap__right {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .historySec .historyWrap .historyWrap__right {
    max-width: 21.4rem;
  }
}
@media screen and (min-width: 1200px) {
  .historySec .historyWrap .historyWrap__right {
    max-width: 42.8rem;
  }
}
.historySec .historyWrap .historyWrap__right .historyImg {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: calc(100% + 1rem);
  margin-left: -0.5rem;
}
@media screen and (min-width: 768px) {
  .historySec .historyWrap .historyWrap__right .historyImg {
    display: block;
    width: 100%;
    margin-left: 0;
  }
}
.historySec .historyWrap .historyWrap__right .historyImg .historyImgItem {
  width: 100%;
  max-width: calc(50% - 1rem);
  margin: 0 0.5rem 1rem;
}
@media screen and (min-width: 768px) {
  .historySec .historyWrap .historyWrap__right .historyImg .historyImgItem {
    max-width: 100%;
    margin: 0 0 5rem;
  }
}
@media screen and (min-width: 768px) {
  .historySec .historyWrap .historyWrap__right .historyImg .historyImgItem:nth-child(odd) {
    text-align: right;
  }
}
@media screen and (min-width: 768px) {
  .historySec .historyWrap .historyWrap__right .historyImg .historyImgItem:nth-child(even) {
    text-align: left;
  }
}
@media screen and (min-width: 768px) {
  .historySec .historyWrap .historyWrap__right .historyImg .historyImgItem img {
    max-width: 75%;
  }
}

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

  ■事業内容

=====================================*/
.serviceSec {
  padding: 2rem 0 6rem;
}
@media screen and (min-width: 768px) {
  .serviceSec {
    padding: 2rem 0 6rem;
  }
}
.serviceSec .serviceWrap .serviceWrapItem {
  background-color: #fff;
  max-width: 148.9rem;
  padding: 4rem 3rem 1rem;
  margin: 0 auto 5rem;
  border-radius: 2.5rem;
}
@media screen and (min-width: 768px) {
  .serviceSec .serviceWrap .serviceWrapItem {
    padding: 5rem 5rem 2rem;
    border-radius: 5rem;
  }
}
@media screen and (min-width: 1400px) {
  .serviceSec .serviceWrap .serviceWrapItem {
    padding: 8.9rem 12.7rem 5.9rem;
  }
}
.serviceSec .serviceWrap .serviceWrapItem .serviceWrapItemHead {
  padding: 0 0 0.5rem;
  margin: 0 0 3rem;
  border-bottom: 1px solid #E3E3E3;
}
@media screen and (min-width: 768px) {
  .serviceSec .serviceWrap .serviceWrapItem .serviceWrapItemHead {
    padding: 0 0 1.5rem;
    margin: 0 0 4.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.serviceSec .serviceWrap .serviceWrapItem .serviceWrapItemHead .serviceWrapItemHead__left {
  width: 100%;
}
@media screen and (min-width: 1400px) {
  .serviceSec .serviceWrap .serviceWrapItem .serviceWrapItemHead .serviceWrapItemHead__left .mediumHeadline02 .main_text {
    font-size: 4rem;
  }
}
.serviceSec .serviceWrap .serviceWrapItem .serviceWrapItemHead .serviceWrapItemHead__right {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .serviceSec .serviceWrap .serviceWrapItem .serviceWrapItemHead .serviceWrapItemHead__right {
    max-width: 29.4rem;
    margin: 0 0 0 3rem;
  }
}
@media screen and (min-width: 1200px) {
  .serviceSec .serviceWrap .serviceWrapItem .serviceWrapItemHead .serviceWrapItemHead__right {
    max-width: 59.4rem;
  }
}
@media screen and (min-width: 768px) {
  .serviceSec .serviceWrap .serviceWrapItem .serviceWrapItemBody .text {
    margin-bottom: 5rem;
  }
}

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

  ■Contact お問い合わせ

=====================================*/
.telFax {
  margin: 0 auto;
  max-width: 85rem;
}

.telBlockWrap {
  border: 3px solid #cfd6d6;
  padding: 1.7rem 1.5rem 0;
  margin: 0 0 1rem;
}
@media screen and (min-width: 768px) {
  .telBlockWrap {
    padding: 1.7rem 3rem 0;
    margin: 0 0 3rem;
  }
}
.telBlockWrap .smallHeadline01 {
  text-align: center;
  padding: 0 0 1rem;
  margin: 0 0 1rem;
  border-bottom: 1px solid #cfd6d6;
}
@media screen and (min-width: 768px) {
  .telBlockWrap02 {
    padding: 1.7rem 3rem 2.3rem;
  }
}

.telBlock {
  display: inline-block;
  line-height: 1;
  font-weight: bold;
  margin: 0 auto 2rem;
}
.telBlock .el_icon {
  display: inline-block;
  vertical-align: middle;
  margin: 0 5px 0 0;
}
.telBlock .el_icon img {
  height: 24px;
}
.telBlock .el_text {
  font-size: 2.7rem;
  font-family: "Poppins", sans-serif;
  letter-spacing: 2px;
  display: inline-block;
  vertical-align: middle;
  color: #06054E;
}
@media screen and (min-width: 768px) {
  .telBlock .el_text {
    font-size: 3rem;
  }
}
.telBlock p {
  text-align: center;
  font-size: 1.6rem;
  font-weight: normal;
  margin: 0.5rem 0 0;
}

table.set {
  width: 100%;
  max-width: 100rem;
  border-collapse: collapse;
  margin: 0 auto 3rem;
}
@media screen and (max-width: 767px) {
  table.set {
    display: block;
    margin: 0 auto;
  }
}
@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: 205px;
  padding: 2rem 1rem 2rem 0;
  font-weight: bold;
  vertical-align: middle;
  text-align: left;
  border-bottom: 1px solid #cfd6d6;
}
@media screen and (max-width: 767px) {
  table.set tbody tr th {
    display: block;
    padding: 0;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-size: 1.5rem;
    background: none;
    border-bottom: none;
  }
}
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: 45px;
  height: 20px;
  margin: 0;
  padding: 4px 4px 0;
  color: #fff;
  background: #C61400;
  font-weight: normal;
  font-size: 12px;
  line-height: 1;
  text-align: center;
}
table.set tbody tr th p {
  padding: 0;
  margin: 0;
}
table.set tbody tr td {
  width: 75%;
  font-size: 16px;
  padding: 2rem 0 2rem 1rem;
  vertical-align: middle;
  border-bottom: 1px solid #cfd6d6;
}
@media screen and (max-width: 767px) {
  table.set tbody tr td {
    display: block;
    padding: 15px 0;
    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: 10px;
  font-size: 16px;
}
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: 2;
  padding: 10px 5px;
  border-radius: 2px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: 48px;
  height: 48px;
  font-size: 1.5rem;
}
table.set tbody tr td textarea {
  resize: vertical;
  height: 296px;
  font-size: 1.5rem;
}
table.set tbody tr td.input_half input, table.set tbody tr td.input_half select {
  width: 100%;
  max-width: 100%;
}

.Rqd {
  color: #C61400;
}

.submit_btn {
  position: relative;
  display: block;
  width: 100%;
  max-width: 40rem;
  border: solid 1px #09977F;
  background-color: #09977F;
  color: #fff;
  padding: 1.3rem;
  margin: 0 auto 3rem;
  display: block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .submit_btn {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .submit_btn:hover {
    opacity: 0.5;
  }
}
.submit_btn::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  background-image: url(./images/icon_rightarrow01_white.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2.1rem auto;
  width: 2.1rem;
  height: 2.1rem;
}
.submit_btn::before span {
  display: inline-block;
}
.submit_btn.btn--back {
  border: solid 1px #cfd6d6;
  background-color: #cfd6d6;
}

.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: 32.8rem;
}
@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: #827052;
  }
  .formBtn:hover::after {
    background-color: #827052;
    background-image: url(./images/icon_rightarrow02_white.svg);
  }
}
.formBtn p {
  padding: 0;
  margin: 0;
}
.formBtn .wpcf7-form-control {
  display: block;
  width: 100%;
  max-width: 32.8rem;
  text-align: center;
  background-color: #827052;
  color: #fff;
  position: relative;
  z-index: 1;
  font-size: 1.6rem;
  font-weight: bold;
  font-family: "Syne", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN,", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-decoration: none;
  padding: 1.6rem 1rem;
  margin: 0 auto;
  border-radius: 5rem;
  border: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.formBtn::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  z-index: 2;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  border: 1px solid #cfd6d6;
  border-radius: 3rem;
  background-image: url(./images/icon_rightarrow02_white.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.3rem auto;
  width: 5rem;
  height: 2.4rem;
}
.formBtn::after span {
  display: inline-block;
}

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

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

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

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

  ■投稿詳細　タイトル

=====================================*/
.postTitleSec {
  position: relative;
  padding: 4rem 0 0;
  margin: 5.6rem 0 0;
}
@media screen and (min-width: 768px) {
  .postTitleSec {
    padding: 8rem 0;
    margin: 7.1rem 0 0;
    border-top: 1px solid #cfd6d6;
    border-bottom: 1px solid #cfd6d6;
  }
}
@media screen and (min-width: 1200px) {
  .postTitleSec {
    margin: 7.1rem 0 0;
  }
}
@media screen and (min-width: 1400px) {
  .postTitleSec {
    margin: 9.6rem 0 0;
  }
}
.postTitleSec .postTitle {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .postTitleSec .postTitle {
    font-size: 3rem;
  }
}
@media screen and (min-width: 1200px) {
  .postTitleSec .postTitle {
    font-size: 4rem;
  }
}
.postTitleSec .postTitle .el_text {
  display: inline-block;
}
.postTitleSec .postTitle .el_cat {
  display: block;
  margin: 0 0 1.3rem;
  line-height: 1;
}
.postTitleSec .postTitle .el_cat span {
  display: inline-block;
  background-color: #5e6071;
  color: #fff;
  padding: 0.9rem 0.7rem;
  font-size: 1.3rem;
  font-weight: normal;
  text-align: center;
  min-width: 9.6rem;
}
@media screen and (min-width: 768px) {
  .postTitleSec.--category {
    padding: 4.2rem 0 4rem;
  }
}

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

  ■投稿基本設定

=====================================*/
/*投稿
--------------------------------------*/
.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;
  }
}

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

  ■お知らせ

=====================================*/
.newsWrap {
  background: #fff;
  border: 1px solid #cfd6d6;
  padding: 50px 30px;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .newsWrap {
    padding: 50px 100px;
  }
}

.newsDate {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #201F88;
  margin: 0 0 10px;
}
.newsDate .newsDate__left time {
  font-size: 1.3rem;
  color: #06054E;
  font-family: "Poppins", sans-serif;
  padding: 6px 0 2px 0;
}
.newsDate .newsDate__right {
  border-left: 1px solid #201F88;
  margin: 0 0 0 15px;
  padding: 0 0 0 15px;
}

.newsCat .num_cat_parent {
  border-radius: 20px;
  border: 1px solid #201F88;
  font-size: 1.3rem;
  padding: 1px 10px 2px;
}
.newsCat .num_cat_parent.num_cat_parent--web-design {
  background: #0C133A;
  color: #fff;
}
.newsCat .num_cat_parent.num_cat_parent--system {
  background: #674D9C;
  color: #fff;
}
.newsCat .num_cat_parent.num_cat_parent--design {
  background: #8B929F;
  color: #fff;
}

.newsHeadline {
  font-size: 2rem;
  font-weight: bold;
  color: #06054E;
  border-bottom: 1px solid #cfd6d6;
  padding: 0 0 20px;
  margin: 0 0 25px;
}
@media screen and (min-width: 768px) {
  .newsHeadline {
    font-size: 2.7rem;
  }
}

.singleNews {
  padding: 9rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .singleNews {
    padding: 5rem 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 */