@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: 1.8;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 1.5rem;
  }
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 0;
  margin: 0;
  font-weight: bold;
  line-height: 1.4;
}

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%;
  padding: 0 3rem;
  max-width: 145rem;
  margin: auto;
}
@media screen and (min-width: 992px) {
  .container {
    padding: 0 6rem;
  }
}

.container--ver02 {
  width: 100%;
  padding: 0 15px;
  max-width: 960px;
  margin: auto;
}
@media screen and (min-width: 992px) {
  .container--ver02 {
    padding: 0 60px;
    max-width: 960px;
  }
}

/*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;
  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: #ffffff;
  text-align: center;
  color: #ffffff;
}
#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;
}

/*============================================
大見出し
============================================*/
/*パターン1*/
.largeHeadline01 {
  position: relative;
  margin: 0 0 3rem;
  font-weight: normal;
  line-height: 1.4;
}
.largeHeadline01 .el_main {
  display: block;
  line-height: 1;
  font-weight: bold;
  font-size: 3.2rem;
  font-family: "Unbounded", "游ゴシック体", 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: 900;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .largeHeadline01 .el_main {
    font-size: 6.4rem;
  }
}
.largeHeadline01 .el_main::first-letter {
  color: #7f1b1d;
}
.largeHeadline01 .el_sub {
  display: block;
  font-weight: 900;
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .largeHeadline01 .el_sub {
    font-size: 2rem;
  }
}
.largeHeadline01.c_white * {
  color: #ffffff;
}
.largeHeadline01.c_white *::first-letter {
  color: #ffffff;
}
.largeHeadline01.c_white .el_sub {
  opacity: 0.7;
}

/*パターン2*/
.largeHeadline02 {
  position: relative;
  margin: 0 0 3rem;
  font-weight: normal;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .largeHeadline02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
}
.largeHeadline02 .el_main {
  display: block;
  line-height: 1;
  font-weight: bold;
  font-size: 2.1rem;
  font-weight: 900;
  margin: 0 0 0.5rem;
}
@media screen and (min-width: 768px) {
  .largeHeadline02 .el_main {
    font-size: 2.6rem;
    margin: 0 1rem 0 0;
  }
}
.largeHeadline02 .el_sub {
  display: block;
  font-weight: bold;
  font-size: 1.6rem;
  font-family: "Barlow Condensed", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN,", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #bab5a3;
}
@media screen and (min-width: 768px) {
  .largeHeadline02 .el_sub {
    font-size: 2rem;
  }
}

/*パターン3*/
.largeHeadline03 {
  position: relative;
  margin: 0 0 3rem;
  font-weight: normal;
  line-height: 1.4;
}
.largeHeadline03 .el_main {
  display: block;
  line-height: 1;
  font-weight: bold;
  font-size: 2.4rem;
  font-family: "Barlow Condensed", "游ゴシック体", 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: bold;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .largeHeadline03 .el_main {
    font-size: 5.2rem;
  }
}
@media screen and (min-width: 1400px) {
  .largeHeadline03 .el_main {
    font-size: 7.2rem;
  }
}
.largeHeadline03 .el_main::first-letter {
  color: #7f1b1d;
}
.largeHeadline03 .el_sub {
  display: block;
  font-weight: 900;
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .largeHeadline03 .el_sub {
    font-size: 2rem;
  }
}
.largeHeadline03.--red .el_main::first-letter {
  color: #641314;
}
.largeHeadline03.--blue .el_main::first-letter {
  color: #072839;
}
.largeHeadline03.--green .el_main::first-letter {
  color: #123714;
}
.largeHeadline03.--yellow .el_main::first-letter {
  color: #a7772c;
}

/*============================================
中見出し
============================================*/
/*パターン1*/
.mediumHeadline01 {
  position: relative;
  margin: 0 0 3rem;
  font-weight: normal;
  line-height: 1.4;
  color: #190808;
}
.mediumHeadline01 .el_main {
  display: block;
  line-height: 1;
  font-weight: bold;
  font-size: 3.5rem;
  font-family: "Barlow Condensed", "游ゴシック体", 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: bold;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .mediumHeadline01 .el_main {
    font-size: 3rem;
  }
}
@media screen and (min-width: 1400px) {
  .mediumHeadline01 .el_main {
    font-size: 6rem;
  }
}
.mediumHeadline01 .el_sub {
  display: block;
  font-weight: bold;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .mediumHeadline01 .el_sub {
    font-size: 1.7rem;
  }
}
@media screen and (min-width: 1400px) {
  .mediumHeadline01 .el_sub {
    font-size: 2rem;
  }
}

/*パターン2*/
.mediumHeadline02 {
  position: relative;
  margin: 0 0 2rem;
  line-height: 1.4;
}
.mediumHeadline02 .el_main {
  display: block;
  line-height: 1;
  font-weight: bold;
  font-size: 1.5rem;
  font-family: "Barlow Condensed", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN,", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #7f1b1d;
  font-weight: bold;
  margin: 0 0 0.5rem;
}
@media screen and (min-width: 768px) {
  .mediumHeadline02 .el_main {
    font-size: 2rem;
  }
}
.mediumHeadline02 .el_sub {
  display: block;
  font-weight: 900;
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .mediumHeadline02 .el_sub {
    font-size: 3.2rem;
  }
}

/*パターン3*/
.mediumHeadline03 {
  position: relative;
  margin: 0 0 3rem;
  line-height: 1.5;
}
.mediumHeadline03 .el_main {
  display: block;
  font-weight: 900;
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .mediumHeadline03 .el_main {
    font-size: 3.2rem;
  }
}
.mediumHeadline03.--red .el_main {
  color: #641314;
}
.mediumHeadline03.--blue .el_main {
  color: #072839;
}
.mediumHeadline03.--green .el_main {
  color: #123714;
}
.mediumHeadline03.--yellow .el_main {
  color: #a7772c;
}

/*パターン4*/
.mediumHeadline04 {
  position: relative;
  z-index: 1;
  margin: 0 0 3rem;
  padding: 0;
}
.mediumHeadline04 .d-inline-block {
  position: relative;
}
.mediumHeadline04 .d-inline-block::before {
  content: "";
  display: block;
  width: 100%;
  height: 1.3rem;
  background-color: #d9d6ce;
  position: absolute;
  bottom: -0.7rem;
  left: 0;
}
.mediumHeadline04 .el_inner {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.mediumHeadline04 .el_inner .el_sub {
  position: relative;
  z-index: 1;
  display: block;
  line-height: 1;
  font-weight: bold;
  font-size: 3.2rem;
  font-family: "Unbounded", "游ゴシック体", 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: 900;
  margin: 0 1.3rem 0 1rem;
}
@media screen and (min-width: 768px) {
  .mediumHeadline04 .el_inner .el_sub {
    font-size: 4.2rem;
  }
}
.mediumHeadline04 .el_inner .el_sub::first-letter {
  color: #7f1b1d;
}
.mediumHeadline04 .el_inner .el_main {
  position: relative;
  z-index: 1;
  font-size: 1.5rem;
  font-weight: 900;
  font-family: "Barlow Condensed", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN,", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #190808;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .mediumHeadline04 .el_inner .el_main {
    font-size: 1.9rem;
  }
}

/*============================================
小見出し
============================================*/
/*パターン1*/
.smallHeadline01 {
  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-weight: 900;
  font-size: 1.75rem;
  line-height: 1.5;
  margin: 0 0 1.2rem;
}
@media screen and (min-width: 1700px) {
  .smallHeadline01 {
    font-size: 2.9rem;
  }
}

/*パターン2*/
.smallHeadline02 {
  position: relative;
  margin: 0 0 3rem;
  line-height: 1.5;
}
.smallHeadline02 .el_main {
  display: block;
  font-weight: bold;
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .smallHeadline02 .el_main {
    font-size: 3.2rem;
  }
}

/*パターン3*/
.smallHeadline03 {
  text-align: center;
  position: relative;
  margin: 0 0 3rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .smallHeadline03 {
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.smallHeadline03 .el_img {
  margin: 0 0 0.5rem;
}
@media screen and (min-width: 768px) {
  .smallHeadline03 .el_img {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: 0;
  }
}
.smallHeadline03 .el_main {
  font-weight: 900;
  font-size: 3rem;
  margin: 0 1rem 0 0;
}
@media screen and (min-width: 768px) {
  .smallHeadline03 .el_main {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    font-size: 4rem;
  }
}

/*パターン4*/
.smallHeadline04 {
  position: relative;
  margin: 0 0 1rem;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .smallHeadline04 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: left;
  }
}
.smallHeadline04 .el_text01 {
  display: block;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-size: 1.5rem;
  background-color: #362424;
  color: #ffffff;
  border-radius: 3rem;
  padding: 0.3rem 0;
  margin: 0 0 0.5rem;
}
@media screen and (min-width: 768px) {
  .smallHeadline04 .el_text01 {
    max-width: 9rem;
    display: inline-block;
    font-size: 1.8rem;
    margin: 0 1rem 0 0;
  }
}
.smallHeadline04 .el_text02 {
  font-weight: normal;
  font-size: 1.3rem;
}

/*パターン5*/
.smallHeadline05 {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0;
}
.smallHeadline05 .el_inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.smallHeadline05 .el_inner .el_text01 {
  font-size: 1.8rem;
  font-weight: 900;
  margin: 0 1rem 0 0;
}
@media screen and (min-width: 768px) {
  .smallHeadline05 .el_inner .el_text01 {
    font-size: 2.2rem;
  }
}
.smallHeadline05 .el_inner .el_text02 {
  font-size: 1.8rem;
  font-weight: bold;
  font-family: "Barlow Condensed", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN,", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #bab5a3;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .smallHeadline05 .el_inner .el_text02 {
    font-size: 2.2rem;
  }
}

/*パターン6*/
.smallHeadline06 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  margin: 0 0 3rem;
  line-height: 1.5;
}
.smallHeadline06 .el_img {
  margin: 0 1rem 0 0;
}
.smallHeadline06 .el_main {
  font-weight: 900;
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .smallHeadline06 .el_main {
    font-size: 3.6rem;
  }
}

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

  ■本文

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

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

