@charset "UTF-8";
/* ///////////////////////////////////////////
  style.scss - LP用
  バーチャルホームステージングサービス
  https://ariesservice.jp/home-staging/
/////////////////////////////////////////// */
/*====================================
  00_base
=====================================*/
/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  画像
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  リンクボタン
///////////////////////////////// */
/* /////////////////////////////////
  FlexBox
///////////////////////////////// */
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/*
 * ress.css • v2.0.4
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

*,
::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
   # ================================================================= */
hr {
  overflow: visible; /* Show the overflow in Edge and IE */
  height: 0; /* Add the correct box sizing in Firefox */
}

details,
main {
  display: block; /* Render the `main` element consistently in IE. */
}

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

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

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

abbr[title] {
  border-bottom: none; /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
}

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

pre {
  font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* 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
   # ================================================================= */
input {
  border-radius: 0;
}

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

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */
}

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

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */
}

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

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

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

/* 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 {
  border-style: none;
  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 */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

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 */
  max-width: 100%; /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
  color: inherit;
  font: inherit; /* Change font properties to `inherit` in Chrome and 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([fill]) {
  fill: currentColor;
}

/* # =================================================================
   # 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;
}

/*====================================
  01_layout
=====================================*/
/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  画像
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  リンクボタン
///////////////////////////////// */
/* /////////////////////////////////
  FlexBox
///////////////////////////////// */
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/* ///////////////////////////////////////////
  layout.scss
  全体のレイアウトに関する記述
/////////////////////////////////////////// */
html {
  font-size: 62.5%;
}

body {
  margin: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  background-color: #fff;
  color: #707070;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  overflow-x: hidden;
}
@media print, screen and (min-width: 769px) {
  body {
    font-size: 1.8rem;
    line-height: 1.4;
    padding: 0;
  }
}
@media only screen and (max-width: 768px) {
  body {
    font-size: 1.4rem;
    line-height: 1.4;
    padding: 0;
  }
}
body.fixed {
  height: 100%;
  overflow: hidden;
}
body *:hover {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

h1, h2, h3, h4, h5, h6,
table, tr, td, th,
ol, ul, li,
dl, dt, dd,
p {
  margin: 0;
  padding: 0;
  font-style: normal;
  font-weight: normal;
  font-size: 100%;
  list-style: none;
}

i, em {
  font-style: normal;
}

img {
  border: none;
  margin: 0;
  padding: 0;
}

figure {
  display: block;
  margin: 0;
}

a, *:focus {
  outline: none;
}

*::-moz-selection {
  background: #707070;
  color: #FFF;
}

*::selection {
  background: #707070;
  color: #FFF;
}

*::-moz-selection {
  background: #707070;
  color: #FFF;
}

.hide {
  display: none !important;
}

@media only screen and (max-width: 768px) {
  .hideSP {
    display: none !important;
  }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .hideTL {
    display: none !important;
  }
}

@media print, screen and (min-width: 1025px) {
  .hideDT {
    display: none !important;
  }
}

@media print, screen and (min-width: 769px) {
  .hidePC {
    display: none !important;
  }
}

@media print, screen and (min-width: 1025px) {
  .hideDesktop {
    display: none;
  }
}

@media print, screen and (max-width: 1024px) {
  .hideMobile {
    display: none;
  }
}

.serif {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
}

main {
  margin: 0 auto;
}

a:link {
  color: #DC5500;
}
a:visited {
  color: #DC5500;
}
a:hover {
  color: #DC5500;
  text-decoration: none;
}
a:active {
  color: #DC5500;
}

.none li {
  width: 100% !important;
  max-width: 100% !important;
  text-align: center;
}

.noitem {
  width: 100% !important;
  min-height: 200px;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  -ms-flex-line-pack: center !important;
      align-content: center !important;
  text-align: center !important;
}
.noitem li {
  border: none !important;
  display: inline-block !important;
}

/* ======================
改行処理
====================== */
.p-blo {
  display: inline-block;
}

.min-p {
  font-size: 70%;
  display: block;
}

/* ======================
スクロールアニメーション
====================== */
.js-fadeUp {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: opacity 0.5s, -webkit-transform 1s;
  transition: opacity 0.5s, -webkit-transform 1s;
  transition: opacity 0.5s, transform 1s;
  transition: opacity 0.5s, transform 1s, -webkit-transform 1s;
}

.js-fadeIn, .js-fadeIn2 {
  opacity: 0;
}

/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  画像
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  リンクボタン
///////////////////////////////// */
/* /////////////////////////////////
  FlexBox
///////////////////////////////// */
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/* ///////////////////////////////////////////
  header.scss
  ヘッダーに関する設定
/////////////////////////////////////////// */
.header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
}
@media only screen and (max-width: 768px) {
  .header {
    height: 60px;
  }
}
@media print, screen and (min-width: 769px) {
  .header {
    height: 80px;
  }
}
.header__container {
  display: block;
  max-width: 1260px;
  margin: 0 auto;
}
@media print, screen and (min-width: 1025px) {
  .header__container {
    padding: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .header__container {
    padding: 0 30px;
  }
}
@media only screen and (max-width: 768px) {
  .header__container {
    padding: 10px 20px;
  }
}
.header__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
}
.header__container > * {
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  -ms-flex-item-align: auto;
      -ms-grid-row-align: auto;
      align-self: auto;
}
.header__container {
  position: relative;
  width: 100%;
  max-width: 100%;
  padding-right: 15px;
  z-index: 3;
  background-color: #fff;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .header__container {
    padding: 0 0 0 20px;
  }
}
@media only screen and (max-width: 768px) {
  .header__container {
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
  }
  .header__container > * {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    -ms-flex-item-align: auto;
        -ms-grid-row-align: auto;
        align-self: auto;
  }
}
@media print, screen and (min-width: 769px) {
  .header__container {
    height: 80px;
  }
}
@media screen and (min-width: 769px) and (min-width: 1550px) {
  .header__container {
    padding-right: 50px;
  }
}
@media print and (min-width: 1440px) and (max-width: 1550px), screen and (min-width: 769px) and (min-width: 1440px) and (max-width: 1550px) {
  .header__container {
    padding-right: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .header__logo {
    width: 205.12px;
    position: absolute;
    left: 40px;
    top: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .header__logo {
    left: 20px;
  }
}
@media only screen and (max-width: 768px) {
  .header__logo {
    width: 168.2px;
  }
}
.header__logo a {
  display: block;
}
@media print, screen and (min-width: 769px) {
  .header__logo a {
    width: 205.12px;
  }
}
.header__logo a:hover {
  opacity: 0.8;
}
.header__logo a img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
.header__nav {
  visibility: hidden; /* 初期状態ではメニューを非表示に */
  opacity: 0; /* 完全に透明にする */
  -webkit-transition: visibility 0s, opacity 0.5s ease;
  transition: visibility 0s, opacity 0.5s ease; /* opacityの変化を0.5秒かけて行う */
  overflow-y: auto;
  overflow-scrolling: touch;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  background-color: #005082;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 2;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .header__nav {
    height: 100%;
    padding: 80px 20px 30px 20px;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}
@media print, screen and (min-width: 769px) {
  .header__nav {
    max-width: 900px;
    height: 100%;
    padding: 110px 30px 30px 30px;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}
.header__nav.isOpen {
  visibility: visible; /* .isOpenクラスが付与されたら表示 */
  opacity: 1; /* 完全に不透明にする */
}
@media print, screen and (min-width: 769px) and (min-width: 1025px) {
  .header__nav__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media print, screen and (min-width: 769px) {
  .header__nav__container__wrap {
    margin: 0 auto;
    width: 100%;
    padding: 0 0 50px 0;
  }
}
.header__nav__container__wrap__list {
  width: 100%;
}
.header__nav__container__wrap__list > li {
  letter-spacing: 1px;
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .header__nav__container__wrap__list > li {
    width: 100%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .header__nav__container__wrap__list > li {
    font-size: 1.4rem;
  }
}
.header__nav__container__wrap__list > li > a {
  color: #DC5500;
  text-align: center;
  display: block;
  font-family: "Zen Maru Gothic";
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  -webkit-box-align: left;
      -ms-flex-align: left;
          align-items: left;
  position: relative;
  font-size: 1.4rem;
  padding: 18px;
  background-color: #fff;
  border-radius: 5px;
}
@media print, screen and (min-width: 769px) {
  .header__nav__container__wrap__list > li > a {
    font-size: 1.6rem;
  }
}
.header__nav__container__wrap__list > li > a:hover {
  opacity: 0.8;
}
.header__nav__container__wrap__list > li:nth-child(n+2) {
  margin-top: 15px;
}
.header__nav__container__wrap__contact {
  margin-top: 15px;
}
.header__nav__container__wrap__contact .container {
  background-color: #fff;
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .header__nav__container__wrap__contact .container {
    padding: 27px 20px 30px 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .header__nav__container__wrap__contact .container {
    padding: 50px 30px 76px 30px;
  }
}
@media only screen and (max-width: 768px) {
  .header__nav__container__wrap__contact .container .info-wrap {
    width: 100%;
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .header__nav__container__wrap__contact .container .info-wrap {
    width: 100%;
    margin-bottom: 50px;
  }
}
.header__nav__container__wrap__contact .container .info-wrap p {
  text-align: center;
  margin-top: 40px;
  font-family: "Zen Maru Gothic";
  font-weight: 500;
  font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .header__nav__container__wrap__contact .container ul {
    width: 100%;
  }
}
@media print, screen and (min-width: 769px) {
  .header__nav__container__wrap__contact .container ul {
    width: 100%;
    max-width: 816px;
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 769px) and (min-width: 1025px) {
  .header__nav__container__wrap__contact .container ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.header__nav__container__wrap__contact .container ul li {
  text-align: center;
}
@media print, screen and (min-width: 769px) and (min-width: 1025px) {
  .header__nav__container__wrap__contact .container ul li:nth-child(1) {
    width: 47.18%;
  }
}
@media only screen and (max-width: 768px) {
  .header__nav__container__wrap__contact .container ul li:nth-child(1) p.mail {
    max-width: 100%;
  }
}
@media print, screen and (min-width: 769px) {
  .header__nav__container__wrap__contact .container ul li:nth-child(1) p.mail {
    max-width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .header__nav__container__wrap__contact .container ul li:nth-child(1) p.mail .mod__button1 {
    max-width: 100%;
    padding: 20px 15px;
    background-position: right 30px center;
  }
}
@media print, screen and (min-width: 769px) {
  .header__nav__container__wrap__contact .container ul li:nth-child(1) p.mail .mod__button1 {
    max-width: 100%;
    padding: 36px 15px;
    background-position: right 30px center;
  }
}
.header__nav__container__wrap__contact .container ul li:nth-child(2) {
  border: 1px dashed #707070;
}
@media only screen and (max-width: 768px) {
  .header__nav__container__wrap__contact .container ul li:nth-child(2) {
    padding-top: 30px;
    padding: 26px 15px;
    margin-top: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .header__nav__container__wrap__contact .container ul li:nth-child(2) {
    padding: 15px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .header__nav__container__wrap__contact .container ul li:nth-child(2) {
    margin-top: 30px;
  }
}
@media print, screen and (min-width: 769px) and (min-width: 1025px) {
  .header__nav__container__wrap__contact .container ul li:nth-child(2) {
    width: 49%;
  }
}
.header__nav__container__wrap__contact .container ul li:nth-child(2) p.tel a {
  font-family: "IBM Plex Sans JP";
  font-weight: 700;
  color: #005082;
  font-weight: 700;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 768px) {
  .header__nav__container__wrap__contact .container ul li:nth-child(2) p.tel a {
    font-size: 3.2rem;
    max-width: 100%;
  }
  .header__nav__container__wrap__contact .container ul li:nth-child(2) p.tel a:before {
    content: "";
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2227.561%22%20height%3D%2227.552%22%20viewBox%3D%220%200%2027.561%2027.552%22%3E%3Cg%20transform%3D%22translate(1.001%201)%22%3E%3Cpath%20d%3D%22M32.01%2C34.552l-.059%2C0a26.742%2C26.742%2C0%2C0%2C1-17.132-7.428%2C25.374%2C25.374%2C0%2C0%2C1-5.408-7.693A26.806%2C26.806%2C0%2C0%2C1%2C7.069%2C9.772C6.929%2C8.3%2C7.54%2C7.216%2C8.63%2C7.016A1%2C1%2C0%2C0%2C1%2C9.1%2C8.957a1.722%2C1.722%2C0%2C0%2C0-.04.64l0%2C.044A24.079%2C24.079%2C0%2C0%2C0%2C32.036%2C32.552a2.312%2C2.312%2C0%2C0%2C0%2C.64-.109%2C1%2C1%2C0%2C0%2C1%2C1.934.357%2C1.627%2C1.627%2C0%2C0%2C1-1.273%2C1.529A4.257%2C4.257%2C0%2C0%2C1%2C32.01%2C34.552Z%22%20transform%3D%22translate(-8.05%20-8)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M26.151%2C30.826a1%2C1%2C0%2C0%2C1-.491-.129%2C22.212%2C22.212%2C0%2C0%2C1-4.725-3.577A1%2C1%2C0%2C1%2C1%2C22.345%2C25.7a20.212%2C20.212%2C0%2C0%2C0%2C4.3%2C3.255%2C1%2C1%2C0%2C0%2C1-.493%2C1.871Z%22%20transform%3D%22translate(-10.768%20-11.682)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M27.28%2C30.94a1%2C1%2C0%2C0%2C1-.7-1.71l2.984-2.96A1%2C1%2C0%2C0%2C1%2C30.483%2C26l7.192%2C1.616a1%2C1%2C0%2C0%2C1-.438%2C1.951l-6.657-1.5-2.6%2C2.574A1%2C1%2C0%2C0%2C1%2C27.28%2C30.94Z%22%20transform%3D%22translate(-11.896%20-11.796)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M17.36%2C19.224a1%2C1%2C0%2C0%2C1-.719-1.695l2.553-2.644L17.7%2C8.219a1%2C1%2C0%2C0%2C1%2C1.951-.438l1.616%2C7.192a1%2C1%2C0%2C0%2C1-.256.914l-2.928%2C3.032A1%2C1%2C0%2C0%2C1%2C17.36%2C19.224Z%22%20transform%3D%22translate(-9.912%20-8)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M8%2C1H0A1%2C1%2C0%2C0%2C1-1%2C0%2C1%2C1%2C0%2C0%2C1%2C0-1H8A1%2C1%2C0%2C0%2C1%2C9%2C0%2C1%2C1%2C0%2C0%2C1%2C8%2C1Z%22%20transform%3D%22translate(0.76%200)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M0%2C9A1%2C1%2C0%2C0%2C1-1%2C8V0A1%2C1%2C0%2C0%2C1%2C0-1%2C1%2C1%2C0%2C0%2C1%2C1%2C0V8A1%2C1%2C0%2C0%2C1%2C0%2C9Z%22%20transform%3D%22translate(25.56%2016.8)%22%20fill%3D%22%23005082%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat;
    background-size: contain;
    width: 16px;
    height: 16px;
    margin-right: 8px;
  }
}
@media print, screen and (min-width: 769px) {
  .header__nav__container__wrap__contact .container ul li:nth-child(2) p.tel a {
    font-size: 4rem;
    pointer-events: none;
    max-width: 100%;
  }
  .header__nav__container__wrap__contact .container ul li:nth-child(2) p.tel a:before {
    content: "";
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2227.561%22%20height%3D%2227.552%22%20viewBox%3D%220%200%2027.561%2027.552%22%3E%3Cg%20transform%3D%22translate(1.001%201)%22%3E%3Cpath%20d%3D%22M32.01%2C34.552l-.059%2C0a26.742%2C26.742%2C0%2C0%2C1-17.132-7.428%2C25.374%2C25.374%2C0%2C0%2C1-5.408-7.693A26.806%2C26.806%2C0%2C0%2C1%2C7.069%2C9.772C6.929%2C8.3%2C7.54%2C7.216%2C8.63%2C7.016A1%2C1%2C0%2C0%2C1%2C9.1%2C8.957a1.722%2C1.722%2C0%2C0%2C0-.04.64l0%2C.044A24.079%2C24.079%2C0%2C0%2C0%2C32.036%2C32.552a2.312%2C2.312%2C0%2C0%2C0%2C.64-.109%2C1%2C1%2C0%2C0%2C1%2C1.934.357%2C1.627%2C1.627%2C0%2C0%2C1-1.273%2C1.529A4.257%2C4.257%2C0%2C0%2C1%2C32.01%2C34.552Z%22%20transform%3D%22translate(-8.05%20-8)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M26.151%2C30.826a1%2C1%2C0%2C0%2C1-.491-.129%2C22.212%2C22.212%2C0%2C0%2C1-4.725-3.577A1%2C1%2C0%2C1%2C1%2C22.345%2C25.7a20.212%2C20.212%2C0%2C0%2C0%2C4.3%2C3.255%2C1%2C1%2C0%2C0%2C1-.493%2C1.871Z%22%20transform%3D%22translate(-10.768%20-11.682)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M27.28%2C30.94a1%2C1%2C0%2C0%2C1-.7-1.71l2.984-2.96A1%2C1%2C0%2C0%2C1%2C30.483%2C26l7.192%2C1.616a1%2C1%2C0%2C0%2C1-.438%2C1.951l-6.657-1.5-2.6%2C2.574A1%2C1%2C0%2C0%2C1%2C27.28%2C30.94Z%22%20transform%3D%22translate(-11.896%20-11.796)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M17.36%2C19.224a1%2C1%2C0%2C0%2C1-.719-1.695l2.553-2.644L17.7%2C8.219a1%2C1%2C0%2C0%2C1%2C1.951-.438l1.616%2C7.192a1%2C1%2C0%2C0%2C1-.256.914l-2.928%2C3.032A1%2C1%2C0%2C0%2C1%2C17.36%2C19.224Z%22%20transform%3D%22translate(-9.912%20-8)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M8%2C1H0A1%2C1%2C0%2C0%2C1-1%2C0%2C1%2C1%2C0%2C0%2C1%2C0-1H8A1%2C1%2C0%2C0%2C1%2C9%2C0%2C1%2C1%2C0%2C0%2C1%2C8%2C1Z%22%20transform%3D%22translate(0.76%200)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M0%2C9A1%2C1%2C0%2C0%2C1-1%2C8V0A1%2C1%2C0%2C0%2C1%2C0-1%2C1%2C1%2C0%2C0%2C1%2C1%2C0V8A1%2C1%2C0%2C0%2C1%2C0%2C9Z%22%20transform%3D%22translate(25.56%2016.8)%22%20fill%3D%22%23005082%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat;
    background-size: contain;
    width: 25px;
    height: 25px;
    margin-right: 15px;
  }
}
.header__nav__container__wrap__contact .container ul li:nth-child(2) p.tel a:hover {
  opacity: 0.8;
}
.header__nav__container__wrap__contact .container ul li:nth-child(2) p.open {
  font-family: "IBM Plex Sans JP";
  font-weight: 400;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .header__nav__container__wrap__contact .container ul li:nth-child(2) p.open {
    font-size: 1.4rem;
    margin-top: 10px;
  }
}
@media print, screen and (min-width: 769px) {
  .header__nav__container__wrap__contact .container ul li:nth-child(2) p.open {
    font-size: 1.6rem;
  }
}
.header__nav__container__wrap__otherlist {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 15px;
}
.header__nav__container__wrap__otherlist > li {
  letter-spacing: 1px;
  position: relative;
  width: 47%;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .header__nav__container__wrap__otherlist > li {
    font-size: 1.4rem;
  }
}
.header__nav__container__wrap__otherlist > li > a {
  color: #DC5500;
  text-align: center;
  display: block;
  font-family: "Zen Maru Gothic";
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  -webkit-box-align: left;
      -ms-flex-align: left;
          align-items: left;
  position: relative;
  font-size: 1.4rem;
  padding: 18px;
  background-color: #fff;
  border-radius: 5px;
}
@media print, screen and (min-width: 769px) {
  .header__nav__container__wrap__otherlist > li > a {
    font-size: 1.6rem;
  }
}
.header__nav__container__wrap__otherlist > li > a:hover {
  opacity: 0.8;
}
@media only screen and (max-width: 768px) {
  .header.fixed .header__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: space-cetween;
        -ms-flex-pack: space-cetween;
            justify-content: space-cetween;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
  }
  .header.fixed .header__container > * {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    -ms-flex-item-align: auto;
        -ms-grid-row-align: auto;
        align-self: auto;
  }
}
@media only screen and (max-width: 768px) {
  .header.fixed {
    position: fixed;
    top: 0;
    left: 0;
  }
}
@media print, screen and (min-width: 769px) {
  .header.fixed {
    position: fixed;
    top: 0;
    left: 0;
  }
  .header.fixed .header__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
  }
  .header.fixed .header__container > * {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    -ms-flex-item-align: auto;
        -ms-grid-row-align: auto;
        align-self: auto;
  }
  .header.fixed .header__container {
    max-width: 100%;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .header.fixed .header__container {
    padding: 0 0 0 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .header.fixed .header__contact__button {
    display: none;
  }
}
@media print, screen and (min-width: 769px) and (min-width: 769px) {
  .header.fixed .header__logo {
    position: absolute;
    left: 40px;
    top: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media print, screen and (min-width: 769px) {
  .header.fixed .header__logo a {
    display: block;
  }
}
@media print, screen and (min-width: 769px) and (min-width: 769px) {
  .header.fixed .header__logo a {
    width: 277px;
  }
}
@media print, screen and (min-width: 769px) {
  .header.fixed .header__logo a:hover {
    opacity: 0.8;
  }
  .header.fixed .header__logo a img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
  }
}
.header__pc__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1440px) {
  .header__pc__nav {
    display: none;
  }
}
.header__pc__nav > li {
  font-weight: 500;
  font-size: 1.4rem;
}
@media print, screen and (min-width: 1025px) {
  .header__pc__nav > li {
    margin-right: 20px;
  }
}
@media screen and (min-width: 1025px) and (min-width: 1550px) {
  .header__pc__nav > li {
    margin-right: 30px;
  }
}
@media print, screen and (min-width: 1025px) {
  .header__pc__nav > li a {
    display: block;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .header__pc__nav > li {
    margin-right: 20px;
  }
}
.header__pc__nav > li a {
  color: #707070;
  font-family: "IBM Plex Sans JP";
  font-weight: 500;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .header__pc__nav > li a {
    display: none;
  }
}
@media print, screen and (min-width: 769px) {
  .header__pc__nav > li a {
    max-width: 100%;
    text-decoration: none;
    font-size: 1.6rem;
    position: relative;
  }
}
.header__pc__nav > li a:hover::after {
  content: "";
  width: 100%;
  height: 2px;
  display: inline-block;
  background-color: #005082;
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  margin: auto;
}
@media print, screen and (min-width: 769px) {
  .header #contactButton a {
    width: 235px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    text-decoration: none;
    color: #fff;
    font-family: "Zen Maru Gothic";
    font-weight: 500;
    background-color: #DC5500;
    font-size: 1.6rem;
    line-height: 1.2;
    padding: 8px;
    border-radius: 6px;
  }
  .header #contactButton a:hover {
    background-color: #005082;
  }
}
@media only screen and (max-width: 768px) {
  .header #contactButton {
    display: none;
  }
}
.header__menu_button {
  display: block;
  cursor: pointer;
  border: none;
  outline: none !important;
  posiiton: relative;
  z-index: 101;
}
@media only screen and (max-width: 768px) {
  .header__menu_button {
    width: 60px;
    height: 60px;
    top: 0;
    right: 10px;
    position: absolute;
  }
}
@media print, screen and (min-width: 769px) {
  .header__menu_button {
    width: 80px;
    height: 80px;
    position: relative;
    display: none;
  }
}
@media screen and (max-width: 1440px) {
  .header__menu_button {
    display: block;
  }
}
.header__menu_button .text {
  font-weight: 500;
  font-family: "Zen Maru Gothic";
}
@media only screen and (max-width: 768px) {
  .header__menu_button .text {
    color: #707070;
    font-size: 1.2rem;
    position: absolute;
    top: 5px;
    left: 0;
    right: 0;
    margin: auto;
  }
}
@media print, screen and (min-width: 769px) {
  .header__menu_button .text {
    color: #707070;
    font-size: 0.8em;
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    margin: auto;
  }
}
.header__menu_button .icon {
  display: block;
  background: -webkit-gradient(linear, left top, right top, from(#005082), color-stop(50%, #005082), color-stop(50%, #005082), to(#005082));
  background: linear-gradient(90deg, #005082 0%, #005082 50%, #005082 50%, #005082 100%);
  -webkit-transition-property: background-color;
  transition-property: background-color;
  height: 2px;
}
@media only screen and (max-width: 768px) {
  .header__menu_button .icon {
    width: 50%;
    height: 2px;
    -webkit-transition-duration: 0.4s;
            transition-duration: 0.4s;
    position: absolute;
    top: 8px;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
}
@media print, screen and (min-width: 769px) {
  .header__menu_button .icon {
    width: 40%;
    -webkit-transition-duration: 0.8s;
            transition-duration: 0.8s;
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
}
.header__menu_button .icon::before, .header__menu_button .icon::after {
  width: 100%;
  height: 2px;
  content: "";
  display: block;
  background: #707070;
  -webkit-transition-property: background-color, -webkit-transform;
  transition-property: background-color, -webkit-transform;
  transition-property: background-color, transform;
  transition-property: background-color, transform, -webkit-transform;
  -webkit-transition-duration: 0.4s;
          transition-duration: 0.4s;
  position: absolute;
}
.header__menu_button .icon::before {
  background: #DC5500;
}
@media only screen and (max-width: 768px) {
  .header__menu_button .icon::before {
    top: -8px;
  }
}
@media print, screen and (min-width: 769px) {
  .header__menu_button .icon::before {
    top: -10px;
  }
}
.header__menu_button .icon::after {
  background: #707070;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .header__menu_button .icon::after {
    top: 8px;
  }
}
@media print, screen and (min-width: 769px) {
  .header__menu_button .icon::after {
    top: 10px;
  }
}
@media only screen and (max-width: 768px) {
  .header__menu_button.isOpen .icon {
    background: -webkit-gradient(linear, left top, right top, from(#DC5500), color-stop(50%, #DC5500), color-stop(50%, #DC5500), to(#DC5500));
    background: linear-gradient(90deg, #DC5500 0%, #DC5500 50%, #DC5500 50%, #DC5500 100%);
    -webkit-transition-property: background-color;
    transition-property: background-color;
    height: 0;
  }
  .header__menu_button.isOpen .icon::before {
    -webkit-transform: translateY(8px) rotate(45deg);
            transform: translateY(8px) rotate(45deg);
  }
  .header__menu_button.isOpen .icon::after {
    -webkit-transform: translateY(-8px) rotate(-45deg);
            transform: translateY(-8px) rotate(-45deg);
    width: 100%;
  }
}
@media print, screen and (min-width: 769px) {
  .header__menu_button.isOpen .icon {
    -webkit-transition-property: background-color;
    transition-property: background-color;
    height: 0;
  }
  .header__menu_button.isOpen .icon::before {
    -webkit-transform: translateY(10px) rotate(45deg);
            transform: translateY(10px) rotate(45deg);
  }
  .header__menu_button.isOpen .icon::after {
    -webkit-transform: translateY(-10px) rotate(-45deg);
            transform: translateY(-10px) rotate(-45deg);
    width: 100%;
  }
}

/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  画像
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  リンクボタン
///////////////////////////////// */
/* /////////////////////////////////
  FlexBox
///////////////////////////////// */
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/* ///////////////////////////////////////////
  footer.scss
  フッターに関する設定
/////////////////////////////////////////// */
.footer {
  /* @include smartphone {
     margin-top: 30px; //コラムのリンクを表示した場合削除
     padding-top: 70px;
     background: url('../images/common/foooter-line-sp.svg') center top no-repeat;
     background-size: contain;
   }
   @include screen {
     margin-top: 80px; //コラムのリンクを表示した場合削除
     padding-top: 90px;
     background: url('../images/common/foooter-line-pc.svg') center top no-repeat;
     background-size: contain;
   }*/
}
.footer__container {
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .footer__container {
    padding: 0 15px 40px 15px;
  }
}
@media print, screen and (min-width: 769px) {
  .footer__container {
    padding: 0 30px 60px 30px;
  }
}
.footer__container h2 {
  width: 185px;
}
@media only screen and (max-width: 768px) {
  .footer__container h2 {
    margin: 0 auto 30px auto;
  }
}
@media print, screen and (min-width: 769px) {
  .footer__container h2 {
    margin: 0 auto 60px auto;
  }
}
.footer__container h2 a {
  display: block;
}
.footer__container h2 a:hover {
  -moz-opacity: 0.8;
  opacity: 0.8;
  filter: alpha(opacity=80);
}
.footer__container h2 a img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
@media print, screen and (min-width: 769px) and (min-width: 1025px) {
  .footer__container__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}
.footer__container__wrapper .info {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .footer__container__wrapper .info {
    width: 100%;
  }
}
@media print, screen and (min-width: 769px) and (min-width: 1025px) {
  .footer__container__wrapper .info {
    width: 52%;
  }
}
.footer__container__wrapper .info dt {
  font-family: "Zen Maru Gothic";
  font-weight: 700;
  color: #DC5500;
}
@media only screen and (max-width: 768px) {
  .footer__container__wrapper .info dt {
    width: 100%;
    width: 100px;
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 769px) {
  .footer__container__wrapper .info dt {
    width: 90px;
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .footer__container__wrapper .info dt:nth-of-type(n + 2) {
    margin-top: 15px;
  }
}
@media print, screen and (min-width: 769px) {
  .footer__container__wrapper .info dt:nth-of-type(n + 2) {
    margin-top: 20px;
  }
}
.footer__container__wrapper .info dd {
  font-family: "Zen Maru Gothic";
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .footer__container__wrapper .info dd {
    width: calc(100% - 100px);
    padding-left: 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .footer__container__wrapper .info dd {
    width: calc(100% - 90px);
    padding-left: 20px;
  }
}
.footer__container__wrapper .info dd .tel {
  color: #707070;
  text-decoration: none;
}
@media print, screen and (min-width: 769px) {
  .footer__container__wrapper .info dd .tel {
    pointer-events: none;
  }
}
@media only screen and (max-width: 768px) {
  .footer__container__wrapper .info dd:nth-of-type(n + 2) {
    margin-top: 15px;
  }
}
@media print, screen and (min-width: 769px) {
  .footer__container__wrapper .info dd:nth-of-type(n + 2) {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 768px) {
  .footer__container__wrapper .other {
    margin-top: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .footer__container__wrapper .other {
    width: 100%;
    margin-top: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media print, screen and (min-width: 769px) and (min-width: 1025px) {
  .footer__container__wrapper .other {
    width: 43%;
  }
}
.footer__container__wrapper .other dt {
  font-family: "Zen Maru Gothic";
  font-weight: 700;
  color: #005082;
}
@media only screen and (max-width: 768px) {
  .footer__container__wrapper .other dt {
    width: 100px;
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 769px) {
  .footer__container__wrapper .other dt {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .footer__container__wrapper .other dt {
    width: 140px;
  }
}
@media print, screen and (min-width: 769px) and (min-width: 1025px) {
  .footer__container__wrapper .other dt {
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .footer__container__wrapper .other dt:nth-of-type(n + 2) {
    margin-top: 15px;
  }
}
@media print, screen and (min-width: 769px) {
  .footer__container__wrapper .other dt:nth-of-type(n + 2) {
    margin-top: 15px;
  }
}
.footer__container__wrapper .other dd {
  font-family: "Zen Maru Gothic";
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .footer__container__wrapper .other dd {
    width: calc(100% - 100px);
    padding-left: 20px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .footer__container__wrapper .other dd {
    width: calc(100% - 140px);
  }
}
@media print, screen and (min-width: 769px) and (min-width: 1025px) {
  .footer__container__wrapper .other dd {
    width: 100%;
    margin-top: 5px;
  }
}
.footer__container__wrapper .other dd ul li {
  font-family: "Zen Maru Gothic";
  font-weight: 500;
}
.footer__container__wrapper .other dd ul li:nth-child(n+2) {
  margin-top: 0;
}
@media only screen and (max-width: 768px) {
  .footer__container__wrapper .other dd:nth-of-type(n + 2) {
    margin-top: 15px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .footer__container__wrapper .other dd:nth-of-type(n + 2) {
    margin-top: 15px;
  }
}
.footer__link01 {
  background-color: #FCEDE0;
  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;
}
@media only screen and (max-width: 768px) {
  .footer__link01 {
    display: none;
  }
}
@media print, screen and (min-width: 769px) {
  .footer__link01 {
    padding: 30px 30px 20px 30px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .footer__link01 {
    display: none;
  }
}
.footer__link01 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.footer__link01 ul > li {
  font-weight: 500;
  font-size: 1.4rem;
  margin-bottom: 10px;
}
@media print, screen and (min-width: 1025px) {
  .footer__link01 ul > li {
    margin-right: 20px;
  }
}
@media screen and (min-width: 1025px) and (min-width: 1480px) {
  .footer__link01 ul > li {
    margin-right: 30px;
  }
}
@media print, screen and (min-width: 1025px) {
  .footer__link01 ul > li a {
    display: block;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .footer__link01 ul > li {
    margin-right: 20px;
  }
}
.footer__link01 ul > li a {
  color: #707070;
  font-family: "IBM Plex Sans JP";
  font-weight: 500;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .footer__link01 ul > li a {
    display: none;
  }
}
@media print, screen and (min-width: 769px) {
  .footer__link01 ul > li a {
    max-width: 100%;
    text-decoration: none;
    font-size: 1.6rem;
    position: relative;
  }
}
.footer__link01 ul > li a:hover {
  text-decoration: underline;
}
.footer__link01 ul > li:last-child {
  margin-right: 0;
}
.footer__link02 {
  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;
}
@media only screen and (max-width: 768px) {
  .footer__link02 {
    display: none;
  }
}
@media print, screen and (min-width: 769px) {
  .footer__link02 {
    padding: 40px 30px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .footer__link02 {
    display: none;
  }
}
.footer__link02 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.footer__link02 ul > li {
  font-weight: 500;
  font-size: 1.4rem;
}
@media print, screen and (min-width: 1025px) {
  .footer__link02 ul > li {
    margin-right: 20px;
  }
}
@media screen and (min-width: 1025px) and (min-width: 1480px) {
  .footer__link02 ul > li {
    margin-right: 30px;
  }
}
@media print, screen and (min-width: 1025px) {
  .footer__link02 ul > li a {
    display: block;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .footer__link02 ul > li {
    margin-right: 20px;
  }
}
.footer__link02 ul > li a {
  color: #707070;
  font-family: "IBM Plex Sans JP";
  font-weight: 500;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .footer__link02 ul > li a {
    display: none;
  }
}
@media print, screen and (min-width: 769px) {
  .footer__link02 ul > li a {
    max-width: 100%;
    text-decoration: none;
    font-size: 1.6rem;
    position: relative;
  }
}
.footer__link02 ul > li a:hover {
  text-decoration: underline;
}
.footer__link02 ul > li:last-child {
  margin-right: 0;
}
.footer__show {
  color: #707070;
  font-family: "IBM Plex Sans JP";
  font-weight: 500;
  position: relative;
  text-align: center;
  font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .footer__show {
    font-size: 1.4rem;
    margin-bottom: 24px;
  }
}
@media print, screen and (min-width: 769px) {
  .footer__show {
    padding: 10px 30px 40px 30px;
  }
}
.footer__show span {
  font-size: 2rem;
}
@media only screen and (max-width: 768px) {
  .footer__show span {
    font-size: 1.8rem;
    display: block;
  }
}
.footer__copyright {
  display: block;
  text-align: center;
  font-weight: 500;
  color: #fff;
  background-color: #005082;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1;
  padding: 15px;
}
.footer__pagetop {
  position: fixed;
  z-index: 10;
}
@media only screen and (max-width: 768px) {
  .footer__pagetop {
    width: 45px;
    height: 45px;
    bottom: 50px;
    right: 10px;
  }
}
@media print, screen and (min-width: 769px) {
  .footer__pagetop {
    width: 80px;
    height: 80px;
    bottom: 54px;
    right: 66px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .footer__pagetop {
    right: 30px;
  }
}
.footer__pagetop a {
  display: block;
  width: 80px;
  padding-top: 80px;
  height: 0;
  overflow: hidden;
  background: url("../images/common/pagetop.svg") 0 0 no-repeat;
  background-size: contain;
}
@media only screen and (max-width: 768px) {
  .footer__pagetop a {
    width: 45px;
    padding-top: 45px;
    background-size: 45px;
  }
}
.footer__pagetop a:hover {
  background: url("../images/common/pagetop-hover.svg") 0 0 no-repeat;
  background-size: contain;
}
@media only screen and (max-width: 768px) {
  .footer__pagetop a:hover {
    background-size: 45px;
  }
}

/*====================================
  02_module
=====================================*/
/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  画像
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  リンクボタン
///////////////////////////////// */
/* /////////////////////////////////
  FlexBox
///////////////////////////////// */
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/* ///////////////////////////////////////////
  module.scss
  各ページで使い回すパーツやスタイルに関する記述
/////////////////////////////////////////// */
/* ======================
  @extend
====================== */
/**
 * コラム
 */
/**
 * お知らせティッカー
 */
/* ======================
  mod
====================== */
.mod {
  /* ======================
  coming soon
  ====================== */
}
.mod__comingsoon {
  display: block;
  max-width: 1260px;
  margin: 0 auto;
}
@media print, screen and (min-width: 1025px) {
  .mod__comingsoon {
    padding: 0 30px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .mod__comingsoon {
    padding: 0 30px;
  }
}
@media only screen and (max-width: 768px) {
  .mod__comingsoon {
    padding: 0 15px;
  }
}
.mod__comingsoon > div {
  background: #E0F3F6;
  border-radius: 10px;
}
@media only screen and (max-width: 768px) {
  .mod__comingsoon > div {
    padding: 40px 20px;
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__comingsoon > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 60px;
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .mod__comingsoon > div {
    padding: 60px 30px;
  }
}
.mod__comingsoon > div h2 {
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .mod__comingsoon > div h2 {
    font-size: 2rem;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__comingsoon > div h2 {
    font-size: 2.4rem;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .mod__comingsoon > div h2 {
    font-size: 2rem;
  }
}
.mod {
  /* =====================
  ページタイトル
  ===================== */
}
.mod__pagetitle {
  position: relative;
  overflow: hidden;
  background: url("../images/common/pagetitle-bg.svg") center bottom repeat-x;
  background-size: 1204px 94px;
}
@media only screen and (max-width: 768px) {
  .mod__pagetitle {
    padding: 50px 15px 40px 15px;
    min-height: 226px;
    background-size: 662.21px 51.52px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__pagetitle {
    padding: 80px 30px 70px 30px;
    min-height: 300px;
  }
}
.mod__pagetitle h1, .mod__pagetitle i {
  text-align: center;
  position: relative;
  display: block;
  font-style: normal;
  width: 100%;
  color: #DC5500;
  font-family: "Zen Maru Gothic";
  font-weight: 700;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .mod__pagetitle h1, .mod__pagetitle i {
    font-size: 3rem;
    margin-bottom: 35px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__pagetitle h1, .mod__pagetitle i {
    font-size: 4rem;
    margin-bottom: 60px;
  }
}
.mod__pagetitle {
  /*.particles-js-canvas-el{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }*/
}
.mod {
  /* =====================
    見出し
  ===================== */
}
.mod__heading01 {
  text-align: center;
  position: relative;
  display: block;
  width: 100%;
}
.mod__heading01 .ttl {
  font-family: "Zen Maru Gothic";
  font-weight: 700;
  letter-spacing: 1.9px;
  color: #707070;
}
@media only screen and (max-width: 768px) {
  .mod__heading01 .ttl {
    font-size: 2.4rem;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__heading01 .ttl {
    font-size: 4rem;
  }
}
.mod__heading01 i {
  font-family: "IBM Plex Sans JP";
  font-weight: 500;
  color: #DC5500;
  display: block;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  .mod__heading01 i {
    font-size: 1.4rem;
    margin-top: 5px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__heading01 i {
    font-size: 2rem;
    margin-top: 10px;
  }
}
.mod__heading02 {
  text-align: center;
  position: relative;
  display: block;
  width: 100%;
}
.mod__heading02 .ttl {
  font-family: "Zen Maru Gothic";
  font-weight: 700;
  letter-spacing: 1.9px;
  color: #707070;
}
@media only screen and (max-width: 768px) {
  .mod__heading02 .ttl {
    font-size: 2.4rem;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__heading02 .ttl {
    font-size: 4rem;
  }
}
.mod__heading02 i {
  font-family: "IBM Plex Sans JP";
  font-weight: 500;
  color: #005082;
  display: block;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  .mod__heading02 i {
    font-size: 1.4rem;
    margin-top: 5px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__heading02 i {
    font-size: 2rem;
    margin-top: 10px;
  }
}
.mod__heading03 {
  color: #DC5500;
  font-weight: 900;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .mod__heading03 {
    font-size: 2rem;
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__heading03 {
    font-size: 3.2rem;
    margin-bottom: 40px;
  }
}
.mod__heading03 span {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; /* 垂直中心 */
}
@media only screen and (max-width: 768px) {
  .mod__heading03 span {
    padding-left: 17px;
  }
}
.mod__heading03 span::before {
  border-top: 1px solid #DC5500;
  content: "";
  position: absolute;
  width: 100vw;
}
@media only screen and (max-width: 768px) {
  .mod__heading03 span::before {
    left: -100vw;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__heading03 span::before {
    left: -101.4vw;
  }
}
.mod__heading04 {
  color: #DC5500;
  font-weight: 900;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .mod__heading04 {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__heading04 {
    font-size: 2.4rem;
    margin-bottom: 30px;
  }
}
.mod__heading04 {
  padding: 15px 0;
  border-bottom: 1px solid #DC5500;
}
.mod__heading05 {
  line-height: 1.4;
}
@media print, screen and (min-width: 769px) {
  .mod__heading05 {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .mod__heading05 {
    font-size: 1.6rem;
  }
}
.mod__heading05 span {
  display: inline-block;
  color: #fff;
  font-weight: bold;
  padding: 0.25em 0.5em;
  background-color: #DC5500;
}
.mod {
  /* ======================
  投稿詳細 本文
  ====================== */
}
.mod__content {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}
@media print, screen and (min-width: 1025px) {
  .mod__content {
    padding: 40px 0 0 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .mod__content {
    padding: 40px 0 0 0;
  }
}
@media only screen and (max-width: 768px) {
  .mod__content {
    padding: 30px 0 0 0;
  }
}
.mod__content {
  /*>*{
    margin:0 auto;
    @include smartphone {
      line-height: 1.6;
      margin-bottom: 20px;
    }
    @include screen {
      line-height: 2.0;
      margin-bottom: 30px;
    }
    img{
      max-width:100%;
      height:auto;
    }
  }
  h2{
    font-weight: 700;
    @include smartphone {
      font-size: 2rem;
    }
    @include screen {
      font-size:2.8rem;
    }
  }
  h3{
    font-weight: 700;
    @include smartphone {
      font-size: 1.6rem;
    }
    @include screen {
      font-size: 2rem;
    }
  }
  p{
    font-size: 1.6rem;
  }*/
}
.mod {
  /* =====================
  ボタン
  ===================== */
}
.mod__button1 {
  display: block;
  text-decoration: none;
  text-align: center;
  color: #fff !important;
  font-family: "Zen Maru Gothic";
  font-weight: 400;
  font-size: 1.6rem;
  cursor: pointer;
  position: relative;
  letter-spacing: 1px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217.18%22%20height%3D%228.737%22%20viewBox%3D%220%200%2017.18%208.737%22%3E%3Cpath%20d%3D%22M27.36%2C21.487H11.68a.75.75%2C0%2C1%2C1%2C0-1.5H25.549L19.593%2C14.03a.75.75%2C0%2C1%2C1%2C1.061-1.061l7.237%2C7.237a.75.75%2C0%2C0%2C1-.53%2C1.28Z%22%20transform%3D%22translate(-10.93%20-12.75)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") right 20px center no-repeat #DC5500;
  background-size: 17px 9px;
  padding: 15px;
  width: 100%;
  max-width: 380px;
  margin: 0 auto;
  border-radius: 6px;
}
@media only screen and (max-width: 768px) {
  .mod__button1 {
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__button1 {
    font-size: 1.6rem;
  }
}
.mod__button1:hover {
  background-color: #005082;
}
.mod__button2 {
  display: block;
  text-decoration: none;
  text-align: center;
  color: #fff !important;
  font-family: "Zen Maru Gothic";
  font-weight: 400;
  font-size: 1.6rem;
  cursor: pointer;
  position: relative;
  letter-spacing: 1px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217.18%22%20height%3D%228.737%22%20viewBox%3D%220%200%2017.18%208.737%22%3E%3Cpath%20d%3D%22M27.36%2C21.487H11.68a.75.75%2C0%2C1%2C1%2C0-1.5H25.549L19.593%2C14.03a.75.75%2C0%2C1%2C1%2C1.061-1.061l7.237%2C7.237a.75.75%2C0%2C0%2C1-.53%2C1.28Z%22%20transform%3D%22translate(-10.93%20-12.75)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") right 20px center no-repeat #005082;
  background-size: 17px 9px;
  padding: 15px;
  width: 100%;
  max-width: 380px;
  margin: 0 auto;
  border-radius: 6px;
}
@media only screen and (max-width: 768px) {
  .mod__button2 {
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__button2 {
    font-size: 1.6rem;
  }
}
.mod__button2:hover {
  background-color: #DC5500;
}
.mod__button3 {
  background: #DC5500;
  border: 2px solid #DC5500;
  border-radius: 50px;
  display: inline-block;
  text-align: center;
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
}
@media only screen and (max-width: 768px) {
  .mod__button3 {
    height: 45px;
    line-height: 41px;
    background: url("../images/common/link-arrow-white.svg") right 24px center no-repeat #DC5500;
    background-size: 40px 14px;
    padding-right: 80px;
    padding-left: 30px;
    font-size: 1.4rem;
    width: 100%;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__button3 {
    height: 54px;
    line-height: 50px;
    background: url("../images/common/link-arrow-white.svg") right 24px center no-repeat #DC5500;
    background-size: 40px 14px;
    padding-right: 80px;
    padding-left: 30px;
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .mod__button3:hover {
    height: 45px;
    line-height: 41px;
    background: url("../images/common/link-arrow.svg") right 24px center no-repeat #fff;
    background-size: 40px 14px;
    color: #DC5500 !important;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__button3:hover {
    height: 54px;
    line-height: 50px;
    background: url("../images/common/link-arrow.svg") right 24px center no-repeat #fff;
    background-size: 40px 14px;
    color: #DC5500 !important;
  }
}
.mod__button4 {
  width: 100%;
}
.mod__button4 a {
  display: block;
  width: 100%;
  max-width: 120px;
  color: #DC5500;
  text-align: center;
  text-decoration: none;
  padding: 0.5em 0.75em;
  border: 1px solid #DC5500;
  border-radius: 30px;
  cursor: pointer;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  position: relative;
  margin: 0 auto;
  font-family: "Zen Maru Gothic";
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1 !important;
  background-color: #fff;
}
.mod__button4 a:hover {
  color: #fff !important;
  background-color: #DC5500;
}
.mod__button4 a:hover::after {
  border-color: #fff;
}
.mod {
  /* ======================
  投稿詳細 本文
  ====================== */
}
.mod__content > * {
  font-family: "IBM Plex Sans JP";
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .mod__content > * {
    line-height: 1.8;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__content > * {
    line-height: 2;
  }
}
@media only screen and (max-width: 768px) {
  .mod__content > *:nth-child(n+2) {
    margin-top: 15px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__content > *:nth-child(n+2) {
    margin-top: 20px;
  }
}
.mod__content > * img {
  max-width: 100%;
  width: auto;
}
.mod {
  /* =====================
    ページ送り
  ===================== */
}
@media only screen and (max-width: 768px) {
  .mod__pagination {
    margin-top: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__pagination {
    margin-top: 60px;
  }
}
.mod__pagination .pagination {
  text-align: center !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.mod__pagination .pagination li {
  width: auto !important;
  min-width: auto !important;
  display: inline-block !important;
  padding: 0 !important;
  margin-bottom: 5px;
  font-weight: 500;
}
.mod__pagination .pagination a {
  padding: 8px 15px !important;
  color: #DC5500 !important;
  text-decoration: none !important;
  display: inline-block;
  line-height: 22px !important;
  border: 1px solid #DC5500;
  background-color: #fff;
  font-size: 1.5rem;
  border-radius: 5px;
}
@media only screen and (max-width: 768px) {
  .mod__pagination .pagination a {
    margin-bottom: 5px;
  }
}
.mod__pagination .pagination a:hover {
  color: #fff !important;
  background: #DC5500 !important;
  border: 1px solid #DC5500;
  -moz-opacity: 1 !important;
  opacity: 1 !important;
  filter: alpha(opacity=100) !important;
}
.mod__pagination .pagination .active {
  padding: 8.5px 15px !important;
  text-decoration: none !important;
  line-height: auto !important;
  background: #DC5500;
  color: #fff !important;
  border: 1px solid #DC5500 !important;
  font-size: 1.5rem;
  border-radius: 5px;
}
.mod__pagination .pagination .next, .mod__pagination .pagination .prev {
  border: none !important;
}
.mod__pagination .pagination .next {
  padding: 8px 40px 8px 15px !important;
  text-align: left;
  border: 1px solid #DC5500 !important;
  background: url("../images/common/arrow-next.svg") right 15px center no-repeat #fff;
  background-size: 14px;
}
.mod__pagination .pagination .next:hover {
  background: url("../images/common/arrow-next-over.svg") right 15px center no-repeat #DC5500 !important;
  background-size: 14px;
}
.mod__pagination .pagination .prev {
  padding: 8px 15px 8px 40px !important;
  text-align: left;
  border: 1px solid #DC5500 !important;
  background: url("../images/common/arrow-prev.svg") left 15px center no-repeat #fff;
  background-size: 14px;
}
.mod__pagination .pagination .prev:hover {
  background: url("../images/common/arrow-prev-over.svg") left 15px center no-repeat #DC5500 !important;
  background-size: 14px;
}
.mod__pagination .pagination span.current {
  padding: 8.6px 15px !important;
  background: #DC5500 !important;
  color: #fff !important;
  text-decoration: none !important;
  display: inline-block;
  border: 1px solid #DC5500 !important;
  border-radius: 5px;
  font-size: 1.5rem;
}
.mod__pagination .pagination h2.screen-reader-text {
  display: none;
}
.mod__pagination .pagination .pagenation__item-next a,
.mod__pagination .pagination .pagenation__item-previous a {
  border: none !important;
}
.mod__pagination .pagination .pagenation__item.active a,
.mod__pagination .pagination.wp .active {
  padding: 8.5px 15px !important;
  background: #DC5500 !important;
  color: #fff !important;
  text-decoration: none !important;
}
.mod {
  /* =====================
  ページャー
  ===================== */
}
.mod__pager {
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .mod__pager {
    width: 336px;
    margin: 40px auto 0 auto;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__pager {
    width: 352px;
    margin: 80px auto 0 auto;
  }
}
@media only screen and (max-width: 768px) {
  .mod__pager ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__pager ul {
    height: 44px;
    position: relative;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__pager ul li {
    width: 120px;
    position: absolute;
    top: 0;
    z-index: 2;
  }
}
.mod__pager ul li a {
  line-height: 40px;
  height: 44px;
  color: #fff;
  font-size: 0.95em;
  font-weight: 400;
  text-align: center;
  text-decoration: none;
  display: block;
  background: #fff;
  border: 1px solid #DC5500;
  border-radius: 4px;
}
@media only screen and (max-width: 768px) {
  .mod__pager ul li a {
    font-size: 1.5rem;
    background-color: #005082;
    border: 1px solid #005082;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__pager ul li a {
    /*font-weight: bolder;*/
    font-size: 1.5rem;
    background: #DC5500;
    border: 1px solid #DC5500;
  }
}
@media only screen and (max-width: 768px) {
  .mod__pager ul li a:hover {
    color: #005082;
    background: #fff;
    border: 1px solid #005082;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__pager ul li a:hover {
    color: #DC5500;
    background: #fff;
    border: 1px solid #DC5500;
  }
}
@media only screen and (max-width: 768px) {
  .mod__pager ul .prev {
    width: 49%;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__pager ul .prev {
    left: 0;
    width: 94px;
  }
}
@media only screen and (max-width: 768px) {
  .mod__pager ul .prev a {
    background: url("../images/common/arrow-prev-over.svg") left 15px center no-repeat #005082;
    background-size: 14px;
    padding-left: 20px;
  }
  .mod__pager ul .prev a:hover {
    background: url("../images/common/arrow-prev-blue.svg") left 15px center no-repeat #fff;
    background-size: 14px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__pager ul .prev a {
    background: url("../images/common/arrow-prev-over.svg") left 15px center no-repeat #DC5500;
    text-align: right;
    padding-right: 20px;
    background-size: 14px;
  }
  .mod__pager ul .prev a:hover {
    left: 0;
    background: url("../images/common/arrow-prev.svg") left 15px center no-repeat #fff;
    background-size: 14px;
  }
}
@media only screen and (max-width: 768px) {
  .mod__pager ul .next {
    width: 49%;
    margin-left: 2%;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__pager ul .next {
    right: 0;
    width: 94px;
  }
}
@media only screen and (max-width: 768px) {
  .mod__pager ul .next a {
    background: url("../images/common/arrow-next-over.svg") right 15px center no-repeat #005082;
    background-size: 14px;
    padding-right: 20px;
  }
  .mod__pager ul .next a:hover {
    background: url("../images/common/arrow-next-blue.svg") right 15px center no-repeat #fff;
    background-size: 16px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__pager ul .next a {
    background: url("../images/common/arrow-next-over.svg") right 15px center no-repeat #DC5500;
    text-align: left;
    padding-left: 20px;
    background-size: 14px;
  }
  .mod__pager ul .next a:hover {
    background: url("../images/common/arrow-next.svg") right 15px center no-repeat #fff;
    background-size: 14px;
  }
}
@media only screen and (max-width: 768px) {
  .mod__pager ul .return {
    margin: 10px auto 0 auto;
    width: 100%;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__pager ul .return {
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 144px;
  }
}
.mod {
  /* ========================
  INFORMATION リンク
  ======================== */
}
.mod__info-link {
  position: relative;
  overflow: hidden;
  background-color: #fff;
}
@media only screen and (max-width: 768px) {
  .mod__info-link {
    padding: 40px 15px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__info-link {
    padding: 80px 30px;
  }
}
.mod__info-link .container {
  position: relative;
  z-index: 2;
  display: block;
  max-width: 1160px;
  margin: 0 auto;
}
@media print, screen and (min-width: 1025px) {
  .mod__info-link .container {
    padding: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .mod__info-link .container {
    padding: 0;
  }
}
@media only screen and (max-width: 768px) {
  .mod__info-link .container {
    padding: 0;
  }
}
@media screen and (min-width: 1281px) {
  .mod__info-link .container {
    max-width: 1370px;
  }
}
.mod__info-link .container h2 {
  font-family: "Zen Maru Gothic";
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .mod__info-link .container h2 {
    font-size: 2.4rem;
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__info-link .container h2 {
    font-size: 4rem;
    margin-bottom: 70px;
  }
}
@media print, screen and (min-width: 769px) and (min-width: 1025px) {
  .mod__info-link .container ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.mod__info-link .container ul li {
  background-color: #E1E9FC;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .mod__info-link .container ul li {
    border-radius: 10px;
  }
  .mod__info-link .container ul li:nth-child(n+2) {
    margin-top: 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__info-link .container ul li {
    border-radius: 20px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .mod__info-link .container ul li:nth-child(n+2) {
    margin-top: 20px;
  }
}
@media print, screen and (min-width: 769px) and (min-width: 1025px) {
  .mod__info-link .container ul li {
    width: 31.38%;
  }
}
.mod__info-link .container ul li a {
  display: block;
  color: #fff;
  text-decoration: none;
  background-color: #89afc0;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 768px) {
  .mod__info-link .container ul li a {
    padding: 20px 15px;
    height: 42vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .mod__info-link .container ul li a {
    padding: 30px 20px;
    height: 42vw;
  }
}
@media print, screen and (min-width: 1025px) {
  .mod__info-link .container ul li a {
    padding: 30px 20px;
    height: 400px;
  }
}
.mod__info-link .container ul li a h3 {
  font-family: "Zen Maru Gothic";
  font-weight: 400;
  color: #fff;
  position: relative;
  z-index: 3;
  text-align: center;
  line-height: 1.6;
}
@media only screen and (max-width: 768px) {
  .mod__info-link .container ul li a h3 {
    font-size: 2rem;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__info-link .container ul li a h3 {
    font-size: 3rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1230px) {
  .mod__info-link .container ul li a h3 {
    font-size: 2.4rem;
  }
}
.mod__info-link .container ul li a:before {
  display: inline-block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  background-color: rgba(220, 85, 0, 0.52);
  mix-blend-mode: multiply;
  z-index: 2;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.mod__info-link .container ul li a:hover:before {
  background-color: rgba(220, 85, 0, 0.72);
}
.mod__info-link .container ul li:nth-child(1) a {
  background: url("../images/common/mod__info-bg01-sp.jpg") center center no-repeat;
  background-size: cover;
}
@media print, screen and (min-width: 1025px) {
  .mod__info-link .container ul li:nth-child(1) a {
    background: url("../images/common/mod__info-bg01-pc.jpg") center center no-repeat;
    background-size: cover;
  }
}
.mod__info-link .container ul li:nth-child(2) a {
  background: url("../images/common/mod__info-bg02-sp.jpg") center center no-repeat;
  background-size: cover;
}
@media print, screen and (min-width: 1025px) {
  .mod__info-link .container ul li:nth-child(2) a {
    background: url("../images/common/mod__info-bg02-pc.jpg") center center no-repeat;
    background-size: cover;
  }
}
.mod__info-link .container ul li:nth-child(2) a:before {
  display: inline-block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  background-color: rgba(0, 80, 130, 0.52);
  mix-blend-mode: multiply;
  z-index: 2;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.mod__info-link .container ul li:nth-child(2) a:hover:before {
  background-color: rgba(0, 80, 130, 0.72);
}
.mod__info-link .container ul li:nth-child(3) a {
  background: url("../images/common/mod__info-bg03-sp.jpg") center center no-repeat;
  background-size: cover;
}
@media print, screen and (min-width: 1025px) {
  .mod__info-link .container ul li:nth-child(3) a {
    background: url("../images/common/mod__info-bg03-pc.jpg") center center no-repeat;
    background-size: cover;
  }
}
.mod {
  /* ========================
  お問い合わせ リンク
  ======================== */
}
.mod__contact {
  color: #707070;
}
@media only screen and (max-width: 768px) {
  .mod__contact {
    padding: 30px 15px;
    background: url("../images/common/mod__contact-bg-sp.jpg") center center no-repeat;
    background-size: cover;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__contact {
    padding: 60px 30px 80px 30px;
    background: url("../images/common/mod__contact-bg-pc.jpg") center center no-repeat;
    background-size: cover;
  }
}
.mod__contact .container {
  background-color: #fff;
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .mod__contact .container {
    padding: 27px 20px 30px 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__contact .container {
    padding: 50px 30px 76px 30px;
  }
}
@media only screen and (max-width: 768px) {
  .mod__contact .container .info-wrap {
    width: 100%;
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__contact .container .info-wrap {
    width: 100%;
    margin-bottom: 50px;
  }
}
.mod__contact .container .info-wrap p {
  text-align: center;
  margin-top: 40px;
  font-family: "Zen Maru Gothic";
  font-weight: 500;
  font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .mod__contact .container ul {
    width: 100%;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__contact .container ul {
    width: 100%;
    max-width: 816px;
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 769px) and (min-width: 1025px) {
  .mod__contact .container ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.mod__contact .container ul li {
  text-align: center;
}
@media print, screen and (min-width: 769px) and (min-width: 1025px) {
  .mod__contact .container ul li:nth-child(1) {
    width: 47.18%;
  }
}
@media only screen and (max-width: 768px) {
  .mod__contact .container ul li:nth-child(1) p.mail {
    max-width: 100%;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__contact .container ul li:nth-child(1) p.mail {
    max-width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .mod__contact .container ul li:nth-child(1) p.mail .mod__button1 {
    max-width: 100%;
    padding: 20px 15px;
    background-position: right 30px center;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__contact .container ul li:nth-child(1) p.mail .mod__button1 {
    max-width: 100%;
    padding: 36px 15px;
    background-position: right 30px center;
  }
}
.mod__contact .container ul li:nth-child(2) {
  border: 1px dashed #707070;
}
@media only screen and (max-width: 768px) {
  .mod__contact .container ul li:nth-child(2) {
    padding-top: 30px;
    padding: 26px 15px;
    margin-top: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__contact .container ul li:nth-child(2) {
    padding: 15px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .mod__contact .container ul li:nth-child(2) {
    margin-top: 30px;
  }
}
@media print, screen and (min-width: 769px) and (min-width: 1025px) {
  .mod__contact .container ul li:nth-child(2) {
    width: 49%;
  }
}
.mod__contact .container ul li:nth-child(2) p.tel a {
  font-family: "IBM Plex Sans JP";
  font-weight: 700;
  color: #005082;
  font-weight: 700;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 768px) {
  .mod__contact .container ul li:nth-child(2) p.tel a {
    font-size: 3.2rem;
    max-width: 100%;
  }
  .mod__contact .container ul li:nth-child(2) p.tel a:before {
    content: "";
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2227.561%22%20height%3D%2227.552%22%20viewBox%3D%220%200%2027.561%2027.552%22%3E%3Cg%20transform%3D%22translate(1.001%201)%22%3E%3Cpath%20d%3D%22M32.01%2C34.552l-.059%2C0a26.742%2C26.742%2C0%2C0%2C1-17.132-7.428%2C25.374%2C25.374%2C0%2C0%2C1-5.408-7.693A26.806%2C26.806%2C0%2C0%2C1%2C7.069%2C9.772C6.929%2C8.3%2C7.54%2C7.216%2C8.63%2C7.016A1%2C1%2C0%2C0%2C1%2C9.1%2C8.957a1.722%2C1.722%2C0%2C0%2C0-.04.64l0%2C.044A24.079%2C24.079%2C0%2C0%2C0%2C32.036%2C32.552a2.312%2C2.312%2C0%2C0%2C0%2C.64-.109%2C1%2C1%2C0%2C0%2C1%2C1.934.357%2C1.627%2C1.627%2C0%2C0%2C1-1.273%2C1.529A4.257%2C4.257%2C0%2C0%2C1%2C32.01%2C34.552Z%22%20transform%3D%22translate(-8.05%20-8)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M26.151%2C30.826a1%2C1%2C0%2C0%2C1-.491-.129%2C22.212%2C22.212%2C0%2C0%2C1-4.725-3.577A1%2C1%2C0%2C1%2C1%2C22.345%2C25.7a20.212%2C20.212%2C0%2C0%2C0%2C4.3%2C3.255%2C1%2C1%2C0%2C0%2C1-.493%2C1.871Z%22%20transform%3D%22translate(-10.768%20-11.682)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M27.28%2C30.94a1%2C1%2C0%2C0%2C1-.7-1.71l2.984-2.96A1%2C1%2C0%2C0%2C1%2C30.483%2C26l7.192%2C1.616a1%2C1%2C0%2C0%2C1-.438%2C1.951l-6.657-1.5-2.6%2C2.574A1%2C1%2C0%2C0%2C1%2C27.28%2C30.94Z%22%20transform%3D%22translate(-11.896%20-11.796)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M17.36%2C19.224a1%2C1%2C0%2C0%2C1-.719-1.695l2.553-2.644L17.7%2C8.219a1%2C1%2C0%2C0%2C1%2C1.951-.438l1.616%2C7.192a1%2C1%2C0%2C0%2C1-.256.914l-2.928%2C3.032A1%2C1%2C0%2C0%2C1%2C17.36%2C19.224Z%22%20transform%3D%22translate(-9.912%20-8)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M8%2C1H0A1%2C1%2C0%2C0%2C1-1%2C0%2C1%2C1%2C0%2C0%2C1%2C0-1H8A1%2C1%2C0%2C0%2C1%2C9%2C0%2C1%2C1%2C0%2C0%2C1%2C8%2C1Z%22%20transform%3D%22translate(0.76%200)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M0%2C9A1%2C1%2C0%2C0%2C1-1%2C8V0A1%2C1%2C0%2C0%2C1%2C0-1%2C1%2C1%2C0%2C0%2C1%2C1%2C0V8A1%2C1%2C0%2C0%2C1%2C0%2C9Z%22%20transform%3D%22translate(25.56%2016.8)%22%20fill%3D%22%23005082%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat;
    background-size: contain;
    width: 16px;
    height: 16px;
    margin-right: 8px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__contact .container ul li:nth-child(2) p.tel a {
    font-size: 4rem;
    pointer-events: none;
    max-width: 100%;
  }
  .mod__contact .container ul li:nth-child(2) p.tel a:before {
    content: "";
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2227.561%22%20height%3D%2227.552%22%20viewBox%3D%220%200%2027.561%2027.552%22%3E%3Cg%20transform%3D%22translate(1.001%201)%22%3E%3Cpath%20d%3D%22M32.01%2C34.552l-.059%2C0a26.742%2C26.742%2C0%2C0%2C1-17.132-7.428%2C25.374%2C25.374%2C0%2C0%2C1-5.408-7.693A26.806%2C26.806%2C0%2C0%2C1%2C7.069%2C9.772C6.929%2C8.3%2C7.54%2C7.216%2C8.63%2C7.016A1%2C1%2C0%2C0%2C1%2C9.1%2C8.957a1.722%2C1.722%2C0%2C0%2C0-.04.64l0%2C.044A24.079%2C24.079%2C0%2C0%2C0%2C32.036%2C32.552a2.312%2C2.312%2C0%2C0%2C0%2C.64-.109%2C1%2C1%2C0%2C0%2C1%2C1.934.357%2C1.627%2C1.627%2C0%2C0%2C1-1.273%2C1.529A4.257%2C4.257%2C0%2C0%2C1%2C32.01%2C34.552Z%22%20transform%3D%22translate(-8.05%20-8)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M26.151%2C30.826a1%2C1%2C0%2C0%2C1-.491-.129%2C22.212%2C22.212%2C0%2C0%2C1-4.725-3.577A1%2C1%2C0%2C1%2C1%2C22.345%2C25.7a20.212%2C20.212%2C0%2C0%2C0%2C4.3%2C3.255%2C1%2C1%2C0%2C0%2C1-.493%2C1.871Z%22%20transform%3D%22translate(-10.768%20-11.682)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M27.28%2C30.94a1%2C1%2C0%2C0%2C1-.7-1.71l2.984-2.96A1%2C1%2C0%2C0%2C1%2C30.483%2C26l7.192%2C1.616a1%2C1%2C0%2C0%2C1-.438%2C1.951l-6.657-1.5-2.6%2C2.574A1%2C1%2C0%2C0%2C1%2C27.28%2C30.94Z%22%20transform%3D%22translate(-11.896%20-11.796)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M17.36%2C19.224a1%2C1%2C0%2C0%2C1-.719-1.695l2.553-2.644L17.7%2C8.219a1%2C1%2C0%2C0%2C1%2C1.951-.438l1.616%2C7.192a1%2C1%2C0%2C0%2C1-.256.914l-2.928%2C3.032A1%2C1%2C0%2C0%2C1%2C17.36%2C19.224Z%22%20transform%3D%22translate(-9.912%20-8)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M8%2C1H0A1%2C1%2C0%2C0%2C1-1%2C0%2C1%2C1%2C0%2C0%2C1%2C0-1H8A1%2C1%2C0%2C0%2C1%2C9%2C0%2C1%2C1%2C0%2C0%2C1%2C8%2C1Z%22%20transform%3D%22translate(0.76%200)%22%20fill%3D%22%23005082%22%2F%3E%3Cpath%20d%3D%22M0%2C9A1%2C1%2C0%2C0%2C1-1%2C8V0A1%2C1%2C0%2C0%2C1%2C0-1%2C1%2C1%2C0%2C0%2C1%2C1%2C0V8A1%2C1%2C0%2C0%2C1%2C0%2C9Z%22%20transform%3D%22translate(25.56%2016.8)%22%20fill%3D%22%23005082%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat;
    background-size: contain;
    width: 25px;
    height: 25px;
    margin-right: 15px;
  }
}
.mod__contact .container ul li:nth-child(2) p.tel a:hover {
  opacity: 0.8;
}
.mod__contact .container ul li:nth-child(2) p.open {
  font-family: "IBM Plex Sans JP";
  font-weight: 400;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .mod__contact .container ul li:nth-child(2) p.open {
    font-size: 1.4rem;
    margin-top: 10px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__contact .container ul li:nth-child(2) p.open {
    font-size: 1.6rem;
  }
}
.mod {
  /* ========================
  コラム リンク
  ======================== */
}
@media only screen and (max-width: 768px) {
  .mod__column-link {
    padding: 40px 0 60px 0;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__column-link {
    padding: 80px 0 85px 0;
  }
}
.mod__column-link .swiper-container01 {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .mod__column-link .swiper-container01 {
    margin-top: 10px;
    padding-top: 20px;
    width: 100%;
    overflow: hidden;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__column-link .swiper-container01 {
    margin-top: 40px;
    padding-top: 20px;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
}
.mod__column-link .swiper-container01 .swiper-slide {
  -webkit-box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2784313725);
          box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2784313725);
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 5px;
  background-color: #fff;
}
@media only screen and (max-width: 768px) {
  .mod__column-link .swiper-container01 .swiper-slide {
    width: 384px;
    text-align: center;
    font-size: 18px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__column-link .swiper-container01 .swiper-slide {
    text-align: center;
    font-size: 18px;
    height: auto;
  }
}
.mod__column-link .swiper-container01 .swiper-slide a {
  display: block;
  text-decoration: none;
}
.mod__column-link .swiper-container01 .swiper-slide a figure {
  width: 100%;
  position: relative;
}
.mod__column-link .swiper-container01 .swiper-slide a figure img {
  vertical-align: bottom;
  width: 100%;
  height: 100%;
  aspect-ratio: 43/27;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 0;
  left: 0;
}
.mod__column-link .swiper-container01 .swiper-slide a .wrap {
  background-color: #fff;
}
@media only screen and (max-width: 768px) {
  .mod__column-link .swiper-container01 .swiper-slide a .wrap {
    padding: 22px 26px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__column-link .swiper-container01 .swiper-slide a .wrap {
    padding: 30px;
    text-align: left;
  }
}
.mod__column-link .swiper-container01 .swiper-slide a .wrap time {
  font-family: "IBM Plex Sans JP";
  font-weight: 400;
  text-align: left;
  color: #707070;
  font-weight: 400;
  margin-bottom: 5px;
  font-style: normal;
  display: block;
}
@media only screen and (max-width: 768px) {
  .mod__column-link .swiper-container01 .swiper-slide a .wrap time {
    font-size: 1.2rem;
    margin-bottom: 8px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__column-link .swiper-container01 .swiper-slide a .wrap time {
    font-size: 1.6rem;
    margin-bottom: 6px;
  }
}
.mod__column-link .swiper-container01 .swiper-slide a .wrap h3 {
  font-family: "Zen Maru Gothic";
  font-weight: 500;
  text-align: left;
  line-height: 1.6;
  color: #DC5500;
}
@media only screen and (max-width: 768px) {
  .mod__column-link .swiper-container01 .swiper-slide a .wrap h3 {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__column-link .swiper-container01 .swiper-slide a .wrap h3 {
    font-size: 2rem;
    margin-bottom: 15px;
  }
}
.mod__column-link .swiper-container01 .swiper-slide a .wrap p {
  font-family: "IBM Plex Sans JP";
  font-weight: 500;
  text-align: left;
  color: #707070;
  line-height: 2;
}
@media only screen and (max-width: 768px) {
  .mod__column-link .swiper-container01 .swiper-slide a .wrap p {
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__column-link .swiper-container01 .swiper-slide a .wrap p {
    font-size: 1.6rem;
  }
}
.mod__column-link .swiper-container01 .swiper-slide a:hover {
  opacity: 0.8;
}
.mod__column-link .swiper-container01 {
  /* 前へ次への矢印カスタマイズ */
}
.mod__column-link .swiper-container01 .swiper-button-prev,
.mod__column-link .swiper-container01 .swiper-button-next {
  height: 80px;
  width: 80px;
}
@media only screen and (max-width: 768px) {
  .mod__column-link .swiper-container01 .swiper-button-prev,
  .mod__column-link .swiper-container01 .swiper-button-next {
    height: 45px;
    width: 45px;
  }
}
@media only screen and (max-width: 768px) {
  .mod__column-link .swiper-container01 .swiper-button-prev {
    left: 5px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__column-link .swiper-container01 .swiper-button-prev {
    left: 30px;
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .mod__column-link .swiper-container01 .swiper-button-prev {
    left: 10vw;
  }
}
@media only screen and (max-width: 768px) {
  .mod__column-link .swiper-container01 .swiper-button-next {
    right: 5px;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__column-link .swiper-container01 .swiper-button-next {
    right: 30px;
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .mod__column-link .swiper-container01 .swiper-button-next {
    right: 10vw;
  }
}
.mod__column-link .swiper-container01 {
  /* 前へ次への矢印カスタマイズ */
}
.mod__column-link .swiper-container01 .swiper-button-prev::after,
.mod__column-link .swiper-container01 .swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 80px;
  width: 80px;
  margin: auto;
}
@media only screen and (max-width: 768px) {
  .mod__column-link .swiper-container01 .swiper-button-prev::after,
  .mod__column-link .swiper-container01 .swiper-button-next::after {
    height: 45px;
    width: 45px;
  }
}
.mod__column-link .swiper-container01 {
  /* 前への矢印カスタマイズ */
}
.mod__column-link .swiper-container01 .swiper-button-prev::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cg%20opacity%3D%220.59%22%3E%3Ccircle%20cx%3D%2240%22%20cy%3D%2240%22%20r%3D%2240%22%20fill%3D%22%23dc5500%22%2F%3E%3Cpath%20d%3D%22M1266.939%2C6160.061%2C1253.879%2C6147l13.061-13.061%2C2.121%2C2.121L1258.121%2C6147l10.939%2C10.939Z%22%20transform%3D%22translate(-1222.5%20-6106.5)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
.mod__column-link .swiper-container01 {
  /* 次への矢印カスタマイズ */
}
.mod__column-link .swiper-container01 .swiper-button-next::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%3Cg%20transform%3D%22translate(-1233%20-6110)%22%20opacity%3D%220.59%22%3E%3Ccircle%20cx%3D%2240%22%20cy%3D%2240%22%20r%3D%2240%22%20transform%3D%22translate(1233%206110)%22%20fill%3D%22%23dc5500%22%2F%3E%3Cpath%20d%3D%22M1257.061%2C6160.061l-2.121-2.121L1265.879%2C6147l-10.939-10.939%2C2.121-2.121L1270.121%2C6147Z%22%20transform%3D%22translate(11.5%203.5)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
.mod__column-link .swiper-container01 {
  /* 画像サイズ調整 */
}
.mod__column-link .swiper-container01 .swiper-slide img {
  height: auto;
  width: 100%;
}
.mod__column-link .no-columns {
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .mod__column-link .no-columns {
    margin: 20px auto 0 auto;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__column-link .no-columns {
    margin: 30px auto 0 auto;
  }
}
.mod__column-link .mod__button2 {
  max-width: 200px;
}
@media only screen and (max-width: 768px) {
  .mod__column-link .mod__button2 {
    margin: 42px auto 0 auto;
  }
}
@media print, screen and (min-width: 769px) {
  .mod__column-link .mod__button2 {
    margin: 65px auto 0 auto;
  }
}
.mod {
  /*
  EOF
  */
}

/*====================================
  03_page
=====================================*/
/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  画像
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  リンクボタン
///////////////////////////////// */
/* /////////////////////////////////
  FlexBox
///////////////////////////////// */
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/* /////////////////////////////////////////////////////////
  LP: バーチャルホームステージングサービス
  https://ariesservice.jp/home-staging/
///////////////////////////////////////////////////////// */
/* ==============================================
   main パディング（固定ヘッダー分）
   元サイトの main[class^=page--] を LP クラスで上書き
   ============================================== */
@media only screen and (max-width: 768px) {
  .page--lp {
    padding: 60px 0 0 0;
  }
}
@media print, screen and (min-width: 769px) {
  .page--lp {
    padding: 80px 0 0 0;
  }
}
/* footer の margin-top をリセット（LP では直前セクションで制御） */
@media only screen and (max-width: 768px) {
  .page--lp + .footer {
    margin-top: 0;
  }
}
@media print, screen and (min-width: 769px) {
  .page--lp + .footer {
    margin-top: 0;
  }
}

/* ==============================================
   確認画面・完了画面 共通
   ============================================== */
@media only screen and (max-width: 768px) {
  .page--confirm,
  .page--thanks {
    padding: 60px 0 0 0;
  }
}
@media print, screen and (min-width: 769px) {
  .page--confirm,
  .page--thanks {
    padding: 80px 0 0 0;
  }
}

/* 確認画面 */
.confirm-page {
  background-color: #af8d6c;
}
@media only screen and (max-width: 768px) {
  .confirm-page {
    padding: 50px 20px 60px;
  }
}
@media print, screen and (min-width: 769px) {
  .confirm-page {
    padding: 70px 30px 80px;
  }
}
.confirm-page__inner {
  max-width: 800px;
  margin: 0 auto;
}
.confirm-page__title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 768px) {
  .confirm-page__title {
    font-size: 2.4rem;
    margin-bottom: 12px;
  }
}
@media print, screen and (min-width: 769px) {
  .confirm-page__title {
    font-size: 4rem;
    margin-bottom: 16px;
  }
}
.confirm-page__subtitle {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #fff;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .confirm-page__subtitle {
    font-size: 1.5rem;
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .confirm-page__subtitle {
    font-size: 1.8rem;
    margin-bottom: 40px;
  }
}
.confirm-page__card {
  background-color: #fff;
  border-radius: 14px;
}
@media only screen and (max-width: 768px) {
  .confirm-page__card {
    padding: 30px 20px 36px;
  }
}
@media print, screen and (min-width: 769px) {
  .confirm-page__card {
    padding: 50px 60px 56px;
  }
}
.confirm-page__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  color: #333;
  text-align: center;
  line-height: 1.8;
  margin-bottom: 36px;
}
.confirm-page .formItem {
  width: 100%;
  margin-bottom: 36px;
}
.confirm-page .formItem dt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  color: #666;
  padding: 10px 0 4px;
  border-bottom: 1px solid #e8e0d8;
}
.confirm-page .formItem dd {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  color: #333;
  padding: 8px 0 12px;
  margin: 0;
  line-height: 1.8;
  word-break: break-all;
}
.confirm-page__btn-wrap {
  text-align: center;
  margin-top: 10px;
}
.confirm-page__submit {
  display: inline-block;
  width: 100%;
  height: 80px;
  background-color: #DC5500;
  color: #fff;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
@media only screen and (max-width: 768px) {
  .confirm-page__submit {
    max-width: 100%;
  }
}
@media print, screen and (min-width: 769px) {
  .confirm-page__submit {
    max-width: 340px;
  }
}
.confirm-page__submit:hover {
  opacity: 0.85;
}
.confirm-page__back {
  text-align: center;
  margin-top: 20px;
}
.confirm-page__back a {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  color: #333;
  text-decoration: underline;
}
.confirm-page__back a:hover {
  opacity: 0.7;
}

/* 完了画面 */
.thanks-page {
  background-color: #af8d6c;
  min-height: calc(100vh - 60px);
}
@media only screen and (max-width: 768px) {
  .thanks-page {
    padding: 50px 20px 60px;
  }
}
@media print, screen and (min-width: 769px) {
  .thanks-page {
    padding: 70px 30px 80px;
    min-height: calc(100vh - 80px);
  }
}
.thanks-page__inner {
  max-width: 800px;
  margin: 0 auto;
  width: 100%;
}
.thanks-page__title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 768px) {
  .thanks-page__title {
    font-size: 2.4rem;
    margin-bottom: 12px;
  }
}
@media print, screen and (min-width: 769px) {
  .thanks-page__title {
    font-size: 4rem;
    margin-bottom: 16px;
  }
}
.thanks-page__subtitle {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #fff;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .thanks-page__subtitle {
    font-size: 1.5rem;
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .thanks-page__subtitle {
    font-size: 1.8rem;
    margin-bottom: 40px;
  }
}
.thanks-page__card {
  background-color: #fff;
  border-radius: 14px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .thanks-page__card {
    padding: 30px 20px 36px;
  }
}
@media print, screen and (min-width: 769px) {
  .thanks-page__card {
    padding: 50px 60px 56px;
  }
}
.thanks-page__icon {
  width: 60px;
  height: 60px;
  background-color: #DC5500;
  border-radius: 50%;
  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;
  margin: 0 auto 28px;
}
.thanks-page__icon::after {
  content: "";
  display: block;
  width: 22px;
  height: 12px;
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  -webkit-transform: rotate(-45deg) translateY(-3px);
          transform: rotate(-45deg) translateY(-3px);
}
.thanks-page__message {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  color: #333;
  line-height: 2;
  margin-bottom: 30px;
}
.thanks-page__note {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  color: #666;
  line-height: 1.9;
  margin-bottom: 40px;
  padding: 20px 24px;
  background-color: #fafaf8;
  border-radius: 8px;
  text-align: left;
}
.thanks-page__btn {
  display: inline-block;
  width: 100%;
  height: 80px;
  line-height: 80px;
  background-color: #DC5500;
  color: #fff !important;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  border-radius: 6px;
  text-decoration: none;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
@media only screen and (max-width: 768px) {
  .thanks-page__btn {
    max-width: 100%;
  }
}
@media print, screen and (min-width: 769px) {
  .thanks-page__btn {
    max-width: 340px;
  }
}
.thanks-page__btn:hover {
  opacity: 0.85;
}

/* ==============================================
   メインビジュアル
   ============================================== */
.mainvisual {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  width: 100%;
  background-color: #fff;
}
@media only screen and (max-width: 768px) {
  .mainvisual {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: auto;
  }
}
@media print, screen and (min-width: 769px) {
  .mainvisual {
    /*height: calc(100svh - 80px);
    min-height: 520px;
    max-height: 880px;*/
  }
}
@media print, screen and (min-width: 769px) and (min-width: 1025px) {
  .mainvisual {
    padding-right: 74px;
  }
}
.mainvisual__img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  overflow: hidden;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .mainvisual__img {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    height: 55vw;
    min-height: 240px;
    max-height: 360px;
  }
}
@media print, screen and (min-width: 769px) {
  .mainvisual__img {
    height: 810px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .mainvisual__img {
    height: 610px;
  }
}
.mainvisual__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  vertical-align: bottom;
}
.mainvisual__img__slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.mainvisual__img__slide--1 {
  -webkit-animation: mvFade 8s ease-in-out infinite;
          animation: mvFade 8s ease-in-out infinite;
}
.mainvisual__img__slide--2 {
  -webkit-animation: mvFade 8s ease-in-out infinite 4s;
          animation: mvFade 8s ease-in-out infinite 4s;
}
.mainvisual__content {
  background-color: #FCEDE0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .mainvisual__content {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    width: 100%;
    padding: 46px 20px 60px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
}
@media print, screen and (min-width: 769px) {
  .mainvisual__content {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding: 0 44px;
    margin-top: 53px;
    margin-left: -44px;
  }
}
@media print, screen and (min-width: 1025px) {
  .mainvisual__content {
    width: 560px;
    padding: 67px 56px 94px 111px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .mainvisual__content {
    width: 480px;
    padding: 60px 30px 60px 64px;
    margin-left: -30px;
  }
}
.mainvisual__lead {
  text-align: center;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  color: #DC5500;
  line-height: 1.4;
}
@media only screen and (max-width: 768px) {
  .mainvisual__lead {
    font-size: 1.6rem;
    letter-spacing: 0.8px;
    margin-bottom: 15px;
  }
}
@media print, screen and (min-width: 769px) {
  .mainvisual__lead {
    font-size: 2rem;
    letter-spacing: 1px;
    margin-bottom: 24px;
  }
}
.mainvisual__heading {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  color: #DC5500;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  .mainvisual__heading {
    font-size: 2.8rem;
    letter-spacing: 1.4px;
  }
}
@media print, screen and (min-width: 769px) {
  .mainvisual__heading {
    font-size: 3rem;
    letter-spacing: 1.5px;
  }
}
.mainvisual__heading span {
  color: #707070;
}
.mainvisual__badge {
  display: block;
  width: 100%;
  text-align: center;
  padding: 13px 24px;
  border: 1px solid #DC5500;
  color: #707070;
  background-color: #fff;
  border-radius: 10px;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-size: 1.5rem;
  max-width: 340px;
}
@media only screen and (max-width: 768px) {
  .mainvisual__badge {
    font-size: 2.4rem;
    max-width: 270px;
    padding: 8px 15px;
    margin-bottom: 12px;
  }
}
@media print, screen and (min-width: 769px) {
  .mainvisual__badge {
    font-size: 2.4rem;
    margin-bottom: 23px;
  }
}
.mainvisual__service {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  color: #DC5500;
  line-height: 1.4;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .mainvisual__service {
    font-size: 2.4rem;
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .mainvisual__service {
    font-size: 3rem;
    margin-bottom: 24px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .mainvisual__service {
    font-size: 2.8rem;
  }
}
.mainvisual__logo-wrap {
  width: 100%;
  max-width: 392px;
  margin-bottom: 32px;
}
@media only screen and (max-width: 768px) {
  .mainvisual__logo-wrap {
    margin-bottom: 20px;
  }
}
.mainvisual__logo-wrap img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
.mainvisual__tags {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 8px 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 350px;
  margin: 0 auto 35px;
}
@media only screen and (max-width: 768px) {
  .mainvisual__tags {
    max-width: 294px;
    margin: 0 auto 40px;
  }
}
.mainvisual__tags li {
  border: 1.5px solid #DC5500;
  color: #707070;
  background-color: rgb(255, 255, 255);
  font-family: "Zen Maru Gothic";
  font-weight: 500;
  text-align: center;
  padding: 7px 8px;
  letter-spacing: 0.02em;
  font-size: 2rem;
  border-radius: 10px;
}
@media only screen and (max-width: 768px) {
  .mainvisual__tags li {
    font-size: 1.6rem;
  }
}
.mainvisual__cta {
  max-width: 280px;
}
@media only screen and (max-width: 768px) {
  .mainvisual__cta {
    width: 100%;
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 769px) {
  .mainvisual__cta {
    width: 100%;
    margin: 0;
  }
}

/* ==============================================
   フッター追加：「会社情報」見出しブロック
   ============================================== */
.footer__company {
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .footer__company {
    padding: 60px 15px 0;
  }
}
@media print, screen and (min-width: 769px) {
  .footer__company {
    padding: 80px 30px 0;
  }
}
.footer__company__heading {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #707070;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .footer__company__heading {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
    margin: 0 0 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .footer__company__heading {
    font-size: 4rem;
    letter-spacing: 4px;
    margin: 0 0 40px;
  }
}

/* ==============================================
   後続セクション（デザイン確認後に順次追記）
   ============================================== */
/* ==============================================
   メインビジュアル フェードアニメーション
   ============================================== */
@-webkit-keyframes mvFade {
  0% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes mvFade {
  0% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* ==============================================
   AIセクション（#order）
   ・当社のコーディネーターがAI生成したイメージ
   ・Before/After スライダー
   ・こんな問題はございませんか？
   ============================================== */
.sec-ai {
  background-color: #fff;
}
@media only screen and (max-width: 768px) {
  .sec-ai {
    padding: 40px 20px 60px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-ai {
    padding: 40px 30px 80px;
  }
}
.sec-ai__inner {
  max-width: 1160px;
  margin: 0 auto;
}
.sec-ai__title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #707070;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-ai__title {
    font-size: 2.4rem;
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-ai__title {
    font-size: 4rem;
    margin-bottom: 60px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .sec-ai__title .hidePC {
    display: block !important;
  }
}
@media only screen and (max-width: 768px) {
  .sec-ai__trouble {
    margin-top: 60px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-ai__trouble {
    margin-top: 80px;
  }
}
.sec-ai__trouble__lead {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #707070;
  text-align: center;
  line-height: 1.6;
}
@media only screen and (max-width: 768px) {
  .sec-ai__trouble__lead {
    font-size: 2.2rem;
    margin-bottom: 40px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-ai__trouble__lead {
    font-size: 4rem;
    margin-bottom: 40px;
    letter-spacing: 4px;
  }
}
.sec-ai__trouble__lead span {
  color: #DC5500;
}
.sec-ai__trouble__list {
  display: -ms-grid;
  display: grid;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .sec-ai__trouble__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-ai__trouble__list {
    -ms-grid-columns: 1fr 20px 1fr 20px 1fr 20px 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .sec-ai__trouble__list {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
.sec-ai__trouble__list li {
  background-color: #f0f0f0;
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-ai__trouble__list li {
    padding: 40px 20px 48px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-ai__trouble__list li {
    padding: 48px 20px 58px;
  }
}
.sec-ai__trouble__list li figure {
  margin: 0 0 24px;
}
@media print, screen and (min-width: 769px) {
  .sec-ai__trouble__list li figure {
    margin: 0 0 40px;
  }
}
.sec-ai__trouble__list li figure img {
  width: 80px;
  height: auto;
}
.sec-ai__trouble__list li p {
  font-family: "Zen Maru Gothic";
  font-weight: 500;
  color: #707070;
  line-height: 1.6;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .sec-ai__trouble__list li p {
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-ai__trouble__list li p {
    font-size: 1.8rem;
  }
}
.sec-ai__trouble__list li p span {
  color: #DC5500;
  font-weight: 700;
}

/* ==============================================
   Before/After スライダー (.ba-slider)
   clip-path方式: レイアウト再計算なしでGPU合成
   ハンドルとBEFORE画像が完全同期する
   ============================================== */
.ba-slider {
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: ew-resize;
}
.ba-slider {
  overflow: hidden;
}
.ba-slider__after {
  position: relative;
  width: 100%;
}
.ba-slider__after img {
  display: block;
  width: 100%;
  height: auto;
}
.ba-slider__before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(0 50% 0 0);
  z-index: 2;
}
.ba-slider__before img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  pointer-events: none;
}
.ba-slider__label {
  position: absolute;
  top: 14px;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  font-size: 1.4rem;
  color: #fff;
  background-color: rgba(80, 80, 80, 0.75);
  padding: 4px 12px;
  border-radius: 20px;
  letter-spacing: 1px;
  z-index: 3;
}
@media print, screen and (min-width: 769px) {
  .ba-slider__label {
    font-size: 1.6rem;
    padding: 6px 20px;
    letter-spacing: 1.6px;
  }
}
.ba-slider__label--before {
  left: 14px;
}
.ba-slider__label--after {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 1;
}
.ba-slider__handle {
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
  width: 3px;
  background-color: rgba(255, 255, 255, 0.85);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 4;
  pointer-events: none;
}
.ba-slider__handle__circle {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  background-color: rgba(255, 255, 255, 0.92);
  border-radius: 50%;
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  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;
  pointer-events: all;
  cursor: ew-resize;
}

/* ==============================================
   バーチャルホームステージングサービス (.sec-virtual)
   ============================================== */
.sec-virtual {
  background: url("../images/virtual/virtual-bg.jpg") center center no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 768px) {
  .sec-virtual {
    padding: 60px 20px;
    background-position: 74% center;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-virtual {
    padding: 80px 30px 85px;
  }
}
.sec-virtual__inner {
  max-width: 1160px;
  margin: 0 auto;
}
.sec-virtual__head {
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-virtual__head {
    margin-bottom: 50px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-virtual__head {
    margin-bottom: 63px;
  }
}
.sec-virtual__lead {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #333;
  line-height: 1.6;
  -webkit-text-stroke: 4px rgb(255, 255, 255);
  paint-order: stroke fill;
  text-shadow: 0 0 10px rgb(255, 255, 255), 0 0 20px rgb(255, 255, 255);
}
@media only screen and (max-width: 768px) {
  .sec-virtual__lead {
    font-size: 1.8rem;
    margin-bottom: 30px;
    letter-spacing: 1.8px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-virtual__lead {
    font-size: 2.4rem;
    margin-bottom: 40px;
    letter-spacing: 2.4px;
  }
}
.sec-virtual__lead span {
  color: #DC5500;
  font-weight: 700;
}
.sec-virtual__title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #005082;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 768px) {
  .sec-virtual__title {
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 2.4px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-virtual__title {
    font-size: 4rem;
    line-height: 1.4;
    letter-spacing: 4px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .sec-virtual__title .hidePC {
    display: block !important;
  }
}
@media only screen and (max-width: 768px) {
  .sec-virtual__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 36px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-virtual__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 60px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .sec-virtual__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
  }
}
.sec-virtual__img-wrap {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  overflow: hidden;
  border-radius: 16px;
  height: 400px;
  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1607843137);
          box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1607843137);
}
@media only screen and (max-width: 768px) {
  .sec-virtual__img-wrap {
    width: 100%;
    max-width: 550px;
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-virtual__img-wrap {
    width: 45%;
    max-width: 550px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .sec-virtual__img-wrap {
    width: 100%;
  }
}
.sec-virtual__img-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.sec-virtual__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.sec-virtual__desc {
  font-family: "IBM Plex Sans JP";
  font-weight: 500;
  color: #707070;
  line-height: 1.8;
  -webkit-text-stroke: 4px rgb(255, 255, 255);
  paint-order: stroke fill;
  text-shadow: 0 0 10px rgb(255, 255, 255), 0 0 20px rgb(255, 255, 255);
}
@media only screen and (max-width: 768px) {
  .sec-virtual__desc {
    font-size: 1.6rem;
    margin-bottom: 70px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-virtual__desc {
    font-size: 1.8rem;
    margin-bottom: 50px;
    text-align: center;
  }
}
.sec-virtual__desc strong {
  color: #DC5500;
  font-weight: 700;
}
.sec-virtual__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -ms-grid;
  display: grid;
  gap: 20px;
}
@media only screen and (max-width: 768px) {
  .sec-virtual__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-virtual__list {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
.sec-virtual__list li {
  background-color: rgba(255, 255, 255, 0.85);
  border-radius: 14px;
  border-left: 4px solid #005082;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  -webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.1607843137);
          box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.1607843137);
}
@media only screen and (max-width: 768px) {
  .sec-virtual__list li {
    padding: 16px 16px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-virtual__list li {
    padding: 16px 20px;
  }
}
.sec-virtual__list li figure {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0;
}
.sec-virtual__list li figure img {
  width: 40px;
  height: auto;
  display: block;
}
.sec-virtual__list li span {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #005082;
  line-height: 1.5;
}
@media only screen and (max-width: 768px) {
  .sec-virtual__list li span {
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-virtual__list li span {
    font-size: 1.8rem;
  }
}

/* ==============================================
   メリット・部屋タイプ (.sec-merit)
   ============================================== */
.sec-merit {
  background-color: #fff;
}
@media only screen and (max-width: 768px) {
  .sec-merit {
    padding: 60px 0;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-merit {
    padding: 80px 0;
  }
}
.sec-merit__inner {
  max-width: 1160px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .sec-merit__inner {
    padding: 0;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-merit__inner {
    padding: 0 30px;
  }
}
.sec-merit__logo {
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-merit__logo {
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-merit__logo {
    margin-bottom: 60px;
  }
}
@media only screen and (max-width: 768px) {
  .sec-merit__logo img {
    max-width: 335px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-merit__logo img {
    max-width: 392px;
  }
}
.sec-merit__logo img {
  height: auto;
  display: inline-block;
}
.sec-merit__desc {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #707070;
  text-align: center;
  line-height: 1.6;
}
@media only screen and (max-width: 768px) {
  .sec-merit__desc {
    font-size: 2.2rem;
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-merit__desc {
    font-size: 4rem;
    letter-spacing: 3px;
    margin-bottom: 80px;
  }
  .sec-merit__desc br {
    display: none;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .sec-merit__desc br {
    display: block;
  }
}
.sec-merit__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .sec-merit__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin-bottom: 70px;
    padding: 0 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-merit__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 34px 1fr 34px 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 34px;
    margin-bottom: 160px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .sec-merit__list {
    gap: 20px;
  }
}
.sec-merit__list li {
  background-color: #FCEDE0;
  border-radius: 10px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-merit__list li {
    padding: 58px 20px 48px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-merit__list li {
    padding: 56px 20px 48px;
  }
}
.sec-merit__list li figure {
  margin: 0 0 23px;
}
.sec-merit__list li figure img {
  width: 110px;
  height: auto;
  display: inline-block;
}
.sec-merit__list li h3 {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  color: #DC5500;
  letter-spacing: 1.2px;
}
@media only screen and (max-width: 768px) {
  .sec-merit__list li h3 {
    font-size: 2.4rem;
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-merit__list li h3 {
    font-size: 2.4rem;
    margin-bottom: 30px;
  }
}
.sec-merit__list li p {
  font-family: "IBM Plex Sans JP";
  font-weight: 500;
  color: #707070;
  line-height: 1.7;
}
@media only screen and (max-width: 768px) {
  .sec-merit__list li p {
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-merit__list li p {
    font-size: 1.6rem;
  }
}
.sec-merit__type-title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #DC5500;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-merit__type-title {
    font-size: 2.4rem;
    margin-bottom: 22px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-merit__type-title {
    font-size: 4rem;
    margin-bottom: 53px;
  }
}
.sec-merit__empty {
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-merit__empty {
    margin-bottom: 16px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-merit__empty {
    margin-bottom: 24px;
  }
}
.sec-merit__empty__label {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #707070;
}
@media only screen and (max-width: 768px) {
  .sec-merit__empty__label {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-merit__empty__label {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
}
.sec-merit__empty__img {
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .sec-merit__empty__img {
    max-width: 100%;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-merit__empty__img {
    max-width: 654px;
  }
}
.sec-merit__empty__img img {
  width: 100%;
  height: auto;
  display: block;
}
.sec-merit__arrow {
  width: 0;
  height: 0;
  border-left: 60px solid transparent;
  border-right: 60px solid transparent;
  border-top: 24px solid #e9925a;
  margin: 40px auto;
}
@media only screen and (max-width: 768px) {
  .sec-merit__arrow {
    margin: 30px auto 20px;
  }
}
.sec-merit__grid__group {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 14px 1fr 14px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.sec-merit__grid__col {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
.sec-merit__grid__col li a {
  display: block;
  text-decoration: none;
  color: #707070;
}
.sec-merit__grid__col li a figure {
  position: relative;
  overflow: hidden;
  margin: 0 0 25px;
}
.sec-merit__grid__col li a figure img {
  display: block;
  width: 100%;
  height: auto;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.sec-merit__grid__col li a figure .sec-merit__zoom {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 40px;
  height: 40px;
  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;
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 0;
  -webkit-transform: scale(0.9615384615);
          transform: scale(0.9615384615);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.sec-merit__grid__col li a figure .sec-merit__zoom img {
  width: 26.44px;
  height: auto;
  display: block;
  pointer-events: none;
}
.sec-merit__grid__col li a p {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: 1.8rem;
  text-align: center;
  color: #707070;
  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;
}
.sec-merit__grid__col li a p em {
  font-style: normal;
  color: #DC5500;
  font-size: 2.4rem;
  padding-left: 10px;
  margin-top: -3px;
}
.sec-merit__grid__col li a:hover figure img {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}
.sec-merit__grid__col li a:hover figure .sec-merit__zoom {
  opacity: 0.85;
}
.sec-merit__grid__col li a:hover p {
  opacity: 0.8;
}

/* ==============================================
   SP: Swiperスライダー (.merit-slider)
   ============================================== */
@media only screen and (max-width: 768px) {
  .sec-merit__sliders {
    padding: 0;
  }
}

@media only screen and (max-width: 768px) {
  .merit-slider {
    margin-bottom: 30px;
  }
}
.merit-slider:last-child {
  margin-bottom: 0;
}
.merit-slider .swiper {
  overflow: hidden;
}
.merit-slider .swiper-slide {
  overflow: hidden;
}
.merit-slider .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
}
.merit-slider__nav {
  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;
  gap: 12px;
  margin-top: 16px;
  padding: 0 20px;
  position: relative;
}
.merit-slider__prev, .merit-slider__next {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #DC5500;
  border: none;
  cursor: pointer;
  position: relative;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
}
.merit-slider__prev:hover, .merit-slider__next:hover {
  background-color: #005082;
}
.merit-slider__prev::after, .merit-slider__next::after {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
}
.merit-slider__prev::after {
  -webkit-transform: translate(-30%, -50%) rotate(-135deg);
          transform: translate(-30%, -50%) rotate(-135deg);
}
.merit-slider__next::after {
  -webkit-transform: translate(-70%, -50%) rotate(45deg);
          transform: translate(-70%, -50%) rotate(45deg);
}
.merit-slider .swiper-pagination {
  position: static !important;
  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;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  gap: 20px;
}
.merit-slider .swiper-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background-color: #707070;
  opacity: 1;
  margin: 0 !important;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
}
.merit-slider .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #DC5500;
}
.merit-slider__label {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #707070;
  font-size: 1.6rem;
  text-align: center;
  margin-top: 17px;
  padding: 0 20px;
  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;
}
.merit-slider__label em {
  font-style: normal;
  color: #DC5500;
  font-size: 2.4rem;
  padding-left: 8px;
  margin-top: -5px;
}

/* ==============================================
   北欧風カラー上書き
   PC: 数字を青色、SP: ページネーション・ボタンを青色（ホバーはオレンジ）
   ============================================== */
.sec-merit__grid em.nordic {
  color: #005082;
}

.merit-slider--nordic .merit-slider__prev,
.merit-slider--nordic .merit-slider__next {
  background-color: #005082;
}
.merit-slider--nordic .merit-slider__prev:hover,
.merit-slider--nordic .merit-slider__next:hover {
  background-color: #DC5500;
}
.merit-slider--nordic .swiper-pagination.merit-pagination .swiper-pagination-bullet {
  background-color: #ccc;
  opacity: 1;
}
.merit-slider--nordic .swiper-pagination.merit-pagination .swiper-pagination-bullet-active {
  background-color: #005082 !important;
}
.merit-slider--nordic .merit-slider__label em {
  color: #005082;
}

/* ==============================================
   お客様のご注文方法 (.sec-order)
   ============================================== */
.sec-order {
  background-color: #fafaf8;
}
@media only screen and (max-width: 768px) {
  .sec-order {
    padding: 40px 0 60px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-order {
    padding: 80px 0;
  }
}
.sec-order__inner {
  max-width: 1160px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .sec-order__inner {
    padding: 0 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-order__inner {
    padding: 0 30px;
  }
}
.sec-order__title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #DC5500;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-order__title {
    font-size: 2.4rem;
    margin-bottom: 40px;
    letter-spacing: 2.4px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-order__title {
    font-size: 4rem;
    margin-bottom: 50px;
    letter-spacing: 4px;
  }
}
@media only screen and (max-width: 768px) {
  .sec-order__table-wrap {
    margin-bottom: 40px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-order__table-wrap {
    margin-bottom: 67px;
  }
}
.sec-order__table-scroll {
  overflow: visible;
}
.sec-order__table-scroll img {
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (max-width: 999px) {
  .sec-order__table-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .sec-order__table-scroll img {
    width: 1000px;
    height: auto;
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  .sec-order__imgs {
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-order__imgs {
    margin-bottom: 0;
  }
}
.sec-order__imgs__inner {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .sec-order__imgs__inner {
    height: 0;
    padding-bottom: 55vw;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-order__imgs__inner {
    height: 0;
    padding-bottom: 34%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .sec-order__imgs__inner {
    padding-bottom: 34%;
  }
}
.sec-order__imgs__img1 {
  display: block;
}
@media only screen and (max-width: 768px) {
  .sec-order__imgs__img1 {
    position: absolute;
    top: 0;
    left: 0;
    width: 82%;
    height: auto;
    z-index: 2;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-order__imgs__img1 {
    position: absolute;
    top: 0;
    left: 0;
    width: 53%;
    height: auto;
    z-index: 2;
  }
}
.sec-order__imgs__img2 {
  display: block;
}
@media only screen and (max-width: 768px) {
  .sec-order__imgs__img2 {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 82%;
    height: auto;
    z-index: 1;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-order__imgs__img2 {
    position: absolute;
    top: 50px;
    right: 0;
    width: 53%;
    height: auto;
    z-index: 1;
  }
}

/* ==============================================
   料金表 (.sec-price)
   ============================================== */
.sec-price {
  background-color: #fff;
}
@media only screen and (max-width: 768px) {
  .sec-price {
    padding: 60px 0 60px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-price {
    padding: 80px 0 80px;
  }
}
.sec-price__inner {
  max-width: 1160px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .sec-price__inner {
    padding: 0 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-price__inner {
    padding: 0 30px;
  }
}
.sec-price__title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #707070;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-price__title {
    font-size: 2.4rem;
    margin-bottom: 20px;
    padding-top: 40px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-price__title {
    font-size: 4rem;
    margin-bottom: 40px;
    padding-top: 50px;
  }
}
.sec-price__list {
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .sec-price__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-price__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 20px 1fr 20px 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px 20px;
  }
}
.sec-price__item {
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.1607843137);
          box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.1607843137);
  border-radius: 20px;
  padding: 28px 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media print, screen and (min-width: 769px) {
  .sec-price__item--full {
    grid-column: 1/-1;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 40px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .sec-price__item--full {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-price__item--full .sec-price__item--full__left {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    min-width: 340px;
  }
}
.sec-price__item--full .sec-price__item--full__right {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media print, screen and (min-width: 769px) {
  .sec-price__item--full .sec-price__item__bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
    margin-top: 16px;
  }
}
@media only screen and (max-width: 768px) {
  .sec-price__item--full .sec-price__item__bottom {
    margin-top: 12px;
  }
}
.sec-price__item--full .sec-price__item__sub-simple {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #707070;
  font-size: 1.6rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 768px) {
  .sec-price__item--full .sec-price__item__sub-simple {
    font-size: 1.4rem;
  }
}
.sec-price__item--full .sec-price__item__sub-simple {
  line-height: 1.8;
}
.sec-price__item--full .sec-price__item__sub-simple em {
  font-style: normal;
  font-family: "IBM Plex Sans JP";
  font-weight: 600;
  font-size: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .sec-price__item--full .sec-price__item__sub-simple em {
    font-size: 2.1rem;
  }
}
.sec-price__item--full .sec-price__item__sub-simple em {
  color: #005082;
}
.sec-price__item--full .sec-price__item__sub-simple em span {
  font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .sec-price__item--full .sec-price__item__sub-simple em span {
    font-size: 1.4rem;
  }
}
.sec-price__item__name {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #DC5500;
  line-height: 1.5;
  text-align: center;
  border-bottom: 1px solid #DC5500;
}
@media only screen and (max-width: 768px) {
  .sec-price__item__name {
    font-size: 2.3rem;
    padding-bottom: 14px;
    margin-bottom: 14px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-price__item__name {
    font-size: 2.6rem;
    padding-bottom: 16px;
    margin-bottom: 16px;
  }
}
.sec-price__item__price {
  font-family: "IBM Plex Sans JP";
  margin-bottom: 30px;
  line-height: 1.2;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-price__item__price {
    margin-bottom: 16px;
  }
}
.sec-price__item__price > span {
  font-size: 2rem;
  color: #707070;
  font-weight: 700;
  display: inline-block;
  margin-right: 4px;
}
@media only screen and (max-width: 768px) {
  .sec-price__item__price > span {
    font-size: 1.7rem;
  }
}
.sec-price__item__price em {
  font-style: normal;
  color: #DC5500;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .sec-price__item__price em {
    font-size: 3.5rem;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-price__item__price em {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .sec-price__item__price em > span {
    font-size: 2.6rem;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-price__item__price em > span {
    font-size: 3rem;
  }
}
.sec-price__item__price small {
  font-size: 1.6rem;
  color: #707070;
  margin-left: 4px;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .sec-price__item__price small {
    font-size: 1.4rem;
  }
}
.sec-price__item__desc {
  font-family: "IBM Plex Sans JP";
  font-weight: 500;
  color: #707070;
  line-height: 1.7;
  margin-bottom: 16px;
}
@media only screen and (max-width: 768px) {
  .sec-price__item__desc {
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-price__item__desc {
    font-size: 1.6rem;
  }
}
.sec-price__item__desc small {
  font-size: 1.4rem;
  margin-top: 16px;
  display: block;
}
.sec-price__item__desc {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.sec-price__item__sub {
  list-style: none;
  padding: 0;
  margin: 0 0 6px;
}
.sec-price__item__sub li {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #707070;
  font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .sec-price__item__sub li {
    font-size: 1.4rem;
  }
}
.sec-price__item__sub li {
  line-height: 1.8;
}
.sec-price__item__sub li em {
  font-style: normal;
  font-family: "IBM Plex Sans JP";
  font-weight: 600;
  font-size: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .sec-price__item__sub li em {
    font-size: 2.1rem;
  }
}
.sec-price__item__sub li em {
  color: #DC5500;
}
.sec-price__item__sub li em span {
  font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .sec-price__item__sub li em span {
    font-size: 1.4rem;
  }
}
.sec-price__item__sub li:nth-child(2) em {
  color: #005082;
}
.sec-price__item__note {
  font-size: 1.8rem;
  color: #707070;
  font-weight: 700;
  margin-bottom: 8px;
}
.sec-price__item__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 18px;
  margin-bottom: 15px;
}
.sec-price__item__semi {
  display: block;
  text-align: center;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #707070;
  border: 1px solid rgba(112, 112, 112, 0.7215686275);
  border-radius: 4px;
  padding: 15px;
  text-decoration: none;
  margin-top: auto;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.sec-price__item:nth-of-type(2n) .sec-price__item__name {
  color: #005082;
  border-bottom: 1px solid #005082;
}
.sec-price__item:nth-of-type(2n) .sec-price__item__price em {
  color: #005082;
}
.sec-price__item:nth-of-type(2n):last-child .sec-price__item__tags {
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .sec-price__item:nth-of-type(2n):last-child .sec-price__item__tags {
    margin-topo: 18px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .sec-price__list {
    -ms-grid-columns: (1fr)[2] !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .sec-price__item--full {
    grid-column: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .sec-price__item--full .sec-price__item--full__left,
  .sec-price__item--full .sec-price__item--full__right {
    width: 100%;
  }
  .sec-price__item--full .sec-price__item__bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.tag {
  display: inline-block;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1;
  padding: 11px 6px;
}
@media print, screen and (min-width: 769px) {
  .tag {
    padding: 15px 14px;
  }
}
.tag--orange {
  background-color: #FCEDE0;
  color: #DC5500;
}
.tag--gray {
  background-color: #e0e8ed;
  color: #005082;
}

/* ==============================================
   追加オプション (.sec-price__option)
   ============================================== */
.sec-price__option {
  background-color: #fff;
  border-radius: 10px;
}
@media only screen and (max-width: 768px) {
  .sec-price__option {
    padding: 40px 20px 36px;
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-price__option {
    padding: 44px;
    margin-bottom: 30px;
  }
}
.sec-price__option__title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #DC5500;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-price__option__title {
    font-size: 2.4rem;
    margin-bottom: 40px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-price__option__title {
    font-size: 2.8rem;
    margin-bottom: 20px;
  }
}
.sec-price__option__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .sec-price__option__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-price__option__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 16px 1fr 16px 1fr 16px 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .sec-price__option__list {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
.sec-price__option__list li {
  background-color: #FCEDE0;
  border-radius: 10px;
  padding: 36px 14px;
  text-align: center;
  border-left: 5px solid #DC5500;
}
.sec-price__option__list li:nth-child(n+3) em {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.sec-price__option__name {
  font-family: "Zen Maru Gothic";
  font-weight: 500;
  letter-spacing: 0px;
  color: #707070;
  font-size: 1.6rem;
  margin-bottom: 20px;
  line-height: 1.5;
}
.sec-price__option__price {
  font-family: "IBM Plex Sans JP";
  font-weight: 500;
  color: #707070;
  font-size: 1.5rem;
}
.sec-price__option__price em {
  font-style: normal;
  color: #DC5500;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.2;
}
.sec-price__option__note {
  font-size: 1.4rem;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #707070;
  margin-top: 23px;
  text-align: right;
}
@media only screen and (max-width: 768px) {
  .sec-price__option__note {
    text-align: left;
  }
}

/* ==============================================
   注意事項 (.sec-price__caution)
   ============================================== */
.sec-price__caution {
  border-radius: 10px;
  background-color: #ebf1f5;
}
@media only screen and (max-width: 768px) {
  .sec-price__caution {
    padding: 30px 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-price__caution {
    padding: 30px 40px;
  }
}
.sec-price__caution__title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #005082;
}
@media only screen and (max-width: 768px) {
  .sec-price__caution__title {
    font-size: 2rem;
    margin-bottom: 15px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-price__caution__title {
    font-size: 2.4rem;
    margin-bottom: 15px;
  }
}
.sec-price__caution__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sec-price__caution__list li {
  font-family: "IBM Plex Sans JP";
  font-weight: 700;
  color: #707070;
  line-height: 1.7;
  padding-left: 1.2em;
  text-indent: -1.2em;
}
@media only screen and (max-width: 768px) {
  .sec-price__caution__list li {
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-price__caution__list li {
    font-size: 1.6rem;
  }
}
.sec-price__caution__list li::before {
  content: "●";
  color: #005082;
  font-size: 0.7em;
  margin-right: 4px;
  vertical-align: middle;
}
.sec-price__caution__list li + li {
  margin-top: 8px;
}

/* ==============================================
   導入事例 (.sec-cases)
   ============================================== */
.sec-cases {
  background-color: #fff;
}
@media only screen and (max-width: 768px) {
  .sec-cases {
    padding: 60px 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-cases {
    padding: 80px 30px;
  }
}
.sec-cases__inner {
  max-width: 1160px;
  margin: 0 auto;
}
.sec-cases__title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #707070;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-cases__title {
    font-size: 2.4rem;
    letter-spacing: 1.6px;
    line-height: 1.6;
    margin-bottom: 10px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-cases__title {
    font-size: 4rem;
    letter-spacing: 4px;
    margin-bottom: 20px;
  }
}
.sec-cases__subtitle {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  color: #DC5500;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-cases__subtitle {
    font-size: 2rem;
    margin-bottom: 40px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-cases__subtitle {
    font-size: 2.4rem;
    margin-bottom: 40px;
  }
}
.sec-cases__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .sec-cases__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 50px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-cases__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 30px 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 30px;
  }
}
@media print, screen and (min-width: 769px) and (min-width: 1025px) {
  .sec-cases__list {
    gap: 70px 60px;
  }
}
.sec-cases__item {
  text-align: center;
}
.sec-cases__comparison {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
}
@media only screen and (max-width: 480px) {
  .sec-cases__comparison {
    gap: 16px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-cases__comparison {
    margin-bottom: 30px;
  }
}
.sec-cases__before, .sec-cases__after {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  -webkit-box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
}
.sec-cases__before img, .sec-cases__after img {
  display: block;
  width: 100%;
  height: 250px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
@media only screen and (max-width: 480px) {
  .sec-cases__before img, .sec-cases__after img {
    height: 180px;
  }
}
.sec-cases__label {
  position: absolute;
  bottom: 10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding: 5px 16px;
  border-radius: 20px;
  font-family: "Zen Maru Gothic";
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: 1px;
  white-space: nowrap;
}
.sec-cases__label--before {
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
}
.sec-cases__label--after {
  background-color: rgba(195, 172, 98, 0.85);
  color: #fff;
}
.sec-cases__desc {
  font-family: "Zen Maru Gothic";
  font-weight: 500;
  color: #707070;
  line-height: 1.7;
}
@media only screen and (max-width: 768px) {
  .sec-cases__desc {
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-cases__desc {
    font-size: 1.6rem;
  }
}

/* ==============================================
   お客様の声 (.sec-voice)
   ============================================== */
.sec-voice {
  background-color: #fafaf8;
}
@media only screen and (max-width: 768px) {
  .sec-voice {
    padding: 60px 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-voice {
    padding: 88px 30px 80px;
  }
}
.sec-voice__inner {
  max-width: 1160px;
  margin: 0 auto;
}
.sec-voice__title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #707070;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-voice__title {
    font-size: 2.4rem;
    margin-bottom: 50px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-voice__title {
    font-size: 4rem;
    margin-bottom: 70px;
  }
}
.sec-voice__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .sec-voice__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-voice__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 40px 1fr 40px 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .sec-voice__list {
    -ms-grid-columns: 1fr 30px 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 30px;
  }
}
.sec-voice__item {
  background-color: #fff;
  border-radius: 12px;
  -webkit-box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
          box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}
@media only screen and (max-width: 768px) {
  .sec-voice__item {
    padding: 24px 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-voice__item {
    padding: 30px 28px;
  }
}
.sec-voice__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  padding-bottom: 20px;
  border-bottom: 1px solid #DC5500;
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  .sec-voice__header {
    margin-bottom: 16px;
    padding-bottom: 16px;
  }
}
.sec-voice__avatar {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 80px;
  height: 80px;
  margin: 0;
}
.sec-voice__avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
  display: block;
}
.sec-voice__catch {
  font-family: "Zen Maru Gothic";
  font-weight: 700;
  color: #DC5500;
  line-height: 1.5;
}
@media only screen and (max-width: 768px) {
  .sec-voice__catch {
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-voice__catch {
    font-size: 1.6rem;
  }
}
.sec-voice__text {
  font-family: "IBM Plex Sans JP";
  font-weight: 500;
  color: #707070;
  line-height: 1.9;
}
@media only screen and (max-width: 768px) {
  .sec-voice__text {
    font-size: 1.4rem;
    margin-bottom: 16px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-voice__text {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }
}
.sec-voice__stars {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
}
.sec-voice__stars span {
  color: #d4af37;
}
@media only screen and (max-width: 768px) {
  .sec-voice__stars span {
    font-size: 2rem;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-voice__stars span {
    font-size: 2.2rem;
  }
}

/* ==============================================
   CTA01 (.sec-cta01)
   ============================================== */
.sec-cta01 {
  text-align: center;
  background: url("../images/cta01/bg-pc.jpg") center center no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 768px) {
  .sec-cta01 {
    background-image: url("../images/cta01/bg-sp.jpg");
    background-position: center center;
    padding: 60px 20px 64px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-cta01 {
    padding: 80px 30px 70px;
  }
}
.sec-cta01__inner {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
}
.sec-cta01__lead {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #DC5500;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.4);
  paint-order: stroke fill;
  text-shadow: 0 0 4px rgb(255, 255, 255), 0 0 4px rgb(255, 255, 255), 0 0 4px rgb(255, 255, 255), 0 0 4px rgb(255, 255, 255), 0 0 8px rgb(255, 255, 255), 0 0 8px rgb(255, 255, 255), 0 0 8px rgb(255, 255, 255), 0 0 8px rgb(255, 255, 255), 0 0 12px rgb(255, 255, 255), 0 0 12px rgb(255, 255, 255), 0 0 12px rgb(255, 255, 255), 0 0 20px rgb(255, 255, 255), 0 0 20px rgb(255, 255, 255), 0 0 30px rgb(255, 255, 255), 0 0 30px rgb(255, 255, 255), 0 0 40px rgb(255, 255, 255), 0 0 40px rgb(255, 255, 255);
}
@media only screen and (max-width: 768px) {
  .sec-cta01__lead {
    font-size: 1.8rem;
    letter-spacing: 0.9px;
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-cta01__lead {
    font-size: 1.8rem;
    letter-spacing: 0.9px;
    margin-bottom: 25px;
  }
}
.sec-cta01__title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .sec-cta01__title {
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 2.4px;
    margin-bottom: 22px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-cta01__title {
    font-size: 4rem;
    line-height: 1.4;
    letter-spacing: 4px;
    margin-bottom: 22px;
  }
}
.sec-cta01__sub {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #DC5500;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.4);
  paint-order: stroke fill;
  text-shadow: 0 0 4px rgb(255, 255, 255), 0 0 4px rgb(255, 255, 255), 0 0 4px rgb(255, 255, 255), 0 0 4px rgb(255, 255, 255), 0 0 8px rgb(255, 255, 255), 0 0 8px rgb(255, 255, 255), 0 0 8px rgb(255, 255, 255), 0 0 8px rgb(255, 255, 255), 0 0 12px rgb(255, 255, 255), 0 0 12px rgb(255, 255, 255), 0 0 12px rgb(255, 255, 255), 0 0 20px rgb(255, 255, 255), 0 0 20px rgb(255, 255, 255), 0 0 30px rgb(255, 255, 255), 0 0 30px rgb(255, 255, 255), 0 0 40px rgb(255, 255, 255), 0 0 40px rgb(255, 255, 255);
}
@media only screen and (max-width: 768px) {
  .sec-cta01__sub {
    font-size: 2rem;
    letter-spacing: 0.9px;
    line-height: 1.8;
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-cta01__sub {
    font-size: 2.4rem;
    letter-spacing: 1.2px;
    margin-bottom: 27px;
  }
}
.sec-cta01__desc {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  color: #fff;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
}
@media only screen and (max-width: 768px) {
  .sec-cta01__desc {
    font-size: 1.6rem;
    letter-spacing: 0.75px;
    line-height: 1.8;
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-cta01__desc {
    font-size: 1.8rem;
    letter-spacing: 0.9px;
    margin-bottom: 30px;
  }
}
.sec-cta01__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sec-cta01__cta .mainvisual__cta {
  max-width: 280px;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .sec-cta01__cta .mainvisual__cta {
    max-width: 240px;
  }
}

/* ==============================================
   CTA02 (.sec-cta02)
   フッター直前・全文白色
   ============================================== */
.sec-cta02 {
  background: url("../images/cta02/bg-pc.jpg") center center no-repeat;
  background-size: cover;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-cta02 {
    background-image: url("../images/cta02/bg-sp.jpg");
    padding: 94px 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-cta02 {
    padding: 80px 30px;
  }
}
.sec-cta02__inner {
  max-width: 900px;
  margin: 0 auto;
}
.sec-cta02__badge {
  display: inline-block;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  color: #fff;
  border: 1.5px solid #fff;
  padding: 6px 24px;
  letter-spacing: 0.1em;
  width: 222px;
  height: 55px;
  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;
  letter-spacing: 4px;
  font-size: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .sec-cta02__badge {
    margin: 0 auto 25px auto;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-cta02__badge {
    margin: 0 auto 20px auto;
  }
}
.sec-cta02__lead {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .sec-cta02__lead {
    font-size: 2rem;
    letter-spacing: 2px;
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-cta02__lead {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
    margin-bottom: 18px;
  }
}
.sec-cta02__title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #fff;
  line-height: 1.4;
}
@media only screen and (max-width: 768px) {
  .sec-cta02__title {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-cta02__title {
    font-size: 3rem;
    letter-spacing: 3px;
    margin-bottom: 38px;
  }
}
.sec-cta02__desc {
  font-family: "IBM Plex Sans JP";
  font-weight: 500;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .sec-cta02__desc {
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-cta02__desc {
    font-size: 1.8rem;
  }
}

/* ==============================================
   ご利用の流れ (.sec-flow)
   ============================================== */
.sec-flow {
  background-color: #fff;
}
@media only screen and (max-width: 768px) {
  .sec-flow {
    padding: 60px 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-flow {
    padding: 80px 30px;
  }
}
.sec-flow__inner {
  max-width: 1160px;
  margin: 0 auto;
}
.sec-flow__lead {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  color: #DC5500;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-flow__lead {
    font-size: 1.6rem;
    letter-spacing: 0.8px;
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-flow__lead {
    font-size: 1.8rem;
    letter-spacing: 0.9px;
    margin-bottom: 25px;
  }
}
.sec-flow__title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #707070;
  text-align: center;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 768px) {
  .sec-flow__title {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
    margin-bottom: 40px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-flow__title {
    font-size: 4rem;
    letter-spacing: 4px;
    margin-bottom: 60px;
  }
}
.sec-flow__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
@media print, screen and (min-width: 769px) {
  .sec-flow__list {
    gap: 35px;
  }
}
.sec-flow__divider {
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-flow__divider {
    padding: 4px 0 7px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-flow__divider {
    padding: 46px 0 35px;
  }
}
.sec-flow__divider p {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #707070;
  display: inline-block;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .sec-flow__divider p {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-flow__divider p {
    font-size: 3rem;
    letter-spacing: 3px;
  }
}
.sec-flow__item {
  background-color: #FCEDE0;
  border-radius: 15px;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .sec-flow__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-flow__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
.sec-flow__icon-wrap {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  background-color: #f0f0ea;
}
@media only screen and (max-width: 768px) {
  .sec-flow__icon-wrap {
    width: 100%;
    height: 240px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-flow__icon-wrap {
    width: 388px;
    min-height: 224px;
    padding-left: 90px;
  }
}
.sec-flow__step {
  position: absolute;
  top: 24px;
  left: 20px;
  background-color: #DC5500;
  color: #fff;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  font-size: 2rem;
  padding: 10px 26px;
  border-radius: 30px;
  letter-spacing: 0.05em;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .sec-flow__step {
    top: 20px;
    left: 20px;
    font-size: 1.6rem;
    padding: 9px 22px;
  }
}
.sec-flow__icon {
  margin: 0;
  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;
}
.sec-flow__icon img {
  display: block;
  width: 160px;
  height: auto;
}
.sec-flow__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 768px) {
  .sec-flow__content {
    padding: 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-flow__content {
    padding: 30px 40px;
  }
}
.sec-flow__name {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #DC5500;
}
@media only screen and (max-width: 768px) {
  .sec-flow__name {
    font-size: 2rem;
    letter-spacing: 2px;
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-flow__name {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
    margin-bottom: 30px;
  }
}
.sec-flow__text {
  font-family: "IBM Plex Sans JP";
  font-weight: 500;
  color: #707070;
  line-height: 1.8;
}
@media only screen and (max-width: 768px) {
  .sec-flow__text {
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-flow__text {
    font-size: 1.6rem;
  }
}

/* -----------------------------------------------
   各ステップのアイコンサイズ・位置を個別指定
   img の width と position（必要な場合）を調整
----------------------------------------------- */
.sec-flow__item--step01 .sec-flow__icon img {
  width: 190px;
}
@media only screen and (max-width: 768px) {
  .sec-flow__item--step01 .sec-flow__icon img {
    width: 165px;
    margin-top: 56px;
  }
}

.sec-flow__item--step02 .sec-flow__icon img {
  width: 216px;
}
@media only screen and (max-width: 768px) {
  .sec-flow__item--step02 .sec-flow__icon img {
    width: 187px;
    margin-top: 58px;
  }
}

.sec-flow__item--step03 .sec-flow__icon img {
  width: 190px;
}
@media only screen and (max-width: 768px) {
  .sec-flow__item--step03 .sec-flow__icon img {
    width: 165px;
    margin-top: 56px;
  }
}

.sec-flow__item--step04 .sec-flow__icon img {
  width: 216px;
}
@media only screen and (max-width: 768px) {
  .sec-flow__item--step04 .sec-flow__icon img {
    width: 187px;
    margin-top: 58px;
  }
}

.sec-flow__item--step05 .sec-flow__icon img {
  width: 190px;
}
@media only screen and (max-width: 768px) {
  .sec-flow__item--step05 .sec-flow__icon img {
    width: 165px;
    margin-top: 56px;
  }
}

.sec-flow__item--step06 .sec-flow__icon img {
  width: 190px;
}
@media only screen and (max-width: 768px) {
  .sec-flow__item--step06 .sec-flow__icon img {
    width: 181px;
    margin-top: 56px;
  }
}

.sec-flow__item--step07 .sec-flow__icon img {
  width: 122px;
}
@media only screen and (max-width: 768px) {
  .sec-flow__item--step07 .sec-flow__icon img {
    width: 106px;
    margin-top: 45px;
  }
}

.sec-flow__item--step08 .sec-flow__icon img {
  width: 202px;
}
@media only screen and (max-width: 768px) {
  .sec-flow__item--step08 .sec-flow__icon img {
    width: 175px;
    margin-top: 56px;
  }
}

/* ==============================================
   よくある質問 (.sec-faq)
   ============================================== */
.sec-faq {
  background-color: #fafaf8;
}
@media only screen and (max-width: 768px) {
  .sec-faq {
    padding: 60px 20px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-faq {
    padding: 90px 30px;
  }
}
.sec-faq__inner {
  max-width: 900px;
  margin: 0 auto;
}
.sec-faq__title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #707070;
  text-align: center;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 768px) {
  .sec-faq__title {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
    margin-bottom: 50px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-faq__title {
    font-size: 4rem;
    letter-spacing: 4px;
    margin-bottom: 50px;
  }
}
.sec-faq__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
.sec-faq__item {
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.sec-faq__question {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
@media only screen and (max-width: 768px) {
  .sec-faq__question {
    padding: 18px 16px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-faq__question {
    padding: 22px 28px;
  }
}
.sec-faq__question__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-family: "Zen Maru Gothic";
  font-weight: 600;
  color: #707070;
  line-height: 1.6;
}
@media only screen and (max-width: 768px) {
  .sec-faq__question__text {
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-faq__question__text {
    font-size: 1.8rem;
  }
}
.sec-faq__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 32px;
  height: 32px;
  background-color: #DC5500;
  color: #fff;
  border-radius: 50%;
  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;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1;
}
@media only screen and (max-width: 768px) {
  .sec-faq__icon {
    width: 28px;
    height: 28px;
    font-size: 1.4rem;
  }
}
.sec-faq__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24px;
  height: 24px;
  position: relative;
  -webkit-transition: -webkit-transform 0.35s ease;
  transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
  transition: transform 0.35s ease, -webkit-transform 0.35s ease;
}
.sec-faq__arrow::before, .sec-faq__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 10px;
  height: 1.5px;
  background-color: #707070;
  -webkit-transition: -webkit-transform 0.35s ease;
  transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
  transition: transform 0.35s ease, -webkit-transform 0.35s ease;
}
.sec-faq__arrow::before {
  left: 4px;
  -webkit-transform: translateY(-50%) rotate(40deg);
          transform: translateY(-50%) rotate(40deg);
}
.sec-faq__arrow::after {
  right: 4px;
  -webkit-transform: translateY(-50%) rotate(-40deg);
          transform: translateY(-50%) rotate(-40deg);
}
.sec-faq__item.is-open .sec-faq__arrow::before {
  -webkit-transform: translateY(-50%) rotate(-40deg);
          transform: translateY(-50%) rotate(-40deg);
}
.sec-faq__item.is-open .sec-faq__arrow::after {
  -webkit-transform: translateY(-50%) rotate(40deg);
          transform: translateY(-50%) rotate(40deg);
}
.sec-faq__answer {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.4s ease, padding 0.4s ease;
  transition: max-height 0.4s ease, padding 0.4s ease;
  padding: 0 28px;
}
@media only screen and (max-width: 768px) {
  .sec-faq__answer {
    padding: 0 16px;
  }
}
.sec-faq__answer p {
  font-family: "IBM Plex Sans JP";
  font-weight: 400;
  color: #707070;
  line-height: 1.9;
}
@media only screen and (max-width: 768px) {
  .sec-faq__answer p {
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-faq__answer p {
    font-size: 1.5rem;
  }
}
.sec-faq__item.is-open .sec-faq__answer {
  max-height: 600px;
  padding: 20px 28px 28px;
}
@media only screen and (max-width: 768px) {
  .sec-faq__item.is-open .sec-faq__answer {
    padding: 16px 16px 20px;
  }
}

/* ==============================================
   お問い合わせ (.sec-contact)
   ============================================== */
.sec-contact {
  background-color: #af8d6c;
}
@media only screen and (max-width: 768px) {
  .sec-contact {
    padding: 70px 20px 60px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-contact {
    padding: 80px 30px;
  }
}
.sec-contact__inner {
  max-width: 800px;
  margin: 0 auto;
}
.sec-contact__title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #fff;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-contact__title {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
    margin-bottom: 38px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-contact__title {
    font-size: 4rem;
    letter-spacing: 4px;
    margin-bottom: 40px;
  }
}
.sec-contact__desc {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #fff;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sec-contact__desc {
    font-size: 1.6rem;
    margin-bottom: 46px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-contact__desc {
    font-size: 1.8rem;
    margin-bottom: 55px;
  }
}
.sec-contact__form-wrap {
  background-color: #fff;
  border-radius: 14px;
}
@media only screen and (max-width: 768px) {
  .sec-contact__form-wrap {
    padding: 30px 20px 36px;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-contact__form-wrap {
    padding: 50px 60px 56px;
  }
}
.sec-contact__btn {
  display: block;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .sec-contact__btn {
    max-width: 100%;
  }
}
@media print, screen and (min-width: 769px) {
  .sec-contact__btn {
    max-width: 340px;
  }
}

/* ==============================================
   フォーム共通スタイル
   ============================================== */
.form-row {
  display: -ms-grid;
  display: grid;
  gap: 20px;
}
@media only screen and (max-width: 768px) {
  .form-row {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
@media print, screen and (min-width: 769px) {
  .form-row {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
.form-row {
  margin-bottom: 20px;
}

.form-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  margin-bottom: 20px;
}
.form-group--full {
  margin-bottom: 20px;
}
@media print, screen and (min-width: 769px) {
  .form-group--full {
    margin-bottom: 30px;
  }
}
.form-group label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  color: #333;
}
@media only screen and (max-width: 768px) {
  .form-group label {
    font-size: 1.5rem;
  }
}
@media print, screen and (min-width: 769px) {
  .form-group label {
    font-size: 1.6rem;
  }
}
.form-group input[type=text],
.form-group input[type=tel],
.form-group input[type=email] {
  width: 100%;
  border: 1px solid #d0ccc8;
  border-radius: 6px;
  padding: 10px 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  color: #333;
  background-color: #fff;
  -webkit-transition: border-color 0.2s;
  transition: border-color 0.2s;
}
.form-group input[type=text]:focus,
.form-group input[type=tel]:focus,
.form-group input[type=email]:focus {
  outline: none;
  border-color: #DC5500;
}
.form-group input[type=text]::-webkit-input-placeholder, .form-group input[type=tel]::-webkit-input-placeholder, .form-group input[type=email]::-webkit-input-placeholder {
  color: #bbb;
}
.form-group input[type=text]::-moz-placeholder, .form-group input[type=tel]::-moz-placeholder, .form-group input[type=email]::-moz-placeholder {
  color: #bbb;
}
.form-group input[type=text]:-ms-input-placeholder, .form-group input[type=tel]:-ms-input-placeholder, .form-group input[type=email]:-ms-input-placeholder {
  color: #bbb;
}
.form-group input[type=text]::-ms-input-placeholder, .form-group input[type=tel]::-ms-input-placeholder, .form-group input[type=email]::-ms-input-placeholder {
  color: #bbb;
}
.form-group input[type=text]::placeholder,
.form-group input[type=tel]::placeholder,
.form-group input[type=email]::placeholder {
  color: #bbb;
}
.form-group small {
  font-size: 1.2rem;
  color: #888;
}
.form-group textarea {
  width: 100%;
  border: 1px solid #d0ccc8;
  border-radius: 6px;
  padding: 12px 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  color: #707070;
  resize: vertical;
}
.form-group textarea:focus {
  outline: none;
  border-color: #DC5500;
}
.form-group textarea::-webkit-input-placeholder {
  color: #bbb;
}
.form-group textarea::-moz-placeholder {
  color: #bbb;
}
.form-group textarea:-ms-input-placeholder {
  color: #bbb;
}
.form-group textarea::-ms-input-placeholder {
  color: #bbb;
}
.form-group textarea::placeholder {
  color: #bbb;
}

.form-required {
  color: #DC5500;
  font-size: 1.2rem;
  font-weight: 700;
  margin-left: 6px;
}

.form-optional {
  color: #888;
  font-size: 1.2rem;
  margin-left: 6px;
}

.form-section-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #DC5500;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .form-section-title {
    font-size: 1.8rem;
    margin-bottom: 20px;
    margin-top: 10px;
  }
}
@media print, screen and (min-width: 769px) {
  .form-section-title {
    font-size: 2rem;
    margin-bottom: 24px;
    margin-top: 14px;
  }
}

.form-sublabel {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  color: #333;
  font-size: 1.8rem;
  margin-top: 14px;
  margin-bottom: 10px;
}

.form-checkbox-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.form-checkbox-group--inline {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px 20px;
}
.form-checkbox-group--grid {
  display: -ms-grid;
  display: grid;
  gap: 8px 10px;
}
@media only screen and (max-width: 768px) {
  .form-checkbox-group--grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
@media print, screen and (min-width: 769px) {
  .form-checkbox-group--grid {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}
.form-checkbox-group--3col {
  display: -ms-grid;
  display: grid;
  gap: 0 20px;
}
@media only screen and (max-width: 768px) {
  .form-checkbox-group--3col {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
@media print, screen and (min-width: 769px) {
  .form-checkbox-group--3col {
    -ms-grid-columns: auto 40px auto 40px auto;
    grid-template-columns: repeat(3, auto);
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    gap: 0 40px;
  }
}

.form-check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #707070;
  font-size: 1.5rem;
  line-height: 1.5;
}
.form-check input[type=checkbox] {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  accent-color: #DC5500;
  cursor: pointer;
}

.form-note {
  font-size: 1.4rem;
  color: #333;
  margin-top: 4px;
  margin-left: 24px;
}

.form-note-inline {
  font-size: 1.4rem;
  color: #333;
  margin-left: 6px;
}
@media print, screen and (min-width: 769px) {
  .form-note-inline {
    margin-top: 3px;
  }
}

.form-size-outer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.form-size-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.form-size-wrap span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  color: #333;
  white-space: nowrap;
}

.form-size-input {
  width: 90px !important;
  border: 1px solid #d0ccc8;
  border-radius: 6px;
  padding: 10px 8px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  color: #333;
  text-align: center;
}
.form-size-input:focus {
  outline: none;
  border-color: #DC5500;
}

.form-inline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  color: #333;
  white-space: nowrap;
}
.form-inline .form-size-input {
  width: 90px;
}

.form-checkbox-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
@media only screen and (max-width: 768px) {
  .form-checkbox-col + .form-checkbox-col {
    margin-top: 16px;
  }
}

@media print, screen and (min-width: 769px) {
  .form-check--with-note {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
@media only screen and (max-width: 768px) {
  .form-check--with-note {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 4px;
  }
}
.form-check--with-note .form-check__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  white-space: nowrap;
}
@media only screen and (max-width: 768px) {
  .form-check--with-note .form-note-inline {
    margin-left: 24px;
  }
}

.form-privacy {
  margin-bottom: 24px;
}
.form-privacy .form-check {
  font-size: 1.4rem;
}
.form-privacy a {
  color: #DC5500;
  text-decoration: underline;
}
.form-privacy a:hover {
  opacity: 0.8;
}

.form-submit {
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .form-submit {
    margin-top: 40px;
  }
}
@media print, screen and (min-width: 769px) {
  .form-submit {
    margin-top: 40px;
  }
}
.form-submit .sec-contact__btn {
  height: 80px;
}

.form-turnstile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 20px;
}

/* ==============================================
   フォームバリデーション
   ============================================== */
.error-message {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  color: #e53935;
  margin-top: 6px;
}

input.has-error,
textarea.has-error {
  border-color: #e53935 !important;
}

.sec-contact__btn:disabled {
  background-color: #ccc;
  cursor: not-allowed;
  opacity: 1;
}
.sec-contact__btn:disabled::after {
  display: none;
}

.form-catalog-note {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  color: #333;
  line-height: 1.7;
  margin-top: -6px;
  margin-bottom: 14px;
}

.form-order-note {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #333;
  line-height: 1.8;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media print, screen and (min-width: 769px) {
  .form-order-note {
    font-size: 1.6rem;
  }
}