.c_red {
  color: #7f1b1d;
}

.c_white {
  color: #ffffff;
}

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

  ■共通リスト

=====================================*/
.list01 {
  padding: 3rem 2rem 2rem;
  margin: 0 auto 3rem;
  background-color: #ffffff;
}
@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: #581618;
}
@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: "Unbounded", "游ゴシック体", 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;
  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: "Unbounded", "游ゴシック体", 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;
  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: #ffffff;
}
@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 40px;
  line-height: 1;
}

.mapFrame {
  position: relative;
  overflow: hidden;
  padding-top: 56.25%;
  margin-bottom: 3rem;
}
.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%;
}

/*ポップアップ*/
.pop {
  display: block;
  position: relative;
}
.pop::before {
  content: "";
  display: inline-block;
  width: 2.8rem;
  height: 2.8rem;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(./img/icon_zoom.png);
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.btn01 {
  display: inline-block;
  max-width: 40rem;
  min-width: 29.4rem;
  text-align: center;
  position: relative;
  z-index: 1;
  text-decoration: none;
  padding: 2.7rem 1rem;
  margin: 0 auto 3rem;
  background-image: url(./img/btn_maru_black.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 100%;
}
@media screen and (min-width: 768px) {
  .btn01 {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .btn01:hover {
    opacity: 0.7;
  }
}
.btn01 .el_text {
  display: block;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .btn01 .el_text {
    font-size: 1.9rem;
  }
}
.btn01 .el_text.el_arrow {
  background-image: url(./img/icon_rightarrow01_black.png);
  background-repeat: no-repeat;
  background-position: center right 3.5rem;
  background-size: 1.7rem auto;
}
.btn01.--white {
  background-image: url(./img/btn_maru_white.png);
}
.btn01.--white .el_text {
  color: #ffffff;
}
.btn01.--white .el_text.el_arrow {
  background-image: url(./img/icon_rightarrow01_white.png);
}
.btn01.--small {
  padding: 1.8rem 1rem;
  max-width: 22.4rem;
  min-width: 22.4rem;
}
@media screen and (min-width: 768px) {
  .btn01.--small .el_text {
    font-size: 1.6rem;
  }
}
.btn02 {
  display: inline-block;
  width: 100%;
  max-width: 29.4rem;
  text-align: center;
  background-color: #7f1b1d;
  color: #ffffff;
  position: relative;
  z-index: 1;
  font-weight: bold;
  text-decoration: none;
  padding: 2.3rem 1rem;
  margin: 0 auto 3rem;
  border: none;
  border-radius: 5rem;
}
@media screen and (min-width: 768px) {
  .btn02 {
    max-width: 64rem;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .btn02:hover {
    background-color: #5a090a;
    color: #ffffff;
  }
}
.btn02 .el_text {
  display: block;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .btn02 .el_text {
    font-size: 1.9rem;
  }
}
.btn02 .el_text.el_arrow {
  background-image: url(./img/icon_rightarrow01_white.png);
  background-repeat: no-repeat;
  background-position: center right 2rem;
  background-size: 1.5rem auto;
}

/*============================================
汎用テーブル1
============================================*/
.table01 {
  border-top: 1px dotted #cfd6d6;
  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 dotted #cfd6d6;
  font-weight: bold;
  padding: 3rem 0;
}
@media screen and (max-width: 767px) {
  .table01 tbody tr th {
    display: block;
    width: 100%;
    padding: 0;
    font-size: 1.6rem;
    font-weight: 900;
    border-bottom: none;
  }
}
.table01 tbody tr td {
  font-weight: normal;
  border-bottom: 1px dotted #cfd6d6;
  padding: 3rem 0 3rem 1.5rem;
}
@media screen and (max-width: 767px) {
  .table01 tbody tr td {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0 0 3rem;
    word-break: break-all;
    border-bottom: none;
  }
}

/*============================================
汎用テーブル2
============================================*/
.table02 {
  border-top: 1px solid #cfd6d6;
  width: 100%;
  border-collapse: collapse;
  margin: 0 auto 3rem;
}
@media screen and (max-width: 767px) {
  .table02 {
    display: block;
    border-top: none;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .table02 tbody {
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .table02 tbody tr {
    display: block;
    width: 100%;
  }
}
.table02 tbody tr th {
  border-bottom: 1px solid #cfd6d6;
  font-weight: bold;
  padding: 2.2rem 1.5rem 2.2rem 0;
  font-size: 1.5rem;
  width: 20%;
}
@media screen and (min-width: 1200px) {
  .table02 tbody tr th {
    width: 15%;
  }
}
@media screen and (max-width: 767px) {
  .table02 tbody tr th {
    background-color: #ffffff;
    display: block;
    width: 100%;
    padding: 0;
    font-size: 1.4rem;
    border-bottom: none;
  }
}
.table02 tbody tr td {
  font-weight: normal;
  border-bottom: 1px solid #cfd6d6;
  padding: 2.2rem 0 2.2rem 1.5rem;
  letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
  .table02 tbody tr td {
    display: block;
    width: 100%;
    padding: 0 0 1.5rem;
    margin: 0 0 1.5rem;
    word-break: break-all;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .table02 tbody tr:last-child td {
    border: 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);
}

.bg01 {
  background-color: #f0efeb;
}

/*============================================
archive.php ページネーション
============================================*/
.wp-pagenavi {
  text-align: center;
  margin: 5rem auto;
  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: 1.2rem 0.5rem 0.5rem;
  margin: 0 0.5rem;
  border-color: #f0efeb;
  background: none;
  color: #000000;
  display: inline-block;
  text-align: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
  min-width: 4.1rem;
  min-height: 4.1rem;
  line-height: 1;
  font-size: 1.5rem;
}
.wp-pagenavi a:hover,
.wp-pagenavi span:hover {
  opacity: 1;
  border-color: #f0efeb;
  background-color: #f0efeb;
  color: #000000;
}
.wp-pagenavi a.nextpostslink,
.wp-pagenavi span.nextpostslink {
  background-color: #f0efeb;
  border-color: #f0efeb;
}
.wp-pagenavi span.current {
  font-weight: normal;
  background-color: #f0efeb;
  color: #000000;
  border-color: #f0efeb;
}
.wp-pagenavi span.extend {
  background: none;
  border: none;
  color: #000000;
}
.wp-pagenavi span.pages {
  font-weight: normal;
  color: #000000;
  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: #000000;
  font-size: 14px;
  background: #f0efeb;
  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: #000000;
  color: #ffffff;
}
.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;
  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 #f0efeb;
  background: transparent;
  width: 100%;
  font-size: 1.5rem;
  color: #000000;
  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: #ffffff;
}
.page_navi li:hover a {
  background: #09977f;
  border: solid 1px #09977f;
  color: #ffffff;
}
.page_navi li:last-child {
  margin-right: 0;
}

/* モーダルの背景 */
.modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 9998;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* モーダルコンテンツ */
.modal-content {
  display: block;
  max-width: 90%;
  max-height: 90%;
  z-index: 9999;
  text-align: center;
}
.modal-content img {
  display: inline-block;
  width: 100%;
  max-width: 70rem;
}

/* 閉じるボタン */
.modal-close {
  position: absolute;
  top: 20px;
  right: 30px;
  color: #fff;
  font-size: 2rem;
  cursor: pointer;
  z-index: 10000;
}

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

  ■ヘッダー

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

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20;
  background-color: #470d0e;
}
@media screen and (min-width: 768px) {
  .header {
    background: none;
  }
}
.header.menu_fixed {
  background-color: #470d0e;
}
@media screen and (min-width: 768px) {
  .header.menu_fixed {
    background-color: #581618;
  }
}

.headerInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  min-height: 5.4rem;
  /*ロゴ*/
  /*グローバルメニューの親*/
  /*お問い合わせ*/
}
@media screen and (min-width: 768px) {
  .headerInner {
    padding: 2rem 1.5rem;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 1200px) {
  .headerInner {
    padding: 4rem;
  }
}
.headerInner .headerLogo {
  position: relative;
  z-index: 5;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  padding: 1.1rem 0 1.1rem 1.5rem;
  margin: 0;
  width: 100%;
  max-width: 20rem;
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .headerInner .headerLogo {
    padding: 0;
    max-width: 12rem;
  }
}
@media screen and (min-width: 1400px) {
  .headerInner .headerLogo {
    max-width: 20rem;
    margin-right: 17rem;
  }
}
.headerInner .headerLogo a {
  display: inline-block;
}
.headerInner .headerLogo a img {
  display: inline-block;
  max-width: 100%;
}
.headerInner .headerMenu {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@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;
    width: 87rem;
  }
}
.headerInner .headerBtn {
  display: none;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  width: 100%;
  max-width: 8rem;
  padding: 0;
  margin: 0 auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .headerInner .headerBtn {
    display: block;
    padding: 0;
    margin: 0 0 0 auto;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}
@media screen and (min-width: 1400px) {
  .headerInner .headerBtn {
    max-width: 13rem;
  }
}
.headerInner .headerBtn a {
  width: 100%;
  display: inline-block;
  color: #ffffff;
  border-radius: 100%;
  border: 0.1rem solid #ffffff;
  padding: 1rem;
  font-size: 1.1rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .headerInner .headerBtn a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .headerInner .headerBtn a:hover {
    background-color: #ffffff;
    color: #581618;
  }
}
@media screen and (min-width: 1400px) {
  .headerInner .headerBtn a {
    font-size: 1.6rem;
  }
}
.headerInner .headerBtn a .el_text {
  display: inline-block;
  font-family: "Unbounded", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN,", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#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.3rem;
  width: 5.3rem;
  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: #ffffff;
  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: #470d0e;
}
@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 1.3rem;
  }
}
@media screen and (min-width: 1400px) {
  #headerNavbar .container-fluid .navbar-collapse > .navbar-nav > .menu-item {
    margin: 0 3rem;
  }
}
#headerNavbar .container-fluid .navbar-collapse > .navbar-nav > .menu-item > a {
  display: block;
  color: #ffffff;
  padding: 1.5rem 1.5rem;
  font-size: 1.1rem;
  font-weight: 500;
  border-bottom: 1px solid #cfd6d6;
  text-align: center;
  line-height: 1;
}
@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;
  }
}
#headerNavbar .container-fluid .navbar-collapse > .navbar-nav > .menu-item > a .nav-title {
  display: block;
  font-weight: 900;
  font-family: "Unbounded", "游ゴシック体", 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.5rem;
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  #headerNavbar .container-fluid .navbar-collapse > .navbar-nav > .menu-item > a .nav-title {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1400px) {
  #headerNavbar .container-fluid .navbar-collapse > .navbar-nav > .menu-item > a .nav-title {
    font-size: 1.7rem;
  }
}
#headerNavbar .container-fluid .navbar-collapse > .navbar-nav > .menu-item > a .nav-label {
  display: block;
  font-size: 1.1rem;
}
@media screen and (min-width: 768px) {
  #headerNavbar .container-fluid .navbar-collapse > .navbar-nav > .menu-item > a .nav-label {
    font-size: 1.1rem;
  }
}
@media screen and (min-width: 1400px) {
  #headerNavbar .container-fluid .navbar-collapse > .navbar-nav > .menu-item > a .nav-label {
    font-size: 1.4rem;
  }
}
#headerNavbar .container-fluid .navbar-collapse > .navbar-nav > .menu-item:last-child > a {
  border-bottom: none;
}

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

#footer {
  position: relative;
  background-color: #f0efeb;
  padding: 5rem 0 0;
}
@media screen and (min-width: 768px) {
  #footer {
    padding: 10rem 0 2rem;
  }
}
@media screen and (min-width: 768px) {
  #footer .footerWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin: 0;
  }
}
#footer .footerWrap .footerWrap__cell01 {
  width: 100%;
  max-width: 86.5rem;
}
@media screen and (min-width: 768px) {
  #footer .footerWrap .footerWrap__cell01 {
    margin: 0 5rem 0 0;
  }
}
@media screen and (min-width: 1200px) {
  #footer .footerWrap .footerWrap__cell01 .footerLogoOuter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
#footer .footerWrap .footerWrap__cell01 .footerLogoOuter .footerLogo {
  position: relative;
  display: block;
  margin: 0 0 3.3rem;
  text-align: center;
  width: 100%;
  /*コピーライト*/
}
@media screen and (min-width: 768px) {
  #footer .footerWrap .footerWrap__cell01 .footerLogoOuter .footerLogo {
    min-width: 40rem;
    max-width: 40rem;
    text-align: left;
    margin: 0 0 3rem;
  }
}
@media screen and (min-width: 1200px) {
  #footer .footerWrap .footerWrap__cell01 .footerLogoOuter .footerLogo {
    margin: 0 5rem 3rem 0;
  }
}
#footer .footerWrap .footerWrap__cell01 .footerLogoOuter .footerLogo img {
  max-width: 24rem;
}
@media screen and (min-width: 768px) {
  #footer .footerWrap .footerWrap__cell01 .footerLogoOuter .footerLogo img {
    max-width: 100%;
  }
}
#footer .footerWrap .footerWrap__cell01 .footerLogoOuter .footerLogo .copyright {
  display: none;
  font-weight: 600;
  position: absolute;
  bottom: 0;
  left: -23rem;
  text-align: center;
  padding: 0;
  font-size: 1.2rem;
  font-family: "Unbounded", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN,", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #aca79e;
}
@media screen and (min-width: 768px) {
  #footer .footerWrap .footerWrap__cell01 .footerLogoOuter .footerLogo .copyright {
    display: block;
    left: 0;
    max-width: 24rem;
  }
}
@media screen and (min-width: 1700px) {
  #footer .footerWrap .footerWrap__cell01 .footerLogoOuter .footerLogo .copyright {
    left: -23rem;
    max-width: 100%;
  }
}
#footer .footerWrap .footerWrap__cell01 .footerLogoOuter .footerText {
  font-size: 1.4rem;
  color: #190808;
  margin-bottom: 2rem;
  line-height: 1.5;
}
#footer .footerWrap .footerWrap__cell01 .footerLogoOuter .footerText dt {
  font-weight: 900;
  font-size: 1.7rem;
  margin: 0 0 0.2rem;
}
@media screen and (min-width: 768px) {
  #footer .footerWrap .footerWrap__cell01 .footerLogoOuter .footerText dt {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 1400px) {
  #footer .footerWrap .footerWrap__cell01 .footerLogoOuter .footerText dt {
    font-size: 1.9rem;
  }
}
#footer .footerWrap .footerWrap__cell01 .footerLogoOuter .footerText dd {
  font-weight: normal;
  font-size: 1.5rem;
  margin: 0;
}
@media screen and (min-width: 768px) {
  #footer .footerWrap .footerWrap__cell01 .footerLogoOuter .footerText dd {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1400px) {
  #footer .footerWrap .footerWrap__cell01 .footerLogoOuter .footerText dd {
    font-size: 1.7rem;
  }
}
#footer .footerWrap .footerWrap__cell01 .footerList {
  padding: 0;
  margin: 0 0 3rem;
}
#footer .footerWrap .footerWrap__cell01 .footerList li {
  display: inline-block;
  padding: 0;
  margin: 0 0.5rem 0 0;
  list-style: none;
  font-size: 1.4rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  #footer .footerWrap .footerWrap__cell01 .footerList li {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1400px) {
  #footer .footerWrap .footerWrap__cell01 .footerList li {
    font-size: 1.8rem;
  }
}
#footer .footerWrap .footerWrap__cell01 .footerList li a {
  display: inline-block;
}
@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__cell02 {
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  #footer .footerWrap .footerWrap__cell02 {
    margin: 0 0 0 auto;
  }
}

/*フッターメニュー*/
.footermenu {
  margin: 0;
}
.footermenu .menu-item {
  margin: 0 0 1.5rem;
}
.footermenu .menu-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #484334;
  padding: 0;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .footermenu .menu-item a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .footermenu .menu-item a:hover {
    opacity: 0.5;
  }
}
.footermenu .menu-item a .nav-title {
  display: inline-block;
  font-weight: 900;
  font-family: "Unbounded", "游ゴシック体", 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 1rem 0 0;
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
}
@media screen and (min-width: 768px) {
  .footermenu .menu-item a .nav-title {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1400px) {
  .footermenu .menu-item a .nav-title {
    font-size: 1.7rem;
  }
}
.footermenu .menu-item a .nav-label {
  display: inline-block;
  font-size: 1.1rem;
  letter-spacing: 0.2rem;
}
@media screen and (min-width: 768px) {
  .footermenu .menu-item a .nav-label {
    font-size: 1.1rem;
  }
}
@media screen and (min-width: 1400px) {
  .footermenu .menu-item a .nav-label {
    font-size: 1.4rem;
  }
}
.footermenu .menu-item a .nav-img {
  display: inline-block;
  line-height: 1;
}
.footermenu.footermenu2 {
  margin: 0 0 1.5rem;
}
/*コピーライト*/
.copyright {
  font-weight: 600;
  text-align: center;
  padding: 0 0 1rem;
  font-size: 1rem;
  font-family: "Unbounded", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN,", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #aca79e;
}
@media screen and (min-width: 768px) {
  .copyright {
    font-size: 1.2rem;
  }
}

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

  ■neck

=====================================*/
.neck {
  overflow: hidden;
  position: relative;
  padding: 10rem 0 2rem;
  margin: 0;
  color: #ffffff;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  background-color: #581618;
  background-image: url(./img/neck_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
}
@media screen and (min-width: 768px) {
  .neck {
    padding: 20rem 0 5rem;
    background-image: url(./img/neck_bg.jpg);
  }
}
.neck .container {
  position: relative;
  z-index: 1;
}
.neck .neckWrap {
  padding: 0;
  margin: 0;
}
.neck .neckWrap .neckTitle {
  text-align: center;
  margin: 0 0 2.5rem;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .neck .neckWrap .neckTitle {
    text-align: left;
    margin: 0 0 3.5rem;
  }
}
.neck .neckWrap .neckTitle .main_text {
  font-family: "Unbounded", "游ゴシック体", 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: 900;
  font-size: 3rem;
  display: block;
  margin: 0;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .neck .neckWrap .neckTitle .main_text {
    font-size: 8.4rem;
    margin: 0 0 1rem;
  }
}
.neck .neckWrap .neckTitle .sub_text {
  display: block;
  font-weight: 900;
  font-size: 1.5rem;
}
@media screen and (min-width: 768px) {
  .neck .neckWrap .neckTitle .sub_text {
    font-size: 2rem;
  }
}
.neck .neckText {
  margin-bottom: 3rem;
}
.neck .neckUnder {
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-block;
  font-family: "Unbounded", "游ゴシック体", 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: 900;
  font-size: 5rem;
  color: #8f2e30;
  opacity: 0.47;
  margin: 0;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .neck .neckUnder {
    bottom: -1.5rem;
    font-size: 12.4rem;
  }
}
@media screen and (min-width: 1700px) {
  .neck .neckUnder {
    bottom: -5rem;
    font-size: 24.8rem;
    right: 10%;
  }
}

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

メインビジュアル

=====================================*/
.fv {
  position: relative;
  overflow: hidden;
  padding: 6.3rem 0 0;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  background-image: url(./img/bg_fv.jpg);
}
@media screen and (min-width: 768px) {
  .fv {
    padding: 20rem 0 0;
    margin: 0;
  }
}
.fv .fvWrap {
  padding: 0 1.5rem;
  border-bottom: 0.1rem solid #d8b0b1;
}
@media screen and (min-width: 1400px) {
  .fv .fvWrap {
    padding: 0 4rem;
  }
}
.fv .fvWrap .fvItem {
  margin: 0 0 3rem;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 0 6rem;
  }
}
.fv .fvWrap .fvItem .fvImg {
  text-align: center;
  margin: 0 0 3rem;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem .fvImg {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: 0;
  }
}
.fv .fvWrap .fvItem .fvImg img {
  display: inline-block;
  width: 100%;
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem .fvCatch {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin: 0 6rem 0 0;
  }
}
.fv .fvWrap .fvItem .fvCatch .el_text01 {
  display: block;
  text-align: center;
  margin: 0 0 3rem;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem .fvCatch .el_text01 {
    text-align: right;
  }
}
.fv .fvWrap .fvItem .fvCatch .el_text01 img {
  max-width: 60%;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem .fvCatch .el_text01 img {
    max-width: 100%;
  }
}
.fv .fvWrap .fvItem .fvCatch .el_text02 {
  display: block;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem .fvCatch .el_text02 {
    text-align: right;
  }
}
.fv .fvWrap .fvItem .fvCatch .el_text02 img {
  max-width: 45%;
}
@media screen and (min-width: 768px) {
  .fv .fvWrap .fvItem .fvCatch .el_text02 img {
    max-width: 50%;
  }
}
.fv .fvText {
  display: none;
  padding: 2rem 1.5rem;
  color: #ffffff;
  font-family: "Unbounded", "游ゴシック体", 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: normal;
  text-align: left;
  font-size: 1.3rem;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .fv .fvText {
    display: block;
    font-size: 1.7rem;
    line-height: 1.8;
  }
}
@media screen and (min-width: 1400px) {
  .fv .fvText {
    text-align: center;
    padding: 2rem 4rem;
    font-size: 2.4rem;
  }
}

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

Thank you

=====================================*/
.frontAbout {
  position: relative;
  background-color: #e3e0d9;
  overflow: hidden;
  padding: 5rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .frontAbout {
    padding: 22rem 0 15rem;
  }
}
@media screen and (min-width: 1700px) {
  .frontAbout {
    padding: 22rem 0 27rem;
  }
}
.frontAbout .frontAboutWrap {
  position: relative;
  z-index: 2;
}
.frontAbout .frontAboutWrap .frontAboutImg01 {
  text-align: center;
  margin: 0 0 3rem;
}
.frontAbout .frontAboutWrap .frontAboutImg01 img {
  max-width: 85%;
}
@media screen and (min-width: 768px) {
  .frontAbout .frontAboutWrap .frontAboutImg01 img {
    max-width: 50%;
  }
}
.frontAbout .frontAboutWrap .frontAboutImg02 {
  text-align: center;
  margin: 0 0 3rem;
}
.frontAbout .frontAboutWrap .frontAboutImg02 img {
  max-width: 100%;
}
.frontAbout .frontAboutWrap .text {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .frontAbout .frontAboutWrap .text {
    font-weight: bold;
    line-height: 2;
    margin-bottom: 4rem;
  }
}
@media screen and (min-width: 1700px) {
  .frontAbout .frontAboutWrap .text {
    font-size: 1.8rem;
  }
}
.frontAbout .frontAboutBg01 {
  display: block;
}
@media screen and (min-width: 768px) {
  .frontAbout .frontAboutBg01 {
    display: inline-block;
    position: absolute;
    top: 17rem;
    left: 0;
    max-width: 30%;
  }
}
@media screen and (min-width: 1700px) {
  .frontAbout .frontAboutBg01 {
    max-width: 60.6rem;
  }
}
.frontAbout .frontAboutBg01 .el_img {
  display: block;
  text-align: center;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .frontAbout .frontAboutBg01 .el_img {
    display: inline-block;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
  .frontAbout .frontAboutBg01 .el_img .el_pop {
    position: absolute;
    top: 39%;
    right: 28%;
    max-width: 40%;
  }
}
.frontAbout .frontAboutBg01 .el_img .el_pop img {
  display: inline-block;
  max-width: 33%;
}
@media screen and (min-width: 768px) {
  .frontAbout .frontAboutBg01 .el_img .el_pop img {
    max-width: 100%;
  }
}
.frontAbout .frontAboutBg01 .el_img #rotate {
  display: block;
  margin: 0 auto;
  line-height: 0;
  -webkit-animation: spin 20s linear infinite;
          animation: spin 20s linear infinite;
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.frontAbout .frontAboutBg01 .el_img img {
  max-width: 100%;
}
.frontAbout .frontAboutBg02 {
  display: none;
}
@media screen and (min-width: 768px) {
  .frontAbout .frontAboutBg02 {
    display: inline-block;
    position: absolute;
    top: 11rem;
    right: 0;
    max-width: 30%;
  }
}
@media screen and (min-width: 1700px) {
  .frontAbout .frontAboutBg02 {
    max-width: 70.3rem;
  }
}
.frontAbout .frontAboutBg02 .el_img {
  display: inline-block;
}
.frontAbout .frontAboutBg02 .el_img img {
  max-width: 100%;
}

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

サービス紹介

=====================================*/
.frontService {
  background-color: #e3e0d9;
}
.frontService .frontServiceInner {
  background-color: #581618;
  border-radius: 2rem 2rem 0 0;
}
@media screen and (min-width: 768px) {
  .frontService .frontServiceInner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-radius: 5rem 5rem 0 0;
  }
}
.frontService .frontServiceInner .frontServiceCatch {
  padding: 5rem 3rem 0;
}
@media screen and (min-width: 768px) {
  .frontService .frontServiceInner .frontServiceCatch {
    border-right: 0.1rem solid #734143;
    padding: 7.5rem 0.5rem 1.5rem;
  }
}
.frontService .frontServiceInner .frontServiceCatch p {
  margin: 0;
  padding: 0;
  color: #e5c01b;
  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-weight: 900;
  font-size: 1.7rem;
  letter-spacing: 1px;
}
@media screen and (min-width: 768px) {
  .frontService .frontServiceInner .frontServiceCatch p {
    font-size: 4rem;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    white-space: nowrap;
  }
}
.frontService .frontServiceInner .frontServiceCatch p span {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .frontService .frontServiceInner .frontServiceCatch p span {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
}
.frontService .frontServiceInner .frontServiceWrap {
  width: 100%;
  padding: 0.5rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .frontService .frontServiceInner .frontServiceWrap {
    padding: 20rem 0 15rem;
  }
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background-color: #ffffff;
  border-radius: 2rem;
  overflow: hidden;
  padding: 0;
  margin: 0 0 5rem;
}
@media screen and (min-width: 768px) {
  .frontService .frontServiceInner .frontServiceWrap .container .frontServiceList {
    margin-top: 6rem;
    margin-bottom: 8rem;
  }
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceList .frontServiceListItem {
  list-style: none;
  width: 100%;
  border-bottom: 0.1rem solid #581618;
  padding: 1.5rem;
}
@media screen and (min-width: 768px) {
  .frontService .frontServiceInner .frontServiceWrap .container .frontServiceList .frontServiceListItem {
    max-width: 50%;
    border-right: 0.1rem solid #581618;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .frontService .frontServiceInner .frontServiceWrap .container .frontServiceList .frontServiceListItem:hover {
    opacity: 0.7;
  }
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceList .frontServiceListItem .frontServiceListItemInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceList .frontServiceListItem .frontServiceListItemInner__left {
  max-width: 30%;
  margin: 0 5% 0 0;
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceList .frontServiceListItem .frontServiceListItemInner__left .img {
  text-align: center;
  margin: 0;
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceList .frontServiceListItem .frontServiceListItemInner__left .img img {
  display: inline-block;
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceList .frontServiceListItem .frontServiceListItemInner__right {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .frontService .frontServiceInner .frontServiceWrap .container .frontServiceList .frontServiceListItem .frontServiceListItemInner__right {
    width: auto;
  }
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceList .frontServiceListItem .frontServiceListItemInner__right .frontServiceBtn {
  display: inline-block;
  width: 100%;
  max-width: 100%;
  text-align: left;
  background-color: #7f1b1d;
  color: #ffffff;
  position: relative;
  z-index: 1;
  font-size: 1.4rem;
  font-weight: bold;
  text-decoration: none;
  padding: 1rem 1rem 1rem 3rem;
  margin: 0 auto;
  border: none;
  border-radius: 5rem;
}
@media screen and (min-width: 768px) {
  .frontService .frontServiceInner .frontServiceWrap .container .frontServiceList .frontServiceListItem .frontServiceListItemInner__right .frontServiceBtn {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    min-width: 26.2rem;
    max-width: 26.2rem;
    font-size: 1.7rem;
    padding: 1.3rem 1rem 1.3rem 3rem;
  }
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceList .frontServiceListItem .frontServiceListItemInner__right .frontServiceBtn .el_text {
  display: block;
  font-weight: bold;
  background-image: url(./img/icon_rightarrow01_white.png);
  background-repeat: no-repeat;
  background-position: center right 1rem;
  background-size: 1.5rem auto;
}
@media screen and (min-width: 768px) {
  .frontService .frontServiceInner .frontServiceWrap .container .frontServiceList .frontServiceListItem .frontServiceListItemInner__right .frontServiceBtn .el_text {
    font-size: 1.9rem;
  }
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceList .frontServiceListItem .frontServiceListItemInner__right .frontServiceBtn.--blue {
  background-color: #072839;
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceList .frontServiceListItem .frontServiceListItemInner__right .frontServiceBtn.--green {
  background-color: #123714;
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceList .frontServiceListItem .frontServiceListItemInner__right .frontServiceBtn.--yellow {
  background-color: #a7772c;
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceUnder {
  display: inline-block;
  text-align: left;
  margin-bottom: 3rem;
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceUnder .frontServiceUnderInner {
  display: block;
  padding: 0;
  border-bottom: 0.5rem solid #bfd7e5;
}
@media screen and (min-width: 768px) {
  .frontService .frontServiceInner .frontServiceWrap .container .frontServiceUnder .frontServiceUnderInner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-bottom: 1rem solid #bfd7e5;
  }
}
@media screen and (min-width: 768px) {
  .frontService .frontServiceInner .frontServiceWrap .container .frontServiceUnder .frontServiceUnderInner__left {
    margin-right: 5rem;
  }
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceUnder .frontServiceUnderInner__right dl {
  margin: 0 0 2rem;
  padding: 0;
  color: #ffffff;
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceUnder .frontServiceUnderInner__right dl dt {
  margin: 0;
  padding: 0;
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceUnder .frontServiceUnderInner__right dl dd {
  margin: 0;
  padding: 0;
}
.frontService .frontServiceInner .frontServiceWrap .container .frontServiceUnder .frontServiceUnderInner .largeHeadline01 {
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  .frontService .frontServiceInner .frontServiceWrap .container .frontServiceUnder .frontServiceUnderInner .largeHeadline01 {
    margin-bottom: 3rem;
  }
}

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

三九商会の強み

=====================================*/
.frontStrength {
  background-color: #581618;
}
.frontStrength .frontStrengthInner {
  background-color: #f0efeb;
  border-radius: 2rem 2rem 0 0;
  padding: 5rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .frontStrength .frontStrengthInner {
    border-radius: 5rem 5rem 0 0;
    padding: 17rem 0 15rem;
  }
}
@media screen and (min-width: 768px) {
  .frontStrength .frontStrengthInner .container .largeHeadline01 {
    margin-bottom: 6rem;
  }
}
.frontStrength .frontStrengthInner .container .largeHeadline01 .el_main {
  margin-bottom: 1rem;
}
.frontStrength .frontStrengthInner .container .text {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .frontStrength .frontStrengthInner .container .text {
    font-weight: bold;
    line-height: 2;
    margin-bottom: 6rem;
  }
}
@media screen and (min-width: 1700px) {
  .frontStrength .frontStrengthInner .container .text {
    font-size: 1.8rem;
  }
}
.frontStrength .frontStrengthInner .container .frontStrengthList {
  border-top: 0.1rem solid #190808;
  border-left: 0.1rem solid #190808;
  margin-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .frontStrength .frontStrengthInner .container .frontStrengthList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.frontStrength .frontStrengthInner .container .frontStrengthList .frontStrengthListItem {
  width: 100%;
  padding: 3rem 1.5rem;
  border-right: 0.1rem solid #190808;
  border-bottom: 0.1rem solid #190808;
}
@media screen and (min-width: 768px) {
  .frontStrength .frontStrengthInner .container .frontStrengthList .frontStrengthListItem {
    max-width: 33.3333333333%;
    padding: 3rem;
  }
}
@media screen and (min-width: 1400px) {
  .frontStrength .frontStrengthInner .container .frontStrengthList .frontStrengthListItem {
    padding: 6rem;
  }
}
.frontStrength .frontStrengthInner .container .frontStrengthList .frontStrengthListItem .img {
  display: block;
  text-align: center;
  margin-bottom: 2rem;
}
.frontStrength .frontStrengthInner .container .frontStrengthList .frontStrengthListItem .img img {
  display: inline-block;
}
.frontStrength .frontStrengthInner .container .frontStrengthList .frontStrengthListItem .text {
  text-align: left;
  line-height: 1.5;
  font-weight: bold;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .frontStrength .frontStrengthInner .container .frontStrengthList .frontStrengthListItem .text {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
/*====================================

施工事例

=====================================*/
.frontWorks {
  background-color: #f0efeb;
}
.frontWorks .frontWorksInner {
  background-color: #212629;
  border-radius: 2rem 2rem 0 0;
}
@media screen and (min-width: 768px) {
  .frontWorks .frontWorksInner {
    border-radius: 5rem 5rem 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.frontWorks .frontWorksInner .frontWorksCatch {
  padding: 5rem 3rem 0;
}
@media screen and (min-width: 768px) {
  .frontWorks .frontWorksInner .frontWorksCatch {
    border-right: 0.1rem solid #3c4246;
    padding: 7.5rem 0.5rem 1.5rem;
  }
}
.frontWorks .frontWorksInner .frontWorksCatch p {
  margin: 0;
  padding: 0;
  color: #bfd7e5;
  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-weight: 900;
  font-size: 1.7rem;
  letter-spacing: 1px;
}
@media screen and (min-width: 768px) {
  .frontWorks .frontWorksInner .frontWorksCatch p {
    font-size: 4rem;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    white-space: nowrap;
  }
}
.frontWorks .frontWorksInner .frontWorksCatch p span {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .frontWorks .frontWorksInner .frontWorksCatch p span {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
}
.frontWorks .frontWorksInner .frontWorksWrap {
  width: 100%;
  padding: 0.5rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .frontWorks .frontWorksInner .frontWorksWrap {
    padding: 20rem 0 15rem;
  }
}
@media screen and (min-width: 768px) {
  .frontWorks .frontWorksInner .frontWorksWrap .container .frontWorksHead {
    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;
  }
}
.frontWorks .frontWorksInner .frontWorksWrap .container .frontWorksHead__right {
  display: none;
}
@media screen and (min-width: 768px) {
  .frontWorks .frontWorksInner .frontWorksWrap .container .frontWorksHead__right {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .frontWorksContents {
    margin-top: 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    border-top: 0.1rem solid #3c4246;
    border-bottom: 0.1rem solid #3c4246;
    padding: 3rem 0;
  }
}
.frontWorksContents .frontWorksContentsItem {
  width: 100%;
  border-bottom: 0.1rem solid #3c4246;
  padding: 0 0 1.5rem;
  margin: 0 0 3rem;
}
@media screen and (min-width: 768px) {
  .frontWorksContents .frontWorksContentsItem {
    max-width: 33.3333333333%;
    border-left: 0.1rem solid #3c4246;
    border-bottom: none;
    padding: 0;
    margin: 0;
  }
  .frontWorksContents .frontWorksContentsItem:last-child {
    border-right: 0.1rem solid #3c4246;
    border-bottom: none;
  }
}
.frontWorksContents .frontWorksContentsItem a {
  display: block;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .frontWorksContents .frontWorksContentsItem a {
    padding: 3rem;
  }
}
.frontWorksContents .frontWorksContentsItem a .frontWorksContentsImg {
  position: relative;
  display: block;
  padding-top: 56.25%;
  margin-bottom: 1rem;
  overflow: hidden;
  cursor: pointer;
}
.frontWorksContents .frontWorksContentsItem a .frontWorksContentsImg img {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
}
.frontWorksContents .frontWorksContentsItem a .frontWorksContentsTitle {
  color: #ffffff;
  font-weight: bold;
  font-size: 1.7rem;
}

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

お知らせ

=====================================*/
.frontNews {
  background-color: #212629;
}
.frontNews .frontNewsInner {
  background-color: #eeebe5;
  border-radius: 2rem 2rem 0 0;
  padding: 5rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .frontNews .frontNewsInner {
    border-radius: 5rem 5rem 0 0;
    padding: 16rem 0 11rem;
  }
}
@media screen and (min-width: 768px) {
  .frontNews .frontNewsInner .container .frontNewsWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.frontNews .frontNewsInner .container .frontNewsWrap__left {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .frontNews .frontNewsInner .container .frontNewsWrap__left {
    max-width: 30rem;
    margin: 0 5rem 0 0;
    padding: 4rem 0 0;
  }
}
.frontNews .frontNewsInner .container .frontNewsWrap__left .largeHeadline01 {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .frontNews .frontNewsInner .container .frontNewsWrap__left .largeHeadline01 {
    margin-bottom: 6rem;
  }
}
.frontNews .frontNewsInner .container .frontNewsWrap__right {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .frontNews .frontNewsInner .container .frontNewsWrap__right {
    max-width: 77rem;
  }
}

.frontNewsContents {
  margin: 0 0 3rem;
}
.frontNewsContents .frontNewsContentsItem {
  border-bottom: 0.1rem solid #000000;
}
.frontNewsContents .frontNewsContentsItem a {
  display: block;
  padding: 3rem 0;
  background-image: url(./img/icon_rightarrow02_black.png);
  background-repeat: no-repeat;
  background-position: center right 1rem;
  background-size: 2rem auto;
}
@media screen and (min-width: 768px) {
  .frontNewsContents .frontNewsContentsItem a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 4.5rem 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .frontNewsContents .frontNewsContentsItem a:hover {
    opacity: 0.7;
  }
}
.frontNewsContents .frontNewsContentsItem a .frontNewsContentsTime {
  margin: 0 0 1rem;
  color: #7a6228;
  font-family: "Unbounded", "游ゴシック体", 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: 900;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .frontNewsContents .frontNewsContentsItem a .frontNewsContentsTime {
    margin: 0 3rem 0 0;
  }
}
.frontNewsContents .frontNewsContentsItem a .frontNewsContentsTime span {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .frontNewsContents .frontNewsContentsItem a .frontNewsContentsTitle {
    font-size: 1.6rem;
  }
}

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

スープアニメーション

=====================================*/
.frontAnime {
  background-color: #ffffff;
}

.frontAnimeWrap {
  border-top: 0.1rem solid #190808;
  border-bottom: 0.1rem solid #190808;
}

.frontAnimeLoop {
  overflow: hidden;
  width: 100%;
  margin: 0;
  position: relative;
}
.frontAnimeLoop::after {
  content: "";
  display: block;
  height: 0.1rem;
  width: calc(100% - 6rem);
  position: absolute;
  bottom: 0;
  left: 3rem;
  background-color: #190808;
}
.frontAnimeLoop .loop-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: scrollLeft 10s linear infinite;
          animation: scrollLeft 10s linear infinite;
  padding: 2rem 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .frontAnimeLoop .loop-track {
    -webkit-animation: scrollLeft 20s linear infinite;
            animation: scrollLeft 20s linear infinite;
  }
}
.frontAnimeLoop .loop-track img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  width: auto;
  max-width: none;
  height: 4.6rem;
}
@media screen and (min-width: 768px) {
  .frontAnimeLoop .loop-track img {
    height: 8rem;
  }
}
.frontAnimeLoop:last-child::after {
  display: none;
}

#frontAnimeLoop01 .loop-track {
  -webkit-animation: scrollRight 10s linear infinite;
          animation: scrollRight 10s linear infinite;
}
@media screen and (min-width: 768px) {
  #frontAnimeLoop01 .loop-track {
    -webkit-animation: scrollRight 20s linear infinite;
            animation: scrollRight 20s linear infinite;
  }
}

#frontAnimeLoop02 .loop-track {
  -webkit-animation: scrollLeft 10s linear infinite;
          animation: scrollLeft 10s linear infinite;
}
@media screen and (min-width: 768px) {
  #frontAnimeLoop02 .loop-track {
    -webkit-animation: scrollLeft 20s linear infinite;
            animation: scrollLeft 20s linear infinite;
  }
}

@-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%);
  }
}
@-webkit-keyframes scrollRight {
  0% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes scrollRight {
  0% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
/*====================================

お問い合わせ部品

=====================================*/
.frontContact {
  padding: 5rem 0 2rem;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  background-image: url(./img/bg_contact.jpg);
}
@media screen and (min-width: 768px) {
  .frontContact {
    padding: 10rem 0 7rem;
  }
}
@media screen and (min-width: 768px) {
  .frontContact .frontContactWrap {
    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;
  }
}
@media screen and (min-width: 768px) {
  .frontContact .frontContactWrap .frontContactWrap__left {
    margin: 0 5rem 0 0;
  }
}
@media screen and (min-width: 768px) {
  .frontContact .frontContactWrap .frontContactWrap__right {
    max-width: 52.4rem;
  }
}
.frontContact .frontContactWrap .frontContactWrap__right .frontContactForm {
  display: block;
  text-align: center;
  border-radius: 2rem 2rem 0 0;
  background-color: #7f1b1d;
  padding: 3.5rem 1rem;
}
@media screen and (min-width: 768px) {
  .frontContact .frontContactWrap .frontContactWrap__right .frontContactForm {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    padding: 3.7rem 2.5rem;
  }
  .frontContact .frontContactWrap .frontContactWrap__right .frontContactForm:hover {
    opacity: 0.7;
  }
}
.frontContact .frontContactWrap .frontContactWrap__right .frontContactForm img {
  display: inline-block;
  max-width: 70%;
}
@media screen and (min-width: 768px) {
  .frontContact .frontContactWrap .frontContactWrap__right .frontContactForm img {
    max-width: 100%;
  }
}
.frontContact .frontContactWrap .frontContactWrap__right .frontContactLine {
  display: block;
  text-align: center;
  border-radius: 0 0 2rem 2rem;
  background-color: #f0efeb;
  padding: 2.9rem 1rem;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .frontContact .frontContactWrap .frontContactWrap__right .frontContactLine {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    padding: 2.9rem 2.5rem;
  }
  .frontContact .frontContactWrap .frontContactWrap__right .frontContactLine:hover {
    opacity: 0.7;
  }
}
.frontContact .frontContactWrap .frontContactWrap__right .frontContactLine img {
  display: inline-block;
  max-width: 70%;
}
@media screen and (min-width: 768px) {
  .frontContact .frontContactWrap .frontContactWrap__right .frontContactLine img {
    max-width: 100%;
  }
}

/*リンク集*/
.serviceLink {
  border-top: 0.1rem solid #000000;
  border-bottom: 0.1rem solid #000000;
  padding: 5rem 0;
  margin-bottom: 3rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .serviceLink {
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  .serviceLink .serviceLinkWrap {
    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;
  }
}
.serviceLink .serviceLinkWrap .serviceLinkItem {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .serviceLink .serviceLinkWrap .serviceLinkItem {
    max-width: 29.7rem;
    padding: 3rem 0 0;
  }
}
@media screen and (max-width: 767px) {
  .serviceLink .serviceLinkWrap .serviceLinkItem.order-1 {
    border-bottom: 0.1rem dotted #d8b0b1;
    margin-bottom: 3rem;
  }
}
.serviceLink .serviceLinkWrap .serviceLinkImg {
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .serviceLink .serviceLinkWrap .serviceLinkImg {
    max-width: 49.5rem;
    margin: 0 3rem;
  }
}
.serviceLink .serviceLinkWrap .serviceLinkImg .el_pop {
  display: block;
  position: relative;
}
@media screen and (min-width: 768px) {
  .serviceLink .serviceLinkWrap .serviceLinkImg .el_pop {
    padding-top: 90%;
  }
}
.serviceLink .serviceLinkWrap .serviceLinkImg .el_pop img {
  display: inline-block;
  width: 50%;
}
@media screen and (min-width: 768px) {
  .serviceLink .serviceLinkWrap .serviceLinkImg .el_pop img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

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

コンテンツ

=====================================*/
.serviceContents {
  background-color: #f0efeb;
}
.serviceContents .serviceContentsWrap {
  background-color: #6b1e20;
}
.serviceContents .serviceContentsWrap .serviceContentsHead {
  width: 100%;
  background-color: #f0efeb;
  padding: 5rem 3rem;
}
@media screen and (min-width: 992px) {
  .serviceContents .serviceContentsWrap .serviceContentsHead {
    padding: 20rem 3rem 3rem;
    border-radius: 7rem 0 0 0;
  }
}
.serviceContents .serviceContentsWrap .serviceContentsHead .serviceContentsHeadInner {
  margin: auto;
}
@media screen and (min-width: 992px) {
  .serviceContents .serviceContentsWrap .serviceContentsHead .serviceContentsHeadInner {
    max-width: 43.2rem;
  }
}
@media screen and (min-width: 992px) {
  .serviceContents .serviceContentsWrap .serviceContentsHead .serviceContentsHeadInner .text {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 991px) {
  .serviceContents .serviceContentsWrap .serviceContentsHead .serviceContentsHeadInner .row {
    max-width: 41rem;
    margin: auto;
  }
}
.serviceContents .serviceContentsWrap .serviceContentsBody {
  padding: 0;
  margin: 0;
}
.serviceContents .serviceContentsWrap .serviceContentsBody .serviceContentsBodyItem {
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding: 0;
}
@media screen and (min-width: 992px) {
  .serviceContents .serviceContentsWrap .serviceContentsBody .serviceContentsBodyItem {
    background-color: #6d1f21;
    padding: 0;
  }
}
.serviceContents .serviceContentsWrap .serviceContentsBody .serviceContentsBodyItem .serviceContentsBodyItemInner {
  overflow: hidden;
  background-color: #ffffff;
  max-width: 46rem;
  margin: auto;
  padding: 0;
}
@media screen and (min-width: 992px) {
  .serviceContents .serviceContentsWrap .serviceContentsBody .serviceContentsBodyItem .serviceContentsBodyItemInner {
    max-width: 100%;
    padding: 5rem 5rem 2rem;
    position: relative;
    top: 5rem;
  }
}
.serviceContents .serviceContentsWrap .serviceContentsBody .serviceContentsBodyItem .serviceContentsBodyItemInner .img {
  text-align: center;
  margin: 0;
}
@media screen and (min-width: 992px) {
  .serviceContents .serviceContentsWrap .serviceContentsBody .serviceContentsBodyItem .serviceContentsBodyItemInner .img {
    margin-bottom: 1.5rem;
  }
}
.serviceContents .serviceContentsWrap .serviceContentsBody .serviceContentsBodyItem .serviceContentsBodyItemInner .img img {
  display: inline-block;
}
@media screen and (max-width: 991px) {
  .serviceContents .serviceContentsWrap .serviceContentsBody .serviceContentsBodyItem .serviceContentsBodyItemInner .largeHeadline03 {
    display: none;
  }
}
.serviceContents .serviceContentsWrap .serviceContentsBody.--0 .serviceContentsBodyItem {
  background-image: url(./img/service_painting_bg.jpg);
}
.serviceContents .serviceContentsWrap .serviceContentsBody.--1 .serviceContentsBodyItem {
  background-image: url(./img/service_waterproofing_bg.jpg);
}
.serviceContents .serviceContentsWrap .serviceContentsBody.--2 .serviceContentsBodyItem {
  background-image: url(./img/service_plastering_bg.jpg);
}
.serviceContents .serviceContentsWrap .serviceContentsBody.--3 .serviceContentsBodyItem {
  background-image: url(./img/service_sealing_bg.jpg);
}

.pop {
  cursor: pointer;
}

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

コンテンツ

=====================================*/
.strengthContents {
  padding: 0;
  background-color: #6b1e20;
}
.strengthContents .strengthContentsInner {
  background-color: #f0efeb;
  padding: 5rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .strengthContents .strengthContentsInner {
    border-radius: 7rem 7rem 0 0;
    padding: 15rem 0 0;
  }
}
.strengthContents .container {
  max-width: 135rem;
}
.strengthContents .strengthContentsWrap .strengthContentsWrapItem {
  padding: 0 0 2rem;
}
@media screen and (min-width: 768px) {
  .strengthContents .strengthContentsWrap .strengthContentsWrapItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 0 8rem;
  }
}
.strengthContents .strengthContentsWrap .strengthContentsWrapItem .strengthContentsWrapItem__right {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .strengthContents .strengthContentsWrap .strengthContentsWrapItem .strengthContentsWrapItem__right {
    max-width: 59.5rem;
    margin: 0 3rem 0 0;
  }
}
@media screen and (min-width: 1400px) {
  .strengthContents .strengthContentsWrap .strengthContentsWrapItem .strengthContentsWrapItem__right {
    margin: 0;
  }
}
.strengthContents .strengthContentsWrap .strengthContentsWrapItem .strengthContentsWrapItem__left {
  width: 100%;
  max-width: 59.5rem;
}
@media screen and (min-width: 768px) {
  .strengthContents .strengthContentsWrap .strengthContentsWrapItem .strengthContentsWrapItem__left .strengthContentsWrapItem__leftInner {
    max-width: 43.9rem;
    margin: auto;
  }
}
@media screen and (min-width: 1200px) {
  .strengthContents .strengthContentsWrap .strengthContentsWrapItem .strengthContentsWrapItem__left .strengthContentsWrapItem__leftInner .mediumHeadline03 .el_main {
    font-size: 4rem;
    font-weight: 900;
  }
}
@media screen and (min-width: 768px) {
  .strengthContents .strengthContentsWrap .strengthContentsWrapItem.--invert .strengthContentsWrapItem__right {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: 0 0 0 3rem;
  }
}
@media screen and (min-width: 768px) {
  .strengthContents .strengthContentsWrap .strengthContentsWrapItem.--invert .strengthContentsWrapItem__left {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

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

サービス

=====================================*/
.strengthService {
  background-color: #212629;
  padding: 5rem 0;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .strengthService {
    padding: 10rem 0 9rem;
  }
}
.strengthService .largeHeadline01 {
  color: #ffffff;
}
.strengthService .largeHeadline01 .el_main::first-letter {
  color: #bfd7e5;
}
.strengthService .strengthServiceWrap {
  margin: auto;
  padding: 0 3rem;
  max-width: 192rem;
}
@media screen and (min-width: 768px) {
  .strengthService .strengthServiceWrap {
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-top: 0.1rem solid #3b4347;
    border-bottom: 0.1rem solid #3b4347;
  }
}
.strengthService .strengthServiceWrap .strengthServiceItem {
  width: 100%;
  border-right: 0.1rem solid #3b4347;
  margin: 0 0 3rem;
}
@media screen and (min-width: 768px) {
  .strengthService .strengthServiceWrap .strengthServiceItem {
    padding: 1.5rem;
    margin: 0;
  }
}
@media screen and (min-width: 1200px) {
  .strengthService .strengthServiceWrap .strengthServiceItem {
    padding: 5rem;
  }
}
.strengthService .strengthServiceWrap .strengthServiceItem a {
  display: block;
}
.strengthService .strengthServiceWrap .strengthServiceItem:last-child {
  border-right: 0.1rem solid #3b4347;
}

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

代表挨拶

=====================================*/
.aboutMessage {
  padding: 0;
  background-color: #6b1e20;
}
.aboutMessage .aboutMessageInner {
  background-color: #f0efeb;
  padding: 5rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .aboutMessage .aboutMessageInner {
    border-radius: 7rem 7rem 0 0;
    padding: 10rem 0 7rem;
  }
}

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

会社概要

=====================================*/
.aboutProfile {
  padding: 0;
  background-color: #f0efeb;
}
.aboutProfile .aboutProfileInner {
  background-color: #212629;
  padding: 5rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .aboutProfile .aboutProfileInner {
    border-radius: 7rem 7rem 0 0;
    padding: 10rem 0 7rem;
  }
}

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

アクセス

=====================================*/
.aboutAccess {
  padding: 0;
  background-color: #212629;
}
.aboutAccess .aboutAccessInner {
  background-color: #f0efeb;
  padding: 5rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .aboutAccess .aboutAccessInner {
    border-radius: 7rem 7rem 0 0;
    padding: 10rem 0 7rem;
  }
}

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

一目でわかる!塗料の違い

=====================================*/
.planFeature {
  padding: 0;
  background-color: #6b1e20;
}
.planFeature .planFeatureInner {
  background-color: #f0efeb;
  padding: 5rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .planFeature .planFeatureInner {
    border-radius: 7rem 7rem 0 0;
    padding: 15rem 0 12rem;
  }
}

.planFeatureWrap01 {
  margin-bottom: 6rem;
}
@media screen and (min-width: 768px) {
  .planFeatureWrap01 {
    margin-bottom: 12rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.planFeatureWrap01 .planFeatureTitle {
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url(./img/plan_feature_bg.jpg);
  background-size: cover;
  padding: 1rem 1.5rem;
  margin: 0 0 1rem;
}
@media screen and (min-width: 768px) {
  .planFeatureWrap01 .planFeatureTitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 52.5rem;
    padding: 1.5rem;
    margin: 0 1rem 0 0;
  }
}
.planFeatureWrap01 .planFeatureTitle .largeHeadline01 {
  text-align: center;
  margin: 0;
}
.planFeatureWrap01 .planFeatureTitle .largeHeadline01 .el_main {
  display: block;
  color: #ffffff;
  font-size: 2.4rem;
}
@media screen and (min-width: 768px) {
  .planFeatureWrap01 .planFeatureTitle .largeHeadline01 .el_main {
    font-size: 4.6rem;
  }
}
.planFeatureWrap01 .planFeatureTitle .largeHeadline01 .el_main::first-letter {
  color: #ffffff;
}
.planFeatureWrap01 .planFeatureTitle .largeHeadline01 .el_sub {
  display: block;
  color: #bfd7e5;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .planFeatureWrap01 .planFeatureTitle .largeHeadline01 .el_sub {
    font-size: 2rem;
  }
}
.planFeatureWrap01 .planFeatureImg {
  width: 100%;
}
.planFeatureWrap01 .planFeatureImg img {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .planFeatureWrap02 .mediumHeadline03 .el_main {
    font-size: 3.8rem;
  }
}
.planFeatureWrap02 .planFeatureWrap02Text {
  margin-bottom: 4rem;
}
@media screen and (min-width: 768px) {
  .planFeatureWrap02 .planFeatureWrap02Text {
    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;
  }
}
.planFeatureWrap02 .planFeatureWrap02Text .el_text {
  display: inline-block;
}
.planFeatureWrap02 .planFeatureWrap02Text .el_border {
  display: inline-block;
  font-weight: bold;
  margin: 0.5rem 0.5rem 0.5rem 0;
}
@media screen and (min-width: 768px) {
  .planFeatureWrap02 .planFeatureWrap02Text .el_border {
    font-size: 1.7rem;
    margin: 0 0.5rem;
  }
}
.planFeatureWrap02 .planFeatureWrap02Text .el_border span {
  display: inline-block;
  border-radius: 0.5rem;
  border: 0.2rem solid #000000;
  padding: 0.3rem 1rem;
}
.planFeatureWrap02 .planFeatureDetail {
  margin-top: 5rem;
  margin-bottom: 6rem;
  border-radius: 1.5rem 0 0 1.5rem;
  overflow: hidden;
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem {
  border-left-width: 3rem;
  background: #ffffff;
  padding: 3rem 1.5rem 0;
}
@media screen and (min-width: 768px) {
  .planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem {
    padding: 4rem 4rem 1rem;
  }
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem.--red {
  border-top: 0.3rem solid #8b1f1f;
  border-right: 0.3rem solid #8b1f1f;
  border-bottom: 0.3rem solid #8b1f1f;
  border-left: 3rem solid #8b1f1f;
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem.--green {
  border-left: 3rem solid #215d41;
  border-right: 0.1rem solid #000000;
  border-bottom: 0.1rem solid #000000;
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem.--blue {
  border-left: 3rem solid #234b5d;
  border-right: 0.1rem solid #000000;
  border-bottom: 0.1rem solid #000000;
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner {
  margin-bottom: 5rem;
}
@media screen and (min-width: 992px) {
  .planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner {
    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;
  }
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__left {
  width: 100%;
  margin: 0 0 3rem;
}
@media screen and (min-width: 992px) {
  .planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__left {
    max-width: 50rem;
    border-right: 0.1rem solid #000000;
    padding: 0 3rem 0 0;
    margin: 0 3rem 0 0;
  }
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__left .planFeatureDetailTable {
  width: 100%;
  border-collapse: collapse;
  border-top: 0.1rem solid #000000;
  overflow: hidden;
  border-radius: 1rem 1rem 0 0;
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__left .planFeatureDetailTable tbody tr th {
  border-right: 0.1rem solid #000000;
  border-bottom: 0.1rem solid #000000;
  color: #ffffff;
  padding: 0.3rem 1rem;
  text-align: center;
  font-size: 1.5rem;
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__left .planFeatureDetailTable tbody tr th:first-child {
  background-color: #641314;
  border-left: 0.1rem solid #000000;
  border-right: 0.1rem solid #ffffff;
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__left .planFeatureDetailTable tbody tr th:last-child {
  background-color: #072839;
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__left .planFeatureDetailTable tbody tr td {
  border-right: 0.1rem solid #000000;
  border-bottom: 0.1rem solid #000000;
  padding: 0.3rem 1rem;
  text-align: center;
  font-size: 1.5rem;
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__left .planFeatureDetailTable tbody tr td:first-child {
  border-left: 0.1rem solid #000000;
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__right {
  width: 100%;
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__right .planFeatureDetailItemWrap {
  display: block;
}
@media screen and (min-width: 768px) {
  .planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__right .planFeatureDetailItemWrap {
    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;
  }
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__right .planFeatureDetailItemWrap .planFeatureDetailItemWrap__left {
  width: 100%;
  margin: 0 0 3rem;
}
@media screen and (min-width: 768px) {
  .planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__right .planFeatureDetailItemWrap .planFeatureDetailItemWrap__left {
    margin: 0 3rem 0 0;
  }
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__right .planFeatureDetailItemWrap .planFeatureDetailItemWrap__left .planFeaturePlace {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-weight: bold;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__right .planFeatureDetailItemWrap .planFeatureDetailItemWrap__left .planFeaturePlace {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__right .planFeatureDetailItemWrap .planFeatureDetailItemWrap__left .planFeaturePlace .el_text01 {
  font-size: 5.5rem;
  font-weight: bold;
  font-family: "Barlow Condensed", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN,", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #8b1f1f;
}
@media screen and (min-width: 768px) {
  .planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__right .planFeatureDetailItemWrap .planFeatureDetailItemWrap__left .planFeaturePlace .el_text01 {
    font-size: 7rem;
  }
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__right .planFeatureDetailItemWrap .planFeatureDetailItemWrap__left .planFeaturePlace .el_text02 {
  font-size: 2.5rem;
  font-weight: 900;
  color: #8b1f1f;
}
@media screen and (min-width: 768px) {
  .planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__right .planFeatureDetailItemWrap .planFeatureDetailItemWrap__left .planFeaturePlace .el_text02 {
    font-size: 3.4rem;
  }
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__right .planFeatureDetailItemWrap .planFeatureDetailItemWrap__left .planFeaturePlace .el_text03 {
  font-size: 2.5rem;
}
@media screen and (min-width: 768px) {
  .planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__right .planFeatureDetailItemWrap .planFeatureDetailItemWrap__left .planFeaturePlace .el_text03 {
    font-size: 3.4rem;
  }
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__right .planFeatureDetailItemWrap .planFeatureDetailItemWrap__right {
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__right .planFeatureDetailItemWrap .planFeatureDetailItemWrap__right {
    max-width: 20.3rem;
  }
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner .planFeatureDetailItemInner__right .planFeatureDetailItemWrap .planFeatureDetailItemWrap__right img {
  display: inline-block;
  max-width: 100%;
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner02 {
  position: relative;
  background-color: #f0efeb;
  padding: 1.5em 3rem 1rem;
  margin-bottom: 3rem;
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner02 .smallHeadline05 {
  position: absolute;
  top: -2rem;
  left: 3rem;
}
.planFeatureWrap02 .planFeatureDetail .planFeatureDetailItem .planFeatureDetailItemInner02 p {
  color: #190808;
}

.planFeatureWrap03 dl {
  padding: 3rem;
  margin-bottom: 3rem;
  background-color: #ffffff;
  border: 0.1rem solid #000000;
  border-radius: 2rem;
}
.planFeatureWrap03 dl dt {
  font-weight: bold;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .planFeatureWrap03 dl dt {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 768px) {
  .planFeatureWrap03 dl dd {
    font-size: 1.5rem;
    font-weight: normal;
  }
}

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

メールフォーム

=====================================*/
.contactSec {
  padding: 0;
  background-color: #6b1e20;
}
.contactSec .contactSecInner {
  background-color: #ffffff;
  padding: 5rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .contactSec .contactSecInner {
    border-radius: 7rem 7rem 0 0;
    padding: 10rem 0 7rem;
  }
}

table.set {
  width: 100%;
  max-width: 100rem;
  border-collapse: collapse;
  margin: 0 auto 3rem;
}
table.set tbody tr th {
  width: 40%;
  padding: 3rem 1rem 3rem 0;
  font-weight: bold;
  vertical-align: top;
  text-align: left;
  color: #000000;
  border-bottom: 1px solid #cfd6d6;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  table.set tbody tr th {
    width: 25%;
  }
}
table.set tbody tr th .inner {
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
table.set tbody tr th .red {
  display: block;
  width: 35px;
  height: 18px;
  margin: 0 0 0 1rem;
  padding: 4px 4px 0;
  color: #ffffff;
  background: #581618;
  font-weight: bold;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  border-radius: 0.4rem;
}
table.set tbody tr th p {
  padding: 0;
  margin: 0;
}
table.set tbody tr td {
  width: 60%;
  padding: 3rem 0 3rem 1rem;
  vertical-align: top;
  color: #000000;
  border-bottom: 1px solid #cfd6d6;
}
@media screen and (min-width: 768px) {
  table.set tbody tr td {
    width: 75%;
    padding-right: 6rem;
  }
}
table.set tbody tr td input[type=text],
table.set tbody tr td input[type=email],
table.set tbody tr td input[type=tel],
table.set tbody tr td select,
table.set tbody tr td textarea {
  width: 100%;
  -webkit-box-shadow: none;
          box-shadow: none;
  line-height: 1.8;
  padding: 0.2rem 0.5rem;
  border-radius: 0.2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: 4rem;
  height: 4rem;
  border-color: #cfd6d6;
}
table.set tbody tr td .row {
  max-width: 49rem;
}
table.set tbody tr td p {
  padding: 0;
  margin: 0;
}
table.set tbody tr td textarea {
  resize: vertical;
  height: 29.6rem;
}
table.set tbody tr td .set_scroll {
  background-color: #f0efeb;
  border-radius: 0.4rem;
  max-height: 20rem;
  padding: 1.5rem 2rem;
  margin: 0;
  overflow: scroll;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overflow: hidden;
  overflow-y: auto;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  table.set tbody tr td .set_scroll {
    padding: 2.5rem 3rem;
  }
}
table.set tbody tr td .codeBtn {
  display: inline-block;
  line-height: 1;
  padding: 0.6rem 1rem;
  border: 0.1rem solid #581618;
  border-radius: 0.4rem;
  text-align: center;
  color: #581618;
  background-color: #ffffff;
  cursor: pointer;
}
table.set tbody tr td .codeBtn br {
  display: none;
}
table.set tbody tr td.input_half input, table.set tbody tr td.input_half select {
  width: 100%;
  max-width: 100%;
}

/*送信ボタン*/
.formBtn {
  text-align: center;
}
.formBtn p {
  display: inline-block;
  position: relative;
  padding: 0;
  margin: 0 0 3rem;
  width: 100%;
}
.formBtn p .wpcf7-submit {
  display: inline-block;
  width: 100%;
  max-width: 41rem;
  text-align: center;
  background-color: #7f1b1d;
  color: #ffffff;
  position: relative;
  z-index: 1;
  font-weight: bold;
  text-decoration: none;
  padding: 2.3rem 1rem;
  margin: 0 auto 3rem;
  border: none;
  border-radius: 5rem;
}
@media screen and (min-width: 768px) {
  .formBtn p .wpcf7-submit {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .formBtn p .wpcf7-submit:hover {
    background-color: #5a090a;
    color: #ffffff;
  }
}

/*cf7設定*/
.wpcf7-form-control-wrap.request .wpcf7-list-item {
  display: block;
}

.wpcf7-checkbox .wpcf7-list-item {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .wpcf7-checkbox .wpcf7-list-item {
    margin-right: 3rem !important;
  }
}

.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: #ffffff;
  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%);
}

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;
}

@media screen and (min-width: 768px) {
  .wpcf7-checkbox .wpcf7-list-item {
    margin-right: 2.4rem;
  }
}

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

  ■お知らせ一覧

=====================================*/
.archiveNews {
  padding: 0;
  background-color: #6b1e20;
}
.archiveNews .archiveNewsInner {
  background-color: #ffffff;
  padding: 5rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .archiveNews .archiveNewsInner {
    border-radius: 7rem 7rem 0 0;
    padding: 10rem 0 7rem;
  }
}

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

  ■施工事例一覧

=====================================*/
.archiveWorks {
  padding: 0;
  background-color: #6b1e20;
}
.archiveWorks .archiveWorksInner {
  background-color: #ffffff;
  padding: 5rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .archiveWorks .archiveWorksInner {
    border-radius: 7rem 7rem 0 0;
    padding: 10rem 0 7rem;
  }
}
.archiveWorks .archiveWorksInner .archiveWorksWrap .archiveWorksItem {
  margin-bottom: 5rem;
  padding-bottom: 3rem;
  border-bottom: 0.1rem solid #5a090a;
}
.archiveWorks .archiveWorksInner .archiveWorksWrap .archiveWorksItem .archiveWorksTitle {
  font-size: 2.1rem;
  font-weight: bold;
  line-height: 1.4;
  margin: 0 0 2rem;
  padding: 0;
  word-break: break-all;
}
@media screen and (min-width: 768px) {
  .archiveWorks .archiveWorksInner .archiveWorksWrap .archiveWorksItem .archiveWorksTitle {
    font-size: 2.4rem;
  }
}
.archiveWorks .archiveWorksInner .archiveWorksWrap .archiveWorksItem .archiveWorksEditor {
  margin-bottom: 2rem;
}
.archiveWorks .archiveWorksInner .archiveWorksWrap .archiveWorksItem .archiveWorksGallery {
  width: 100%;
  min-width: calc(100% + 3rem);
  padding: 0;
  margin: 0 0 0 -1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.archiveWorks .archiveWorksInner .archiveWorksWrap .archiveWorksItem .archiveWorksGallery li {
  width: 100%;
  max-width: calc(50% - 3rem);
  padding: 0;
  margin: 0 1.5rem 1.5rem;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .archiveWorks .archiveWorksInner .archiveWorksWrap .archiveWorksItem .archiveWorksGallery li {
    max-width: calc(33.3333333333% - 3rem);
  }
}
@media screen and (min-width: 992px) {
  .archiveWorks .archiveWorksInner .archiveWorksWrap .archiveWorksItem .archiveWorksGallery li {
    max-width: calc(25% - 3rem);
  }
}
.archiveWorks .archiveWorksInner .archiveWorksWrap .archiveWorksItem .archiveWorksGallery li .pop {
  position: relative;
  display: block;
  padding-top: 56.25%;
  margin-bottom: 1.5rem;
  overflow: hidden;
  cursor: pointer;
}
.archiveWorks .archiveWorksInner .archiveWorksWrap .archiveWorksItem .archiveWorksGallery li .pop img {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
}

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

  ■投稿詳細

=====================================*/
.singlePost {
  padding: 0;
  background-color: #6b1e20;
}
.singlePost .singlePostInner {
  background-color: #ffffff;
  padding: 5rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .singlePost .singlePostInner {
    border-radius: 7rem 7rem 0 0;
    padding: 10rem 0 7rem;
  }
}
.singlePost .singlePostInner .singlePostWrap .singlePostDate {
  margin: 0 0 1rem;
  color: #7a6228;
  font-family: "Unbounded", "游ゴシック体", 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: 900;
  line-height: 1;
}
.singlePost .singlePostInner .singlePostWrap .singlePostHeadline {
  font-size: 2.1rem;
  font-weight: bold;
  line-height: 1.4;
  margin: 0;
  padding: 0 0 1rem;
  border-bottom: 0.1rem solid #cfd6d6;
  word-break: break-all;
}
@media screen and (min-width: 768px) {
  .singlePost .singlePostInner .singlePostWrap .singlePostHeadline {
    font-size: 2.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;
  }
}

.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 */